|
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="filechooserdialog.py" xml:lang="cs">
|
|
Packit |
1470ea |
<info>
|
|
Packit |
1470ea |
<title type="text">FileChooserDialog (Python)</title>
|
|
Packit |
1470ea |
<link type="guide" xref="beginner.py#file-selectors"/>
|
|
Packit |
1470ea |
<link type="seealso" xref="gmenu.py"/>
|
|
Packit |
1470ea |
<link type="seealso" xref="toolbar_builder.py"/>
|
|
Packit |
1470ea |
<link type="seealso" xref="textview.py"/>
|
|
Packit |
1470ea |
<link type="next" xref="combobox.py"/>
|
|
Packit |
1470ea |
<revision version="0.1" date="2012-08-14" status="draft"/>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<credit type="author copyright">
|
|
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 |
<desc>Dialogové okno vhodné pro příkazy „Otevřít“ a „Uložit“</desc>
|
|
Packit |
1470ea |
</info>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<title>FileChooserDialog</title>
|
|
Packit |
1470ea |
<media type="image" mime="image/png" src="media/filechooserdialog_save.png"/>
|
|
Packit |
1470ea |
Tento FileChooserDialog ukládá textové dokumenty, které mohou být otevřeny nebo napsány od nuly v TextView (viz dále).
|
|
Packit |
1470ea |
<media type="image" mime="image/png" src="media/filechooserdialog_menu.png"/>
|
|
Packit |
1470ea |
Je také možné zavolat FileChooserDialog pro otevření nového dokumentu.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<links type="sections"/>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="overview">
|
|
Packit |
1470ea |
<title>Kroky k reprodukci příkladu</title>
|
|
Packit |
1470ea |
<steps>
|
|
Packit |
1470ea |
<item>Vytvořte soubor .ui, který bude popisovat aplikační nabídku s položkami „New“, „Open“, „Save“, „Save As“ a „Quit“. To můžete udělat v Glade nebo v textovém editoru. Viz <link xref="#xml"/>. </item>
|
|
Packit |
1470ea |
<item>Vytvořte program v jazyce Python pro Gtk.TextView s Gtk.Buffer self.buffer a self.file , což bude Gio.File nastavený na počátku na None . </item>
|
|
Packit |
1470ea |
<item>V tomto programu vytvoříme také akce odpovídající položkám v aplikační nabídce, napojíme je na funkce zpětného volání a naimportujeme nabídku pomocí metody do_startup() třídy Gtk.Builder . </item>
|
|
Packit |
1470ea |
<item>Akce <gui>New</gui> a <gui>Quit</gui> a jejich funkce zpětného volání jsou velmi jednoduché, viz <link xref="#code"/>. Podrobnější vysvětlení signálů a funkcí zpětného volání najdete v <link xref="signals-callbacks.py"/>. </item>
|
|
Packit |
1470ea |
<item>Zpětné volání akce <gui>Open</gui> by mělo vytvořit a otevřít Gtk.FileChooserDialog pro otevření souboru. Toto dialogové okno je napojeno na jiné funkce zpětného volání, jednu pro tlačítko <gui>Open</gui> a druhou pro tlačítko <gui>Cancel</gui> dialogového okna. </item>
|
|
Packit |
1470ea |
<item>Akce <gui>Save as</gui> funguje podobně jako <gui>Open</gui>, akorát funkce zpětného volání pro tlačítko <gui>Save</gui> závisí na mnohem komplexnější metodě save_to_file() . </item>
|
|
Packit |
1470ea |
<item>Akci <gui>Save</gui> lze zúžit na případ, kdy soubor je None , což je případ, kdy self.file je nový soubor, a tím pádem to změníme na akci <gui>Save as</gui>, a případ, kdy soubor není None , což se zúží na save_to_file() . </item>
|
|
Packit |
1470ea |
<item>A nakonec metoda save_to_file() : viz <link xref="#code"/>, řádky 146 – 175. </item>
|
|
Packit |
1470ea |
</steps>
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="xml">
|
|
Packit |
1470ea |
<title>Soubor XML, který vytváří nabídku aplikace</title>
|
|
Packit |
1470ea |
<?xml version="1.0"?>
|
|
Packit |
1470ea |
<interface>
|
|
Packit |
1470ea |
<menu id="appmenu">
|
|
Packit |
1470ea |
<section>
|
|
Packit |
1470ea |
<item>
|
|
Packit |
1470ea |
<attribute name="label">New</attribute>
|
|
Packit |
1470ea |
<attribute name="action">win.new</attribute>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
<item>
|
|
Packit |
1470ea |
<attribute name="label">Open</attribute>
|
|
Packit |
1470ea |
<attribute name="action">win.open</attribute>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
<section>
|
|
Packit |
1470ea |
<item>
|
|
Packit |
1470ea |
<attribute name="label">Save</attribute>
|
|
Packit |
1470ea |
<attribute name="action">win.save</attribute>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
<item>
|
|
Packit |
1470ea |
<attribute name="label">Save As...</attribute>
|
|
Packit |
1470ea |
<attribute name="action">win.save-as</attribute>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
<section>
|
|
Packit |
1470ea |
<item>
|
|
Packit |
1470ea |
<attribute name="label">Quit</attribute>
|
|
Packit |
1470ea |
<attribute name="action">app.quit</attribute>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
</menu>
|
|
Packit |
1470ea |
</interface>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="code">
|
|
Packit |
1470ea |
<title>Kód použitý k vygenerování tohoto příkladu</title>
|
|
Packit |
1470ea |
from gi.repository import Gtk
|
|
Packit |
1470ea |
from gi.repository import Gdk
|
|
Packit |
1470ea |
from gi.repository import Gio
|
|
Packit |
1470ea |
from gi.repository import GObject
|
|
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__(
|
|
Packit |
1470ea |
self, title="FileChooserDialog Example", application=app)
|
|
Packit |
1470ea |
self.set_default_size(400, 400)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# Akce pro nabídku okna, napojí se na funkci zpětného volání
|
|
Packit |
1470ea |
new_action = Gio.SimpleAction.new("new", None)
|
|
Packit |
1470ea |
new_action.connect("activate", self.new_callback)
|
|
Packit |
1470ea |
self.add_action(new_action)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
open_action = Gio.SimpleAction.new("open", None)
|
|
Packit |
1470ea |
open_action.connect("activate", self.open_callback)
|
|
Packit |
1470ea |
self.add_action(open_action)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
save_action = Gio.SimpleAction.new("save", None)
|
|
Packit |
1470ea |
save_action.connect("activate", self.save_callback)
|
|
Packit |
1470ea |
self.add_action(save_action)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
save_as_action = Gio.SimpleAction.new("save-as", None)
|
|
Packit |
1470ea |
save_as_action.connect("activate", self.save_as_callback)
|
|
Packit |
1470ea |
self.add_action(save_as_action)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# Soubor
|
|
Packit |
1470ea |
self.file = None
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# TextView s vyrovnávací pamětí
|
|
Packit |
1470ea |
self.buffer = Gtk.TextBuffer()
|
|
Packit |
1470ea |
textview = Gtk.TextView(buffer=self.buffer)
|
|
Packit |
1470ea |
textview.set_wrap_mode(Gtk.WrapMode.WORD)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# Okno s posuvníky pro TextView
|
|
Packit |
1470ea |
self.scrolled_window = Gtk.ScrolledWindow()
|
|
Packit |
1470ea |
self.scrolled_window.set_policy(
|
|
Packit |
1470ea |
Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
|
|
Packit |
1470ea |
self.scrolled_window.add(textview)
|
|
Packit |
1470ea |
self.scrolled_window.set_border_width(5)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# Přidá okno s posuvníky do okna
|
|
Packit |
1470ea |
self.add(self.scrolled_window)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# Zpětné volání pro "new"
|
|
Packit |
1470ea |
def new_callback(self, action, parameter):
|
|
Packit |
1470ea |
self.buffer.set_text("")
|
|
Packit |
1470ea |
print("New file created")
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# Zpětné volání pro "open"
|
|
Packit |
1470ea |
def open_callback(self, action, parameter):
|
|
Packit |
1470ea |
# Vytvoří FileChooserDialog pro otevření
|
|
Packit |
1470ea |
# argumenty jsou: název okna, rodičovské okno, akce,
|
|
Packit |
1470ea |
# (tlačítka, odpověď)
|
|
Packit |
1470ea |
open_dialog = Gtk.FileChooserDialog("Pick a file", self,
|
|
Packit |
1470ea |
Gtk.FileChooserAction.OPEN,
|
|
Packit |
1470ea |
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
|
|
Packit |
1470ea |
Gtk.STOCK_OPEN, Gtk.ResponseType.ACCEPT))
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# Lze vybírat nejen místní soubory
|
|
Packit |
1470ea |
open_dialog.set_local_only(False)
|
|
Packit |
1470ea |
# Dialogové okno bude vždy nad oknem s TextView
|
|
Packit |
1470ea |
open_dialog.set_modal(True)
|
|
Packit |
1470ea |
# Napojí dialogové okno na funci zpětného volání open_response_cb()
|
|
Packit |
1470ea |
open_dialog.connect("response", self.open_response_cb)
|
|
Packit |
1470ea |
# Zobrazí dialogové okno
|
|
Packit |
1470ea |
open_dialog.show()
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# Funkce zpětného volání pro dialogové okno open_dialog
|
|
Packit |
1470ea |
def open_response_cb(self, dialog, response_id):
|
|
Packit |
1470ea |
open_dialog = dialog
|
|
Packit |
1470ea |
# Pokud odpověď je "ACCEPT" (bylo kliknuto na tlačítko "Open")
|
|
Packit |
1470ea |
if response_id == Gtk.ResponseType.ACCEPT:
|
|
Packit |
1470ea |
# self.file je soubor, který jsme od FileChooserDialog dostali
|
|
Packit |
1470ea |
self.file = open_dialog.get_file()
|
|
Packit |
1470ea |
# Prázdný řetězec (prozatímně)
|
|
Packit |
1470ea |
content = ""
|
|
Packit |
1470ea |
try:
|
|
Packit |
1470ea |
# Načte obsah souboru do paměti
|
|
Packit |
1470ea |
# success: pravdivostní hodnota závisející na úspěchu operace
|
|
Packit |
1470ea |
# content: obsah
|
|
Packit |
1470ea |
# etags: je značka entity (může být použit k rychlému určení, jestli
|
|
Packit |
1470ea |
# byl soubor změněn vůči verzi v souborovém systému)
|
|
Packit |
1470ea |
[success, content, etags] = self.file.load_contents(None)
|
|
Packit |
1470ea |
except GObject.GError as e:
|
|
Packit |
1470ea |
print("Error: " + e.message)
|
|
Packit |
1470ea |
# Nastaví obsah jako text do vyrovnávací paměti
|
|
Packit |
1470ea |
self.buffer.set_text(content, len(content))
|
|
Packit |
1470ea |
print("opened: " + open_dialog.get_filename())
|
|
Packit |
1470ea |
# Pokud odpověď je "CANCEL" (vylo kliknuto na tlačítko "Cancel")
|
|
Packit |
1470ea |
elif response_id == Gtk.ResponseType.CANCEL:
|
|
Packit |
1470ea |
print("cancelled: FileChooserAction.OPEN")
|
|
Packit |
1470ea |
# Zlikviduje FileChooserDialog
|
|
Packit |
1470ea |
dialog.destroy()
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# Funkce zpětného volání pro "save_as"
|
|
Packit |
1470ea |
def save_as_callback(self, action, parameter):
|
|
Packit |
1470ea |
# Vytvoří FileChooserDialog pro uložení
|
|
Packit |
1470ea |
# argumenty jsou: název okna, rodičovské okno, akce,
|
|
Packit |
1470ea |
# (tlačítka, odpověď)
|
|
Packit |
1470ea |
save_dialog = Gtk.FileChooserDialog("Pick a file", self,
|
|
Packit |
1470ea |
Gtk.FileChooserAction.SAVE,
|
|
Packit |
1470ea |
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
|
|
Packit |
1470ea |
Gtk.STOCK_SAVE, Gtk.ResponseType.ACCEPT))
|
|
Packit |
1470ea |
# Pokud uživatel zadá název souboru, který již existuje, zobrazí dialogové okno
|
|
Packit |
1470ea |
# dotaz na potvrzení
|
|
Packit |
1470ea |
save_dialog.set_do_overwrite_confirmation(True)
|
|
Packit |
1470ea |
# Dialogové okno bude vždy nad oknem s TextView
|
|
Packit |
1470ea |
save_dialog.set_modal(True)
|
|
Packit |
1470ea |
# Pokud byl self.file již uložen
|
|
Packit |
1470ea |
if self.file is not None:
|
|
Packit |
1470ea |
try:
|
|
Packit |
1470ea |
# Nastaví self.file jako aktuální název do výběru souboru
|
|
Packit |
1470ea |
save_dialog.set_file(self.file)
|
|
Packit |
1470ea |
except GObject.GError as e:
|
|
Packit |
1470ea |
print("Error: " + e.message)
|
|
Packit |
1470ea |
# Napojí dialogové okno na funkci zpětného volání save_response_cb()
|
|
Packit |
1470ea |
save_dialog.connect("response", self.save_response_cb)
|
|
Packit |
1470ea |
# Zobrazí dialogové okno
|
|
Packit |
1470ea |
save_dialog.show()
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# Funkce zpětného volání pro dialogové okno save_dialog
|
|
Packit |
1470ea |
def save_response_cb(self, dialog, response_id):
|
|
Packit |
1470ea |
save_dialog = dialog
|
|
Packit |
1470ea |
# Pokud odpověď je "ACCEPT" (bylo kliknuto na tlačítko "Save")
|
|
Packit |
1470ea |
if response_id == Gtk.ResponseType.ACCEPT:
|
|
Packit |
1470ea |
# self.file je aktuálně vybraný soubor
|
|
Packit |
1470ea |
self.file = save_dialog.get_file()
|
|
Packit |
1470ea |
# Uloží do souboru (viz níže)
|
|
Packit |
1470ea |
self.save_to_file()
|
|
Packit |
1470ea |
# Pokud odpověď je "CANCEL" (bylo kliknuto na tlačítko "Cancel")
|
|
Packit |
1470ea |
elif response_id == Gtk.ResponseType.CANCEL:
|
|
Packit |
1470ea |
print("cancelled: FileChooserAction.SAVE")
|
|
Packit |
1470ea |
# Zlikviduje FileChooserDialog
|
|
Packit |
1470ea |
dialog.destroy()
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# Funkce zpětného volání pro uložení
|
|
Packit |
1470ea |
def save_callback(self, action, parameter):
|
|
Packit |
1470ea |
# Pokud tam self.file zatím není
|
|
Packit |
1470ea |
if self.file is not None:
|
|
Packit |
1470ea |
self.save_to_file()
|
|
Packit |
1470ea |
# self.file je nový soubor
|
|
Packit |
1470ea |
else:
|
|
Packit |
1470ea |
# Použije save_as
|
|
Packit |
1470ea |
self.save_as_callback(action, parameter)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# Uložení do souboru
|
|
Packit |
1470ea |
def save_to_file(self):
|
|
Packit |
1470ea |
# Získá obsah vyrovnávací paměti, bez skrytých znaků
|
|
Packit |
1470ea |
[start, end] = self.buffer.get_bounds()
|
|
Packit |
1470ea |
current_contents = self.buffer.get_text(start, end, False)
|
|
Packit |
1470ea |
# Pokud je nějaký obsah
|
|
Packit |
1470ea |
if current_contents != "":
|
|
Packit |
1470ea |
# Nastaví obsah jako obsah souboru self.file
|
|
Packit |
1470ea |
# argumenty: obsah, značka entity, vytvořit zálohu?, příznaky, GError
|
|
Packit |
1470ea |
try:
|
|
Packit |
1470ea |
self.file.replace_contents(current_contents,
|
|
Packit |
1470ea |
None,
|
|
Packit |
1470ea |
False,
|
|
Packit |
1470ea |
Gio.FileCreateFlags.NONE,
|
|
Packit |
1470ea |
None)
|
|
Packit |
1470ea |
print("saved: " + self.file.get_path())
|
|
Packit |
1470ea |
except GObject.GError as e:
|
|
Packit |
1470ea |
print("Error: " + e.message)
|
|
Packit |
1470ea |
# Pokud je obsah prázdný
|
|
Packit |
1470ea |
else:
|
|
Packit |
1470ea |
# Vytvoří (když soubor neexistuje) nebo přepíše soubor v režimu zápisu
|
|
Packit |
1470ea |
# argumenty: značka entity, vytvořit zálohu?, příznaky, GError
|
|
Packit |
1470ea |
try:
|
|
Packit |
1470ea |
self.file.replace_readwrite(None,
|
|
Packit |
1470ea |
False,
|
|
Packit |
1470ea |
Gio.FileCreateFlags.NONE,
|
|
Packit |
1470ea |
None)
|
|
Packit |
1470ea |
print("saved: " + self.file.get_path())
|
|
Packit |
1470ea |
except GObject.GError as e:
|
|
Packit |
1470ea |
print("Error: " + e.message)
|
|
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 |
win.show_all()
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
def do_startup(self):
|
|
Packit |
1470ea |
Gtk.Application.do_startup(self)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# Akce "quit" aplikace, napojí se na funkci zpětného volání
|
|
Packit |
1470ea |
quit_action = Gio.SimpleAction.new("quit", None)
|
|
Packit |
1470ea |
quit_action.connect("activate", self.quit_callback)
|
|
Packit |
1470ea |
self.add_action(quit_action)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# Získá nabídku ze souboru s UI pomocí Builderu
|
|
Packit |
1470ea |
builder = Gtk.Builder()
|
|
Packit |
1470ea |
try:
|
|
Packit |
1470ea |
builder.add_from_file("filechooserdialog.ui")
|
|
Packit |
1470ea |
except:
|
|
Packit |
1470ea |
print("file not found")
|
|
Packit |
1470ea |
sys.exit()
|
|
Packit |
1470ea |
menu = builder.get_object("appmenu")
|
|
Packit |
1470ea |
self.set_app_menu(menu)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# Funkce zpětného volání pro "quit"
|
|
Packit |
1470ea |
def quit_callback(self, action, parameter):
|
|
Packit |
1470ea |
self.quit()
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
app = MyApplication()
|
|
Packit |
1470ea |
exit_status = app.run(sys.argv)
|
|
Packit |
1470ea |
sys.exit(exit_status)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="methods">
|
|
Packit |
1470ea |
<title>Užitečné metody pro FileChooserDialog</title>
|
|
Packit |
1470ea |
Poznamenejme, že akce u dialogového okna pro výběr souboru může být některá z následujících: Gtk.FileChooserAction.OPEN (umožní uživateli jen vybrat existující soubor) Gtk.FileChooserAction.SAVE (umožní uživateli vybrat existující soubor nebo napsat název nového), Gtk.FileChooserAction.SELECT_FOLDER (umožní uživateli jen vybrat existující složku), Gtk.FileChooserAction.CREATE_FOLDER (umožní uživateli vybrat existující složku nebo napsat název nové).
|
|
Packit |
1470ea |
Mimo metod použitých v <link xref="#code"/>, máme:
|
|
Packit |
1470ea |
<list>
|
|
Packit |
1470ea |
<item>set_show_hidden(True) se používá k zobrazení skrytých souborů a složek. </item>
|
|
Packit |
1470ea |
<item>set_select_multiple(True) nastavuje možnost vybrat více souborů naráz. To má význam jen v případě, že režim je Gtk.FileChooserAction.OPEN nebo Gtk.FileChooserAction.SELECT_FOLDER . </item>
|
|
Packit |
1470ea |
<item>V dialogovém okně <gui>Uložení jako</gui> funkce set_current_name(aktuální_název) nastavuje ve výběru souboru aktuální_název , jako by jej zadal uživatel. aktuální_název může být něco jako Untitled.txt. Tato metoda by se neměla používat jinde než pro „Uložit jako“. </item>
|
|
Packit |
1470ea |
<item>Výchozí aktuální složkou jsou nedávné položky. Pro nastavení jiné složky použijte set_current_folder_uri(uri) . Upozorňujeme ale, že tuto metodu byste měli použít, a přimět tím výběr souboru zobrazit zadanou složku, jen když provádíte „Uložit jako“ a máte již soubor někde uložený. </item>
|
|
Packit |
1470ea |
</list>
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="references">
|
|
Packit |
1470ea |
<title>Odkazy k API</title>
|
|
Packit |
1470ea |
V této ukázce se používá následující:
|
|
Packit |
1470ea |
<list>
|
|
Packit |
1470ea |
<item><link href="http://developer.gnome.org/gtk3/stable/GtkFileChooserDialog.html">GtkFileChooserDialog</link> </item>
|
|
Packit |
1470ea |
<item><link href="http://developer.gnome.org/gtk3/stable/GtkFileChooser.html">GtkFileChooser</link> </item>
|
|
Packit |
1470ea |
<item><link href="http://developer.gnome.org/gtk3/stable/GtkWindow.html">GtkWindow</link> </item>
|
|
Packit |
1470ea |
<item><link href="http://developer.gnome.org/gtk3/stable/GtkTextView.html">GtkTextView</link> </item>
|
|
Packit |
1470ea |
<item><link href="http://developer.gnome.org/gtk3/stable/GtkTextBuffer.html">GtkTextBuffer</link> </item>
|
|
Packit |
1470ea |
<item><link href="http://developer.gnome.org/gtk3/stable/GtkScrolledWindow.html">GtkScrolledWindow</link> </item>
|
|
Packit |
1470ea |
<item><link href="http://developer.gnome.org/gio/stable/GFile.html">GFile</link> </item>
|
|
Packit |
1470ea |
<item><link href="http://developer.gnome.org/gio/stable/GSimpleAction.html">GSimpleAction</link> </item>
|
|
Packit |
1470ea |
<item><link href="http://developer.gnome.org/gtk3/stable/GtkBuilder.html">GtkBuilder</link> </item>
|
|
Packit |
1470ea |
</list>
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
</page>
|