--- gigedit/trunk/src/gigedit/mainwindow.h 2016/04/29 14:19:53 2893 +++ gigedit/trunk/src/gigedit/mainwindow.h 2017/02/11 17:04:48 3106 @@ -1,5 +1,5 @@ /* -*- c++ -*- - * Copyright (C) 2006 - 2016 Andreas Persson + * Copyright (C) 2006 - 2017 Andreas Persson * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -20,7 +20,11 @@ #ifndef GIGEDIT_MAINWINDOW_H #define GIGEDIT_MAINWINDOW_H -#include +#ifdef LIBGIG_HEADER_FILE +# include LIBGIG_HEADER_FILE(gig.h) +#else +# include +#endif #include #include @@ -51,12 +55,19 @@ class MainWindow; -class PropDialog : public Gtk::Window, +class PropDialog : public ManagedWindow, public PropEditor { public: PropDialog(); void set_info(DLS::Info* info); void set_file(gig::File* file); + + // implementation for abstract methods of interface class "ManagedWindow" + virtual Settings::Property* windowSettingX() { return &Settings::singleton()->filePropsWindowX; } + virtual Settings::Property* windowSettingY() { return &Settings::singleton()->filePropsWindowY; } + virtual Settings::Property* windowSettingWidth() { return &Settings::singleton()->filePropsWindowW; } + virtual Settings::Property* windowSettingHeight() { return &Settings::singleton()->filePropsWindowH; } + protected: ChoiceEntry eFileFormat; StringEntry eName; @@ -85,7 +96,7 @@ void onFileFormatChanged(); }; -class InstrumentProps : public Gtk::Window, +class InstrumentProps : public ManagedWindow, public PropEditor { public: InstrumentProps(); @@ -95,6 +106,13 @@ sigc::signal& signal_name_changed() { return sig_name_changed; } + + // implementation for abstract methods of interface class "ManagedWindow" + virtual Settings::Property* windowSettingX() { return &Settings::singleton()->instrPropsWindowX; } + virtual Settings::Property* windowSettingY() { return &Settings::singleton()->instrPropsWindowY; } + virtual Settings::Property* windowSettingWidth() { return &Settings::singleton()->instrPropsWindowW; } + virtual Settings::Property* windowSettingHeight() { return &Settings::singleton()->instrPropsWindowH; } + protected: void set_Name(const gig::String& name); void set_IsDrum(bool value); @@ -199,7 +217,10 @@ sigc::signal& signal_keyboard_key_released(); sigc::signal& signal_switch_sampler_instrument(); - + + sigc::signal signal_script_to_be_changed; + sigc::signal signal_script_changed; + // implementation for abstract methods of interface class "ManagedWindow" virtual Settings::Property* windowSettingX() { return &Settings::singleton()->mainWindowX; } virtual Settings::Property* windowSettingY() { return &Settings::singleton()->mainWindowY; } @@ -259,10 +280,12 @@ class ModelColumns : public Gtk::TreeModel::ColumnRecord { public: ModelColumns() { + add(m_col_nr); add(m_col_name); add(m_col_instr); } + Gtk::TreeModelColumn m_col_nr; Gtk::TreeModelColumn m_col_name; Gtk::TreeModelColumn m_col_instr; } m_Columns; @@ -341,6 +364,16 @@ Gtk::CheckButton dimreg_all_regions; Gtk::CheckButton dimreg_all_dimregs; Gtk::CheckButton dimreg_stereo; + + Gtk::HBox legend_hbox; + Gtk::Image imageNoSample; + Gtk::Label labelNoSample; + Gtk::Image imageMissingSample; + Gtk::Label labelMissingSample; + Gtk::Image imageLooped; + Gtk::Label labelLooped; + Gtk::Image imageSomeLoops; + Gtk::Label labelSomeLoops; DimRegionEdit dimreg_edit; Gtk::Notebook m_TreeViewNotebook; @@ -366,6 +399,8 @@ void show_midi_rules(); void show_script_slots(); void on_action_view_status_bar(); + void on_auto_restore_win_dim(); + void on_save_with_temporary_file(); void on_action_refresh_all(); void on_action_warn_user_on_extensions(); void on_action_sync_sampler_instrument_selection();