From 32144cc14e87e3c3eede2966a874f17da9c24eba Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Fri, 17 Aug 2007 20:30:10 +0000 Subject: Fix LPE: * add default values for parameters * remove text for LPE_INVALID * update example for skel strokes * clean a bit of the code (bzr r3498) --- src/live_effects/effect.cpp | 44 +++++++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 17 deletions(-) (limited to 'src/live_effects/effect.cpp') diff --git a/src/live_effects/effect.cpp b/src/live_effects/effect.cpp index a0a8f3db9..404db61fb 100644 --- a/src/live_effects/effect.cpp +++ b/src/live_effects/effect.cpp @@ -35,35 +35,42 @@ namespace Inkscape { namespace LivePathEffect { -const Util::EnumData LPETypeData[ENDTYPE_LPE] = { - {INVALID_LPE, _("Invalid effect"), "invalid"}, +const Util::EnumData LPETypeData[INVALID_LPE] = { {SKELETAL_STROKES, _("Skeletal Strokes"), "skeletal"}, {SLANT, _("Slant"), "slant"}, {DOEFFECTSTACK_TEST, _("doEffect stack test"), "doeffectstacktest"}, {GEARS, _("Gears"), "gears"} }; -const Util::EnumDataConverter LPETypeConverter(LPETypeData, ENDTYPE_LPE); +const Util::EnumDataConverter LPETypeConverter(LPETypeData, INVALID_LPE); Effect* Effect::New(EffectType lpenr, LivePathEffectObject *lpeobj) { + Effect* neweffect = NULL; switch (lpenr) { - case INVALID_LPE: - g_warning("LivePathEffect::Effect::New called with invalid patheffect type"); - return NULL; case SKELETAL_STROKES: - return (Effect*) new LPESkeletalStrokes(lpeobj); + neweffect = (Effect*) new LPESkeletalStrokes(lpeobj); + break; case SLANT: - return (Effect*) new LPESlant(lpeobj); + neweffect = (Effect*) new LPESlant(lpeobj); + break; case DOEFFECTSTACK_TEST: - return (Effect*) new LPEdoEffectStackTest(lpeobj); + neweffect = (Effect*) new LPEdoEffectStackTest(lpeobj); + break; case GEARS: - return (Effect*) new LPEGears(lpeobj); - case ENDTYPE_LPE: - return NULL; + neweffect = (Effect*) new LPEGears(lpeobj); + break; + default: + g_warning("LivePathEffect::Effect::New called with invalid patheffect type (%d)", lpenr); + neweffect = NULL; + break; } - return NULL; + if (neweffect) { + neweffect->readallParameters(SP_OBJECT_REPR(lpeobj)); + } + + return neweffect; } Effect::Effect(LivePathEffectObject *lpeobject) @@ -83,7 +90,10 @@ Effect::~Effect() Glib::ustring Effect::getName() { - return Glib::ustring( LPETypeConverter.get_label(lpeobj->effecttype) ); + if (lpeobj->effecttype_set && lpeobj->effecttype < INVALID_LPE) + return Glib::ustring( LPETypeConverter.get_label(lpeobj->effecttype) ); + else + return Glib::ustring( _("No effect") ); } /* @@ -211,14 +221,14 @@ Effect::getRepr() SPDocument * Effect::getSPDoc() { - if (SP_OBJECT_DOCUMENT(lpeobj) == NULL) g_message("oh crap"); + if (SP_OBJECT_DOCUMENT(lpeobj) == NULL) g_message("Effect::getSPDoc() returns NULL"); return SP_OBJECT_DOCUMENT(lpeobj); } -}; /* namespace LivePathEffect */ +} /* namespace LivePathEffect */ -}; /* namespace Inkscape */ +} /* namespace Inkscape */ /* Local Variables: -- cgit v1.2.3