Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2728 connectés 

  FORUM HardWare.fr
  Programmation
  Ada

  [GtkAda] [ résolu ] Click droit dans un Gtk_Fixed.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[GtkAda] [ résolu ] Click droit dans un Gtk_Fixed.

n°2039510
Profil sup​primé
Posté le 01-12-2010 à 21:53:00  answer
 

Bonjour,
Voici un bout de code qui doit afficher "Right click" sur le terminal sous-jacent à réception du signal "button_press_event" mais qui marche pas.
 

Code :
  1. -- Mon packetage Handlers
  2. package Timbre_Handlers is new Gtk.Handlers.User_Return_Callback(Gtk.Widget.Gtk_Widget_Record, Boolean, Timbre_access);
  3.  
  4. -- Ma fonction connectée.
  5.   function Timbre_Right_Popup_Menu(Widget : access Gtk.Widget.Gtk_Widget_Record'Class;Event : Gdk.Event.Gdk_Event;  Timbre : Timbre_Access) return Boolean is
  6.   begin
  7.      Put("Right click" );
  8.      return True;
  9.   end Timbre_Right_Popup_Menu;
  10.  
  11.  
  12.  
  13.  
  14. --- la connection de l'objet Gtk_Fixed
  15.   procedure Initialize(Timbre : in out Timbre_Access; Is_Drums : in Boolean := false) is
  16.   begin
  17.      Timbre := new T_Timbre(Is_Drums);
  18.      Gtk.Box.Gtk_New_Vbox(Timbre.Main_Vbox);
  19.      case Timbre.As_Drums is
  20.         when True =>
  21.            Gtk.Frame.Gtk_New(Timbre.Drums);
  22.         when False =>
  23.            Gtk.Frame.Gtk_New(Timbre.Synth, "Synth" );
  24.            Gtk_New(Timbre.Synth_Fixed);
  25.            Add(Timbre.Synth, Timbre.Synth_Fixed);
  26.            Pack_Start(Timbre.Main_Vbox, Timbre.Synth, True, True, 0);
  27.  
  28.  
  29.            Timbre_Handlers.Connect(Timbre.Synth_Fixed,
  30.                                    "button_press_event",
  31.                                    Timbre_Handlers.To_Marshaller(Timbre_Right_Popup_Menu'Access),
  32.                                    Timbre);
  33.  
  34.  
  35.      end case;
  36.  
  37.      Gtk.Box.Show_All(Timbre.Main_vbox);
  38.   end Initialize;


 
Voila, je fais bien pack_start(..., ...., True, Tue, 0) à chaque emboitement.
 
Si vous pouviez analysez mon problème. Merci pour votre Aide.


Message édité par Profil supprimé le 02-12-2010 à 19:28:35
mood
Publicité
Posté le 01-12-2010 à 21:53:00  profilanswer
 

n°2039631
breizhbugs
Posté le 02-12-2010 à 13:25:43  profilanswer
 

Bon je connais toujours pas le ADA mais j'ai trouvé ca: http://www.lifl.fr/~durif/CLA/docGtkAda-1.2.pdf (peut etre connais tu déjà!)
Aux alentours de la page 32 il y a un exemple pour gerer les clics.
Sinon d'une manière générale, on évite de tester une nouvelle technique (j'ai cru comprendre que tu débutait en interface graphique!) dans un projet "final", c'est mieux de créer un projet minimal pour tester un truc nouveau!


---------------
Seul Google le sait...
n°2039640
Profil sup​primé
Posté le 02-12-2010 à 13:57:46  answer
 

Merci breizhbugs,
Apparemment, on procède plus ainsi... J'ai pas de paquetage Gtk.Signal dans ma bibliothèque Gtk.
J'ai écris un petit programme de test pour éclaircir le problème, mais sans résultat.
Même le signal "event" n'a pas le comportement escompté. Pourtant j'ai déjà connecté "event" avec succès.
J'obtient bien un event à l'ouverture de la fenêtre et au redimenssionnement de celle-ci, mais pas au survol de la surface avec la sourie.

n°2039736
Profil sup​primé
Posté le 02-12-2010 à 19:28:07  answer
 

J'ai résolu mon problème en mettant Le Gtk_Fixed dans un Gtk_Event_Box. C'est magique.
Merci encore breizhbugs.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Ada

  [GtkAda] [ résolu ] Click droit dans un Gtk_Fixed.

 

Sujets relatifs
Glade - duo Gtk XML et intégration dynamique de composant.[ résolu ] [GtkAda] Selectionner un fichier avec Gtk_File_Selection
Droit d'accès avec Alsa et Gtk (Gnu/Linux)[GtkAda] Mettre à jour un combo à chaque selection
[Résolut]ajout de pages nommées à un notebook avec GtkAdachronomètre GTK
[Ada]|résolu]interuption du signal "destroy" de GtkAdaMapping avec Gtk.
Plus de sujets relatifs à : [GtkAda] [ résolu ] Click droit dans un Gtk_Fixed.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR