WindowLevelToolButton::WindowLevelToolButton() { Gtk::HBox* hbox = manage(new Gtk::HBox); Gtk::Image* image = manage(new Gtk::Image); Glib::RefPtr<Gdk::Pixbuf> p = Aeskulap::IconFactory::load_from_file("cursor_windowlevel.png"); if(p) { image->set(p); } image->show(); //image->set_padding(6, 0); m_invert = manage(new Gtk::ToggleToolButton(*image)); m_invert->set_size_request(32, 32); m_invert->set_tooltip(m_tooltips, gettext("Invert windowlevel")); m_invert->show(); m_invert->signal_toggled().connect(sigc::mem_fun(*this, &WindowLevelToolButton::on_invert)); Gtk::VBox* vbox = manage(new Gtk::VBox); vbox->pack_start(*m_invert, true, false); vbox->show(); hbox->pack_start(*vbox, Gtk::PACK_SHRINK); vbox = manage(new Gtk::VBox); vbox->show(); m_combo = manage(new Gtk::ComboBoxText); m_combo->set_size_request(-1, 32); m_combo->show(); m_combo->signal_changed().connect(sigc::mem_fun(*this, &WindowLevelToolButton::on_changed)); vbox->pack_start(*m_combo, true, false); hbox->pack_start(*vbox, Gtk::PACK_SHRINK); vbox = manage(new Gtk::VBox); vbox->show(); image = manage(new Gtk::Image(Gtk::Stock::ADD, Gtk::ICON_SIZE_SMALL_TOOLBAR)); image->show(); Gtk::ToolButton* btn = manage(new Gtk::ToolButton(*image)); btn->set_size_request(32, 32); btn->set_tooltip(m_tooltips, gettext("Add new windowlevel preset")); btn->show(); btn->signal_clicked().connect(sigc::mem_fun(*this, &WindowLevelToolButton::on_add)); vbox->pack_start(*btn, true, false); hbox->pack_start(*vbox, true,false); hbox->show(); add(*hbox); update(); m_widgetlist.insert(this); }
//------------------------------------------------------------------------------ void DbMySQLTableEditor::decorate_object_editor() { if (is_editing_live_object()) { PluginEditorBase::decorate_object_editor(); Gtk::HBox* header_part = 0; xml()->get_widget("header_part", header_part); if (header_part->get_parent() == NULL) { decorator_control()->pack_start(*header_part, false, true); decorator_control()->reorder_child(*header_part, 0); Gtk::Button *hide_button = 0; xml()->get_widget("hide_button", hide_button); Gtk::Image* hide_image = Gtk::manage(new Gtk::Image(ImageCache::get_instance()->image_from_filename("EditorExpanded.png", false))); Gtk::Image* show_image = Gtk::manage(new Gtk::Image(ImageCache::get_instance()->image_from_filename("EditorCollapsed.png", false))); hide_image->show(); Gtk::VBox* box = Gtk::manage(new Gtk::VBox()); box->pack_start(*hide_image, false, false); box->pack_start(*show_image, false, false); box->show(); show_image->hide(); hide_button->set_image(*box); hide_button->signal_clicked().connect(sigc::mem_fun(this, &DbMySQLTableEditor::toggle_header_part)); toggle_header_part(); } } }
MainWindow::MainWindow() { set_default_size(600, 400); toggling_show_menubar = App::enable_mainwin_menubar; main_dock_book_ = manage(new DockBook()); main_dock_book_->allow_empty = true; main_dock_book_->show(); class Bin : public Gtk::Bin { public: Bin() { } protected: void on_size_allocate(Gtk::Allocation &allocation) { Gtk::Bin::on_size_allocate(allocation); if (get_child() != NULL) get_child()->size_allocate(allocation); } }; bin_ = manage((Gtk::Bin*)new Bin()); bin_->add(*main_dock_book_); bin_->show(); Gtk::VBox *vbox = manage(new Gtk::VBox()); Gtk::Widget* menubar = App::ui_manager()->get_widget("/menubar-main"); if (menubar != NULL) { vbox->pack_start(*menubar, false, false, 0); } vbox->pack_end(*bin_, true, true, 0); vbox->show(); if(!App::enable_mainwin_menubar) menubar->hide(); add(*vbox); add_accel_group(App::ui_manager()->get_accel_group()); init_menus(); window_action_group = Gtk::ActionGroup::create("mainwindow-recentfiles"); App::ui_manager()->insert_action_group(window_action_group); App::signal_recent_files_changed().connect( sigc::mem_fun(*this, &MainWindow::on_recent_files_changed) ); signal_delete_event().connect( sigc::ptr_fun(App::shutdown_request) ); App::dock_manager->signal_dockable_registered().connect( sigc::mem_fun(*this,&MainWindow::on_dockable_registered) ); App::dock_manager->signal_dockable_unregistered().connect( sigc::mem_fun(*this,&MainWindow::on_dockable_unregistered) ); GRAB_HINT_DATA("mainwindow"); }
Gtk::VBox * Extension::get_params_widget(void) { Gtk::VBox * retval = Gtk::manage(new Gtk::VBox()); Gtk::Widget * content = Gtk::manage(new Gtk::Label("Params")); retval->pack_start(*content, true, true, 5); content->show(); retval->show(); return retval; }
BilateralBlurWrapper::BilateralBlurWrapper(): _radius(1), _zdiff(0.0005) { _filter.build(); //Build the controls { Gtk::VBox* labelVbox = manage(new Gtk::VBox); Gtk::Label* Label1 = manage(new Gtk::Label("Radius")); Gtk::Label* Label2 = manage(new Gtk::Label("Depth Cutoff")); labelVbox->add(*Label1); Label1->show(); labelVbox->add(*Label2); Label2->show(); _optlist.add(*labelVbox); labelVbox->show(); } { Gtk::VBox* sliderVbox = manage(new Gtk::VBox); sliderVbox->add(_radiusSlider); sliderVbox->add(_zdiffSlider); _optlist.add(*sliderVbox); sliderVbox->show(); } _optlist.show(); _radiusSlider.set_range(1,20); _radiusSlider.set_increments(1,1); _radiusSlider.set_digits(0); _radiusSlider.set_value(_radius); _radiusSlider.signal_value_changed() .connect(sigc::mem_fun(this, &BilateralBlurWrapper::settingsCallback)); _radiusSlider.show(); _zdiffSlider.set_increments(0.0001,0.0001); _zdiffSlider.set_range(0.0001, 0.005); _zdiffSlider.set_digits(6); _zdiffSlider.set_value(_zdiff); _zdiffSlider.signal_value_changed() .connect(sigc::mem_fun(this, &BilateralBlurWrapper::settingsCallback)); _zdiffSlider.show(); }
DOFFilter(): _focalLength(0.0f), _focalWidth(1.5f) { _filter.build(); //Build the controls { Gtk::VBox* labelVbox = manage(new Gtk::VBox); Gtk::Label* Label1 = manage(new Gtk::Label("Focal Length (0=auto)")); Gtk::Label* Label2 = manage(new Gtk::Label("Focal Width")); labelVbox->add(*Label1); Label1->show(); labelVbox->add(*Label2); Label2->show(); _optlist.add(*labelVbox); labelVbox->show(); } { Gtk::VBox* sliderVbox = manage(new Gtk::VBox); sliderVbox->add(_focalLengthSlider); sliderVbox->add(_focalWidthSlider); _optlist.add(*sliderVbox); sliderVbox->show(); } _optlist.show(); _focalLengthSlider.set_text("0.0"); _focalWidthSlider.set_text(boost::lexical_cast<std::string>(_focalWidth)); _focalLengthSlider.show(); _focalWidthSlider.show(); _focalLengthSlider.signal_changed() .connect(sigc::bind(&magnet::gtk::forceNumericEntry, &_focalLengthSlider)); _focalWidthSlider.signal_changed() .connect(sigc::bind(&magnet::gtk::forceNumericEntry, &_focalWidthSlider)); _focalLengthSlider.signal_activate() .connect(sigc::mem_fun(this, &DOFFilter::settingsCallback)); _focalWidthSlider.signal_activate() .connect(sigc::mem_fun(this, &DOFFilter::settingsCallback)); }
DOFFilter(): _focalLength(0.25f), _focalWidth(0.01f) { _filter.build(); //Build the controls { Gtk::VBox* labelVbox = manage(new Gtk::VBox); Gtk::Label* Label1 = manage(new Gtk::Label("Focal Length (0=auto)")); Gtk::Label* Label2 = manage(new Gtk::Label("Focal Width")); labelVbox->add(*Label1); Label1->show(); labelVbox->add(*Label2); Label2->show(); _optlist.add(*labelVbox); labelVbox->show(); } { Gtk::VBox* sliderVbox = manage(new Gtk::VBox); sliderVbox->add(_focalLengthSlider); sliderVbox->add(_focalWidthSlider); _optlist.add(*sliderVbox); sliderVbox->show(); } _optlist.show(); _focalLengthSlider.set_range(0, 1); _focalLengthSlider.set_increments(0.01,0.001); _focalLengthSlider.set_digits(4); _focalLengthSlider.set_value(_focalLength); _focalLengthSlider.signal_value_changed().connect(sigc::mem_fun(this, &DOFFilter::settingsCallback)); _focalLengthSlider.show(); _focalWidthSlider.set_range(0, 1); _focalWidthSlider.set_increments(0.001,0.001); _focalWidthSlider.set_digits(4); _focalWidthSlider.set_value(_focalWidth); _focalWidthSlider.signal_value_changed().connect(sigc::mem_fun(this, &DOFFilter::settingsCallback)); _focalWidthSlider.show(); }
Viewer(): actions(Gtk::ActionGroup::create("nimrod")) { Glib::ustring title("Nimrod Alto viewer"); title += " © CoReNum"; set_title(title); actions->add(Gtk::Action::create("nimrod-new", Gtk::Stock::NEW), sigc::mem_fun(this, &Viewer::new_project)); actions->add(Gtk::Action::create("nimrod-open", Gtk::Stock::OPEN), sigc::mem_fun(this, &Viewer::open_project)); ui_manager->insert_action_group(actions); ui_manager->insert_action_group(alto.get_image_actions()); Glib::ustring ui_info = "<ui>" " <menubar name='MenuBar'>" " <menu action='app-file-menu'>" " <menuitem action='nimrod-new'/>" " <menuitem action='nimrod-open'/>" " <menuitem action='app-quit'/>" " </menu>" " <menu action='app-help-menu'>" " <menuitem action='app-about'/>" " </menu>" " </menubar>" " <toolbar name='ToolBar'>" " <toolitem action='nimrod-open'/>" " <separator/>" " <toolitem action='image-zoom-in'/>" " <toolitem action='image-zoom-out'/>" " <toolitem action='image-zoom-100'/>" " <toolitem action='image-zoom-fit'/>" " </toolbar>" "</ui>"; ui_manager->add_ui_from_string(ui_info); Gtk::VBox *vbox = Gtk::manage(new Gtk::VBox()); vbox->show(); add(*vbox); vbox->pack_start(*ui_manager->get_widget("/MenuBar"), false, true, 0); vbox->pack_start(*ui_manager->get_widget("/ToolBar"), false, true, 0); alto.show(); vbox->pack_start(alto, true, true, 0); }
Gtk::VBox * Extension::get_help_widget(void) { Gtk::VBox * retval = Gtk::manage(new Gtk::VBox()); if (_help == NULL) { Gtk::Label * content = Gtk::manage(new Gtk::Label(_("Currently there is no help available for this Extension. Please look on the Inkscape website or ask on the mailing lists if you have questions regarding this extension."))); retval->pack_start(*content, true, true, 5); content->set_line_wrap(true); content->show(); } else { } retval->show(); return retval; }
StudyTab::StudyTab(const Glib::RefPtr<ImagePool::Study>& study, StudyView* view) { set_size_request(-1, 35); m_study = study; m_studyview = view; std::string labeltext = m_study->patientsname().substr(0,20); m_label = manage(new Gtk::Label(labeltext, Gtk::ALIGN_LEFT)); m_label->set_padding(2,0); m_label->show(); m_progress = manage(new Gtk::ProgressBar); m_progress->set_fraction(0); m_progress->set_size_request(-1, 14); m_progress->show(); Gtk::Image* image_left = manage(new Gtk::Image(Gtk::Stock::DND_MULTIPLE, Gtk::ICON_SIZE_LARGE_TOOLBAR)); image_left->set_padding(2,0); image_left->show(); Gtk::Image* image_close = manage(new Gtk::Image(Gtk::Stock::CLOSE, Gtk::ICON_SIZE_MENU)); image_close->show(); m_close = manage(new Gtk::ToolButton(*image_close)); m_close->set_tooltip(m_tooltips, gettext("Close study")); m_close->set_size_request(22, 22); m_close->signal_clicked().connect(sigc::bind(signal_close, view)); m_close->set_sensitive(false); m_close->hide(); Gtk::VBox* vbox = manage(new Gtk::VBox); vbox->show(); vbox->pack_start(*m_label); vbox->pack_start(*m_progress, Gtk::PACK_SHRINK); pack_start(*image_left); pack_start(*vbox); pack_start(*m_close); }
limitDialog::limitDialog() : limit_interval(5), limit_selected(false), selected_upload_disable(false), selected_download_disable(false), selected_seed_percent_disable(false), selected_seed_timer_disable(false), uploadCombo(0), downloadCombo(0), seedPercentSpin(0), seedTimeSpin(0), selected_upload_limit(-1), selected_download_limit(-1) { Gtk::Label *uploadLabel = Gtk::manage(new class Gtk::Label("Upload")); Gtk::Label *downloadLabel = Gtk::manage(new class Gtk::Label("Download")); uploadCombo = Gtk::manage(new class Gtk::ComboBoxText()); downloadCombo = Gtk::manage(new class Gtk::ComboBoxText()); Gtk::Label *seedPercentLabel = Gtk::manage(new class Gtk::Label("Seed %")); Gtk::Label *seedTimeLabel = Gtk::manage(new class Gtk::Label("Seed Time")); Gtk::Adjustment *seedPercentAdjustment = Gtk::manage(new class Gtk::Adjustment(1, 0, 100, 1, 10, 10)); seedPercentSpin = Gtk::manage(new class Gtk::SpinButton(*seedPercentAdjustment, 1, 0)); Gtk::Adjustment *seedTimeAdjustment = Gtk::manage(new class Gtk::Adjustment(1, 0, 100, 1, 10, 10)); seedTimeSpin = 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); seedPercentSpin->set_flags(Gtk::CAN_FOCUS); seedPercentSpin->set_update_policy(Gtk::UPDATE_ALWAYS); seedPercentSpin->set_numeric(false); seedPercentSpin->set_digits(0); seedPercentSpin->set_wrap(false); seedPercentSpin->set_range(0, MaxSeedProcent); seedTimeSpin->set_flags(Gtk::CAN_FOCUS); seedTimeSpin->set_update_policy(Gtk::UPDATE_ALWAYS); seedTimeSpin->set_numeric(false); seedTimeSpin->set_digits(0); seedTimeSpin->set_wrap(false); seedTimeSpin->set_range(0, MaxSeedTimeout); uploadCombo->append_text("disable"); downloadCombo->append_text("disable"); for (t_int i=limit_interval; i<=200; i=i+limit_interval) { using namespace std; using namespace btg::core; 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(*seedPercentSpin, 1, 2, 2, 3, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*seedTimeSpin, 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); set_title( GPD->sGUI_CLIENT() + " " + GPD->sVERSION() + " / Limit" ); 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(*limitVbox); set_default_size(300, 200); uploadLabel->show(); downloadLabel->show(); seedPercentLabel->show(); seedTimeLabel->show(); uploadCombo->show(); downloadCombo ->show(); seedPercentSpin->show(); seedTimeSpin->show(); settingsTable->show(); limitVbox->show(); // 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)); get_vbox()->show(); show(); }
/** \brief Creates a combobox widget for an enumeration parameter */ Gtk::Widget * ParamRadioButton::get_widget (SPDocument * doc, Inkscape::XML::Node * node, sigc::signal<void> * changeSignal) { if (_gui_hidden) return NULL; Gtk::HBox * hbox = Gtk::manage(new Gtk::HBox(false, 4)); Gtk::VBox * vbox = Gtk::manage(new Gtk::VBox(false, 0)); Gtk::Label * label = Gtk::manage(new Gtk::Label(_(_text), Gtk::ALIGN_LEFT, Gtk::ALIGN_TOP)); label->show(); hbox->pack_start(*label, false, false); Gtk::ComboBoxText* cbt = 0; bool comboSet = false; if (_mode == MINIMAL) { cbt = Gtk::manage(new ComboWdg(this, doc, node)); cbt->show(); vbox->pack_start(*cbt, false, false); } // add choice strings as radiobuttons // and select last selected option (_value) Gtk::RadioButtonGroup group; for (GSList * list = choices; list != NULL; list = g_slist_next(list)) { optionentry * entr = reinterpret_cast<optionentry *>(list->data); Glib::ustring * text = entr->guitext; switch ( _mode ) { case MINIMAL: { cbt->append_text(*text); if (!entr->value->compare(_value)) { cbt->set_active_text(*text); comboSet = true; } } break; case COMPACT: case FULL: { ParamRadioButtonWdg * radio = Gtk::manage(new ParamRadioButtonWdg(group, *text, this, doc, node, changeSignal)); radio->show(); vbox->pack_start(*radio, true, true); if (!entr->value->compare(_value)) { radio->set_active(); } } break; } } if ( (_mode == MINIMAL) && !comboSet) { cbt->set_active(0); } vbox->show(); hbox->pack_end(*vbox, false, false); hbox->show(); return dynamic_cast<Gtk::Widget *>(hbox); }
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(); }
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(); }
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)); } }
SSAOWrapper::SSAOWrapper() { _radius = 0.5; _totStrength = 1; _dropoff = 0.4; _filter.build(); glGenTextures( 1, &_randomTexture); glBindTexture(GL_TEXTURE_2D, _randomTexture); std::vector<GLubyte> texture; texture.resize(3 * _randomTextureSize * _randomTextureSize); glPixelStorei(GL_UNPACK_ALIGNMENT, 1); srand(120121); for (size_t i(0); i < 3 * _randomTextureSize * _randomTextureSize; ++i) texture[i] = (rand() * 255.0) / RAND_MAX; glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, _randomTextureSize, _randomTextureSize, 0, GL_RGB, GL_UNSIGNED_BYTE, &texture[0]); glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT ); glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT ); //Build the controls { Gtk::VBox* labelVbox = manage(new Gtk::VBox); Gtk::Label* Label1 = manage(new Gtk::Label("Radius")); Gtk::Label* Label2 = manage(new Gtk::Label("Magnitude")); Gtk::Label* Label3 = manage(new Gtk::Label("Drop off")); labelVbox->add(*Label1); Label1->show(); labelVbox->add(*Label2); Label2->show(); labelVbox->add(*Label3); Label3->show(); _optlist.add(*labelVbox); labelVbox->show(); } { Gtk::VBox* sliderVbox = manage(new Gtk::VBox); sliderVbox->add(_radiusSlider); sliderVbox->add(_totStrengthSlider); sliderVbox->add(_dropoffSlider); _optlist.add(*sliderVbox); sliderVbox->show(); } _optlist.show(); _radiusSlider.set_text(boost::lexical_cast<std::string>(_radius)); _radiusSlider.signal_changed().connect(sigc::mem_fun(this, &SSAOWrapper::settingsCallback)); _radiusSlider.show(); _totStrengthSlider.set_text(boost::lexical_cast<std::string>(_totStrength)); _totStrengthSlider.signal_changed().connect(sigc::mem_fun(this, &SSAOWrapper::settingsCallback)); _totStrengthSlider.show(); _dropoffSlider.set_text(boost::lexical_cast<std::string>(_dropoff)); _dropoffSlider.signal_changed().connect(sigc::mem_fun(this, &SSAOWrapper::settingsCallback)); _dropoffSlider.show(); }
void DataSet::initGtk() { _gtkOptList.reset(new Gtk::VBox); {//The heading of the data set window Gtk::Frame* frame = Gtk::manage(new Gtk::Frame("Data Set Information")); frame->show(); _gtkOptList->pack_start(*frame, false, true, 5); Gtk::VBox* vbox = Gtk::manage(new Gtk::VBox); vbox->show(); frame->add(*vbox); _infolabel.reset(new Gtk::Label("Points: " + boost::lexical_cast<std::string>(_N))); _infolabel->show(); vbox->pack_start(*_infolabel, false, true, 5); } //Glyph adding mechanism { Gtk::HBox* box = Gtk::manage(new Gtk::HBox); box->show(); _gtkOptList->pack_start(*box, false, false, 5); _comboPointSet.reset(new Gtk::ComboBoxText); _comboPointSet->show(); box->pack_start(*_comboPointSet, false, false, 5); //Check the combo box is correct _comboPointSet->get_model().clear(); for (const auto& pointset: _pointSets) _comboPointSet->insert(-1, pointset.first); _comboPointSet->set_active(0); Gtk::Button* btn = Gtk::manage(new Gtk::Button("Add Glyphs")); btn->signal_clicked().connect(sigc::mem_fun(*this, &DataSet::addGlyphs)); btn->show(); box->pack_start(*btn, false, false, 5); _comboLinkSet.reset(new Gtk::ComboBoxText); _comboLinkSet->show(); box->pack_start(*_comboLinkSet, false, false, 5); //Check the combo box is correct _comboLinkSet->get_model().clear(); for (const auto& linkset: _linkSets) _comboLinkSet->insert(-1, linkset.first); _comboLinkSet->set_active(0); btn = Gtk::manage(new Gtk::Button("Add Links")); btn->signal_clicked().connect(sigc::mem_fun(*this, &DataSet::addLinkGlyphs)); btn->show(); box->pack_start(*btn, false, false, 5); } { _attrcolumns.reset(new ModelColumns); _attrtreestore = Gtk::TreeStore::create(*_attrcolumns); _attrtreestore->set_sort_column(_attrcolumns->components, Gtk::SORT_DESCENDING); _attrview.reset(new Gtk::TreeView); _attrview->set_model(_attrtreestore); _attrview->append_column("Name", _attrcolumns->name); _attrview->append_column("Components", _attrcolumns->components); _attrview->append_column("Min Values", _attrcolumns->min); _attrview->append_column("Max Values", _attrcolumns->max); _attrview->show(); Gtk::ScrolledWindow* win = Gtk::manage(new Gtk::ScrolledWindow); win->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); win->add(*_attrview); Gtk::Frame* frame = Gtk::manage(new Gtk::Frame("Available Attributes")); frame->show(); frame->add(*win); _gtkOptList->pack_start(*frame, true, true, 5); win->show(); } { _positionSel.reset(new AttributeSelector(false)); _gtkOptList->pack_start(*_positionSel, false, false); } _gtkOptList->show(); rebuildGui(); }