From e58cac52b258e64c2cc88b0044bf9cfbaecedce2 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Tue, 9 Apr 2013 00:23:07 +0200 Subject: Started conversion of SPEventContext tree; added virtual pads to all classes. (bzr r11608.1.89) --- src/rect-context.h | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/rect-context.h') diff --git a/src/rect-context.h b/src/rect-context.h index 5b6c5373e..2001716ba 100644 --- a/src/rect-context.h +++ b/src/rect-context.h @@ -25,7 +25,12 @@ #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 { +class CRectContext; + +class SPRectContext : public SPEventContext { +public: + CRectContext* crectcontext; + SPItem *item; Geom::Point center; @@ -41,6 +46,21 @@ struct SPRectContextClass { SPEventContextClass parent_class; }; +class CRectContext : public CEventContext { +public: + CRectContext(SPRectContext* rectcontext); + + virtual void setup(); + virtual void finish(); + virtual void set(Inkscape::Preferences::Entry* val); + virtual gint root_handler(GdkEvent* event); + virtual gint item_handler(SPItem* item, GdkEvent* event); + +protected: + SPRectContext* sprectcontext; +}; + + /* Standard Gtk function */ GType sp_rect_context_get_type (void); -- cgit v1.2.3 From 1d8f1753cd8cab38d19fcc26a4ad70ba2e794ac8 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Tue, 9 Apr 2013 22:12:07 +0200 Subject: Added constructors to EventContext tree / some missing virtual pads. (bzr r11608.1.90) --- src/rect-context.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/rect-context.h') diff --git a/src/rect-context.h b/src/rect-context.h index 2001716ba..88c964c41 100644 --- a/src/rect-context.h +++ b/src/rect-context.h @@ -29,6 +29,7 @@ class CRectContext; class SPRectContext : public SPEventContext { public: + SPRectContext(); CRectContext* crectcontext; SPItem *item; -- cgit v1.2.3 From fbb85064cfaaf03cc09bacedb16a8561f61f2b3d Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sat, 13 Apr 2013 00:37:18 +0200 Subject: Added prefPaths to contexts; modified SPFactory (bzr r11608.1.94) --- src/rect-context.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/rect-context.h') diff --git a/src/rect-context.h b/src/rect-context.h index 88c964c41..b840e1b2c 100644 --- a/src/rect-context.h +++ b/src/rect-context.h @@ -41,6 +41,8 @@ public: sigc::connection sel_changed_connection; Inkscape::MessageContext *_message_context; + + static const std::string prefsPath; }; struct SPRectContextClass { -- cgit v1.2.3 From fbdc8b84ff670c684dafc7d7d403ed01e7077e70 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sat, 13 Apr 2013 18:13:17 +0200 Subject: Replaced casting macros for EventContext tree; added contructors. (bzr r11608.1.96) --- src/rect-context.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/rect-context.h') diff --git a/src/rect-context.h b/src/rect-context.h index b840e1b2c..41fa64b59 100644 --- a/src/rect-context.h +++ b/src/rect-context.h @@ -20,10 +20,12 @@ #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(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(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)) +#define SP_RECT_CONTEXT(obj) ((SPRectContext*)obj) +#define SP_IS_RECT_CONTEXT(obj) (((SPEventContext*)obj)->types.count(typeid(SPRectContext))) class CRectContext; @@ -59,6 +61,7 @@ public: virtual gint root_handler(GdkEvent* event); virtual gint item_handler(SPItem* item, GdkEvent* event); + virtual const std::string& getPrefsPath(); protected: SPRectContext* sprectcontext; }; -- cgit v1.2.3 From 1227ca0189590b281116fcc808bdd8c674b2196c Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sat, 20 Apr 2013 21:16:13 +0200 Subject: Further changes to EventContexts; they work without GObject (bzr r11608.1.97) --- src/rect-context.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/rect-context.h') diff --git a/src/rect-context.h b/src/rect-context.h index 41fa64b59..627e0b942 100644 --- a/src/rect-context.h +++ b/src/rect-context.h @@ -32,6 +32,7 @@ class CRectContext; class SPRectContext : public SPEventContext { public: SPRectContext(); + virtual ~SPRectContext(); CRectContext* crectcontext; SPItem *item; -- cgit v1.2.3 From 65ba6ad9a82f8f47974eb10665478fd783692bb5 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sat, 20 Apr 2013 23:19:46 +0200 Subject: Merging of EventContext classes complete. (bzr r11608.1.98) --- src/rect-context.h | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) (limited to 'src/rect-context.h') diff --git a/src/rect-context.h b/src/rect-context.h index 627e0b942..87d4a5899 100644 --- a/src/rect-context.h +++ b/src/rect-context.h @@ -19,21 +19,13 @@ #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)) #define SP_RECT_CONTEXT(obj) ((SPRectContext*)obj) -#define SP_IS_RECT_CONTEXT(obj) (((SPEventContext*)obj)->types.count(typeid(SPRectContext))) - -class CRectContext; +#define SP_IS_RECT_CONTEXT(obj) (dynamic_cast((const SPEventContext*)obj)) class SPRectContext : public SPEventContext { public: SPRectContext(); virtual ~SPRectContext(); - CRectContext* crectcontext; SPItem *item; Geom::Point center; @@ -46,15 +38,6 @@ public: Inkscape::MessageContext *_message_context; static const std::string prefsPath; -}; - -struct SPRectContextClass { - SPEventContextClass parent_class; -}; - -class CRectContext : public CEventContext { -public: - CRectContext(SPRectContext* rectcontext); virtual void setup(); virtual void finish(); @@ -63,13 +46,6 @@ public: virtual gint item_handler(SPItem* item, GdkEvent* event); virtual const std::string& getPrefsPath(); -protected: - SPRectContext* sprectcontext; }; - -/* Standard Gtk function */ - -GType sp_rect_context_get_type (void); - #endif -- cgit v1.2.3 From dda3882d58e8cc05ce1d153ad09ee17819d2c0f1 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sun, 21 Apr 2013 01:28:31 +0200 Subject: Some refactoring in RectContext and StarContext. (bzr r11608.1.101) --- src/rect-context.h | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'src/rect-context.h') diff --git a/src/rect-context.h b/src/rect-context.h index 87d4a5899..ae7bc4f3f 100644 --- a/src/rect-context.h +++ b/src/rect-context.h @@ -19,6 +19,8 @@ #include <2geom/point.h> #include "event-context.h" +#include "sp-rect.h" + #define SP_RECT_CONTEXT(obj) ((SPRectContext*)obj) #define SP_IS_RECT_CONTEXT(obj) (dynamic_cast((const SPEventContext*)obj)) @@ -27,16 +29,6 @@ public: SPRectContext(); virtual ~SPRectContext(); - SPItem *item; - Geom::Point center; - - gdouble rx; /* roundness radius (x direction) */ - gdouble ry; /* roundness radius (y direction) */ - - sigc::connection sel_changed_connection; - - Inkscape::MessageContext *_message_context; - static const std::string prefsPath; virtual void setup(); @@ -46,6 +38,22 @@ public: virtual gint item_handler(SPItem* item, GdkEvent* event); virtual const std::string& getPrefsPath(); + +private: + SPRect *rect; + Geom::Point center; + + gdouble rx; /* roundness radius (x direction) */ + gdouble ry; /* roundness radius (y direction) */ + + sigc::connection sel_changed_connection; + + Inkscape::MessageContext *_message_context; + + void drag(Geom::Point const pt, guint state); + void finishItem(); + void cancel(); + void selection_changed(Inkscape::Selection* selection); }; #endif -- cgit v1.2.3 From bdde74bbab299f2ee448f1c55469c56a66fb01f7 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sun, 21 Apr 2013 23:58:15 +0200 Subject: Removed some unused files; more refactoring in EventContext tree. (bzr r11608.1.104) --- src/rect-context.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/rect-context.h') diff --git a/src/rect-context.h b/src/rect-context.h index ae7bc4f3f..ab65a3b7a 100644 --- a/src/rect-context.h +++ b/src/rect-context.h @@ -33,7 +33,7 @@ public: virtual void setup(); virtual void finish(); - virtual void set(Inkscape::Preferences::Entry* val); + virtual void set(const Inkscape::Preferences::Entry& val); virtual gint root_handler(GdkEvent* event); virtual gint item_handler(SPItem* item, GdkEvent* event); -- cgit v1.2.3 From b2dd3583e7372d23d18bbc6e861f4f645ec3dc37 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Tue, 30 Jul 2013 23:17:21 +0200 Subject: Further refactoring of EventContexts. (bzr r11608.1.109) --- src/rect-context.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/rect-context.h') diff --git a/src/rect-context.h b/src/rect-context.h index ab65a3b7a..1856a3d7e 100644 --- a/src/rect-context.h +++ b/src/rect-context.h @@ -34,8 +34,8 @@ public: virtual void setup(); virtual void finish(); virtual void set(const Inkscape::Preferences::Entry& val); - virtual gint root_handler(GdkEvent* event); - virtual gint item_handler(SPItem* item, GdkEvent* event); + virtual bool root_handler(GdkEvent* event); + virtual bool item_handler(SPItem* item, GdkEvent* event); virtual const std::string& getPrefsPath(); -- cgit v1.2.3 From 989abbac025a8b3349748d19a613a08586c5fdcd Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Wed, 31 Jul 2013 21:11:20 +0200 Subject: Fixed SPObject ctor and dtor; removed singleton.h; some smaller changes. (bzr r11608.1.110) --- src/rect-context.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'src/rect-context.h') diff --git a/src/rect-context.h b/src/rect-context.h index 1856a3d7e..f57a1266a 100644 --- a/src/rect-context.h +++ b/src/rect-context.h @@ -48,8 +48,6 @@ private: sigc::connection sel_changed_connection; - Inkscape::MessageContext *_message_context; - void drag(Geom::Point const pt, guint state); void finishItem(); void cancel(); -- cgit v1.2.3 From bb4246887ab6a0833cc4d2263b31f951ce314061 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sat, 14 Sep 2013 22:43:15 +0200 Subject: Modified SP_IS_ macros. (bzr r11608.1.122) --- src/rect-context.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/rect-context.h') diff --git a/src/rect-context.h b/src/rect-context.h index f57a1266a..f381fcba2 100644 --- a/src/rect-context.h +++ b/src/rect-context.h @@ -22,7 +22,7 @@ #include "sp-rect.h" #define SP_RECT_CONTEXT(obj) ((SPRectContext*)obj) -#define SP_IS_RECT_CONTEXT(obj) (dynamic_cast((const SPEventContext*)obj)) +#define SP_IS_RECT_CONTEXT(obj) (dynamic_cast((const SPEventContext*)obj) != NULL) class SPRectContext : public SPEventContext { public: -- cgit v1.2.3 From 5cf6efefbfd06d723973b6517b442f0ee64416b7 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sun, 15 Sep 2013 02:43:49 +0200 Subject: Added runtime check in SP_-cast macros. (bzr r11608.1.123) --- src/rect-context.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/rect-context.h') diff --git a/src/rect-context.h b/src/rect-context.h index f381fcba2..a85968b1c 100644 --- a/src/rect-context.h +++ b/src/rect-context.h @@ -21,7 +21,7 @@ #include "sp-rect.h" -#define SP_RECT_CONTEXT(obj) ((SPRectContext*)obj) +#define SP_RECT_CONTEXT(obj) (dynamic_cast((SPEventContext*)obj)) #define SP_IS_RECT_CONTEXT(obj) (dynamic_cast((const SPEventContext*)obj) != NULL) class SPRectContext : public SPEventContext { -- cgit v1.2.3