SchematicNode Class Reference
 
 
 
SchematicNode Class Reference

#include <xsi_schematicnode.h>


Class Description

The SchematicNode class represents a UI node as displayed in a Schematic view.

See also:
SchematicNode
Since:
10.0 (2012)
Example:
Demonstrates how to access all nodes in a Schematic view object.
                using namespace XSI;
                
                void LogNode( SchematicNode& in_node );
                
                Application app;
                
                // Get a schematic view
                Layout layout = app.GetDesktop().GetActiveLayout();
                
                XSI::Schematic schematic = layout.FindView( "MySchematic" );
                
                if ( !schematic.IsValid() )
                {
                        app.GetDesktop().GetActiveLayout().CreateView( "Schematic", "MySchematic", schematic );
                }
        
                // Log the top level nodes
                CRefArray nodes = schematic.GetNodes();
        
                for (ULONG i=0; i<nodes.GetCount(); i++)
                {
                        SchematicNode node = nodes[0];
                        
                        LogNode( node );
                }                       
                
                void LogNode( SchematicNode& node )
                {
                        LONG x,y,w,h;
                        node.GetUIInfo( x,y,w,h );

                        Application app;
                        
                        app.LogMessage( "*******************************************************************" );
                        app.LogMessage( "Name: " + node.GetName() );
                        app.LogMessage( "X=" + CString(x) );
                        app.LogMessage( "Y=" + CString(y) );
                        app.LogMessage( "W=" + CString(w) );
                        app.LogMessage( "H=" + CString(h) );
                        app.LogMessage( "Expanded=" + CString(node.IsExpanded()) );
                        app.LogMessage( "Selected=" + CString(node.IsSelected()) );
                        app.LogMessage( "Node count=" + CString(node.GetNodes().GetCount()) );
                        app.LogMessage( "Parent object=" + SIObject(node.GetParent()).GetFullName() );
                        app.LogMessage( "Underlying object=" + CString( SIObject(node.GetObject()).GetFullName()) );                    
                        
                        CRefArray nodes = node.GetNodes();
                        
                        for ( LONG i=0; i<nodes.GetCount(); i++ )
                        {
                                SchematicNode node = nodes[i];
                                LogNode( node );
                        }
                }
Inheritance diagram for SchematicNode:
UIObject SIObject CBase

List of all members.

Public Member Functions

  SchematicNode ()
  ~SchematicNode ()
  SchematicNode (const CRef &in_ref)
  SchematicNode (const SchematicNode &in_obj)
bool  IsA (siClassID in_ClassID) const
siClassID  GetClassID () const
SchematicNode operator= (const SchematicNode &in_obj)
SchematicNode operator= (const CRef &in_ref)
bool  IsExpanded () const
CStatus  PutExpanded (bool in_bState)
siBranchFlag  IsSelected () const
CStatus  Move (LONG in_x, LONG in_y)
CRefArray  GetNodes () const
CRef  GetObject () const
CStatus  GetUIInfo (LONG &out_x, LONG &out_y, LONG &out_w, LONG &out_h) const

Constructor & Destructor Documentation

Default constructor.

Default destructor.

SchematicNode ( const CRef in_ref )

Constructor.

Parameters:
in_ref constant reference object.
SchematicNode ( const SchematicNode in_obj )

Copy constructor.

Parameters:
in_obj constant class object.

Member Function Documentation

bool IsA ( siClassID  in_ClassID ) const [virtual]

Returns true if a given class type is compatible with this API class.

Parameters:
in_ClassID class type.
Returns:
true if the class is compatible, false otherwise.

Reimplemented from UIObject.

siClassID GetClassID ( ) const [virtual]

Returns the type of the API class.

Returns:
The class type.

Reimplemented from UIObject.

SchematicNode& operator= ( const SchematicNode in_obj )

Creates an object from another object. The newly created object is set to empty if the input object is not compatible.

Parameters:
in_obj constant class object.
Returns:
The new SchematicNode object.
SchematicNode& operator= ( const CRef in_ref )

Creates an object from a reference object. The newly created object is set to empty if the input reference object is not compatible.

Parameters:
in_ref constant class object.
Returns:
The new SchematicNode object.

Reimplemented from UIObject.

bool IsExpanded ( ) const

Determine if the node is expanded or not. Children nodes are set as expanded if their parent are also expanded.

Returns:
True if expanded, false otherwise.
CStatus PutExpanded ( bool  in_bState )

Set the node as expanded or collapsed.

Parameters:
in_bState true to expand or false to collapse the node.
Returns:
CStatus::OK
siBranchFlag IsSelected ( ) const

Determine if the node is selected (node or branch).

Returns:
Branch flag: siNode (node selected), siBranch (branch selected), siNotSelected (node is not selected). Children nodes are also set as branch selected when the top parent is branch selected.
CStatus Move ( LONG  in_x,
LONG  in_y 
)

Set the x and y position of the node. The position is in screen coordinates and is relative to the node's schematic view.

Parameters:
in_x Position in x.
in_y Position in y.
Returns:
CStatus::Ok Success
CRefArray GetNodes ( ) const

Returns the children nodes of this Schematic node as an array of SchematicNode objects. Only visible nodes are returned.

Returns:
Array of SchematicNode objects.
CRef GetObject ( ) const

Returns the node's underlying Softimage object.

Returns:
Softimage object.
CStatus GetUIInfo ( LONG &  out_x,
LONG &  out_y,
LONG &  out_w,
LONG &  out_h 
) const

Returns the 2D coordinates and size of the node. Cooordinate units are in screen coordinates and relative to the node's schematic view.

Parameters:
out_x Position in x.
out_y Position in y.
out_w Width.
out_h Height.
Returns:
CStatus::Ok Success

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