/usr/share/help/cs/gnome-devel-demos/menubutton.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 | <?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="menubutton.py" xml:lang="cs">
<info>
<title type="text">MenuButton</title>
<link type="guide" xref="beginner.py#buttons"/>
<link type="next" xref="toolbar.py"/>
<revision version="0.1" date="2012-08-19" status="draft"/>
<credit type="author copyright">
<name>Tiffany Antopolski</name>
<email its:translate="no">tiffany.antopolski@gmail.com</email>
<years>2012</years>
</credit>
<credit type="author copyright">
<name>Marta Maria Casetti</name>
<email its:translate="no">mmcasetti@gmail.com</email>
<years>2012</years>
</credit>
<desc>Tlačítko, které po kliknutí zobrazí nabídku</desc>
</info>
<title>MenuButton</title>
<media type="image" mime="image/png" src="media/menubutton.png"/>
<p>Widget <code>GtkMenuButton</code> se používá k zobrazení nabídky po kliknutí na něj. Nabídka může být poskytnuta v podobě <code>GtkMenu</code> nebo jako abstraktní <code>GMenuModel</code>. Tlačítko může obsahovat libovolný platný synovský widget. To znamená, že může obsahovat většinu ostatních standardních potomků <code>GtkWidget</code>. Nejčastěji používaným vloženým widgetem je <code>GtkArrow</code>.</p>
<note><p>Musíte používat GNOME 3.6 nebo novější, aby widget MenuButton fungoval.</p></note>
<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 Gio
import sys
class MyWindow(Gtk.ApplicationWindow):
def __init__(self, app):
Gtk.Window.__init__(self, title="Menubutton Example", application=app)
self.set_default_size(600, 400)
grid = Gtk.Grid()
# Tlačítko s nabídkou
menubutton = Gtk.MenuButton()
menubutton.set_size_request(80, 35)
grid.attach(menubutton, 0, 0, 1, 1)
# Nabídka se dvěmi akcemi
menumodel = Gio.Menu()
menumodel.append("New", "app.new")
menumodel.append("About", "win.about")
# Podnabídka s jednou akcí pro nabídku
submenu = Gio.Menu()
submenu.append("Quit", "app.quit")
menumodel.append_submenu("Other", submenu)
# Nabídka je nastavena jako nabídka pro MenuButton
menubutton.set_menu_model(menumodel)
# Akce vztahující se k oknu ("about")
about_action = Gio.SimpleAction.new("about", None)
about_action.connect("activate", self.about_callback)
self.add_action(about_action)
self.add(grid)
# Zpětné volání pro "about"
def about_callback(self, action, parameter):
print("You clicked \"About\"")
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)
# Akce vztahující se k aplikaci
new_action = Gio.SimpleAction.new("new", None)
new_action.connect("activate", self.new_callback)
self.add_action(new_action)
quit_action = Gio.SimpleAction.new("quit", None)
quit_action.connect("activate", self.quit_callback)
self.add_action(quit_action)
# Funkce zpětného volání pro akce vtahující se k aplikaci
def new_callback(self, action, parameter):
print("You clicked \"New\"")
def quit_callback(self, action, parameter):
print("You clicked \"Quit\"")
self.quit()
app = MyApplication()
exit_status = app.run(sys.argv)
sys.exit(exit_status)
</code>
</section>
<section id="methods">
<title>Užitečné metody pro widget MenuButton</title>
<p>Na řádku 33 je signál <code>"activate"</code> od činnosti <code>about_action</code> napojen na funkci zpětného volání <code>about_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>
<p>Umístění nabídky je určeno vlastností <code>"direction"</code> (směr) tlačítka s nabídkou a vlastnostmi <code>"halign"</code> (vodorovné zarovnání) nebo <code>"valign"</code> (svislé zarovnání) nabídky. Například, když je směr <code>Gtk.ArrowType.DOWN</code> (další volba je <code>UP</code>) a vodorovné zarovnání je <code>Gtk.Align.START</code> (další volby jsou <code>CENTER</code> a <code>END</code>), bude nabídka umístěna pod tlačítkem s počáteční hranou (v závislosti na směru textu) nabídky zarovnanou s počáteční hranou tlačítka. Jestliže pod tlačítkem není dostatek místa, vyskočí místo toho nabídka nahoru. Když by zarovnání posunulo část nabídky mimo obrazovku, natlačí se do viditelné části. </p>
<p>V případě svislého zarovnání jsou možné směry šipky <code>LEFT</code> a <code>RIGHT</code> a svislé zarovnání je <code>START</code>, <code>CENTER</code> nebo <code>END</code>.</p>
<p>K nastavení těchto vlastností můžete použít <code>set_align_widget(zarovnání)</code> a <code>set_direction(směr)</code>.</p>
</section>
<section id="references">
<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/GtkMenuButton.html">MenuButton</link></p></item>
</list>
</section>
</page>
|