Public Types | Public Member Functions | Static Public Member Functions

MEvent Class Reference

This reference page is linked to from the following overview topics: MPxContext, Appendix D: Frequently asked questions.


Search for all occurrences

Detailed Description

System event information.

The MEvent class is used for querying system events such as mouse presses.

Events are handled by an MPxContext derived class in which MEvents are passed and can be accessed.

Since Maya has default actions for several events, only a subset are avalaible through the API. The events that can be accessed are:

Several modifiers for events are also accessible through the API. Modifiers are actions that occur during an event. For example, holding down the shift key while pressing a mouse button causes a button press event to occur with a shift modifier.

A modifier can be used to determine if two mouse events occur simulaneously. The second mouse event is registered as a modifier in the hold event of the first mouse button. So if you wanted to determine if both the left and middle buttons are pressed then you would query the modifier in the hold event of the first mouse button using the isModifierMiddleMouseButton() and isModifierLeftMouseButton() methods.

Examples:

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

#include <MEvent.h>

List of all members.

Public Types

enum  ModifierType { shiftKey = 1<<0, controlKey = 1<<2 }
 

Modifier key types.

More...
enum  MouseButtonType { kLeftMouse = 1<<6, kMiddleMouse = kLeftMouse<<1 }
 

Mouse button types.

More...

Public Member Functions

 MEvent ()
 Constructor.
virtual ~MEvent ()
 Destructor.
MStatus getPosition (short &x_pos, short &y_pos) const
 Get the location of the event in view co-ordinates.
MStatus setPosition (short x_pos, short y_pos)
 set the location of the event to the specified location.
MStatus getWindowPosition (short &x_pos, short &y_pos) const
 This routine is used by responders to query the position of the pointer when the event occurred.
MouseButtonType mouseButton (MStatus *ReturnStatus=NULL) const
 Get the mouse button of the last event.
bool isModifierKeyRelease (MStatus *ReturnStatus=NULL) const
 Was a modifier key released.
ModifierType modifiers (MStatus *ReturnStatus=NULL) const
 This routine is used by responders to find the state of the modifiers during the event.
MStatus setModifiers (const ModifierType &modType)
 set the event modifiers.
bool isModifierNone (MStatus *ReturnStatus=NULL) const
 Determines if there are any modifiers for this event.
bool isModifierShift (MStatus *ReturnStatus=NULL) const
 return state of shift key.
bool isModifierControl (MStatus *ReturnStatus=NULL) const
 return state of control key.
bool isModifierLeftMouseButton (MStatus *ReturnStatus=NULL) const
 Return the state of the left mouse button.
bool isModifierMiddleMouseButton (MStatus *ReturnStatus=NULL) const
 Return the state of the middle mouse button.

Static Public Member Functions

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

Member Enumeration Documentation

Modifier key types.

Enumerator:
shiftKey 

 

controlKey 

 

Mouse button types.

Enumerator:
kLeftMouse 

 

kMiddleMouse 

 


Member Function Documentation

MStatus getPosition ( short &  x_pos,
short &  y_pos 
) const

Get the location of the event in view co-ordinates.

The origin is at the lower left corner of the window.

Parameters:
[out]x_posstorage for horizonal position
[out]y_posstorage for vertical position
Returns:
Status Code
Status Codes:
MStatus setPosition ( short  x_pos,
short  y_pos 
)

set the location of the event to the specified location.

The origin is at the lower left corner of the window.

Parameters:
[in]x_poshorizonal position to set
[in]y_posvertical position to set
Returns:
Status Code
Status Codes:
MStatus getWindowPosition ( short &  x_pos,
short &  y_pos 
) const

This routine is used by responders to query the position of the pointer when the event occurred.

It is given in screen co-ordinates.

The origin is at the upper left corner of the window.

Parameters:
[out]x_posstorage for horizonal position
[out]y_posstorage for vertical position
Returns:
Status Code
Status Codes:
MEvent::MouseButtonType mouseButton ( MStatus ReturnStatus = NULL) const

Get the mouse button of the last event.

Parameters:
[out]ReturnStatus
Returns:
Mouse button from last event.
Status Codes:
bool isModifierKeyRelease ( MStatus ReturnStatus = NULL) const

Was a modifier key released.

Parameters:
[out]ReturnStatus
Returns:
  • true A modifier key was released.
  • false No modifier key was released.
Status Codes:
MEvent::ModifierType modifiers ( MStatus ReturnStatus = NULL) const

This routine is used by responders to find the state of the modifiers during the event.

Parameters:
[out]ReturnStatus
Returns:
Modifier type.
Status Codes:
MStatus setModifiers ( const ModifierType modType)

set the event modifiers.

Parameters:
[in]modTypeType of modifier to set to.
Returns:
Status Code
Status Codes:
bool isModifierNone ( MStatus ReturnStatus = NULL) const

Determines if there are any modifiers for this event.

Parameters:
[out]ReturnStatus
Returns:
  • true There are modifiers for this event.
  • false There are NO modifiers for this event.
Status Codes:
bool isModifierShift ( MStatus ReturnStatus = NULL) const

return state of shift key.

Parameters:
[out]ReturnStatus
Returns:
  • true Shift key triggered this event.
  • false The shift key did not cause this event.
Status Codes:
Examples:
lassoTool.cpp, and marqueeTool.cpp.
bool isModifierControl ( MStatus ReturnStatus = NULL) const

return state of control key.

Parameters:
[out]ReturnStatus
Returns:
  • true Control key triggered this event.
  • false The control key did not cause this event.
Status Codes:
Examples:
lassoTool.cpp, and marqueeTool.cpp.
bool isModifierLeftMouseButton ( MStatus ReturnStatus = NULL) const

Return the state of the left mouse button.

This method is only valid when called in the hold event for another mouse press.

Parameters:
[out]ReturnStatus
Returns:
  • true Left mouse button triggered this event.
  • false The left moust button did not cause this event.
Status Codes:
bool isModifierMiddleMouseButton ( MStatus ReturnStatus = NULL) const

Return the state of the middle mouse button.

This method is only valid when called in the hold event for another mouse press.

Parameters:
[out]ReturnStatus
Returns:
  • true Middle mouse button triggered this event.
  • false The middle moust button did not cause this event.
Status Codes:
const char * className ( ) [static]

Returns the name of this class.

Returns:
The name of this class.

MEvent MEvent MEvent MEvent MEvent MEvent MEvent MEvent MEvent MEvent
MEvent MEvent MEvent MEvent MEvent MEvent MEvent MEvent MEvent MEvent