Changeset 1235

Show
Ignore:
Timestamp:
06/08/08 18:53:00 (3 months ago)
Author:
drobilla
Message:

Add quick context menu for Internal 'plugins'.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • ingen/src/libs/gui/PatchCanvas.cpp

    r1215 r1235  
    113113                sigc::bind(sigc::mem_fun(this, &PatchCanvas::menu_add_control), BUTTON));*/ 
    114114 
     115        build_internal_menu(); 
     116 
    115117#ifdef HAVE_SLV2 
    116118        build_plugin_menu(); 
     
    132134 
    133135 
     136void 
     137PatchCanvas::build_internal_menu() 
     138{ 
     139        _menu->items().push_back(Gtk::Menu_Helpers::ImageMenuElem("Internal", 
     140                        *(manage(new Gtk::Image(Gtk::Stock::EXECUTE, Gtk::ICON_SIZE_MENU))))); 
     141 
     142        Gtk::MenuItem* internal_menu_item = &(_menu->items().back()); 
     143        Gtk::Menu* internal_menu = Gtk::manage(new Gtk::Menu()); 
     144        internal_menu_item->set_submenu(*internal_menu); 
     145         
     146        const Store::Plugins& plugins = App::instance().store()->plugins(); 
     147 
     148        // Add LV2 plugins 
     149        for (Store::Plugins::const_iterator i = plugins.begin(); i != plugins.end(); ++i) { 
     150                SharedPtr<PluginModel> p = i->second; 
     151                if (p->type() == Plugin::Internal) { 
     152                        internal_menu->items().push_back(Gtk::Menu_Helpers::MenuElem(p->name(), 
     153                                        sigc::bind(sigc::mem_fun(this, &PatchCanvas::load_plugin), p))); 
     154                } 
     155        } 
     156         
     157        _menu->reorder_child(*internal_menu_item, 2); 
     158} 
     159 
     160 
    134161#ifdef HAVE_SLV2 
    135162size_t 
     
    163190        const Store::Plugins& plugins = App::instance().store()->plugins(); 
    164191 
    165         // Add plugins 
     192        // Add LV2 plugins 
    166193        for (Store::Plugins::const_iterator i = plugins.begin(); i != plugins.end(); ++i) { 
    167194                SLV2Plugin p = i->second->slv2_plugin(); 
     
    197224        Gtk::Menu* plugin_menu = Gtk::manage(new Gtk::Menu()); 
    198225        plugin_menu_item->set_submenu(*plugin_menu); 
    199         _menu->reorder_child(*plugin_menu_item, 2); 
     226        _menu->reorder_child(*plugin_menu_item, 3); 
    200227 
    201228        SLV2PluginClass lv2_plugin = slv2_world_get_plugin_class(PluginModel::slv2_world()); 
  • ingen/src/libs/gui/PatchCanvas.hpp

    r1097 r1235  
    9595        void load_plugin(SharedPtr<PluginModel> plugin); 
    9696 
     97        void build_internal_menu(); 
    9798#ifdef HAVE_SLV2 
    9899        void build_plugin_menu();