#include <node.h>
Inheritance diagram for NodeHidden:
Public Member Functions | |
NodeHidden (Node *HiddenNode) | |
NodeHidden constructor which hides HiddenNode. | |
Node * | ShowNode () |
This static method will relink the hidden node into the tree. this will be deleted. | |
virtual Node * | SimpleCopy () |
Causes an ENSURE failure. A hidden node should never be copied. | |
virtual UINT32 | GetNodeSize () const |
For finding the size of the node. | |
virtual BOOL | IsNodeHidden () const |
Determine if a node is *derived* from the NodeHidden class. | |
virtual BOOL | IsOrHidesAnAttribute () const |
Enables to determine if this node is an Attribute or is hiding an attribute. | |
virtual BOOL | IsTypeExtendible () const |
virtual DocRect | ValidateExtend (const ExtendParams &ExtParams) |
Tests the reversibility of an Extend operation applied to this node. | |
virtual void | Extend (const ExtendParams &ExtParams) |
Perform an Extend operation on this Node, and its children if appropriate. Default implementation just calls Extend() on its children. | |
Public Attributes | |
Node * | HiddenNd |
Definition at line 1475 of file node.h.
|
NodeHidden constructor which hides HiddenNode.
Definition at line 4776 of file noderend.cpp. 04776 : Node() 04777 { 04778 ENSURE(HiddenNode != NULL, "Trying to hide a NULL node"); 04779 HiddenNd = HiddenNode; // Point to the node which is to be hidden 04780 HiddenNode->IncHiddenCnt(); // Increase the count of the number of NodeHidden nodes which point 04781 // to the node being hidden. 04782 04783 TAG tag = HiddenNd->GetTag(); // Copy tag so we can preserve it after the unlink from tree 04784 04785 AttachNode(HiddenNode, NEXT); 04786 HiddenNode->UnlinkNodeFromTree(); // Hide the node 04787 04788 // Alert ! 04789 // This is a bit scary but when doing things like complex deletions we need to find 04790 // the parent of the hidden node when trying to factor out. I hope that this 04791 // doesn't break to much !. 04792 //HiddenNode->Parent = this; 04793 04794 HiddenNd->Tag = tag; // Ensure the unlinked node has a preserved tag 04795 }
|
|
Perform an Extend operation on this Node, and its children if appropriate. Default implementation just calls Extend() on its children.
Reimplemented from Node. Definition at line 1504 of file node.h.
|
|
For finding the size of the node.
Reimplemented from Node. Definition at line 4870 of file noderend.cpp. 04871 { 04872 return (sizeof(NodeHidden)); 04873 }
|
|
Determine if a node is *derived* from the NodeHidden class.
Reimplemented from Node. Definition at line 4887 of file noderend.cpp. 04888 { 04889 return TRUE; 04890 }
|
|
Enables to determine if this node is an Attribute or is hiding an attribute.
Reimplemented from Node. Definition at line 4904 of file noderend.cpp. 04905 { 04906 // if it is NULL, then its not an attribute 04907 if (HiddenNd==NULL) 04908 return FALSE; 04909 04910 // see if it is an attribute 04911 return (HiddenNd->IsAnAttribute()); 04912 }
|
|
Reimplemented from Node. Definition at line 1499 of file node.h. 01499 { return FALSE; }
|
|
This static method will relink the hidden node into the tree. this will be deleted.
Definition at line 4814 of file noderend.cpp. 04815 { 04816 Node* ShowNode = HiddenNd; // Pointer to hidden node 04817 04818 //---------------------------------------------------------------------------- 04819 // Relink the hidden node into the tree at the same position as the NodeHidden 04820 04821 TAG tag = ShowNode->GetTag(); // Get the original tag 04822 ShowNode->AttachNode(this, NEXT); 04823 ShowNode->Tag = tag; // Restore tag value after relinking node into the tree 04824 04825 ShowNode->DecHiddenCnt(); // this hidden node no longer reffers to the node. 04826 CascadeDelete(); // Unlinks only the HideNode (It never has any children) 04827 delete (this); 04828 return ShowNode; 04829 }
|
|
Causes an ENSURE failure. A hidden node should never be copied.
Reimplemented from Node. Definition at line 4846 of file noderend.cpp.
|
|
Tests the reversibility of an Extend operation applied to this node.
Also note that if a node is of a non-extending type, it should normally consider itself a 'valid extender', as doing nothing is completely reversible (it should of course still check its children).
Reimplemented from Node. Definition at line 1500 of file node.h.
|
|
|