13
0

static global definition for track-header width

the track-header minimum width is defined by
the name-label (IFF the 2nd row fader is not visible,
but the fader is rather small by default and and grows)

track-header width in almost all cases is:
   name-label width
 + width of three button (1 char each)
 + max size of all meters (if visible)
 + width of MIDI scroomer (if visible)
 + 2px table cellspacing (per column)
This commit is contained in:
Robin Gareus 2014-09-02 18:12:39 +02:00
parent eed9542930
commit b184df3286
3 changed files with 6 additions and 3 deletions

View File

@ -432,10 +432,11 @@ RouteTimeAxisView::update_track_number_visibility ()
const int tnw = std::max(2u, _session->track_number_decimals()) * 8; // TODO 8 = max_width_of_digit_0_to_9()
number_label.set_size_request(3 + tnw, -1);
number_label.show ();
name_hbox.set_size_request(95 - tnw, 0);
// -5 = -2 for table border - 3 for padding ^^
name_hbox.set_size_request(TimeAxisView::name_width_px - 5 - tnw, 0);
} else {
number_label.hide ();
name_hbox.set_size_request(100, 0);
name_hbox.set_size_request(TimeAxisView::name_width_px, 0);
}
}

View File

@ -70,6 +70,7 @@ const double trim_handle_size = 6.0; /* pixels */
uint32_t TimeAxisView::button_height = 0;
uint32_t TimeAxisView::extra_height = 0;
int const TimeAxisView::_max_order = 512;
unsigned int TimeAxisView::name_width_px = 100; // TODO adjust with font-scaling on style-change
PBD::Signal1<void,TimeAxisView*> TimeAxisView::CatchDeletion;
Glib::RefPtr<Gtk::SizeGroup> TimeAxisView::controls_meters_size_group = Glib::RefPtr<Gtk::SizeGroup>();
@ -134,7 +135,7 @@ TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisVie
name_hbox.pack_end (name_label, true, true);
// set min. track-header width if fader is not visible
name_hbox.set_size_request(100, 0);
name_hbox.set_size_request(name_width_px, 0);
name_hbox.show ();
name_label.show ();

View File

@ -201,6 +201,7 @@ class TimeAxisView : public virtual AxisView
protected:
static Glib::RefPtr<Gtk::SizeGroup> controls_meters_size_group;
static unsigned int name_width_px;
/* The Standard LHS Controls */
Gtk::Table controls_table;
Glib::RefPtr<Gtk::SizeGroup> controls_button_size_group;