OpenTwin 0.1
OpenTwin
 
Loading...
Searching...
No Matches
GraphicsItemDesigner.h
Go to the documentation of this file.
1
4// ###########################################################################################################################################################################################################################################################################################################################
5
6#pragma once
7
8// OToolkit header
12
13// ToolkitAPI header
14#include "OToolkitAPI/Tool.h"
15
16// OpenTwin header
18
19// Qt header
20#include <QtCore/qobject.h>
21
22class QWidget;
28namespace ot { class PropertyGrid; };
29namespace ot { class GraphicsItemCfg; };
30
31class GraphicsItemDesigner : public QObject, public otoolkit::Tool {
32 Q_OBJECT
33public:
36
37 // ###########################################################################################################################################################################################################################################################################################################################
38
39 // API base functions
40
43 virtual QString getToolName(void) const override { return QString("Graphics Item Designer"); };
44
46 virtual bool runTool(QMenu* _rootMenu, otoolkit::ToolWidgets& _content) override;
47
48 virtual void restoreToolSettings(QSettings& _settings) override;
49
50 virtual bool prepareToolShutdown(QSettings& _settings) override;
51
52 // ###########################################################################################################################################################################################################################################################################################################################
53
54 // Setter / Getter
55
56 GraphicsItemDesignerView* getView(void) const { return m_view; };
57 ot::PropertyGrid* getPropertyGrid(void) const { return m_props; };
58 GraphicsItemDesignerToolBar* getToolBar(void) const { return m_toolBar; };
59 GraphicsItemDesignerNavigation* getNavigation(void) const { return m_navigation; };
60
61 void setExportConfig(const GraphicsItemDesignerExportConfig& _config) { m_exportConfig = _config; };
62 const GraphicsItemDesignerExportConfig& getExportConfig(void) const { return m_exportConfig; };
63
64 void setImageExportConfig(const GraphicsItemDesignerImageExportConfig& _config) { m_imageExportConfig = _config; };
65 const GraphicsItemDesignerImageExportConfig& getImageExportConfig(void) const { return m_imageExportConfig; };
66
67 // ###########################################################################################################################################################################################################################################################################################################################
68
69 // Private: Slots
70
71private Q_SLOTS:
72 void slotDrawRequested(GraphicsItemDesignerDrawHandler::DrawMode _mode);
73
74 void slotImportRequested(void);
75 void slotExportRequested(void);
76 void slotExportAsImageRequested(void);
77 void slotUpdateConfigRequested(void);
78 void slotDrawFinished(void);
79 void slotDrawCancelled(void);
80 void slotMakeTransparentRequested(void);
81 void slotDuplicateRequested(void);
82 void slotClearRequested(void);
83 void slotGeneratePreview(void);
84 void slotDeleteItemsRequested(const ot::UIDList& _items, const ot::UIDList& _connections);
85
86private:
87 void createItemFromConfig(const ot::GraphicsItemCfg* _config, bool _keepName);
88
90 GraphicsItemDesignerImageExportConfig m_imageExportConfig;
91
93 ot::PropertyGrid* m_props;
98};
99
This file contains defines that may be used simplyfy class creation.
Definition GraphicsItemDesignerDrawHandler.h:18
DrawMode
Definition GraphicsItemDesignerDrawHandler.h:21
Definition GraphicsItemDesignerExportConfig.h:14
Definition GraphicsItemDesigner.h:31
virtual void restoreToolSettings(QSettings &_settings) override
Definition GraphicsItemDesigner.cpp:92
GraphicsItemDesignerNavigation * getNavigation(void) const
Definition GraphicsItemDesigner.h:59
virtual QString getToolName(void) const override
Return the unique tool name The name will be used to create all required menu entries.
Definition GraphicsItemDesigner.h:43
const GraphicsItemDesignerImageExportConfig & getImageExportConfig(void) const
Definition GraphicsItemDesigner.h:65
void setImageExportConfig(const GraphicsItemDesignerImageExportConfig &_config)
Definition GraphicsItemDesigner.h:64
GraphicsItemDesignerView * getView(void) const
Definition GraphicsItemDesigner.h:56
GraphicsItemDesignerToolBar * getToolBar(void) const
Definition GraphicsItemDesigner.h:58
virtual bool prepareToolShutdown(QSettings &_settings) override
Stop all the logic of this tool.
Definition GraphicsItemDesigner.cpp:131
GraphicsItemDesigner()
Definition GraphicsItemDesigner.cpp:41
void setExportConfig(const GraphicsItemDesignerExportConfig &_config)
Definition GraphicsItemDesigner.h:61
ot::PropertyGrid * getPropertyGrid(void) const
Definition GraphicsItemDesigner.h:57
const GraphicsItemDesignerExportConfig & getExportConfig(void) const
Definition GraphicsItemDesigner.h:62
virtual ~GraphicsItemDesigner()
Definition GraphicsItemDesigner.h:35
virtual bool runTool(QMenu *_rootMenu, otoolkit::ToolWidgets &_content) override
Create the central widget that will be displayed to the user in the main tab view.
Definition GraphicsItemDesigner.cpp:48
Definition GraphicsItemDesignerImageExportConfig.h:12
Definition GraphicsItemDesignerNavigation.h:30
Definition GraphicsItemDesignerPreview.h:13
Definition GraphicsItemDesignerToolBar.h:23
Definition GraphicsItemDesignerView.h:17
The GraphicsItemCfg is the base class for all graphics item configurations.
Definition GraphicsItemCfg.h:33
Definition PropertyGrid.h:29
Definition Tool.h:27
Definition ToolWidgets.h:24
Definition Connector.h:8
std::list< UID > UIDList
Unique identifier list.
Definition CoreTypes.h:31