summaryrefslogtreecommitdiffstats
path: root/src/progs/ingenuity/PatchView.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-09-11 11:10:35 +0000
committerDavid Robillard <d@drobilla.net>2006-09-11 11:10:35 +0000
commitb15864870d34a1188eda93ad215734275037278e (patch)
tree224a1669a29091ea4198425d4a002e448cde8b30 /src/progs/ingenuity/PatchView.cpp
parent22bf43352ddfc48452d776f10ad4d12161255049 (diff)
downloadingen-b15864870d34a1188eda93ad215734275037278e.tar.gz
ingen-b15864870d34a1188eda93ad215734275037278e.tar.bz2
ingen-b15864870d34a1188eda93ad215734275037278e.zip
Switched homebrew CountedPtr to boost::shared_ptr.
Factories for patch windows, controller. Robustness updated in many places. Tons of cleanups, rewrites, bugfixes, etc. git-svn-id: http://svn.drobilla.net/lad/ingen@128 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/progs/ingenuity/PatchView.cpp')
-rw-r--r--src/progs/ingenuity/PatchView.cpp29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/progs/ingenuity/PatchView.cpp b/src/progs/ingenuity/PatchView.cpp
index bce44369..90c0083e 100644
--- a/src/progs/ingenuity/PatchView.cpp
+++ b/src/progs/ingenuity/PatchView.cpp
@@ -52,36 +52,34 @@ PatchView::PatchView(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::X
xml->get_widget("patch_view_zoom_full_but", _zoom_full_but);
xml->get_widget("patch_view_zoom_normal_but", _zoom_normal_but);
xml->get_widget("patch_view_scrolledwindow", _canvas_scrolledwindow);
-
- _process_but->signal_toggled().connect(sigc::mem_fun(this, &PatchView::process_toggled));
}
-/** Sets the patch controller for this window and initializes everything.
- *
- * This function MUST be called before using the window in any way!
- */
void
PatchView::patch_controller(PatchController* pc)
{
- //m_patch = new PatchController(pm, controller);
_patch = pc;
-
_canvas = new OmFlowCanvas(pc, 1600*2, 1200*2);
_canvas_scrolledwindow->add(*_canvas);
- //_canvas->show();
- //_canvas_scrolledwindow->show();
_poly_spin->set_value(pc->patch_model()->poly());
-
+ _destroy_but->set_sensitive(pc->path() != "/");
//_description_window->patch_model(pc->model());
+
pc->patch_model()->enabled_sig.connect(sigc::mem_fun(this, &PatchView::enable));
pc->patch_model()->disabled_sig.connect(sigc::mem_fun(this, &PatchView::disable));
+
+ _process_but->signal_toggled().connect(sigc::mem_fun(this, &PatchView::process_toggled));
+
+ _clear_but->signal_clicked().connect(sigc::mem_fun(this, &PatchView::clear_clicked));
+
+ _zoom_normal_but->signal_clicked().connect(sigc::bind(sigc::mem_fun(
+ static_cast<FlowCanvas*>(_canvas), &FlowCanvas::set_zoom), 1.0));
- _zoom_normal_but->signal_clicked().connect(sigc::bind(sigc::mem_fun(static_cast<FlowCanvas*>(_canvas), &FlowCanvas::set_zoom), 1.0));
- _zoom_full_but->signal_clicked().connect(sigc::mem_fun(static_cast<FlowCanvas*>(_canvas), &FlowCanvas::zoom_full));
+ _zoom_full_but->signal_clicked().connect(
+ sigc::mem_fun(static_cast<FlowCanvas*>(_canvas), &FlowCanvas::zoom_full));
}
@@ -108,6 +106,11 @@ PatchView::process_toggled()
}
}
+void
+PatchView::clear_clicked()
+{
+ App::instance().engine()->clear_patch(_patch->path());
+}
void
PatchView::enable()