appel fonction à un menuitem d'une toolbar gtk2

appel fonction à un menuitem d'une toolbar gtk2 - Perl - Programmation

Marsh Posté le 03-04-2014 à 15:41:10    

Bonjour,
je suis en train de développer une application en perl gtk2,
 
je veux savoir comment je fait un appel à une fonction pour un item d'un menu d'une barre d'outil
Mon code est le suivant :  

Code :
  1. use strict;
  2. use Gtk2 '-init';
  3. use Glib qw/TRUE FALSE/;
  4. use utf8;
  5. use encoding 'utf8';
  6. ##################################Création de la fenetre principale##################################
  7. my $window = Gtk2::Window->new('toplevel');
  8. $window->set_title('Modelisation Statistique De Langage /Master Rim LAATAR 2013/');
  9. $window->signal_connect('delete_event' => sub { Gtk2->main_quit; });
  10. $window->set_border_width(5);
  11. $window->modify_bg('normal',$greyl);
  12. $window->set_size_request(800,550);
  13. $window->set_position('center');
  14. $window->show();
  15. ######################################################################################################
  16. ##################################Création de la barre d'outil########################################
  17. my $vbox = Gtk2::VBox->new(FALSE,5);
  18. $window->add($vbox);
  19. #====================================
  20. #The handle box helps in creating a detachable toolbar
  21. my $hb = Gtk2::HandleBox->new;
  22. #create a toolbar, and do some initial settings
  23. my $toolbar = Gtk2::Toolbar->new;
  24. $toolbar->set_icon_size ('large-toolbar');
  25. $toolbar->set_show_arrow (FALSE);
  26. #________
  27. #Create a menu tool button that contains a simple menu.
  28. my $t_mbtn_edit = Gtk2::MenuToolButton->new_from_stock('gtk-edit');
  29.         $t_mbtn_edit->set_label ('Fichier');
  30. $t_mbtn_edit->set_menu (&ret_menu_1);
  31. $toolbar->insert($t_mbtn_edit,-1);
  32.         $toolbar->set_style('text');
  33. ############################création de la zone de saisie############################################
  34. set_style();
  35. my $textbuffer = Gtk2::TextBuffer->new();
  36. $textbuffer->set_text("\n" );
  37. # Create a textview using that textbuffer 
  38. my $textview = Gtk2::TextView->new_with_buffer($textbuffer);
  39. # Add the textview to a scrolledwindow 
  40. my $scrolledwindow = Gtk2::ScrolledWindow->new( undef, undef );
  41. $scrolledwindow->set_size_request (300, 300);
  42. $scrolledwindow->set_border_width(8);
  43. $scrolledwindow->add($textview);
  44. $vbox->pack_start($scrolledwindow, 1, 1, 0 );
  45. my $end_mark = $textbuffer->create_mark( 'end', $textbuffer->get_end_iter, FALSE );
  46. # every time we insert text, scroll to that mark.
  47. $textbuffer->signal_connect(
  48.     insert_text => sub {
  49.  $textview->scroll_to_mark( $end_mark, 0.0, TRUE, 0.0, 1.0 );
  50.     }
  51. );
  52. ######################################################################################################
  53. $window->show_all;
  54. $vbox->show_all();
  55. Gtk2->main();
  56. ######################################################################################################
  57. sub ret_menu_1 {
  58. my $menu_edit = Gtk2::Menu->new();
  59. $menu_edit->append(Gtk2::MenuItem->new('Ouvrir'));
  60. $menu_edit->append(Gtk2::MenuItem->new('Enregistrer'));
  61. $menu_edit->append(Gtk2::MenuItem->new('Quitter'));
  62. $menu_edit->show_all();
  63. return $menu_edit;
  64. }


 
en effet je veux qu'en cliquant sur cet item $menu_edit->append(Gtk2::MenuItem->new('Ouvrir')); j'appelle une fonction...
Merci de me répondre!!

Reply

Marsh Posté le 03-04-2014 à 15:41:10   

Reply

Marsh Posté le 03-04-2014 à 16:26:23    

comme tours personne ne repond :pfff:

Reply

Marsh Posté le 03-04-2014 à 16:41:28    

Vous vous moquez du monde!
Primo, vous vous plaignez de ne pas avoir de réponse moins d'une heure après avoir posé une question (ici on réponds en fonction de sa disponibilité, pas en fonction de vos besoins).
Secundo, il vous aurait suffi de faire "google Gtk2::Menu" pour avoir en deuxième réponse (la première est la page du manuel) cette page ci: http://gtk2-perl.sourceforge.net/d [...] c4710.html ou l'on trouve tout de suite la réponse à la question. Peut être qu'on n'a pas envie de donner une réponse qu'on peut trouver tout de suite sur le net.

 

A+,


Message édité par gilou le 03-04-2014 à 16:49:02

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 03-04-2014 à 18:05:02    

Pourquoi je me moque du monde ????  , je sais pas pkoi vous pensez comme ça !!!  
j'ai deja vu ce lien !!  
dans tts les cas merci ...

Reply

Marsh Posté le 03-04-2014 à 18:06:40    

et pour information gilou je ne fait des poste ici seulement quand je ne trouve pas des réponses sur google !!!

Reply

Marsh Posté le 03-04-2014 à 19:09:12    

rim_enis a écrit :

Pourquoi je me moque du monde ????  , je sais pas pkoi vous pensez comme ça !!!  


 
Parce que vous avez posté ceci:

rim_enis a écrit :

comme tours personne ne repond :pfff:


moins d'une heure après avoir posté votre question.
 
Ce type d'attitude n'est ni acceptable, ni accepté ici.
 
A+,


Message édité par gilou le 03-04-2014 à 19:09:37

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed