VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfEnvironmentalDateTimeEntryWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
7 
8 #pragma once
9 
10 #if !defined(Q_MOC_RUN)
13 #include <QtWidgets/QWidget>
14 #endif
15 
18 
19 #include <boost/signals2.hpp>
20 
21 class QLabel;
22 class QTimeEdit;
23 class QDateEdit;
24 class QGridLayout;
25 class QPushButton;
26 class QCalendarWidget;
27 class QHBoxLayout;
28 
29 namespace makVrv
30 {
31  class DtDe;
32 }
33 
34 namespace makVrf
35 {
39  {
40  Q_OBJECT
41 
42  public:
43  DtVrfEnvironmentalDateTimeEntryWidget(makVrv::DtDe&, QWidget* parent = 0, Qt::WindowFlags f = 0);
44 
46 
47  virtual void setLabel(const QString&);
48 
51  virtual void setToGridLayout(QGridLayout*);
52 
54  virtual void resetToMainLayout();
55 
58  virtual void setLocalTimeMode(bool);
59  bool localTimeMode() const
60  {
61  return myLocalTimeMode;
62  }
63 
65  virtual time_t utcTime() const;
66 
68  virtual void setUtcTime(time_t);
69 
70  virtual QTime time() const;
71  virtual QDate date() const;
72 
73  virtual void activate();
74  virtual void deactivate();
75 
76  virtual void setAllowDateEntry(bool);
77  virtual void setAllowTimeEntry(bool);
78 
79  public:
81  boost::signals2::signal<void (time_t)> signal_dateTimeChanged;
82 
85  boost::signals2::signal<void (time_t)> signal_utcTimeUpdated;
86 
87  virtual void setDataEntryOnly(bool);
88  bool dataEntryOnly() const
89  {
90  return myDataEntryOnly;
91  }
92 
93  protected:
94  virtual void formatTime();
95  virtual void updateUtcTimeZoneToLabel();
96  virtual void updateForLocalTime();
97  virtual void updateForUtcTime();
98  virtual void timeZoneFrozenChange();
99  virtual bool eventFilter(QObject*, QEvent*) override;
100  virtual void positionCalendar();
101  virtual void resizeEvent(QResizeEvent*);
102  virtual void moveEvent(QMoveEvent*);
103 
104  protected slots:
105  virtual void timeChanged();
106  virtual void dateChanged();
107  virtual void calendarDateChanged();
108 
109  public:
110  QGridLayout* myMainLayout;
112  QTimeEdit* myTimeEdit;
114  QDateEdit* myDateEdit;
115  QHBoxLayout* myDateTimeLayout;
116 
119  QCalendarWidget* myCalendar;
120 
121  protected:
126  QString myLabelText;
127  QGridLayout* myCurrentLayout;
131  };
132 
135  {
136  public:
139 
141  static void registerInstance(makVrv::DtDe&, DtVrfEnvironmentalDateTimeEntryWidgetCreator*);
142 
143  virtual DtVrfEnvironmentalDateTimeEntryWidget* create(QWidget* parent);
144 
145  protected:
147  };
148 }
Creator for DtVrfEnvironmentalDateTimeEntryWidget.
Definition: vrfEnvironmentalDateTimeEntryWidget.h:134
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
QHBoxLayout * myDateTimeLayout
Definition: vrfEnvironmentalDateTimeEntryWidget.h:115
bool myTimeHidden
Definition: vrfEnvironmentalDateTimeEntryWidget.h:129
bool localTimeMode() const
Definition: vrfEnvironmentalDateTimeEntryWidget.h:59
bool myLocalTimeMode
Definition: vrfEnvironmentalDateTimeEntryWidget.h:125
QTimeEdit * myTimeEdit
Definition: vrfEnvironmentalDateTimeEntryWidget.h:112
QPushButton * myDoneWithDate
Definition: vrfEnvironmentalDateTimeEntryWidget.h:118
bool dataEntryOnly() const
Definition: vrfEnvironmentalDateTimeEntryWidget.h:88
bool myDateHidden
Definition: vrfEnvironmentalDateTimeEntryWidget.h:128
QString myLabelText
Definition: vrfEnvironmentalDateTimeEntryWidget.h:126
QGridLayout * myCurrentLayout
Definition: vrfEnvironmentalDateTimeEntryWidget.h:127
bool myDataEntryOnly
Definition: vrfEnvironmentalDateTimeEntryWidget.h:130
makVrv::DtSignalConnectionManager myConnectionManager
Definition: vrfEnvironmentalDateTimeEntryWidget.h:123
QWidget * myCalendarCanvas
Definition: vrfEnvironmentalDateTimeEntryWidget.h:117
QLabel * myLabel
Definition: vrfEnvironmentalDateTimeEntryWidget.h:111
QDateEdit * myDateEdit
Definition: vrfEnvironmentalDateTimeEntryWidget.h:114
Contains makVrv::DtVirtualBaseClass class.
makVrv::DtDe & myDe
Definition: vrfEnvironmentalDateTimeEntryWidget.h:146
makVrv::DtDe & myDe
Definition: vrfEnvironmentalDateTimeEntryWidget.h:122
boost::signals2::signal< void(time_t)> signal_utcTimeUpdated
Signal when time is set in this widget via setUtcTime. This time will either be utc or utc converted ...
Definition: vrfEnvironmentalDateTimeEntryWidget.h:85
QLabel * myDateLabel
Definition: vrfEnvironmentalDateTimeEntryWidget.h:113
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
#define DT_DLL_VRFGUICOMMONQT
Definition: vrfGuiCommonQt.h:20
Base class to provide boost signal/slot management.
The DtVrfDateTimeEntryWidget class is a simple class that can allow for date/time entry in local time...
Definition: vrfEnvironmentalDateTimeEntryWidget.h:38
makVrv::DtSignalConnectionManager myLocalTimeConnectionManager
Definition: vrfEnvironmentalDateTimeEntryWidget.h:124
QCalendarWidget * myCalendar
Definition: vrfEnvironmentalDateTimeEntryWidget.h:119
boost::signals2::signal< void(time_t)> signal_dateTimeChanged
Sent on user request to change.
Definition: vrfEnvironmentalDateTimeEntryWidget.h:81
QGridLayout * myMainLayout
Definition: vrfEnvironmentalDateTimeEntryWidget.h:110
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70

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)