Scanframe Modular Application 0.1.0
Loading...
Searching...
No Matches
BscanGraph.h
Go to the documentation of this file.
1#pragma once
2
3#include <QPaintEvent>
4#include <QWidget>
5#include <QtUiPlugin/QDesignerExportWidget>
6#include <gii/qt/Macros.h>
7#include <misc/qt/Macros.h>
9
10class QStyleOptionFrame;
11
12namespace sf
13{
14
15class QDESIGNER_WIDGET_EXPORT BscanGraph
16 : public QWidget
17 , public ObjectExtension
18{
19 Q_OBJECT
20 // Need full namespace for this property macro.
21 Q_PROPERTY(sf::gii::IdType idData READ getIdData WRITE setIdData)
22 Q_PROPERTY(sf::gii::IdType idIndex READ getIdIndex WRITE setIdIndex)
23 Q_PROPERTY(sf::gii::IdType idTimeUnit READ getIdTimeUnit WRITE setIdTimeUnit)
24 Q_PROPERTY(sf::gii::IdType idTimeDelay READ getIdTimeDelay WRITE setIdTimeDelay)
25 Q_PROPERTY(sf::gii::IdType idTimeRange READ getIdTimeRange WRITE setIdTimeRange)
26 Q_PROPERTY(sf::gii::IdType IdCursorEvent READ getIdCursorEvent WRITE setIdCursorEvent)
27 Q_PROPERTY(sf::gii::IdType idCursorFraction READ getIdCursorFraction WRITE setIdCursorFraction)
28 Q_PROPERTY(sf::gii::IdType idCursorIndex READ getIdCursorIndex WRITE setIdCursorIndex)
29 Q_PROPERTY(sf::gii::IdType IdCursorPopIndex READ getIdCursorPopIndex WRITE setIdCursorPopIndex)
30 Q_PROPERTY(sf::gii::IdType idScanDelay READ getIdScanDelay WRITE setIdScanDelay)
31 Q_PROPERTY(sf::gii::IdType idScanRange READ getIdScanRange WRITE setIdScanRange)
32 Q_PROPERTY(sf::gii::IdType idScanLeft READ getIdScanLeft WRITE setIdScanLeft)
33 Q_PROPERTY(sf::gii::IdType idScanRight READ getIdScanRight WRITE setIdScanRight)
34 Q_PROPERTY(QStringList paletteServer READ getPaletteServer WRITE setPaletteServer)
35
36 public:
37 explicit BscanGraph(QWidget* parent = nullptr);
38
39 ~BscanGraph() override;
40
41 void addPropertyPages(sf::PropertySheetDialog* sheet) override;
42
43 [[nodiscard]] QSize minimumSizeHint() const override;
44
45 bool isRequiredProperty(const QString& name) override;
46
47 SF_DECL_INFO_ID(IdData)
48
49 SF_DECL_INFO_ID(IdIndex)
50
51 SF_DECL_INFO_ID(IdTimeUnit)
52
53 SF_DECL_INFO_ID(IdTimeDelay)
54
55 SF_DECL_INFO_ID(IdTimeRange)
56
57 SF_DECL_INFO_ID(IdCursorEvent)
58
59 SF_DECL_INFO_ID(IdCursorFraction)
60
61 SF_DECL_INFO_ID(IdCursorIndex)
62
63 SF_DECL_INFO_ID(IdCursorPopIndex)
64
65 SF_DECL_INFO_ID(IdScanDelay)
66
67 SF_DECL_INFO_ID(IdScanRange)
68
69 SF_DECL_INFO_ID(IdScanLeft)
70
71 SF_DECL_INFO_ID(IdScanRight)
72
74
75 protected:
76 void paintEvent(QPaintEvent* event) override;
77
78 void resizeEvent(QResizeEvent* event) override;
79
80 void mousePressEvent(QMouseEvent* event) override;
81
82 void mouseReleaseEvent(QMouseEvent* event) override;
83
84 void mouseMoveEvent(QMouseEvent* event) override;
85
86 void keyPressEvent(QKeyEvent* event) override;
87
88 void keyReleaseEvent(QKeyEvent* event) override;
89
90 void initStyleOption(QStyleOptionFrame* option) const;
91
92 private:
93 struct Private;
94 Private* _p;
95};
96
97}// namespace sf
Definition BscanGraph.h:18
Interface class to multiple inherit when the sf::FormWriter class needs to be restricted in writing o...
Definition ObjectExtension.h:17
Server for color palettes used in images for coloring on basis of index.
Definition PaletteServer.h:14
Dialog containing multiple property pages.
Definition qt/PropertySheetDialog.h:14
#define SF_DECL_INFO_ID(Name)
Declaration of ID handling functions for Information ID properties.
Definition gii/qt/Macros.h:10
#define SF_DECL_PROP_RGRS(Type, Name)
Declares referenced getter and referenced setter for a property.
Definition misc/qt/Macros.h:26
InformationTypes::id_type IdType
Short type definition for Qt code.
Definition Namespace.h:16
Definition Application.h:10