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