Blame platform-demos/fr/toolbar_builder.py.page

Packit 1470ea
Packit 1470ea
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" xmlns:xi="http://www.w3.org/2001/XInclude" type="guide" style="task" id="toolbar_builder.py" xml:lang="fr">
Packit 1470ea
  <info>
Packit 1470ea
    <title type="text">Toolbar created using Glade (Python)</title>
Packit 1470ea
    <link type="guide" xref="beginner.py#menu-combo-toolbar"/>
Packit 1470ea
    <link type="seealso" xref="toolbar.py"/>
Packit 1470ea
    <link type="seealso" xref="grid.py"/>
Packit 1470ea
    <link type="next" xref="menubar.py"/>
Packit 1470ea
    <revision version="0.1" date="2012-07-17" status="draft"/>
Packit 1470ea
Packit 1470ea
    <credit type="author copyright">
Packit 1470ea
      <name>Tiffany Antopolski</name>
Packit 1470ea
      <email its:translate="no">tiffany.antopolski@gmail.com</email>
Packit 1470ea
      <years>2012</years>
Packit 1470ea
    </credit>
Packit 1470ea
Packit 1470ea
    <credit type="author copyright edit">
Packit 1470ea
      <name>Marta Maria Casetti</name>
Packit 1470ea
      <email its:translate="no">mmcasetti@gmail.com</email>
Packit 1470ea
      <years>2012</years>
Packit 1470ea
    </credit>
Packit 1470ea
Packit 1470ea
    <credit type="author copyright">
Packit 1470ea
      <name>Sebastian Pölsterl</name>
Packit 1470ea
      <email its:translate="no">sebp@k-d-w.org</email>
Packit 1470ea
      <years>2011</years>
Packit 1470ea
    </credit>
Packit 1470ea
Packit 1470ea
    <desc>Une barre de boutons et autres éléments graphiques</desc>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Luc Rebert,</mal:name>
Packit 1470ea
      <mal:email>traduc@rebert.name</mal:email>
Packit 1470ea
      <mal:years>2011</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Alain Lojewski,</mal:name>
Packit 1470ea
      <mal:email>allomervan@gmail.com</mal:email>
Packit 1470ea
      <mal:years>2011-2012</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Luc Pionchon</mal:name>
Packit 1470ea
      <mal:email>pionchon.luc@gmail.com</mal:email>
Packit 1470ea
      <mal:years>2011</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Bruno Brouard</mal:name>
Packit 1470ea
      <mal:email>annoa.b@gmail.com</mal:email>
Packit 1470ea
      <mal:years>2011-12</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Luis Menina</mal:name>
Packit 1470ea
      <mal:email>liberforce@freeside.fr</mal:email>
Packit 1470ea
      <mal:years>2014</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  </info>
Packit 1470ea
Packit 1470ea
  <title>Barre d'outils créée avec Glade</title>
Packit 1470ea
Packit 1470ea
  <media type="image" mime="image/png" src="media/toolbar.png"/>
Packit 1470ea
  

Cet exemple est identique à <link xref="toolbar.py"/>, sauf que nous utilisons Glade pour créer la barre d'outils dans un fichier XML .ui.

Packit 1470ea
Packit 1470ea
<links type="sections"/>
Packit 1470ea
Packit 1470ea
<section id="glade">
Packit 1470ea
<title>Création de la barre d'outils avec Glade</title>
Packit 1470ea
  

Pour créer la barre d'outils avec <link href="http://glade.gnome.org/">Glade</link> :

Packit 1470ea
  <steps>
Packit 1470ea
    <item>

ouvrez Glade et enregistrez le fichier sous <file>toolbar_builder.ui</file>

Packit 1470ea
          

<media type="image" src="media/glade_ui.png" width="900">

Packit 1470ea
              Screenshot of Glade ui
Packit 1470ea
           </media>

Packit 1470ea
    </item>
Packit 1470ea
Packit 1470ea
    <item>

Au-dessous de <gui>Conteneurs</gui>, dans la partie gauche, faites un clic droit sur une icône de la barre d'outils et sélectionnez <gui>Ajouter un widget comme premier niveau</gui>.

Packit 1470ea
          

<media type="image" src="media/glade_select_toolbar.png">

Packit 1470ea
           Screenshot of toolbar icon in Glade ui
Packit 1470ea
          </media>

Packit 1470ea
    </item>
Packit 1470ea
Packit 1470ea
    <item>

Dans l'onglet <gui>Général</gui>, dans la partie inférieure droite, modifiez le <gui>Nom</gui> en <input>toolbar</input> et mettez l'option <gui>Afficher la flèche</gui> à <gui>Non</gui>.

Packit 1470ea
          

<media type="image" src="media/glade_toolbar_general.png">

Packit 1470ea
             Screenshot of General tab
Packit 1470ea
          </media>

Packit 1470ea
    </item>
Packit 1470ea
Packit 1470ea
    <item>

Dans l'onglet <gui>Commun</gui>, définissez <gui>Extension horizontale</gui>à <gui>Oui</gui>.

Packit 1470ea
         

<media type="image" src="media/glade_toolbar_common.png">

Packit 1470ea
              Screenshot of Common tab
Packit 1470ea
          </media>

Packit 1470ea
     </item>
Packit 1470ea
Packit 1470ea
     <item>

Faites un clic droit sur « toolbar » dans la partie en haut à droite et sélectionnez <gui>Éditer</gui>. La boîte de dialogue <gui>Éditeur de barre d'outils</gui> s'affiche.

Packit 1470ea
         

<media type="image" src="media/glade_toolbar_edit.png">

Packit 1470ea
             Screenshot of where to right click to edit toolbar.
Packit 1470ea
          </media>

Packit 1470ea
   </item>
Packit 1470ea
Packit 1470ea
   <item>

Nous voulons ajouter 5 ToolButtons (boutons) : « Nouveau », « Ouvrir », « Mode plein écran » et « Quitter le mode plein écran ». Ajoutons d'abord le ToolButton « Nouveau ».

Packit 1470ea
     <steps>
Packit 1470ea
       <item>

Dans l'onglet <gui>Hiérarchie</gui>, cliquez sur <gui>Ajouter</gui>.

</item>
Packit 1470ea
       <item>

Modifiez le nom de l'élément outil (ToolItem) en <input>new_button</input>.

</item>
Packit 1470ea
       <item>

Faites défiler vers le bas et définissez <gui>Est important</gui> à <gui>Oui</gui>. Ceci provoque l'affichage de l'étiquette du ToolButton quand vous affichez la barre d'outils.

</item>
Packit 1470ea
       <item>

Saisissez le <gui>nom de l'action</gui> : <input>app.new</input>.

</item>
Packit 1470ea
       <item>

Modifiez le champ <gui>Étiquette</gui> en <input>New</input> (Nouveau).

</item>
Packit 1470ea
       <item>

Dans le menu déroulant « ID prédéfini », sélectionnez <gui>Nouveau</gui>, ou saisissez <input>gtk-new</input>.

</item>
Packit 1470ea
     </steps>
Packit 1470ea
     

Répétez les étapes ci-dessus pour tous les autres ToolButtons en leur attribuant les propriétés suivantes :

Packit 1470ea
  
Packit 1470ea
    
Packit 1470ea
      
Packit 1470ea
        

Nom

Packit 1470ea
        

Est important

Packit 1470ea
        

Nom de l'action

Packit 1470ea
        

Étiquette

Packit 1470ea
        

ID prédéfini

Packit 1470ea
      
Packit 1470ea
    
Packit 1470ea
    
Packit 1470ea
    
Packit 1470ea
      

open_button

Packit 1470ea
      

Oui

Packit 1470ea
      

app.open

Packit 1470ea
      

Open (Ouvrir)

Packit 1470ea
      

gtk-open

Packit 1470ea
    
Packit 1470ea
    
Packit 1470ea
      

undo_button

Packit 1470ea
      

Oui

Packit 1470ea
      

win.undo

Packit 1470ea
      

Undo (Annuler)

Packit 1470ea
      

gtk-undo

Packit 1470ea
    
Packit 1470ea
    
Packit 1470ea
      

fullscreen_button

Packit 1470ea
      

Oui

Packit 1470ea
      

win.fullscreen

Packit 1470ea
      

Fullscreen (Mode plein écran)

Packit 1470ea
      

gtk-fullscreen

Packit 1470ea
    
Packit 1470ea
    
Packit 1470ea
      

leave_fullscreen_button

Packit 1470ea
      

Oui

Packit 1470ea
      

win.fullscreen

Packit 1470ea
      

Leave Fullscreen (Quitter le mode plein écran)

Packit 1470ea
      

gtk-leave-fullscreen

Packit 1470ea
    
Packit 1470ea
    
Packit 1470ea
Packit 1470ea
          <media type="image" src="media/glade_toolbar_editor.png">
Packit 1470ea
Packit 1470ea
          </media>
Packit 1470ea
    </item>
Packit 1470ea
Packit 1470ea
    <item>

Fermez l'<gui>Éditeur de barre d'outils</gui>.

Packit 1470ea
   </item>
Packit 1470ea
Packit 1470ea
   <item>

Au lancement du programme, nous ne voulons pas que le ToolButton <gui>Quitter le mode plein écran</gui> s'affiche, car nous ne sommes pas en mode plein écran. Dans l'onglet <gui>Commun</gui>, définissez la propriété <gui>Visible</gui> sur <gui>Non</gui>. Le ToolButton sera toujours présent dans le concepteur d'interface, mais se comportera comme souhaité quand le fichier sera chargé dans le code de votre programme. Notez que la méthode show_all() ne prend pas en compte ce réglage, de sorte qu'il nous faut utiliser show() séparément pour chaque élément.

Packit 1470ea
          

<media type="image" src="media/glade_visible_no.png">

Packit 1470ea
                 Setting the visible property to No
Packit 1470ea
          </media>

Packit 1470ea
   </item>
Packit 1470ea
Packit 1470ea
    <item>

Enregistrez votre travail et quittez Glade.

Packit 1470ea
   </item>
Packit 1470ea
Packit 1470ea
   <item>

Vous pouvez voir le fichier XML créé par Glade ci-dessous. C'est la description de la barre d'outils. Au moment de la rédaction de ces lignes, l'option pour ajouter la classe Gtk.STYLE_CLASS_PRIMARY_TOOLBAR dans l'interface de Glade n'existait pas. Mais nous pouvons le faire manuellement. Pour cela, ajoutez le code XML suivant à la ligne 9 du fichier <file>toolbar_builder.ui</file> :

Packit 1470ea
   
Packit 1470ea
  <style>
Packit 1470ea
     <class name="primary-toolbar"/>
Packit 1470ea
  </style>
Packit 1470ea
  ]]>
Packit 1470ea
  

Le programme fonctionnera malgré tout correctement si vous ne l'ajoutez pas, mais la barre d'outils que vous obtiendrez sera légèrement différente de celle de la capture d'écran en haut de cette page.

Packit 1470ea
   </item>
Packit 1470ea
</steps>
Packit 1470ea
  <?xml version="1.0" encoding="UTF-8"?>
Packit 1470ea
<interface>
Packit 1470ea
  <!-- interface-requires gtk+ 3.0 -->
Packit 1470ea
  <object class="GtkToolbar" id="toolbar">
Packit 1470ea
    <property name="visible">True</property>
Packit 1470ea
    <property name="can_focus">False</property>
Packit 1470ea
    <property name="hexpand">True</property>
Packit 1470ea
    <property name="show_arrow">False</property>
Packit 1470ea
    <child>
Packit 1470ea
      <object class="GtkToolButton" id="new_button">
Packit 1470ea
        <property name="use_action_appearance">False</property>
Packit 1470ea
        <property name="visible">True</property>
Packit 1470ea
        <property name="can_focus">False</property>
Packit 1470ea
        <property name="use_action_appearance">False</property>
Packit 1470ea
        <property name="is_important">True</property>
Packit 1470ea
        <property name="action_name">app.new</property>
Packit 1470ea
        <property name="label" translatable="yes">New</property>
Packit 1470ea
        <property name="use_underline">True</property>
Packit 1470ea
        <property name="stock_id">gtk-new</property>
Packit 1470ea
      </object>
Packit 1470ea
      <packing>
Packit 1470ea
        <property name="expand">False</property>
Packit 1470ea
        <property name="homogeneous">True</property>
Packit 1470ea
      </packing>
Packit 1470ea
    </child>
Packit 1470ea
    <child>
Packit 1470ea
      <object class="GtkToolButton" id="open_button">
Packit 1470ea
        <property name="use_action_appearance">False</property>
Packit 1470ea
        <property name="visible">True</property>
Packit 1470ea
        <property name="can_focus">False</property>
Packit 1470ea
        <property name="use_action_appearance">False</property>
Packit 1470ea
        <property name="is_important">True</property>
Packit 1470ea
        <property name="action_name">app.open</property>
Packit 1470ea
        <property name="label" translatable="yes">Open</property>
Packit 1470ea
        <property name="use_underline">True</property>
Packit 1470ea
        <property name="stock_id">gtk-open</property>
Packit 1470ea
      </object>
Packit 1470ea
      <packing>
Packit 1470ea
        <property name="expand">False</property>
Packit 1470ea
        <property name="homogeneous">True</property>
Packit 1470ea
      </packing>
Packit 1470ea
    </child>
Packit 1470ea
    <child>
Packit 1470ea
      <object class="GtkToolButton" id="undo_button">
Packit 1470ea
        <property name="use_action_appearance">False</property>
Packit 1470ea
        <property name="visible">True</property>
Packit 1470ea
        <property name="can_focus">False</property>
Packit 1470ea
        <property name="use_action_appearance">False</property>
Packit 1470ea
        <property name="is_important">True</property>
Packit 1470ea
        <property name="action_name">win.undo</property>
Packit 1470ea
        <property name="label" translatable="yes">Undo</property>
Packit 1470ea
        <property name="use_underline">True</property>
Packit 1470ea
        <property name="stock_id">gtk-undo</property>
Packit 1470ea
      </object>
Packit 1470ea
      <packing>
Packit 1470ea
        <property name="expand">False</property>
Packit 1470ea
        <property name="homogeneous">True</property>
Packit 1470ea
      </packing>
Packit 1470ea
    </child>
Packit 1470ea
    <child>
Packit 1470ea
      <object class="GtkToolButton" id="fullscreen_button">
Packit 1470ea
        <property name="use_action_appearance">False</property>
Packit 1470ea
        <property name="visible">True</property>
Packit 1470ea
        <property name="can_focus">False</property>
Packit 1470ea
        <property name="use_action_appearance">False</property>
Packit 1470ea
        <property name="is_important">True</property>
Packit 1470ea
        <property name="action_name">win.fullscreen</property>
Packit 1470ea
        <property name="label" translatable="yes">Fullscreen</property>
Packit 1470ea
        <property name="use_underline">True</property>
Packit 1470ea
        <property name="stock_id">gtk-fullscreen</property>
Packit 1470ea
      </object>
Packit 1470ea
      <packing>
Packit 1470ea
        <property name="expand">False</property>
Packit 1470ea
        <property name="homogeneous">True</property>
Packit 1470ea
      </packing>
Packit 1470ea
    </child>
Packit 1470ea
    <child>
Packit 1470ea
      <object class="GtkToolButton" id="leave_fullscreen_button">
Packit 1470ea
        <property name="use_action_appearance">False</property>
Packit 1470ea
        <property name="can_focus">False</property>
Packit 1470ea
        <property name="use_action_appearance">False</property>
Packit 1470ea
        <property name="is_important">True</property>
Packit 1470ea
        <property name="action_name">win.fullscreen</property>
Packit 1470ea
        <property name="label" translatable="yes">Leave Fullscreen</property>
Packit 1470ea
        <property name="use_underline">True</property>
Packit 1470ea
        <property name="stock_id">gtk-leave-fullscreen</property>
Packit 1470ea
      </object>
Packit 1470ea
      <packing>
Packit 1470ea
        <property name="expand">False</property>
Packit 1470ea
        <property name="homogeneous">True</property>
Packit 1470ea
      </packing>
Packit 1470ea
    </child>
Packit 1470ea
  </object>
Packit 1470ea
</interface>
Packit 1470ea
Packit 1470ea
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
<section id="code">
Packit 1470ea
<title>Code utilisé pour générer cet exemple</title>
Packit 1470ea
Packit 1470ea
  

Le code ci-dessous ajoute la barre d'outils du fichier que nous venons de finir.

Packit 1470ea
from gi.repository import Gtk
Packit 1470ea
from gi.repository import Gdk
Packit 1470ea
from gi.repository import Gio
Packit 1470ea
import sys
Packit 1470ea
Packit 1470ea
Packit 1470ea
class MyWindow(Gtk.ApplicationWindow):
Packit 1470ea
Packit 1470ea
    def __init__(self, app):
Packit 1470ea
        Gtk.Window.__init__(self, title="Toolbar Example", application=app)
Packit 1470ea
        self.set_default_size(400, 200)
Packit 1470ea
Packit 1470ea
        # a grid to attach the toolbar (see below)
Packit 1470ea
        grid = Gtk.Grid()
Packit 1470ea
        self.add(grid)
Packit 1470ea
        # we have to show the grid (and therefore the toolbar) with show(),
Packit 1470ea
        # as show_all() would show also the buttons in the toolbar that we want to
Packit 1470ea
        # be hidden (such as the leave_fullscreen button)
Packit 1470ea
        grid.show()
Packit 1470ea
Packit 1470ea
        # a builder to add the UI designed with Glade to the grid:
Packit 1470ea
        builder = Gtk.Builder()
Packit 1470ea
        # get the file (if it is there)
Packit 1470ea
        try:
Packit 1470ea
            builder.add_from_file("toolbar_builder.ui")
Packit 1470ea
        except:
Packit 1470ea
            print("file not found")
Packit 1470ea
            sys.exit()
Packit 1470ea
        # and attach it to the grid
Packit 1470ea
        grid.attach(builder.get_object("toolbar"), 0, 0, 1, 1)
Packit 1470ea
Packit 1470ea
        # two buttons that will be used later in a method
Packit 1470ea
        self.fullscreen_button = builder.get_object("fullscreen_button")
Packit 1470ea
        self.leave_fullscreen_button = builder.get_object(
Packit 1470ea
            "leave_fullscreen_button")
Packit 1470ea
Packit 1470ea
        # create the actions that control the window, connect their signal to a
Packit 1470ea
        # callback method (see below), add the action to the window:
Packit 1470ea
Packit 1470ea
        # undo
Packit 1470ea
        undo_action = Gio.SimpleAction.new("undo", None)
Packit 1470ea
        undo_action.connect("activate", self.undo_callback)
Packit 1470ea
        self.add_action(undo_action)
Packit 1470ea
Packit 1470ea
        # and fullscreen
Packit 1470ea
        fullscreen_action = Gio.SimpleAction.new("fullscreen", None)
Packit 1470ea
        fullscreen_action.connect("activate", self.fullscreen_callback)
Packit 1470ea
        self.add_action(fullscreen_action)
Packit 1470ea
Packit 1470ea
    # callback for undo
Packit 1470ea
    def undo_callback(self, action, parameter):
Packit 1470ea
        print("You clicked \"Undo\".")
Packit 1470ea
Packit 1470ea
    # callback for fullscreen
Packit 1470ea
    def fullscreen_callback(self, action, parameter):
Packit 1470ea
        # check if the state is the same as Gdk.WindowState.FULLSCREEN, which
Packit 1470ea
        # is a bit flag
Packit 1470ea
        is_fullscreen = self.get_window().get_state(
Packit 1470ea
        ) & Gdk.WindowState.FULLSCREEN != 0
Packit 1470ea
        if is_fullscreen:
Packit 1470ea
            self.unfullscreen()
Packit 1470ea
            self.leave_fullscreen_button.hide()
Packit 1470ea
            self.fullscreen_button.show()
Packit 1470ea
        else:
Packit 1470ea
            self.fullscreen()
Packit 1470ea
            self.fullscreen_button.hide()
Packit 1470ea
            self.leave_fullscreen_button.show()
Packit 1470ea
Packit 1470ea
Packit 1470ea
class MyApplication(Gtk.Application):
Packit 1470ea
Packit 1470ea
    def __init__(self):
Packit 1470ea
        Gtk.Application.__init__(self)
Packit 1470ea
Packit 1470ea
    def do_activate(self):
Packit 1470ea
        win = MyWindow(self)
Packit 1470ea
        # show the window - with show() not show_all() because that would show also
Packit 1470ea
        # the leave_fullscreen button
Packit 1470ea
        win.show()
Packit 1470ea
Packit 1470ea
    def do_startup(self):
Packit 1470ea
        Gtk.Application.do_startup(self)
Packit 1470ea
Packit 1470ea
        # actions that control the application: create, connect their signal to a
Packit 1470ea
        # callback method (see below), add the action to the application
Packit 1470ea
Packit 1470ea
        # new
Packit 1470ea
        new_action = Gio.SimpleAction.new("new", None)
Packit 1470ea
        new_action.connect("activate", self.new_callback)
Packit 1470ea
        app.add_action(new_action)
Packit 1470ea
Packit 1470ea
        # open
Packit 1470ea
        open_action = Gio.SimpleAction.new("open", None)
Packit 1470ea
        open_action.connect("activate", self.open_callback)
Packit 1470ea
        app.add_action(open_action)
Packit 1470ea
Packit 1470ea
    # callback for new
Packit 1470ea
    def new_callback(self, action, parameter):
Packit 1470ea
        print("You clicked \"New\".")
Packit 1470ea
Packit 1470ea
    # callback for open
Packit 1470ea
    def open_callback(self, action, parameter):
Packit 1470ea
        print("You clicked \"Open\".")
Packit 1470ea
Packit 1470ea
app = MyApplication()
Packit 1470ea
exit_status = app.run(sys.argv)
Packit 1470ea
sys.exit(exit_status)
Packit 1470ea
Packit 1470ea
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
<section id="methods">
Packit 1470ea
<title>Méthodes utiles pour Gtk.Builder</title>
Packit 1470ea

Consultez <link xref="toolbar.py"/> pour connaître les méthodes utiles à un élément graphique de barre d'outils

Packit 1470ea
Packit 1470ea

Gtk.Builder construit une interface à partir d'une définition XML d'une interface utilisateur.

Packit 1470ea
Packit 1470ea
<list>
Packit 1470ea
<item>

La méthode add_from_file(nomdufichier) charge et analyse le fichier donné et le fusionne avec le contenu actuel de Gtk.Builder.

</item>
Packit 1470ea
<item>

La méthode add_from_string(chaîne) charge et analyse la chaîne de caractères donnée et la fusionne avec le contenu actuel de Gtk.Builder.

</item>
Packit 1470ea
<item>

La méthode add_objects_from_file(nomdufichier, object_ids) est identique à add_from_file(), mais elle ne charge que les objets qui possèdent les identifiants donnés par la liste object_id.

</item>
Packit 1470ea
<item>

add_objects_from_string(string, object_ids) is the same as add_from_string(), but it loads only the objects with the ids given in the object_ids list.

</item>
Packit 1470ea
<item>

La méthode get_object(object_id) récupère l'élément graphique possédant l'identifiant object_id à partir des objets chargés dans le constructeur.

</item>
Packit 1470ea
<item>

La méthode get_objects() renvoie tous les objets chargés.

</item>
Packit 1470ea
<item>

connect_signals(handler_object) connects the signals to the methods given in the handler_object. This can be any object which contains keys or attributes that are called like the signal handler names given in the interface description, e.g. a class or a dict. In line 39 the signal "activate" from the action undo_action is connected to the callback function undo_callback() using action.connect(signal, callback function). See <link xref="signals-callbacks.py"/> for a more detailed explanation.

Packit 1470ea
</item>
Packit 1470ea
</list>
Packit 1470ea
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
<section id="references">
Packit 1470ea
<title>Références API</title>
Packit 1470ea

Dans cet exemple, les éléments suivants sont utilisés :

Packit 1470ea
<list>
Packit 1470ea
  <item>

<link href="http://developer.gnome.org/gtk3/unstable/GtkGrid.html">GtkGrid</link>

</item>
Packit 1470ea
  <item>

<link href="http://developer.gnome.org/gtk3/unstable/GtkBuilder.html">GtkBuilder</link>

</item>
Packit 1470ea
  <item>

<link href="http://developer.gnome.org/gtk3/unstable/GtkWidget.html">GtkWidget</link>

</item>
Packit 1470ea
  <item>

<link href="http://developer.gnome.org/gdk3/unstable/gdk3-Event-Structures.html#GdkEventWindowState">Event Structures</link>

</item>
Packit 1470ea
</list>
Packit 1470ea
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
</page>