Krita Source Code Documentation
Loading...
Searching...
No Matches
KisChangeFrameAction Class Reference

#include <kis_change_frame_action.h>

+ Inheritance diagram for KisChangeFrameAction:

Classes

struct  Private
 

Public Types

enum  Shortcuts { NextFrameShortcut , PreviousFrameShortcut }
 

Public Member Functions

void begin (int shortcut, QEvent *event) override
 
bool isAvailable () const override
 
 KisChangeFrameAction ()
 
 ~KisChangeFrameAction () override
 
- Public Member Functions inherited from KisAbstractInputAction
virtual void activate (int shortcut)
 
virtual bool canIgnoreModifiers () const
 
virtual void deactivate (int shortcut)
 
virtual QString description () const
 
virtual void end (QEvent *event)
 
virtual QString id () const
 
virtual KisInputActionGroup inputActionGroup (int shortcut) const
 
virtual void inputEvent (QEvent *event)
 
virtual bool isShortcutRequired (int shortcut) const
 
 KisAbstractInputAction (const QString &id)
 
virtual QString name () const
 
virtual int priority () const
 
virtual QHash< QString, int > shortcutIndexes () const
 
virtual bool supportsHiResInputEvents (int shortcut) const
 
virtual ~KisAbstractInputAction ()
 

Private Attributes

const QScopedPointer< Privatem_d
 

Additional Inherited Members

- Public Attributes inherited from KisAbstractInputAction
QString description
 
QString id
 
QHash< QString, int > indexes
 
QPointF lastCursorPosition
 
QString name
 
QPointF startCursorPosition
 
- Static Public Attributes inherited from KisAbstractInputAction
static KisInputManagerinputManager
 
- Protected Member Functions inherited from KisAbstractInputAction
virtual void cursorMoved (const QPointF &lastPos, const QPointF &pos)
 
virtual void cursorMovedAbsolute (const QPointF &startPos, const QPointF &pos)
 
QPoint eventPos (const QEvent *event)
 
QPointF eventPosF (const QEvent *event)
 
KisInputManagerinputManager () const
 
void setDescription (const QString &description)
 
void setName (const QString &name)
 
void setShortcutIndexes (const QHash< QString, int > &indexes)
 

Detailed Description

Definition at line 15 of file kis_change_frame_action.h.

Member Enumeration Documentation

◆ Shortcuts

Enumerator
NextFrameShortcut 
PreviousFrameShortcut 

Definition at line 18 of file kis_change_frame_action.h.

Constructor & Destructor Documentation

◆ KisChangeFrameAction()

KisChangeFrameAction::KisChangeFrameAction ( )

Definition at line 22 of file kis_change_frame_action.cpp.

23 : KisAbstractInputAction("Switch Time"),
24 m_d(new Private)
25{
26 setName(i18n("Switch Time"));
27 setDescription(i18n("The <i>Switch Time</i> action changes the current time of the animation."));
28
29 QHash< QString, int > shortcuts;
30 shortcuts.insert(i18n("Next Frame"), NextFrameShortcut);
31 shortcuts.insert(i18n("Previous Frame"), PreviousFrameShortcut);
32 setShortcutIndexes(shortcuts);
33}
KisAbstractInputAction(const QString &id)
void setShortcutIndexes(const QHash< QString, int > &indexes)
void setName(const QString &name)
void setDescription(const QString &description)
const QScopedPointer< Private > m_d

References NextFrameShortcut, PreviousFrameShortcut, KisAbstractInputAction::setDescription(), KisAbstractInputAction::setName(), and KisAbstractInputAction::setShortcutIndexes().

◆ ~KisChangeFrameAction()

KisChangeFrameAction::~KisChangeFrameAction ( )
override

Definition at line 35 of file kis_change_frame_action.cpp.

36{
37}

Member Function Documentation

◆ begin()

void KisChangeFrameAction::begin ( int shortcut,
QEvent * event )
overridevirtual

Begin the action.

Parameters
shortcutThe index of the behaviour to trigger.
eventThe mouse event that has triggered this action. Is null for keyboard-activated actions.

Reimplemented from KisAbstractInputAction.

Definition at line 46 of file kis_change_frame_action.cpp.

47{
48 KisAbstractInputAction::begin(shortcut, event);
49
50 switch(shortcut) {
51 case NextFrameShortcut: {
52 KisAction *action = inputManager()->canvas()->viewManager()->actionManager()->actionByName("next_frame");
53 if (action) {
54 action->trigger();
55 }
56 break;
57 }
59 KisAction *action = inputManager()->canvas()->viewManager()->actionManager()->actionByName("previous_frame");
60 if (action) {
61 action->trigger();
62 }
63 break;
64 }
65 }
66}
static KisInputManager * inputManager
virtual void begin(int shortcut, QEvent *event)
KisAction * actionByName(const QString &name) const
KisViewManager * viewManager() const
KisCanvas2 * canvas() const
KisActionManager * actionManager() const

References KisActionManager::actionByName(), KisViewManager::actionManager(), KisAbstractInputAction::begin(), KisInputManager::canvas(), KisAbstractInputAction::inputManager, NextFrameShortcut, PreviousFrameShortcut, and KisCanvas2::viewManager().

◆ isAvailable()

bool KisChangeFrameAction::isAvailable ( ) const
overridevirtual

Some of the actions are available in particular situations only. E.g. switch frame action is available iff an animated layer is selected. If isAvailable() returns true then the action will not be triggered by the shortcut matcher.

Reimplemented from KisAbstractInputAction.

Definition at line 39 of file kis_change_frame_action.cpp.

40{
42
43 return node ? node->isAnimated() : false;
44}
KisNodeSP activeNode()
bool isAnimated() const

References KisViewManager::activeNode(), KisInputManager::canvas(), KisAbstractInputAction::inputManager, KisBaseNode::isAnimated(), and KisCanvas2::viewManager().

Member Data Documentation

◆ m_d

const QScopedPointer<Private> KisChangeFrameAction::m_d
private

Definition at line 32 of file kis_change_frame_action.h.


The documentation for this class was generated from the following files: