diff options
author | David Robillard <d@drobilla.net> | 2008-08-14 05:09:14 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-08-14 05:09:14 +0000 |
commit | ce208602f25d443d4f721d75c9bd9c884ba9e9a6 (patch) | |
tree | 4d423d423739f9ef9bade7968bf60ae847925952 /src/libs/gui/PatchCanvas.hpp | |
parent | d09cfd0f5e6a1290ed5e90959f633b3c2d3e9386 (diff) | |
download | ingen-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.hpp | 7 |
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; |