X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Flocation_ui.h;h=2cd69b834c038a89724d1c649982a33457cd44e2;hb=8a2c82465938cd528781e7cdcb04e8a3530a0b51;hp=c9e7b496254dcef5003c8ebf90b478bf2489f67b;hpb=ced4378d0914bcfb926267772c45d1d23f3bed38;p=ardour.git diff --git a/gtk2_ardour/location_ui.h b/gtk2_ardour/location_ui.h index c9e7b49625..2cd69b834c 100644 --- a/gtk2_ardour/location_ui.h +++ b/gtk2_ardour/location_ui.h @@ -26,7 +26,6 @@ #include #include #include -#include #include #include "pbd/signals.h" @@ -34,6 +33,9 @@ #include "ardour/location.h" #include "ardour/session_handle.h" +#include "widgets/ardour_button.h" +#include "widgets/pane.h" + #include "ardour_window.h" #include "audio_clock.h" @@ -45,7 +47,7 @@ class ClockGroup; class LocationEditRow : public Gtk::HBox, public ARDOUR::SessionHandlePtr { - public: +public: LocationEditRow (ARDOUR::Session *sess=0, ARDOUR::Location *loc=0, int32_t num=-1); virtual ~LocationEditRow(); @@ -56,13 +58,13 @@ class LocationEditRow : public Gtk::HBox, public ARDOUR::SessionHandlePtr void set_number (int); void focus_name(); - void set_clock_group (ClockGroup&); - void unset_clock_group () { _clock_group = 0; } + void set_clock_group (ClockGroup&); + void unset_clock_group () { _clock_group = 0; } sigc::signal remove_requested; sigc::signal redraw_ranges; - protected: +protected: enum LocationPart { LocStart, @@ -80,11 +82,13 @@ class LocationEditRow : public Gtk::HBox, public ARDOUR::SessionHandlePtr Gtk::HBox start_hbox; AudioClock start_clock; - Gtk::Button start_to_playhead_button; + ArdourWidgets::ArdourButton start_to_playhead_button; + ArdourWidgets::ArdourButton locate_to_start_button; Gtk::HBox end_hbox; AudioClock end_clock; - Gtk::Button end_to_playhead_button; + ArdourWidgets::ArdourButton end_to_playhead_button; + ArdourWidgets::ArdourButton locate_to_end_button; AudioClock length_clock; Gtk::CheckButton cd_check_button; @@ -92,7 +96,7 @@ class LocationEditRow : public Gtk::HBox, public ARDOUR::SessionHandlePtr Gtk::CheckButton lock_check_button; Gtk::CheckButton glue_check_button; - Gtk::Button remove_button; + ArdourWidgets::ArdourButton remove_button; Gtk::HBox cd_track_details_hbox; Gtk::Entry isrc_entry; @@ -102,12 +106,12 @@ class LocationEditRow : public Gtk::HBox, public ARDOUR::SessionHandlePtr Gtk::Label performer_label; Gtk::Entry performer_entry; Gtk::Label composer_label; - Gtk::Entry composer_entry; + Gtk::Entry composer_entry; Gtk::CheckButton scms_check_button; Gtk::Label scms_label; Gtk::CheckButton preemph_check_button; Gtk::Label preemph_label; - ClockGroup* _clock_group; + ClockGroup* _clock_group; guint32 i_am_the_modifier; int number; @@ -118,6 +122,7 @@ class LocationEditRow : public Gtk::HBox, public ARDOUR::SessionHandlePtr void composer_entry_changed (); void to_playhead_button_pressed (LocationPart part); + void locate_button_pressed (LocationPart part); void clock_changed (LocationPart part); bool locate_to_clock (GdkEventButton*, AudioClock*); @@ -147,12 +152,11 @@ class LocationEditRow : public Gtk::HBox, public ARDOUR::SessionHandlePtr class LocationUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr { - public: - LocationUI (); +public: + LocationUI (std::string state_node_name = "LocationUI"); ~LocationUI (); void set_session (ARDOUR::Session *); - void set_clock_mode (AudioClock::Mode); void add_new_location(); void add_new_range(); @@ -160,8 +164,9 @@ class LocationUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr void refresh_location_list (); XMLNode & get_state () const; + int set_state (const XMLNode&); - private: +private: /** set to the location that has just been created with the LocationUI `add' button (if Config->get_name_new_markers() is true); if it is non-0, the name entry of the location is given the focus by location_added(). @@ -174,7 +179,7 @@ class LocationUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr LocationEditRow punch_edit_row; Gtk::VBox loop_punch_box; - Gtk::VPaned loc_range_panes; + ArdourWidgets::VPane loc_range_panes; Gtk::VBox loc_frame_box; Gtk::Button add_location_button; @@ -203,13 +208,18 @@ class LocationUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr void location_added (ARDOUR::Location *); void map_locations (const ARDOUR::Locations::LocationList&); - ClockGroup* _clock_group; - AudioClock::Mode clock_mode_from_session_instant_xml () const; + ClockGroup* _clock_group; + AudioClock::Mode clock_mode_from_session_instant_xml (); + + AudioClock::Mode _mode; + bool _mode_set; + + std::string _state_node_name; }; class LocationUIWindow : public ArdourWindow { - public: +public: LocationUIWindow (); ~LocationUIWindow (); @@ -218,7 +228,7 @@ class LocationUIWindow : public ArdourWindow LocationUI& ui() { return _ui; } - protected: +protected: LocationUI _ui; bool on_delete_event (GdkEventAny*); void session_going_away();