MEvent Class Reference
[OpenMayaUI - API module for user interface]

#include <MEvent.h>

List of all members.


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.


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 ()
virtual  ~MEvent ()
MStatus  getPosition (short &x_pos, short &y_pos) const
MStatus  setPosition (short x_pos, short y_pos)
MStatus  getWindowPosition (short &x_pos, short &y_pos) const
MouseButtonType  mouseButton (MStatus *ReturnStatus=NULL) const
bool  isModifierKeyRelease (MStatus *ReturnStatus=NULL) const
ModifierType  modifiers (MStatus *ReturnStatus=NULL) const
MStatus  setModifiers (const ModifierType &modType)
bool  isModifierNone (MStatus *ReturnStatus=NULL) const
bool  isModifierShift (MStatus *ReturnStatus=NULL) const
bool  isModifierControl (MStatus *ReturnStatus=NULL) const
bool  isModifierLeftMouseButton (MStatus *ReturnStatus=NULL) const
bool  isModifierMiddleMouseButton (MStatus *ReturnStatus=NULL) const

Member Enumeration Documentation

Modifier key types.

Enumerator:
shiftKey   
controlKey   

Mouse button types.

Enumerator:
kLeftMouse   
kMiddleMouse   

Constructor & Destructor Documentation

MEvent::MEvent (  ) 

Constructor.

MEvent::~MEvent (  )  [virtual]

Destructor.


Member Function Documentation

MStatus MEvent::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_pos  storage for horizonal position
[out]  y_pos  storage for vertical position
Returns:
Status Code
Status Codes:

MStatus MEvent::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_pos  horizonal position to set
[in]  y_pos  vertical position to set
Returns:
Status Code
Status Codes:

MStatus MEvent::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_pos  storage for horizonal position
[out]  y_pos  storage for vertical position
Returns:
Status Code
Status Codes:

MEvent::MouseButtonType MEvent::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 MEvent::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 MEvent::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 MEvent::setModifiers ( const ModifierType modType  ) 

set the event modifiers.

Parameters:
[in]  modType  Type of modifier to set to.
Returns:
Status Code
Status Codes:

bool MEvent::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 MEvent::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 MEvent::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 MEvent::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 MEvent::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:

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