diff options
author | Robin Gareus <robin@gareus.org> | 2017-06-28 23:24:06 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-06-29 00:22:34 +0200 |
commit | 972e01f9c71205c537eab0f6115bd068ab6e35b1 (patch) | |
tree | 417c152101f082da7f71bdc4055b3c5181be88d5 /libs/gtkmm2ext | |
parent | a9224abcf493f01ff89556f8c6da4b053293514d (diff) |
Add a convenience MenuHelper c'tor
This is pretty much Gtkmm's
* CheckMenuElem::CheckMenuElem
* MenuElem::MenuElem
except MenuItems are created with bool mnemonic = false;
Diffstat (limited to 'libs/gtkmm2ext')
-rw-r--r-- | libs/gtkmm2ext/gtkmm2ext/menu_elems.h | 42 | ||||
-rw-r--r-- | libs/gtkmm2ext/menu_elems.cc | 44 | ||||
-rw-r--r-- | libs/gtkmm2ext/wscript | 1 |
3 files changed, 87 insertions, 0 deletions
diff --git a/libs/gtkmm2ext/gtkmm2ext/menu_elems.h b/libs/gtkmm2ext/gtkmm2ext/menu_elems.h new file mode 100644 index 0000000000..6079c3c9cc --- /dev/null +++ b/libs/gtkmm2ext/gtkmm2ext/menu_elems.h @@ -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 diff --git a/libs/gtkmm2ext/menu_elems.cc b/libs/gtkmm2ext/menu_elems.cc new file mode 100644 index 0000000000..5de5ac9b59 --- /dev/null +++ b/libs/gtkmm2ext/menu_elems.cc @@ -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(); +} diff --git a/libs/gtkmm2ext/wscript b/libs/gtkmm2ext/wscript index 78a84d544e..d97d6a1e8e 100644 --- a/libs/gtkmm2ext/wscript +++ b/libs/gtkmm2ext/wscript @@ -51,6 +51,7 @@ gtkmm2ext_sources = [ 'gtkapplication.c', 'idle_adjustment.cc', 'keyboard.cc', + 'menu_elems.cc', 'pane.cc', 'paths_dialog.cc', 'persistent_tooltip.cc', |