X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Flocation_ui.h;h=56401f61399b515e575a0026b72bc54a82f25399;hb=911fdb576e15283897cb7648d07f4ba14ec8f78e;hp=30bb7ec13b986d38f2c898a896630805e3f33331;hpb=c83e48e07a0b4790512c6251d8ad8f941c881021;p=ardour.git diff --git a/gtk2_ardour/location_ui.h b/gtk2_ardour/location_ui.h index 30bb7ec13b..56401f6139 100644 --- a/gtk2_ardour/location_ui.h +++ b/gtk2_ardour/location_ui.h @@ -26,10 +26,13 @@ #include #include #include +#include +#include #include "ardour/location.h" #include "ardour_dialog.h" +#include "audio_clock.h" namespace ARDOUR { class LocationStack; @@ -74,12 +77,10 @@ class LocationEditRow : public Gtk::HBox Gtk::Label number_label; Gtk::HBox start_hbox; - Gtk::Button start_set_button; Gtk::Button start_go_button; AudioClock start_clock; Gtk::HBox end_hbox; - Gtk::Button end_set_button; Gtk::Button end_go_button; AudioClock end_clock; @@ -137,28 +138,33 @@ class LocationEditRow : public Gtk::HBox }; - -class LocationUI : public ArdourDialog +class LocationUI : public Gtk::HBox { public: LocationUI (); ~LocationUI (); + + virtual void set_session (ARDOUR::Session *); - void set_session (ARDOUR::Session *); + void add_new_location(); + void add_new_range(); - void on_show(); + void refresh_location_list (); + void refresh_location_list_s (ARDOUR::Change); private: + ARDOUR::Session* session; ARDOUR::LocationStack* locations; ARDOUR::Location *newest_location; void session_gone(); Gtk::VBox location_vpacker; - Gtk::HBox location_hpacker; LocationEditRow loop_edit_row; LocationEditRow punch_edit_row; + Gtk::VBox loop_punch_box; + Gtk::ScrolledWindow loop_punch_scroller; Gtk::VPaned loc_range_panes; @@ -174,7 +180,6 @@ class LocationUI : public ArdourDialog Gtk::ScrolledWindow range_rows_scroller; Gtk::VBox range_rows; - /* When any location changes it start or end points, it sends a signal that is caught by one of these functions @@ -188,17 +193,26 @@ class LocationUI : public ArdourDialog guint32 i_am_the_modifier; - void add_new_location(); - void add_new_range(); - - void refresh_location_list (); - void refresh_location_list_s (ARDOUR::Change); void location_removed (ARDOUR::Location *); void location_added (ARDOUR::Location *); void map_locations (ARDOUR::Locations::LocationList&); +}; + +class LocationUIWindow : public ArdourDialog +{ + public: + LocationUIWindow (); + ~LocationUIWindow (); + + void on_show(); + void set_session (ARDOUR::Session *); + + LocationUI& ui() { return _ui; } protected: + LocationUI _ui; bool on_delete_event (GdkEventAny*); + void session_gone(); }; #endif // __ardour_location_ui_h__