VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
timeEntryWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
15 #include <boost/signals2.hpp>
16 
17 #include <QTime>
18 
19 class QTimeEdit;
20 class QLabel;
21 class QSpinBox;
22 class QHBoxLayout;
23 class QLineEdit;
24 class QIntValidator;
25 
26 namespace makVrf
27 {
30  {
31  Q_OBJECT
32  Q_PROPERTY(QTime rangeTop READ rangeTimeTop WRITE setRangeTimeTop)
33  Q_PROPERTY(QTime rangeBottom READ rangeTimeBottom WRITE setRangeTimeBottom)
34  Q_PROPERTY(QString defaultValue READ defaultValue WRITE setDefaultValue)
35  Q_PROPERTY(bool showTimeInSeconds READ secondsOnlyMode WRITE setSecondsOnlyMode)
36  Q_PROPERTY(bool timeOfDayMode READ timeOfDayMode WRITE setTimeOfDayMode)
37  Q_PROPERTY(bool dayShown READ dayShown WRITE setDayShown)
38 
39  public:
40  DtTimeEntryWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
41 
42  //DTOR
43  virtual ~DtTimeEntryWidget();
44 
46  virtual void setLabel(const QString&);
47 
48  virtual QString label() const;
49 
51  virtual void setRange(double bottom, double top);
52 
54  virtual void setDayShown(bool);
55  virtual bool dayShown() const;
56 
58  virtual void setRangeTimeTop(const QTime&);
59  virtual void setRangeTop(int);
60  virtual QTime rangeTimeTop() const;
61 
62  virtual void setRangeTimeBottom(const QTime&);
63  virtual void setRangeBottom(int);
64  virtual QTime rangeTimeBottom() const;
65 
68  virtual void setTimeOfDayMode(bool);
69  virtual bool timeOfDayMode() const;
70 
73  virtual QString defaultValue() const;
74  virtual void setDefaultValue(const QString&);
75  virtual void setDefaultValue(const std::string&);
76 
78  virtual void setVariableData(const QString&);
79 
81  virtual void setSecondsOnlyMode(bool);
82  virtual bool secondsOnlyMode() const;
83 
85  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
86 
88  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
89 
91  virtual void setTimeInSeconds(int);
92  virtual int timeInSeconds() const;
93 
94  virtual int defaultTimeInSeconds() const;
95 
96  virtual int timeInSeconds(const QTime&) const;
97  virtual int timeInSeconds(const std::string& timeToParse) const;
98 
99  static makVrv::DtUnicode codeVariableType()
100  {
101  return makVrv::DtUnicode::tr("Integer Unit: seconds");
102  }
103 
104  virtual void timeToHMS(int time, int& h, int& m, int& s) const;
105 
107  boost::signals2::signal<void ()> signal_changed;
108 
109  static std::string designerGroup()
110  {
111  return tr("VR-Forces Data Entry").toUtf8().constData();
112  }
113 
114  static std::string headerFile()
115  {
116  return tr("<vrfGuiDataEntryWidgets/timeEntryWidget.h>").toUtf8().constData();
117  }
118 
119  static std::string variableName()
120  {
121  return tr("timeValue").toUtf8().constData();
122  }
123 
124  protected slots:
125  virtual void onTimeChanged();
126 
127  protected:
129  virtual void parseTime(const std::string& s, int& days, int& hours, int& minutes, int& seconds) const;
130  virtual void timezoneChanged(const std::string& oldTimezone, const std::string& newTimezone);
131  virtual void dateTimeFormatChanged(const std::string&);
132  virtual std::string variableDataFromUiDesigner(const QDomElement&, const DtScriptedTaskVariableLayoutConverter& converter) const;
133 
134  public:
136  QTimeEdit* myTime;
138  QIntValidator* myIntValidator;
140  QHBoxLayout* myContentLayout;
141 
142  protected:
147  std::string myDefaultTime;
148  };
149 
151 }
CreationFlags
Definition: taskSetVariableWidget.h:119
QTimeEdit * myTime
Definition: timeEntryWidget.h:136
boost::signals2::signal< void()> signal_changed
Signal sent when anything about the time entry has changed.
Definition: timeEntryWidget.h:107
static std::string headerFile()
Definition: timeEntryWidget.h:114
std::string myDefaultTime
Definition: timeEntryWidget.h:147
QLineEdit * mySecondsOnly
Definition: timeEntryWidget.h:137
This class will parse the UI file for known scripted task variable types and pull out specified scrip...
Definition: scriptedTaskVariableLayoutConverter.h:32
Definition: readerWriter.h:85
bool mySecondsOnlyMode
Definition: timeEntryWidget.h:144
bool myTimeOfDayMode
Definition: timeEntryWidget.h:143
QSpinBox * myDays
Definition: timeEntryWidget.h:139
Basic implementation that has a label at the top.
Definition: taskSetVariableWidget.h:233
Widget that allows users to enter time values, including days.
Definition: timeEntryWidget.h:29
static std::string designerGroup()
Definition: timeEntryWidget.h:109
static DtUnicode tr(const char *ascii)
Ascii translation function, used to be compatible with Qt&#39;s translation tools. This will simply call ...
Definition: DtUnicode.h:92
Definition: taskSetVariableWidget.h:426
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
#define DT_DLL_VRFGUIDATAENTRYWIDGETS
Definition: vrfGuiDataEntryWidgets.h:22
bool myDayShown
Definition: timeEntryWidget.h:145
QIntValidator * myIntValidator
Definition: timeEntryWidget.h:138
Base class to provide boost signal/slot management.
static std::string variableName()
Definition: timeEntryWidget.h:119
QLabel * myTimeEntryLabel
Definition: timeEntryWidget.h:135
QHBoxLayout * myContentLayout
Definition: timeEntryWidget.h:140
DtTaskSetVariableWidgetCreator< DtTimeEntryWidget > DtTimeEntryWidgetCreator
Definition: timeEntryWidget.h:150
makVrv::DtSignalConnectionManager myConnections
Definition: timeEntryWidget.h:146

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)