16#include <glibmm/i18n.h>
22#include <sigc++/adaptors/bind.h>
51 std::vector<SPObject*> x;
68 return _(
"Conditional Group");
73 return g_strdup_printf(
74 ngettext(
"of <b>%d</b> object",
"of <b>%d</b> objects",
len),
len);
98 if (!evaluated_child ||
_cached_item == evaluated_child) {
105 for ( std::vector<SPObject*>::const_reverse_iterator iter=
item_list.rbegin();iter!=
item_list.rend();++iter) {
107 if ( !is<SPItem>(o) ) {
111 auto child = cast<SPItem>(o);
112 child->setEvaluated(o == evaluated_child);
140 for ( std::vector<SPObject*>::const_reverse_iterator iter=l.rbegin();iter!=l.rend();++iter) {
144 auto child = cast<SPItem>(o);
145 child->setEvaluated(o == evaluated_child);
SVG drawing item for display.
void appendChild(DrawingItem *item)
Interface for refcounted XML nodes.
void order_changed(Inkscape::XML::Node *child, Inkscape::XML::Node *old_ref, Inkscape::XML::Node *new_ref) override
void remove_child(Inkscape::XML::Node *child) override
std::vector< SPItem * > item_list()
void child_added(Inkscape::XML::Node *child, Inkscape::XML::Node *ref) override
SPObject is an abstract base class of all of the document nodes at the SVG document level.
std::vector< SPObject * > childList(bool add_ref, Action action=ActionGeneral)
Retrieves the children as a std vector object, optionally ref'ing the children in the process,...
sigc::connection connectRelease(sigc::slot< void(SPObject *)> slot)
Connects to the release request signal.
void requestDisplayUpdate(unsigned int flags)
Queues an deferred update of this object's display.
gchar * description() const override
void _showChildren(Inkscape::Drawing &drawing, Inkscape::DrawingItem *ai, unsigned int key, unsigned int flags) override
std::vector< SPObject * > _childList(bool add_ref, SPObject::Action action)
void _releaseLastItem(SPObject *obj)
static void _releaseItem(SPObject *obj, SPSwitch *selection)
sigc::connection _release_connection
const char * typeName() const override
The item's type name, not node tag name.
void _reevaluate(bool add_to_arena=false)
void order_changed(Inkscape::XML::Node *child, Inkscape::XML::Node *old_ref, Inkscape::XML::Node *new_ref) override
void remove_child(Inkscape::XML::Node *child) override
void child_added(Inkscape::XML::Node *child, Inkscape::XML::Node *ref) override
const char * displayName() const override
The item's type name as a translated human string.
SPObject * _evaluateFirst()
bool sp_item_evaluate(SPItem const *item)
TODO: insert short description here.
Group belonging to an SVG drawing element.
static cairo_user_data_key_t key
SPObject * sp_object_ref(SPObject *object, SPObject *owner)
Increase reference count of object, with possible debugging.