MEvent Class Reference

#include <MEvent.h>

Class 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:

  • buttonPress - mouse button press event (left & middle only)
  • buttonRelease - mouse buttons release event (left & middle only)
  • mouseDrag - mouse button drag event (left & middle only)
  • hold - mouse button hold event (left & middle only)
  • deleteEvent - delete/backspace key event
  • commandCompletion - complete key event

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:

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. More...
 
MStatus setPosition (short x_pos, short y_pos)
 set the location of the event to the specified location. More...
 
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. More...
 
MouseButtonType mouseButton (MStatus *ReturnStatus=NULL) const
 Get the mouse button of the last event. More...
 
bool isModifierKeyRelease (MStatus *ReturnStatus=NULL) const
 Was a modifier key released. More...
 
ModifierType modifiers (MStatus *ReturnStatus=NULL) const
 This routine is used by responders to find the state of the modifiers during the event. More...
 
MStatus setModifiers (const ModifierType &modType)
 set the event modifiers. More...
 
bool isModifierNone (MStatus *ReturnStatus=NULL) const
 Determines if there are any modifiers for this event. More...
 
bool isModifierShift (MStatus *ReturnStatus=NULL) const
 return state of shift key. More...
 
bool isModifierControl (MStatus *ReturnStatus=NULL) const
 return state of control key. More...
 
bool isModifierLeftMouseButton (MStatus *ReturnStatus=NULL) const
 Return the state of the left mouse button. More...
 
bool isModifierMiddleMouseButton (MStatus *ReturnStatus=NULL) const
 Return the state of the middle mouse button. More...
 

Static Public Member Functions

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

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:
+ Examples:
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:
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:
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.

The documentation for this class was generated from the following files:
  • MEvent.h
  • MEvent.cpp