diff options
author | David Robillard <d@drobilla.net> | 2014-01-07 04:53:47 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2014-01-07 04:53:47 +0000 |
commit | 2aa1cf33b26c76b024913d1994066c627075bbbd (patch) | |
tree | 3b9f05646e069345792ff214bf91ef57eab4927b /src/gui/GraphCanvas.hpp | |
parent | d30907023903bc7b4a2de16d3fe5d7674861e394 (diff) | |
download | ingen-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.hpp | 32 |
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; |