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

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

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

gigedit/branches/linuxsampler_org/src/mainwindow.cpp revision 1052 by persson, Sat Mar 3 12:20:01 2007 UTC gigedit/trunk/src/mainwindow.cpp revision 1075 by schoenebeck, Tue Mar 6 01:17:03 2007 UTC
# Line 31  Line 31 
31    
32  #define _(String) gettext(String)  #define _(String) gettext(String)
33    
   
34  bool update_gui;  bool update_gui;
35    
36  uint8_t& access_UnityNote(gig::DimensionRegion* dimreg)  uint8_t& access_UnityNote(gig::DimensionRegion* dimreg)
# Line 817  MainWindow::MainWindow() : Line 816  MainWindow::MainWindow() :
816      actionGroup->add(Gtk::Action::create("Quit", Gtk::Stock::QUIT),      actionGroup->add(Gtk::Action::create("Quit", Gtk::Stock::QUIT),
817                       sigc::mem_fun(                       sigc::mem_fun(
818                           *this, &MainWindow::hide));                           *this, &MainWindow::hide));
819        actionGroup->add(Gtk::Action::create("MenuInstrument", _("_Instrument")));
820    
821      action = Gtk::Action::create("MenuHelp", Gtk::Stock::HELP);      action = Gtk::Action::create("MenuHelp", Gtk::Stock::HELP);
822      actionGroup->add(Gtk::Action::create("MenuHelp",      actionGroup->add(Gtk::Action::create("MenuHelp",
823                                           action->property_label()));                                           action->property_label()));
# Line 848  MainWindow::MainWindow() : Line 849  MainWindow::MainWindow() :
849          "      <separator/>"          "      <separator/>"
850          "      <menuitem action='Quit'/>"          "      <menuitem action='Quit'/>"
851          "    </menu>"          "    </menu>"
852            "    <menu action='MenuInstrument'>"
853            "    </menu>"
854  #ifdef ABOUT_DIALOG  #ifdef ABOUT_DIALOG
855          "    <menu action='MenuHelp'>"          "    <menu action='MenuHelp'>"
856          "      <menuitem action='About'/>"          "      <menuitem action='About'/>"
# Line 1242  void MainWindow::on_action_file_open() Line 1245  void MainWindow::on_action_file_open()
1245      if (dialog.run() == Gtk::RESPONSE_OK) {      if (dialog.run() == Gtk::RESPONSE_OK) {
1246          printf("filename=%s\n", dialog.get_filename().c_str());          printf("filename=%s\n", dialog.get_filename().c_str());
1247    
1248            // remove all entries from "Instrument" menu
1249            Gtk::MenuItem* instrument_menu =
1250                dynamic_cast<Gtk::MenuItem*>(uiManager->get_widget("/MenuBar/MenuInstrument"));
1251            instrument_menu->hide();
1252            for (int i = 0; i < instrument_menu->get_submenu()->items().size(); i++) {
1253                delete &instrument_menu->get_submenu()->items()[i];
1254            }
1255            instrument_menu->get_submenu()->items().clear();
1256    
1257          m_refTreeModel->clear();          m_refTreeModel->clear();
1258          if (file) delete file;          if (file) delete file;
1259    
# Line 1474  void MainWindow::load_gig(gig::File* gig Line 1486  void MainWindow::load_gig(gig::File* gig
1486    
1487      propDialog.set_info(gig->pInfo);      propDialog.set_info(gig->pInfo);
1488    
1489        Gtk::MenuItem* instrument_menu =
1490            dynamic_cast<Gtk::MenuItem*>(uiManager->get_widget("/MenuBar/MenuInstrument"));
1491    
1492        int instrument_index = 0;
1493        Gtk::RadioMenuItem::Group instrument_group;
1494      for (gig::Instrument* instrument = gig->GetFirstInstrument() ; instrument ;      for (gig::Instrument* instrument = gig->GetFirstInstrument() ; instrument ;
1495           instrument = gig->GetNextInstrument()) {           instrument = gig->GetNextInstrument()) {
1496          Gtk::TreeModel::iterator iter = m_refTreeModel->append();          Gtk::TreeModel::iterator iter = m_refTreeModel->append();
1497          Gtk::TreeModel::Row row = *iter;          Gtk::TreeModel::Row row = *iter;
1498          row[m_Columns.m_col_name] = instrument->pInfo->Name.c_str();          row[m_Columns.m_col_name] = instrument->pInfo->Name.c_str();
1499          row[m_Columns.m_col_instr] = instrument;          row[m_Columns.m_col_instr] = instrument;
1500            // create a menu item for this instrument
1501            Gtk::RadioMenuItem* item= new Gtk::RadioMenuItem(instrument_group, instrument->pInfo->Name.c_str());
1502            instrument_menu->get_submenu()->append(*item);
1503            item->signal_activate().connect(
1504                sigc::bind(
1505                    sigc::mem_fun(*this, &MainWindow::on_instrument_selection_change),
1506                    instrument_index
1507                )
1508            );
1509            instrument_index++;
1510      }      }
1511        instrument_menu->show();
1512        instrument_menu->get_submenu()->show_all_children();
1513  }  }
1514    
1515  void MainWindow::on_button_release(GdkEventButton* button)  void MainWindow::on_button_release(GdkEventButton* button)
# Line 1502  void MainWindow::on_button_release(GdkEv Line 1531  void MainWindow::on_button_release(GdkEv
1531          popup_menu->popup(button->button, button->time);          popup_menu->popup(button->button, button->time);
1532      }      }
1533  }  }
1534    
1535    void MainWindow::on_instrument_selection_change(int index) {
1536        m_RegionChooser.set_instrument(file->GetInstrument(index));
1537    }

Legend:
Removed from v.1052  
changed lines
  Added in v.1075

  ViewVC Help
Powered by ViewVC