ParamsDialog::ParamsDialog(MainWindow *_mw) : Gtk::Dialog("Parameters", *_mw, true), mw(_mw) { add_button(Gtk::Stock::CANCEL, Gtk::ResponseType::RESPONSE_CANCEL); add_button(Gtk::Stock::OK, Gtk::ResponseType::RESPONSE_OK); Gtk::Box* box = get_vbox(); Gtk::Table *tbl = Gtk::manage(new Gtk::Table(3,2)); f_c_re = Gtk::manage(new Util::HandyEntry<Fractal::Value>()); f_c_re->set_activates_default(true); f_c_im = Gtk::manage(new Util::HandyEntry<Fractal::Value>()); f_c_im->set_activates_default(true); zc = Gtk::manage(new ZoomControl(mw)); Gtk::Label* label; label = Gtk::manage(new Gtk::Label("Centre Real (x) ")); label->set_alignment(1, 0.5); tbl->attach(*label, 0, 1, 0, 1); tbl->attach(*f_c_re, 1, 2, 0, 1); label = Gtk::manage(new Gtk::Label("Centre Imaginary (y) ")); label->set_alignment(1, 0.5); tbl->attach(*label, 0, 1, 1, 2); tbl->attach(*f_c_im, 1, 2, 1, 2); tbl->attach(*zc, 0, 2, 2, 3); box->pack_start(*tbl); set_default_response(Gtk::ResponseType::RESPONSE_OK); }
MarketBuildOptionsDialog::MarketBuildOptionsDialog(const std::string& CommonBuildOptions, const std::string& BuildOptions, const std::string FuncID) : Gtk::Dialog(), m_CommonBuildOptions(CommonBuildOptions),m_BuildOptions(BuildOptions),m_FuncID(FuncID) { set_size_request(450,-1); set_border_width(6); Gtk::Label* InfoLabel = Gtk::manage(new Gtk::Label()); InfoLabel->set_markup(std::string("<i>")+_("These options control the builds of source packages.\nChanging this is at your own risk.")+std::string("</i>")); InfoLabel->set_justify(Gtk::JUSTIFY_CENTER); get_vbox()->pack_start(*InfoLabel); Gtk::Label* CommonOptsLabel = Gtk::manage(new Gtk::Label()); if (!FuncID.empty()) CommonOptsLabel->set_markup(_("<u>Common source build options:</u>\n") +openfluid::tools::ReplaceEmptyString(CommonBuildOptions,_("<i>none</i>"))); else CommonOptsLabel->set_label(""); CommonOptsLabel->set_alignment(0,0.5); get_vbox()->pack_start(*CommonOptsLabel,Gtk::PACK_SHRINK,12); Gtk::Label* EditLabel = Gtk::manage(new Gtk::Label()); if (!FuncID.empty()) { EditLabel->set_label(_("Specific build options for ")+FuncID+_(":")); } else { EditLabel->set_label(_("Common source build options:")); } EditLabel->set_alignment(0,0.5); get_vbox()->pack_start(*EditLabel); if (FuncID.empty()) m_OptionsEntry.set_text(CommonBuildOptions); else m_OptionsEntry.set_text(BuildOptions); get_vbox()->pack_start(m_OptionsEntry); add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); add_button(Gtk::Stock::OK, Gtk::RESPONSE_OK); if(m_FuncID.empty()) set_title(_("Common build options for all source packages")); else set_title(_("Build options for ") + m_FuncID); show_all_children(); }
void AwesomeBar::populate_results(const std::vector<unicode>& to_add) { Pango::FontDescription desc("sans-serif 12"); displayed_files_.clear(); for(auto file: to_add) { auto to_display = file.slice(window_.project_path().length() + 1, nullptr); Gtk::Label* label = Gtk::manage(new Gtk::Label(to_display.encode())); label->set_margin_top(10); label->set_margin_bottom(10); label->set_margin_left(10); label->set_margin_right(10); label->set_alignment(0, 0.5); label->set_hexpand(false); label->set_line_wrap_mode(Pango::WRAP_CHAR); label->set_ellipsize(Pango::ELLIPSIZE_MIDDLE); label->set_line_wrap(true); label->override_font(desc); list_.append(*label); displayed_files_.push_back(file); } list_.show_all(); if(!list_.get_children().empty()) { list_revealer_.set_reveal_child(true); about_to_focus = true; list_.select_row(*list_.get_row_at_index(0)); } }
void WarningListDialog::add_warning(const Glib::ustring& warning) { Gtk::HBox* hb = Gtk::manage(new Gtk::HBox); Gtk::Label* l = Gtk::manage(new Gtk::Label); hb->show(); hb->set_spacing(LENGTH_BORDER_WIDTH*2); if(warning_icon) { Gtk::Image* img = Gtk::manage(new Gtk::Image(warning_icon)); hb->pack_start(*img, false, false); } l->set_markup(warning); l->set_alignment(0., 0.5); l->set_line_wrap(true); hb->pack_start(*l); if(warnings.get_children().size()) { Gtk::HSeparator* s = Gtk::manage(new Gtk::HSeparator); s->show(); warnings.pack_start(*s, false, false, LENGTH_SMALLSPACE); } hb->show_all_children(); warnings.pack_start(*hb, false, false); }
HGTalkLoginBox::HGTalkLoginBox() { Gtk::Image * pImage = Gtk::manage(new Gtk::Image(HGTALK_ICON_128)); pack_start(*pImage, FALSE, TRUE, 0); pImage->set_size_request(-1, 180); Gtk::Label * pTemp = Gtk::manage(new Gtk::Label(HGTALK_USERNAME)); pTemp->set_alignment(0.0, 0.5); pack_start(*pTemp, FALSE, TRUE, 0); m_pUsername = Gtk::manage(new HGTalkUsernameEntry); pack_start(*m_pUsername, FALSE, TRUE, 0); pTemp = Gtk::manage(new Gtk::Label(HGTALK_PASSWORD)); pTemp->set_alignment(0.0, 0.5); pack_start(*pTemp, FALSE, TRUE, 0); m_pPassword = Gtk::manage(new HGTalkPasswordEntry); pack_start(*m_pPassword, FALSE, TRUE, 0); m_pRemPass = Gtk::manage(new HGTalkRempassButton); pack_start(*m_pRemPass, FALSE, TRUE, 0); Gtk::ButtonBox * pButtonBox = Gtk::manage(new Gtk::HButtonBox); pack_start(*pButtonBox, FALSE, TRUE, 0); Gtk::Button * pButton = Gtk::manage(new HGTalkLoginButton); pButtonBox->pack_start(*pButton, FALSE, FALSE, 0); m_pTip = Gtk::manage(new Gtk::Label()); pack_start(*m_pTip, TRUE, TRUE, 0); pButtonBox = Gtk::manage(new Gtk::HButtonBox); pButtonBox->set_layout(Gtk::BUTTONBOX_END); pack_start(*pButtonBox, FALSE, TRUE, 0); Gtk::LinkButton * pLinkButton = Gtk::manage(new HGTalkPreferencesButton); pButtonBox->pack_start(*pLinkButton, FALSE, FALSE, 0); pLinkButton = Gtk::manage(new HGTalkAboutButton); pButtonBox->pack_start(*pLinkButton, FALSE, FALSE, 0); show_all(); }
studio::Dialog_SoundSelect::Dialog_SoundSelect(Gtk::Window &parent, etl::handle<synfigapp::CanvasInterface> ci) :Dialog(_("Sound Select"), parent), canvas_interface(ci) { Gtk::Alignment *dialogPadding = manage(new Gtk::Alignment(0, 0, 1, 1)); dialogPadding->set_padding(12, 12, 12, 12); get_vbox()->pack_start(*dialogPadding, false, false, 0); Gtk::Frame *soundFrame = manage(new Gtk::Frame(_("Sound Parameters"))); ((Gtk::Label *) soundFrame->get_label_widget())->set_markup(_("<b>Sound Parameters</b>")); soundFrame->set_shadow_type(Gtk::SHADOW_NONE); dialogPadding->add(*soundFrame); Gtk::Alignment *framePadding = manage(new Gtk::Alignment(0, 0, 1, 1)); framePadding->set_padding(6, 0, 24, 0); soundFrame->add(*framePadding); Gtk::Label *fileLabel = manage(new Gtk::Label(_("_Sound File"), true)); fileLabel->set_alignment(0, 0.5); fileLabel->set_mnemonic_widget(soundfile); Gtk::Label *offsetLabel = manage(new Gtk::Label(_("Time _Offset"), true)); offsetLabel->set_alignment(0, 0.5); offsetLabel->set_mnemonic_widget(offset); Gtk::Table *table = manage(new Gtk::Table(2, 2, false)); table->set_row_spacings(6); table->set_col_spacings(12); framePadding->add(*table); table->attach(*fileLabel, 0, 1, 0, 1, Gtk::SHRINK | Gtk::FILL, Gtk::SHRINK | Gtk::FILL, 0, 0); table->attach(soundfile, 1, 2, 0, 1, Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK | Gtk::FILL, 0, 0); table->attach(*offsetLabel, 0, 1, 1, 2, Gtk::SHRINK | Gtk::FILL, Gtk::SHRINK | Gtk::FILL, 0, 0); table->attach(offset, 1, 2, 1, 2, Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK | Gtk::FILL, 0, 0); okbutton = manage(new Gtk::Button(Gtk::StockID("gtk-ok"))); add_action_widget(*okbutton, 0); get_vbox()->show_all(); offset.set_value(0); okbutton->signal_clicked().connect(sigc::mem_fun(*this,&Dialog_SoundSelect::on_ok)); }
void SPAttributeTable::set_object(SPObject *object, std::vector<Glib::ustring> &labels, std::vector<Glib::ustring> &attributes, GtkWidget* parent) { g_return_if_fail (!object || SP_IS_OBJECT (object)); g_return_if_fail (!object || !labels.empty() || !attributes.empty()); g_return_if_fail (labels.size() == attributes.size()); clear(); _object = object; if (object) { blocked = true; // Set up object modified_connection = object->connectModified(sigc::bind<2>(sigc::ptr_fun(&sp_attribute_table_object_modified), this)); release_connection = object->connectRelease (sigc::bind<1>(sigc::ptr_fun(&sp_attribute_table_object_release), this)); // Create table table = new Gtk::Table (attributes.size(), 2, false); if (!(parent == NULL)) { gtk_container_add (GTK_CONTAINER (parent),(GtkWidget*)table->gobj()); } // Fill rows _attributes = attributes; for (guint i = 0; i < (attributes.size()); i++) { Gtk::Label *ll = new Gtk::Label (_(labels[i].c_str())); ll->show(); ll->set_alignment (1.0, 0.5); table->attach (*ll, 0, 1, i, i + 1, Gtk::FILL, (Gtk::EXPAND | Gtk::FILL), XPAD, YPAD ); Gtk::Entry *ee = new Gtk::Entry(); ee->show(); const gchar *val = object->getRepr()->attribute(attributes[i].c_str()); ee->set_text (val ? val : (const gchar *) ""); table->attach (*ee, 1, 2, i, i + 1, (Gtk::EXPAND | Gtk::FILL), (Gtk::EXPAND | Gtk::FILL), XPAD, YPAD ); _entries.push_back(ee); g_signal_connect ( ee->gobj(), "changed", G_CALLBACK (sp_attribute_table_entry_changed), this ); } /* Show table */ table->show (); blocked = false; } }
Gtk::Widget* PreferencesPanel::createSubTitle(Glib::ustring SubTitle) { Gtk::Label* SubLabel = Gtk::manage(new Gtk::Label()); SubLabel->set_markup(Glib::ustring::compose("<b>%1</b>", SubTitle)); SubLabel->set_alignment(0, 0.5); SubLabel->set_visible(true); return SubLabel; }
void ApplicationWizard::add_row(Gtk::Table& table, int row, const Glib::RefPtr<Gtk::SizeGroup>& size_group, const Glib::ustring& label_text, Gtk::Widget& entry, Gtk::Button* btn) { Gtk::Label* pLabel = Gtk::manage(new Gtk::Label(label_text, true)); pLabel->set_alignment(Gtk::ALIGN_LEFT, Gtk::ALIGN_BOTTOM); table.attach(*pLabel, 0, 1, row, row + 1, Gtk::FILL, Gtk::AttachOptions(0)); table.attach(entry, 1, 2, row, row + 1, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(0)); if(btn) table.attach(*btn, 2, 3, row, row + 1, Gtk::SHRINK, Gtk::AttachOptions(0)); }
pinDialogPriv(pinDialog &,const void *opsysParam) : Gtk::Dialog("inputDialog",true), m_label("pin entry") { m_textInput.set_activates_default(true); get_vbox()->pack_start(m_label); m_label.set_alignment(0.1,0.5); get_vbox()->pack_start(m_textInput); m_textInput.set_visibility(false); set_has_separator(true); add_button(Gtk::Stock::OK,Gtk::RESPONSE_OK); add_button(Gtk::Stock::CANCEL ,Gtk::RESPONSE_CANCEL); set_default_response(Gtk::RESPONSE_CANCEL); show_all_children(); }
void DimRegionEdit::addHeader(const char* text) { if (firstRowInBlock < rowno - 1) { Gtk::Label* filler = new Gtk::Label(" "); table[pageno]->attach(*filler, 0, 1, firstRowInBlock, rowno, Gtk::FILL, Gtk::SHRINK); } Glib::ustring str = "<b>"; str += text; str += "</b>"; Gtk::Label* label = new Gtk::Label(str); label->set_use_markup(); label->set_alignment(Gtk::ALIGN_LEFT); table[pageno]->attach(*label, 0, 3, rowno, rowno + 1, Gtk::FILL, Gtk::SHRINK); rowno++; firstRowInBlock = rowno; }
ColorMapSelector(): _min(0), _max(1) { m_refTreeModel = ::Gtk::ListStore::create(m_Columns); _comboBox.set_model(m_refTreeModel); buildEntry(SEBASTIAN, "Heat"); buildEntry(HSV, "HSV"); buildEntry(MARCUS, "Grayscale safe"); _comboBox.pack_start(m_Columns.m_col_name, true); _comboBox.pack_start(m_Columns.m_col_icon, false); _comboBox.signal_changed().connect(sigc::mem_fun(*this, &ColorMapSelector::on_combobox_changed)); _comboBox.set_active(0); _comboBox.show(); show(); _minValue.set_text("0"); _minValue.set_width_chars(5); _minValue.show(); _minValue.signal_changed().connect(sigc::mem_fun(*this, &ColorMapSelector::on_limits_changed)); _maxValue.set_text("1.0"); _maxValue.set_width_chars(5); _maxValue.show(); _maxValue.signal_changed().connect(sigc::mem_fun(*this, &ColorMapSelector::on_limits_changed)); Gtk::Label* label = Gtk::manage(new Gtk::Label("Range")); label->show(); pack_start(*label, false, false, 5); pack_start(_minValue, false, false, 5); label = Gtk::manage(new Gtk::Label(":")); label->show(); pack_start(*label, false, false, 2); pack_start(_maxValue, false, false, 5); label = Gtk::manage(new Gtk::Label("Scale")); label->show(); label->set_alignment(0.95, 0.5); pack_start(*label, true, true, 5); pack_start(_comboBox, false, false, 5); }
CanvasProperties::CanvasProperties(Gtk::Window& parent,etl::handle<synfigapp::CanvasInterface> canvas_interface): Gtk::Dialog(_("Canvas Properties"),parent,false,true), canvas_interface_(canvas_interface) { widget_rend_desc.show(); widget_rend_desc.signal_changed().connect(sigc::mem_fun(*this,&studio::CanvasProperties::on_rend_desc_changed)); Gtk::Alignment *dialogPadding = manage(new Gtk::Alignment(0, 0, 1, 1)); dialogPadding->set_padding(12, 12, 12, 12); get_vbox()->pack_start(*dialogPadding, false, false, 0); Gtk::VBox *dialogBox = manage(new Gtk::VBox(false, 12)); dialogPadding->add(*dialogBox); Gtk::Frame *info_frame=manage(new Gtk::Frame(_("Canvas Info"))); info_frame->set_shadow_type(Gtk::SHADOW_NONE); ((Gtk::Label *) info_frame->get_label_widget())->set_markup(_("<b>Canvas Info</b>")); dialogBox->pack_start(*info_frame, false, false, 0); Gtk::Alignment *infoPadding = manage(new Gtk::Alignment(0, 0, 1, 1)); infoPadding->set_padding(6, 0, 24, 0); info_frame->add(*infoPadding); Gtk::Table *info_table=manage(new Gtk::Table(2,2,false)); info_table->set_row_spacings(6); info_table->set_col_spacings(12); infoPadding->add(*info_table); // The root canvas doesn't have an ID, so don't // display it if this is a root canvas. if(!canvas_interface_->get_canvas()->is_root()) { Gtk::Label *idLabel = manage(new Gtk::Label(_("_ID"), true)); idLabel->set_alignment(0, 0.5); idLabel->set_mnemonic_widget(entry_id); info_table->attach(*idLabel, 0, 1, 0, 1, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); info_table->attach(entry_id, 1, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); } Gtk::Label *nameLabel = manage(new Gtk::Label(_("_Name"), true)); nameLabel->set_alignment(0, 0.5); nameLabel->set_mnemonic_widget(entry_name); Gtk::Label *descriptionLabel = manage(new Gtk::Label(_("_Description"), true)); descriptionLabel->set_alignment(0, 0.5); descriptionLabel->set_mnemonic_widget(entry_description); info_table->attach(*nameLabel, 0, 1, 1, 2, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); info_table->attach(*descriptionLabel, 0, 1, 2, 3, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); info_table->attach(entry_name, 1, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); info_table->attach(entry_description, 1, 2, 2, 3, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); dialogBox->pack_start(widget_rend_desc, false, false, 0); canvas_interface_->signal_rend_desc_changed().connect(sigc::mem_fun(*this,&studio::CanvasProperties::refresh)); canvas_interface_->signal_id_changed().connect(sigc::mem_fun(*this,&studio::CanvasProperties::refresh)); Gtk::Button *ok_button(manage(new class Gtk::Button(Gtk::StockID("gtk-ok")))); ok_button->show(); add_action_widget(*ok_button,2); ok_button->signal_clicked().connect(sigc::mem_fun(*this, &studio::CanvasProperties::on_ok_pressed)); Gtk::Button *apply_button(manage(new class Gtk::Button(Gtk::StockID("gtk-apply")))); apply_button->show(); add_action_widget(*apply_button,1); apply_button->signal_clicked().connect(sigc::mem_fun(*this, &studio::CanvasProperties::on_apply_pressed)); Gtk::Button *cancel_button(manage(new class Gtk::Button(Gtk::StockID("gtk-close")))); cancel_button->show(); add_action_widget(*cancel_button,0); cancel_button->signal_clicked().connect(sigc::mem_fun(*this, &studio::CanvasProperties::on_cancel_pressed)); //set_default_response(1); get_vbox()->show_all(); refresh(); update_title(); }
preferencesDialog::preferencesDialog(int const _min_port, int const _max_port) : portrange_begin(0), beginPortRangeSpinbuttonAdj(0), portrange_end(0), endPortRangeSpinbuttonAdj(0), workPathEntry(0), outputPathEntry(0), leechModeCheckbutton(0), min_port(_max_port), max_port(_min_port), workPath(), outputPath(), leechmode(false), portrange_begin_intial_value(0), portrange_end_intial_value(0), workPath_initial_value(""), outputPath_initial_value(""), leechmode_initial_value(false), portrange_begin_signal(), portrange_end_signal(), save_btn_pressed(false) { Gtk::Label* workLabel = Gtk::manage(new class Gtk::Label("Working directory")); Gtk::Label* outputLabel = Gtk::manage(new class Gtk::Label("Output directory")); Gtk::Label* portRangeLabel = Gtk::manage(new class Gtk::Label("Port range")); Gtk::Label* leechModeLabel = Gtk::manage(new class Gtk::Label("Leech mode")); outputPathEntry = Gtk::manage(new class Gtk::Entry()); workPathEntry = Gtk::manage(new class Gtk::Entry()); leechModeCheckbutton = Gtk::manage(new class Gtk::CheckButton("enabled")); Gtk::Table* settingsTable = Gtk::manage(new class Gtk::Table(2, 2, false)); // Ports: Gtk::Table* portTable = Gtk::manage(new class Gtk::Table(2, 2, false));; Gtk::Label* beginPortLabel = Gtk::manage(new class Gtk::Label("Begin Port")); Gtk::Label* endPortLabel = Gtk::manage(new class Gtk::Label("End Port")); beginPortRangeSpinbuttonAdj = Gtk::manage(new class Gtk::Adjustment(_min_port, _min_port, _max_port, 1, 100, 10)); portrange_begin = Gtk::manage(new class Gtk::SpinButton(*beginPortRangeSpinbuttonAdj, 1, 0)); endPortRangeSpinbuttonAdj = Gtk::manage(new class Gtk::Adjustment(_min_port, _min_port, _max_port, 1, 100, 10)); portrange_end = Gtk::manage(new class Gtk::SpinButton(*endPortRangeSpinbuttonAdj, 1, 0)); beginPortLabel->set_alignment(0,0.5); beginPortLabel->set_padding(5,5); beginPortLabel->set_justify(Gtk::JUSTIFY_LEFT); beginPortLabel->set_line_wrap(false); beginPortLabel->set_use_markup(false); beginPortLabel->set_selectable(false); endPortLabel->set_alignment(0,0.5); endPortLabel->set_padding(5,5); endPortLabel->set_justify(Gtk::JUSTIFY_LEFT); endPortLabel->set_line_wrap(false); endPortLabel->set_use_markup(false); endPortLabel->set_selectable(false); portrange_end->set_flags(Gtk::CAN_FOCUS); portrange_end->set_update_policy(Gtk::UPDATE_ALWAYS); portrange_end->set_numeric(false); portrange_end->set_digits(0); portrange_end->set_wrap(false); portrange_end->set_flags(Gtk::CAN_FOCUS); portrange_end->set_update_policy(Gtk::UPDATE_ALWAYS); portrange_end->set_numeric(true); portrange_end->set_digits(0); portrange_end->set_wrap(false); portrange_begin->set_flags(Gtk::CAN_FOCUS); portrange_begin->set_update_policy(Gtk::UPDATE_ALWAYS); portrange_begin->set_numeric(false); portrange_begin->set_digits(0); portrange_begin->set_wrap(false); portrange_begin->set_flags(Gtk::CAN_FOCUS); portrange_begin->set_update_policy(Gtk::UPDATE_ALWAYS); portrange_begin->set_numeric(true); portrange_begin->set_digits(0); portrange_begin->set_wrap(false); portTable->set_border_width(10); portTable->set_row_spacings(5); portTable->set_col_spacings(5); portTable->attach(*beginPortLabel, 0, 1, 0, 1, Gtk::FILL, Gtk::AttachOptions(), 0, 0); portTable->attach(*endPortLabel, 0, 1, 1, 2, Gtk::FILL, Gtk::AttachOptions(), 0, 0); portTable->attach(*portrange_end, 1, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); portTable->attach(*portrange_begin, 1, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); beginPortLabel->show(); endPortLabel->show(); portrange_begin->show(); portrange_end->show(); portTable->show(); Gtk::VBox *preferencesVbox = Gtk::manage(new class Gtk::VBox(false, 10)); outputLabel->set_alignment(0,0.5); outputLabel->set_padding(5,0); outputLabel->set_justify(Gtk::JUSTIFY_LEFT); outputLabel->set_line_wrap(false); outputLabel->set_use_markup(false); outputLabel->set_selectable(false); workLabel->set_alignment(0,0.5); workLabel->set_padding(5,0); workLabel->set_justify(Gtk::JUSTIFY_LEFT); workLabel->set_line_wrap(false); workLabel->set_use_markup(false); workLabel->set_selectable(false); portRangeLabel->set_alignment(0,0.5); portRangeLabel->set_padding(5,0); portRangeLabel->set_justify(Gtk::JUSTIFY_LEFT); portRangeLabel->set_line_wrap(false); portRangeLabel->set_use_markup(false); portRangeLabel->set_selectable(false); leechModeLabel->set_alignment(0,0.5); leechModeLabel->set_padding(5,0); leechModeLabel->set_justify(Gtk::JUSTIFY_LEFT); leechModeLabel->set_line_wrap(false); leechModeLabel->set_use_markup(false); leechModeLabel->set_selectable(false); Gtk::HBox* pathHbox = Gtk::manage(new class Gtk::HBox(false, 10)); Gtk::HBox* workPathHbox = Gtk::manage(new class Gtk::HBox(false, 10)); outputPathEntry->set_flags(Gtk::CAN_FOCUS); outputPathEntry->set_visibility(true); outputPathEntry->set_editable(false); outputPathEntry->set_max_length(0); outputPathEntry->set_text(""); outputPathEntry->set_has_frame(true); outputPathEntry->set_activates_default(false); workPathEntry->set_flags(Gtk::CAN_FOCUS); workPathEntry->set_visibility(true); workPathEntry->set_editable(false); workPathEntry->set_max_length(0); workPathEntry->set_text(""); workPathEntry->set_has_frame(true); workPathEntry->set_activates_default(false); Gtk::Button* pathButton = Gtk::manage(new class Gtk::Button("Change Path")); Gtk::Button* workPathButton = Gtk::manage(new class Gtk::Button("Change Path")); pathHbox->pack_start(*outputPathEntry); pathHbox->pack_start(*pathButton, Gtk::PACK_SHRINK, 0); workPathHbox->pack_start(*workPathEntry); workPathHbox->pack_start(*workPathButton, Gtk::PACK_SHRINK, 0); leechModeCheckbutton->set_flags(Gtk::CAN_FOCUS); leechModeCheckbutton->set_relief(Gtk::RELIEF_NORMAL); leechModeCheckbutton->set_mode(true); leechModeCheckbutton->set_active(false); settingsTable->set_border_width(10); settingsTable->set_row_spacings(20); settingsTable->set_col_spacings(5); // left rigth top bottom /* table1->attach(*label1, 0, 1, 0, 1, Gtk::FILL, Gtk::AttachOptions(), 0, 0); table1->attach(*label2, 0, 1, 1, 2, Gtk::FILL, Gtk::AttachOptions(), 0, 0); table1->attach(*label3, 0, 1, 2, 3, Gtk::FILL, Gtk::AttachOptions(), 0, 0); table1->attach(*label4, 0, 1, 3, 4, Gtk::FILL, Gtk::AttachOptions(), 0, 0); table1->attach(*entry1, 1, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); table1->attach(*entry2, 1, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); table1->attach(*entry3, 1, 2, 2, 3, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); table1->attach(*entry4, 1, 2, 3, 4, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); */ settingsTable->attach(*workLabel, 0, 1, 0, 1, Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*outputLabel, 0, 1, 1, 2, Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*portRangeLabel, 0, 1, 2, 3, Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*leechModeLabel, 0, 1, 3, 4, Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*workPathHbox, 1, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*pathHbox, 1, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*portTable, 1, 2, 2, 3, Gtk::FILL, Gtk::FILL, 0, 0); settingsTable->attach(*leechModeCheckbutton, 1, 2, 3, 4, Gtk::FILL, Gtk::AttachOptions(), 0, 0); preferencesVbox->pack_start(*settingsTable, Gtk::PACK_SHRINK, 0); set_title( GPD->sGUI_CLIENT() + " " + GPD->sFULLVERSION() + " / Preferences" ); set_modal(true); property_window_position().set_value(Gtk::WIN_POS_CENTER); set_resizable(true); property_destroy_with_parent().set_value(false); set_has_separator(true); get_vbox()->pack_start(*preferencesVbox); set_default_size(300, 200); outputLabel->show(); workLabel->show(); portRangeLabel->show(); leechModeLabel->show(); outputPathEntry->show(); pathButton->show(); pathHbox->show(); workPathEntry->show(); workPathButton->show(); workPathHbox->show(); leechModeCheckbutton->show(); settingsTable->show(); preferencesVbox->show(); // Create buttons and connect their signals. add_button("Save", 1); add_button("Cancel", 2); signal_response().connect(sigc::mem_fun(*this, &preferencesDialog::on_dialog_button_pressed)); pathButton->signal_clicked().connect(sigc::mem_fun(*this, &preferencesDialog::on_path_select_button_pressed)); workPathButton->signal_clicked().connect(sigc::mem_fun(*this, &preferencesDialog::on_work_path_select_button_pressed)); get_vbox()->show(); }
HIGMessageDialog::HIGMessageDialog(Gtk::Window *parent, GtkDialogFlags flags, Gtk::MessageType msg_type, Gtk::ButtonsType btn_type, const Glib::ustring & header, const Glib::ustring & msg) : Gtk::Dialog() , m_extra_widget(NULL) { set_border_width(5); set_resizable(false); set_title(""); get_vbox()->set_spacing(12); get_action_area()->set_layout(Gtk::BUTTONBOX_END); m_accel_group = Glib::RefPtr<Gtk::AccelGroup>(Gtk::AccelGroup::create()); add_accel_group(m_accel_group); Gtk::HBox *hbox = manage(new Gtk::HBox (false, 12)); hbox->set_border_width(5); hbox->show(); get_vbox()->pack_start(*hbox, false, false, 0); switch (msg_type) { case Gtk::MESSAGE_ERROR: m_image = new Gtk::Image (Gtk::Stock::DIALOG_ERROR, Gtk::ICON_SIZE_DIALOG); break; case Gtk::MESSAGE_QUESTION: m_image = new Gtk::Image (Gtk::Stock::DIALOG_QUESTION, Gtk::ICON_SIZE_DIALOG); break; case Gtk::MESSAGE_INFO: m_image = new Gtk::Image (Gtk::Stock::DIALOG_INFO, Gtk::ICON_SIZE_DIALOG); break; case Gtk::MESSAGE_WARNING: m_image = new Gtk::Image (Gtk::Stock::DIALOG_WARNING, Gtk::ICON_SIZE_DIALOG); break; default: m_image = new Gtk::Image (); break; } if (m_image) { Gtk::manage(m_image); m_image->show(); m_image->property_yalign().set_value(0); hbox->pack_start(*m_image, false, false, 0); } Gtk::VBox *label_vbox = manage(new Gtk::VBox (false, 0)); label_vbox->show(); hbox->pack_start(*label_vbox, true, true, 0); std::string title = str(boost::format("<span weight='bold' size='larger'>%1%" "</span>\n") % header.c_str()); Gtk::Label *label; label = manage(new Gtk::Label (title)); label->set_use_markup(true); label->set_justify(Gtk::JUSTIFY_LEFT); label->set_line_wrap(true); label->set_alignment (0.0f, 0.5f); label->show(); label_vbox->pack_start(*label, false, false, 0); label = manage(new Gtk::Label(msg)); label->set_use_markup(true); label->set_justify(Gtk::JUSTIFY_LEFT); label->set_line_wrap(true); label->set_alignment (0.0f, 0.5f); label->show(); label_vbox->pack_start(*label, false, false, 0); m_extra_widget_vbox = manage(new Gtk::VBox (false, 0)); m_extra_widget_vbox->show(); label_vbox->pack_start(*m_extra_widget_vbox, true, true, 12); switch (btn_type) { case Gtk::BUTTONS_NONE: break; case Gtk::BUTTONS_OK: add_button (Gtk::Stock::OK, Gtk::RESPONSE_OK, true); break; case Gtk::BUTTONS_CLOSE: add_button (Gtk::Stock::CLOSE, Gtk::RESPONSE_CLOSE, true); break; case Gtk::BUTTONS_CANCEL: add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL, true); break; case Gtk::BUTTONS_YES_NO: add_button (Gtk::Stock::NO, Gtk::RESPONSE_NO, false); add_button (Gtk::Stock::YES, Gtk::RESPONSE_YES, true); break; case Gtk::BUTTONS_OK_CANCEL: add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL, false); add_button (Gtk::Stock::OK, Gtk::RESPONSE_OK, true); break; } if (parent){ set_transient_for(*parent); } if ((flags & GTK_DIALOG_MODAL) != 0) { set_modal(true); } if ((flags & GTK_DIALOG_DESTROY_WITH_PARENT) != 0) { property_destroy_with_parent().set_value(true); } }
limitDialog::limitDialog(const char * _szUploadLabel, const char * _szDownloadLabel, const char * _szParam3Label, const char * _szParam4Label) : Gtk::Dialog(GPD->sGUI_CLIENT() + " " + GPD->sFULLVERSION() + " / Limit", true /* modal */, true /* use_separator aka set_has_separator() */ ), limit_interval(5), limit_selected(false), selected_upload_disable(false), selected_download_disable(false), selected_param3_disable(false), selected_param4_disable(false), uploadCombo(0), downloadCombo(0), param3Spin(0), param4Spin(0), selected_upload_limit(-1), selected_download_limit(-1) { Gtk::Label *uploadLabel = Gtk::manage(new class Gtk::Label( _szUploadLabel ? _szUploadLabel : "Upload" )); Gtk::Label *downloadLabel = Gtk::manage(new class Gtk::Label( _szDownloadLabel ? _szDownloadLabel : "Download" )); uploadCombo = Gtk::manage(new class Gtk::ComboBoxText()); downloadCombo = Gtk::manage(new class Gtk::ComboBoxText()); Gtk::Label *seedPercentLabel = Gtk::manage(new class Gtk::Label( _szParam3Label ? _szParam3Label : "Seed %" )); Gtk::Label *seedTimeLabel = Gtk::manage(new class Gtk::Label( _szParam4Label ? _szParam4Label : "Seed Time" )); Gtk::Adjustment *seedPercentAdjustment = Gtk::manage(new class Gtk::Adjustment(1, 0, 100, 1, 10, 10)); param3Spin = Gtk::manage(new class Gtk::SpinButton(*seedPercentAdjustment, 1, 0)); Gtk::Adjustment *seedTimeAdjustment = Gtk::manage(new class Gtk::Adjustment(1, 0, 100, 1, 10, 10)); param4Spin = Gtk::manage(new class Gtk::SpinButton(*seedTimeAdjustment, 1, 0)); Gtk::Table *settingsTable = Gtk::manage(new class Gtk::Table(4, 2, false)); Gtk::VBox *limitVbox = Gtk::manage(new class Gtk::VBox(false, 10)); uploadLabel->set_alignment(0,0.5); uploadLabel->set_padding(5,0); uploadLabel->set_justify(Gtk::JUSTIFY_LEFT); uploadLabel->set_line_wrap(false); uploadLabel->set_use_markup(false); uploadLabel->set_selectable(false); downloadLabel->set_alignment(0,0.5); downloadLabel->set_padding(5,0); downloadLabel->set_justify(Gtk::JUSTIFY_LEFT); downloadLabel->set_line_wrap(false); downloadLabel->set_use_markup(false); downloadLabel->set_selectable(false); seedPercentLabel->set_alignment(0,0.5); seedPercentLabel->set_padding(5,0); seedPercentLabel->set_justify(Gtk::JUSTIFY_LEFT); seedPercentLabel->set_line_wrap(false); seedPercentLabel->set_use_markup(false); seedPercentLabel->set_selectable(false); seedTimeLabel->set_alignment(0,0.5); seedTimeLabel->set_padding(5,0); seedTimeLabel->set_justify(Gtk::JUSTIFY_LEFT); seedTimeLabel->set_line_wrap(false); seedTimeLabel->set_use_markup(false); seedTimeLabel->set_selectable(false); param3Spin->set_flags(Gtk::CAN_FOCUS); param3Spin->set_update_policy(Gtk::UPDATE_ALWAYS); param3Spin->set_numeric(false); param3Spin->set_digits(0); param3Spin->set_wrap(false); param3Spin->set_range(0, MaxParam3Value); param4Spin->set_flags(Gtk::CAN_FOCUS); param4Spin->set_update_policy(Gtk::UPDATE_ALWAYS); param4Spin->set_numeric(false); param4Spin->set_digits(0); param4Spin->set_wrap(false); param4Spin->set_range(0, MaxParam4Value); uploadCombo->append_text("disable"); downloadCombo->append_text("disable"); for (t_int i=limit_interval; i<=200; i+=limit_interval) { using namespace btg::core; std::string s = convertToString<int>(i) + " KiB/sec"; uploadCombo->append_text(s); downloadCombo->append_text(s); } uploadCombo->set_active(0); downloadCombo->set_active(0); settingsTable->set_border_width(10); settingsTable->set_row_spacings(20); settingsTable->set_col_spacings(5); /* */ settingsTable->attach(*uploadLabel, 0, 1, 0, 1, Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*downloadLabel, 0, 1, 1, 2, Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*seedPercentLabel, 0, 1, 2, 3, Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*seedTimeLabel, 0, 1, 3, 4, Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*param3Spin, 1, 2, 2, 3, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*param4Spin, 1, 2, 3, 4, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*uploadCombo, 1, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*downloadCombo, 1, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); limitVbox->pack_start(*settingsTable, Gtk::PACK_SHRINK, 0); property_window_position().set_value(Gtk::WIN_POS_CENTER); set_resizable(true); property_destroy_with_parent().set_value(false); get_vbox()->pack_start(*limitVbox); set_default_size(300, 200); // Create buttons and connect their signals. add_button("Set", 1); add_button("Cancel", 2); signal_response().connect(sigc::mem_fun(*this, &limitDialog::on_button_pressed)); show_all(); // flag all inner elements as visible hide(); // hide toplevel window }
//dialog_previewoptions stuff Dialog_PreviewOptions::Dialog_PreviewOptions() :Dialog(_("Preview Options")), adj_zoom(Gtk::Adjustment::create(0.5,0.1,5.0,0.1,0.2)), adj_fps(Gtk::Adjustment::create(12,1,120,1,5)), check_overbegin(_("_Begin time"),false), check_overend(_("_End time"),false), settings(this,"prevoptions") { //framerate = 15.0f; //zoom = 0.2f; //set the fps of the time widgets Gtk::Alignment *dialogPadding = manage(new Gtk::Alignment(0, 0, 1, 1)); dialogPadding->set_padding(12, 12, 12, 12); get_vbox()->add(*dialogPadding); Gtk::VBox *dialogBox = manage(new Gtk::VBox(false, 12)); dialogPadding->add(*dialogBox); Gtk::Frame *generalFrame = manage(new Gtk::Frame(_("General settings"))); generalFrame->set_shadow_type(Gtk::SHADOW_NONE); ((Gtk::Label *) generalFrame->get_label_widget())->set_markup(_("<b>General settings</b>")); dialogBox->pack_start(*generalFrame, false, false, 0); Gtk::Alignment *generalPadding = manage(new Gtk::Alignment(0, 0, 1, 1)); generalPadding->set_padding(6, 0, 24, 0); generalFrame->add(*generalPadding); Gtk::Table *generalTable = manage(new Gtk::Table(2, 2, false)); generalTable->set_row_spacings(6); generalTable->set_col_spacings(12); generalPadding->add(*generalTable); Gtk::Label *zoomLabel = manage(new Gtk::Label(_("_Quality"))); zoomLabel->set_alignment(0, 0.5); zoomLabel->set_use_underline(TRUE); Gtk::SpinButton *zoomSpinner = manage(new Gtk::SpinButton(adj_zoom, 0.1, 2)); zoomLabel->set_mnemonic_widget(*zoomSpinner); zoomSpinner->set_alignment(1); generalTable->attach(*zoomLabel, 0, 1, 0, 1, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); generalTable->attach(*zoomSpinner, 1, 2, 0, 1, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); Gtk::Label *fpsLabel = manage(new Gtk::Label(_("_FPS"))); fpsLabel->set_alignment(0, 0.5); fpsLabel->set_use_underline(TRUE); Gtk::SpinButton *fpsSpinner = manage(new Gtk::SpinButton(adj_fps, 1, 1)); fpsLabel->set_mnemonic_widget(*fpsSpinner); fpsSpinner->set_alignment(1); generalTable->attach(*fpsLabel, 0, 1, 1, 2, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); generalTable->attach(*fpsSpinner, 1, 2, 1, 2, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); Gtk::Frame *timeFrame = manage(new Gtk::Frame(_("Time settings"))); timeFrame->set_shadow_type(Gtk::SHADOW_NONE); ((Gtk::Label *) timeFrame->get_label_widget())->set_markup(_("<b>Time settings</b>")); dialogBox->pack_start(*timeFrame, false, false, 0); Gtk::Alignment *timePadding = manage(new Gtk::Alignment(0, 0, 1, 1)); timePadding->set_padding(6, 0, 24, 0); timeFrame->add(*timePadding); Gtk::Table *timeTable = manage(new Gtk::Table(2, 2, false)); timeTable->set_row_spacings(6); timeTable->set_col_spacings(12); timePadding->add(*timeTable); check_overbegin.set_alignment(0, 0.5); check_overbegin.set_use_underline(TRUE); check_overend.set_alignment(0, 0.5); check_overend.set_use_underline(TRUE); time_begin.set_alignment(1); time_end.set_alignment(1); timeTable->attach(check_overbegin, 0, 1, 0, 1, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); timeTable->attach(time_begin, 1, 2, 0, 1, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); timeTable->attach(check_overend, 0, 1, 1, 2, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); timeTable->attach(time_end, 1, 2, 1, 2, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); check_overbegin.signal_toggled().connect(sigc::mem_fun(*this,&Dialog_PreviewOptions::on_overbegin_toggle)); check_overend.signal_toggled().connect(sigc::mem_fun(*this,&Dialog_PreviewOptions::on_overend_toggle)); Gtk::Button *cancelButton = manage(new Gtk::Button(Gtk::StockID("gtk-cancel"))); cancelButton->signal_clicked().connect(sigc::mem_fun(*this, &Dialog_PreviewOptions::on_cancel_pressed)); add_action_widget(*cancelButton, 1); cancelButton->show(); Gtk::Button *okbutton = manage(new Gtk::Button(Gtk::StockID("gtk-go-forward"))); okbutton->set_label(_("Preview")); okbutton->signal_clicked().connect(sigc::mem_fun(*this,&Dialog_PreviewOptions::on_ok_pressed)); add_action_widget(*okbutton, 0); okbutton->show(); time_begin.set_sensitive(false); time_end.set_sensitive(false); show_all(); }
Gobby::StatusBar::MessageHandle Gobby::StatusBar::add_message(Gobby::StatusBar::MessageType type, const Glib::ustring& message, const Glib::ustring& dialog_message, unsigned int timeout) { if(m_visible_messages >= 12) { for(MessageHandle iter = m_list.begin(); iter != m_list.end(); ++iter) { if(*iter) { if((*iter)->is_error()) remove_message(iter); else // only hide message because whoever // installed it is expecting to be // able to call remove_message on it hide_message(iter); break; } } } Gtk::Grid* grid = Gtk::manage(new Gtk::Grid()); grid->set_column_spacing(6); grid->set_margin_start(2); grid->set_margin_end(2); Gtk::Image* image = Gtk::manage(new Gtk::Image); image->set_from_icon_name(message_type_to_icon_name(type), Gtk::ICON_SIZE_MENU); grid->attach(*image, 0, 0, 1, 1); image->show(); Gtk::Label* label = Gtk::manage( new Gtk::Label(message, Gtk::ALIGN_START)); label->set_ellipsize(Pango::ELLIPSIZE_END); // If we set halign instead, the label will not behave correctly // when ellipsized, because then it has always all space around it // allocated, and the alignment "jumps" around whin resizing the // window due to new characters appearing or disappearing as a result // of the ellipsization. #if GTK_CHECK_VERSION(3, 16, 0) gtk_label_set_xalign(label->gobj(), 0.0); #else label->set_alignment(0.0, 0.0); #endif label->show(); grid->attach(*label, 1, 0, 1, 1); Gtk::Frame* frame = Gtk::manage(new Gtk::Frame); m_list.push_back(0); Gobby::StatusBar::MessageHandle iter(--m_list.end()); sigc::connection timeout_conn; if(timeout) { timeout_conn = Glib::signal_timeout().connect_seconds( sigc::bind( sigc::bind_return( sigc::mem_fun( *this, &StatusBar::remove_message), false), iter), timeout); } *iter = new Message(frame, message, dialog_message, timeout_conn); ++m_visible_messages; if(dialog_message.empty()) { frame->add(*grid); } else { Gtk::EventBox *eventbox = Gtk::manage(new Gtk::EventBox); frame->add(*eventbox); eventbox->add(*grid); eventbox->signal_button_press_event().connect( sigc::bind_return(sigc::bind( sigc::mem_fun( *this, &StatusBar::on_message_clicked), iter), false)); eventbox->show(); } grid->show(); // Insert at front gtk_grid_attach_next_to( gobj(), GTK_WIDGET(frame->gobj()), NULL, GTK_POS_LEFT, 1, 1); frame->set_halign(Gtk::ALIGN_START); frame->set_hexpand(false); frame->set_shadow_type(Gtk::SHADOW_NONE); frame->show(); return iter; }
Widget_Waypoint::Widget_Waypoint(etl::handle<synfig::Canvas> canvas): Gtk::Alignment(0, 0, 1, 1), waypoint(synfig::ValueBase(),0), adj_tension(Gtk::Adjustment::create(0.0,-20,20,0.1,1)), adj_continuity(Gtk::Adjustment::create(0.0,-20,20,0.1,1)), adj_bias(Gtk::Adjustment::create(0.0,-20,20,0.1,1)), adj_temporal_tension(Gtk::Adjustment::create(0.0,-20,20,0.1,1)) { value_widget=manage(new Widget_ValueBase()); value_widget->set_canvas(canvas); value_widget->show(); value_node_label=manage(new Gtk::Label(_("(Non-static value)"))); time_widget=manage(new Widget_Time()); time_widget->set_fps(canvas->rend_desc().get_frame_rate()); before_options=manage(new class Widget_Enum()); before_options->show(); before_options->set_param_desc( ParamDesc("interpolation") .set_hint("enum") .add_enum_value(INTERPOLATION_CLAMPED,"clamped",_("Clamped")) .add_enum_value(INTERPOLATION_TCB,"auto",_("TCB")) .add_enum_value(INTERPOLATION_CONSTANT,"constant",_("Constant")) .add_enum_value(INTERPOLATION_HALT,"ease",_("Ease In/Out")) .add_enum_value(INTERPOLATION_LINEAR,"linear",_("Linear")) ); before_options->set_icon(0, Gtk::Button().render_icon_pixbuf(Gtk::StockID("synfig-interpolation_type_clamped"),Gtk::ICON_SIZE_MENU)); before_options->set_icon(1, Gtk::Button().render_icon_pixbuf(Gtk::StockID("synfig-interpolation_type_tcb"),Gtk::ICON_SIZE_MENU)); before_options->set_icon(2, Gtk::Button().render_icon_pixbuf(Gtk::StockID("synfig-interpolation_type_const"),Gtk::ICON_SIZE_MENU)); before_options->set_icon(3, Gtk::Button().render_icon_pixbuf(Gtk::StockID("synfig-interpolation_type_ease"),Gtk::ICON_SIZE_MENU)); before_options->set_icon(4, Gtk::Button().render_icon_pixbuf(Gtk::StockID("synfig-interpolation_type_linear"),Gtk::ICON_SIZE_MENU)); after_options=manage(new class Widget_Enum()); after_options->show(); after_options->set_param_desc( ParamDesc("interpolation") .set_hint("enum") .add_enum_value(INTERPOLATION_CLAMPED,"clamped",_("Clamped")) .add_enum_value(INTERPOLATION_TCB,"auto",_("TCB")) .add_enum_value(INTERPOLATION_CONSTANT,"constant",_("Constant")) .add_enum_value(INTERPOLATION_HALT,"ease",_("Ease In/Out")) .add_enum_value(INTERPOLATION_LINEAR,"linear",_("Linear")) ); after_options->set_icon(0, Gtk::Button().render_icon_pixbuf(Gtk::StockID("synfig-interpolation_type_clamped"),Gtk::ICON_SIZE_MENU)); after_options->set_icon(1, Gtk::Button().render_icon_pixbuf(Gtk::StockID("synfig-interpolation_type_tcb"),Gtk::ICON_SIZE_MENU)); after_options->set_icon(2, Gtk::Button().render_icon_pixbuf(Gtk::StockID("synfig-interpolation_type_const"),Gtk::ICON_SIZE_MENU)); after_options->set_icon(3, Gtk::Button().render_icon_pixbuf(Gtk::StockID("synfig-interpolation_type_ease"),Gtk::ICON_SIZE_MENU)); after_options->set_icon(4, Gtk::Button().render_icon_pixbuf(Gtk::StockID("synfig-interpolation_type_linear"),Gtk::ICON_SIZE_MENU)); spin_tension=manage(new class Gtk::SpinButton(adj_tension,0.1,3)); spin_tension->show(); spin_continuity=manage(new class Gtk::SpinButton(adj_continuity,0.1,3)); spin_continuity->show(); spin_bias=manage(new class Gtk::SpinButton(adj_bias,0.1,3)); spin_bias->show(); spin_temporal_tension=manage(new class Gtk::SpinButton(adj_temporal_tension,0.1,3)); spin_temporal_tension->show(); set_padding(12, 12, 12, 12); Gtk::VBox *widgetBox = manage(new Gtk::VBox(false, 12)); add(*widgetBox); Gtk::Frame *waypointFrame = manage(new Gtk::Frame(_("Waypoint"))); waypointFrame->set_shadow_type(Gtk::SHADOW_NONE); ((Gtk::Label *) waypointFrame->get_label_widget())->set_markup(_("<b>Waypoint</b>")); widgetBox->pack_start(*waypointFrame, false, false, 0); Gtk::Alignment *waypointPadding = manage(new Gtk::Alignment(0, 0, 1, 1)); waypointPadding->set_padding(6, 0, 24, 0); waypointFrame->add(*waypointPadding); Gtk::Table *waypointTable = manage(new Gtk::Table(2, 2, false)); waypointTable->set_row_spacings(6); waypointTable->set_col_spacings(12); waypointPadding->add(*waypointTable); Gtk::Label *waypointValueLabel = manage(new Gtk::Label(_("_Value"), true)); waypointValueLabel->set_alignment(0, 0.5); waypointValueLabel->set_mnemonic_widget(*value_widget); waypointTable->attach(*waypointValueLabel, 0, 1, 0, 1, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); waypointTable->attach(*value_widget, 1, 2, 0, 1, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); waypointTable->attach(*value_node_label, 1, 2, 0, 1, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); Gtk::Label *waypointTimeLabel = manage(new Gtk::Label(_("_Time"), true)); waypointTimeLabel->set_alignment(0, 0.5); waypointTimeLabel->set_mnemonic_widget(*time_widget); waypointTable->attach(*waypointTimeLabel, 0, 1, 1, 2, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); waypointTable->attach(*time_widget, 1, 2, 1, 2, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); Gtk::Frame *interpolationFrame = manage(new Gtk::Frame(_("Interpolation"))); interpolationFrame->set_shadow_type(Gtk::SHADOW_NONE); ((Gtk::Label *) interpolationFrame->get_label_widget())->set_markup(_("<b>Interpolation</b>")); widgetBox->pack_start(*interpolationFrame, false, false, 0); Gtk::Alignment *interpolationPadding = manage(new Gtk::Alignment(0, 0, 1, 1)); interpolationPadding->set_padding(6, 0, 24, 0); interpolationFrame->add(*interpolationPadding); Gtk::Table *interpolationTable = manage(new Gtk::Table(2, 2, false)); interpolationTable->set_row_spacings(6); interpolationTable->set_col_spacings(12); interpolationPadding->add(*interpolationTable); Gtk::Label *interpolationInLabel = manage(new Gtk::Label(_("_In Interpolation"), true)); interpolationInLabel->set_alignment(0, 0.5); interpolationInLabel->set_mnemonic_widget(*before_options); interpolationTable->attach(*interpolationInLabel, 0, 1, 0, 1, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); interpolationTable->attach(*before_options, 1, 2, 0, 1, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); Gtk::Label *interpolationOutLabel = manage(new Gtk::Label(_("_Out Interpolation"), true)); interpolationOutLabel->set_alignment(0, 0.5); interpolationOutLabel->set_mnemonic_widget(*after_options); interpolationTable->attach(*interpolationOutLabel, 0, 1, 1, 2, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); interpolationTable->attach(*after_options, 1, 2, 1, 2, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); Gtk::Frame *tcbFrame = manage(new Gtk::Frame(_("TCB Parameters"))); tcbFrame->set_shadow_type(Gtk::SHADOW_NONE); ((Gtk::Label *) tcbFrame->get_label_widget())->set_markup(_("<b>TCB Parameter</b>")); widgetBox->pack_start(*tcbFrame, false, false, 0); Gtk::Alignment *tcbPadding = manage(new Gtk::Alignment(0, 0, 1, 1)); tcbPadding->set_padding(6, 0, 24, 0); tcbFrame->add(*tcbPadding); Gtk::Table *tcbTable = manage(new Gtk::Table(4, 2, false)); tcbTable->set_row_spacings(6); tcbTable->set_col_spacings(12); tcbPadding->add(*tcbTable); Gtk::Label *tensionLabel = manage(new Gtk::Label(_("T_ension"), true)); tensionLabel->set_alignment(0, 0.5); tensionLabel->set_mnemonic_widget(*spin_tension); spin_tension->set_alignment(1); tcbTable->attach(*tensionLabel, 0, 1, 0, 1, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); tcbTable->attach(*spin_tension, 1, 2, 0, 1, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); Gtk::Label *continuityLabel = manage(new Gtk::Label(_("_Continuity"), true)); continuityLabel->set_alignment(0, 0.5); continuityLabel->set_mnemonic_widget(*spin_continuity); spin_continuity->set_alignment(1); tcbTable->attach(*continuityLabel, 0, 1, 1, 2, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); tcbTable->attach(*spin_continuity, 1, 2, 1, 2, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); Gtk::Label *biasLabel = manage(new Gtk::Label(_("_Bias"), true)); biasLabel->set_alignment(0, 0.5); biasLabel->set_mnemonic_widget(*spin_bias); spin_bias->set_alignment(1); tcbTable->attach(*biasLabel, 0, 1, 2, 3, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); tcbTable->attach(*spin_bias, 1, 2, 2, 3, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); Gtk::Label *temporalTensionLabel = manage(new Gtk::Label(_("Te_mporal Tension"), true)); temporalTensionLabel->set_alignment(0, 0.5); temporalTensionLabel->set_mnemonic_widget(*spin_temporal_tension); spin_temporal_tension->set_alignment(1); tcbTable->attach(*temporalTensionLabel, 0, 1, 3, 4, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); tcbTable->attach(*spin_temporal_tension, 1, 2, 3, 4, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); show_all(); hide(); set_canvas(canvas); }
// Creates buttons with labels. Sets butBox elements to have the same size, // with 10 pixels between widgets View::View(Controller *c, Model *m) : model_(m), controller_(c), hand_(true,10), table_(true,10), gameBox_(false,10) { nullCardPixbuf_ = deck_.getNullCardImage(); // Sets some properties of the window. set_title( "Straights UI" ); //Gtk::JUSTIFY_CENTER set_default_size( 750, 500 ); add ( gameBox_ ); Gtk::HBox* menu = Gtk::manage( new Gtk::HBox() ); // Make the start button startButton_.signal_clicked().connect( sigc::mem_fun( *this, &View::on_start_game_clicked_) ); startButton_.add_label("Start New Game"); endButton_.signal_clicked().connect( sigc::mem_fun( *this, &View::on_end_game_clicked_) ); endButton_.add_label("End Current Game"); menu->pack_start( startButton_); menu->pack_start( endButton_); gameBox_.pack_start( *menu, Gtk::PACK_SHRINK ); Gtk::VBox* cardArea = Gtk::manage( new Gtk::VBox() ); Gtk::Label *cardLabel = new Gtk::Label( "Cards on the table:" ); cardLabel->set_alignment( Gtk::ALIGN_LEFT, Gtk::ALIGN_TOP ); cardArea->pack_start( *cardLabel); gameBox_.pack_start( *cardArea, Gtk::PACK_SHRINK ); cardLabel->show(); for (int j = 0; j < 4; j++) { for (int i = 0; i < 13; i++ ) { cards_[j][i] = new Gtk::Image( nullCardPixbuf_ ); suit_[j].pack_start( *cards_[j][i] ); } table_.pack_start( suit_[j], Gtk::PACK_SHRINK, true, 0 ); } gameBox_.pack_start( table_, Gtk::PACK_SHRINK, true, 0 ); /* for (int i = 0; i < 4; i++ ) { pScore_.push_back(0); pDiscards_.push_back(0); } */ for ( int i = 0; i < 4; i++ ) { Gtk::VBox* playerArea = Gtk::manage( new Gtk::VBox(true, 0 ) ); playerRagequit_[i].set_label( "Rage!" ); playerRagequit_[i].signal_clicked().connect( sigc::bind(sigc::mem_fun( *this, &View::on_rage_clicked_ ), i) ); stringstream temp_i; temp_i << (i+1); Gtk::Label *playerLabel = new Gtk::Label( "Player " + temp_i.str() ); playerRagequit_[i].set_sensitive(false); playerLabel->set_alignment( Gtk::ALIGN_LEFT, Gtk::ALIGN_TOP ); //stringstream temp_score; temp_score << pScore_[i]; pScore_.push_back(0); playerScore_[i] = new Gtk::Label( "0 points" ); //stringstream temp_disc; temp_disc << pDiscards_[i]; pDiscards_.push_back(0); playerDiscards_[i] = new Gtk::Label( " 0 discards" ); playerArea->pack_start( *playerLabel ); playerArea->pack_start( playerRagequit_[i] ); playerArea->pack_start( *playerScore_[i] ); playerArea->pack_start( *playerDiscards_[i] ); playerFrame_[i].add( *playerArea ); player_.pack_start( playerFrame_[i]); } gameBox_.pack_start( player_, Gtk::PACK_SHRINK, true, 0 ); Gtk::VBox* handArea = Gtk::manage( new Gtk::VBox() ); Gtk::Label *handLabel = new Gtk::Label( "Your Hand:" ); handLabel->set_alignment( Gtk::ALIGN_LEFT, Gtk::ALIGN_TOP ); handArea->pack_start( *handLabel); gameBox_.pack_start( *handArea, Gtk::PACK_SHRINK ); handLabel->show(); //Display empty 13 cards for (int i = 0; i < 13; i++) { Gtk::Image *image = Gtk::manage( new Gtk::Image ( nullCardPixbuf_ ) ); currentHand_[i].set_image( *image ); currentHand_[i].set_sensitive(false); currentHand_[i].signal_clicked().connect( sigc::bind(sigc::mem_fun( *this, &View::on_card_clicked_ ), i) ); hand_.pack_start( currentHand_[i], Gtk::PACK_SHRINK, true, 0 ); } gameBox_.pack_start( hand_, Gtk::PACK_SHRINK); Gtk::VBox* playerLegalCardsArea = Gtk::manage( new Gtk::VBox() ); playerLegalCards_ = new Gtk::Label( "" ); playerLegalCards_->set_padding ( 10, 10 ); playerLegalCardsArea->pack_start( *playerLegalCards_ ); gameBox_.pack_start( *playerLegalCardsArea ); Gtk::VBox* playerTurnArea = Gtk::manage( new Gtk::VBox() ); playerTurn_ = new Gtk::Label( "" ); // playerTurn_->override_color(Gdk::RGBA("red")); playerTurn_->set_padding ( 15, 15 ); playerTurnArea->pack_start( *playerTurn_ ); gameBox_.pack_start( *playerTurnArea ); // Register view as observer of model model_->subscribe(this); // The final step is to display the buttons (they display themselves) show_all(); }
sessionSelectionDialog::sessionSelectionDialog(std::string const& _title, t_longList const& _sessionIDs, t_strList const& _sessionsNames, bool const _disableSelection) : disableSelection_(_disableSelection), selected(false), session(Command::INVALID_SESSION), cbt(0) { Gtk::Button* cancelbutton = Gtk::manage(new class Gtk::Button(Gtk::StockID("gtk-cancel"))); Gtk::Button* okbutton = Gtk::manage(new class Gtk::Button(Gtk::StockID("gtk-ok"))); Gtk::Label* label = Gtk::manage(new class Gtk::Label(_title)); cbt = Gtk::manage(new class Gtk::ComboBoxText()); Gtk::VBox* vbox = Gtk::manage(new class Gtk::VBox(false, 0)); cancelbutton->set_flags(Gtk::CAN_FOCUS); cancelbutton->set_relief(Gtk::RELIEF_NORMAL); okbutton->set_flags(Gtk::CAN_FOCUS); okbutton->set_relief(Gtk::RELIEF_NORMAL); get_action_area()->property_layout_style().set_value(Gtk::BUTTONBOX_END); label->set_alignment(0.5,0.5); label->set_padding(0,0); label->set_justify(Gtk::JUSTIFY_LEFT); label->set_line_wrap(false); label->set_use_markup(false); label->set_selectable(false); vbox->pack_start(*label, Gtk::PACK_SHRINK, 0); vbox->pack_start(*cbt); get_vbox()->set_homogeneous(false); get_vbox()->set_spacing(0); get_vbox()->pack_start(*vbox); set_title(_title); set_modal(true); property_window_position().set_value(Gtk::WIN_POS_NONE); set_resizable(true); property_destroy_with_parent().set_value(false); set_has_separator(true); add_action_widget(*cancelbutton, -6); add_action_widget(*okbutton, -5); /// Fill the combobox with session ids. t_strListCI sessionNameIter = _sessionsNames.begin(); for (t_longListCI sessionIter = _sessionIDs.begin(); sessionIter != _sessionIDs.end(); sessionIter++) { std::string session_descr = convertToString<t_long>(*sessionIter); session_descr += " ("; session_descr += *sessionNameIter; session_descr += ")"; cbt->append_text(session_descr); sessionNameIter++; } // Select the first session id. cbt->set_active(0); if (!disableSelection_) { cancelbutton->show(); } okbutton->show(); label->show(); cbt->show(); vbox->show(); show(); // Connect buttons to handlers. okbutton->signal_clicked().connect(sigc::mem_fun(*this, &sessionSelectionDialog::on_ok_clicked)); if (!disableSelection_) { cancelbutton->signal_clicked().connect(sigc::mem_fun(*this, &sessionSelectionDialog::on_cancel_clicked)); } }
aboutDialog::aboutDialog() { Gtk::Dialog *ad = this; Gtk::Button *okbutton = Gtk::manage(new class Gtk::Button("ok")); Gtk::Label *aboutLabel = Gtk::manage(new class Gtk::Label( "About " + GPD->sGUI_CLIENT() + " " + GPD->sVERSION() + ", build " + GPD->sBUILD() )); Gtk::TextView *textview = Gtk::manage(new class Gtk::TextView()); Gtk::ScrolledWindow *scrolledwindow = Gtk::manage(new class Gtk::ScrolledWindow()); Gtk::VBox *vbox = Gtk::manage(new class Gtk::VBox(false, 0)); okbutton->set_flags(Gtk::CAN_FOCUS); okbutton->set_relief(Gtk::RELIEF_NORMAL); ad->get_action_area()->property_layout_style().set_value(Gtk::BUTTONBOX_END); ad->set_default_size(300, 200); aboutLabel->set_alignment(0.5,0.5); aboutLabel->set_padding(0,0); aboutLabel->set_justify(Gtk::JUSTIFY_LEFT); aboutLabel->set_line_wrap(false); aboutLabel->set_use_markup(false); aboutLabel->set_selectable(false); textview->set_flags(Gtk::CAN_FOCUS); textview->set_editable(true); textview->set_cursor_visible(true); textview->set_pixels_above_lines(0); textview->set_pixels_below_lines(0); textview->set_pixels_inside_wrap(0); textview->set_left_margin(0); textview->set_right_margin(0); textview->set_indent(0); textview->set_wrap_mode(Gtk::WRAP_NONE); textview->set_justification(Gtk::JUSTIFY_LEFT); using namespace std; string text; text += "btg Copyright (C) 2005 Michael Wojciechowski."; text += GPD->sNEWLINE(); text += "This program is free software; you can redistribute it and/or modify"; text += GPD->sNEWLINE(); text += "it under the terms of the GNU General Public License as published by "; text += GPD->sNEWLINE(); text += "the Free Software Foundation; either version 2 of the License, or "; text += GPD->sNEWLINE(); text += "(at your option) any later version."; text += GPD->sNEWLINE(); text += "This program is distributed in the hope that it will be useful, "; text += GPD->sNEWLINE(); text += "but WITHOUT ANY WARRANTY; without even the implied warranty of "; text += GPD->sNEWLINE(); text += "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the "; text += GPD->sNEWLINE(); text += "GNU General Public License for more details."; text += GPD->sNEWLINE(); text += "You should have received a copy of the GNU General Public License "; text += GPD->sNEWLINE(); text += "along with this program; if not, write to the Free Software "; text += GPD->sNEWLINE(); text += "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA"; text += GPD->sNEWLINE(); textview->get_buffer()->set_text(text); scrolledwindow->set_flags(Gtk::CAN_FOCUS); scrolledwindow->set_shadow_type(Gtk::SHADOW_IN); scrolledwindow->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); scrolledwindow->property_window_placement().set_value(Gtk::CORNER_TOP_LEFT); scrolledwindow->add(*textview); vbox->pack_start(*aboutLabel, Gtk::PACK_SHRINK, 0); vbox->pack_start(*scrolledwindow); ad->get_vbox()->set_homogeneous(false); ad->get_vbox()->set_spacing(0); ad->get_vbox()->pack_start(*vbox); //ad->set_title( "About " + GPD->sGUI_CLIENT() + " " + GPD->sVERSION() ); ad->set_title( GPD->sGUI_CLIENT() + " " + GPD->sVERSION() + " / About" ); ad->set_modal(true); ad->property_window_position().set_value(Gtk::WIN_POS_CENTER); ad->set_resizable(true); ad->property_destroy_with_parent().set_value(false); ad->set_has_separator(true); ad->add_action_widget(*okbutton, -5); okbutton->show(); aboutLabel->show(); textview->show(); scrolledwindow->show(); vbox->show(); okbutton->signal_clicked().connect(sigc::mem_fun(*this, &aboutDialog::on_ok_clicked)); // ad->show(); }
MEItemInfoWidget::MEItemInfoWidget() : MEAbstractItemInfoWidget("General") { Gtk::Table* table = manage(new Gtk::Table(5, 2)); // Item type Gtk::Label* label = manage(new Gtk::Label("Item type")); label->set_alignment(XALIGN, YALIGN); table->attach(*label, 0, 1, 0, 1, Gtk::FILL, Gtk::FILL); m_itemTypeVal = manage(new Gtk::Entry()); table->attach(*m_itemTypeVal, 1, 2, 0, 1, Gtk::EXPAND | Gtk::FILL, Gtk::FILL); // ID label = manage(new Gtk::Label("Item ID")); label->set_alignment(XALIGN, YALIGN); table->attach(*label, 0, 1, 1, 2, Gtk::FILL, Gtk::FILL); m_itemIDVal = manage(new Gtk::Entry()); table->attach(*m_itemIDVal, 1, 2, 1, 2, Gtk::EXPAND | Gtk::FILL, Gtk::FILL); /* Groups */ label = manage(new Gtk::Label("Groups")); label->set_alignment(XALIGN, YALIGN); //table->attach(*label, 0, 1, 3, 4, FIXED_OPT, FIXED_OPT); // Create scrolled window and add viewer Gtk::ScrolledWindow* scrolledWin = manage(new Gtk::ScrolledWindow()); scrolledWin->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); scrolledWin->set_shadow_type(Gtk::SHADOW_OUT); scrolledWin->add(m_treeViewGroups); table->attach(*scrolledWin, 1, 2, 3, 4, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL); // Create ListStore and add to treeViewer. m_listStoreGroups = Gtk::ListStore::create(m_columnsGroups); m_treeViewGroups.set_model(m_listStoreGroups); // Create selection object m_selectionGroups = m_treeViewGroups.get_selection(); // Add columns to the treeviewer m_treeViewGroups.append_column("Pos", m_columnsGroups.m_pos); m_treeViewGroups.append_column("ID", m_columnsGroups.m_ID); m_treeViewGroups.append_column("Type", m_columnsGroups.m_type); m_treeViewGroups.append_column("Name", m_columnsGroups.m_name); // Set column widths m_treeViewGroups.get_column(0)->set_min_width(30); m_treeViewGroups.get_column(1)->set_min_width(60); m_treeViewGroups.get_column(2)->set_min_width(60); m_treeViewGroups.get_column(3)->set_min_width(60); // Add a button to be able to select group Gtk::Box* tmpBox1 = manage(new Gtk::VBox()); tmpBox1->pack_start(*label); Gtk::Button* tmpButton1=manage(new Gtk::Button("Select")); tmpBox1->pack_start(*tmpButton1, false, false); tmpButton1->signal_clicked().connect( sigc::mem_fun(*this, &MEItemInfoWidget::groupClicked)); table->attach(*tmpBox1, 0, 1, 3, 4, Gtk::FILL, Gtk::FILL | Gtk::EXPAND); m_listStoreGroups = Gtk::ListStore::create(m_columnsGroups); m_treeViewGroups.set_model(m_listStoreGroups); /* Names */ // Label label = manage(new Gtk::Label("Names")); label->set_alignment(XALIGN, YALIGN); #ifdef MAP_EDITABLE // Add a button to be able to edit the names of this item Gtk::Box* tmpBox = manage(new Gtk::VBox()); tmpBox->pack_start(*label); Gtk::Button* tmpButton=manage(new Gtk::Button("Edit")); //tmpButton->set_usize(20,12); tmpBox->pack_start(*tmpButton, false, false); tmpButton->signal_clicked().connect( sigc::mem_fun(*this, &MEItemInfoWidget::editNamePressed)); table->attach(*tmpBox, 0, 1, 4, 5, Gtk::FILL, Gtk::FILL | Gtk::EXPAND); #else table->attach(*label, 0, 1, 4, 5, Gtk::FILL, Gtk::FILL | Gtk::EXPAND); #endif // MAP_EDITABLE // Create scrollwindow and add viewer scrolledWin = manage(new Gtk::ScrolledWindow()); scrolledWin->set_shadow_type(Gtk::SHADOW_OUT); scrolledWin->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); scrolledWin->add(m_treeViewNames); table->attach(*scrolledWin, 1, 2, 4, 5, Gtk::FILL, Gtk::FILL); // Create ListStore and add to TreeViewer m_listStoreNames = Gtk::ListStore::create(m_ColumnsNames); m_treeViewNames.set_model(m_listStoreNames); // Create selection object m_selectionNames = m_treeViewNames.get_selection(); // Add columns to TreeViewer m_treeViewNames.append_column("Names", m_ColumnsNames.m_name); m_treeViewNames.set_headers_visible(false); //m_itemIDVal->set_state(GTK_STATE_INSENSITIVE); m_itemIDVal->set_editable(false); //m_itemTypeVal->set_state(GTK_STATE_INSENSITIVE); m_itemTypeVal->set_editable(false); #ifdef MAP_EDITABLE m_selectionNames->set_mode(Gtk::SELECTION_SINGLE); #else m_selectionNames->set_mode(Gtk::SELECTION_NONE); #endif // Add the table to this frame add(*table); }
MEStreetSegmentItemInfoWidget::MEStreetSegmentItemInfoWidget() : MEAbstractItemInfoWidget("SSI") { // Table with 3 rows and 2 columns Gtk::Table* table = manage(new Gtk::Table(3, 2)); Gtk::Label* label = NULL; Gtk::Box* box = NULL; Gtk::Adjustment* adj = NULL; // Road class + road condition box = manage(new Gtk::HBox()); label = manage(new Gtk::Label("Road class")); label->set_alignment(XALIGN, YALIGN); box->pack_start(*label, true, true); m_roadClassVal = manage(new Gtk::Entry()); m_roadClassVal->set_size_request(100, 18); box->pack_start(*m_roadClassVal, true, true); label = manage(new Gtk::Label("Road cond")); label->set_alignment(XALIGN, YALIGN); box->pack_start(*label, true, true); m_roadConditionVal = manage(new Gtk::Entry()); m_roadConditionVal->set_size_request(100, 18); box->pack_start(*m_roadConditionVal, true, true); table->attach(*box, 0, 2, 0, 1, Gtk::FILL | Gtk::EXPAND, Gtk::FILL); // House numbers label = manage(new Gtk::Label("Nbr L/R: type")); label->set_alignment(XALIGN, YALIGN); // Not sure if parameters correspond to old AttachOptions. //table->attach(*label, 0, 1, 1, 2, FIXED_OPT, FIXED_OPT); table->attach(*label, 0, 1, 1, 2, Gtk::FILL, Gtk::FILL); box = manage(new Gtk::HBox()); adj = manage(new Gtk::Adjustment(0, 0, MAX_UINT16)); m_houseNumberValLS = manage(new Gtk::SpinButton(*adj)); m_houseNumberValLS->set_numeric(true); m_houseNumberValLS->set_size_request(60, 18); box->pack_start(*m_houseNumberValLS, true, true); label = manage(new Gtk::Label("-")); box->pack_start(*label, false, false); adj = manage(new Gtk::Adjustment(0, 0, MAX_UINT16)); m_houseNumberValLE = manage(new Gtk::SpinButton(*adj)); m_houseNumberValLE->set_numeric(true); m_houseNumberValLE->set_size_request(60, 18); box->pack_start(*m_houseNumberValLE); label = manage(new Gtk::Label(" / ")); box->pack_start(*label, false, false); adj = manage(new Gtk::Adjustment(0, 0, MAX_UINT16)); m_houseNumberValRS = manage(new Gtk::SpinButton(*adj)); m_houseNumberValRS->set_numeric(true); m_houseNumberValRS->set_size_request(60, 18); box->pack_start(*m_houseNumberValRS); label = manage(new Gtk::Label("-")); box->pack_start(*label, false, false); adj = manage(new Gtk::Adjustment(0, 0, MAX_UINT16)); m_houseNumberValRE = manage(new Gtk::SpinButton(*adj)); m_houseNumberValRE->set_numeric(true); m_houseNumberValRE->set_size_request(60, 18); box->pack_start(*m_houseNumberValRE); label = manage(new Gtk::Label(":")); box->pack_start(*label, true, true); // Housenumber-type Gtk::Combo* tmpCombo = manage(new Gtk::Combo()); m_houseNumberTypeVal = tmpCombo->get_entry(); list<string> houseNbrTypeList; for (unsigned int i=0; i<5; i++) { // Please change to < "invalidStreetNumberType" char tmpStr[8]; sprintf(tmpStr, "%u", i); houseNbrTypeList.push_back(tmpStr); } tmpCombo->set_popdown_strings(houseNbrTypeList); tmpCombo->set_size_request(40,18); box->pack_start(*tmpCombo); table->attach(*box, 1, 2, 1, 2, Gtk::EXPAND, Gtk::FILL); // Street segment item attributes box = manage(new Gtk::HBox()); // Ramp? m_rampVal = manage(new Gtk::CheckButton("ramp")); label = dynamic_cast<Gtk::Label*>(m_rampVal->get_child()); if(label != NULL) label->set_alignment(XALIGN, 0.5); box->pack_start(*m_rampVal); // Roundabout m_roundaboutVal = manage(new Gtk::CheckButton("roundabout")); label = dynamic_cast<Gtk::Label*>(m_roundaboutVal->get_child()); if(label != NULL) label->set_alignment(XALIGN, 0.5); box->pack_start(*m_roundaboutVal); // Roundaboutish m_roundaboutishVal = manage(new Gtk::CheckButton("rb_ish")); label = dynamic_cast<Gtk::Label*>(m_roundaboutishVal->get_child()); if(label != NULL) label->set_alignment(XALIGN, 0.5); box->pack_start(*m_roundaboutishVal); // Multi dig m_multidigVal = manage(new Gtk::CheckButton("multi dig")); label = dynamic_cast<Gtk::Label*>(m_multidigVal->get_child()); if(label != NULL) label->set_alignment(XALIGN, 0.5); box->pack_start(*m_multidigVal); // Controlled access m_controlledAccessVal = manage(new Gtk::CheckButton("ctrl acc")); label = dynamic_cast<Gtk::Label*>(m_controlledAccessVal->get_child()); if(label != NULL) label->set_alignment(XALIGN, 0.5); box->pack_start(*m_controlledAccessVal); table->attach(*box, 0, 2, 2, 3, Gtk::FILL | Gtk::EXPAND, Gtk::FILL); // Set editable m_roadClassVal->set_state(Gtk::STATE_INSENSITIVE); m_roadConditionVal->set_state(Gtk::STATE_INSENSITIVE); #ifdef MAP_EDITABLE m_houseNumberValLS->set_state(Gtk::STATE_NORMAL); m_houseNumberValLE->set_state(Gtk::STATE_NORMAL); m_houseNumberValRS->set_state(Gtk::STATE_NORMAL); m_houseNumberValRE->set_state(Gtk::STATE_NORMAL); m_houseNumberTypeVal->set_state(Gtk::STATE_NORMAL); m_rampVal->set_state(Gtk::STATE_NORMAL); m_roundaboutVal->set_state(Gtk::STATE_NORMAL); m_roundaboutishVal->set_state(Gtk::STATE_NORMAL); m_multidigVal->set_state(Gtk::STATE_NORMAL); #else m_houseNumberValLS->set_state(Gtk::STATE_INSENSITIVE); m_houseNumberValLE->set_state(Gtk::STATE_INSENSITIVE); m_houseNumberValRS->set_state(Gtk::STATE_INSENSITIVE); m_houseNumberValRE->set_state(Gtk::STATE_INSENSITIVE); m_houseNumberTypeVal->set_state(Gtk::STATE_INSENSITIVE); m_rampVal->set_state(Gtk::STATE_INSENSITIVE); m_roundaboutVal->set_state(Gtk::STATE_INSENSITIVE); m_roundaboutishVal->set_state(Gtk::STATE_INSENSITIVE); m_multidigVal->set_state(Gtk::STATE_INSENSITIVE); m_controlledAccessVal->set_state(Gtk::STATE_INSENSITIVE); #endif // Add the table to this frame add(*table); }
RenderSettings::RenderSettings(Gtk::Window& parent, etl::handle<synfigapp::CanvasInterface> canvas_interface): Gtk::Dialog(_("Render Settings"),parent,false,true), canvas_interface_(canvas_interface), adjustment_quality(3,0,9), entry_quality(adjustment_quality,1,0), adjustment_antialias(1,1,31), entry_antialias(adjustment_antialias,1,0), toggle_single_frame(_("Render _current frame only"), true), tparam("mpeg4",200) { tparam.sequence_separator=App::sequence_separator; widget_rend_desc.show(); widget_rend_desc.signal_changed().connect(sigc::mem_fun(*this,&studio::RenderSettings::on_rend_desc_changed)); widget_rend_desc.set_rend_desc(canvas_interface_->get_canvas()->rend_desc()); canvas_interface->signal_rend_desc_changed().connect(sigc::mem_fun(*this,&RenderSettings::on_rend_desc_changed)); menu_target=manage(new class Gtk::Menu()); menu_target->items().push_back(Gtk::Menu_Helpers::MenuElem(_("Auto"), sigc::bind(sigc::mem_fun(*this,&RenderSettings::set_target),String()) )); synfig::Target::Book::iterator iter; synfig::Target::Book book(synfig::Target::book()); for(iter=book.begin();iter!=book.end();iter++) { menu_target->items().push_back(Gtk::Menu_Helpers::MenuElem(iter->first, sigc::bind(sigc::mem_fun(*this,&RenderSettings::set_target),iter->first) )); } optionmenu_target.set_menu(*menu_target); optionmenu_target.set_history(0); Gtk::Alignment *dialogPadding = manage(new Gtk::Alignment(0, 0, 1, 1)); dialogPadding->set_padding(12, 12, 12, 12); get_vbox()->pack_start(*dialogPadding, false, false, 0); Gtk::VBox *dialogBox = manage(new Gtk::VBox(false, 12)); dialogPadding->add(*dialogBox); Gtk::Button *choose_button(manage(new class Gtk::Button(Gtk::StockID(_("Choose..."))))); choose_button->show(); choose_button->signal_clicked().connect(sigc::mem_fun(*this, &studio::RenderSettings::on_choose_pressed)); tparam_button=manage(new class Gtk::Button(Gtk::StockID(_("Parameters...")))); tparam_button->show(); tparam_button->set_sensitive(false); tparam_button->signal_clicked().connect(sigc::mem_fun(*this, &studio::RenderSettings::on_targetparam_pressed)); Gtk::Frame *target_frame=manage(new Gtk::Frame(_("Target"))); target_frame->set_shadow_type(Gtk::SHADOW_NONE); ((Gtk::Label *) target_frame->get_label_widget())->set_markup(_("<b>Target</b>")); dialogBox->pack_start(*target_frame); Gtk::Alignment *targetPadding = manage(new Gtk::Alignment(0, 0, 1, 1)); targetPadding->set_padding(6, 0, 24, 0); target_frame->add(*targetPadding); Gtk::Table *target_table = manage(new Gtk::Table(2, 3, false)); target_table->set_row_spacings(6); target_table->set_col_spacings(12); targetPadding->add(*target_table); Gtk::Label *filenameLabel = manage(new Gtk::Label(_("_Filename"), true)); filenameLabel->set_alignment(0, 0.5); filenameLabel->set_mnemonic_widget(entry_filename); target_table->attach(*filenameLabel, 0, 1, 0, 1, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); target_table->attach(entry_filename, 1, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); target_table->attach(*choose_button, 2, 3, 0, 1, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); Gtk::Label *targetLabel = manage(new Gtk::Label(_("_Target"), true)); targetLabel->set_alignment(0, 0.5); targetLabel->set_mnemonic_widget(optionmenu_target); target_table->attach(*targetLabel, 0, 1, 1, 2, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); target_table->attach(optionmenu_target, 1, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); target_table->attach(*tparam_button, 2, 3, 1, 2, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); toggle_single_frame.signal_toggled().connect(sigc::mem_fun(*this, &studio::RenderSettings::on_single_frame_toggle)); Gtk::Frame *settings_frame=manage(new Gtk::Frame(_("Settings"))); settings_frame->set_shadow_type(Gtk::SHADOW_NONE); ((Gtk::Label *) settings_frame->get_label_widget())->set_markup(_("<b>Settings</b>")); dialogBox->pack_start(*settings_frame); Gtk::Alignment *settingsPadding = manage(new Gtk::Alignment(0, 0, 1, 1)); settingsPadding->set_padding(6, 0, 24, 0); settings_frame->add(*settingsPadding); Gtk::Table *settings_table=manage(new Gtk::Table(2,2,false)); settings_table->set_row_spacings(6); settings_table->set_col_spacings(12); settingsPadding->add(*settings_table); Gtk::Label *qualityLabel = manage(new Gtk::Label(_("_Quality"), true)); qualityLabel->set_alignment(0, 0.5); qualityLabel->set_mnemonic_widget(entry_quality); settings_table->attach(*qualityLabel, 0, 1, 0, 1, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); settings_table->attach(entry_quality, 1, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); Gtk::Label *antiAliasLabel = manage(new Gtk::Label(_("_Anti-Aliasing"), true)); antiAliasLabel->set_alignment(0, 0.5); antiAliasLabel->set_mnemonic_widget(entry_antialias); settings_table->attach(*antiAliasLabel, 0, 1, 1, 2, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); settings_table->attach(entry_antialias, 1, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); toggle_single_frame.set_alignment(0, 0.5); settings_table->attach(toggle_single_frame, 0, 2, 2, 3, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); dialogBox->pack_start(widget_rend_desc); Gtk::Button *render_button(manage(new class Gtk::Button(Gtk::StockID(_("Render"))))); render_button->show(); add_action_widget(*render_button,1); render_button->signal_clicked().connect(sigc::mem_fun(*this, &studio::RenderSettings::on_render_pressed)); Gtk::Button *cancel_button(manage(new class Gtk::Button(Gtk::StockID("gtk-cancel")))); cancel_button->show(); add_action_widget(*cancel_button,0); cancel_button->signal_clicked().connect(sigc::mem_fun(*this, &studio::RenderSettings::on_cancel_pressed)); //set_default_response(1); set_title(_("Render Settings")+String(" - ")+canvas_interface_->get_canvas()->get_name()); toggle_single_frame.set_active(false); widget_rend_desc.enable_time_section(); set_entry_filename(); get_vbox()->show_all(); }