summaryrefslogtreecommitdiffstats
path: root/src/progs/gtk/PortController.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/progs/gtk/PortController.h')
-rw-r--r--src/progs/gtk/PortController.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/progs/gtk/PortController.h b/src/progs/gtk/PortController.h
index ee4dc41f..34919129 100644
--- a/src/progs/gtk/PortController.h
+++ b/src/progs/gtk/PortController.h
@@ -20,6 +20,7 @@
#include <string>
#include <gtkmm.h>
#include "GtkObjectController.h"
+#include "OmPortModule.h"
using std::string;
using namespace LibOmClient;
@@ -33,8 +34,11 @@ namespace OmGtk {
class Controller;
class OmPort;
+class OmPatchPort;
class ControlPanel;
class OmModule;
+class OmPortModule;
+class OmFlowCanvas;
/** Controller for a port on a (non-patch) node.
@@ -49,6 +53,8 @@ public:
virtual void destroy();
+ virtual void create_module(OmFlowCanvas* canvas, double x, double y);
+ OmPortModule* module() { return m_module; }
/*
virtual void add_to_store();
virtual void remove_from_store();
@@ -63,10 +69,12 @@ public:
ControlPanel* control_panel() const { return m_control_panel; }
void set_control_panel(ControlPanel* cp);
- CountedPtr<PortModel> port_model() const { return CountedPtr<PortModel>((PortModel*)m_model.get()); }
+ CountedPtr<PortModel> port_model() const { return m_model; }
private:
- OmPort* m_port; ///< Canvas module port
+ OmPatchPort* m_patch_port; ///< Port on m_module
+ OmPortModule* m_module; ///< Port pseudo-module (for patch ports only)
+ OmPort* m_port; ///< Port on some other canvas module
ControlPanel* m_control_panel; ///< Control panel that contains this port
};