remove all MIDI-specific editing modes by making standard work either at object level...
[ardour.git] / gtk2_ardour / editor_canvas.cc
index 9e7da30a89e8676071227b04b5ced84d9cb4d990..b99189218a0fcd362a3e7b8ed0abc6b48f97b709 100644 (file)
@@ -41,6 +41,8 @@
 #include "audio_time_axis.h"
 #include "editor_drag.h"
 #include "region_view.h"
+#include "editor_group_tabs.h"
+#include "editor_routes.h"
 
 #include "i18n.h"
 
@@ -372,21 +374,22 @@ Editor::track_canvas_size_allocated ()
 void
 Editor::controls_layout_size_request (Requisition* req)
 {
-       TreeModel::Children rows = route_display_model->children();
-       TreeModel::Children::iterator i;
-       double pos;
-       bool changed = false;
-
-       for (pos = 0, i = rows.begin(); i != rows.end(); ++i) {
-               TimeAxisView *tv = (*i)[route_display_columns.tv];
-               if (tv != 0) {
-                       pos += tv->effective_height ();
-                       tv->clip_to_viewport ();
-               }
+       double pos = 0;
+       for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
+               pos += (*i)->effective_height ();
+               (*i)->clip_to_viewport ();
        }
 
        gint height = min ((gint) pos, (gint) (physical_screen_height - 600));
-       gint width = max (edit_controls_vbox.get_width(),  controls_layout.get_width());
+       
+       bool changed = false;
+
+       gint w = edit_controls_vbox.get_width();
+       if (_group_tabs->is_mapped()) {
+               w += _group_tabs->get_width ();
+       }
+               
+       gint width = max (w, controls_layout.get_width());
 
        /* don't get too big. the fudge factors here are just guesses */
 
@@ -399,6 +402,9 @@ Editor::controls_layout_size_request (Requisition* req)
 
        if (req->width != width) {
                gint vbox_width = edit_controls_vbox.get_width();
+               if (_group_tabs->is_mapped()) {
+                       vbox_width += _group_tabs->get_width();
+               }
                req->width = width;
 
                /* this one is important: it determines how big the layout thinks it really is, as 
@@ -424,9 +430,11 @@ Editor::controls_layout_size_request (Requisition* req)
 }
 
 bool
-Editor::track_canvas_map_handler (GdkEventAny* ev)
+Editor::track_canvas_map_handler (GdkEventAny* /*ev*/)
 {
-       track_canvas->get_window()->set_cursor (*current_canvas_cursor);
+       if (current_canvas_cursor) {
+               track_canvas->get_window()->set_cursor (*current_canvas_cursor);
+       }
        return false;
 }
 
@@ -528,10 +536,10 @@ Editor::drop_paths (const RefPtr<Gdk::DragContext>& context,
 }
 
 void
-Editor::drop_regions (const RefPtr<Gdk::DragContext>& context,
-                     int x, int y
-                     const SelectionData& data,
-                     guint info, guint time)
+Editor::drop_regions (const RefPtr<Gdk::DragContext>& /*context*/,
+                     int /*x*/, int /*y*/
+                     const SelectionData& /*data*/,
+                     guint /*info*/, guint /*time*/)
 {
        assert (_drag);
        _drag->end_grab (0);
@@ -748,7 +756,7 @@ Editor::stop_canvas_autoscroll ()
 }
 
 bool
-Editor::left_track_canvas (GdkEventCrossing *ev)
+Editor::left_track_canvas (GdkEventCrossing */*ev*/)
 {
        set_entered_track (0);
        set_entered_regionview (0);
@@ -757,7 +765,7 @@ Editor::left_track_canvas (GdkEventCrossing *ev)
 }
 
 bool
-Editor::entered_track_canvas (GdkEventCrossing *ev)
+Editor::entered_track_canvas (GdkEventCrossing */*ev*/)
 {
        reset_canvas_action_sensitivity (true);
        return FALSE;