summaryrefslogtreecommitdiffstats
path: root/src/rect-context.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/rect-context.h')
-rw-r--r--src/rect-context.h43
1 files changed, 26 insertions, 17 deletions
diff --git a/src/rect-context.h b/src/rect-context.h
index 5b6c5373e..a85968b1c 100644
--- a/src/rect-context.h
+++ b/src/rect-context.h
@@ -19,14 +19,28 @@
#include <2geom/point.h>
#include "event-context.h"
-#define SP_TYPE_RECT_CONTEXT (sp_rect_context_get_type ())
-#define SP_RECT_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_RECT_CONTEXT, SPRectContext))
-#define SP_RECT_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_RECT_CONTEXT, SPRectContextClass))
-#define SP_IS_RECT_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_RECT_CONTEXT))
-#define SP_IS_RECT_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_RECT_CONTEXT))
-
-struct SPRectContext : public SPEventContext {
- SPItem *item;
+#include "sp-rect.h"
+
+#define SP_RECT_CONTEXT(obj) (dynamic_cast<SPRectContext*>((SPEventContext*)obj))
+#define SP_IS_RECT_CONTEXT(obj) (dynamic_cast<const SPRectContext*>((const SPEventContext*)obj) != NULL)
+
+class SPRectContext : public SPEventContext {
+public:
+ SPRectContext();
+ virtual ~SPRectContext();
+
+ static const std::string prefsPath;
+
+ virtual void setup();
+ virtual void finish();
+ virtual void set(const Inkscape::Preferences::Entry& val);
+ virtual bool root_handler(GdkEvent* event);
+ virtual bool item_handler(SPItem* item, GdkEvent* event);
+
+ virtual const std::string& getPrefsPath();
+
+private:
+ SPRect *rect;
Geom::Point center;
gdouble rx; /* roundness radius (x direction) */
@@ -34,15 +48,10 @@ struct SPRectContext : public SPEventContext {
sigc::connection sel_changed_connection;
- Inkscape::MessageContext *_message_context;
-};
-
-struct SPRectContextClass {
- SPEventContextClass parent_class;
+ void drag(Geom::Point const pt, guint state);
+ void finishItem();
+ void cancel();
+ void selection_changed(Inkscape::Selection* selection);
};
-/* Standard Gtk function */
-
-GType sp_rect_context_get_type (void);
-
#endif