+LED::set_diameter (float d)
+{
+ _diameter = (d*2) + 5.0;
+
+ if (_diameter != 0.0) {
+ _fixed_diameter = true;
+ }
+
+ set_dirty ();
+}
+
+void
+LED::on_realize ()
+{
+ set_colors_from_style ();
+ CairoWidget::on_realize ();
+}
+
+void
+LED::on_size_request (Gtk::Requisition* req)
+{
+ if (_fixed_diameter) {
+ req->width = _diameter;
+ req->height = _diameter;
+ } else {
+ CairoWidget::on_size_request (req);
+ }
+}
+
+void
+LED::set_colors_from_style ()