X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Ftime_info_box.h;h=83f58e7eb58ab093ef90a917f72c820df7549ed2;hb=54fd56de755a44420d906ad660b18c2d671f1057;hp=50561d1249a2dffe6d21ced4d8ef066cc73ac5b0;hpb=7e2b86dc835bd061786bffd0d503dfb3e8c74912;p=ardour.git diff --git a/gtk2_ardour/time_info_box.h b/gtk2_ardour/time_info_box.h index 50561d1249..83f58e7eb5 100644 --- a/gtk2_ardour/time_info_box.h +++ b/gtk2_ardour/time_info_box.h @@ -24,13 +24,14 @@ #include #include +#include + +#include "gtkmm2ext/cairo_packer.h" #include "ardour/ardour.h" #include "ardour/session_handle.h" -class CairoEditableText; -class CairoCell; -class CairoTextCell; +#include "ardour_button.h" namespace ARDOUR { class Session; @@ -39,42 +40,45 @@ namespace ARDOUR { class AudioClock; -class TimeInfoBox : public Gtk::Table, public ARDOUR::SessionHandlePtr +class TimeInfoBox : public CairoHPacker, public ARDOUR::SessionHandlePtr { - public: - TimeInfoBox (); - ~TimeInfoBox (); +public: + TimeInfoBox (bool with_punch); + ~TimeInfoBox (); - void set_session (ARDOUR::Session*); + void set_session (ARDOUR::Session*); - protected: - bool on_expose_event (GdkEventExpose*); +private: + Gtk::Table table; - private: - AudioClock* selection_start; - AudioClock* selection_end; - AudioClock* selection_length; - - AudioClock* punch_start; - AudioClock* punch_end; + AudioClock* selection_start; + AudioClock* selection_end; + AudioClock* selection_length; - Gtk::Label selection_title; - Gtk::Label punch_title; - bool syncing_selection; - bool syncing_punch; + AudioClock* punch_start; + AudioClock* punch_end; - void punch_changed (ARDOUR::Location*); - void punch_location_changed (ARDOUR::Location*); - void watch_punch (ARDOUR::Location*); - PBD::ScopedConnectionList punch_connections; + Gtk::Label selection_title; + Gtk::Label punch_title; + bool syncing_selection; + bool syncing_punch; + bool with_punch_clock; - void selection_changed (); + void punch_changed (ARDOUR::Location*); + void punch_location_changed (ARDOUR::Location*); + void watch_punch (ARDOUR::Location*); + PBD::ScopedConnectionList punch_connections; + PBD::ScopedConnectionList editor_connections; + PBD::ScopedConnectionList region_property_connections; - void sync_selection_mode (AudioClock*); - void sync_punch_mode (AudioClock*); + void selection_changed (); - bool clock_button_release_event (GdkEventButton* ev, AudioClock* src); -}; + void sync_selection_mode (AudioClock*); + void sync_punch_mode (AudioClock*); + bool clock_button_release_event (GdkEventButton* ev, AudioClock* src); + void track_mouse_mode (); + void region_property_change (boost::shared_ptr r, const PBD::PropertyChange& what_changed); +}; #endif /* __time_info_box_h__ */