VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
entityHeadingDial.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 
9 
10 #include <qwt_compass.h>
11 
12 #include <boost/signals2.hpp>
13 
14 class QTimer;
15 class QLineEdit;
16 class QPushButton;
17 class QToolButton;
18 
19 namespace makVrf
20 {
26 
27  class DtEntityAttributeSpinBox;
29  {
30  Q_OBJECT
31  Q_PROPERTY(QColor RequestedValueMarking MEMBER myRequestedValueMarking USER true)
32  Q_PROPERTY(QColor ActualValueMarking MEMBER myActualValueMarking USER true)
33 
34  public:
35  explicit DtEntityHeadingDial(QWidget *parent = NULL);
36 
37  virtual ~DtEntityHeadingDial();
38 
39  virtual double actualValue();
40  virtual void setActualValue(double actualValue);
41 
42  virtual void setIcon(const QPixmap& icon);
43  const QPixmap& icon() const;
44 
45  virtual void setRequestedValue(double value, bool singleClick = true);
46 
47  virtual void setDisplayActualData(bool display);
48 
49  virtual int isMagneticNorth() const;
50  virtual void setMagneticNorth(bool unit);
51 
52  boost::signals2::signal<void(double value, bool singleClick)> signal_requestedValueChanged;
53 
55  boost::signals2::signal<void(int turnDirection)> signal_turnDirectionChanged;
56 
58  boost::signals2::signal<void(bool isMagnetic)> signal_northTypeChanged;
59 
60  protected slots:
61  void mouseClickTimeout();
62  void onEditorFocussed(bool focus);
63  void onEditorReturnPressed();
64  void turnLeftClicked();
65  void turnDirectClicked();
66  void turnRightClicked();
67  void northTypeClicked();
68 
69  protected:
70 
71  void paintEvent(QPaintEvent *ev);
72 
73  virtual void mousePressEvent(QMouseEvent *event);
74  virtual void mouseReleaseEvent(QMouseEvent *event);
75  virtual void mouseDoubleClickEvent(QMouseEvent *event);
76  virtual void wheelEvent(QWheelEvent* event);
77 
78  virtual void resizeEvent(QResizeEvent *event);
79 
80  virtual void updateChildWidgetsPosition();
81 
83  virtual void wrapTo360(double& value);
84 
85  protected:
86  double myActualValue;
87 
88  QTimer* myMouseClickTimer;
89  bool mySecondClick;
90  bool myTimerStopped;
91  bool myDisplayActualData;
92 
93  QPixmap myIcon;
95  bool m_bEditingMode;
96 
97  QWidget* myTurnDirectionButtonsWidget;
98  QToolButton* myTurnLeftButton;
99  QToolButton* myTurnDirectButton;
100  QToolButton* myTurnRightButton;
101 
102  QToolButton* myNorthTypeButton;
103  bool myIsMagneticNorth;
104 
105  QColor myRequestedValueMarking;
106  QColor myActualValueMarking;
107  };
108 }
A customized spin box that supports signals for return key pressed event and focus in/out events...
Definition: entityAttributeSpinBox.h:19
Definition: entityHeadingDial.h:28
#define DT_DLL_VRFGUICOMMONQT
Definition: vrfGuiCommonQt.h:20

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)