_bundles.push_back (r);
- Modified ();
+ Changed ();
}
/** Add a bundle to a group.
_bundles.push_back (r);
- Modified ();
+ Changed ();
}
void
i->changed_connection.disconnect ();
_bundles.erase (i);
- Modified ();
+ Changed ();
}
void
}
_bundles.clear ();
- Modified ();
+ Changed ();
}
bool
{
_groups.push_back (g);
- g->Modified.connect (sigc::mem_fun (*this, &PortGroupList::emit_changed));
+ g->Changed.connect (sigc::mem_fun (*this, &PortGroupList::emit_changed));
_bundle_changed_connections.push_back (
g->BundleChanged.connect (sigc::hide (sigc::mem_fun (*this, &PortGroupList::emit_changed)))
void set_visible (bool v) {
_visible = v;
- Modified ();
+ Changed ();
}
bool has_port (std::string const &) const;
- sigc::signal<void> Modified;
+ sigc::signal<void> Changed;
sigc::signal<void, ARDOUR::Bundle::Change> BundleChanged;
struct BundleRecord {
_min_height_divisor (1),
_show_only_bundles (false),
_inhibit_toggle_show_only_bundles (false),
- _first_setup (true)
+ _realized (false)
{
_body = new PortMatrixBody (this);
void
PortMatrix::setup ()
{
- if (_first_setup) {
+ if (!_realized) {
select_arrangement ();
}
setup_scrollbars ();
queue_draw ();
- _first_setup = false;
-
show_all ();
}
return m;
}
+
+void
+PortMatrix::on_realize ()
+{
+ Widget::on_realize ();
+ _realized = true;
+}
+
+void
+PortMatrix::on_unrealize ()
+{
+ Widget::on_unrealize ();
+ _realized = false;
+}
void hide_group (boost::weak_ptr<PortGroup>);
void show_group (boost::weak_ptr<PortGroup>);
void toggle_show_only_bundles ();
+ void on_realize ();
+ void on_unrealize ();
/// port type that we are working with
ARDOUR::DataType _type;
int _min_height_divisor;
bool _show_only_bundles;
bool _inhibit_toggle_show_only_bundles;
- bool _first_setup;
+ bool _realized;
};
#endif