summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-11-01 01:21:40 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-11-01 01:21:40 +0000
commit0fdb513786c55815db43971778af0442dda50548 (patch)
tree6a1bc135da19df40e492474885b9a271980afebc /libs
parentcfe9ae636e0ee61cafdff43b3bd6967d835ef629 (diff)
move CairoWidget::ActiveState and Visual state up into gtkmm2ext foruse by DnDVBox etc.
git-svn-id: svn://localhost/ardour2/branches/3.0@10371 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/dndvbox.h12
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/widget_state.h24
2 files changed, 27 insertions, 9 deletions
diff --git a/libs/gtkmm2ext/gtkmm2ext/dndvbox.h b/libs/gtkmm2ext/gtkmm2ext/dndvbox.h
index 95a6315de7..e6f61113eb 100644
--- a/libs/gtkmm2ext/gtkmm2ext/dndvbox.h
+++ b/libs/gtkmm2ext/gtkmm2ext/dndvbox.h
@@ -18,6 +18,7 @@
*/
#include <gtkmm/box.h>
+#include "gtkmm2ext/widget_state.h"
namespace Gtkmm2ext {
@@ -37,7 +38,7 @@ public:
virtual std::string drag_text () const = 0;
/** Set the child's visual state */
- virtual void set_visual_state (Gtk::StateType) = 0;
+ virtual void set_visual_state (VisualState, bool onoff) = 0;
};
/** A VBox whose contents can be dragged and dropped */
@@ -526,14 +527,7 @@ private:
void setup_child_state (T* c)
{
assert (c);
-
- if (c == _active) {
- c->set_visual_state (Gtk::STATE_ACTIVE);
- } else if (selected (c)) {
- c->set_visual_state (Gtk::STATE_SELECTED);
- } else {
- c->set_visual_state (Gtk::STATE_NORMAL);
- }
+ c->set_visual_state (Selected, selected (c));
}
void clear_selection ()
diff --git a/libs/gtkmm2ext/gtkmm2ext/widget_state.h b/libs/gtkmm2ext/gtkmm2ext/widget_state.h
new file mode 100644
index 0000000000..e3fd410d9d
--- /dev/null
+++ b/libs/gtkmm2ext/gtkmm2ext/widget_state.h
@@ -0,0 +1,24 @@
+#ifndef __gtkmm2ext_widget_state_h__
+#define __gtkmm2ext_widget_state_h__
+
+namespace Gtkmm2ext {
+
+ /* widget states: unlike GTK, visual states like "Selected" or "Prelight"
+ are orthogonal to active states.
+ */
+
+ enum ActiveState {
+ Active = 1,
+ Mid,
+ };
+
+ enum VisualState {
+ /* these can be OR-ed together */
+ Selected = 0x1,
+ Prelight = 0x2,
+ Insensitive = 0x4,
+ };
+
+};
+
+#endif /* __gtkmm2ext_widget_state_h__ */