WizardNode Class Reference

A data element used an input or output for a wizard item. More...

#include <WizardNode.h>

Inheritance diagram for WizardNode:

Inheritance graph

List of all members.

Public Member Functions

virtual const std::string & getName () const =0
virtual const std::string & getType () const =0
virtual const std::string & getDescription () const =0
virtual const std::string & getOriginalType () const =0
virtual const std::vector
< std::string > & 
getValidTypes () const =0
virtual void * getValue () const =0
virtual void setValue (void *pValue)=0
virtual WizardItemgetItem () const =0
virtual const std::vector
< WizardNode * > & 
getConnectedNodes () const =0

Protected Member Functions

virtual ~WizardNode ()


Detailed Description

A data element used an input or output for a wizard item.

Wizard nodes define the input or output data for an item executed in a wizard. A node has a name, type, and a value. The node type is a string containing the actual data type. This is used in conjunction with the value, which is stored as a void pointer. The value can then be any data type, which is identified by the string. The name is also used to uniquely identify nodes of the same type.

A node can also be connected with one or more other nodes. For example, an output node would be connected with an input node on another wizard item so that the value of the output node is used as the value for the input node. All connected nodes are of the same data type as the original node. The connected nodes can be retrieved with the getConnectedNodes() method.

See also:
WizardItem

Definition at line 39 of file WizardNode.h.


Constructor & Destructor Documentation

virtual WizardNode::~WizardNode (  )  [protected, virtual]

A plug-in cannot create this object, it can only retrieve an already existing object from WizardItem.

The WizardItem will manage any instances of this object.

Definition at line 134 of file WizardNode.h.


Member Function Documentation

virtual const std::string& WizardNode::getName (  )  const [pure virtual]

Returns the node name.

Returns:
The node name.
See also:
getType()

virtual const std::string& WizardNode::getType (  )  const [pure virtual]

Returns the node type.

Returns:
The node type.
See also:
getOriginalType(), getValidTypes()

virtual const std::string& WizardNode::getDescription (  )  const [pure virtual]

Gets the item description.

Returns:
The item description.

virtual const std::string& WizardNode::getOriginalType (  )  const [pure virtual]

Returns the original node type.

Some node types can also support connections with other compatible node types. The original type specifies the kind of value that must be present for the wizard to work successfully. This value can differ from WizardNode::getType(), since that value is simply the current connected type.

Returns:
The original node type.
See also:
getType(), getValidTypes()

virtual const std::vector<std::string>& WizardNode::getValidTypes (  )  const [pure virtual]

Returns all valid types for this node.

This method returns the types that this node will accept. The node may accept multiple types, but the value must always be a kind of the original type.

Returns:
All valid types for this node.
See also:
getType(), getOriginalType()

virtual void* WizardNode::getValue (  )  const [pure virtual]

Returns the node value.

Returns:
The node value as a void pointer. The type must be queried to extract the actual data value referenced by the pointer.
See also:
getType(), setValue()

virtual void WizardNode::setValue ( void *  pValue  )  [pure virtual]

Sets the node value.

Parameters:
pValue The node value as a void pointer.
See also:
getValue()

virtual WizardItem* WizardNode::getItem (  )  const [pure virtual]

Returns the wizard item to which this node belongs.

Returns:
A pointer to the wizard item that contains this node.

virtual const std::vector<WizardNode*>& WizardNode::getConnectedNodes (  )  const [pure virtual]

Retrieves all connected nodes.

Returns:
A reference to a vector containing pointers to all of the nodes connected to this node.


Software Development Kit - Opticks 4.9.0 Build 16218