X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fshape-editor.h;h=98dbb35d7f94c266d5f4ac7899e963971f40c4be;hb=e0ade2e2a1738f87d3c589a7dfb3631e11696b7e;hp=8780586c40b7ac227e94c8955b23bfb57c2f7ce2;hpb=6b76ef6bb3e9b4e1cc83e01cd81a55bbd0450989;p=inkscape.git diff --git a/src/shape-editor.h b/src/shape-editor.h index 8780586c4..98dbb35d7 100644 --- a/src/shape-editor.h +++ b/src/shape-editor.h @@ -13,20 +13,21 @@ */ #include -#include +#include <2geom/forward.h> namespace Inkscape { namespace NodePath { class Path; } } namespace Inkscape { namespace XML { class Node; } } -#include "libnr/nr-path-code.h" -#include "libnr/nr-point.h" -#include -#include - class KnotHolder; class SPDesktop; class SPNodeContext; class ShapeEditorsCollective; +class LivePathEffectObject; + +#include "libnr/nr-path-code.h" +#include <2geom/point.h> +#include +#include enum SubType{ SH_NODEPATH, @@ -40,16 +41,11 @@ public: ~ShapeEditor(); void set_item (SPItem *item, SubType type, bool keep_knotholder = false); - void set_item_lpe_path_parameter(SPItem *item, SPObject *lpeobject, const char * key); - void set_knotholder(KnotHolder * knot_holder); - void reset_item (SubType type, bool keep_knotholder = true); + void set_item_lpe_path_parameter(SPItem *item, LivePathEffectObject *lpeobject, const char * key); void unset_item (SubType type, bool keep_knotholder = false); - const SPItem *get_item (SubType type); - - bool has_nodepath (); - bool has_knotholder (); - void update_knotholder (); + bool has_nodepath (); //((deprecated)) + void update_knotholder (); //((deprecated)) bool has_local_change (SubType type); void decrement_local_change (SubType type); @@ -122,10 +118,19 @@ public: bool nodepath_edits_repr_key(gchar const *name); + // this one is only public because it's called from non-C++ repr changed callback + void shapeeditor_event_attr_changed(gchar const *name); + private: + bool has_knotholder (); + void reset_item (SubType type, bool keep_knotholder = true); + const SPItem *get_item (SubType type); + SPDesktop *desktop; Inkscape::NodePath::Path *nodepath; + + // TODO: std::list knotholders; KnotHolder *knotholder; ShapeEditorsCollective *container; @@ -138,7 +143,8 @@ private: Geom::Point curvepoint_event; // int coords from event Geom::Point curvepoint_doc; // same, in doc coords - Inkscape::XML::Node *listener_attached_for; + Inkscape::XML::Node *knotholder_listener_attached_for; + Inkscape::XML::Node *nodepath_listener_attached_for; };