Qwt User's Guide  6.2.0
QwtEventPattern Class Reference

A collection of event patterns. More...

#include <qwt_event_pattern.h>

Inheritance diagram for QwtEventPattern:

Classes

class  KeyPattern
 A pattern for key events. More...
 
class  MousePattern
 A pattern for mouse events. More...
 

Public Types

enum  MousePatternCode {
  MouseSelect1 , MouseSelect2 , MouseSelect3 , MouseSelect4 ,
  MouseSelect5 , MouseSelect6 , MousePatternCount
}
 Symbolic mouse input codes. More...
 
enum  KeyPatternCode {
  KeySelect1 , KeySelect2 , KeyAbort , KeyLeft ,
  KeyRight , KeyUp , KeyDown , KeyRedo ,
  KeyUndo , KeyHome , KeyPatternCount
}
 Symbolic keyboard input codes. More...
 

Public Member Functions

 QwtEventPattern ()
 
virtual ~QwtEventPattern ()
 Destructor.
 
void initMousePattern (int numButtons)
 
void initKeyPattern ()
 
void setMousePattern (MousePatternCode, Qt::MouseButton button, Qt::KeyboardModifiers=Qt::NoModifier)
 
void setKeyPattern (KeyPatternCode, int key, Qt::KeyboardModifiers modifiers=Qt::NoModifier)
 
void setMousePattern (const QVector< MousePattern > &)
 Change the mouse event patterns.
 
void setKeyPattern (const QVector< KeyPattern > &)
 Change the key event patterns.
 
const QVector< MousePattern > & mousePattern () const
 
const QVector< KeyPattern > & keyPattern () const
 
QVector< MousePattern > & mousePattern ()
 
QVector< KeyPattern > & keyPattern ()
 
bool mouseMatch (MousePatternCode, const QMouseEvent *) const
 Compare a mouse event with an event pattern. More...
 
bool keyMatch (KeyPatternCode, const QKeyEvent *) const
 Compare a key event with an event pattern. More...
 

Protected Member Functions

virtual bool mouseMatch (const MousePattern &, const QMouseEvent *) const
 Compare a mouse event with an event pattern. More...
 
virtual bool keyMatch (const KeyPattern &, const QKeyEvent *) const
 Compare a key event with an event pattern. More...
 

Detailed Description

A collection of event patterns.

QwtEventPattern introduces an level of indirection for mouse and keyboard inputs. Those are represented by symbolic names, so the application code can be configured by individual mappings.

See also
QwtPicker, QwtPickerMachine, QwtPlotZoomer

Definition at line 30 of file qwt_event_pattern.h.

Member Enumeration Documentation

◆ KeyPatternCode

Symbolic keyboard input codes.

Individual settings can be configured using setKeyPattern()

See also
setKeyPattern(), setMousePattern()
Enumerator
KeySelect1 

Qt::Key_Return.

KeySelect2 

Qt::Key_Space.

KeyAbort 

Qt::Key_Escape.

KeyLeft 

Qt::Key_Left.

KeyRight 

Qt::Key_Right.

KeyUp 

Qt::Key_Up.

KeyDown 

Qt::Key_Down.

KeyRedo 

Qt::Key_Plus.

KeyUndo 

Qt::Key_Minus.

KeyHome 

Qt::Key_Escape.

KeyPatternCount 

Number of key patterns.

Definition at line 112 of file qwt_event_pattern.h.

◆ MousePatternCode

Symbolic mouse input codes.

QwtEventPattern implements 3 different settings for mice with 1, 2, or 3 buttons that can be activated using initMousePattern(). The default setting is for 3 button mice.

Individual settings can be configured using setMousePattern().

See also
initMousePattern(), setMousePattern(), setKeyPattern()
Enumerator
MouseSelect1 

The default setting for 1, 2 and 3 button mice is:

  • Qt::LeftButton
  • Qt::LeftButton
  • Qt::LeftButton
MouseSelect2 

The default setting for 1, 2 and 3 button mice is:

  • Qt::LeftButton + Qt::ControlModifier
  • Qt::RightButton
  • Qt::RightButton
MouseSelect3 

The default setting for 1, 2 and 3 button mice is:

  • Qt::LeftButton + Qt::AltModifier
  • Qt::LeftButton + Qt::AltModifier
  • Qt::MidButton
MouseSelect4 

The default setting for 1, 2 and 3 button mice is:

  • Qt::LeftButton + Qt::ShiftModifier
  • Qt::LeftButton + Qt::ShiftModifier
  • Qt::LeftButton + Qt::ShiftModifier
MouseSelect5 

The default setting for 1, 2 and 3 button mice is:

  • Qt::LeftButton + Qt::ControlButton | Qt::ShiftModifier
  • Qt::RightButton + Qt::ShiftModifier
  • Qt::RightButton + Qt::ShiftModifier
MouseSelect6 

The default setting for 1, 2 and 3 button mice is:

  • Qt::LeftButton + Qt::AltModifier + Qt::ShiftModifier
  • Qt::LeftButton + Qt::AltModifier | Qt::ShiftModifier
  • Qt::MidButton + Qt::ShiftModifier
MousePatternCount 

Number of mouse patterns.

Definition at line 45 of file qwt_event_pattern.h.

Constructor & Destructor Documentation

◆ QwtEventPattern()

QwtEventPattern::QwtEventPattern ( )

Constructor

See also
MousePatternCode, KeyPatternCode

Definition at line 19 of file qwt_event_pattern.cpp.

Member Function Documentation

◆ initKeyPattern()

void QwtEventPattern::initKeyPattern ( )

Set default mouse patterns.

See also
KeyPatternCode

Definition at line 81 of file qwt_event_pattern.cpp.

◆ initMousePattern()

void QwtEventPattern::initMousePattern ( int  numButtons)

Set default mouse patterns, depending on the number of mouse buttons

Parameters
numButtonsNumber of mouse buttons ( <= 3 )
See also
MousePatternCode

Definition at line 38 of file qwt_event_pattern.cpp.

◆ keyMatch() [1/2]

bool QwtEventPattern::keyMatch ( const KeyPattern pattern,
const QKeyEvent *  event 
) const
protectedvirtual

Compare a key event with an event pattern.

A key event matches the pattern when both have the same key value and in the state value the same key flags (Qt::KeyButtonMask) are set.

Parameters
patternKey event pattern
eventKey event
Returns
true if matches
See also
mouseMatch()

Definition at line 257 of file qwt_event_pattern.cpp.

◆ keyMatch() [2/2]

bool QwtEventPattern::keyMatch ( KeyPatternCode  code,
const QKeyEvent *  event 
) const

Compare a key event with an event pattern.

A key event matches the pattern when both have the same key value and in the state value the same key flags (Qt::KeyButtonMask) are set.

Parameters
codeIndex of the event pattern
eventKey event
Returns
true if matches
See also
mouseMatch()

Definition at line 234 of file qwt_event_pattern.cpp.

◆ keyPattern() [1/2]

QVector< QwtEventPattern::KeyPattern > & QwtEventPattern::keyPattern ( )
Returns
Key pattern

Definition at line 170 of file qwt_event_pattern.cpp.

◆ keyPattern() [2/2]

const QVector< QwtEventPattern::KeyPattern > & QwtEventPattern::keyPattern ( ) const
Returns
Key pattern

Definition at line 158 of file qwt_event_pattern.cpp.

◆ mouseMatch() [1/2]

bool QwtEventPattern::mouseMatch ( const MousePattern pattern,
const QMouseEvent *  event 
) const
protectedvirtual

Compare a mouse event with an event pattern.

A mouse event matches the pattern when both have the same button value and in the state value the same key flags(Qt::KeyButtonMask) are set.

Parameters
patternMouse event pattern
eventMouse event
Returns
true if matches
See also
keyMatch()

Definition at line 211 of file qwt_event_pattern.cpp.

◆ mouseMatch() [2/2]

bool QwtEventPattern::mouseMatch ( MousePatternCode  code,
const QMouseEvent *  event 
) const

Compare a mouse event with an event pattern.

A mouse event matches the pattern when both have the same button value and in the state value the same key flags(Qt::KeyButtonMask) are set.

Parameters
codeIndex of the event pattern
eventMouse event
Returns
true if matches
See also
keyMatch()

Definition at line 188 of file qwt_event_pattern.cpp.

◆ mousePattern() [1/2]

QVector< QwtEventPattern::MousePattern > & QwtEventPattern::mousePattern ( )
Returns
Mouse pattern

Definition at line 164 of file qwt_event_pattern.cpp.

◆ mousePattern() [2/2]

const QVector< QwtEventPattern::MousePattern > & QwtEventPattern::mousePattern ( ) const
Returns
Mouse pattern

Definition at line 151 of file qwt_event_pattern.cpp.

◆ setKeyPattern()

void QwtEventPattern::setKeyPattern ( KeyPatternCode  pattern,
int  key,
Qt::KeyboardModifiers  modifiers = Qt::NoModifier 
)

Change one key pattern

Parameters
patternIndex of the pattern
keyKey
modifiersKeyboard modifiers
See also
QKeyEvent

Definition at line 127 of file qwt_event_pattern.cpp.

◆ setMousePattern()

void QwtEventPattern::setMousePattern ( MousePatternCode  pattern,
Qt::MouseButton  button,
Qt::KeyboardModifiers  modifiers = Qt::NoModifier 
)

Change one mouse pattern

Parameters
patternIndex of the pattern
buttonButton
modifiersKeyboard modifiers
See also
QMouseEvent

Definition at line 108 of file qwt_event_pattern.cpp.