#include <gtkmm/box.h>
#include <gtkmm/label.h>
+#include <gtkmm/table.h>
+
+#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;
class AudioClock;
-class TimeInfoBox : public Gtk::Table, public ARDOUR::SessionHandlePtr
+class TimeInfoBox : public CairoHPacker, public ARDOUR::SessionHandlePtr
{
public:
TimeInfoBox ();
void set_session (ARDOUR::Session*);
- protected:
- bool on_expose_event (GdkEventExpose*);
-
private:
+ Gtk::Table left;
+ Gtk::Table right;
+
AudioClock* selection_start;
AudioClock* selection_end;
AudioClock* selection_length;
-
+
AudioClock* punch_start;
AudioClock* punch_end;
void punch_location_changed (ARDOUR::Location*);
void watch_punch (ARDOUR::Location*);
PBD::ScopedConnectionList punch_connections;
-
PBD::ScopedConnectionList editor_connections;
+ PBD::ScopedConnectionList region_property_connections;
+
+ ArdourButton punch_in_button;
+ ArdourButton punch_out_button;
void selection_changed ();
bool clock_button_release_event (GdkEventButton* ev, AudioClock* src);
void track_mouse_mode ();
+ void region_property_change (boost::shared_ptr<ARDOUR::Region> r, const PBD::PropertyChange& what_changed);
};