MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrRemoteMainWindow.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #include <lgrGui/lgrMenu.h>
18 
19 #include <commonWidgets/dynamicMenuBar.h>
20 #include <QMainWindow>
21 
22 class QAction;
23 class QMenu;
24 class DtString;
25 class QDialog;
26 class QObject;
27 class QString;
28 class QStyle;
29 class QWidget;
30 
31 namespace MAKLogger
32 {
34  class DtLgrRemoteConnection;
35  class DtLgrRemoteDisplayInfo;
36  class DtLgrRemoteLoggerView;
37  class DtRemoteControlInterface;
38  class DtRemoteControlDomainInterface;
39  class DtRemoteControlSystemInterface;
40  class DtRemoteControlPlaybackInterface;
41  class DtRemoteControlRecordInterface;
42  class DtRemoteControlEditorInterface;
43  class DtRemoteControlSimulationInterface;
44  class DtRemoteControlSharedInterface;
45  class DtTimeComponent;
46  class DtLgrCtrlGuiCommandLine;
47 
49  {
50  Q_OBJECT
51 
52  public:
54  DtLgrRemoteMainWindow(DtRemoteControlInterface* remoteControlInterface);
55 
57  virtual ~DtLgrRemoteMainWindow();
58 
60  virtual void initialize(QObject* eventhandler, const DtLgrCtrlGuiCommandLine& options);
61 
62  //Controls
64  virtual bool openFile(DtFilename fileName, bool constructFilename);
65 
67  virtual void closeFile();
68 
70  virtual void play( int lgrMode );
71 
73  virtual void pause();
74 
76  virtual void stop();
77 
79  virtual void setSpeed( double, bool );
80 
82  virtual void increaseSpeed();
83 
85  virtual void decreaseSpeed();
86 
88  virtual void jumpToStart();
89 
91  virtual void jumpToEnd();
92 
94  virtual void toggleLoopAtEnd();
95 
97  virtual void record(DtFilename& filename, DtString& description, bool constructFilename);
98 
100  virtual void startRecording();
101 
102  //Connection
104  virtual void connectionDialog();
105 
107  virtual void connect();
108 
110  virtual void disconnect();
111 
113  virtual QString getLoggerFileFilter() const;
114 
116  virtual QString getRemoteControlLoggerFileFilter() const;
117 
119  virtual QString getDefaultLoggerFileDirectory() const;
120 
122  virtual double refreshRate();
123 
125  virtual void setRefreshRate( double rr );
126 
127  virtual DtLgrRemoteMainWindow* window();
128 
129  virtual const DtTimeComponent& displayTime() const;
130 
131  virtual QObject* eventHandler();
132 
133  MAKCommonWidgets::DtDynamicMenuBar& dynamicMenuBar();
134 
136 
137  virtual bool bypassRemoteLoggerFile() const;
138  virtual void setBypassRemoteLoggerFile(bool enableBypass);
140 
142 
143  virtual bool constructFilename() const;
144  virtual void setConstructFilename(bool enableConstuct);
146 
148  virtual DtLgrRemoteConnection* connection();
149 
151  virtual DtLgrRemoteDisplayInfo* displayInfo();
152 
154  virtual DtFilename xmlFilename();
155 
157 
158  virtual void setFileDescription(const DtString& description);
159  virtual QString getFileDescription(const QString& filename);
160  virtual DtString getFileDescription();
162 
163  //Interfaces
165  const DtRemoteControlInterface* fullRemoteControlInterface() const;
167  DtRemoteControlInterface* fullRemoteControlInterface();
168  const DtRemoteControlPlaybackInterface* remoteControlPlaybackInterface() const;
169  DtRemoteControlPlaybackInterface* remoteControlPlaybackInterface();
170  const DtRemoteControlRecordInterface* remoteControlRecordInterface() const;
171  DtRemoteControlRecordInterface* remoteControlRecordInterface();
172  const DtRemoteControlEditorInterface* remoteControlEditorInterface() const;
173  DtRemoteControlEditorInterface* remoteControlEditorInterface();
174  const DtRemoteControlSimulationInterface* remoteControlSimulationInterface() const;
175  DtRemoteControlSimulationInterface* remoteControlSimulationInterface();
176  const DtRemoteControlSystemInterface* remoteControlSystemInterface() const;
177  DtRemoteControlSystemInterface* remoteControlSystemInterface();
179 
180  public slots:
181 
183  void updateInterfaces();
184 
185  public:
186 
187  static const QString& titleBarText();
188  static void setTitleBarText(const QString& val);
189  static const QString& shortTitleBarText();
190  static void setShortTitleBarText(const QString& val);
191  static const QString& guiConfigFileName();
192  static void setGuiConfigFileName(const QString& val);
193 
194  protected:
195 
196  void closeEvent(QCloseEvent *event);
197  void addNewMenu( DtLgrMenu* menu, QString previousMenuName = QString() );
198  void addMenu( QString previousMenuName, DtLgrMenu* menu );
199  void addNewToolbar( QWidget* widget, QString toolbarName);
200  void browseOpenLoggerFile(QString title);
201 
202  protected:
204 
206  const DtEntityIdentifier myLgrEntityID;
208 
209  MAKCommonWidgets::DtDynamicMenuBar* myMenuBar;
210 
212  QTimer* myUpdateTimer;
213  QStyle* myNewDockStyle;
215 
216  DtFilename myFile;
220 
221  protected:
222 
223  static QString theTitleBarText;
224  static QString theShortTitleBarText;
225  static QString theGuiConfigFileName;
226 
227  private:
230 
232  DtLgrRemoteMainWindow& operator=(const DtLgrRemoteMainWindow& orig);
233 
234  };
235 }
const DtEntityIdentifier myLgrEntityID
Definition: lgrRemoteMainWindow.h:206
static QString theGuiConfigFileName
Definition: lgrRemoteMainWindow.h:225
Contains MAKLogger::DtLgrMenu class.
DtLgrRemoteLoggerView * myRemoteLoggerView
Definition: lgrRemoteMainWindow.h:203
QTimer * myUpdateTimer
Definition: lgrRemoteMainWindow.h:212
Contains MAKLogger::DtRemoteControlInterface for listening the Logger Control Toolkit messages...
Primary interface to remote loggers.
Definition: remoteControlInterface.h:73
Contains MAKLogger::DtRemoteControlSimulationInterface for handling simulation remote control message...
Contains MAKLogger::DtRemoteControlDomainInterface for handling playback remote control messages...
Definition: lgrRemoteDisplayInfo.h:26
Responsible for invoking simulation commands and processing simulation responses. ...
Definition: remoteControlSimulationInterface.h:21
MAKCommonWidgets::DtDynamicMenuBar * myMenuBar
Definition: lgrRemoteMainWindow.h:209
DtRemoteControlInterface * myRemoteControlInterface
Definition: lgrRemoteMainWindow.h:217
QObject * myEventHandler
Definition: lgrRemoteMainWindow.h:214
Definition: lgrRemoteLoggerView.h:31
#define DT_DLL_LGRREMOTEGUI
Definition: lgrRemoteGui.h:21
Contains MAKLogger::DtRemoteControlPlaybackInterface for handling playback remote control messages...
A time component represents the current time of the logger.
Definition: timeComponent.h:20
Command line processor.
Definition: lgrRemoteCmdLine.h:32
QStyle * myNewDockStyle
Definition: lgrRemoteMainWindow.h:213
static QString theShortTitleBarText
Definition: lgrRemoteMainWindow.h:224
DtLgrRemoteConnection * myConnection
Definition: lgrRemoteMainWindow.h:205
static QString theTitleBarText
Definition: lgrRemoteMainWindow.h:223
The DtLgrRemoteConnection implementation.
Definition: lgrRemoteConnection.h:22
DtLgrRemoteDisplayInfo * myDisplayInfo
Definition: lgrRemoteMainWindow.h:207
Responsible for invoking editor commands and processing editor responses.
Definition: remoteControlEditorInterface.h:27
DtFilename myFile
Definition: lgrRemoteMainWindow.h:216
Responsible for invoking system commands and processing system responses.
Definition: remoteControlSystemInterface.h:21
bool myBypassRemoteLoggerFile
Definition: lgrRemoteMainWindow.h:218
Responsible for invoking playback commands and processing playback responses.
Definition: remoteControlPlaybackInterface.h:29
Contains MAKLogger::DtRemoteControlRecordInterface for handling record remote control messages...
Abstract Menu which can be added to the MAKLogger::DtLgrMainWindow.
Definition: lgrMenu.h:26
Definition: lgrRemoteMainWindow.h:48
Responsible for invoking record commands and processing record responses.
Definition: remoteControlRecordInterface.h:26
bool myConstructFilename
Definition: lgrRemoteMainWindow.h:219
DtTimeComponent * myTimeComponent
Definition: lgrRemoteMainWindow.h:211

Document ID: Generated on Mon Mar 22 15:30:17 EDT 2021 from SVN revision 226440
Copyright © 2021 MAK Technologies. All Rights Reserved (www.mak.com)