#include
<MPxUITableControl.h>
List of all
members.
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( ... ).
|
Public Types
|
enum |
MLabelType {
kNoLabel,
kRowLabel,
kColumnLabel,
kAllLabels } |
|
Types of labels available in the control.
More...
|
Public Member Functions
|
|
MPxUITableControl (MPxControlCommand &) |
virtual |
~MPxUITableControl () |
MStatus |
redrawLabels (
MLabelType lt=kAllLabels) |
MStatus |
redrawCells () |
MStatus |
addToSelection (unsigned int row, unsigned int col) |
MStatus |
removeFromSelection (unsigned int row, unsigned int
column) |
MStatus |
clearSelection () |
MStatus |
setSelection (unsigned int row, unsigned int column) |
MStatus |
setSelection (unsigned int firstRow, unsigned int lastRow,
unsigned int firstCol, unsigned int lastCol) |
MStatus |
setNumberOfRows (unsigned int count) |
unsigned int |
numberOfRows (MStatus *ReturnStatus=NULL) |
MStatus |
setNumberOfColumns (unsigned int count) |
unsigned int |
numberOfColumns (MStatus *ReturnStatus=NULL) const |
bool |
suspendUpdates (bool update, MStatus *ReturnStatue=NULL) |
bool |
isSelected (unsigned int row, unsigned int col, MStatus *status=NULL) |
virtual bool |
collapseOrExpandRow (unsigned int row) |
Protected Member Functions
|
virtual MString |
cellString (unsigned int r, unsigned int c, bool
&ValidCell) |
virtual MString |
labelString (
MLabelType labelType, unsigned int n) |
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 |
virtual bool |
allowSelection (int top, int left, int bottom, int right) |
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.
MPxUITableControl::~MPxUITableControl |
( |
|
) |
[virtual] |
Member Function Documentation
Tells the table control to redraw the label entries.
- Parameters:
-
[in] |
labelType |
Specifies which labels to redraw. |
- Returns:
-
MStatus
MPxUITableControl::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
MPxUITableControl::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
MPxUITableControl::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
MPxUITableControl::clearSelection |
( |
|
) |
|
Clears the selection table. This will remove all highlighted
cells from the table.
- Returns:
-
MStatus
MPxUITableControl::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
MPxUITableControl::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
MPxUITableControl::setNumberOfRows |
( |
unsigned int |
count |
) |
|
Specifies the number of rows for the table.
- Parameters:
-
[in] |
count |
number of rows desired. |
- Returns:
-
unsigned int
MPxUITableControl::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
MPxUITableControl::setNumberOfColumns |
( |
unsigned int |
count |
) |
|
Specifies the number of columns for the table.
- Parameters:
-
[in] |
count |
number of columns desired. |
- Returns:
-
unsigned int
MPxUITableControl::numberOfColumns |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Returns the number of columns in the table.
- Parameters:
-
[out] |
ReturnStatus |
status of the call. |
- Returns:
-
bool MPxUITableControl::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 MPxUITableControl::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. |
- Returns:
-
bool
MPxUITableControl::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.
MString
MPxUITableControl::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
MPxUITableControl::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 MPxUITableControl::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 MPxUITableControl::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 MPxUITableControl::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 MPxUITableControl::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.