summaryrefslogtreecommitdiffstats
path: root/src/libs/gui/PatchCanvas.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-08-14 05:09:14 +0000
committerDavid Robillard <d@drobilla.net>2008-08-14 05:09:14 +0000
commitce208602f25d443d4f721d75c9bd9c884ba9e9a6 (patch)
tree4d423d423739f9ef9bade7968bf60ae847925952 /src/libs/gui/PatchCanvas.hpp
parentd09cfd0f5e6a1290ed5e90959f633b3c2d3e9386 (diff)
downloadingen-ce208602f25d443d4f721d75c9bd9c884ba9e9a6.tar.gz
ingen-ce208602f25d443d4f721d75c9bd9c884ba9e9a6.tar.bz2
ingen-ce208602f25d443d4f721d75c9bd9c884ba9e9a6.zip
Defer menu creation until it is actually requested (speeds up startup time-to-patch-window considerably).
Handle new plugins being presented after initialization in plugin menu and dialog. git-svn-id: http://svn.drobilla.net/lad/ingen@1372 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/gui/PatchCanvas.hpp')
-rw-r--r--src/libs/gui/PatchCanvas.hpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libs/gui/PatchCanvas.hpp b/src/libs/gui/PatchCanvas.hpp
index bb766314..3998532d 100644
--- a/src/libs/gui/PatchCanvas.hpp
+++ b/src/libs/gui/PatchCanvas.hpp
@@ -67,6 +67,7 @@ public:
void build();
void arrange(bool use_length_hints);
+ void add_plugin(SharedPtr<PluginModel> pm);
void add_node(SharedPtr<NodeModel> nm);
void remove_node(SharedPtr<NodeModel> nm);
void add_port(SharedPtr<PortModel> pm);
@@ -79,8 +80,7 @@ public:
void destroy_selection();
void copy_selection();
- void show_menu(GdkEvent* event)
- { _menu->popup(event->button.button, event->button.time); }
+ void show_menu(GdkEvent* event);
bool canvas_key_event(GdkEventKey* event);
@@ -123,7 +123,10 @@ private:
int _last_click_x;
int _last_click_y;
+ bool _refresh_menu;
Gtk::Menu* _menu;
+ Gtk::Menu* _internal_menu;
+ Gtk::Menu* _plugin_menu;
/*Gtk::MenuItem* _menu_add_number_control;
Gtk::MenuItem* _menu_add_button_control;*/
Gtk::MenuItem* _menu_add_audio_input;