/usr/share/help/cs/gnome-devel-demos/combobox.vala.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 | <?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="combobox.vala" xml:lang="cs">
<info>
<title type="text">ComboBox (Vala)</title>
<link type="guide" xref="beginner.vala#menu-combo-toolbar"/>
<revision version="0.1" date="2012-05-07" status="draft"/>
<credit type="author copyright">
<name>Tiffany Antopolski</name>
<email its:translate="no">tiffany.antopolski@gmail.com</email>
<years>2012</years>
</credit>
<desc>Widget, který se používá k výběru položek ze seznamu.</desc>
</info>
<title>ComboBox</title>
<media type="image" mime="image/png" src="media/combobox.png"/>
<p>Tento rozbalovací seznam vypisuje změnu svého stavu do terminálu.</p>
<code mime="text/x-csharp" style="numbered">/* Okno v aplikaci */
class MyWindow : Gtk.ApplicationWindow {
/* Instance pole s linuxovými distribucemi náležející do tohoto okna */
string[] distros = {"Select distribution", "Fedora", "Mint", "Suse"};
/* Tento výčet dělá kód lépe čitelným, když se odkazujeme na sloupec
* jako Column.DISTRO namísto 0.
*/
enum Column {
DISTRO
}
/* Konstruktor */
internal MyWindow (MyApplication app) {
Object (application: app, title: "Welcome to GNOME");
this.set_default_size (200, -1);
this.border_width = 10;
Gtk.ListStore liststore = new Gtk.ListStore (1, typeof (string));
for (int i = 0; i < distros.length; i++){
Gtk.TreeIter iter;
liststore.append (out iter);
liststore.set (iter, Column.DISTRO, distros[i]);
}
Gtk.ComboBox combobox = new Gtk.ComboBox.with_model (liststore);
Gtk.CellRendererText cell = new Gtk.CellRendererText ();
combobox.pack_start (cell, false);
combobox.set_attributes (cell, "text", Column.DISTRO);
/* Nastaví první položku v seznamu jako vybranou (aktivní) */
combobox.set_active (0);
/* Napojí signál "changed" rozbalovacího seznamu
* na obsluhu signálu (neboli funkci zpětného volání)
*/
combobox.changed.connect (this.item_changed);
/* Přidá rozbalovací seznam do tohoto okna */
this.add (combobox);
combobox.show ();
}
/* Zpracování signálu pro signál "changed" rozbalovacího seznamu */
void item_changed (Gtk.ComboBox combo) {
if (combo.get_active () !=0) {
print ("You chose " + distros [combo.get_active ()] +"\n");
}
}
}
/* Toto je aplikace */
class MyApplication : Gtk.Application {
/* Konstruktor */
internal MyApplication () {
Object (application_id: "org.example.MyApplication");
}
/* Přepíše signál "activate" z GLib.Application,
* který je zděděný z Gtk.Application
*/
protected override void activate () {
/* Vytvoří okno této aplikace a zobrazí jej */
new MyWindow (this).show ();
}
}
/* main vytvoří a spustí aplikaci */
int main (string[] args) {
return new MyApplication ().run (args);
}
</code>
<p>V této ukázce se používá následující:</p>
<list>
<item><p><link href="http://www.valadoc.org/gtk+-3.0/Gtk.ListStore.html">Gtk.ListStore</link></p></item>
<item><p><link href="http://www.valadoc.org/gtk+-3.0/Gtk.ComboBox.html">Gtk.ComboBox</link></p></item>
<item><p><link href="http://www.valadoc.org/gtk+-3.0/Gtk.CellRendererText.html">Gtk.CellRendererText</link></p></item>
<item><p><link href="http://www.valadoc.org/gtk+-3.0/Gtk.CellLayout.set_attributes.html">set_attributes</link></p></item>
</list>
</page>
|