r.intersect ((*i)->parent_rectangle(), intersects);
if (intersects) {
-
+
gdk_draw_drawable (
get_window()->gobj(),
get_style()->get_fg_gc (Gtk::STATE_NORMAL)->gobj(),
if (_matrix->visible_rows()) {
PortGroup::BundleList r = _matrix->visible_rows()->bundles ();
for (PortGroup::BundleList::iterator i = r.begin(); i != r.end(); ++i) {
-
+
(*i)->bundle->Changed.connect (_bundle_connections, invalidator (*this), boost::bind (&PortMatrixBody::rebuild_and_draw_row_labels, this), gui_context());
-
+
}
}
-
+
if (_matrix->visible_columns()) {
PortGroup::BundleList c = _matrix->visible_columns()->bundles ();
for (PortGroup::BundleList::iterator i = c.begin(); i != c.end(); ++i) {
(*i)->bundle->Changed.connect (_bundle_connections, invalidator (*this), boost::bind (&PortMatrixBody::rebuild_and_draw_column_labels, this), gui_context());
}
}
-
+
for (list<PortMatrixComponent*>::iterator i = _components.begin(); i != _components.end(); ++i) {
(*i)->setup ();
}
set_mouseover (PortMatrixNode ());
-
+
_ignore_component_size_changed = true;
compute_rectangles ();
_ignore_component_size_changed = false;
(*i)->button_press (
(*i)->parent_to_component_x (ev->x),
(*i)->parent_to_component_y (ev->y),
- ev->button, ev->time, ev->state
+ ev
);
}
}
(*i)->button_release (
(*i)->parent_to_component_x (ev->x),
(*i)->parent_to_component_y (ev->y),
- ev->button, ev->time, ev->state
+ ev
);
} else {
(*i)->button_release (
-1, -1,
- ev->button, ev->time, ev->state
+ ev
);
}
}
PortMatrixBody::on_motion_notify_event (GdkEventMotion* ev)
{
bool done = false;
-
+
for (list<PortMatrixComponent*>::iterator i = _components.begin(); i != _components.end(); ++i) {
if (Gdk::Region ((*i)->parent_rectangle()).point_in (ev->x, ev->y)) {
(*i)->motion (
done = true;
}
}
-
+
if (!done) {
set_mouseover (PortMatrixNode ());
list<PortMatrixNode> old = _mouseover;
_mouseover = n;
-
+
for (list<PortMatrixComponent*>::iterator i = _components.begin(); i != _components.end(); ++i) {
(*i)->mouseover_changed (old);
}
ARDOUR::BundleChannel bc[2];
bc[dim] = h;
- if (!bc[dim].bundle) {
+ if (!PortMatrix::bundle_with_channels (bc[dim].bundle)) {
return;
}
if (_ignore_component_size_changed) {
return;
}
-
+
compute_rectangles ();
_matrix->setup_scrollbars ();
}