Public Member Functions | Static Public Member Functions | Protected Member Functions

MPxContextCommand Class Reference

This reference page is linked to from the following overview topics: MPxContext, MPxContextCommand, MPxToolCommand.


Search for all occurrences

Detailed Description

Base class for context creation commands.

This is the base class for context creation commands.

The purpose of this command class is to create instances of user contexts derived from MPxContext, and to allow the MEL programmer to edit and query various properties of the context related to this command.

The user will derive off of this class and override the makeObj method which will be called when this command is invoked in Maya.

The context command is registered in Maya using MFnPlugin::registerContextCommand

Examples:

componentScaleManip.cpp, customAttrManip.cpp, helixTool.cpp, lassoTool.cpp, marqueeTool.cpp, meshRemapTool.h, meshReorderTool.h, moveManip.cpp, moveNumericTool.cpp, moveTool.cpp, rotateManip.cpp, and surfaceBumpManip.cpp.

#include <MPxContextCommand.h>

Inheritance diagram for MPxContextCommand:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 MPxContextCommand ()
 Class constructor.
virtual ~MPxContextCommand ()
 Class destructor.
virtual MStatus doEditFlags ()
 This method is called when the command is called in edit mode.
virtual MStatus doQueryFlags ()
 This method is called when the command is called in query mode.
virtual MPxContextmakeObj ()
 This function is used to instantiate a proxy context.
virtual MStatus appendSyntax ()
 This method should be overridden to append syntax to the context command.
MStatus setResult (bool result)
 This method should be called when the result of the context command is a boolean.
MStatus setResult (int result)
 This method should be called when the result of the context command is an integer.
MStatus setResult (double result)
 This method should be called when the result of the context command is a double.
MStatus setResult (const MString &result)
 This method should be called when the result of the context command a string.

Static Public Member Functions

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

Protected Member Functions

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

Member Function Documentation

MStatus doEditFlags ( ) [virtual]

This method is called when the command is called in edit mode.

This method should be overridden by context 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.

Returns:
Examples:
helixTool.cpp.
MStatus doQueryFlags ( ) [virtual]

This method is called when the command is called in query mode.

This method should be overridden by context commands to determine which query 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.

Returns:
Examples:
helixTool.cpp.
MPxContext * makeObj ( ) [virtual]

This function is used to instantiate a proxy context.

In your derived class, declare this function:

    MPxContext * derivedClass::makeObj() {
        return new userContextClass;
    }

where userContextClass is derived from MPxContext.

Returns:

Reimplemented in MTemplateContextCommand< ContextCommandName, ContextCommandClass, ContextClass >.

Examples:
componentScaleManip.cpp, customAttrManip.cpp, helixTool.cpp, lassoTool.cpp, marqueeTool.cpp, meshRemapTool.h, meshReorderTool.h, moveManip.cpp, moveNumericTool.cpp, moveTool.cpp, rotateManip.cpp, and surfaceBumpManip.cpp.
MStatus appendSyntax ( ) [virtual]

This method should be overridden to append syntax to the context 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:
Examples:
helixTool.cpp.
MStatus setResult ( bool  result)

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

Parameters:
[in]resultthe boolean result
Returns:
MStatus setResult ( int  result)

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

Parameters:
[in]resultthe integer result
Returns:
MStatus setResult ( double  result)

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

Parameters:
[in]resultthe double result
Returns:
MStatus setResult ( const MString result)

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

Parameters:
[in]resultthe string result
Returns:
const char * className ( ) [static]

Returns the name of this class.

Returns:
Name of this class.
MSyntax syntax ( MStatus ReturnStatus = NULL) const [protected]

USE _syntax() IN SCRIPT.

This method returns the syntax object of this context command.

From an overridden version of the appendSyntax method you may append to the syntax object.

Parameters:
[out]ReturnStatusreturn status
Returns:
The syntax object
Status Codes:
MArgParser parser ( MStatus ReturnStatus = NULL) const [protected]

USE _parser() IN SCRIPT.

This method returns the argument parser of this context command.

The argument parser can be used in the overridden versions of doEditFlags and doQueryFlags to determine which flags are set.

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

MPxContextCommand MPxContextCommand MPxContextCommand MPxContextCommand MPxContextCommand MPxContextCommand MPxContextCommand MPxContextCommand MPxContextCommand MPxContextCommand
MPxContextCommand MPxContextCommand MPxContextCommand MPxContextCommand MPxContextCommand MPxContextCommand MPxContextCommand MPxContextCommand MPxContextCommand MPxContextCommand