summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext/gtkmm2ext/pane.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-05-27 12:58:55 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-05-31 15:30:45 -0400
commit067616a84f6ee6be2d2f77877fbf5f8bdc10775a (patch)
tree11528eaea7d62f27d42cf17ff88bd5e8c5f388b2 /libs/gtkmm2ext/gtkmm2ext/pane.h
parent95be25047c12973ee81260558b4aa1be253956de (diff)
various work on Pane, including cursors, more styling stuff, and making the forall_vfunc safe against gtk_container_remove
Diffstat (limited to 'libs/gtkmm2ext/gtkmm2ext/pane.h')
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/pane.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/libs/gtkmm2ext/gtkmm2ext/pane.h b/libs/gtkmm2ext/gtkmm2ext/pane.h
index 452c9f9f0a..ecf466833a 100644
--- a/libs/gtkmm2ext/gtkmm2ext/pane.h
+++ b/libs/gtkmm2ext/gtkmm2ext/pane.h
@@ -25,6 +25,7 @@
#include <stdint.h>
+#include <gdkmm/cursor.h>
#include <gtkmm/container.h>
#include <gtkmm/eventbox.h>
@@ -47,8 +48,9 @@ class LIBGTKMM2EXT_API Pane : public Gtk::Container
float get_divider (std::vector<float>::size_type divider = 0);
GType child_type_vfunc() const;
+ void set_drag_cursor (Gdk::Cursor);
-
+ protected:
bool horizontal;
void on_add (Gtk::Widget*);
@@ -60,10 +62,15 @@ class LIBGTKMM2EXT_API Pane : public Gtk::Container
bool handle_press_event (GdkEventButton*, Divider*);
bool handle_release_event (GdkEventButton*, Divider*);
bool handle_motion_event (GdkEventMotion*, Divider*);
+ bool handle_enter_event (GdkEventCrossing*, Divider*);
+ bool handle_leave_event (GdkEventCrossing*, Divider*);
void forall_vfunc (gboolean include_internals, GtkCallback callback, gpointer callback_data);
private:
+ Gdk::Cursor drag_cursor;
+ bool did_move;
+
void reallocate (Gtk::Allocation const &);
typedef std::list<Gtk::Widget*> Children;
@@ -76,11 +83,9 @@ class LIBGTKMM2EXT_API Pane : public Gtk::Container
bool dragging;
bool on_expose_event (GdkEventExpose* ev);
- bool on_enter_notify_event (GdkEventCrossing*);
- bool on_leave_notify_event (GdkEventCrossing*);
};
- typedef std::vector<Divider*> Dividers;
+ typedef std::list<Divider*> Dividers;
Dividers dividers;
int divider_width;
void add_divider ();