VR-Forces 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 
45  virtual ~DtVrfEnvironmentalDateTimeEntryWidget() override;
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 time_t localTime() const;
69 
71  virtual void setUtcTime(time_t, bool signal = true);
72 
73  virtual QTime time() const;
74  virtual QDate date() const;
75 
76  virtual void activate();
77  virtual void deactivate();
78 
79  virtual void setAllowDateEntry(bool);
80  virtual void setAllowTimeEntry(bool);
81 
82  public:
84  boost::signals2::signal<void (time_t)> signal_dateTimeChanged;
85 
88  boost::signals2::signal<void (time_t)> signal_utcTimeUpdated;
89 
90  virtual void setDataEntryOnly(bool);
91  bool dataEntryOnly() const
92  {
93  return myDataEntryOnly;
94  }
95 
96  protected:
97  virtual void formatTime();
98  virtual void updateUtcTimeZoneToLabel();
99  virtual void updateForLocalTime();
100  virtual void updateForUtcTime();
101  virtual void timeZoneFrozenChange();
102  virtual bool eventFilter(QObject*, QEvent*) override;
103  virtual void positionCalendar();
104  virtual void resizeEvent(QResizeEvent*) override;
105  virtual void moveEvent(QMoveEvent*) override;
106 
107  protected slots:
108  virtual void timeChanged();
109  virtual void dateChanged();
110  virtual void calendarDateChanged();
111 
112  public:
113  QGridLayout* myMainLayout;
115  QTimeEdit* myTimeEdit;
117  QDateEdit* myDateEdit;
118  QHBoxLayout* myDateTimeLayout;
119 
122  QCalendarWidget* myCalendar;
123 
124  protected:
129  QString myLabelText;
130  QGridLayout* myCurrentLayout;
134  };
135 
138  {
139  public:
142 
144  static void registerInstance(makVrv::DtDe&, DtVrfEnvironmentalDateTimeEntryWidgetCreator*);
145 
146  virtual DtVrfEnvironmentalDateTimeEntryWidget* create(QWidget* parent);
147 
148  protected:
150  };
151 }
Creator for DtVrfEnvironmentalDateTimeEntryWidget.
Definition: vrfEnvironmentalDateTimeEntryWidget.h:137
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:118
bool myTimeHidden
Definition: vrfEnvironmentalDateTimeEntryWidget.h:132
bool localTimeMode() const
Definition: vrfEnvironmentalDateTimeEntryWidget.h:59
bool myLocalTimeMode
Definition: vrfEnvironmentalDateTimeEntryWidget.h:128
QTimeEdit * myTimeEdit
Definition: vrfEnvironmentalDateTimeEntryWidget.h:115
QPushButton * myDoneWithDate
Definition: vrfEnvironmentalDateTimeEntryWidget.h:121
bool dataEntryOnly() const
Definition: vrfEnvironmentalDateTimeEntryWidget.h:91
bool myDateHidden
Definition: vrfEnvironmentalDateTimeEntryWidget.h:131
QString myLabelText
Definition: vrfEnvironmentalDateTimeEntryWidget.h:129
QGridLayout * myCurrentLayout
Definition: vrfEnvironmentalDateTimeEntryWidget.h:130
bool myDataEntryOnly
Definition: vrfEnvironmentalDateTimeEntryWidget.h:133
makVrv::DtSignalConnectionManager myConnectionManager
Definition: vrfEnvironmentalDateTimeEntryWidget.h:126
QWidget * myCalendarCanvas
Definition: vrfEnvironmentalDateTimeEntryWidget.h:120
QLabel * myLabel
Definition: vrfEnvironmentalDateTimeEntryWidget.h:114
QDateEdit * myDateEdit
Definition: vrfEnvironmentalDateTimeEntryWidget.h:117
Contains makVrv::DtVirtualBaseClass class.
makVrv::DtDe & myDe
Definition: vrfEnvironmentalDateTimeEntryWidget.h:149
makVrv::DtDe & myDe
Definition: vrfEnvironmentalDateTimeEntryWidget.h:125
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:88
QLabel * myDateLabel
Definition: vrfEnvironmentalDateTimeEntryWidget.h:116
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:127
QCalendarWidget * myCalendar
Definition: vrfEnvironmentalDateTimeEntryWidget.h:122
boost::signals2::signal< void(time_t)> signal_dateTimeChanged
Sent on user request to change.
Definition: vrfEnvironmentalDateTimeEntryWidget.h:84
QGridLayout * myMainLayout
Definition: vrfEnvironmentalDateTimeEntryWidget.h:113
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:76

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)