X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Ftime_axis_view_item.h;h=18d6638738cab141d121db24249593da17462e28;hb=a606a83d2ec43d9fbf9b65969afb3b3c46c546fa;hp=bae0a27506ae7c27858b3b178142c4a6f20e4dcb;hpb=6edccc3070b813157ffcd4014ec8dd7fa6ed9ce7;p=ardour.git diff --git a/gtk2_ardour/time_axis_view_item.h b/gtk2_ardour/time_axis_view_item.h index bae0a27506..18d6638738 100644 --- a/gtk2_ardour/time_axis_view_item.h +++ b/gtk2_ardour/time_axis_view_item.h @@ -176,6 +176,9 @@ class TimeAxisViewItem : public Selectable * @param yn true if this item should show its selected status */ virtual void set_should_show_selection (bool yn) ; + + void set_sensitive (bool yn) { _sensitive = yn; } + bool sensitive () const { return _sensitive; } //---------------------------------------------------------------------------------------// // Parent Component Methods @@ -196,14 +199,9 @@ class TimeAxisViewItem : public Selectable * * @param new_name the new name text to display */ - void set_name_text(std::string new_name) ; + void set_name_text(const Glib::ustring& new_name) ; - /** - * Set the height of this item - * - * @param h the new height - */ - virtual void set_height(double h) ; + virtual void set_y_position_and_height(double y, double h) ; /** * @@ -263,7 +261,7 @@ class TimeAxisViewItem : public Selectable bool name_active() const { return name_connected; } // Default sizes, font and spacing - static Pango::FontDescription NAME_FONT ; + static Pango::FontDescription* NAME_FONT ; static bool have_name_font; static const double NAME_X_OFFSET ; static const double GRAB_HANDLE_LENGTH ; @@ -339,6 +337,10 @@ class TimeAxisViewItem : public Selectable */ TimeAxisViewItem(const std::string & it_name, ArdourCanvas::Group& parent, TimeAxisView& tv, double spu, Gdk::Color& base_color, nframes_t start, nframes_t duration, Visibility v = Visibility (0)); + + TimeAxisViewItem (const TimeAxisViewItem& other); + + void init (const std::string& it_name, double spu, Gdk::Color& base_color, nframes_t start, nframes_t duration, Visibility vis); /** * Calculates some contrasting color for displaying various parts of this item, based upon the base color @@ -355,7 +357,7 @@ class TimeAxisViewItem : public Selectable /** * Sets the frame color depending on whether this item is selected */ - void set_frame_color() ; + virtual void set_frame_color() ; /** * Sets the colors of the start and end trim handle depending on object state @@ -408,6 +410,9 @@ class TimeAxisViewItem : public Selectable /** should the item show its selected status */ bool should_show_selection; + + /** should the item respond to events */ + bool _sensitive; /** * The unique item name of this Item @@ -451,6 +456,11 @@ class TimeAxisViewItem : public Selectable ArdourCanvas::SimpleRect* frame_handle_start; ArdourCanvas::SimpleRect* frame_handle_end; + int name_text_width; + double last_name_text_width; + + std::map name_text_size_cache; + Visibility visibility; }; /* class TimeAxisViewItem */