LayerContainer Class Reference

#include <layer.h>

Class Description

This class contains and manages a list of Layers.

Definition at line 47 of file layer.h.

+ Inheritance diagram for LayerContainer:

Public Member Functions

virtual unsigned int LayerCount (void) const
 Returns the number of layers in the container. More...
 
virtual class LayerLayer (unsigned int iLayerIndex) const
 Returns a pointer to a contained layer, based on its index in the list. More...
 
virtual unsigned int LayerIndex (const class Layer *pLayer) const
 Returns the index of the specified layer in the container. If the layer in not in the container, either -1 or a value equal to LayerCount() will be returned. More...
 
virtual void UnlinkLayer (class Layer *pLayer)
 Removes a layer from the container. The layer is not deleted. More...
 
virtual void AddLayer (class Layer *pLayer)
 Adds a new layer to the container. More...
 
virtual class LayerCreateLayer (void)
 Creates a new layer and returns a pointer to it. More...
 
virtual class LayerActiveLayer (void) const
 Returns a pointer to the current (active) layer. More...
 
virtual void SetActiveLayer (class Layer *pLayer)
 Sets the current (active) layer. More...
 
virtual void MoveLayer (class Layer *pLayer, class Layer *pWhere, bool bBefore)
 Moves the layer before or after the specified one in the list. More...
 
virtual void ReparentLayer (class Layer *pLayer, class Layer *pParent)
 Makes this layer as a child of another one. More...
 
virtual class LayerBaseLayer (void) const
 Returns the base layer. More...
 
virtual unsigned int LayerGroupCount (void) const
 Returns the number of layer groups in the container. More...
 
virtual class LayerGroupLayerGroup (unsigned int iLayerGroupIndex) const
 Returns a pointer to the layer group based on the index. More...
 
virtual class LayerGroupLayerGroup (class Layer *pLayer) const
 Returns the layer group the given layer belong to. More...
 
virtual class LayerGroupAddLayerGroup (const QString &sName)
 Adds a new group to the container. More...
 
virtual void AddLayerGroup (class LayerGroup *pLayerGroup)
 Adds a new layer group to the container. More...
 
virtual void RemoveLayerGroup (class LayerGroup *pLayerGroup)
 Remove and delete the layer group, layers associated with this group are not removed from the container. More...
 
virtual void UpdateLayerToGroup (class Layer *pLayer, class LayerGroup *pLayerGroup)
 Moves this layer into the group, if the layer is associated to another group, this layer will be disconnected from that group first. More...
 
virtual class LayerGroupActiveLayerGroup (void) const
 Returns the pointer points to the active layer group. More...
 
virtual void SetActiveLayerGroup (class LayerGroup *pLayerGroup)
 Set the active layer group, actve layer will be set to 0 if pLayerGroup != 0. More...
 
virtual void Serialize (Stream &s)
 Reads/writes this object to/from a data stream. More...
 
- Public Member Functions inherited from TreeNode
 TreeNode (void)
 
 ~TreeNode (void)
 
virtual void AddChild (TreeNode *pChild, bool bFirst=false) const
 Adds a node/subtree to the list of children. The added node will be removed from the current parent if it has one. More...
 
virtual void RemoveChild (TreeNode *pChild) const
 Removes a node/subtree from the list of children. More...
 
virtual TreeNodeFirstChild (void) const
 Returns the first node from the child list. More...
 
virtual TreeNodeParent (void) const
 Returns the parent node. More...
 
virtual TreeNodeNextSibling (void) const
 Returns the next linked node with the same parent. More...
 
virtual TreeNodePrevSibling (void) const
 Returns the previous linked node with the same parent. More...
 
virtual void MoveChild (TreeNode *pChild, TreeNode *pAfter)
 Moves the child after the given node in order. More...
 
virtual TreeNodeChildByClass (const ClassDesc *pClass, bool bAutoCreate=true) const
 Returns the first child with the specified type. When the bAutoCreate parameter is true and such a child does not exists, it creates it with the preferred descedant type. More...
 
template<typename type >
typeChildByClass (bool bAutoCreate=true) const
 Same as above, a most confortable version. More...
 
virtual TreeNodeChildByClass (const ClassDesc *pClass, unsigned int iIndex=0) const
 Returns the first child with the specified type, or returns zero if no child found. More...
 
template<typename type >
typeChildByClass (unsigned int iIndex=0) const
 Same as above, a most confortable version. More...
 
virtual void DeleteChildByClass (const ClassDesc *pClass)
 Deletes all child which is derived from a specific class. More...
 
virtual QString Info (void) const
 Returns descriptive information about the node. More...
 
virtual bool Visible (void) const
 Returns if the node is visible. Should be overridden in derived classes. More...
 
virtual void SetVisible (bool b)
 Sets the node visibility Should be overridden in derived classes. More...
 
virtual bool Locked (void) const
 Returns if the node is locked. Should be overridden in derived classes. More...
 
virtual void SetLocked (bool b)
 Sets the locking of the node. Should be overridden in derived classes. More...
 
virtual bool HiddenFromUI (void) const
 Returns true if the node cannot be seen from UI. More...
 
virtual void SetHiddenFromUI (bool b)
 Sets visibility in UI. More...
 
virtual void OnLinked (const TreeNode *pOldParent)
 This function is called then the node is linked to a new parent. More...
 
virtual void CheckValidity (Node::DiagnosticLevel iLevel=dgnLevel2) const
 See the documentation for Node::CheckValidity. More...
 
QString UniqueChildName (const TreeNode *pChild, const QString &sPrefix="") const
 Finds a node name that is unique among the children of this node. More...
 
virtual void SetStringID (const QString &sName)
 This method does the same thing as Node::SetStringID, except it ensures the name is unique among this node's siblings. More...
 
virtual void CopyTo (Node *pNode) const
 
- Public Member Functions inherited from Node
 Node (const QString &sStringID="", const QString &sDisplayName="")
 Standard constructor. More...
 
virtual ~Node (void)
 
virtual void Initialize (void)
 
void LoadTemplate (const QString &sFileName="", bool bStartEvent=false)
 Use an external XML file to initialize the attributes. More...
 
void SaveTemplate (const QString &sFileName="", bool bSaveOnlyVisible=false)
 Save current attributes as an XML template. More...
 
unsigned int Version (void) const
 Returns the current version of the node. This number increases when the content of the node changed (when ContentChanged() called). More...
 
void SetVersion (unsigned int iVersion)
 Sets the current version number for the node. More...
 
unsigned int ReferenceCount (void) const
 Returns the number of pointers referencing this node. More...
 
AttributeReferencePointer (unsigned int iIndex) const
 Returns the address of an attribute which refers to this node. The type of the attribute is always aptr. More...
 
NodeReferenceNode (unsigned int iIndex) const
 Returns the address of a node referencing this node. More...
 
virtual QString Name (const ClassDesc *pClass=0) const
 Deprecated. More...
 
virtual void SetName (const QString &sName)
 Deprecated. More...
 
virtual QString StringID (const ClassDesc *pClass=0) const
 Returns the string id of the node. More...
 
virtual QString DisplayName (void) const
 Returns the display name of the node. More...
 
virtual void SetDisplayName (const QString &sDisplayName)
 Sets the display name of the node. More...
 
virtual QString HelpID (void) const
 Returns the help entry id of the node. Can be overwritten in derived classes. More...
 
virtual void SetHelpID (const QString &sHelpID)
 Sets the help entry id of the node. More...
 
void Annex (Node *pSource, const QString &sCategory="")
 Relink all the attributes of the source node to this one. More...
 
bool IsKindOf (const ClassDesc *pClass) const
 Returns true if this node is derived from the pClass class. More...
 
void ContentChanged (void) const
 This function must be called if the content of the node is changed. More...
 
virtual NodeDuplicate (void) const
 
virtual void OnNodeEvent (const Attribute &cAttribute, NodeEventType cType)
 This function is called if an event occurs with any of the attributes of the node. More...
 
virtual void OnEvent (const EventGate &cEvent)
 This function is called when a generic event occurs. See EventGate class. More...
 
void RequestDeferredEvent (Attribute &cAttribute)
 Request for a deferred event, which will occur only in the main loop. More...
 
unsigned int AttributeCount (void) const
 Returns the number of attributes owned by the node. More...
 
AttributeAttributeByIndex (int iIndex) const
 Returns a specified attribute (or 0 if iIndex is greater than the number of attributes). More...
 
AttributeAttributeByName (const QString &sName) const
 Returns a specified attribute by its name. Returns 0 if the attribute not found. More...
 
AttributeAttributeByID (const QString &sID) const
 Returns a specified attribute by its ID. Returns 0 if the attribute not found. More...
 
void SetAttributeValue (const QString &sAttributeID, const QString &sNewValue)
 Set the value of an attribute from a string. More...
 
QString AttributeValue (const QString &sAttributeID) const
 Returns the current value of an attribute as a string. More...
 
void LogAttributes (void) const
 Write all attributes into the log file. More...
 
virtual QWidgetCreatePropertiesWindow (QWidget *pParent)
 Create a window which displays the attributes of the node. Can be overriden to provide a custom interface. More...
 
AttributeAddAttribute (Attribute::AttributeType type, const QString &id)
 Allows SDK users to add attributes at runtime. More...
 
NodeNext (void) const
 Returns the next node in the chain. Used to enumerate the current nodes. See also First(). More...
 
int ID (void) const
 Returns an ID for the node. The ID is unique in the whole application life. More...
 
bool SetID (int iID)
 Set ID for the node. More...
 

Additional Inherited Members

- Public Types inherited from Node
enum  DiagnosticLevel { dgnLevel1, dgnLevel2, dgnLevel3 }
 Indicates the level of validity checking that is performed in CheckValidity() More...
 
- Static Public Member Functions inherited from Node
static void StartHashing ()
 This is called once in main once static ctors are done. More...
 
static NodeFirst (void)
 This function will return the first node in the memory. Used to enumerate all the current nodes. See also Next(). More...
 
static NodeByID (int iID)
 Returns the node with the specified ID, or zero if such a node does not exists. More...
 
static NodeByName (const QString &sClass, const QString &sName)
 Search for a node with the name sName. More...
 
- Public Attributes inherited from TreeNode
 DECLARE_CLASS
 
- Public Attributes inherited from Node
AttributeThisPointer m_pThis
 
 DECLARE_CLASS
 

Member Function Documentation

virtual unsigned int LayerCount ( void  ) const
virtual

Returns the number of layers in the container.

Reimplemented in ViewPort.

virtual class Layer* Layer ( unsigned int  iLayerIndex) const
virtual

Returns a pointer to a contained layer, based on its index in the list.

Parameters
[in]iLayerIndexindex of the layer to return (0-based)

Reimplemented in ViewPort.

virtual unsigned int LayerIndex ( const class Layer pLayer) const
virtual

Returns the index of the specified layer in the container. If the layer in not in the container, either -1 or a value equal to LayerCount() will be returned.

Parameters
[in]pLayerA pointer to the layer whose index you want.
virtual void UnlinkLayer ( class Layer pLayer)
virtual

Removes a layer from the container. The layer is not deleted.

Parameters
[in]pLayerA pointer to the layer to be removed

Reimplemented in ViewPort.

virtual void AddLayer ( class Layer pLayer)
virtual

Adds a new layer to the container.

Parameters
[in]pLayerA pointer to the layer to be added

Reimplemented in ViewPort.

virtual class Layer* CreateLayer ( void  )
virtual

Creates a new layer and returns a pointer to it.

Reimplemented in ViewPort.

virtual class Layer* ActiveLayer ( void  ) const
virtual

Returns a pointer to the current (active) layer.

Reimplemented in ViewPort.

virtual void SetActiveLayer ( class Layer pLayer)
virtual

Sets the current (active) layer.

Parameters
[in]pLayerA pointer to the layer to be made current

Reimplemented in ViewPort.

virtual void MoveLayer ( class Layer pLayer,
class Layer pWhere,
bool  bBefore 
)
virtual

Moves the layer before or after the specified one in the list.

Parameters
[in]pLayerA pointer to the layer to be moved
[in]pWhereA pointer to the destination layer
[in]bBeforeIf true, the layer is moved to immediately before the destination. If false, it is moved to immediately after.
virtual void ReparentLayer ( class Layer pLayer,
class Layer pParent 
)
virtual

Makes this layer as a child of another one.

Parameters
[in]pLayerThe layer to move
[in]pParentIts new parent
virtual class Layer* BaseLayer ( void  ) const
virtual

Returns the base layer.

virtual unsigned int LayerGroupCount ( void  ) const
virtual

Returns the number of layer groups in the container.

virtual class LayerGroup* LayerGroup ( unsigned int  iLayerGroupIndex) const
virtual

Returns a pointer to the layer group based on the index.

virtual class LayerGroup* LayerGroup ( class Layer pLayer) const
virtual

Returns the layer group the given layer belong to.

virtual class LayerGroup* AddLayerGroup ( const QString sName)
virtual

Adds a new group to the container.

Parameters
[in]sNamethe new group name
virtual void AddLayerGroup ( class LayerGroup pLayerGroup)
virtual

Adds a new layer group to the container.

Parameters
[in]pLayerGroupA pointer to the layer group to be added
virtual void RemoveLayerGroup ( class LayerGroup pLayerGroup)
virtual

Remove and delete the layer group, layers associated with this group are not removed from the container.

Parameters
[in]pLayerGroupA pointer to the layer group to be removed and deleted.
virtual void UpdateLayerToGroup ( class Layer pLayer,
class LayerGroup pLayerGroup 
)
virtual

Moves this layer into the group, if the layer is associated to another group, this layer will be disconnected from that group first.

Parameters
[in]pLayerA pointer to the layer to be moved
[in]pLayerGroupA pointer to the destination group. If NULL, the layer will be moved outside any group.
virtual class LayerGroup* ActiveLayerGroup ( void  ) const
virtual

Returns the pointer points to the active layer group.

virtual void SetActiveLayerGroup ( class LayerGroup pLayerGroup)
virtual

Set the active layer group, actve layer will be set to 0 if pLayerGroup != 0.

virtual void Serialize ( Stream s)
virtual

Reads/writes this object to/from a data stream.

Parameters
[in]sthe data stream

Reimplemented from TreeNode.


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