MPxControlCommand Class Reference
[OpenMayaUI - API module for user interfaceProxy classes]

#include <MPxControlCommand.h>

List of all members.


Detailed Description

Base class for control creation commands.

MPxControlCommand is the base class for user defined UI control commands. This command gives all of the flags and options of the base control command in addition to any user defined flags or behaviours. When registering this command, use the MFnPlugin::registerControlCommand() method. All control commands have a corresponding MPxUIControl. It is important to note that a given MPxControlCommand is reponsible for only ONE MPxUIControl.


Public Member Functions

  MPxControlCommand ()
virtual  ~MPxControlCommand ()
virtual MPxUIControl makeControl ()=0
virtual MStatus  doEditFlags ()
virtual MStatus  doQueryFlags ()
virtual MStatus  appendSyntax ()
virtual bool  skipFlagForCreate (const MString &longFlag)
void  clearResult ()
MStatus  setResult (bool result)
MStatus  setResult (int result)
MStatus  setResult (double result)
MStatus  setResult (const MString &result)
MStatus  setResult (const MStringArray &result)
MStatus  setResult (const MIntArray &result)

Protected Member Functions

MPxUIControl control (MStatus *ReturnStatus=NULL)
  USE _control() IN SCRIPT.
MSyntax  syntax (MStatus *ReturnStatus=NULL) const
  USE _syntax() IN SCRIPT.
MArgParser  parser (MStatus *ReturnStatus=NULL) const
  USE _parser() IN SCRIPT.

Friends

class  MPxUIControl
class  MPxUITableControl

Constructor & Destructor Documentation

MPxControlCommand::MPxControlCommand (  ) 

Class constructor.

MPxControlCommand::~MPxControlCommand (  )  [virtual]

Class destructor.


Member Function Documentation

MPxUIControl * MPxControlCommand::makeControl (  )  [pure virtual]

This method is called when the UI control should be created. You need to create a new MPxUIControl on call to this method (the base implementation is abstract, so that the compiler will force you to define an implementation of this method).

Returns:
  • NULL - unable to create the UI control for this command.
  • pointer to control - ui control successfully created.

MStatus MPxControlCommand::doEditFlags (  )  [virtual]

This method is called when the command is called in edit mode. This method should be overridden by control commands to determine which edit flags are set in conjunction with the argument parser for this command. The argument parser for this command can be obtained by calling the parser method.

If the command is called with both the edit flag and the query flag, then the query flag will be ignored.

If the command returns MS::kUnknownParameter, the flag is processed by the parent class.

Returns:

MStatus MPxControlCommand::doQueryFlags (  )  [virtual]

This method is invoked during query mode, and the default method should be overridden in user-defined control commands to determine which query flags are set in conjunction with the argument parser for the command. The argument parser for this command can be obtained by calling the parser method. If the command is called with both the edit flag and the query flag, then the query flag will be ignored.

If the command returns MS::kUnknownParameter, the flag is processed by the parent class.

Returns:

MStatus MPxControlCommand::appendSyntax (  )  [virtual]

This method should be overridden to append syntax to the control command. The syntax object can be obtained by calling the syntax method. The following flags cannot be used as user-defined flags as they are reserved for edit and query: "-e", "-edit", "-q", "-query".

Returns:

bool MPxControlCommand::skipFlagForCreate ( const MString longFlag  )  [virtual]

Returns true if the passed long flag name should be skipped during the creation portion of the command.

Parameters:
[in]  longFlag  The string containing the long flag name.
Returns:
true if the flag shoiuld be skipped during creation.
Status Codes:

void MPxControlCommand::clearResult (  ) 

This method should be called to clear the result to be output by the command.

MStatus MPxControlCommand::setResult ( bool  result  ) 

This method should be called when the result of the control command is a boolean.

Parameters:
[in]  result  the boolean result
Returns:

MStatus MPxControlCommand::setResult ( int  result  ) 

This method should be called when the result of the control command is an integer.

Parameters:
[in]  result  the integer result
Returns:

MStatus MPxControlCommand::setResult ( double  result  ) 

This method should be called when the result of the control command is a double.

Parameters:
[in]  result  the double result
Returns:

MStatus MPxControlCommand::setResult ( const MString result  ) 

This method should be called when the result of the control command is a string.

Parameters:
[in]  result  the string result
Returns:

MStatus MPxControlCommand::setResult ( const MStringArray result  ) 

This method should be called when the result of the control command is a string array.

Parameters:
[in]  result  the string result
Returns:

MStatus MPxControlCommand::setResult ( const MIntArray result  ) 

This method should be called when the result of the control command is a integer array.

Parameters:
[in]  result  the integer array result
Returns:

MPxUIControl * MPxControlCommand::control ( MStatus ReturnStatus = NULL  )  [protected]

USE _control() IN SCRIPT.

Returns the control instance. All UI commands require the name of the UI control as the last argument. This name is stored in a table that has the pointer to the control. When the command is executed, the pointer is retrieved. You should only call this method in the doEditFlags & doQueryFlags. All other cases are invalid.

Parameters:
[out]  ReturnStatus  return status
Status Codes:

MSyntax MPxControlCommand::syntax ( MStatus ReturnStatus = NULL  )  const [protected]

USE _syntax() IN SCRIPT.

This method returns the syntax object of this control command. The syntax object can be appended to in an overridden version of the appendSyntax method.

Parameters:
[out]  ReturnStatus  return status
Returns:
  • the syntax object
Status Codes:

MArgParser MPxControlCommand::parser ( MStatus ReturnStatus = NULL  )  const [protected]

USE _parser() IN SCRIPT.

This method returns the argument parser of this control command. The argument parser can be used in the overridden versions of doEditFlags and doQueryFlags to determine which flags are set.

Parameters:
[out]  ReturnStatus  return status
Returns:
The argument parser
Status Codes:

Autodesk® Maya® 2011 © 1997-2010 Autodesk, Inc. All rights reserved. Generated with doxygen 1.5.6