/[svn]/gigedit/trunk/src/gigedit/mainwindow.cpp
ViewVC logotype

Diff of /gigedit/trunk/src/gigedit/mainwindow.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1396 by schoenebeck, Wed Oct 10 15:48:54 2007 UTC revision 1436 by schoenebeck, Mon Oct 15 15:29:58 2007 UTC
# Line 24  Line 24 
24  #include <gtkmm/stock.h>  #include <gtkmm/stock.h>
25  #include <gtkmm/targetentry.h>  #include <gtkmm/targetentry.h>
26  #include <gtkmm/main.h>  #include <gtkmm/main.h>
27    #include <gtkmm/toggleaction.h>
28    
29  #include "global.h"  #include "global.h"
30    
# Line 49  Glib::ustring filename_display_basename( Line 50  Glib::ustring filename_display_basename(
50    
51  #include "mainwindow.h"  #include "mainwindow.h"
52    
53    #include "../../gfx/status_attached.xpm"
54    #include "../../gfx/status_detached.xpm"
55    
56  template<class T> inline std::string ToString(T o) {  template<class T> inline std::string ToString(T o) {
57      std::stringstream ss;      std::stringstream ss;
58      ss << o;      ss << o;
# Line 126  MainWindow::MainWindow() Line 130  MainWindow::MainWindow()
130                           *this, &MainWindow::on_action_quit));                           *this, &MainWindow::on_action_quit));
131      actionGroup->add(Gtk::Action::create("MenuInstrument", _("_Instrument")));      actionGroup->add(Gtk::Action::create("MenuInstrument", _("_Instrument")));
132    
133        actionGroup->add(Gtk::Action::create("MenuView", _("_View")));
134        Glib::RefPtr<Gtk::ToggleAction> toggle_action =
135            Gtk::ToggleAction::create("Statusbar", _("_Statusbar"));
136        toggle_action->set_active(true);
137        actionGroup->add(toggle_action,
138                         sigc::mem_fun(
139                             *this, &MainWindow::on_action_view_status_bar));
140    
141      action = Gtk::Action::create("MenuHelp", Gtk::Stock::HELP);      action = Gtk::Action::create("MenuHelp", Gtk::Stock::HELP);
142      actionGroup->add(Gtk::Action::create("MenuHelp",      actionGroup->add(Gtk::Action::create("MenuHelp",
143                                           action->property_label()));                                           action->property_label()));
# Line 181  MainWindow::MainWindow() Line 193  MainWindow::MainWindow()
193          "    </menu>"          "    </menu>"
194          "    <menu action='MenuInstrument'>"          "    <menu action='MenuInstrument'>"
195          "    </menu>"          "    </menu>"
196            "    <menu action='MenuView'>"
197            "      <menuitem action='Statusbar'/>"
198            "    </menu>"
199  #ifdef ABOUT_DIALOG  #ifdef ABOUT_DIALOG
200          "    <menu action='MenuHelp'>"          "    <menu action='MenuHelp'>"
201          "      <menuitem action='About'/>"          "      <menuitem action='About'/>"
# Line 210  MainWindow::MainWindow() Line 225  MainWindow::MainWindow()
225      m_VBox.pack_start(m_HPaned);      m_VBox.pack_start(m_HPaned);
226      m_VBox.pack_start(m_RegionChooser, Gtk::PACK_SHRINK);      m_VBox.pack_start(m_RegionChooser, Gtk::PACK_SHRINK);
227      m_VBox.pack_start(m_DimRegionChooser, Gtk::PACK_SHRINK);      m_VBox.pack_start(m_DimRegionChooser, Gtk::PACK_SHRINK);
228        m_VBox.pack_start(m_StatusBar, Gtk::PACK_SHRINK);
229    
230        // Status Bar:
231        m_StatusBar.pack_start(m_AttachedStateLabel, Gtk::PACK_SHRINK);
232        m_StatusBar.pack_start(m_AttachedStateImage, Gtk::PACK_SHRINK);
233        m_StatusBar.show();
234    
235      m_RegionChooser.signal_region_selected().connect(      m_RegionChooser.signal_region_selected().connect(
236          sigc::mem_fun(*this, &MainWindow::region_changed) );          sigc::mem_fun(*this, &MainWindow::region_changed) );
# Line 294  MainWindow::MainWindow() Line 315  MainWindow::MainWindow()
315    
316      file = 0;      file = 0;
317      file_is_changed = false;      file_is_changed = false;
318      file_is_shared  = false;      set_file_is_shared(false);
319    
320      show_all_children();      show_all_children();
321    
# Line 429  void MainWindow::__clear() { Line 450  void MainWindow::__clear() {
450      // free libgig's gig::File instance      // free libgig's gig::File instance
451      if (file && !file_is_shared) delete file;      if (file && !file_is_shared) delete file;
452      file = NULL;      file = NULL;
453      file_is_shared = false;      set_file_is_shared(false);
454  }  }
455    
456  void MainWindow::on_action_file_new()  void MainWindow::on_action_file_new()
# Line 765  void MainWindow::on_action_help_about() Line 786  void MainWindow::on_action_help_about()
786  #ifdef ABOUT_DIALOG  #ifdef ABOUT_DIALOG
787      Gtk::AboutDialog dialog;      Gtk::AboutDialog dialog;
788      dialog.set_version(VERSION);      dialog.set_version(VERSION);
789        dialog.set_copyright("Copyright (C) 2006,2007 Andreas Persson");
790        dialog.set_comments(
791            "Released under the GNU General Public License.\n"
792            "\n"
793            "Please notice that this is still a very young instrument editor. "
794            "So better backup your Gigasampler files before editing them with "
795            "this application.\n"
796            "\n"
797            "Please report bugs to: http://bugs.linuxsampler.org"
798        );
799        dialog.set_website("http://www.linuxsampler.org");
800        dialog.set_website_label("http://www.linuxsampler.org");
801      dialog.run();      dialog.run();
802  #endif  #endif
803  }  }
# Line 958  void MainWindow::file_changed() Line 991  void MainWindow::file_changed()
991  void MainWindow::load_gig(gig::File* gig, const char* filename, bool isSharedInstrument)  void MainWindow::load_gig(gig::File* gig, const char* filename, bool isSharedInstrument)
992  {  {
993      file = 0;      file = 0;
994      file_is_shared = isSharedInstrument;      set_file_is_shared(isSharedInstrument);
995    
996      this->filename = filename ? filename : _("Unsaved Gig File");      this->filename = filename ? filename : _("Unsaved Gig File");
997      set_title(Glib::filename_display_basename(this->filename));      set_title(Glib::filename_display_basename(this->filename));
# Line 1035  void MainWindow::show_instr_props() Line 1068  void MainWindow::show_instr_props()
1068      }      }
1069  }  }
1070    
1071    void MainWindow::on_action_view_status_bar() {
1072        Gtk::CheckMenuItem* item =
1073            dynamic_cast<Gtk::CheckMenuItem*>(uiManager->get_widget("/MenuBar/MenuView/Statusbar"));
1074        if (!item) {
1075            std::cerr << "/MenuBar/MenuView/Statusbar == NULL\n";
1076            return;
1077        }
1078        if (item->get_active()) m_StatusBar.show();
1079        else                    m_StatusBar.hide();
1080    }
1081    
1082  void MainWindow::on_button_release(GdkEventButton* button)  void MainWindow::on_button_release(GdkEventButton* button)
1083  {  {
1084      if (button->type == GDK_2BUTTON_PRESS) {      if (button->type == GDK_2BUTTON_PRESS) {
# Line 1502  void MainWindow::instrument_name_changed Line 1546  void MainWindow::instrument_name_changed
1546      }      }
1547  }  }
1548    
1549    void MainWindow::set_file_is_shared(bool b) {
1550        this->file_is_shared = b;
1551    
1552        if (file_is_shared) {
1553            m_AttachedStateLabel.set_label(_("live-mode"));
1554            m_AttachedStateImage.set(
1555                Gdk::Pixbuf::create_from_xpm_data(status_attached_xpm)
1556            );
1557        } else {
1558            m_AttachedStateLabel.set_label(_("stand-alone"));
1559            m_AttachedStateImage.set(
1560                Gdk::Pixbuf::create_from_xpm_data(status_detached_xpm)
1561            );
1562        }
1563    }
1564    
1565  sigc::signal<void, gig::File*>& MainWindow::signal_file_structure_to_be_changed() {  sigc::signal<void, gig::File*>& MainWindow::signal_file_structure_to_be_changed() {
1566      return file_structure_to_be_changed_signal;      return file_structure_to_be_changed_signal;
1567  }  }

Legend:
Removed from v.1396  
changed lines
  Added in v.1436

  ViewVC Help
Powered by ViewVC