summaryrefslogtreecommitdiffstats
path: root/src/gui/GraphCanvas.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-01-07 04:53:47 +0000
committerDavid Robillard <d@drobilla.net>2014-01-07 04:53:47 +0000
commit2aa1cf33b26c76b024913d1994066c627075bbbd (patch)
tree3b9f05646e069345792ff214bf91ef57eab4927b /src/gui/GraphCanvas.hpp
parentd30907023903bc7b4a2de16d3fe5d7674861e394 (diff)
downloadingen-2aa1cf33b26c76b024913d1994066c627075bbbd.tar.gz
ingen-2aa1cf33b26c76b024913d1994066c627075bbbd.tar.bz2
ingen-2aa1cf33b26c76b024913d1994066c627075bbbd.zip
Factor out plugin menu code into a separate class.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5297 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/GraphCanvas.hpp')
-rw-r--r--src/gui/GraphCanvas.hpp32
1 files changed, 6 insertions, 26 deletions
diff --git a/src/gui/GraphCanvas.hpp b/src/gui/GraphCanvas.hpp
index 6592106b..47d267d2 100644
--- a/src/gui/GraphCanvas.hpp
+++ b/src/gui/GraphCanvas.hpp
@@ -39,6 +39,7 @@ namespace Client { class GraphModel; }
namespace GUI {
class NodeModule;
+class PluginMenu;
/** Graph canvas widget.
*
@@ -86,9 +87,10 @@ private:
const std::string& sym_base, std::string& sym,
const std::string& name_base, std::string& name);
- void menu_add_port(
- const std::string& sym_base, const std::string& name_base,
- const Raul::URI& type, bool is_output);
+ void menu_add_port(const std::string& sym_base,
+ const std::string& name_base,
+ const Raul::URI& type,
+ bool is_output);
void menu_load_plugin();
void menu_new_graph();
@@ -98,21 +100,10 @@ private:
void build_menus();
- void build_internal_menu();
- void build_classless_menu();
- void add_plugin_to_menu(Gtk::Menu* menu, SPtr<Client::PluginModel> p);
-
void auto_menu_position(int& x, int& y, bool& push_in);
typedef std::multimap<const std::string, const LilvPluginClass*> LV2Children;
- void build_plugin_menu();
- size_t build_plugin_class_menu(Gtk::Menu* menu,
- const LilvPluginClass* plugin_class,
- const LilvPluginClasses* classes,
- const LV2Children& children,
- std::set<const char*>& ancestors);
-
Node::Properties get_initial_data(Resource::Graph ctx=Resource::Graph::DEFAULT);
Ganv::Port* get_port_view(SPtr<Client::PortModel> port);
@@ -139,20 +130,9 @@ private:
// Track pasted objects so they can be selected when they arrive
std::set<Raul::Path> _pastees;
- struct MenuRecord {
- MenuRecord(Gtk::MenuItem* i, Gtk::Menu* m) : item(i), menu(m) {}
- Gtk::MenuItem* item;
- Gtk::Menu* menu;
- };
-
- typedef std::multimap<const std::string, MenuRecord> ClassMenus;
-
- ClassMenus _class_menus;
-
Gtk::Menu* _menu;
Gtk::Menu* _internal_menu;
- Gtk::Menu* _classless_menu;
- Gtk::Menu* _plugin_menu;
+ PluginMenu* _plugin_menu;
Gtk::MenuItem* _menu_add_audio_input;
Gtk::MenuItem* _menu_add_audio_output;
Gtk::MenuItem* _menu_add_control_input;