path.cpp revision 30291effadd982ef29531e075db0059bd1d91a1e
919N/A#include "live_effects/parameter/path.h"
919N/A#include "live_effects/effect.h"
919N/A#include "selection-chemistry.h"
919N/A#include "inkscape.h"
919N/A#include "message-stack.h"
299N/A#include "document.h"
493N/A#include "tools-switch.h"
299N/A#include "shape-editor.h"
970N/A#include "node-context.h"
977N/A#include "desktop-handles.h"
970N/A#include "selection.h"
970N/A#include "nodepath.h"
1356N/A#include "ui/clipboard.h"
1107N/A#include "sp-shape.h"
1157N/Anamespace LivePathEffect {
493N/A must_recalculate_pwd2(false),
oncanvas_editable = true;
ref_changed_connection = ref.changedSignal().connect(sigc::mem_fun(*this, &PathParam::ref_changed));
remove_link();
return _pathvector;
ensure_pwd2();
return _pwd2;
if (strvalue) {
remove_link();
must_recalculate_pwd2 = true;
if (href)
emit_changed();
gchar *
if (href) {
return href;
return svgd;
if (!href) {
if (!href) {
PathParam::set_new_value (Geom::Piecewise<Geom::D2<Geom::SBasis> > const & newpath, bool write_to_svg)
remove_link();
if (write_to_svg) {
// After the whole "writing to svg avalanche of function calling": force value upon pwd2 and don't recalculate.
must_recalculate_pwd2 = false;
must_recalculate_pwd2 = false;
emit_changed();
* If this PathParam refers to another path, this link is removed (and replaced with explicit path data).
remove_link();
must_recalculate_pwd2 = true;
if (write_to_svg) {
emit_changed();
if (must_recalculate_pwd2) {
must_recalculate_pwd2 = false;
changed = true;
linked_modified_connection = to->connectModified(sigc::mem_fun(*this, &PathParam::linked_modified));
linked_modified(to, SP_OBJECT_MODIFIED_FLAG); // simulate linked_modified signal, so that path data is updated
if ( new_ref ) {
if (href) {
remove_link();
must_recalculate_pwd2 = true;
emit_changed();
remove_link();