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
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',
|
||||
'idle_adjustment.cc',
|
||||
'keyboard.cc',
|
||||
'menu_elems.cc',
|
||||
'pane.cc',
|
||||
'paths_dialog.cc',
|
||||
'persistent_tooltip.cc',
|
||||
|
Loading…
Reference in New Issue
Block a user