# RadioButton (Vala)

Tiffany Antopolski
tiffany.antopolski@gmail.com 2012
Volba z více zaškrtávacích políček

# RadioButton

Tyto skupinové přepínače oznamují svoji aktivitu v terminálu.

public class MyWindow : Gtk.ApplicationWindow { internal MyWindow (MyApplication app) { Object (application: app, title: "RadioButton Example");

this.border_width = 20; this.set_default_size (250, 100);

/* Ukážeme si 3 různé metody vytvoření RadioButton */

// Vytvoří Radio Button var button1 = new Gtk.RadioButton (null); button1.set_label ("Button 1");

// Vytvoří RadioButton s popiskem a přidá jej do stejné skupiny, jako je button1 var button2 = new Gtk.RadioButton.with_label (button1.get_group(),"Button 2");

// Vytvoří RadioButton s popiskem a přidá jej do skupiny skupinového přepínač button1 var button3 = new Gtk.RadioButton.with_label_from_widget (button1, "Button 3");

// Připojí skupinové přepínače do mřížky var grid = new Gtk.Grid (); grid.attach (button1, 0, 0, 1, 1); grid.attach (button2, 0, 1, 1, 1); grid.attach (button3, 0, 2, 1, 1);

// Přidá mřížku do okna this.add (grid);

// Napojí obsluhu signálu (neboli funkce zpětného volání) ke skupinovým přepínačům button1.toggled.connect (button_toggled_cb); button2.toggled.connect (button_toggled_cb); button3.toggled.connect (button_toggled_cb); }

void button_toggled_cb (Gtk.ToggleButton button) { var state = "unknown";

if (button.get_active ()) state = "on"; else { state = "off"; print ("\n"); } print (button.get_label() + " was turned " + state + "\n"); } }

public class MyApplication : Gtk.Application { protected override void activate () {

// Vše zobrazí new MyWindow (this).show_all (); }

internal MyApplication () { Object (application_id: "org.example.MyApplication"); } }

public int main (string[] args) { return new MyApplication ().run (args); }

V této ukázce se používá následující:

Gtk.RadioButton