summaryrefslogtreecommitdiffstats
path: root/src/progs/ingenuity/NodeController.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/NodeController.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/NodeController.h')
-rw-r--r--src/progs/ingenuity/NodeController.h116
1 files changed, 0 insertions, 116 deletions
diff --git a/src/progs/ingenuity/NodeController.h b/src/progs/ingenuity/NodeController.h
deleted file mode 100644
index c0ee6ea9..00000000
--- a/src/progs/ingenuity/NodeController.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/* This file is part of Ingen. Copyright (C) 2006 Dave Robillard.
- *
- * Ingen is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option) any later
- * version.
- *
- * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef NODECONTROLLER_H
-#define NODECONTROLLER_H
-
-#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;
-
-namespace Ingen { namespace Client {
- class MetadataModel;
- class PortModel;
-} }
-
-namespace Ingenuity {
-
-class Controller;
-class OmModule;
-class NodeControlWindow;
-class NodePropertiesWindow;
-class PortController;
-class OmFlowCanvas;
-
-/** Controller for a Node.
- *
- * \ingroup Ingenuity
- */
-class NodeController : public GtkObjectController
-{
-public:
- virtual ~NodeController();
-
- virtual void metadata_update(const string& key, const string& value);
-
- virtual void create_module(OmFlowCanvas* canvas);
- virtual void destroy_module();
-
- void set_path(const Path& new_path);
-
- virtual void remove_port(const Path& path, bool resize_module) {}
-
- virtual void program_add(int bank, int program, const string& name) {}
- virtual void program_remove(int bank, int program) {}
-
- OmModule* module() { return m_module; }
-
- //void bridge_port(PortController* port) { m_bridge_port = port; }
- //PortController* as_port() { return m_bridge_port; }
-
- 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; }
-
- virtual void show_control_window();
- virtual void show_properties_window();
- void show_rename_window();
-
- bool has_control_inputs();
-
- virtual void show_menu(GdkEventButton* event)
- { m_menu.popup(event->button, event->time); }
-
- virtual void enable_controls_menuitem();
- 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();
-
- void on_menu_destroy();
- void on_menu_clone();
- void on_menu_learn();
- void on_menu_disconnect_all();
-
- Gtk::Menu m_menu;
- Glib::RefPtr<Gtk::MenuItem> m_controls_menuitem;
-
- OmModule* m_module; ///< View (module on a patch canvas)
-
- NodeControlWindow* m_control_window;
- NodePropertiesWindow* m_properties_window;
- PortController* m_bridge_port;
-};
-
-
-} // namespace Ingenuity
-
-#endif // NODECONTROLLER_H