#include <VectorNodeImpl.h>
Public Member Functions | |
bool | allowHeteroChildren () const |
bool | isTypeEquivalent (NodeImplSharedPtr ni) override |
void | set (int64_t index, NodeImplSharedPtr ni) override |
NodeType | type () const override |
VectorNodeImpl (ImageFileImplWeakPtr destImageFile, bool allowHeteroChildren) | |
void | writeXml (ImageFileImplSharedPtr imf, CheckedFile &cf, int indent, const char *forcedFieldName=nullptr) override |
~VectorNodeImpl () override=default | |
Public Member Functions inherited from e57::StructureNodeImpl | |
virtual void | append (NodeImplSharedPtr ni) |
void | checkLeavesInSet (const StringSet &pathNames, NodeImplSharedPtr origin) override |
virtual int64_t | childCount () const |
NodeImplSharedPtr | get (const ustring &pathName) override |
virtual NodeImplSharedPtr | get (int64_t index) |
bool | isDefined (const ustring &pathName) override |
bool | isTypeEquivalent (NodeImplSharedPtr ni) override |
void | set (const StringList &fields, unsigned level, NodeImplSharedPtr ni, bool autoPathCreate=false) override |
void | set (const ustring &pathName, NodeImplSharedPtr ni, bool autoPathCreate=false) override |
virtual void | set (int64_t index, NodeImplSharedPtr ni) |
void | setAttachedRecursive () override |
StructureNodeImpl (ImageFileImplWeakPtr destImageFile) | |
NodeType | type () const override |
void | writeXml (ImageFileImplSharedPtr imf, CheckedFile &cf, int indent, const char *forcedFieldName=nullptr) override |
~StructureNodeImpl () override=default | |
Public Member Functions inherited from e57::NodeImpl | |
void | checkBuffers (const std::vector< SourceDestBuffer > &sdbufs, bool allowMissing) |
void | checkImageFileOpen (const char *srcFileName, int srcLineNumber, const char *srcFunctionName) const |
virtual void | checkLeavesInSet (const StringSet &pathNames, NodeImplSharedPtr origin)=0 |
ImageFileImplSharedPtr | destImageFile () |
ustring | elementName () const |
bool | findTerminalPosition (const NodeImplSharedPtr &target, uint64_t &countFromLeft) |
virtual NodeImplSharedPtr | get (const ustring &pathName) |
ustring | imageFileName () const |
bool | isAttached () const |
virtual bool | isDefined (const ustring &pathName)=0 |
bool | isRoot () const |
bool | isTypeConstrained () |
virtual bool | isTypeEquivalent (NodeImplSharedPtr ni)=0 |
NodeImplSharedPtr | parent () |
ustring | pathName () const |
ustring | relativePathName (const NodeImplSharedPtr &origin, ustring childPathName=ustring()) const |
virtual void | set (const StringList &fields, unsigned level, NodeImplSharedPtr ni, bool autoPathCreate=false) |
virtual void | set (const ustring &pathName, NodeImplSharedPtr ni, bool autoPathCreate=false) |
virtual void | setAttachedRecursive () |
void | setParent (NodeImplSharedPtr parent, const ustring &elementName) |
virtual NodeType | type () const =0 |
virtual void | writeXml (ImageFileImplSharedPtr imf, CheckedFile &cf, int indent, const char *forcedFieldName=nullptr)=0 |
virtual | ~NodeImpl ()=default |
Additional Inherited Members | |
Protected Member Functions inherited from e57::StructureNodeImpl | |
NodeImplSharedPtr | lookup (const ustring &pathName) override |
Protected Member Functions inherited from e57::NodeImpl | |
NodeImplSharedPtr | getRoot () |
virtual NodeImplSharedPtr | lookup (const ustring &) |
NodeImpl (ImageFileImplWeakPtr destImageFile) | |
NodeImpl & | operator= (NodeImpl &n) |
Protected Attributes inherited from e57::StructureNodeImpl | |
std::vector< NodeImplSharedPtr > | children_ |
Protected Attributes inherited from e57::NodeImpl | |
ImageFileImplWeakPtr | destImageFile_ |
ustring | elementName_ |
bool | isAttached_ |
NodeImplWeakPtr | parent_ |
|
explicit |
don't checkImageFileOpen, StructNodeImpl() will do it
|
overridedefault |
bool e57::VectorNodeImpl::allowHeteroChildren | ( | ) | const |
References e57::NodeImpl::checkImageFileOpen().
|
overridevirtual |
don't checkImageFileOpen
Same node type?
allowHeteroChildren must match
Same number of children?
Check each child, must be in same order
Types match
Reimplemented from e57::StructureNodeImpl.
References e57::StructureNodeImpl::childCount(), e57::StructureNodeImpl::children_, and e57::E57_VECTOR.
|
overridevirtual |
New node type must match all existing children
??? for now, use base implementation
Reimplemented from e57::StructureNodeImpl.
References e57::NodeImpl::checkImageFileOpen(), e57::StructureNodeImpl::children_, e57::E57_ERROR_HOMOGENEOUS_VIOLATION, e57::NodeImpl::pathName(), and e57::StructureNodeImpl::set().
Referenced by draftguitools.gui_trackers.editTracker::move().
|
overridevirtual |
Reimplemented from e57::StructureNodeImpl.
References e57::E57_VECTOR.
Referenced by ArchProfile.ProfileTaskPanel::accept(), and ArchProfile.ProfileTaskPanel::retranslateUi().
|
overridevirtual |
don't checkImageFileOpen
Reimplemented from e57::StructureNodeImpl.
References e57::StructureNodeImpl::children_, e57::NodeImpl::elementName_, and e57::space().