Public Types | Public Member Functions

IListControl Class Reference

Search for all occurrences

Detailed Description

IListControl provides API access to list control functionality.

The interface is returned by calling GetIListControlInterface.

See also:
Class Control, Class FPMixinInterface

Description:
This class is available in release 4.0 and later only.

This class represents the interface to the list controller. You can obtain a pointer to the list control interface using; GetIListControlInterface(cd). This macro will return (IListControl*)(CD)->GetFPInterface(LIST_CONTROLLER_INTERFACE).

The Class ID's of individual controllers are; FLOATLIST_CONTROL_CLASS_ID, POINT3LIST_CONTROL_CLASS_ID, POSLIST_CONTROL_CLASS_ID, ROTLIST_CONTROL_CLASS_ID, SCALELIST_CONTROL_CLASS_ID, DUMMY_CONTROL_CLASS_ID, MASTERLIST_CONTROL_CLASS_ID.

All methods of this class are Implemented by the System.

#include <istdplug.h>

Inheritance diagram for IListControl:
Inheritance graph
[legend]

List of all members.

Public Types

enum   {
  list_getNumItems, list_setActive, list_getActive, list_cutItem,
  list_pasteItem, list_deleteItem, list_count, list_setActive_prop,
  list_getActive_prop, list_getName, list_setName, list_getSubCtrl,
  list_getSubCtrlWeight
}

Public Member Functions

BEGIN_FUNCTION_MAP  FN_0 (list_getNumItems, TYPE_INT, GetListCount)
  VFN_1 (list_setActive, SetActive, TYPE_INDEX)
  FN_0 (list_getActive, TYPE_INDEX, GetActive)
  VFN_1 (list_deleteItem, DeleteItem, TYPE_INDEX)
  VFN_1 (list_cutItem, CutItem, TYPE_INDEX)
  VFN_1 (list_pasteItem, PasteItem, TYPE_INDEX)
  FN_1 (list_getName, TYPE_TSTR_BV, GetName, TYPE_INDEX)
  VFN_2 (list_setName, SetName, TYPE_INDEX, TYPE_STRING)
  RO_PROP_FN (list_count, GetListCount, TYPE_INT)
  PROP_FNS (list_getActive_prop, GetActive, list_setActive_prop, SetActive, TYPE_INDEX)
  FN_1 (list_getSubCtrl, TYPE_CONTROL, GetSubCtrl, TYPE_INDEX)
  FNT_1 (list_getSubCtrlWeight, TYPE_FLOAT, GetSubCtrlWeight, TYPE_INDEX)
END_FUNCTION_MAP FPInterfaceDesc GetDesc ()
virtual int  GetListCount ()=0
virtual void  SetActive (int index)=0
virtual int  GetActive ()=0
virtual void  DeleteItem (int index)=0
virtual void  CutItem (int index)=0
virtual void  PasteItem (int index)=0
virtual void  SetName (int index, MSTR name)=0
virtual MSTR  GetName (int index)=0
virtual Control GetSubCtrl (int in_index) const =0
  Get a subcontroller from its index.
virtual float  GetSubCtrlWeight (int in_index, TimeValue in_time) const =0
  Get the weight of a subcontroller at a given time.

Member Enumeration Documentation

anonymous enum

Member Function Documentation

BEGIN_FUNCTION_MAP FN_0 ( list_getNumItems  ,
TYPE_INT  ,
GetListCount   
)
VFN_1 ( list_setActive  ,
SetActive  ,
TYPE_INDEX   
)
FN_0 ( list_getActive  ,
TYPE_INDEX  ,
GetActive   
)
VFN_1 ( list_deleteItem  ,
DeleteItem  ,
TYPE_INDEX   
)
VFN_1 ( list_cutItem  ,
CutItem  ,
TYPE_INDEX   
)
VFN_1 ( list_pasteItem  ,
PasteItem  ,
TYPE_INDEX   
)
FN_1 ( list_getName  ,
TYPE_TSTR_BV  ,
GetName  ,
TYPE_INDEX   
)
VFN_2 ( list_setName  ,
SetName  ,
TYPE_INDEX  ,
TYPE_STRING   
)
RO_PROP_FN ( list_count  ,
GetListCount  ,
TYPE_INT   
)
PROP_FNS ( list_getActive_prop  ,
GetActive  ,
list_setActive_prop  ,
SetActive  ,
TYPE_INDEX   
)
FN_1 ( list_getSubCtrl  ,
TYPE_CONTROL  ,
GetSubCtrl  ,
TYPE_INDEX   
)
FNT_1 ( list_getSubCtrlWeight  ,
TYPE_FLOAT  ,
GetSubCtrlWeight  ,
TYPE_INDEX   
)
END_FUNCTION_MAP FPInterfaceDesc* GetDesc ( ) [virtual]
Remarks:
Returns a pointer to the class which contains the interface metadata.

Implements FPInterface.

virtual int GetListCount ( ) [pure virtual]
Remarks:
This method returns the number of items that appear in the List controllers list box.
virtual void SetActive ( int  index ) [pure virtual]
Remarks:
This method allows you to sets the indexed item in the list active so its parameters appear in the motion panel, and any input is directed to the indexed sub controller.
Parameters:
int index

The index of the item to set as the active item.
virtual int GetActive ( ) [pure virtual]
Remarks:
This method returns the index of the currently active item.
virtual void DeleteItem ( int  index ) [pure virtual]
Remarks:
This method allows you to delete the indexed sub controller from the list.
Parameters:
int index

The index of the item to delete from the list.
virtual void CutItem ( int  index ) [pure virtual]
Remarks:
This method allows you to cutsthe index sub controller from the list and stores it in the buffer to paste later.
Parameters:
int index

The index of the item you wish to cut.
virtual void PasteItem ( int  index ) [pure virtual]
Remarks:
This method allows you to paste the sub-controller from the buffer into the indexed slot in the

list.
Parameters:
int index

The index of the slot to paste into.
virtual void SetName ( int  index,
MSTR  name 
) [pure virtual]
Remarks:
This method allows you to set the name of an indexed item.
Parameters:
int index

The index of the item.

MSTR name

The name to set it to.
virtual MSTR GetName ( int  index ) [pure virtual]
Remarks:
This method returns the class name of the indexed sub-controller if a user defined name doesn't exist.
Parameters:
int index

The index of the item for which to get the name.
virtual Control* GetSubCtrl ( int  in_index ) const [pure virtual]

Get a subcontroller from its index.

Returns:
- a pointer to a Control, or NULL if the index is invalid.
Parameters:
[in] in_index - index of the list controller subcontroller
virtual float GetSubCtrlWeight ( int  in_index,
TimeValue  in_time 
) const [pure virtual]

Get the weight of a subcontroller at a given time.

Returns:
- the weight of the subcontroller (non-percent, typically 0.0f to 1.0f), or -1.0f if the index is invalid.
Parameters:
[in] in_time - time of the weight evaluation (in case of an animated weight)
[in] in_index - index of the list controller subcontroller

IListControl IListControl IListControl IListControl IListControl IListControl IListControl IListControl IListControl IListControl
IListControl IListControl IListControl IListControl IListControl IListControl IListControl IListControl IListControl IListControl