mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-16 03:36:32 +01:00
Add a convenience MenuHelper c'tor
This is pretty much Gtkmm's * CheckMenuElem::CheckMenuElem * MenuElem::MenuElem except MenuItems are created with bool mnemonic = false;
This commit is contained in:
parent
a9224abcf4
commit
972e01f9c7
3 changed files with 87 additions and 0 deletions
42
libs/gtkmm2ext/gtkmm2ext/menu_elems.h
Normal file
42
libs/gtkmm2ext/gtkmm2ext/menu_elems.h
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
/* menu_elems.h
|
||||||
|
*
|
||||||
|
* Copyright (C) 2017 Robin Gareus <robin@gareus.org>
|
||||||
|
* Copyright (C) 1998-2002 The gtkmm Development Team
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free
|
||||||
|
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _gtkmm2ext_menu_elems_h_
|
||||||
|
#define _gtkmm2ext_menu_elems_h_
|
||||||
|
|
||||||
|
#include <gtkmm/menu_elems.h>
|
||||||
|
#include "gtkmm2ext/visibility.h"
|
||||||
|
|
||||||
|
namespace Gtkmm2ext {
|
||||||
|
|
||||||
|
class LIBGTKMM2EXT_API MenuElemNoMnemonic : public Gtk::Menu_Helpers::Element
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
MenuElemNoMnemonic (const Glib::ustring& label, const CallSlot& slot);
|
||||||
|
};
|
||||||
|
|
||||||
|
class LIBGTKMM2EXT_API CheckMenuElemNoMnemonic : public Gtk::Menu_Helpers::Element
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CheckMenuElemNoMnemonic (const Glib::ustring& label, const CallSlot& slot = CallSlot());
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
#endif
|
||||||
44
libs/gtkmm2ext/menu_elems.cc
Normal file
44
libs/gtkmm2ext/menu_elems.cc
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
/* menu_elems.h
|
||||||
|
*
|
||||||
|
* Copyright (C) 2017 Robin Gareus <robin@gareus.org>
|
||||||
|
* Copyright (C) 1998-2002 The gtkmm Development Team
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free
|
||||||
|
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <gtk/gtk.h>
|
||||||
|
#include "gtkmm2ext/menu_elems.h"
|
||||||
|
|
||||||
|
using namespace Gtkmm2ext;
|
||||||
|
using namespace Gtk;
|
||||||
|
|
||||||
|
MenuElemNoMnemonic::MenuElemNoMnemonic (const Glib::ustring& label, const CallSlot& slot)
|
||||||
|
{
|
||||||
|
set_child (manage (new MenuItem (label, false)));
|
||||||
|
if(slot) {
|
||||||
|
child_->signal_activate().connect(slot);
|
||||||
|
}
|
||||||
|
child_->show();
|
||||||
|
}
|
||||||
|
|
||||||
|
CheckMenuElemNoMnemonic::CheckMenuElemNoMnemonic (const Glib::ustring& label, const CallSlot& slot)
|
||||||
|
{
|
||||||
|
CheckMenuItem* item = manage (new CheckMenuItem (label, false));
|
||||||
|
set_child (item);
|
||||||
|
if(slot) {
|
||||||
|
item->signal_toggled().connect(slot);
|
||||||
|
}
|
||||||
|
child_->show();
|
||||||
|
}
|
||||||
|
|
@ -51,6 +51,7 @@ gtkmm2ext_sources = [
|
||||||
'gtkapplication.c',
|
'gtkapplication.c',
|
||||||
'idle_adjustment.cc',
|
'idle_adjustment.cc',
|
||||||
'keyboard.cc',
|
'keyboard.cc',
|
||||||
|
'menu_elems.cc',
|
||||||
'pane.cc',
|
'pane.cc',
|
||||||
'paths_dialog.cc',
|
'paths_dialog.cc',
|
||||||
'persistent_tooltip.cc',
|
'persistent_tooltip.cc',
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue