[gnote] Add CheckAction class to utils
- From: Aurimas Černius <aurimasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnote] Add CheckAction class to utils
- Date: Sun, 20 Oct 2013 18:21:06 +0000 (UTC)
commit ebc2b30524130c3c7b6978c3aa3b0072011e055d
Author: Aurimas Černius <aurisc4 gmail com>
Date: Sun Oct 20 20:22:25 2013 +0300
Add CheckAction class to utils
Class for creating action for check menu item.
src/utils.cpp | 20 ++++++++++++++++++++
src/utils.hpp | 24 ++++++++++++++++++++++++
2 files changed, 44 insertions(+), 0 deletions(-)
---
diff --git a/src/utils.cpp b/src/utils.cpp
index b2f4d54..f00c22f 100644
--- a/src/utils.cpp
+++ b/src/utils.cpp
@@ -35,6 +35,7 @@
#include <glibmm/i18n.h>
#include <glibmm/stringutils.h>
#include <glibmm/threads.h>
+#include <gtkmm/checkmenuitem.h>
#include <gtkmm/icontheme.h>
#include <gtkmm/image.h>
#include <gtkmm/label.h>
@@ -819,5 +820,24 @@ namespace gnote {
set_active(false);
}
+
+ CheckAction::CheckAction(const Glib::ustring & name)
+ : Gtk::Action(name)
+ , m_checked(false)
+ {}
+
+ Gtk::Widget *CheckAction::create_menu_item_vfunc()
+ {
+ Gtk::CheckMenuItem *item = new Gtk::CheckMenuItem;
+ item->set_active(m_checked);
+ return item;
+ }
+
+ void CheckAction::on_activate()
+ {
+ m_checked = !m_checked;
+ Gtk::Action::on_activate();
+ }
+
}
}
diff --git a/src/utils.hpp b/src/utils.hpp
index 21343d5..7630724 100644
--- a/src/utils.hpp
+++ b/src/utils.hpp
@@ -259,6 +259,30 @@ namespace gnote {
void release_button();
};
+ class CheckAction
+ : public Gtk::Action
+ {
+ public:
+ typedef Glib::RefPtr<CheckAction> Ptr;
+ static Ptr create(const Glib::ustring & name)
+ {
+ return Ptr(new CheckAction(name));
+ }
+ void checked(bool check)
+ {
+ m_checked = check;
+ }
+ bool checked() const
+ {
+ return m_checked;
+ }
+ protected:
+ CheckAction(const Glib::ustring & name);
+ virtual Gtk::Widget *create_menu_item_vfunc() override;
+ virtual void on_activate() override;
+ private:
+ bool m_checked;
+ };
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]