summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-06-28 23:24:06 +0200
committerRobin Gareus <robin@gareus.org>2017-06-29 00:22:34 +0200
commit972e01f9c71205c537eab0f6115bd068ab6e35b1 (patch)
tree417c152101f082da7f71bdc4055b3c5181be88d5 /libs/gtkmm2ext
parenta9224abcf493f01ff89556f8c6da4b053293514d (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.h42
-rw-r--r--libs/gtkmm2ext/menu_elems.cc44
-rw-r--r--libs/gtkmm2ext/wscript1
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',