Blame toonz/sources/include/tools/toolhandle.h
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#ifndef TOOLEHANDLE_H
|
|
Toshihiro Shimizu |
890ddd |
#define TOOLEHANDLE_H
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#include "tcommon.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "timage.h"
|
|
Toshihiro Shimizu |
890ddd |
#include <QObject>
|
|
Toshihiro Shimizu |
890ddd |
#include <QMap>
|
|
Toshihiro Shimizu |
890ddd |
#include <QTime>
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// forward declaration
|
|
Toshihiro Shimizu |
890ddd |
class TTool;
|
|
Toshihiro Shimizu |
890ddd |
class QAction;
|
|
Toshihiro Shimizu |
890ddd |
class QString;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#undef DVAPI
|
|
Toshihiro Shimizu |
890ddd |
#undef DVVAR
|
|
Toshihiro Shimizu |
890ddd |
#ifdef TNZTOOLS_EXPORTS
|
|
Toshihiro Shimizu |
890ddd |
#define DVAPI DV_EXPORT_API
|
|
Toshihiro Shimizu |
890ddd |
#define DVVAR DV_EXPORT_VAR
|
|
Toshihiro Shimizu |
890ddd |
#else
|
|
Toshihiro Shimizu |
890ddd |
#define DVAPI DV_IMPORT_API
|
|
Toshihiro Shimizu |
890ddd |
#define DVVAR DV_IMPORT_VAR
|
|
Toshihiro Shimizu |
890ddd |
#endif
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//=============================================================================
|
|
Toshihiro Shimizu |
890ddd |
// ToolHandle
|
|
Toshihiro Shimizu |
890ddd |
//-----------------------------------------------------------------------------
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
class DVAPI ToolHandle : public QObject
|
|
Toshihiro Shimizu |
890ddd |
{
|
|
Toshihiro Shimizu |
890ddd |
Q_OBJECT
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
TTool *m_tool;
|
|
Toshihiro Shimizu |
890ddd |
QString m_toolName;
|
|
Toshihiro Shimizu |
890ddd |
int m_toolTargetType;
|
|
Toshihiro Shimizu |
890ddd |
QString m_storedToolName;
|
|
Toshihiro Shimizu |
890ddd |
QTime m_storedToolTime;
|
|
Toshihiro Shimizu |
890ddd |
QString m_oldToolName;
|
|
Toshihiro Shimizu |
890ddd |
bool m_toolIsBusy;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Toshihiro Shimizu |
890ddd |
ToolHandle();
|
|
Toshihiro Shimizu |
890ddd |
~ToolHandle();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
TTool *getTool() const;
|
|
Toshihiro Shimizu |
890ddd |
void setTool(TTool *tool);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
void setTool(QString name);
|
|
Toshihiro Shimizu |
890ddd |
void setTargetType(int targetType);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// used to change tool for a short while (e.g. while keeping pressed a short-key)
|
|
Toshihiro Shimizu |
890ddd |
void storeTool();
|
|
Toshihiro Shimizu |
890ddd |
void restoreTool();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// used to set a tool that is not listed in the toolbar (e.g. the ShiftTraceTool).
|
|
Toshihiro Shimizu |
890ddd |
void setPseudoTool(QString name);
|
|
Toshihiro Shimizu |
890ddd |
void unsetPseudoTool();
|
|
Toshihiro Shimizu |
890ddd |
void setToolBusy(bool value);
|
|
Toshihiro Shimizu |
890ddd |
bool isToolBusy() { return m_toolIsBusy; }
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
/*! Notify tool parameters change (out of toolOption bar).*/
|
|
Toshihiro Shimizu |
890ddd |
void notifyToolChanged() { emit toolChanged(); }
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
void notifyToolCursorTypeChanged() { emit toolCursorTypeChanged(); }
|
|
Toshihiro Shimizu |
890ddd |
signals:
|
|
Toshihiro Shimizu |
890ddd |
void toolSwitched();
|
|
Toshihiro Shimizu |
890ddd |
void toolChanged();
|
|
Toshihiro Shimizu |
890ddd |
void toolEditingFinished();
|
|
Toshihiro Shimizu |
890ddd |
//used for changing the tool cursor when the options changed with short cut keys assigned for tool options.
|
|
Toshihiro Shimizu |
890ddd |
void toolCursorTypeChanged();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public slots:
|
|
Toshihiro Shimizu |
890ddd |
// void changeTool(QAction* action);
|
|
Toshihiro Shimizu |
890ddd |
void onImageChanged(TImage::Type type);
|
|
Toshihiro Shimizu |
890ddd |
void updateMatrix();
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#endif //TOOLEHANDLE_H
|