content.show_all ();
+ var led_color = new LedColorButton.with_map (lpv.pattern.led_map);
+ led_color.clicked.connect (on_color_clicked);
+ add_action_widget (led_color, 2);
+ action_area.set_child_secondary (led_color, true);
+
+ action_area.show_all ();
+
add_button ("Test", 1);
add_button ("Done", Gtk.ResponseType.ACCEPT);
return false;
}
+
+ void on_color_clicked (Gtk.Button button) {
+ var dialog = new LedColorDialog ();
+ int response = dialog.run ();
+ if (response > 0) {
+ ((LedColorButton) button).set_color ((LedColor) response);
+ switch ((LedColor) response) {
+ case LedColor.R:
+ lpv.pattern.led_map = "r";
+ break;
+ case LedColor.G:
+ lpv.pattern.led_map = "g";
+ break;
+ case LedColor.B:
+ lpv.pattern.led_map = "b";
+ break;
+ case LedColor.RG:
+ lpv.pattern.led_map = "rg";
+ break;
+ case LedColor.RB:
+ lpv.pattern.led_map = "rb";
+ break;
+ case LedColor.GB:
+ lpv.pattern.led_map = "gb";
+ break;
+ case LedColor.RGB:
+ lpv.pattern.led_map = "rgb";
+ break;
+ }
+ lpv.pattern.changed ();
+ }
+ dialog.destroy ();
+ }
}