summaryrefslogtreecommitdiffstats
path: root/src/progs/ingenuity/PatchController.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/PatchController.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/PatchController.h')
-rw-r--r--src/progs/ingenuity/PatchController.h124
1 files changed, 0 insertions, 124 deletions
diff --git a/src/progs/ingenuity/PatchController.h b/src/progs/ingenuity/PatchController.h
deleted file mode 100644
index e9c0d0b6..00000000
--- a/src/progs/ingenuity/PatchController.h
+++ /dev/null
@@ -1,124 +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 PATCHCONTROLLER_H
-#define PATCHCONTROLLER_H
-
-#include <string>
-#include <gtkmm.h>
-#include "util/CountedPtr.h"
-#include "NodeController.h"
-#include "PatchModel.h"
-
-namespace Ingen { namespace Client {
- class PatchModel;
- class NodeModel;
- class PortModel;
- class ControlModel;
- class ConnectionModel;
-} }
-
-using std::string;
-using namespace Ingen::Client;
-
-namespace Ingenuity {
-
-class PatchWindow;
-class SubpatchModule;
-class Controller;
-class OmFlowCanvas;
-class NodeControlWindow;
-class PatchPropertiesWindow;
-class ControlPanel;
-class PatchView;
-class NodeController;
-
-
-/** Controller for a patch.
- *
- * A patch is different from a port or node because there are two
- * representations in the Gtk client - the window and the module in the parent
- * patch (if applicable). So, this is a master class that contains both of
- * those representations, and acts as the recipient of all patch related
- * events (being the controller).
- *
- * \ingroup Ingenuity
- */
-class PatchController : public NodeController
-{
-public:
- virtual ~PatchController();
-
- /*
- virtual void add_to_store();
- virtual void remove_from_store();
- */
-
- virtual void metadata_update(const string& key, const string& value);
-
- //virtual void add_port(CountedPtr<PortModel> pm);
- //virtual void remove_port(const Path& path, bool resize_module);
-
- void connection(CountedPtr<ConnectionModel> cm);
- void disconnection(const Path& src_port_path, const Path& dst_port_path);
- //void clear();
-
- void show_control_window();
- void show_properties_window();
- void show_patch_window();
-
- void claim_patch_view();
-
- void create_module(OmFlowCanvas* canvas);
-
- CountedPtr<PatchView> get_view();
- PatchWindow* window() const { return m_window; }
- void window(PatchWindow* pw) { m_window = pw; }
-
- void set_path(const Path& new_path);
-
- //void enable();
- //void disable();
-
- const CountedPtr<PatchModel> patch_model() const { return m_patch_model; }
-
-private:
- friend class ControllerFactory;
- PatchController(CountedPtr<PatchModel> model);
-
- void add_node(CountedPtr<NodeModel> object);
-
- PatchPropertiesWindow* m_properties_window;
-
- // FIXME: remove these
- PatchWindow* m_window; ///< Patch Window currently showing m_patch_view
- CountedPtr<PatchView> m_patch_view; ///< View (canvas) of this patch
-
- CountedPtr<PatchModel> m_patch_model;
-
- /** Invisible bin used to store patch view when not shown by a patch window */
- Gtk::Alignment m_patch_view_bin;
-
- // Coordinates for next added plugin (used by canvas menu)
- // 0 means "not set", ie guess at the best location
- int m_module_x;
- int m_module_y;
-};
-
-
-} // namespace Ingenuity
-
-#endif // PATCHCONTROLLER_H