IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ avec C & C++ Discussion :

gtkada glade callbacks documentation


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 251
    Par défaut gtkada glade callbacks documentation
    Bonjour.
    Je reviens vers vous, parce que je ne trouve pas quelque chose d'assez complet qui explique comment écrire les callbacks sur des signaux qu'on a déclaré dans glade.
    Quelqu'un n'aurait pas une documentation plus fournie?

    Pour l'instant par exemple, je cherche comment afficher un message à l'utilisateur lorsqu'il clique sur le sous menu help.
    Je vois bien qu'il faut utiliser un gtkdialog, mais comment lier tout ça avec mon code gtkada qui charge le fichier xml de glade?

    Bref, n'y a t il pas par hasard une bonne doc qui explique tout ça?

    Merci d'avance.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 251
    Par défaut voilà ce que je fais ...
    procedure buil_dialog is

    Builder : Gtkada_Builder;
    Error : Glib.Error.GError;

    begin
    Gtk.Main.Init;
    -- Step 1: create a Builder and add the XML data,
    Gtk_New (Builder);
    Error := Add_From_File (Builder, "dialog.glade");
    if Error /= null then
    Ada.Text_IO.Put_Line ("Error : " & Get_Message (Error));
    Error_Free (Error);
    return;
    end if;
    -- Step 2: add calls to "Register_Handler" to associate your
    -- handlers with your callbacks.

    -- Put here the register of the dialog box
    Register_Handler
    (Builder => Builder,
    Handler_Name => "on_dialog1_close", -- from XML file <signal handler=..>
    Handler => simple_callbacks.QuitDialog'Access);


    -- Step 3: call Do_Connect. Once to connect all registered handlers
    Do_Connect (Builder);

    -- display gtkada-dialog
    Gtk.Widget.Show_All (Get_Widget (Builder, "dialog1"));

    Gtk.Main.Main;

    Unref (Builder);

    end buil_dialog;
    ce qui résoud mon problème ...

    Par contre, je ne mets pas résolu, parce que je cherche toujours une bonne doc qui fait le lien entre tout ça ...

  3. #3
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    La doc officielle ne répond pas à tes questions ?
    http://docs.adacore.com/gtkada-docs/...g/_build/html/

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 251
    Par défaut non ..malheureusement!!!
    Car la doc officielle parle uniquement de gtkada ... par contre, je cherche quelque chose qui combine gtkada, glade et les callbacks ...

    Je pense que je dois pouvoir trouver un truc sur la doc de Glade ... bien que ...au pire, je me dis qu'ils expliqueront les fonctionalités des signaux ...

    Je sais pas ...

    Peut être en même temps je cherche quelque chose qui n'a pas encore été clairement mis dans un document ...

  5. #5
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Bin, si c'est dans la doc:
    http://docs.adacore.com/gtkada-docs/...ur-application

    11.4. Using the interface in your application.

    Once the interface is built and saved in an XML file, you can use it in your GtkAda application. You will need to use objects defined in the package Gtkada.Builder to load the interface file and to connect subprograms defined in your application to signals emitted by the interface. See the detailed explanations and examples in gtkada-builder.ads
    En cherchant gtkada-builder.ads, tu tombes sur ça:
    http://docs.adacore.com/gtkada-docs/...ilder.ads.html

    Et dans les commentaires de cet exemple, la procédure est détaillée pas à pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    --     Step 1: create a Builder and add the XML data, just as you would a 
    --             standard Gtk.Builder: 
    -- 
    --             declare 
    --                Builder : Gtkada_Builder; 
    --                Error   : GError; 
    --             begin 
    --                Gtk_New (Builder); 
    --                Error := Add_From_File (Builder, Default_Filename); 
    -- 
    --     Step 2: add calls to "Register_Handler" to associate your handlers 
    --             with your callbacks. 
    -- 
    --                Register_Handler 
    --                   (Builder      => Builder, 
    --                    Handler_Name => "my_handler_id", 
    --                    Handler      => My_Handler'Access); 
    -- 
    --             Where: 
    --              - Builder is your Gtkada_Builder, 
    --              - "my_handler_id" is the name of the handler as specified in 
    --                  Glade-3, in the "Handler" column of the "Signals" tab for 
    --                  your object, 
    --              - Handler is your Ada subprogram. 
    -- 
    --              You will need one call to "Register_Handler" per handler 
    --              declared in the Glade-3 interface. If there is one or more 
    --              handler declared in Glade-3 which does not have an associated 
    --              call to Register_Handler, an ASSERT_FAILURE will be raised by 
    --              the Gtk main loop. 
    -- 
    --              There are multiple way to call Register_Handler, see below. 
    -- 
    --     Step 3: call Do_Connect. 
    -- 
    --     Step 4: when the application terminates or all Windows described through 
    --             your builder should be closed, call Unref to free memory 
    --             associated with the Builder.
    Et c'est également en tout début de page de la doc du package gtkada-builder:
    http://docs.adacore.com/gtkada-docs/...lder.ads:87:16

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 251
    Par défaut Je dois reconnaître que tu as raison ...
    Je ferme donc mon post ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. GtkAboutDialog, glade, gtkada
    Par christianf dans le forum GTK+
    Réponses: 7
    Dernier message: 18/10/2012, 15h04
  2. générer du code gtkada avec glade 3
    Par christianf dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 04/10/2012, 14h35
  3. glade 3-3.6.7 documentation
    Par samy2590 dans le forum C
    Réponses: 4
    Dernier message: 02/09/2012, 10h45
  4. projet GTK+/Glade "callbacks.c"
    Par autre dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 28/01/2012, 13h15
  5. Réponses: 7
    Dernier message: 31/08/2005, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo