#include "pbd/signals.h"
#include "ardour/types.h"
+#include "ardour/presentation_info.h"
#include "ardour/region.h"
+
#include "evoral/Parameter.hpp"
#include "canvas/line.h"
class Session;
class RouteGroup;
class Playlist;
+ class Stripable;
}
namespace Gtk {
static void setup_sizes ();
+ virtual boost::shared_ptr<ARDOUR::Stripable> stripable() const = 0;
+ virtual ARDOUR::PresentationInfo const & presentation_info () const = 0;
+
/** @return index of this TimeAxisView within its parent */
int order () const { return _order; }
/** @return true if hidden, otherwise false */
bool hidden () const { return _hidden; }
- void set_selected (bool);
+ virtual bool selectable() const { return true; }
/**
* potential handler for entered events
Gtk::VBox time_axis_vbox;
Gtk::HBox time_axis_hbox;
Gtk::Frame time_axis_frame;
- Gtk::HBox name_hbox;
Gtk::HBox top_hbox;
- Gtk::Label name_label;
Gtk::Fixed scroomer_placeholder;
bool _name_editing;
uint32_t height; /* in canvas units */
virtual bool can_edit_name() const;
- bool name_entry_key_release (GdkEventKey *ev);
- bool name_entry_key_press (GdkEventKey *ev);
- bool name_entry_focus_out (GdkEventFocus *ev);
-
- Gtk::Entry* name_entry;
void begin_name_edit ();
- void end_name_edit (int);
+ void end_name_edit (std::string, int);
/* derived classes can override these */
- virtual void name_entry_changed ();
+ virtual bool name_entry_changed (std::string const&);
/** Handle mouse relaese on our LHS control name ebox.
*
void build_size_menu ();
-private:
+ protected:
+ void show_selected ();
+
+ private:
Gtk::VBox* control_parent;
int _order;
uint32_t _effective_height;