Rogue Wave Views
Prototypes Package API Reference Guide
Product Documentation:

Rogue Wave Views
Documentation Home
List of all members | Public Member Functions | Static Public Member Functions | Friends
IlvGroupNode Class Referenceabstract

Base class for objects held in a group. More...

#include <ilviews/protos/group.h>

Inheritance diagram for IlvGroupNode:
IlvAccessible IlvValueInterface IlvGraphicNode IlvSubGroupNode

Public Member Functions

 IlvGroupNode (const char *name=0)
 Creates a new group node with the provided name. More...
 
virtual IlvGroupNodecopy () const =0
 Returns a copy of the group node. More...
 
IlvGroupgetGroup () const
 Returns the group containing this group node, or 0 if the node has not yet been added to a group.
 
virtual const char * getName () const
 Returns the name of the group node. More...
 
const char * getPath ()
 Returns the fully qualified path name of the node with respect to its top level group. More...
 
virtual IlvGroupgetSubGroup () const
 Returns the subgroup contained in this node if the node contains an IlvSubGroup. Otherwise, it returns 0.
 
virtual void setName (const char *name)
 Sets the name of the node. More...
 
virtual void write (IlvGroupOutputFile &f) const
 Writes the group node to an IlvGroupOutputFile. More...
 
- Public Member Functions inherited from IlvAccessible
virtual IlBoolean changeValue (const IlvValue &v)
 Changes the object's value. Both the name and the new value are contained in val. More...
 
virtual IlBoolean changeValues (const IlvValue *v, IlUShort c)
 Changes several values of an object in a single call. The default implementation calls changeValue() for all values. More...
 
virtual IlUInt compareAllValues (const IlvAccessible *ref, IlvValueArray &diffs, IlBoolean any=IlFalse) const
 Compares two objects and returns the differing attributes. More...
 
virtual IlUInt compareValues (const IlvAccessible *ref, IlvValue *values, IlUShort count, IlvValueArray &diffs) const
 Compares two objects and returns the differing attributes. More...
 
virtual IlBoolean convertValues (IlvValue *v, IlUShort c, IlvDisplay *d) const
 Convert values to match the types defined by the object accessors. More...
 
virtual void getAccessors (const IlSymbol *const **a, const IlvValueTypeClass *const **t, IlUInt &c) const =0
 Returns the names of all the accessors known by this object. More...
 
IlUInt getSubscriptions (IlvAccessible *subscriber, IlSymbol **&sourceValue, IlSymbol **&subscriberValue, IlvValueTypeClass **&type, IlvValueSubscriptionMode *&mode, IlvAccessible ***subscribers=0) const
 Returns alls subscriptions made by subscriber. More...
 
virtual const IlvValueTypeClassgetValueType (const IlSymbol *s) const
 Returns the type of a given attribute. More...
 
virtual IlBoolean isOutputValue (const IlSymbol *value) const
 Indicates whether value designates an accessor that can generate notifying values. More...
 
virtual IlvValuepullValue (IlvValue &v) const
 See below.
 
virtual void pullValues (IlvValue *vals, IlUShort c) const
 Propagates value queries to the subscribers to this object. More...
 
virtual IlBoolean pushValue (const IlvValue &v) const
 See below.
 
virtual IlBoolean pushValues (const IlvValue *vals, IlUShort c) const
 Propagates value changes to the subscribers to this object. More...
 
virtual IlvValuequeryValue (IlvValue &value) const
 Queries the value designated by value from the object. Both the value and the value type are stored in value. More...
 
virtual void queryValues (IlvValue *v, IlUShort c) const
 Queries several values in a single call. The default implementation calls queryValue() for each value. More...
 
virtual void subscribe (IlvAccessible *subscriber, IlSymbol *sourceValue, IlSymbol *subscriberValue, IlvValueTypeClass *type, IlvValueSubscriptionMode mode=IlvValueSubscriptionChange)
 Subscribes the subscriber object to the value sourceValue of this object. More...
 
virtual void unSubscribe (IlvAccessible *subscriber, IlSymbol *sourceValue=0, IlSymbol *subscriberValue=0)
 Cancels subscriptions previously made. More...
 

Static Public Member Functions

static IlvGroupNoderead (IlvGroupInputFile &f, IlvDisplay *display)
 Reads a group node from an IlvGroupInputFile. More...
 
- Static Public Member Functions inherited from IlvAccessible
static void DeclareAccessor (const IlSymbol *attr, IlvValueTypeClass *type, const IlSymbol *const **accessors, const IlvValueTypeClass *const **types, IlUInt &count, IlBoolean checkDuplicates=IlFalse, IlAny accessorList=0)
 
static const IlvValueTypeClassGetType (IlSymbol *name)
 Returns the type instance from a name. More...
 
static IlBoolean StringToValue (const char *s, IlSymbol *type, IlvValue &v, IlvDisplay *display)
 Converts the character string s to an IlvValue with the type type. More...
 
static IlBoolean StringToValue (const char *s, const IlvValueTypeClass *typeClass, IlvValue &v, IlvDisplay *d)
 Converts the character string s to an IlvValue with the type type. More...
 
static IlBoolean ValuesAreEqual (IlvValue &v1, IlvValue &v2, IlBoolean compareNames=IlTrue)
 Compares two values. More...
 

Friends

class IlvGroup
 

Detailed Description

Base class for objects held in a group.

Library: ilvproto

IlvGroupNode is the base class for group nodes. It is an abstract base class and must be subclassed to include a particular kind of object in groups.

See also
IlvGroupAccessor, IlvGroupFile.

Constructor & Destructor Documentation

§ IlvGroupNode()

IlvGroupNode::IlvGroupNode ( const char *  name = 0)

Creates a new group node with the provided name.

Parameters
nameIf non-null, a copy of the string is stored by the group node. Otherwise, the group node can use a subclass-dependent method to determine its name.

Member Function Documentation

§ copy()

virtual IlvGroupNode* IlvGroupNode::copy ( ) const
pure virtual

Returns a copy of the group node.

Should be implemented by subclasses. Whether the data they hold is shared is left to the implementation.

Returns
A copy of the group node.

Implemented in IlvSubGroupNode.

§ getName()

virtual const char* IlvGroupNode::getName ( ) const
virtual

Returns the name of the group node.

If a name was explicitly specified when the node was created, or if the setName method was called, this name is returned. Otherwise, a subclass-dependent method is used to find a default node name.

Returns
Name of the group node.

Implements IlvAccessible.

Reimplemented in IlvSubGroupNode, and IlvGraphicNode.

§ getPath()

const char* IlvGroupNode::getPath ( )

Returns the fully qualified path name of the node with respect to its top level group.

Returns
A path containing dot characters if there are several levels of groups, and can be passed to the IlvGroup::findNode method of the top level group to get the node. The string is allocated in a temporary buffer. Thus, it may lose its content between successive invocations of the getPath method or other methods that use the same buffer. Hence, if the result is to be used in a persistent way, it should be copied.
See also
IlvAllocString.

§ read()

static IlvGroupNode* IlvGroupNode::read ( IlvGroupInputFile f,
IlvDisplay display 
)
static

Reads a group node from an IlvGroupInputFile.

Parameters
fGroup input file allowing the information describing the group to be read.
displayDisplay used to initialize graphic objects contained in the group node.
Returns
A group node if read was successful, and 0 otherwise.

§ setName()

virtual void IlvGroupNode::setName ( const char *  name)
virtual

Sets the name of the node.

A copy of name is stored in the node. This method can be overridden.

Reimplemented in IlvGraphicNode.

§ write()

virtual void IlvGroupNode::write ( IlvGroupOutputFile f) const
virtual

Writes the group node to an IlvGroupOutputFile.

Must be overridden by subclasses to save specific information.

Parameters
fGroup output file holding reference information on the group being read.

Reimplemented in IlvSubGroupNode.


© Copyright 2017, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.