Mako 7.5.0 API
Loading...
Searching...
No Matches
IDOMNode Class Referenceabstract

Abstract class providing the interface to basic DOM node functionality. IDOMNode is the base class for many of the other DOM node types, and defines many of the basic functions of DOM nodes. Exceptions of type IEDLError are thrown on outright failures. More...

#include <idomnode.h>

Inheritance diagram for IDOMNode:

Public Member Functions

virtual ~IDOMNode ()
 virtual destructor
 
virtual DOMid getDOMid () const =0
 Retrieves the node ID.
 
virtual void setDOMid (DOMid id)=0
 Sets the node ID.
 
virtual eDOMNodeType getNodeType () const =0
 Retrieves the DOM node type.
 
virtual bool getProperty (const EDLSysString &propertyName, PValue &propertyValue) const =0
 Retrieves the value of a property. The EDL DOM node can store non-content or relationship information through the use of the "properties" feature of the node. The data is represented as key-value pairs; the key being a string and the value being an abstract container called a PValue. PValues can represent integers, strings, DOM nodes, and so on.
 
virtual void setProperty (const EDLSysString &propertyName, const PValue &propertyValue)=0
 Sets the value of a property. The EDL DOM node can store non-content or relationship information through the use of the "properties" feature of the node. The data is represented as key-value pairs; the key being a string and the value being an abstract container called a PValue. PValues can represent integers, strings, DOM nodes, and so on.
 
virtual void removeProperty (const EDLSysString &propertyName)=0
 Removes property.
 
virtual IEDLSysStringCollectionEnumPtr getPropertyCollectionEnum ()=0
 Retrieves a navigable list of the property names stored on this node.
 
virtual bool hasChildNodes () const =0
 Function that indicates whether this node is a parent to other nodes.
 
virtual IDOMNodePtr getParentNode () const =0
 Gets the parent node of this node.
 
virtual IDOMNodePtr getFirstChild () const =0
 Gets the first child node of this node.
 
virtual IDOMNodePtr getLastChild () const =0
 Gets the last child node of this node.
 
virtual IDOMNodePtr getNextChild (const IDOMNodePtr &child) const =0
 Gets the child node which follows the node passed in.
 
virtual IDOMNodePtr getPreviousChild (const IDOMNodePtr &child) const =0
 Gets the child node which precedes the node passed in.
 
virtual IDOMNodePtr getPreviousSibling () const =0
 Retrieves the node's previous sibling node.
 
virtual IDOMNodePtr getNextSibling () const =0
 Retrieves node's next sibling node.
 
virtual void appendChild (const IDOMNodePtr &child)=0
 Appends a node to the end of the node's child list.
 
virtual void insertChild (const IDOMNodePtr &ptrPreviousSibling, const IDOMNodePtr &child, bool bCheckComplete=true)=0
 Insert a child node after ptrPreviousSibling.
 
virtual IDOMNodePtr extractChild (const IDOMNodePtr &child)=0
 Extracts (that is, finds and removes) a child node from the node children. After extraction the child node is no longer a part of the DOM. If no node is specified, the first available node will be extracted from the node's children.
 
virtual void replaceChild (const IDOMNodePtr &oldChild, const IDOMNodePtr &newChild)=0
 Replaces the child node with another.
 
virtual bool isComplete () const =0
 Signals the completeness of the node.
A complete node is one that has no more children to be added to it.
 
virtual void setComplete ()=0
 Sets the node's completeness status to "true".
 
virtual IDOMNodeFlagsgetFlags ()=0
 Retrieves the node's flags property.
 
virtual void setParentNode (const IDOMNodePtr &ptrParent)=0
 Sets the parent node.
 
virtual void setPreviousSibling (const IDOMNodePtr &ptrPreviousSibling)=0
 Sets the previous sibling node.
 
virtual void setNextSibling (const IDOMNodePtr &ptrNextSibling)=0
 Sets the next sibling node.
 
virtual bool isAncestor (const IDOMNodePtr &ptrCandidate)=0
 Function tests whether a candidate node is a descendant of the node.
 
virtual FRect getBounds (bool applyTransform=true, bool applyClip=true)
 Find the conservative bounding box of the marking content of the node.
 
virtual bool copyNodeData (IDOMNode *pSourceNode)=0
 Copy the properties collection, the flags and the DOM ID from the given source node to this one.
 
virtual IDOMNodePtr cloneNode (IEDLClassFactory *pFactory) const =0
 Simpified node cloning. An exception of type IEDLError will be thrown on failure.
 
virtual IDOMNodePtr cloneTree (IEDLClassFactory *pFactory) const =0
 Clone the tree of nodes beginning at this node. An exception of type IEDLError will be thrown on failure.
 
virtual void cloneTreeAndAppend (IEDLClassFactory *pFactory, const IDOMNodePtr &dest) const =0
 Clone the tree of nodes beginning at this node, and append the result to the destination tree.
 
virtual void completeTree ()=0
 Mark the entire tree from this point as complete. You should not ordinarily need to call this function.
 
virtual void removeCompleteFlagFromTree ()=0
 Mark the entire tree from this point as complete.
 
virtual void findChildrenOfType (eDOMNodeType type, CDOMNodeVect &nodes, bool searchForms=false)=0
 Find all children of this node with the given type, appending to the given vector. Does not descend into brushes.
 
virtual void walkTree (WalkTreeFunc func, void *priv, bool descendIntoBrushes=false, bool descendIntoForms=false)=0
 Walk through the DOM calling a given function on each node. The function is allowed to:
 
virtual void notifyOnDestruct (NodeDeleteFunc func, void *priv)=0
 Register interest in being told when this node is about to be destroyed.
 
virtual void unregisterNotify (NodeDeleteFunc func, void *priv)=0
 Unregister interest in being told when this node is about to be destroyed.
 
- Public Member Functions inherited from IEDLObject
virtual const CClassIDgetClassID () const =0
 Returns class ID of IEDLObject.
 
virtual bool init (CClassParams *pData)
 The init() method is called to perform any post-construction initialization of an IEDLObject that has been created by the EDL class factory, before it is actually returned by the factory.
 
virtual bool clone (IEDLObjectPtr &ptrObject, IEDLClassFactory *pFactory)
 Create a copy of EDLObject.
 
- Public Member Functions inherited from IRCObject
virtual void addRef () const =0
 Increases the reference count of the actual object pointed to. This would take place during an assignment or copying.
 
virtual bool decRef () const =0
 Decreases the reference count of the actual object pointed to. When the reference count falls to Zero, it deletes the actual object pointed to.
 
virtual int32 getRefCount () const =0
 Retrieve the current reference count of the actual object pointed to.
 

Static Public Member Functions

static EDL_API FMatrix effectiveTransformationOfNode (const IDOMNodePtr &node)
 Attempt to find the effective transformation matrix external to the specified node relative to either a containing page or ultimate parent.
 

Additional Inherited Members

- Protected Member Functions inherited from IRCObject
virtual ~IRCObject ()
 Virtual destructor.
 

Detailed Description

Abstract class providing the interface to basic DOM node functionality. IDOMNode is the base class for many of the other DOM node types, and defines many of the basic functions of DOM nodes. Exceptions of type IEDLError are thrown on outright failures.

Member Function Documentation

◆ appendChild()

virtual void IDOMNode::appendChild ( const IDOMNodePtr & child)
pure virtual

Appends a node to the end of the node's child list.

Parameters
childThe child node to append.

◆ cloneNode()

virtual IDOMNodePtr IDOMNode::cloneNode ( IEDLClassFactory * pFactory) const
pure virtual

Simpified node cloning. An exception of type IEDLError will be thrown on failure.

Parameters
pFactoryThe EDL class factory.
Returns
IDOMNodePtr The cloned node.

◆ cloneTree()

virtual IDOMNodePtr IDOMNode::cloneTree ( IEDLClassFactory * pFactory) const
pure virtual

Clone the tree of nodes beginning at this node. An exception of type IEDLError will be thrown on failure.

Parameters
pFactoryThe EDL class factory.
Returns
IDOMNodePtr The cloned node.

◆ cloneTreeAndAppend()

virtual void IDOMNode::cloneTreeAndAppend ( IEDLClassFactory * pFactory,
const IDOMNodePtr & dest ) const
pure virtual

Clone the tree of nodes beginning at this node, and append the result to the destination tree.

Parameters
pFactoryThe EDL class factory.
destThe destination node

◆ copyNodeData()

virtual bool IDOMNode::copyNodeData ( IDOMNode * pSourceNode)
pure virtual

Copy the properties collection, the flags and the DOM ID from the given source node to this one.

Parameters
pSourceNodeSmart pointer to the source node.
Returns
bool True on success, false if the call fails.

◆ effectiveTransformationOfNode()

static EDL_API FMatrix IDOMNode::effectiveTransformationOfNode ( const IDOMNodePtr & node)
static

Attempt to find the effective transformation matrix external to the specified node relative to either a containing page or ultimate parent.

Parameters
nodeThe specified node
Returns
FMatrix The effective transformation matrix

◆ extractChild()

virtual IDOMNodePtr IDOMNode::extractChild ( const IDOMNodePtr & child)
pure virtual

Extracts (that is, finds and removes) a child node from the node children. After extraction the child node is no longer a part of the DOM. If no node is specified, the first available node will be extracted from the node's children.

Parameters
childA pointer to the child node to extract. If set to NULL, the first available child node will be extracted.
Returns
IDOMNodePtr A smart pointer to the extracted child node, or NULL if child was NULL and there are no children.

◆ findChildrenOfType()

virtual void IDOMNode::findChildrenOfType ( eDOMNodeType type,
CDOMNodeVect & nodes,
bool searchForms = false )
pure virtual

Find all children of this node with the given type, appending to the given vector. Does not descend into brushes.

Parameters
typethe type of node to find
nodesVector to receive the found nodes.
searchFormsIf true, search inside forms referenced from form instance nodes.

◆ getBounds()

virtual FRect IDOMNode::getBounds ( bool applyTransform = true,
bool applyClip = true )
inlinevirtual

Find the conservative bounding box of the marking content of the node.

    For composite objects such as canvases
    and pages, this function will recurse through its current children.
Parameters
applyTransformControls whether or not the receiver's RenderTransform is applied to the bounds (if it has one)
  • Pass true (default) to return results in the coordinate space of the object enclosing the receiver
  • Pass false to return results in the coordinate space active inside the object
applyClipControls whether or not the receiver's Clip is applied to the bounds (if it has a clip). This parameter only applies to the current node clip path, it does not apply to child nodes. It is generally used to test if the current nodes clip path is effective.
Returns
FRect The computed bounding box.

◆ getDOMid()

virtual DOMid IDOMNode::getDOMid ( ) const
pure virtual

Retrieves the node ID.

Returns
DOMid The numeric value that uniquely identifies the node.

◆ getFirstChild()

virtual IDOMNodePtr IDOMNode::getFirstChild ( ) const
pure virtual

Gets the first child node of this node.

Returns
IDOMNodePtr A smart pointer to the first child node.

◆ getFlags()

virtual IDOMNodeFlags * IDOMNode::getFlags ( )
pure virtual

Retrieves the node's flags property.

Returns
IDOMNodeFlags A pointer to the node's flags property.

◆ getLastChild()

virtual IDOMNodePtr IDOMNode::getLastChild ( ) const
pure virtual

Gets the last child node of this node.

Returns
IDOMNodePtr A smart pointer to the last child node.

◆ getNextChild()

virtual IDOMNodePtr IDOMNode::getNextChild ( const IDOMNodePtr & child) const
pure virtual

Gets the child node which follows the node passed in.

Parameters
childThe "current" child node; the node whose next sibling is required.
Returns
IDOMNodePtr A smart pointer to the next child node. If the child node passed in was the last one under the node, returns a smart pointer to the node's first child.

◆ getNextSibling()

virtual IDOMNodePtr IDOMNode::getNextSibling ( ) const
pure virtual

Retrieves node's next sibling node.

Returns
IDOMNodePtr A smart pointer to the node's next sibling.

◆ getNodeType()

virtual eDOMNodeType IDOMNode::getNodeType ( ) const
pure virtual

Retrieves the DOM node type.

Returns
eDOMNodeType The DOM node type.

◆ getParentNode()

virtual IDOMNodePtr IDOMNode::getParentNode ( ) const
pure virtual

Gets the parent node of this node.

Returns
IDOMNodePtr A smart pointer to the parent node.

◆ getPreviousChild()

virtual IDOMNodePtr IDOMNode::getPreviousChild ( const IDOMNodePtr & child) const
pure virtual

Gets the child node which precedes the node passed in.

Parameters
childThe "current" child node; the node whose previous sibling is required.
Returns
IDOMNodePtr A smart pointer to the previous child node. If the child node passed in was the last one under the node, returns a smart pointer to the node's last child.

◆ getPreviousSibling()

virtual IDOMNodePtr IDOMNode::getPreviousSibling ( ) const
pure virtual

Retrieves the node's previous sibling node.

Returns
IDOMNodePtr A smart pointer to the node's previous sibling.

◆ getProperty()

virtual bool IDOMNode::getProperty ( const EDLSysString & propertyName,
PValue & propertyValue ) const
pure virtual

Retrieves the value of a property. The EDL DOM node can store non-content or relationship information through the use of the "properties" feature of the node. The data is represented as key-value pairs; the key being a string and the value being an abstract container called a PValue. PValues can represent integers, strings, DOM nodes, and so on.

Parameters
propertyNameThe name of the property.
propertyValueSmart pointer to receive the value of the property.
Returns
bool True on success, false if the property does not exist.

◆ getPropertyCollectionEnum()

virtual IEDLSysStringCollectionEnumPtr IDOMNode::getPropertyCollectionEnum ( )
pure virtual

Retrieves a navigable list of the property names stored on this node.

Returns
IEDLSysStringCollectionEnumPtr A smart pointer to the property names list or NULL if there are no properties.

◆ hasChildNodes()

virtual bool IDOMNode::hasChildNodes ( ) const
pure virtual

Function that indicates whether this node is a parent to other nodes.

Returns
bool Returns true if the node has child nodes, false if it does not.

◆ insertChild()

virtual void IDOMNode::insertChild ( const IDOMNodePtr & ptrPreviousSibling,
const IDOMNodePtr & child,
bool bCheckComplete = true )
pure virtual

Insert a child node after ptrPreviousSibling.

Parameters
ptrPreviousSiblingSmart pointer to the previous sibling node. If ptrPreviousSibling is NULL then child will be inserted as the first node
childThe child node to insert.
bCheckCompleteIf false insert node even if parent is complete.

◆ isAncestor()

virtual bool IDOMNode::isAncestor ( const IDOMNodePtr & ptrCandidate)
pure virtual

Function tests whether a candidate node is a descendant of the node.

Parameters
ptrCandidateSmart pointer to the candidate node.
Returns
bool True if ptrCandidate is a descendant of this node.

◆ isComplete()

virtual bool IDOMNode::isComplete ( ) const
pure virtual

Signals the completeness of the node.
A complete node is one that has no more children to be added to it.

Returns
bool True if the node is complete, false if the node is incomplete.

◆ notifyOnDestruct()

virtual void IDOMNode::notifyOnDestruct ( NodeDeleteFunc func,
void * priv )
pure virtual

Register interest in being told when this node is about to be destroyed.

Parameters
funcThe function to call when this node is about to be destroyed
privA private pointer to be passed to the notification structure.

◆ removeProperty()

virtual void IDOMNode::removeProperty ( const EDLSysString & propertyName)
pure virtual

Removes property.

The EDL DOM node can store non-content or relationship information through the use of the "properties" feature of the node. The data is represented as key-value pairs; the key being a string and the value being an abstract container called a PValue. PValues can represent integers, strings, DOM nodes, and so on.

Parameters
propertyNameThe name of the property.

◆ replaceChild()

virtual void IDOMNode::replaceChild ( const IDOMNodePtr & oldChild,
const IDOMNodePtr & newChild )
pure virtual

Replaces the child node with another.

Parameters
oldChildPointer to the child node to be replaced.
newChildPointer to the replacing node.

◆ setDOMid()

virtual void IDOMNode::setDOMid ( DOMid id)
pure virtual

Sets the node ID.

Parameters
idThe new DOM ID for the node.

◆ setNextSibling()

virtual void IDOMNode::setNextSibling ( const IDOMNodePtr & ptrNextSibling)
pure virtual

Sets the next sibling node.

Parameters
ptrNextSiblingSmart pointer to the new next sibling node.

◆ setParentNode()

virtual void IDOMNode::setParentNode ( const IDOMNodePtr & ptrParent)
pure virtual

Sets the parent node.

Parameters
ptrParentSmart pointer to the new parent node.

◆ setPreviousSibling()

virtual void IDOMNode::setPreviousSibling ( const IDOMNodePtr & ptrPreviousSibling)
pure virtual

Sets the previous sibling node.

Parameters
ptrPreviousSiblingSmart pointer to the new previous sibling node.

◆ setProperty()

virtual void IDOMNode::setProperty ( const EDLSysString & propertyName,
const PValue & propertyValue )
pure virtual

Sets the value of a property. The EDL DOM node can store non-content or relationship information through the use of the "properties" feature of the node. The data is represented as key-value pairs; the key being a string and the value being an abstract container called a PValue. PValues can represent integers, strings, DOM nodes, and so on.

Parameters
propertyNameThe name of the property.
propertyValueThe new value for the property.

◆ unregisterNotify()

virtual void IDOMNode::unregisterNotify ( NodeDeleteFunc func,
void * priv )
pure virtual

Unregister interest in being told when this node is about to be destroyed.

Parameters
funcThe function that was registered to be called when the node is destroyed.
privThe private pointer that was passed to notifyOnDestruct() along with func.

◆ walkTree()

virtual void IDOMNode::walkTree ( WalkTreeFunc func,
void * priv,
bool descendIntoBrushes = false,
bool descendIntoForms = false )
pure virtual

Walk through the DOM calling a given function on each node. The function is allowed to:

  • edit or inspect the node in any way
  • replace the node (via parent->replaceNode())
  • remove the node (via parent->extractChild())
  • edit or modify the node's children in any way However the result is undefined if the nodes siblings are removed or reordered. Keep in mind that if a node within a brush or form is altered, all uses of that brush or form will see the change.
Parameters
funcThe function to be called for each node. Return false from this function if you wish to stop the walking. It is also safe to throw exceptions from this function.
privA bare pointer that is passed to func for each call.
descendIntoBrushesIf true, the walker will descend into composite brushes, only once per invocation.
descendIntoFormsIf true, the walker will descend into forms, only once per invocation.

The documentation for this class was generated from the following file: