10#ifndef INKSCAPE_LIVEPATHEFFECT_PARAMETER_ARRAY_H
11#define INKSCAPE_LIVEPATHEFFECT_PARAMETER_ARRAY_H
28class KnotHolderEntityAttachBegin;
29class KnotHolderEntityAttachEnd;
32template <
typename StorageType>
36 const Glib::ustring& tip,
37 const Glib::ustring&
key,
48 std::vector<StorageType>
const &
data()
const {
58 auto const strarray = g_strsplit(strvalue,
"|", 0);
61 while (*iter !=
nullptr) {
62 Glib::ustring fixer = *iter;
63 fixer.erase(0, fixer.find_first_not_of(
" "));
64 fixer.erase(fixer.find_last_not_of(
" ")+1);
68 g_strfreev (strarray);
108 for (std::size_t i = 0; i < vector.size(); ++i) {
135 if (vector_data && vector_data->isAttached()) {
136 str << vector_data->getURI()->
str();
137 if (vector_data->getHasActive()) {
139 str << vector_data->getActive();
146 for (std::size_t i = 0; i < vector_data.size(); ++i) {
151 str << vector_data[i].getNodeSatellitesTypeGchar();
153 str << vector_data[i].is_time;
155 str << vector_data[i].selected;
157 str << vector_data[i].has_mirror;
159 str << vector_data[i].hidden;
161 str << vector_data[i].amount;
163 str << vector_data[i].angle;
165 str << static_cast<int>(vector_data[i].steps);
TODO: insert short description here.
Two-dimensional point that doubles as a vector.
ArrayParam(const Glib::ustring &label, const Glib::ustring &tip, const Glib::ustring &key, Inkscape::UI::Widget::Registry *wr, Effect *effect, std::size_t n=0)
void writesvg(SVGOStringStream &str, std::vector< StorageType > const &vector) const
void writesvgData(SVGOStringStream &str, float const &vector_data) const
void param_set_and_write_new_value(std::vector< StorageType > const &new_vector)
void param_update_default(char const *default_value) override
friend class TpS::KnotHolderEntityAttachBegin
void writesvgData(SVGOStringStream &str, Glib::ustring const &vector_data) const
friend class TpS::KnotHolderEntityAttachEnd
void writesvgData(SVGOStringStream &str, Geom::Point const &vector_data) const
void param_set_default() override
void writesvgData(SVGOStringStream &str, std::shared_ptr< SatelliteReference > const &vector_data) const
void writesvgData(SVGOStringStream &str, std::vector< NodeSatellite > const &vector_data) const
Glib::ustring param_getSVGValue() const override
Gtk::Widget * param_newWidget() override
std::size_t _default_size
void param_setValue(std::vector< StorageType > const &new_vector)
std::vector< StorageType > _vector
StorageType readsvg(char const *str)
bool param_readSVGValue(char const *const strvalue) override
void writesvgData(SVGOStringStream &str, double const &vector_data) const
ParamType paramType() const override
bool valid_index(int index) const
ArrayParam(const ArrayParam &)
std::vector< StorageType > const & data() const
ArrayParam & operator=(const ArrayParam &)
Glib::ustring param_getDefaultSVGValue() const override
void param_write_to_repr(const char *svgd)
NodeSatellite – a per node holder of data.
static cairo_user_data_key_t key
TODO: insert short description here.
TODO: insert short description here.