NodeRenderableInkDetailsItem Class Reference

This ListItem is used by the Object Registry. It has the RuntimeClass of a NodeRenderableInk node, along with the following information which is likely to grow. More...

#include <objreg.h>

Inheritance diagram for NodeRenderableInkDetailsItem:

ListItem CCObject SimpleCCObject List of all members.

Public Member Functions

 NodeRenderableInkDetailsItem ()
BOOL AddAttribClass (CCRuntimeClass *pAttribClass)
 Add a NodeAttribute class to this details item, eg:.
void RemoveAttribClass (CCRuntimeClass *pAttribClass)
 Remove a NodeAttribute class from this details item, eg:.

Public Attributes

BOOL IsABaseClass
CCRuntimeClassNodeRenderableInkClass
List NodeAttributeClassList

Private Member Functions

 CC_DECLARE_MEMDUMP (NodeRenderableInkDetailsItem)

Detailed Description

This ListItem is used by the Object Registry. It has the RuntimeClass of a NodeRenderableInk node, along with the following information which is likely to grow.

Author:
Simon_Maneggio (Xara Group Ltd) <camelotdev@xara.com>
Date:
10/2/94
A list of the runtime classes of attributes that the NodeRenderableInk class requires. A Flag which indicates if the node can have NodeRenderableInk children
See also:
-

Definition at line 143 of file objreg.h.


Constructor & Destructor Documentation

NodeRenderableInkDetailsItem::NodeRenderableInkDetailsItem  )  [inline]
 

Definition at line 148 of file objreg.h.

00148 { IsABaseClass = FALSE; }


Member Function Documentation

BOOL NodeRenderableInkDetailsItem::AddAttribClass CCRuntimeClass pAttribClass  ) 
 

Add a NodeAttribute class to this details item, eg:.

Author:
Karim_MacDonald (Xara Group Ltd) <camelotdev@xara.com>
Date:
07/02/2001
Parameters:
pAttr ptr to the runtime class of a specific attribute type. [INPUTS]
Returns:
TRUE if successful, FALSE otherwise (eg out of memory).
NodeRenderableInkDetailsItem* pFillDetails; pFillDetails->AddAttribClass( CC_RUNTIME_CLASS( AttrFillGeometry ));

to add the AttrFillGeometry type to the pNewDetails item.

Definition at line 164 of file objreg.cpp.

00165 {
00166     NodeAttributeClassItem* pAttrClassItem = new NodeAttributeClassItem;
00167     if (pAttrClassItem == NULL)
00168         return FALSE;
00169 
00170     pAttrClassItem->AttributeClass = pAttribClass;
00171     NodeAttributeClassList.AddTail(pAttrClassItem);
00172 
00173     return TRUE;
00174 }

NodeRenderableInkDetailsItem::CC_DECLARE_MEMDUMP NodeRenderableInkDetailsItem   )  [private]
 

void NodeRenderableInkDetailsItem::RemoveAttribClass CCRuntimeClass pAttribClass  ) 
 

Remove a NodeAttribute class from this details item, eg:.

Author:
Karim_MacDonald (Xara Group Ltd) <camelotdev@xara.com>
Date:
08/02/2001
Parameters:
pAttr ptr to the runtime class of a specific attribute type. [INPUTS]
pFillDetails->RemoveAttribClass( CC_RUNTIME_CLASS( AttrFillGeometry ));

to Remove the AttrFillGeometry type from the pFillDetails item.

Notes: * We do nothing if pAttribClass is not in our list. We remove all occurrences of pAttribClass from our list.

Definition at line 197 of file objreg.cpp.

00198 {
00199     NodeAttributeClassItem* pThisClassItem = (NodeAttributeClassItem*)
00200                                                 NodeAttributeClassList.GetHead();
00201     NodeAttributeClassItem* pNextClassItem = NULL;
00202     while (pThisClassItem != NULL)
00203     {
00204         pNextClassItem = (NodeAttributeClassItem*) NodeAttributeClassList.GetNext(pThisClassItem);
00205 
00206         if (pThisClassItem->AttributeClass == pAttribClass)
00207         {
00208             NodeAttributeClassList.RemoveItem(pThisClassItem);
00209             delete pThisClassItem;
00210         }
00211 
00212         pThisClassItem = pNextClassItem;
00213     }
00214 }


Member Data Documentation

BOOL NodeRenderableInkDetailsItem::IsABaseClass
 

Definition at line 153 of file objreg.h.

List NodeRenderableInkDetailsItem::NodeAttributeClassList
 

Definition at line 158 of file objreg.h.

CCRuntimeClass* NodeRenderableInkDetailsItem::NodeRenderableInkClass
 

Definition at line 157 of file objreg.h.


The documentation for this class was generated from the following files:
Generated on Sat Nov 10 03:57:09 2007 for Camelot by  doxygen 1.4.4