diff options
Diffstat (limited to 'src/gui/NodeModule.hpp')
-rw-r--r-- | src/gui/NodeModule.hpp | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/src/gui/NodeModule.hpp b/src/gui/NodeModule.hpp deleted file mode 100644 index 863b6ffb..00000000 --- a/src/gui/NodeModule.hpp +++ /dev/null @@ -1,104 +0,0 @@ -/* - This file is part of Ingen. - Copyright 2007-2015 David Robillard <http://drobilla.net/> - - Ingen is free software: you can redistribute it and/or modify it under the - terms of the GNU Affero General Public License as published by the Free - Software Foundation, either version 3 of the License, or 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 Affero General Public License for details. - - You should have received a copy of the GNU Affero General Public License - along with Ingen. If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef INGEN_GUI_NODEMODULE_HPP -#define INGEN_GUI_NODEMODULE_HPP - -#include "ganv/Module.hpp" -#include "ingen/types.hpp" - -#include "Port.hpp" - -namespace Raul { class Atom; } - -namespace Ingen { namespace Client { -class BlockModel; -class PluginUI; -class PortModel; -} } - -namespace Ingen { -namespace GUI { - -class GraphCanvas; -class Port; -class NodeMenu; - -/** A module in a graphn. - * - * This base class is extended for various types of modules. - * - * \ingroup GUI - */ -class NodeModule : public Ganv::Module -{ -public: - static NodeModule* create( - GraphCanvas& canvas, - SPtr<const Client::BlockModel> block, - bool human); - - virtual ~NodeModule(); - - App& app() const; - - Port* port(SPtr<const Client::PortModel> model); - - void delete_port_view(SPtr<const Client::PortModel> model); - - virtual void store_location(double ax, double ay); - void show_human_names(bool b); - - SPtr<const Client::BlockModel> block() const { return _block; } - -protected: - NodeModule(GraphCanvas& canvas, SPtr<const Client::BlockModel> block); - - virtual bool on_double_click(GdkEventButton* ev); - - bool idle_init(); - bool on_event(GdkEvent* ev); - - void on_embed_gui_toggled(bool embed); - void embed_gui(bool embed); - bool popup_gui(); - void on_gui_window_close(); - bool on_selected(gboolean selected); - - void rename(); - void property_changed(const URI& key, const Atom& value); - - void new_port_view(SPtr<const Client::PortModel> port); - - void port_activity(uint32_t index, const Atom& value); - void port_value_changed(uint32_t index, const Atom& value); - void plugin_changed(); - void set_control_values(); - - bool show_menu(GdkEventButton* ev); - - SPtr<const Client::BlockModel> _block; - NodeMenu* _menu; - SPtr<Client::PluginUI> _plugin_ui; - Gtk::Widget* _gui_widget; - Gtk::Window* _gui_window; ///< iff popped up - bool _initialised; -}; - -} // namespace GUI -} // namespace Ingen - -#endif // INGEN_GUI_NODEMODULE_HPP |