Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends

MPxUITableControl Class Reference

Search for all occurrences

Detailed Description

Base class for creating new spreadsheet controls.

MPxUITableControl is the base class for creating new spreadsheet like interfaces. Every UI control has an associated command that is 'in-charge' of that control. Therefore, when creating a new table control, you will need to create an associated MPxControlCommand. Please refer to the MPxControlCommand documentation for details on how to use these class together.

At a minimum, when creating a new table control, you must overload getCell( ... ). Other methods available for overloading are getLabel(...), allowEdit( ... ), allowSelection( ... ), and collapseOrExpandRow( ... ).

#include <MPxUITableControl.h>

Inheritance diagram for MPxUITableControl:
Inheritance graph
[legend]

List of all members.

Public Types

enum   MLabelType { kNoLabel, kRowLabel, kColumnLabel, kAllLabels }
 

Types of labels available in the control.

More...

Public Member Functions

  MPxUITableControl (MPxControlCommand &)
  Class constructor.
virtual  ~MPxUITableControl ()
  Class destructor.
MStatus  redrawLabels (MLabelType lt=kAllLabels)
  Tells the table control to redraw the label entries.
MStatus  redrawCells ()
  Tells the UI control to redraw the cells of the table.
MStatus  addToSelection (unsigned int row, unsigned int col)
  Add the follow cell to the selection data structure.
MStatus  removeFromSelection (unsigned int row, unsigned int column)
  Removes the specified cell entry from the internal selection list.
MStatus  clearSelection ()
  Clears the selection table.
MStatus  setSelection (unsigned int row, unsigned int column)
  Sets the table selection list based on the row & column entry.
MStatus  setSelection (unsigned int firstRow, unsigned int lastRow, unsigned int firstCol, unsigned int lastCol)
  Sets the selection to be the range of cells specified.
MStatus  setNumberOfRows (unsigned int count)
  Specifies the number of rows for the table.
unsigned int  numberOfRows (MStatus *ReturnStatus=NULL)
  Returns the number of rows in the table.
MStatus  setNumberOfColumns (unsigned int count)
  Specifies the number of columns for the table.
unsigned int  numberOfColumns (MStatus *ReturnStatus=NULL) const
  Returns the number of columns in the table.
bool  suspendUpdates (bool update, MStatus *ReturnStatue=NULL)
  When set to true, it prevents the UI from updating the table.
bool  isSelected (unsigned int row, unsigned int col, MStatus *status=NULL)
  Returns true if the specified cell is selected.
virtual bool  collapseOrExpandRow (unsigned int row)
  This is called when a row should be collapsed or expanded (depending on its current state).

Static Public Member Functions

static const char *  className ()
  Returns the name of this class.

Protected Member Functions

virtual MString  cellString (unsigned int r, unsigned int c, bool &ValidCell)
  Returns the contents of a cell.
virtual MString  labelString (MLabelType labelType, unsigned int n)
  Returns the text of the label for the given row or column.
virtual bool  getCell (unsigned int r, unsigned int c, MString &value)
  NO SCRIPT SUPPORT.
virtual void  getLabel (MLabelType labelType, unsigned int n, MString &value)
  NO SCRIPT SUPPORT.
virtual bool  allowEdit () const
  Tells the base UI table control class if this control is editable.
virtual bool  allowSelection (int top, int left, int bottom, int right)
  This method is called when a selection occurs.

Friends

class  MPxControlCommand

Member Enumeration Documentation

Types of labels available in the control.

Enumerator:
kNoLabel 

 

kRowLabel 

 

kColumnLabel 

 

kAllLabels 

 


Constructor & Destructor Documentation

Class constructor.

You will always need to provide a constructor that takes a control command instance as an argument, and it is illegal to define your standard constructors.


Member Function Documentation

MStatus redrawLabels ( MPxUITableControl::MLabelType  labelType = kAllLabels )

Tells the table control to redraw the label entries.

Parameters:
[in] labelType Specifies which labels to redraw.
Returns:
MStatus redrawCells ( )

Tells the UI control to redraw the cells of the table.

The table control maintains a database of cell entries and it will populate these entries using getCell interface.

Returns:
MStatus addToSelection ( unsigned int  row,
unsigned int  col 
)

Add the follow cell to the selection data structure.

To keep track of which entries that should be highlighted, an internal table is maintained.

Parameters:
[in] row table row entry.
[in] col table col entry.
Returns:
MStatus removeFromSelection ( unsigned int  row,
unsigned int  column 
)

Removes the specified cell entry from the internal selection list.

Parameters:
[in] row cell row entry
[in] column cell column entry
Returns:
MStatus clearSelection ( )

Clears the selection table.

This will remove all highlighted cells from the table.

Returns:
MStatus setSelection ( unsigned int  row,
unsigned int  column 
)

Sets the table selection list based on the row & column entry.

This replaces the current selection list with the new entry.

Parameters:
[in] row cell row entry
[in] column cell column entry
Returns:
MStatus setSelection ( unsigned int  firstRow,
unsigned int  lastRow,
unsigned int  firstCol,
unsigned int  lastCol 
)

Sets the selection to be the range of cells specified.

This replaces the current selection with the specified selection range.

Parameters:
[in] firstRow first row of the selection
[in] lastRow last row of the selection
[in] firstCol first column of the selection
[in] lastCol last column of the selection
Returns:
MStatus setNumberOfRows ( unsigned int  count )

Specifies the number of rows for the table.

Parameters:
[in] count number of rows desired.
Returns:
unsigned int numberOfRows ( MStatus ReturnStatus = NULL )

Returns the number of rows in the table.

Parameters:
[out] ReturnStatus Status of the call.
Returns:
Number of rows in the table or zero on failure.
Status Codes:
MStatus setNumberOfColumns ( unsigned int  count )

Specifies the number of columns for the table.

Parameters:
[in] count number of columns desired.
Returns:
unsigned int numberOfColumns ( MStatus ReturnStatus = NULL ) const

Returns the number of columns in the table.

Parameters:
[out] ReturnStatus status of the call.
Returns:
bool suspendUpdates ( bool  update,
MStatus ReturnStatus = NULL 
)

When set to true, it prevents the UI from updating the table.

The old suspend status is returned.

Parameters:
[in] update state the new suspend status.
[out] ReturnStatus status of the call.
Returns:
bool isSelected ( unsigned int  row,
unsigned int  col,
MStatus ReturnStatus = NULL 
)

Returns true if the specified cell is selected.

Parameters:
[in] row cell row position.
[in] col cell col position.
[out] ReturnStatus Status code.
Returns:
bool collapseOrExpandRow ( unsigned int  row ) [virtual]

This is called when a row should be collapsed or expanded (depending on its current state).

Parameters:
[in] row the row to collapse.
Returns:
  • true the action was handled.
  • false the action was not handled.
const char * className ( ) [static]

Returns the name of this class.

Returns:
Name of this class.

Reimplemented from MPxUIControl.

MString cellString ( unsigned int  r,
unsigned int  c,
bool &  isValidCell 
) [protected, virtual]

Returns the contents of a cell.

Derived classes MUST override either this method or getCell().

Parameters:
[in] r Row index of the cell.
[in] c Column index of the cell.
[out] isValidCell True if the row and column specify a valid cell, false otherwise.
Returns:
Contents of the specified cell, as a string, or an empty string if an invalid cell was specified.
MString labelString ( MLabelType  labelType,
unsigned int  n 
) [protected, virtual]

Returns the text of the label for the given row or column.

The base implementation of the method always returns an empty string.

Parameters:
[in] labelType Specifies whether a row or column label is requested.
[in] n Row or column index.
Returns:
Text of the requested label or an empty string if 'index' is invalid.
bool getCell ( unsigned int  row,
unsigned int  column,
MString value 
) [protected, virtual]

NO SCRIPT SUPPORT.

Returns the contents of a cell.

Derived classes MUST override either this method or cellString().

Python Notes

This method is not supported in Python. Use cellString() instead.

Parameters:
[in] row Row index of cell.
[in] column Column index of cell.
[out] value Contents of the specified cell, as a string, or an empty string if an invalid cell was specified.
Returns:
True state if 'row' and 'column' specify a valid cell, false otherwise.
void getLabel ( MLabelType  labelType,
unsigned int  n,
MString value 
) [protected, virtual]

NO SCRIPT SUPPORT.

Returns the text of the label for the given row or column.

The base implementation of the method always returns an empty string.

Python Notes

This method is not supported in Python. Use labelString() instead.

Parameters:
[in] labelType Specifies whether a row or column label is requested.
[in] n Row or column index.
[out] value Text of the requested label or an empty string if 'index' is invalid.
bool allowEdit ( ) const [protected, virtual]

Tells the base UI table control class if this control is editable.

It is possible to implement tables that simple display information and do not allow the user to edit them.

Returns:
  • true the table can be edited.
  • false the table should not be edited.
bool allowSelection ( int  top,
int  left,
int  bottom,
int  right 
) [protected, virtual]

This method is called when a selection occurs.

In this base implementation it always returns true. However, this method can be overridden to allow or disallow a selection.

Parameters:
[in] top top cell coordinate
[in] left left cell coordinate
[in] bottom bottom cell coordinate
[in] right right cell coordinate
Returns:
  • true the table can be edited.
  • false the table should not be edited.

MPxUITableControl MPxUITableControl MPxUITableControl MPxUITableControl MPxUITableControl MPxUITableControl MPxUITableControl MPxUITableControl MPxUITableControl MPxUITableControl
MPxUITableControl MPxUITableControl MPxUITableControl MPxUITableControl MPxUITableControl MPxUITableControl MPxUITableControl MPxUITableControl MPxUITableControl MPxUITableControl