Code

Add option do deactivate knotholder handles for LPEs (useful if they interfere with...
authorcilix42 <cilix42@users.sourceforge.net>
Mon, 18 Aug 2008 00:41:18 +0000 (00:41 +0000)
committercilix42 <cilix42@users.sourceforge.net>
Mon, 18 Aug 2008 00:41:18 +0000 (00:41 +0000)
src/live_effects/effect.cpp
src/live_effects/effect.h

index 705ecede8c92a88c7ccea4cc370107b5c686769f..4a71b26565dfc2e441b01289429628e2987d58dc 100644 (file)
@@ -252,6 +252,7 @@ Effect::createAndApply(EffectType type, SPDocument *doc, SPItem *item)
 Effect::Effect(LivePathEffectObject *lpeobject)
     : oncanvasedit_it(0),
       is_visible(_("Is visible?"), _("If unchecked, the effect remains applied to the object but is temporarily disabled on canvas"), "is_visible", &wr, this, true),
+      deactivate_knotholder(_("Deactivate knotholder?"), _("Check this to deactivate knotholder handles (useful if they interfere with node handles during editing)"), "deactivate_knotholder", &wr, this, false),
       show_orig_path(false),
       lpeobj(lpeobject),
       concatenate_before_pwd2(false),
@@ -259,6 +260,7 @@ Effect::Effect(LivePathEffectObject *lpeobject)
       is_ready(false) // is automatically set to false if providesOwnFlashPaths() is not overridden
 {
     registerParameter( dynamic_cast<Parameter *>(&is_visible) );
+    registerParameter( dynamic_cast<Parameter *>(&deactivate_knotholder) );
 }
 
 Effect::~Effect()
@@ -449,6 +451,9 @@ void
 Effect::addHandles(KnotHolder *knotholder, SPDesktop *desktop, SPItem *item) {
     using namespace Inkscape::LivePathEffect;
 
+    if (deactivate_knotholder)
+        return;
+
     // add handles provided by the effect itself
     addKnotHolderEntities(knotholder, desktop, item);
 
index a660738812a29eacad537f0dd9b2717306132c4a..609778b4619404fd183794de669fa5899c071f6f 100644 (file)
@@ -185,6 +185,9 @@ protected:
     std::vector<std::pair<KnotHolderEntity*, const char*> > kh_entity_vector;
     int oncanvasedit_it;
     BoolParam is_visible;
+    BoolParam deactivate_knotholder; // the user can use this to deactivate knotholders (for
+                                     // convenience, because they may interfere with node handles
+                                     // during editing); this is probably only temporary
 
     bool show_orig_path; // set this to true in derived effects to automatically have the original
                          // path displayed as helperpath