Pencil2D Animation
Download Community News Docs Contribute
  • Overview
  • Articles
  • Code
  •  
  • Class List
  • Class Index
  • Class Hierarchy
  • Class Members
  • File List
Loading...
Searching...
No Matches
Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
BaseTool Class Referenceabstract
+ Inheritance diagram for BaseTool:
Inheritance graph
[legend]
+ Collaboration diagram for BaseTool:
Collaboration graph
[legend]

Signals

bool isActiveChanged (ToolType, bool)
 

Public Member Functions

QString typeName ()
 
void initialize (Editor *editor)
 
virtual ToolType type () const =0
 
virtual ToolProperties & toolProperties ()=0
 
virtual void loadSettings ()=0
 
void saveSettings ()
 
void resetSettings ()
 
virtual QCursor cursor ()
 
virtual void pointerPressEvent (PointerEvent *)=0
 
virtual void pointerMoveEvent (PointerEvent *)=0
 
virtual void pointerReleaseEvent (PointerEvent *)=0
 
virtual void pointerDoubleClickEvent (PointerEvent *)
 
virtual bool keyPressEvent (QKeyEvent *)
 
virtual bool keyReleaseEvent (QKeyEvent *)
 
virtual bool enterEvent (QEnterEvent *)
 
virtual bool leaveEvent (QEvent *)
 
virtual void clearToolData ()
 
virtual bool isActive () const
 Check if the tool is active.
 
virtual void paint (QPainter &painter, const QRect &blitRect)
 
virtual bool leavingThisTool ()
 Will clean up active connections.
 
virtual bool enteringThisTool ()
 Setup active connections here that should only emit while tool is active leavingThisTool will handle the cleanup of active connections.
 
bool isPropertyEnabled (int rawType)
 
bool isDrawingTool ()
 BaseTool::isDrawingTool - A drawing tool is anything that applies something to the canvas.
 
- Public Member Functions inherited from QObject
virtual const QMetaObject * metaObject () const const
 
 QObject (QObject *parent)
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
QString objectName () const const
 
void setObjectName (const QString &name)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
bool signalsBlocked () const const
 
bool blockSignals (bool block)
 
QThread * thread () const const
 
void moveToThread (QThread *targetThread)
 
int startTimer (int time, Qt::TimerType timerType)
 
void killTimer (int id)
 
T findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
const QObjectList & children () const const
 
void setParent (QObject *parent)
 
void installEventFilter (QObject *filterObj)
 
void removeEventFilter (QObject *obj)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectTree ()
 
void dumpObjectInfo ()
 
void dumpObjectTree () const const
 
void dumpObjectInfo () const const
 
bool setProperty (const char *name, const QVariant &value)
 
QVariant property (const char *name) const const
 
QList< QByteArray > dynamicPropertyNames () const const
 
void destroyed (QObject *obj)
 
void objectNameChanged (const QString &objectName)
 
QObject * parent () const const
 
bool inherits (const char *className) const const
 
void deleteLater ()
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
T qobject_cast (QObject *object)
 
T qobject_cast (const QObject *object)
 
T qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
 Q_CLASSINFO (Name, Value)
 
 Q_INTERFACES (...)
 
 Q_PROPERTY (...)
 
 Q_ENUMS (...)
 
 Q_FLAGS (...)
 
 Q_ENUM (...)
 
 Q_FLAG (...)
 
 Q_ENUM_NS (...)
 
 Q_FLAG_NS (...)
 
 Q_OBJECT Q_OBJECT
 
 Q_GADGET Q_GADGET
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SLOTS Q_SLOTS
 
 Q_SLOT Q_SLOT
 
 Q_EMIT Q_EMIT
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 

Static Public Member Functions

static QString TypeName (ToolType)
 
- Static Public Member Functions inherited from QObject
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 

Protected Member Functions

 BaseTool (QObject *parent)
 
Editor * editor ()
 
- Protected Member Functions inherited from QObject
QObject * sender () const const
 
int senderSignalIndex () const const
 
int receivers (const char *signal) const const
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
virtual void timerEvent (QTimerEvent *event)
 
virtual void childEvent (QChildEvent *event)
 
virtual void customEvent (QEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 

Protected Attributes

QHash< int, QSet< Layer::LAYER_TYPE > > mPropertyUsed
 
Editor * mEditor = nullptr
 
ScribbleArea * mScribbleArea = nullptr
 
QList< QMetaObject::Connection > mActiveConnections
 

Additional Inherited Members

- Public Attributes inherited from QObject
typedef QObjectList
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Definition at line 46 of file basetool.h.

Constructor & Destructor Documentation

◆ BaseTool()

BaseTool::BaseTool ( QObject *  parent)
explicitprotected

Definition at line 50 of file basetool.cpp.

◆ ~BaseTool()

BaseTool::~BaseTool ( )
protectedvirtual

Definition at line 54 of file basetool.cpp.

Member Function Documentation

◆ clearToolData()

virtual void BaseTool::clearToolData ( )
inlinevirtual

Definition at line 79 of file basetool.h.

◆ cursor()

QCursor BaseTool::cursor ( )
virtual

Definition at line 86 of file basetool.cpp.

◆ editor()

Editor * BaseTool::editor ( )
inlineprotected

Definition at line 106 of file basetool.h.

◆ enterEvent()

virtual bool BaseTool::enterEvent ( QEnterEvent *  )
inlinevirtual

Definition at line 76 of file basetool.h.

◆ enteringThisTool()

virtual bool BaseTool::enteringThisTool ( )
inlinevirtual

Setup active connections here that should only emit while tool is active leavingThisTool will handle the cleanup of active connections.

Reimplemented in StrokeTool.

Definition at line 97 of file basetool.h.

◆ initialize()

void BaseTool::initialize ( Editor *  editor)

Definition at line 56 of file basetool.cpp.

◆ isActive()

bool BaseTool::isActive ( ) const
virtual

Check if the tool is active.

An active tool is definied as one which is actively modifying the buffer. This is used to check if an full frame cache can be used instead of redrawing with CanvasPainter.

Returns
Returns true if the tool is currently active, else returns false.

Reimplemented in CameraTool, MoveTool, PolylineTool, and StrokeTool.

Definition at line 137 of file basetool.cpp.

◆ isDrawingTool()

bool BaseTool::isDrawingTool ( )

BaseTool::isDrawingTool - A drawing tool is anything that applies something to the canvas.

SELECT and MOVE does not count here because they modify already applied content.

Returns
true if not a drawing tool and false otherwise

Definition at line 128 of file basetool.cpp.

◆ isPropertyEnabled()

bool BaseTool::isPropertyEnabled ( int  rawType)

Definition at line 76 of file basetool.cpp.

◆ keyPressEvent()

virtual bool BaseTool::keyPressEvent ( QKeyEvent *  )
inlinevirtual

Definition at line 73 of file basetool.h.

◆ keyReleaseEvent()

virtual bool BaseTool::keyReleaseEvent ( QKeyEvent *  )
inlinevirtual

Definition at line 74 of file basetool.h.

◆ leaveEvent()

virtual bool BaseTool::leaveEvent ( QEvent *  )
inlinevirtual

Definition at line 77 of file basetool.h.

◆ leavingThisTool()

bool BaseTool::leavingThisTool ( )
virtual

Will clean up active connections.

Reimplemented in MoveTool, PolylineTool, and StrokeTool.

Definition at line 91 of file basetool.cpp.

◆ loadSettings()

virtual void BaseTool::loadSettings ( )
pure virtual

Implemented in StrokeTool.

◆ paint()

virtual void BaseTool::paint ( QPainter &  painter,
const QRect &  blitRect 
)
inlinevirtual

Definition at line 90 of file basetool.h.

◆ pointerDoubleClickEvent()

void BaseTool::pointerDoubleClickEvent ( PointerEvent *  event)
virtual

Definition at line 118 of file basetool.cpp.

◆ pointerMoveEvent()

void BaseTool::pointerMoveEvent ( PointerEvent *  event)
pure virtual

Definition at line 108 of file basetool.cpp.

◆ pointerPressEvent()

void BaseTool::pointerPressEvent ( PointerEvent *  event)
pure virtual

Definition at line 103 of file basetool.cpp.

◆ pointerReleaseEvent()

void BaseTool::pointerReleaseEvent ( PointerEvent *  event)
pure virtual

Definition at line 113 of file basetool.cpp.

◆ resetSettings()

void BaseTool::resetSettings ( )

Definition at line 71 of file basetool.cpp.

◆ saveSettings()

void BaseTool::saveSettings ( )

Definition at line 65 of file basetool.cpp.

◆ typeName()

QString BaseTool::typeName ( )
inline

Definition at line 54 of file basetool.h.

◆ TypeName()

QString BaseTool::TypeName ( ToolType  type)
static

Definition at line 28 of file basetool.cpp.

Member Data Documentation

◆ mActiveConnections

QList<QMetaObject::Connection> BaseTool::mActiveConnections
protected

Definition at line 111 of file basetool.h.

◆ mEditor

Editor* BaseTool::mEditor = nullptr
protected

Definition at line 109 of file basetool.h.

◆ mPropertyUsed

QHash<int, QSet<Layer::LAYER_TYPE> > BaseTool::mPropertyUsed
protected

Definition at line 107 of file basetool.h.

◆ mScribbleArea

ScribbleArea* BaseTool::mScribbleArea = nullptr
protected

Definition at line 110 of file basetool.h.


The documentation for this class was generated from the following files:
  • core_lib/src/tool/basetool.h
  • core_lib/src/tool/basetool.cpp
Generated on Tue Jan 6 2026 11:38:52 for Pencil2D by doxygen 1.9.6 based on revision f91a96748ec6712509b9b0ff47979db9c34d556f