OpenTwin 0.1
OpenTwin
 
Loading...
Searching...
No Matches
Tool.h
Go to the documentation of this file.
1
4// ###########################################################################################################################################################################################################################################################################################################################
5
6#pragma once
7
8// Toolkit API
11
12// OpenTwin header
15
16// Qt header
17#include <QtCore/qlist.h>
18#include <QtCore/qstring.h>
19#include <QtCore/qsettings.h>
20#include <QtGui/qicon.h>
21#include <QtWidgets/qmenu.h>
22
23class QWidget;
24
25namespace otoolkit {
26
29 public:
30 Tool();
31 virtual ~Tool();
32
33 // ###########################################################################################################################################################################################################################################################################################################################
34
35 // Pure virtual functions
36
39 virtual QString getToolName(void) const = 0;
40
47 virtual bool runTool(QMenu* _rootMenu, ToolWidgets& _content) = 0;
48
49 virtual void restoreToolSettings(QSettings& _settings) {};
50
51 // ###########################################################################################################################################################################################################################################################################################################################
52
53 // Optional virtual functions
54
56 virtual QIcon getToolIcon(void) const { return QIcon(); };
57
59 virtual bool prepareToolShutdown(QSettings& _settings) { return true; };
60
61 virtual void toolWasShown(void) {};
62
63 virtual void toolWasHidden(void) {};
64
65 // ###########################################################################################################################################################################################################################################################################################################################
66
67 // Setter / Getter
68
69 void setToolIsRunning(bool _isRunning) { m_isRunning = _isRunning; };
70 bool getToolIsRunning(void) const { return m_isRunning; }
71
72 void setToolIsExternal(bool _isExternal) { m_isExternal = _isExternal; };
73 bool getToolIsExternal(void) const { return m_isExternal; };
74
75 protected:
76 ot::WidgetView* createCentralWidgetView(QWidget* _widget, const QString& _widgetName) const;
77 ot::WidgetView* createSideWidgetView(QWidget* _widget, const QString& _widgetName) const;
78 ot::WidgetView* createToolWidgetView(QWidget* _widget, const QString& _widgetName) const;
79
80 private:
81 ot::WidgetView* createWidgetView(QWidget* _widget, const QString& _widgetName) const;
82
83 bool m_isRunning;
84 bool m_isExternal;
85 };
86
87}
This file contains defines that may be used simplyfy class creation.
#define OT_DECL_NOCOPY(___class)
Removes the default copy constructor and assignment operator.
Definition OTClassHelper.h:14
The WidgetView class is used to integrate the Qt-ADS functionallity into open twin.
Definition WidgetView.h:33
Definition Tool.h:27
virtual QIcon getToolIcon(void) const
Return the icon that will be used in the tool menu.
Definition Tool.h:56
void setToolIsRunning(bool _isRunning)
Definition Tool.h:69
bool getToolIsRunning(void) const
Definition Tool.h:70
virtual bool prepareToolShutdown(QSettings &_settings)
Stop all the logic of this tool.
Definition Tool.h:59
virtual QString getToolName(void) const =0
Return the unique tool name The name will be used to create all required menu entries.
void setToolIsExternal(bool _isExternal)
Definition Tool.h:72
virtual void toolWasHidden(void)
Definition Tool.h:63
virtual bool runTool(QMenu *_rootMenu, ToolWidgets &_content)=0
Create all widgets. The menu already contains the following items: Run / Stop (Starts or stops the to...
virtual void restoreToolSettings(QSettings &_settings)
Definition Tool.h:49
bool getToolIsExternal(void) const
Definition Tool.h:73
virtual void toolWasShown(void)
Definition Tool.h:61
Definition ToolWidgets.h:24
Definition ToolManager.h:30
#define OTOOLKITAPI_EXPORT
Definition otoolkitapi_global.h:16