--- gigedit/trunk/src/gigedit/gigedit.cpp 2007/09/04 01:12:49 1321 +++ gigedit/trunk/src/gigedit/gigedit.cpp 2007/09/04 11:04:56 1322 @@ -39,10 +39,44 @@ Glib::thread_init(); } +static void __connect_signals(GigEdit* gigedit, MainWindow* mainwindow) { + // the signals of the "GigEdit" class are actually just proxies, that + // is they simply forward the signals of the internal classes to the + // outer world + mainwindow->signal_file_structure_to_be_changed().connect( + gigedit->signal_file_structure_to_be_changed().make_slot() + ); + mainwindow->signal_file_structure_changed().connect( + gigedit->signal_file_structure_changed().make_slot() + ); + mainwindow->signal_samples_to_be_removed().connect( + gigedit->signal_samples_to_be_removed().make_slot() + ); + mainwindow->signal_samples_removed().connect( + gigedit->signal_samples_removed().make_slot() + ); + mainwindow->signal_region_to_be_changed().connect( + gigedit->signal_region_to_be_changed().make_slot() + ); + mainwindow->signal_region_changed().connect( + gigedit->signal_region_changed().make_slot() + ); + mainwindow->signal_dimreg_to_be_changed().connect( + gigedit->signal_dimreg_to_be_changed().make_slot() + ); + mainwindow->signal_dimreg_changed().connect( + gigedit->signal_dimreg_changed().make_slot() + ); + mainwindow->signal_sample_ref_changed().connect( + gigedit->signal_sample_ref_changed().make_slot() + ); +} + int GigEdit::run() { __init_app(); Gtk::Main kit(argc, argv); MainWindow window; + __connect_signals(this, &window); kit.run(window); return 0; } @@ -51,6 +85,7 @@ __init_app(); Gtk::Main kit(argc, argv); MainWindow window; + __connect_signals(this, &window); if (pFileName) window.load_file(pFileName); kit.run(window); return 0; @@ -60,7 +95,44 @@ __init_app(); Gtk::Main kit(argc, argv); MainWindow window; + __connect_signals(this, &window); if (pInstrument) window.load_instrument(pInstrument); kit.run(window); return 0; } + +sigc::signal GigEdit::signal_file_structure_to_be_changed() { + return file_structure_to_be_changed_signal; +} + +sigc::signal GigEdit::signal_file_structure_changed() { + return file_structure_changed_signal; +} + +sigc::signal > GigEdit::signal_samples_to_be_removed() { + return samples_to_be_removed_signal; +} + +sigc::signal GigEdit::signal_samples_removed() { + return samples_removed_signal; +} + +sigc::signal GigEdit::signal_region_to_be_changed() { + return region_to_be_changed_signal; +} + +sigc::signal GigEdit::signal_region_changed() { + return region_changed_signal; +} + +sigc::signal GigEdit::signal_dimreg_to_be_changed() { + return dimreg_to_be_changed_signal; +} + +sigc::signal GigEdit::signal_dimreg_changed() { + return dimreg_changed_signal; +} + +sigc::signal GigEdit::signal_sample_ref_changed() { + return sample_ref_changed_signal; +}