// Main constructor ModalProgressDialog::ModalProgressDialog(const Glib::RefPtr<Gtk::Window>& parent, const std::string& title) : gtkutil::TransientWindow(title, GlobalMainFrame().getTopLevelWindow()), _label(Gtk::manage(new Gtk::Label)), _progressBar(Gtk::manage(new Gtk::ProgressBar)), _aborted(false) { // Window properties set_modal(true); set_position(Gtk::WIN_POS_CENTER_ON_PARENT); set_default_size(360, 80); set_border_width(12); // Create a vbox Gtk::VBox* vbx = Gtk::manage(new Gtk::VBox(false, 12)); // Pack a progress bar into the window vbx->pack_start(*_progressBar, false, false, 0); // Pack the label into the window vbx->pack_start(*_label, true, false, 0); add(*vbx); // Pack a right-aligned cancel button at the bottom Gtk::Button* cancelButton = Gtk::manage(new Gtk::Button(Gtk::Stock::CANCEL)); cancelButton->signal_clicked().connect(sigc::mem_fun(*this, &ModalProgressDialog::_onCancel)); vbx->pack_end(*Gtk::manage(new gtkutil::RightAlignment(*cancelButton)), false, false, 0); // Connect the realize signal to remove the window decorations signal_realize().connect(sigc::mem_fun(*this, &ModalProgressDialog::_onRealize)); // Show the window show_all(); handleEvents(); }
MainSynthWindow::MainSynthWindow (gthAudio *audio) { gthPrefs *prefs = gthPrefs::instance(); string **vals; audio_ = audio; set_title("thinksynth"); set_default_size(520, 360); midiMap_ = NULL; patchSel_ = NULL; aboutBox_ = NULL; kbWin_ = NULL; vals = prefs->Get("dspdir"); if (vals != NULL) prevDir_ = *(vals[0]); else prevDir_ = DSP_PATH; populateMenu(); #ifdef HAVE_JACK signal_realize().connect( sigc::mem_fun(*this, &MainSynthWindow::jackCheck)); #endif add(vbox_); dspEntryLbl_.set_label("DSP File: "); dspBrowseBtn_.set_label("Browse"); dspEntryBox_.pack_start(dspEntryLbl_, Gtk::PACK_SHRINK); dspEntryBox_.pack_start(dspEntry_, Gtk::PACK_EXPAND_WIDGET); dspEntryBox_.pack_start(dspBrowseBtn_, Gtk::PACK_SHRINK); dspEntry_.signal_activate().connect( sigc::mem_fun(*this, &MainSynthWindow::onDspEntryActivate)); dspBrowseBtn_.signal_clicked().connect( sigc::mem_fun(*this, &MainSynthWindow::onBrowseButton)); vbox_.pack_start(menuBar_, Gtk::PACK_SHRINK); vbox_.pack_start(dspEntryBox_, Gtk::PACK_SHRINK); vbox_.pack_start(notebook_, Gtk::PACK_EXPAND_WIDGET); notebook_.set_scrollable(); notebook_.signal_switch_page().connect( sigc::mem_fun(*this, &MainSynthWindow::onSwitchPage)); populate(); show_all_children(); gthPatchManager *patchMgr = gthPatchManager::instance(); patchMgr->signal_patches_changed().connect( sigc::mem_fun(*this, &MainSynthWindow::onPatchesChanged)); patchMgr->signal_patch_load_error().connect( sigc::mem_fun(*this, &MainSynthWindow::onPatchLoadError)); debug("signal connections made"); }