VR-Forces 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  virtual bool active() const;
53 
54  boost::signals2::signal<void(double value, bool singleClick)> signal_requestedValueChanged;
55 
57  boost::signals2::signal<void(int turnDirection)> signal_turnDirectionChanged;
58 
60  boost::signals2::signal<void(bool isMagnetic)> signal_northTypeChanged;
61 
62  protected slots:
63  void mouseClickTimeout();
64  void onEditorFocussed(bool focus);
65  void onEditorReturnPressed();
66  void turnLeftClicked();
67  void turnDirectClicked();
68  void turnRightClicked();
69  void northTypeClicked();
70 
71  protected:
72 
73  void paintEvent(QPaintEvent *ev);
74 
75  virtual void mousePressEvent(QMouseEvent *event);
76  virtual void mouseReleaseEvent(QMouseEvent *event);
77  virtual void mouseDoubleClickEvent(QMouseEvent *event);
78  virtual void wheelEvent(QWheelEvent* event);
79 
80  virtual void resizeEvent(QResizeEvent *event);
81 
82  virtual void updateChildWidgetsPosition();
83 
85  virtual void wrapTo360(double& value);
86 
87  protected:
88  double myActualValue;
89 
90  QTimer* myMouseClickTimer;
91  bool mySecondClick;
92  bool myTimerStopped;
93  bool myDisplayActualData;
94 
95  QPixmap myIcon;
97  bool m_bEditingMode;
98 
99  QWidget* myTurnDirectionButtonsWidget;
100  QToolButton* myTurnLeftButton;
101  QToolButton* myTurnDirectButton;
102  QToolButton* myTurnRightButton;
103 
104  QToolButton* myNorthTypeButton;
105  bool myIsMagneticNorth;
106 
107  QColor myRequestedValueMarking;
108  QColor myActualValueMarking;
109 
110  bool myActive = false;
111  };
112 }
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 Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)