#include <gtkmm2ext/focus_entry.h>
-#include <pbd/stateful.h>
+#include "pbd/stateful.h"
-#include <ardour/types.h>
-#include <ardour/region.h>
-#include <evoral/Parameter.hpp>
+#include "ardour/types.h"
+#include "ardour/region.h"
+#include "evoral/Parameter.hpp"
#include "prompter.h"
#include "axis_view.h"
class Selectable;
class RegionView;
class GhostRegion;
+class StreamView;
/** Abstract base class for time-axis views (horizontal editor 'strips')
*
/** @return index of this TimeAxisView within its parent */
int order () const { return _order; }
+ /** @return maximum allowable value of order */
+ static int max_order () { return _max_order; }
+
ArdourCanvas::Group* canvas_display () { return _canvas_display; }
ArdourCanvas::Group* canvas_background () { return _canvas_background; }
ArdourCanvas::Group* ghost_group () { return _ghost_group; }
virtual void set_height (uint32_t h);
void reset_height();
- TimeAxisView* covers_y_position (double y);
+ std::pair<TimeAxisView*, ARDOUR::layer_t> covers_y_position (double);
/**
* Steps through the defined heights for this TrackView.
void order_selection_trims (ArdourCanvas::Item *item, bool put_start_on_top);
- virtual void get_selectables (nframes_t start, nframes_t end, double top, double bot, list<Selectable*>& results);
- virtual void get_inverted_selectables (Selection&, list<Selectable *>& results);
+ virtual void get_selectables (nframes_t start, nframes_t end, double top, double bot, std::list<Selectable*>& results);
+ virtual void get_inverted_selectables (Selection&, std::list<Selectable *>& results);
void add_ghost (RegionView*);
void remove_ghost (RegionView*);
/* call this on the parent */
virtual XMLNode* get_automation_child_xml_node (Evoral::Parameter param) { return 0; }
+
+ virtual LayerDisplay layer_display () const { return Overlaid; }
+ virtual StreamView* view () const { return 0; }
typedef std::vector<boost::shared_ptr<TimeAxisView> > Children;
uint32_t height; /* in canvas units */
- string controls_base_unselected_name;
- string controls_base_selected_name;
+ std::string controls_base_unselected_name;
+ std::string controls_base_selected_name;
bool name_entry_button_press (GdkEventButton *ev);
bool name_entry_button_release (GdkEventButton *ev);
ArdourCanvas::Group *selection_group;
- list<GhostRegion*> ghosts;
+ std::list<GhostRegion*> ghosts;
- list<SelectionRect*> free_selection_rects;
- list<SelectionRect*> used_selection_rects;
+ std::list<SelectionRect*> free_selection_rects;
+ std::list<SelectionRect*> used_selection_rects;
SelectionRect* get_selection_rect(uint32_t id);
double _resize_drag_start;
int32_t _resize_idle_target;
ArdourCanvas::Group* _ghost_group;
+
+ static int const _max_order;
}; /* class TimeAxisView */