diff options
author | David Robillard <d@drobilla.net> | 2006-09-11 11:10:35 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2006-09-11 11:10:35 +0000 |
commit | b15864870d34a1188eda93ad215734275037278e (patch) | |
tree | 224a1669a29091ea4198425d4a002e448cde8b30 /src/progs/ingenuity/NodeController.h | |
parent | 22bf43352ddfc48452d776f10ad4d12161255049 (diff) | |
download | ingen-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/NodeController.h')
-rw-r--r-- | src/progs/ingenuity/NodeController.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/progs/ingenuity/NodeController.h b/src/progs/ingenuity/NodeController.h index 84ac09cd..c0ee6ea9 100644 --- a/src/progs/ingenuity/NodeController.h +++ b/src/progs/ingenuity/NodeController.h @@ -20,14 +20,13 @@ #include <string> #include <gtkmm.h> #include "util/Path.h" +#include "util/CountedPtr.h" #include "GtkObjectController.h" #include "NodeModel.h" using std::string; using namespace Ingen::Client; -template <class T> class CountedPtr; - namespace Ingen { namespace Client { class MetadataModel; class PortModel; @@ -49,10 +48,7 @@ class OmFlowCanvas; class NodeController : public GtkObjectController { public: - NodeController(CountedPtr<NodeModel> model); virtual ~NodeController(); - - virtual void destroy(); virtual void metadata_update(const string& key, const string& value); @@ -68,10 +64,10 @@ public: OmModule* module() { return m_module; } - void bridge_port(PortController* port) { m_bridge_port = port; } - PortController* as_port() { return m_bridge_port; } + //void bridge_port(PortController* port) { m_bridge_port = port; } + //PortController* as_port() { return m_bridge_port; } - CountedPtr<NodeModel> node_model() { return m_model; } + CountedPtr<NodeModel> node_model() { return PtrCast<NodeModel>(m_model); } NodeControlWindow* control_window() { return m_control_window; } void control_window(NodeControlWindow* cw) { m_control_window = cw; } @@ -89,6 +85,12 @@ public: virtual void disable_controls_menuitem(); protected: + friend class ControllerFactory; + + NodeController(CountedPtr<NodeModel> model); + + virtual void destroy(); + virtual void add_port(CountedPtr<PortModel> pm); void create_all_ports(); |