diff options
Diffstat (limited to 'src/select-context.h')
| -rw-r--r-- | src/select-context.h | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/src/select-context.h b/src/select-context.h index a6877f802..bcea8537a 100644 --- a/src/select-context.h +++ b/src/select-context.h @@ -15,11 +15,8 @@ #include "event-context.h" #include <gtk/gtk.h> -#define SP_TYPE_SELECT_CONTEXT (sp_select_context_get_type ()) -#define SP_SELECT_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_SELECT_CONTEXT, SPSelectContext)) -#define SP_SELECT_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_SELECT_CONTEXT, SPSelectContextClass)) -#define SP_IS_SELECT_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_SELECT_CONTEXT)) -#define SP_IS_SELECT_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_SELECT_CONTEXT)) +#define SP_SELECT_CONTEXT(obj) (dynamic_cast<SPSelectContext*>((SPEventContext*)obj)) +#define SP_IS_SELECT_CONTEXT(obj) (dynamic_cast<const SPSelectContext*>((const SPEventContext*)obj) != NULL) struct SPCanvasItem; @@ -29,7 +26,11 @@ namespace Inkscape { class SelectionDescriber; } -struct SPSelectContext : public SPEventContext { +class SPSelectContext : public SPEventContext { +public: + SPSelectContext(); + virtual ~SPSelectContext(); + guint dragging : 1; guint moved : 1; bool button_press_shift; @@ -46,14 +47,19 @@ struct SPSelectContext : public SPEventContext { SPCanvasItem *grabbed; Inkscape::SelTrans *_seltrans; Inkscape::SelectionDescriber *_describer; -}; -struct SPSelectContextClass { - SPEventContextClass parent_class; -}; + static const std::string prefsPath; -/* Standard Gtk function */ + virtual void setup(); + virtual void set(const Inkscape::Preferences::Entry& val); + virtual bool root_handler(GdkEvent* event); + virtual bool item_handler(SPItem* item, GdkEvent* event); -GType sp_select_context_get_type (void); + virtual const std::string& getPrefsPath(); + +private: + bool sp_select_context_abort(); + void sp_select_context_cycle_through_items(Inkscape::Selection *selection, GdkEventScroll *scroll_event, bool shift_pressed); +}; #endif |
