/usr/share/help/cs/gnome-devel-demos/toolbar.py.page is in gnome-devel-docs 3.28.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | <?xml version="1.0" encoding="utf-8"?>
<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.py" xml:lang="cs">
<info>
<title type="text">Toolbar (Python)</title>
<link type="guide" xref="beginner.py#menu-combo-toolbar"/>
<link type="seealso" xref="grid.py"/>
<link type="next" xref="tooltip.py"/>
<revision version="0.1" date="2012-06-05" status="draft"/>
<credit type="author copyright">
<name>Marta Maria Casetti</name>
<email its:translate="no">mmcasetti@gmail.com</email>
<years>2012</years>
</credit>
<desc>Lišta s tlačítky a dalšími widgety</desc>
</info>
<title>Toolbar</title>
<media type="image" mime="image/png" src="media/toolbar.png"/>
<p>Příklad lišty s tlačítky (se standardními ikonami).</p>
<links type="section"/>
<section id="code">
<title>Kód použitý k vygenerování tohoto příkladu</title>
<code mime="text/x-python" style="numbered">from gi.repository import Gtk
from gi.repository import Gdk
from gi.repository import Gio
import sys
class MyWindow(Gtk.ApplicationWindow):
def __init__(self, app):
Gtk.Window.__init__(self, title="Toolbar Example", application=app)
self.set_default_size(400, 200)
# Mřížka pro připojení nástrojové lišty
grid = Gtk.Grid()
# Nástrojová lišta vytvořená v metodě create_toolbar (viz dále)
toolbar = self.create_toolbar()
# S dodatečným vodorovným místem
toolbar.set_hexpand(True)
# Zobrazí nástrojovou lištu
toolbar.show()
# Připojí nástrojovou lištu do mřížky
grid.attach(toolbar, 0, 0, 1, 1)
# Přidá mřížku do okna
self.add(grid)
# Vytvoří akce, které ovládají okno a napojí jejich signály na
# metody zpětného volání (viz dále):
# Akce "undo"
undo_action = Gio.SimpleAction.new("undo", None)
undo_action.connect("activate", self.undo_callback)
self.add_action(undo_action)
# Akce "fullscreen"
fullscreen_action = Gio.SimpleAction.new("fullscreen", None)
fullscreen_action.connect("activate", self.fullscreen_callback)
self.add_action(fullscreen_action)
# Metoda, která vytvoří nástrojovou lištu
def create_toolbar(self):
# Nástrojová lišta
toolbar = Gtk.Toolbar()
# Jedná se o hlavní nástrojovou lištu aplikace
toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_PRIMARY_TOOLBAR)
# Vytvoří tlačítko pro akci "new", se standardní ikonou
new_button = Gtk.ToolButton.new_from_stock(Gtk.STOCK_NEW)
# Popisek se zobrazuje
new_button.set_is_important(True)
# Vloží tlačítko na pozici na nástrojové liště
toolbar.insert(new_button, 0)
# Zobrazí tlačítko
new_button.show()
# Nastaví název akce přidružené k tlačítku
# Tato akce řídí aplikaci (app)
new_button.set_action_name("app.new")
# Tlačítko pro akci "open"
open_button = Gtk.ToolButton.new_from_stock(Gtk.STOCK_OPEN)
open_button.set_is_important(True)
toolbar.insert(open_button, 1)
open_button.show()
open_button.set_action_name("app.open")
# Tlačítko pro akci "undo"
undo_button = Gtk.ToolButton.new_from_stock(Gtk.STOCK_UNDO)
undo_button.set_is_important(True)
toolbar.insert(undo_button, 2)
undo_button.show()
undo_button.set_action_name("win.undo")
# Tlačítko pro akci "fullscreen/leave fullscreen"
self.fullscreen_button = Gtk.ToolButton.new_from_stock(
Gtk.STOCK_FULLSCREEN)
self.fullscreen_button.set_is_important(True)
toolbar.insert(self.fullscreen_button, 3)
self.fullscreen_button.set_action_name("win.fullscreen")
# Vrátí kompletní nástrojovou lištu
return toolbar
# Metoda zpětného volání pro "undo"
def undo_callback(self, action, parameter):
print("You clicked \"Undo\".")
# Metoda zpětného volání pro "fullscreen/leave fullscreen"
def fullscreen_callback(self, action, parameter):
# Zkontroluje, jestli je stav stejný jako Gdk.WindowState.FULLSCREEN,
# což je bitový příznak
is_fullscreen = self.get_window().get_state(
) & Gdk.WindowState.FULLSCREEN != 0
if not is_fullscreen:
self.fullscreen_button.set_stock_id(Gtk.STOCK_LEAVE_FULLSCREEN)
self.fullscreen()
else:
self.fullscreen_button.set_stock_id(Gtk.STOCK_FULLSCREEN)
self.unfullscreen()
class MyApplication(Gtk.Application):
def __init__(self):
Gtk.Application.__init__(self)
def do_activate(self):
win = MyWindow(self)
win.show_all()
def do_startup(self):
Gtk.Application.do_startup(self)
# Vytvoří akce pro ovládání aplikace a napojí jejich signály na
# metody zpětného volání (viz dále):
# Akce "new"
new_action = Gio.SimpleAction.new("new", None)
new_action.connect("activate", self.new_callback)
app.add_action(new_action)
# Akce "open"
open_action = Gio.SimpleAction.new("open", None)
open_action.connect("activate", self.open_callback)
app.add_action(open_action)
# Metoda zpětného volání pro "new"
def new_callback(self, action, parameter):
print("You clicked \"New\".")
# Metoda zpětného volání pro "open"
def open_callback(self, action, parameter):
print("You clicked \"Open\".")
app = MyApplication()
exit_status = app.run(sys.argv)
sys.exit(exit_status)
</code>
</section>
<section id="methods">
<title>Užitečné metody pro widget Toolbar</title>
<p>Na řádku 32 je signál <code>"activate"</code> od činnosti <code>undo_action</code> napojen na funkci zpětného volání <code>undo_callback()</code> pomocí <code><var>action</var>.connect(<var>signál</var>, <var>funkce zpětného volání</var>)</code>. Podrobnější vysvětlení viz <link xref="signals-callbacks.py"/>.</p>
<list>
<item><p>Použijte <code>insert(nástrojová_položka, pozice)</code> k vložení <code>nástrojové_položky</code> na <code>pozici</code>. Pokud je <code>pozice</code> záporná, bude položka vložena na konec nástrojové lišty.</p></item>
<item><p><code>get_item_index(tool_item)</code> vrací pozici <code>tool_item</code> na nástrojové liště.</p></item>
<item><p><code>get_n_items()</code> vrací počet položek na nástrojové liště. <code>get_nth_item(pozice)</code> vrací položku na pozici <code>pozice</code>.</p></item>
<item><p>Pokud nástrojová lišta nemá dostatek místa pro všechny položky a je použito <code>set_show_arrow(True)</code>, položky které jdou mimo se zobrazí v nabídce přetékajících položek.</p></item>
<item><p><code>set_icon_size(velikost_ikony)</code> nastavuje velikost ikony na nástrojové liště. Parametr <code>velikost_ikony</code> může být něco z <code>Gtk.IconSize.INVALID</code>, <code>Gtk.IconSize.MENU</code>, <code>Gtk.IconSize.SMALL_TOOLBAR</code>, <code>Gtk.IconSize.LARGE_TOOLBAR</code>, <code>Gtk.IconSize.BUTTON</code>, <code>Gtk.IconSize.DND</code> nebo <code>Gtk.IconSize.DIALOG</code>. Používat by se to mělo jen pro speciální účely, normálně by nástrojová lišta aplikace měla respektovat uživatelské předvolby pro velikost ikon. <code>unset_icon_size()</code> zruší volbu nastavenou pomocí <code>set_icon_size(velikost_ikony)</code>, takže se k určení velikosti ikon použije uživatelská předvolba.</p></item>
<item><p><code>set_style(styl)</code>, kde <code>styl</code> je jedno z <code>Gtk.ToolbarStyle.ICONS</code>, <code>Gtk.ToolbarStyle.TEXT</code>, <code>Gtk.ToolbarStyle.BOTH</code> nebo <code>Gtk.ToolbarStyle.BOTH_HORIZ</code>, nastavuje, jestli nástrojová lišta zobrazuje jen ikony, jen text nebo obojí (svisle na sobě nebo vedle sebe). Abyste umožňili uživateli předvolby určující styl nástrojové lišty a zrušit již nastavený styl, použijte <code>unset_style()</code>.</p></item>
</list>
</section>
<section id="reference">
<title>Odkazy k API</title>
<p>V této ukázce se používá následující:</p>
<list>
<item><p><link href="http://developer.gnome.org/gtk3/unstable/GtkToolbar.html">GtkToolbar</link></p></item>
<item><p><link href="http://developer.gnome.org/gtk3/unstable/GtkToolButton.html">GtkToolButton</link></p></item>
<item><p><link href="http://developer.gnome.org/gtk3/unstable/GtkToolItem.html">GtkToolItem</link></p></item>
<item><p><link href="http://developer.gnome.org/gtk3/unstable/gtk3-Stock-Items.html">Standardní položky</link></p></item>
<item><p><link href="http://developer.gnome.org/gtk3/unstable/GtkActionable.html">GtkActionable</link></p></item>
<item><p><link href="http://developer.gnome.org/gtk3/unstable/GtkWidget.html">GtkWidget</link></p></item>
<item><p><link href="http://developer.gnome.org/gdk3/unstable/gdk3-Event-Structures.html#GdkEventWindowState">Struktury událostí</link></p></item>
</list>
</section>
</page>
|