SelObjPathListItem Class Reference

This class encapsulates all the data needed for each path generated by the objects that are being combined. A list of all the paths that each of the selected object generates is made, and each path generated creates an instance of this class. More...

#include <combshps.h>

Inheritance diagram for SelObjPathListItem:

ListItem CCObject SimpleCCObject List of all members.

Public Member Functions

 SelObjPathListItem ()
 SelObjPathListItem (NodePath *pThisNodePath, NodeRenderableInk *pThisCreatedByNode, CCAttrMap *pThisAttrMap, BOOL createdByStroke=FALSE)
 Main constructor. Sets up the item correctly.
 ~SelObjPathListItem ()
 Destructor that deletes the member path pointer, and any attrs supplied.
Path * GetPath ()
 Get that Path ptr boy!
NodePath * GetNodePath ()
NodeRenderableInk * GetCreatedByNode ()
CCAttrMap * GetAttrMap ()
ListRange * GetEffectStack ()
BOOL GetStrokeCreatedPassbackPath ()

Private Attributes

NodePath * pNodePath
NodeRenderableInk * pCreatedByNode
CCAttrMap * pAttrMap
ListRange * pEffectStack
BOOL strokeCreatedPassbackPath

Detailed Description

This class encapsulates all the data needed for each path generated by the objects that are being combined. A list of all the paths that each of the selected object generates is made, and each path generated creates an instance of this class.

Author:
Mark_Neves (Xara Group Ltd) <camelotdev@xara.com>
Date:
12/1/95

Definition at line 145 of file combshps.h.


Constructor & Destructor Documentation

SelObjPathListItem::SelObjPathListItem (   )  [inline]
 

Definition at line 150 of file combshps.h.

00150 : pNodePath(NULL), pCreatedByNode(NULL), pAttrMap(NULL), strokeCreatedPassbackPath(FALSE) {}    // For CC_IMPLEMENT_...

SelObjPathListItem::SelObjPathListItem (  NodePath *  pThisNodePath,
NodeRenderableInk *  pThisCreatedByNode,
CCAttrMap *  pThisAttrMap,
BOOL  createdByStroke = FALSE
) 
 

Main constructor. Sets up the item correctly.

Author:
Mark_Neves (Xara Group Ltd) <camelotdev@xara.com>
Date:
12/1/95
Parameters:
pThisNodePath = the NodePath this item refers to [INPUTS] pThisCreatedByNode = the node that created pThisNodePath pThisAttrMap = ptr to attr map (NULL means get applied attrs from pThisCreatedByNode) createdByStroke = was the item created by a stroke?
- [OUTPUTS]
Returns:
-

Errors: -

See also:

Definition at line 2672 of file combshps.cpp.

02673 {
02674     pNodePath       = pThisNodePath;
02675     pCreatedByNode  = pThisCreatedByNode;
02676     pAttrMap        = pThisAttrMap;
02677     strokeCreatedPassbackPath = createdByStroke;
02678     pEffectStack    = NULL;
02679 }

SelObjPathListItem::~SelObjPathListItem (   ) 
 

Destructor that deletes the member path pointer, and any attrs supplied.

Author:
Mark_Neves (Xara Group Ltd) <camelotdev@xara.com>
Date:
12/1/95
Parameters:
- [INPUTS]
- [OUTPUTS]
Returns:
-

Errors: -

See also:

Definition at line 2696 of file combshps.cpp.

02697 {
02698     // Must delete the NodePaths generated via the DoBecomeA() mechanism
02699     // Only delete if this node is not in the tree!
02700     if (pNodePath != NULL && pNodePath!=pCreatedByNode && pNodePath->FindParent()==NULL && pNodePath->GetHiddenCnt()==0)
02701     {
02702         pNodePath->CascadeDelete();
02703         delete pNodePath;
02704     }
02705 
02706     if (pAttrMap  != NULL)
02707     {
02708         // Delete all the attrs in the map
02709         CCRuntimeClass * pType;
02710         void* pVal;
02711 
02712         // iterating all (key, value) pairs
02713         for (CCAttrMap::iterator Pos = pAttrMap->GetStartPosition(); Pos != pAttrMap->GetEndPosition();)
02714         {
02715             // Get attr at position Pos
02716             pAttrMap->GetNextAssoc(Pos,pType,pVal);
02717 
02718             if (pVal != NULL)
02719             {
02720                 pAttrMap->RemoveKey(pType);
02721                 delete (NodeAttribute*)pVal;
02722             }
02723         }
02724 
02725         // delete the actual map
02726         delete pAttrMap;
02727     }
02728 
02729     if (pEffectStack)
02730     {
02731         delete pEffectStack;
02732         pEffectStack = NULL;
02733     }
02734 }


Member Function Documentation

CCAttrMap* SelObjPathListItem::GetAttrMap (   )  [inline]
 

Definition at line 158 of file combshps.h.

00158 { return pAttrMap; }

NodeRenderableInk* SelObjPathListItem::GetCreatedByNode (   )  [inline]
 

Definition at line 157 of file combshps.h.

00157 { return pCreatedByNode; }

ListRange* SelObjPathListItem::GetEffectStack (   )  [inline]
 

Definition at line 160 of file combshps.h.

NodePath* SelObjPathListItem::GetNodePath (   )  [inline]
 

Definition at line 156 of file combshps.h.

00156 { return pNodePath; }

Path * SelObjPathListItem::GetPath (   ) 
 

Get that Path ptr boy!

Author:
Mark_Neves (Xara Group Ltd) <camelotdev@xara.com>
Date:
26/1/95
Parameters:
- [INPUTS]
- [OUTPUTS]
Returns:
Ptr to the path, or NULL
See also:
-

Definition at line 2750 of file combshps.cpp.

02751 {
02752     if (pNodePath != NULL) 
02753         return &(pNodePath->InkPath); 
02754     else 
02755         return NULL; 
02756 }

BOOL SelObjPathListItem::GetStrokeCreatedPassbackPath (   )  [inline]
 

Definition at line 169 of file combshps.h.

00169 { return (strokeCreatedPassbackPath); }


Member Data Documentation

CCAttrMap* SelObjPathListItem::pAttrMap [private]
 

Definition at line 174 of file combshps.h.

NodeRenderableInk* SelObjPathListItem::pCreatedByNode [private]
 

Definition at line 173 of file combshps.h.

ListRange* SelObjPathListItem::pEffectStack [private]
 

Definition at line 175 of file combshps.h.

NodePath* SelObjPathListItem::pNodePath [private]
 

Definition at line 172 of file combshps.h.

BOOL SelObjPathListItem::strokeCreatedPassbackPath [private]
 

Definition at line 177 of file combshps.h.


The documentation for this class was generated from the following files:
Generated on Sat Nov 10 04:00:50 2007 for Camelot by  doxygen 1.4.4