本文整理汇总了C++中gtk::MenuItem类的典型用法代码示例。如果您正苦于以下问题:C++ MenuItem类的具体用法?C++ MenuItem怎么用?C++ MenuItem使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MenuItem类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1:
//------------------------------------------------------------------------------
std::string mforms::gtk::MenuItemImpl::get_title(mforms::MenuItem *item) {
std::string ret;
Gtk::MenuItem *mi = cast<Gtk::MenuItem *>(item->get_data_ptr());
if (mi)
ret = mi->get_label();
return ret;
}
开发者ID:pk-codebox-evo,项目名称:mysql-workbench,代码行数:8,代码来源:lf_menubar.cpp
示例2: init_popup_menu
void ObjectsTreeView::init_popup_menu() {
Gtk::MenuItem* item;
item = Gtk::manage(new Gtk::MenuItem("Remove", true));
item->signal_activate().connect(
sigc::mem_fun(*this, &ObjectsTreeView::on_menu_popup_remove) );
_menu.append(*item);
item = Gtk::manage(new Gtk::MenuItem("Translate...", true));
item->signal_activate().connect(
sigc::mem_fun(*this, &ObjectsTreeView::on_menu_popup_translate) );
_menu.append(*item);
item = Gtk::manage(new Gtk::MenuItem("Scale...", true));
item->signal_activate().connect(
sigc::mem_fun(*this, &ObjectsTreeView::on_menu_popup_scale) );
_menu.append(*item);
item = Gtk::manage(new Gtk::MenuItem("Rotate...", true));
item->signal_activate().connect(
sigc::mem_fun(*this, &ObjectsTreeView::on_menu_popup_rotate) );
_menu.append(*item);
_menu.accelerate(*this);
_menu.show_all(); //Show all menu items when the menu pops up
signal_button_press_event().connect(sigc::mem_fun(*this, &ObjectsTreeView::on_button_press_event), false);
}
开发者ID:CarlosBonetti,项目名称:undergrad-archive,代码行数:28,代码来源:ObjectsTreeView.cpp
示例3: logError
void mforms::gtk::MenuItemImpl::insert_item(mforms::MenuBase *menub, int index, mforms::MenuItem *item) {
Gtk::MenuShell *menu_shell = cast<Gtk::MenuShell *>(menub->get_data_ptr());
Gtk::MenuItem *item_to_insert = cast<Gtk::MenuItem *>(item->get_data_ptr());
if (!menu_shell) // menub is not a menubar
{
Gtk::MenuItem *mi = cast<Gtk::MenuItem *>(menub->get_data_ptr());
if (mi) {
Gtk::Menu *menu = 0;
if (mi->has_submenu()) // item already has submenu, add to it
menu = mi->get_submenu();
else { // no submenu yet in item, create one
menu = Gtk::manage(new Gtk::Menu());
mi->signal_activate().connect(sigc::bind(sigc::ptr_fun(menu_will_show), menub));
mi->set_submenu(*menu);
menu->show();
}
menu_shell = menu;
} else
logError("Passed MenuBase %p does not contain neither Gtk::MenuBar nor Gtk::MenuItem\n", menub);
} else {
if (menub->get_parent() && get_accel_group(menub))
propagate_accel_group(menub, get_accel_group(menub));
}
if (menu_shell && item_to_insert)
menu_shell->insert(*item_to_insert, index);
else
logError("Internal error in MenuBase::insert_item()\n");
}
开发者ID:pk-codebox-evo,项目名称:mysql-workbench,代码行数:29,代码来源:lf_menubar.cpp
示例4:
PrefWindow::PrefWindow(GtkWindow* base, const Glib::RefPtr<Gtk::Builder>& builder) :
Gtk::Window(base)
{
windowState.Reset();
// initializing menu items
Gtk::MenuItem* item = 0;
builder->get_widget("menuGameQuit", item);
PrefAssert( item != 0 );
item->signal_activate().connect(sigc::ptr_fun(&PrefSlots::quit));
item = 0;
builder->get_widget("menuHelpAbout", item);
PrefAssert( item != 0 );
item->signal_activate().connect(sigc::ptr_fun(&PrefSlots::about));
item = 0;
builder->get_widget("menuGameNew", item);
PrefAssert( item != 0 );
item->signal_activate().connect(sigc::ptr_fun(&PrefSlots::startGameWithBots));
// initializing status bar
Gtk::Statusbar* _statusbar = 0;
builder->get_widget("mainWindowStatusBar", _statusbar);
PrefAssert( _statusbar != 0 );
statusbar = Glib::RefPtr<Gtk::Statusbar>(_statusbar);
// initializing bidding dialog
BiddingDialog* _biddingDialog = 0;
builder->get_widget_derived("biddingWindow", _biddingDialog);
PrefAssert( _biddingDialog != 0 );
biddingDialog = Glib::RefPtr<BiddingDialog>( _biddingDialog );
PrefView* _gameView = 0;
builder->get_widget_derived("gameView", _gameView);
PrefAssert( _gameView != 0 );
gameView = Glib::RefPtr<PrefView>( _gameView );
}
开发者ID:eshavlyugin,项目名称:Preferans,代码行数:32,代码来源:PrefWindow.cpp
示例5: populate_popup
void DocumentView::populate_popup(Gtk::Menu* menu) {
std::set<Glib::ustring> items_to_remove = {
"_Undo",
"_Redo",
"_Delete",
"C_hange Case",
"Select _All"
};
Gtk::MenuItem* comment = Gtk::manage(new Gtk::MenuItem("Comment Lines"));
Gtk::MenuItem* uncomment = Gtk::manage(new Gtk::MenuItem("Uncomment Lines"));
//menu->add(*Gtk::manage(new Gtk::SeparatorMenuItem()));
menu->add(*comment);
menu->add(*uncomment);
menu->show_all();
for(Gtk::Widget* item: menu->get_children()) {
Gtk::MenuItem* itm = dynamic_cast<Gtk::MenuItem*>(item);
if(itm) {
auto label = itm->get_label();
if(label == "") {
itm->hide(); //Hide separators
} else {
std::cout << label << std::endl;
if(items_to_remove.count(label)) {
itm->hide();
}
}
}
}
}
开发者ID:,项目名称:,代码行数:32,代码来源:
示例6: toggleConnects
void MainSynthWindow::toggleConnects (void)
{
Gtk::MenuItem *me = (Gtk::MenuItem *)&menuJack_.items()[0];
Gtk::MenuItem *dis = (Gtk::MenuItem *)&menuJack_.items()[1];
bool c = me->is_sensitive();
me->set_sensitive(!c);
dis->set_sensitive(c);
}
开发者ID:mishan,项目名称:thinksynth,代码行数:8,代码来源:MainSynthWindow.cpp
示例7:
//------------------------------------------------------------------------------
void mforms::gtk::MenuImpl::set_item_enabled(Menu *self, int i, bool flag)
{
MenuImpl* menu = self->get_data<MenuImpl>();
if (menu) {
Gtk::MenuItem *item = menu->item_at(i);
if (item)
item->set_sensitive(flag);
}
}
开发者ID:abibell,项目名称:mysql-workbench,代码行数:10,代码来源:lf_menu.cpp
示例8:
PlaylistViewer::PlaylistViewer()
{
//Create the Tree model:
m_refTreeModel = Gtk::ListStore::create(m_Columns);
set_model(m_refTreeModel);
// Fill the TreeView's model
// Gtk::TreeModel::Row row = *(m_refTreeModel->append());
/*
row[m_Columns.m_col_trackNum] = 1;
row[m_Columns.m_col_trackName] = "right-click on this";
row[m_Columns.m_col_trackPath] = "right-click on this";
row = *(m_refTreeModel->append());
row[m_Columns.m_col_trackNum]= 2;
row[m_Columns.m_col_trackName] = "or this";
row[m_Columns.m_col_trackPath] = "right-click on this";
row = *(m_refTreeModel->append());
row[m_Columns.m_col_trackNum] = 3;
row[m_Columns.m_col_trackName] = "or this, for a popup context menu";
row[m_Columns.m_col_trackPath] = "right-click on this";
*/
// master plan is to run through a vector to populate values
//Add the TreeView's view columns:
append_column("Track", m_Columns.m_col_trackNum);
append_column("Name", m_Columns.m_col_trackName);
append_column("Path", m_Columns.m_col_trackPath);
//Fill popup menu:
Gtk::MenuItem* item = Gtk::manage(new Gtk::MenuItem("_Play", true));
item->signal_activate().connect(
sigc::mem_fun(*this, &PlaylistViewer::on_menu_file_popup_generic) );
m_Menu_Popup.append(*item);
item = Gtk::manage(new Gtk::MenuItem("_Queue", true));
item->signal_activate().connect(
sigc::mem_fun(*this, &PlaylistViewer::on_menu_file_popup_generic) );
m_Menu_Popup.append(*item);
item = Gtk::manage(new Gtk::MenuItem("_Info", true));
item->signal_activate().connect(
sigc::mem_fun(*this, &PlaylistViewer::on_menu_file_popup_generic) );
m_Menu_Popup.append(*item);
m_Menu_Popup.accelerate(*this);
m_Menu_Popup.show_all(); //Show all menu items when the menu pops up
#ifndef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
signal_button_press_event()
.connect(sigc::mem_fun(*this, &PlaylistViewer::on_button_press_event), false);
#endif
}
开发者ID:williamkibira,项目名称:Player,代码行数:57,代码来源:playlistview.cpp
示例9: setTaskIsSelected
void Menu::setTaskIsSelected(bool show)
{
std::list<Gtk::MenuItem*>::iterator iter;
for (iter = taskIDDependentMenus.begin(); iter != taskIDDependentMenus.end(); ++iter)
{
Gtk::MenuItem* menuItem = *iter;
menuItem->set_sensitive(show);
}
}
开发者ID:Hoglet,项目名称:TimeIT,代码行数:10,代码来源:Menu.cpp
示例10: propagate_accel_group
//------------------------------------------------------------------------------
static void propagate_accel_group(mforms::MenuBase *item, Glib::RefPtr<Gtk::AccelGroup> agroup) {
Gtk::MenuItem *mi = cast<Gtk::MenuItem *>(item->get_data_ptr());
if (mi && mi->has_submenu())
mi->get_submenu()->set_accel_group(agroup);
for (int i = item->item_count() - 1; i >= 0; --i) {
mforms::MenuItem *it = item->get_item(i);
if (!it->get_shortcut().empty())
mforms::gtk::MenuItemImpl::set_shortcut(it, it->get_shortcut());
propagate_accel_group(it, agroup);
}
}
开发者ID:pk-codebox-evo,项目名称:mysql-workbench,代码行数:13,代码来源:lf_menubar.cpp
示例11: message
DebugDialogImpl::DebugDialogImpl()
{
set_title(_("Messages"));
set_size_request(300, 400);
#if WITH_GTKMM_3_0
Gtk::Box *mainVBox = get_content_area();
#else
Gtk::Box *mainVBox = get_vbox();
#endif
//## Add a menu for clear()
Gtk::MenuItem* item = Gtk::manage(new Gtk::MenuItem(_("_File"), true));
item->set_submenu(fileMenu);
menuBar.append(*item);
item = Gtk::manage(new Gtk::MenuItem(_("_Clear"), true));
item->signal_activate().connect(sigc::mem_fun(*this, &DebugDialogImpl::clear));
fileMenu.append(*item);
item = Gtk::manage(new Gtk::MenuItem(_("Capture log messages")));
item->signal_activate().connect(sigc::mem_fun(*this, &DebugDialogImpl::captureLogMessages));
fileMenu.append(*item);
item = Gtk::manage(new Gtk::MenuItem(_("Release log messages")));
item->signal_activate().connect(sigc::mem_fun(*this, &DebugDialogImpl::releaseLogMessages));
fileMenu.append(*item);
mainVBox->pack_start(menuBar, Gtk::PACK_SHRINK);
//### Set up the text widget
messageText.set_editable(false);
textScroll.add(messageText);
textScroll.set_policy(Gtk::POLICY_ALWAYS, Gtk::POLICY_ALWAYS);
mainVBox->pack_start(textScroll);
show_all_children();
message("ready.");
message("enable log display by setting ");
message("dialogs.debug 'redirect' attribute to 1 in preferences.xml");
handlerDefault = 0;
handlerGlibmm = 0;
handlerAtkmm = 0;
handlerPangomm = 0;
handlerGdkmm = 0;
handlerGtkmm = 0;
}
开发者ID:AakashDabas,项目名称:inkscape,代码行数:50,代码来源:debug.cpp
示例12: add_accelerator
void GlobalKeybinder::add_accelerator(const sigc::slot<void> & handler, guint key,
Gdk::ModifierType modifiers, Gtk::AccelFlags flags)
{
Gtk::MenuItem *foo = manage(new Gtk::MenuItem ());
foo->signal_activate().connect(handler);
foo->add_accelerator ("activate",
m_accel_group,
key,
modifiers,
flags);
foo->show ();
m_fake_menu.append (*foo);
}
开发者ID:haobug,项目名称:gnote,代码行数:14,代码来源:utils.cpp
示例13: get_index
bool SeriesMenu::get_index(const Gtk::MenuItem& item, int& index) {
Gtk::Menu_Helpers::MenuList::iterator i = items().begin();
index = 0;
for(; i != items().end(); i++) {
if(i->gobj() == item.gobj()) {
return true;
}
index++;
}
return false;
}
开发者ID:151706061,项目名称:aeskulap,代码行数:11,代码来源:aseriesmenu.cpp
示例14:
TreeViewGoods::TreeViewGoods()
{
/* Create tree */
treeRecords = Gtk::ListStore::create( treeColumns );
set_model( treeRecords );
/* Create columns */
append_column( "Код", treeColumns.id );
append_column( "Наименование", treeColumns.name );
append_column( "Цена", treeColumns.price );
append_column( "Ед.Изм.", treeColumns.item );
/* Create popup menu */
Gtk::MenuItem* item = Gtk::manage( new Gtk::MenuItem( "Подробнее" ) );
item->signal_activate().connect( sigc::mem_fun( *this, &TreeViewGoods::on_menu_file_popup_generic ) );
menuPopup.append( *item );
menuPopup.accelerate( *this );
menuPopup.show_all();
/* Connect press event signal (mouse clicks) */
signal_button_press_event().connect( sigc::mem_fun( *this, &TreeViewGoods::on_button_press_event ), false );
}
开发者ID:beardedarab64,项目名称:sweet-shop,代码行数:22,代码来源:TreeViewGoods.cpp
示例15: manage
bool
DockBook::tab_button_pressed(GdkEventButton* event, Dockable* dockable)
{
CanvasView *canvas_view = dynamic_cast<CanvasView*>(dockable);
if (canvas_view && canvas_view != App::get_selected_canvas_view())
App::set_selected_canvas_view(canvas_view);
if(event->button!=3)
return false;
Gtk::Menu *tabmenu=manage(new class Gtk::Menu());
tabmenu->signal_hide().connect(sigc::bind(sigc::ptr_fun(&delete_widget), tabmenu));
Gtk::MenuItem *item = manage(new Gtk::ImageMenuItem(Gtk::StockID("gtk-close")));
item->signal_activate().connect(
sigc::bind(sigc::ptr_fun(&DockManager::remove_widget_by_pointer_recursive), dockable) );
tabmenu->append(*item);
item->show();
tabmenu->popup(event->button,gtk_get_current_event_time());
return true;
}
开发者ID:blackwarthog,项目名称:synfig,代码行数:23,代码来源:dockbook.cpp
示例16:
ListView::ListView() : Gtk::TreeView()
{
// поиграемся с TreeView
// создаём модель
m_refTreeModel = Gtk::ListStore::create( m_Columns );
set_model( m_refTreeModel );
// Теперь добавляем столбцы для отображения
append_column( "Name", m_Columns.m_col_name );
append_column( "Size", m_Columns.m_col_size );
append_column( "User/Group", m_Columns.m_col_users );
append_column( "Permission", m_Columns.m_col_permission );
append_column( "Type", m_Columns.m_col_type );
append_column( "Modified", m_Columns.m_col_modified );
//Set the sort column of the Tree model:
m_refTreeModel->set_sort_column(0, Gtk::SORT_ASCENDING);
Gtk::TreeView::Column* pColumn;
pColumn = get_column(0);
if( pColumn )
pColumn->set_sort_column( m_Columns.m_col_name );
pColumn = get_column(1);
if( pColumn )
pColumn->set_sort_column( m_Columns.m_col_size );
pColumn = get_column(2);
if( pColumn )
pColumn->set_sort_column( m_Columns.m_col_users );
pColumn = get_column(3);
if( pColumn )
pColumn->set_sort_column( m_Columns.m_col_permission );
pColumn = get_column(4);
if( pColumn )
pColumn->set_sort_column( m_Columns.m_col_type );
pColumn = get_column(5);
if( pColumn )
pColumn->set_sort_column( m_Columns.m_col_modified );
//Fill popup menu:
Gtk::MenuItem* item = Gtk::manage(new Gtk::MenuItem("_Open", true));
item->signal_activate().connect(
sigc::mem_fun(*this, &ListView::on_menu_file_popup_generic) );
m_Menu_Popup.append(*item);
item = Gtk::manage(new Gtk::MenuItem("_Open with…", true));
item->signal_activate().connect(
sigc::mem_fun(*this, &ListView::on_menu_file_popup_generic) );
m_Menu_Popup.append(*item);
item = Gtk::manage(new Gtk::MenuItem("_Properties", true));
item->signal_activate().connect(
sigc::mem_fun(*this, &ListView::on_menu_file_popup_generic) );
m_Menu_Popup.append(*item);
m_Menu_Popup.accelerate(*this);
m_Menu_Popup.show_all(); //Show all menu items when the menu pops up
signal_button_press_event()
.connect(sigc::mem_fun(*this, &ListView::on_button_press_event), false);
Navigator nvg;
show_file_list( nvg.get_file_list() );
}
开发者ID:pinecrew,项目名称:pinefm,代码行数:61,代码来源:ui_fileview.cpp
示例17: Viewer
AppWindow::AppWindow() {
m_viewer = new Viewer(this);
set_title("CS488 Assignment Two, by Alex Klen");
// Application Menu.
Gtk::MenuItem *reset = Gtk::manage(new Gtk::MenuItem("_Reset", true));
Gtk::MenuItem *quit = Gtk::manage(new Gtk::MenuItem("_Quit", true));
reset->signal_activate().connect(sigc::mem_fun(*this, &AppWindow::reset_view));
quit->signal_activate().connect(sigc::mem_fun(*this, &AppWindow::hide));
add_accelerator(reset, 'a');
add_accelerator(quit, 'q');
m_menu_app.items().push_back(*reset);
m_menu_app.items().push_back(*quit);
// Mode Menu.
const char shortcuts[] = {
'o', 'n', 'p', 'r', 't', 's', 'v'
};
const std::string names[] = {
"R_otate View",
"Tra_nslate View",
"_Perspective",
"_Rotate Model",
"_Translate Model",
"_Scale Model",
"_Viewport"
};
// Create and wire signals for radio buttons for each mode.
Gtk::RadioMenuItem::Group view_mode_group;
sigc::slot1<void, Viewer::Mode> view_mode_slot = sigc::mem_fun(*m_viewer, &Viewer::set_mode);
for (int mode = 0; mode < Viewer::NUM_MODES; mode++) {
Gtk::RadioMenuItem *rb = Gtk::manage(new Gtk::RadioMenuItem(view_mode_group, names[mode], true));
add_accelerator(rb, shortcuts[mode]);
rb->signal_activate().connect(sigc::bind(view_mode_slot, (Viewer::Mode) mode));
m_menu_mode.items().push_back(*rb);
}
// Set up the menu bar
m_menubar.items().push_back(Gtk::Menu_Helpers::MenuElem("_Application", m_menu_app));
m_menubar.items().push_back(Gtk::Menu_Helpers::MenuElem("_Mode", m_menu_mode));
// Select default radio button.
m_menu_mode.items()[Viewer::DEFAULT_MODE].activate();
// Pack in our widgets
// First add the vertical box as our single "top" widget
add(m_vbox);
// Put the menubar on the top, and make it as small as possible
m_vbox.pack_start(m_menubar, Gtk::PACK_SHRINK);
// Put the viewer below the menubar. pack_start "grows" the widget
// by default, so it'll take up the rest of the window.
m_viewer->set_size_request(600, 600);
m_vbox.pack_start(*m_viewer);
m_vbox.pack_start(m_main_label, false, false);
show_all();
}
开发者ID:nelk,项目名称:cs488,代码行数:67,代码来源:appwindow.cpp
示例18: populate_toc_menu
void TableofcontentsNoteAddin::populate_toc_menu (Gtk::Menu *toc_menu, bool has_action_entries)
//populate a menu with Note's table of contents
{
// Clear out the old list
std::vector<Gtk::Widget*> menu_items = toc_menu->get_children();
for(std::vector<Gtk::Widget*>::reverse_iterator iter = menu_items.rbegin();
iter != menu_items.rend(); ++iter) {
toc_menu->remove(**iter);
}
// Build a new list
std::list<TableofcontentsMenuItem*> items;
get_tableofcontents_menu_items(items);
for(std::list<TableofcontentsMenuItem*>::iterator iter = items.begin();
iter != items.end(); ++iter) {
TableofcontentsMenuItem *item(*iter);
item->show_all();
toc_menu->append(*item);
}
// Action menu items, or nothing
if (has_action_entries == false) {
if (toc_menu->get_children().size() == 0) { // no toc items, and no action entries = empty menu
Gtk::MenuItem *item = manage(new Gtk::MenuItem(_("(empty table of contents)")));
item->set_sensitive(false);
item->show();
toc_menu->append(*item);
}
}
else {
Gtk::MenuItem *item;
if (toc_menu->get_children().size() != 0) { //there are toc items, we add a separator
item = manage(new Gtk::SeparatorMenuItem ());
item->show ();
toc_menu->append(*item);
}
item = manage(new Gtk::MenuItem (_("Heading 1")));
item->add_accelerator("activate", get_note()->get_window()->get_accel_group(), GDK_KEY_1, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE);
item->signal_activate().connect(sigc::mem_fun(*this, &TableofcontentsNoteAddin::on_level_1_activated));
item->show ();
toc_menu->append(*item);
item = manage(new Gtk::MenuItem (_("Heading 2")));
item->add_accelerator("activate", get_note()->get_window()->get_accel_group(), GDK_KEY_2, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE);
item->signal_activate().connect(sigc::mem_fun(*this, &TableofcontentsNoteAddin::on_level_2_activated));
item->show ();
toc_menu->append(*item);
item = manage(new Gtk::MenuItem (_("Table of Contents Help")));
item->signal_activate().connect(sigc::mem_fun(*this, &TableofcontentsNoteAddin::on_toc_help_activated));
item->show ();
toc_menu->append(*item);
}
}
开发者ID:MikeyG,项目名称:gnote,代码行数:58,代码来源:tableofcontentsnoteaddin.cpp
示例19: populateMenu
void MainSynthWindow::populateMenu (void)
{
/* File */
{
Gtk::Menu::MenuList &menulist = menuFile_.items();
menulist.push_back(
Gtk::Menu_Helpers::MenuElem("_Keyboard",
Gtk::AccelKey("<ctrl>k"),
sigc::mem_fun(*this, &MainSynthWindow::menuKeyboard)));
menulist.push_back(
Gtk::Menu_Helpers::MenuElem("_Patch Selector",
Gtk::AccelKey("<ctrl>p"),
sigc::mem_fun(*this, &MainSynthWindow::menuPatchSel)));
menulist.push_back(
Gtk::Menu_Helpers::MenuElem("_MIDI Controllers",
Gtk::AccelKey("<ctrl>m"),
sigc::mem_fun(*this, &MainSynthWindow::menuMidiMap)));
menulist.push_back(Gtk::Menu_Helpers::SeparatorElem());
menulist.push_back(
Gtk::Menu_Helpers::MenuElem("_Quit",
Gtk::AccelKey("<ctrl>q"),
sigc::mem_fun(*this, &MainSynthWindow::menuQuit)));
}
#ifdef HAVE_JACK
/* JACK */
if (dynamic_cast<gthJackAudio*>(audio_) != NULL)
{
gthPrefs *prefs = gthPrefs::instance();
Gtk::Menu::MenuList &menulist = menuJack_.items();
Gtk::CheckMenuItem *elem;
sigc::slot0<void> autoslot =
sigc::mem_fun(*this, &MainSynthWindow::menuJackAuto);
string** vals;
bool sel;
menulist.push_back(
Gtk::Menu_Helpers::MenuElem("_Connect to JACK now",
sigc::mem_fun(*this, &MainSynthWindow::menuJackTry)));
menulist.push_back(
Gtk::Menu_Helpers::MenuElem("_Disconnect from JACK",
sigc::mem_fun(*this, &MainSynthWindow::menuJackDis)));
menulist.back().set_sensitive(false);
menulist.push_back(Gtk::Menu_Helpers::SeparatorElem());
menulist.push_back(
Gtk::Menu_Helpers::CheckMenuElem ("_Auto-connect to JACK",
autoslot));
elem = (Gtk::CheckMenuItem*)&menulist.back();
vals = prefs->Get("autoconnect");
sel = !!(vals && *vals[0] == "true");
elem->set_active(sel);
}
#endif /* HAVE_JACK */
/* Help */
{
Gtk::Menu::MenuList &menulist = menuHelp_.items();
menulist.push_back(
Gtk::Menu_Helpers::MenuElem("_About",
sigc::mem_fun(
*this, &MainSynthWindow::menuAbout)
));
}
/* add the menus to the menubar */
{
Gtk::Menu::MenuList &menulist = menuBar_.items();
menulist.push_back(Gtk::Menu_Helpers::MenuElem("_File",
menuFile_));
#ifdef HAVE_JACK
if (dynamic_cast<gthJackAudio*>(audio_) != NULL)
menulist.push_back(Gtk::Menu_Helpers::MenuElem("_JACK",
menuJack_));
#endif
Gtk::MenuItem *helpMenu = manage(new Gtk::MenuItem("_Help", true));
helpMenu->set_submenu(menuHelp_);
helpMenu->set_right_justified();
menulist.push_back(*helpMenu);
}
}
开发者ID:mishan,项目名称:thinksynth,代码行数:95,代码来源:MainSynthWindow.cpp
示例20: initialize
void NotebookApplicationAddin::initialize ()
{
m_actionGroup = Glib::RefPtr<Gtk::ActionGroup>(Gtk::ActionGroup::create("Notebooks"));
m_actionGroup->add(
Gtk::Action::create ("NewNotebookMenuAction", Gtk::Stock::NEW,
_("Note_books"),
_("Create a new note in a notebook")));
m_actionGroup->add(
Gtk::Action::create ("NewNotebookAction", Gtk::Stock::NEW,
_("New Note_book..."),
_("Create a new notebook")));
m_actionGroup->add(
Gtk::Action::create ("NewNotebookNoteAction", Gtk::Stock::NEW,
_("_New Note"),
_("Create a new note in this notebook")));
m_actionGroup->add(
Gtk::Action::create ("OpenNotebookTemplateNoteAction", Gtk::Stock::OPEN,
_("_Open Template Note"),
_("Open this notebook's template note")));
m_actionGroup->add(
Gtk::Action::create ("DeleteNotebookAction", Gtk::Stock::DELETE,
_("Delete Note_book"),
_("Delete the selected notebook")));
m_actionGroup->add(
Gtk::Action::create ("TrayNewNotebookMenuAction", Gtk::Stock::NEW,
_("Notebooks"),
_("Create a new note in a notebook")));
ActionManager & am(ActionManager::obj());
m_notebookUi = am.get_ui()->add_ui_from_string (uixml);
am.get_ui()->insert_action_group (m_actionGroup, 0);
Gtk::MenuItem *item = dynamic_cast<Gtk::MenuItem*>(
am.get_widget ("/TrayIconMenu/TrayNewNotePlaceholder/TrayNewNotebookMenu"));
if (item) {
Gtk::ImageMenuItem *image_item = dynamic_cast<Gtk::ImageMenuItem*>(item);
if (image_item) {
image_item->set_image(*manage(new Gtk::Image(m_notebookIcon)));
}
m_trayNotebookMenu = manage(new Gtk::Menu());
item->set_submenu(*m_trayNotebookMenu);
m_trayNotebookMenu->signal_show()
.connect(sigc::mem_fun(*this,
&NotebookApplicationAddin::on_tray_notebook_menu_shown));
m_trayNotebookMenu->signal_hide()
.connect(sigc::mem_fun(*this,
&NotebookApplicationAddin::on_tray_notebook_menu_hidden));
}
Gtk::ImageMenuItem *imageitem = dynamic_cast<Gtk::ImageMenuItem*>(
am.get_widget ("/MainWindowMenubar/FileMenu/FileMenuNewNotePlaceholder/NewNotebookMenu"));
if (imageitem) {
imageitem->set_image(*manage(new Gtk::Image(m_notebookIcon)));
m_mainWindowNotebookMenu = manage(new Gtk::Menu ());
imageitem->set_submenu(*m_mainWindowNotebookMenu);
m_mainWindowNotebookMenu->signal_show()
.connect(sigc::mem_fun(*this,
&NotebookApplicationAddin::on_new_notebook_menu_shown));
m_mainWindowNotebookMenu->signal_hide()
.connect(sigc::mem_fun(*this,
&NotebookApplicationAddin::on_new_notebook_menu_hidden));
}
imageitem = dynamic_cast<Gtk::ImageMenuItem*>(
am.get_widget ("/NotebooksTreeContextMenu/NewNotebookNote"));
if (imageitem) {
imageitem->set_image(*manage(new Gtk::Image(am.get_new_note())));
}
NoteManager & nm(Gnote::obj().default_note_manager());
for(Note::List::const_iterator iter = nm.get_notes().begin();
iter != nm.get_notes().end(); ++iter) {
const Note::Ptr & note(*iter);
note->signal_tag_added().connect(
sigc::mem_fun(*this, &NotebookApplicationAddin::on_tag_added));
note->signal_tag_removed().connect(
sigc::mem_fun(*this, &NotebookApplicationAddin::on_tag_removed));
}
nm.signal_note_added.connect(
sigc::mem_fun(*this, &NotebookApplicationAddin::on_note_added));
nm.signal_note_deleted.connect(
sigc::mem_fun(*this, &NotebookApplicationAddin::on_note_deleted));
m_initialized = true;
}
开发者ID:haobug,项目名称:gnote,代码行数:95,代码来源:notebookapplicationaddin.cpp
注:本文中的gtk::MenuItem类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论