void Settings::set_to_gui (Builder &builder) { for (uint i = 0; i < G_N_ELEMENTS (settings); i++) { const char *glade_name = settings[i].glade_name; if (!glade_name) continue; set_to_gui (builder, i); } set_shrink_to_gui (builder); for (uint i = 0; i < G_N_ELEMENTS (colour_selectors); i++) { const char *glade_name = colour_selectors[i].glade_name; vmml::Vector4f *src = (vmml::Vector4f *) PTR_OFFSET(this, colour_selectors[i].member_offset); Gdk::Color c; Gtk::ColorButton *w = NULL; builder->get_widget (glade_name, w); if (w) { w->set_use_alpha(true); c.set_rgb_p(src->r, src->g, src->b); w->set_color(c); w->set_alpha(src->a * 65535.0); } } // Set serial speed. Find the row that holds this value Gtk::ComboBoxEntry *portspeed = NULL; builder->get_widget ("Hardware.SerialSpeed", portspeed); if (portspeed) { std::ostringstream ostr; ostr << Hardware.SerialSpeed; Glib::ustring val(ostr.str()); portspeed->get_entry()->set_text(val); } }