MAK Data Logger API Documentation for HLA
 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-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
13 #include <lgrGui/lgrMenu.h>
19 
20 #include <commonWidgets/dynamicMenuBar.h>
21 #include <QMainWindow>
22 
23 class QAction;
24 class QMenu;
25 class DtString;
26 class QDialog;
27 class QObject;
28 class QString;
29 class QStyle;
30 class QWidget;
31 
32 namespace MAKLogger
33 {
35  class DtLgrRemoteConnection;
36  class DtLgrRemoteDisplayInfo;
37  class DtLgrRemoteLoggerView;
38  class DtRemoteControlInterface;
39  class DtRemoteControlDomainInterface;
40  class DtRemoteControlSystemInterface;
41  class DtRemoteControlPlaybackInterface;
42  class DtRemoteControlRecordInterface;
43  class DtRemoteControlEditorInterface;
44  class DtRemoteControlSimulationInterface;
45  class DtRemoteControlSharedInterface;
46  class DtTimeComponent;
47  class DtLgrCtrlGuiCommandLine;
48 
50  {
51  Q_OBJECT
52 
53  public:
55  DtLgrRemoteMainWindow(DtRemoteControlInterface* remoteControlInterface);
56 
58  virtual ~DtLgrRemoteMainWindow();
59 
61  virtual void initialize(QObject* eventhandler, const DtLgrCtrlGuiCommandLine& options);
62 
63  //Controls
65  virtual bool openFile(DtFilename fileName, bool constructFilename);
66 
68  virtual void closeFile();
69 
71  virtual void play( int lgrMode );
72 
74  virtual void pause();
75 
77  virtual void stop();
78 
80  virtual void setSpeed( double, bool );
81 
83  virtual void increaseSpeed();
84 
86  virtual void decreaseSpeed();
87 
89  virtual void jumpToStart();
90 
92  virtual void jumpToEnd();
93 
95  virtual void toggleLoopAtEnd();
96 
98  virtual void record(DtFilename& filename, DtString& description, bool constructFilename);
99 
101  virtual void startRecording();
102 
103  //Connection
105  virtual void connectionDialog();
106 
108  virtual void connect();
109 
111  virtual void disconnect();
112 
114  virtual QString getLoggerFileFilter() const;
115 
117  virtual QString getRemoteControlLoggerFileFilter() const;
118 
120  virtual QString getDefaultLoggerFileDirectory() const;
121 
123  virtual double refreshRate();
124 
126  virtual void setRefreshRate( double rr );
127 
128  virtual DtLgrRemoteMainWindow* window();
129 
130  virtual const DtTimeComponent& displayTime() const;
131 
132  virtual QObject* eventHandler();
133 
134  MAKCommonWidgets::DtDynamicMenuBar& dynamicMenuBar();
135 
137 
138  virtual bool bypassRemoteLoggerFile() const;
139  virtual void setBypassRemoteLoggerFile(bool enableBypass);
141 
143 
144  virtual bool constructFilename() const;
145  virtual void setConstructFilename(bool enableConstuct);
147 
149  virtual DtLgrRemoteConnection* connection();
150 
152  virtual DtLgrRemoteDisplayInfo* displayInfo();
153 
155  virtual DtFilename xmlFilename();
156 
158 
159  virtual void setFileDescription(const DtString& description);
160  virtual QString getFileDescription(const QString& filename);
161  virtual DtString getFileDescription();
163 
165  virtual void loadStylesheet(bool enabled);
166 
169  virtual void replaceAll(std::string& searchText,
170  const std::string& stringToFind,
171  const std::string& stringToReplace) const;
172 
175  virtual std::string resolveVars(const std::string& s);
176 
178  void setWidgetIconStyleManager(DtRemoteWidgetIconStyleManager* manager);
179 
181  DtRemoteWidgetIconStyleManager* widgetIconStyleManager();
182 
184  virtual std::vector<std::pair<QColor, QColor>> iconColorMappingsByMode(QIcon::Mode modeToGetMappingsFor) const;
185 
186  //Interfaces
188  const DtRemoteControlInterface* fullRemoteControlInterface() const;
190  DtRemoteControlInterface* fullRemoteControlInterface();
191  const DtRemoteControlPlaybackInterface* remoteControlPlaybackInterface() const;
192  DtRemoteControlPlaybackInterface* remoteControlPlaybackInterface();
193  const DtRemoteControlRecordInterface* remoteControlRecordInterface() const;
194  DtRemoteControlRecordInterface* remoteControlRecordInterface();
195  const DtRemoteControlEditorInterface* remoteControlEditorInterface() const;
196  DtRemoteControlEditorInterface* remoteControlEditorInterface();
197  const DtRemoteControlSimulationInterface* remoteControlSimulationInterface() const;
198  DtRemoteControlSimulationInterface* remoteControlSimulationInterface();
199  const DtRemoteControlSystemInterface* remoteControlSystemInterface() const;
200  DtRemoteControlSystemInterface* remoteControlSystemInterface();
202 
203  public slots:
204 
206  void updateInterfaces();
207 
208  public:
209 
210  static const QString& titleBarText();
211  static void setTitleBarText(const QString& val);
212  static const QString& shortTitleBarText();
213  static void setShortTitleBarText(const QString& val);
214  static const QString& guiConfigFileName();
215  static void setGuiConfigFileName(const QString& val);
216 
217  protected:
218 
219  void closeEvent(QCloseEvent *event);
220  void addNewMenu( DtLgrMenu* menu, QString previousMenuName = QString() );
221  void addMenu( QString previousMenuName, DtLgrMenu* menu );
222  void addNewToolbar( QWidget* widget, QString toolbarName);
223  void browseOpenLoggerFile(QString title);
224 
225  protected:
227 
229  const DtEntityIdentifier myLgrEntityID;
231 
232  MAKCommonWidgets::DtDynamicMenuBar* myMenuBar;
233 
235  QTimer* myUpdateTimer;
236  QStyle* myNewDockStyle;
238 
239  DtFilename myFile;
243 
244  //dark mode
245  std::string myAppPath;
246  std::string myDataPath;
253 
254  protected:
255 
256  static QString theTitleBarText;
257  static QString theShortTitleBarText;
258  static QString theGuiConfigFileName;
259 
260  private:
263 
265  DtLgrRemoteMainWindow& operator=(const DtLgrRemoteMainWindow& orig);
266 
267  };
268 }
const DtEntityIdentifier myLgrEntityID
Definition: lgrRemoteMainWindow.h:229
QColor myActualIconPrimaryColor
Definition: lgrRemoteMainWindow.h:247
static QString theGuiConfigFileName
Definition: lgrRemoteMainWindow.h:258
QColor myNormalIconPrimaryColor
Definition: lgrRemoteMainWindow.h:248
DtRemoteWidgetIconStyleManager * myWidgetIconStyleManager
Definition: lgrRemoteMainWindow.h:252
Contains MAKLogger::DtLgrMenu class.
Contains MAKLogger::DtRemoteWidgetIconStyleManager class.
DtLgrRemoteLoggerView * myRemoteLoggerView
Definition: lgrRemoteMainWindow.h:226
QColor mySelectedIconPrimaryColor
Definition: lgrRemoteMainWindow.h:250
QTimer * myUpdateTimer
Definition: lgrRemoteMainWindow.h:235
Contains MAKLogger::DtRemoteControlInterface for listening the Logger Control Toolkit messages...
std::string myDataPath
Definition: lgrRemoteMainWindow.h:246
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:232
DtRemoteControlInterface * myRemoteControlInterface
Definition: lgrRemoteMainWindow.h:240
QColor myDisabledIconPrimaryColor
Definition: lgrRemoteMainWindow.h:249
QObject * myEventHandler
Definition: lgrRemoteMainWindow.h:237
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:236
QColor myActiveIconPrimaryColor
Definition: lgrRemoteMainWindow.h:251
static QString theShortTitleBarText
Definition: lgrRemoteMainWindow.h:257
Definition: lgrRemoteWidgetIconStyleManager.h:18
DtLgrRemoteConnection * myConnection
Definition: lgrRemoteMainWindow.h:228
static QString theTitleBarText
Definition: lgrRemoteMainWindow.h:256
The DtLgrRemoteConnection implementation.
Definition: lgrRemoteConnection.h:22
DtLgrRemoteDisplayInfo * myDisplayInfo
Definition: lgrRemoteMainWindow.h:230
Responsible for invoking editor commands and processing editor responses.
Definition: remoteControlEditorInterface.h:27
DtFilename myFile
Definition: lgrRemoteMainWindow.h:239
Responsible for invoking system commands and processing system responses.
Definition: remoteControlSystemInterface.h:21
bool myBypassRemoteLoggerFile
Definition: lgrRemoteMainWindow.h:241
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:49
Responsible for invoking record commands and processing record responses.
Definition: remoteControlRecordInterface.h:26
bool myConstructFilename
Definition: lgrRemoteMainWindow.h:242
std::string myAppPath
Definition: lgrRemoteMainWindow.h:245
DtTimeComponent * myTimeComponent
Definition: lgrRemoteMainWindow.h:234

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)