summaryrefslogtreecommitdiffstats
path: root/src/progs/ingenuity/PatchView.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-09-13 06:11:25 +0000
committerDavid Robillard <d@drobilla.net>2006-09-13 06:11:25 +0000
commite5675ebfeb93175e16762d0a078bd51d15d05f63 (patch)
tree189249ed9014e4c482cfaed0d6af28ced68570ca /src/progs/ingenuity/PatchView.h
parent23b7568ab7a87a79c186b8ddf3d3db4f1f934b06 (diff)
downloadingen-e5675ebfeb93175e16762d0a078bd51d15d05f63.tar.gz
ingen-e5675ebfeb93175e16762d0a078bd51d15d05f63.tar.bz2
ingen-e5675ebfeb93175e16762d0a078bd51d15d05f63.zip
Heavy-duty redesign of client library and GUI (now fully signal driven with clean Model/View separation).
Smarter, centralized window creation/management (should make window unification easy (panes?)). Typed metadata system, no more fugly string conversion of floats. Supports OSC fundamental types string, int, float, blob for now (though blob isn't working over the wire yet). git-svn-id: http://svn.drobilla.net/lad/ingen@131 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/progs/ingenuity/PatchView.h')
-rw-r--r--src/progs/ingenuity/PatchView.h32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/progs/ingenuity/PatchView.h b/src/progs/ingenuity/PatchView.h
index 59e16aad..a6484b97 100644
--- a/src/progs/ingenuity/PatchView.h
+++ b/src/progs/ingenuity/PatchView.h
@@ -21,12 +21,12 @@
#include <gtkmm.h>
#include <libglademm/xml.h>
#include <libglademm.h>
+#include "util/CountedPtr.h"
+#include "PatchModel.h"
using std::string;
namespace Ingen { namespace Client {
- class PatchModel;
- class NodeModel;
class PortModel;
class ControlModel;
class MetadataModel;
@@ -36,7 +36,6 @@ using namespace Ingen::Client;
namespace Ingenuity {
-class PatchController;
class OmFlowCanvas;
class LoadPluginWindow;
class NewSubpatchWindow;
@@ -56,28 +55,29 @@ class PatchView : public Gtk::Box
{
public:
PatchView(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& glade_xml);
-
- void patch_controller(PatchController* pc);
+ ~PatchView();
+
+ OmFlowCanvas* canvas() const { return _canvas; }
+ CountedPtr<PatchModel> patch() const { return _patch; }
+ Gtk::Viewport* breadcrumb_container() const { return _breadcrumb_container; }
- OmFlowCanvas* canvas() const { return _canvas; }
- PatchController* patch_controller() const { return _patch; }
- Gtk::Viewport* breadcrumb_container() const { return _breadcrumb_container; }
- void show_control_window();
+ static CountedPtr<PatchView> create(CountedPtr<PatchModel> patch);
+private:
+ void set_patch(CountedPtr<PatchModel> patch);
+ void process_toggled();
+ void clear_clicked();
+
void enable();
void disable();
void zoom_full();
-private:
- void process_toggled();
- void clear_clicked();
-
- PatchController* _patch;
- OmFlowCanvas* _canvas;
+ CountedPtr<PatchModel> _patch;
+ OmFlowCanvas* _canvas;
- Gtk::ScrolledWindow* _canvas_scrolledwindow;
+ Gtk::ScrolledWindow* _canvas_scrolledwindow;
Gtk::ToggleToolButton* _process_but;
Gtk::SpinButton* _poly_spin;