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 (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 ( MEvent::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® 2009 © 1997-2008 Autodesk, Inc. All rights reserved. Generated with doxygen 1.5.6