summaryrefslogtreecommitdiffstats
path: root/src/progs/gtk/PortController.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-06-21 05:53:27 +0000
committerDavid Robillard <d@drobilla.net>2006-06-21 05:53:27 +0000
commitadac9032064d973ff6cfe1f94d8619c71fe199a3 (patch)
treeb2427a03222042cb79ff530ab1ad7c612475e7b7 /src/progs/gtk/PortController.cpp
parent9e6189fadd0fa1ff3636b50e84549da01fdbe7ba (diff)
downloadingen-adac9032064d973ff6cfe1f94d8619c71fe199a3.tar.gz
ingen-adac9032064d973ff6cfe1f94d8619c71fe199a3.tar.bz2
ingen-adac9032064d973ff6cfe1f94d8619c71fe199a3.zip
Reorganized directory tree/names
git-svn-id: http://svn.drobilla.net/lad/ingen@73 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/progs/gtk/PortController.cpp')
-rw-r--r--src/progs/gtk/PortController.cpp174
1 files changed, 0 insertions, 174 deletions
diff --git a/src/progs/gtk/PortController.cpp b/src/progs/gtk/PortController.cpp
deleted file mode 100644
index a33a2122..00000000
--- a/src/progs/gtk/PortController.cpp
+++ /dev/null
@@ -1,174 +0,0 @@
-/* This file is part of Om. Copyright (C) 2006 Dave Robillard.
- *
- * Om 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.
- *
- * Om 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.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "PortController.h"
-#include "OmModule.h"
-#include "PortModel.h"
-#include "ControlPanel.h"
-#include "OmPort.h"
-#include "OmPatchPort.h"
-#include "Store.h"
-
-namespace OmGtk {
-
-
-PortController::PortController(CountedPtr<PortModel> model)
-: GtkObjectController(model),
- m_module(NULL),
- m_port(NULL),
- m_control_panel(NULL)
-{
- assert(model);
- assert(model->parent());
- assert(model->controller() == NULL);
-
- model->set_controller(this);
-}
-
-/*
-void
-PortController::add_to_store()
-{
- Store::instance().add_object(this);
-}
-
-
-void
-PortController::remove_from_store()
-{
- Store::instance().remove_object(this);
-}
-*/
-
-void
-PortController::destroy()
-{
- assert(m_model->parent());
- NodeController* parent = (NodeController*)m_model->parent()->controller();
- assert(parent != NULL);
-
- if (m_control_panel != NULL)
- m_control_panel->remove_port(path());
-
- parent->remove_port(path(), false);
-}
-
-
-void
-PortController::create_module(OmFlowCanvas* canvas, double x, double y)
-{
- cerr << "Creating port module " << m_model->path() << endl;
-
- assert(canvas);
- assert(port_model());
- m_module = new OmPortModule(canvas, this, x, y);
-
- // FIXME: leak
- m_patch_port = new OmPatchPort(m_module, port_model());
- m_module->add_port(m_patch_port, false);
-
- m_module->move_to(x, y);
-}
-
-
-void
-PortController::metadata_update(const string& key, const string& value)
-{
- // FIXME: double lookups
-
- //cerr << path() << ": " << key << " = " << value << endl;
-
- if (key == "user-min") {
- port_model()->user_min(atof(value.c_str()));
- if (m_control_panel != NULL)
- m_control_panel->set_range_min(m_model->path(), atof(value.c_str()));
- } else if (key == "user-max") {
- port_model()->user_max(atof(value.c_str()));
- if (m_control_panel != NULL)
- m_control_panel->set_range_max(m_model->path(), atof(value.c_str()));
- }
-
- if (m_module != NULL) {
- if (key == "module-x") {
- float x = atof(value.c_str());
- //if (x > 0 && x < m_canvas->width())
- m_module->move_to(x, m_module->property_y().get_value());
- } else if (key == "module-y") {
- float y = atof(value.c_str());
- //if (y > 0 && y < m_canvas->height())
- m_module->move_to(m_module->property_x().get_value(), y);
- }
- }
-
- GtkObjectController::metadata_update(key, value);
-}
-
-
-void
-PortController::control_change(float value)
-{
- // FIXME: double lookups
-
- port_model()->value(value);
-
- if (m_control_panel != NULL)
- m_control_panel->set_control(port_model()->path(), value);
-}
-
-
-/** "Register" a control panel that is monitoring this port.
- *
- * The OmPort will handle notifying the ControlPanel when state
- * changes occur, etc.
- */
-void
-PortController::set_control_panel(ControlPanel* cp)
-{
- assert(m_control_panel == NULL);
- m_control_panel = cp;
-}
-
-
-void
-PortController::set_path(const Path& new_path)
-{
- // Change port name on module, if view exists
- if (m_port != NULL)
- m_port->set_name(new_path.name());
-
- if (m_control_panel != NULL)
- m_control_panel->rename_port(m_model->path(), new_path);
-
- m_model->set_path(new_path);
-}
-
-
-/** Create the visible port on a canvas module.
- *
- * Does not resize the module, caller's responsibility to do so if necessary.
- */
-void
-PortController::create_port(OmModule* module)
-{
- assert(module != NULL);
-
- m_port = new OmPort(module, port_model());
- module->add_port(m_port, false);
-}
-
-
-} // namespace OmGtk
-