10 #define lgrGuiModel_H_
16 #include <vlutil/vlFilename.h>
36 class DtLgrTimeBarWidget;
37 class DtLgrEditorInterface;
38 class DtLgrFullInterface;
40 class DtLgrGuiComponent;
41 class DtLgrMainWindow;
42 class DtLgrMainWindow;
44 class DtLgrPlaybackInterface;
45 class DtLgrRecordInterface;
46 class DtLgrSimInterface;
47 class DtLgrSystemInterface;
48 class DtLgrTimeInterface;
50 class DtTimeComponent;
51 class DtLgrExportDialog;
52 class DtLgrTimeBarZoomBox;
53 struct DtLgrMediaPlayPipelineInfo;
79 virtual void addExportType( QString exportName,
int exportType);
82 virtual void addNewMenu(
DtLgrMenu* menu, QString previousMenuName = QString() );
85 virtual void addNewToolbar(
QWidget* toolBar, QString toolBarName );
91 virtual void addGuiComponent(
DtLgrGuiComponent* component,
bool addAbove=
true,
bool floating=
false);
94 virtual void removeGuiComponent( QString componentName);
100 virtual void changeGuiComponentVisibility(QString componentName,
bool visible);
103 virtual void setGuiComponentInitialVisibility(QString componentName,
bool visible);
106 virtual void updateLgrComponent(QString componentName,
bool visible);
109 virtual void showLgrComponent( QString componentName );
112 virtual void hideLgrComponent( QString componentName );
118 virtual void addNewStatusWidget(
QWidget* widget );
121 virtual void connectMenuItemToAction(QString menuName,QString menuItemName,
127 virtual void addExportDialog(QString exportType,ExportDialogCreator creator);
138 virtual void startLongOperation();
141 virtual void finishLongOperation();
144 virtual void updateLongOperation();
147 virtual void cancelLongOperation();
155 virtual QString getLoggerFileFilter()
const;
158 virtual QString getDefaultLoggerFileDirectory()
const;
161 virtual QString getSaveLoggerFileName(
QWidget* parentWindow,QString title,
162 QString& description,
bool& descriptionChanged,
DtString* streamConfiguration=0,
int mediaPort=5000,
bool activeStream=0);
165 virtual bool openFile();
168 virtual bool openFile(
const QString& filename,
bool checkMediaFile =
false );
171 virtual bool needDifferentConnectionSettings(
DtString& filename );
174 virtual bool saveFileAs(
bool reopenAfterSave =
true);
177 virtual void saveFile(
bool reopenAfterSave =
true);
182 virtual bool fileSaved()
const;
185 virtual bool canCloseFile();
188 virtual bool closeFile();
191 virtual void exportSection(
const DtString& fileFormat);
194 virtual void exportFile(
const DtString& fileFormat);
197 virtual bool openLoggerInformation();
200 virtual QVector<QString> recentFiles();
203 virtual void setRecentFiles(QVector<QString> recentFiles);
206 virtual void addRecentFile(QString filename);
213 virtual void recordAs();
217 virtual void recordFile(QString filename, QString description,
bool overwrite);
220 virtual void queryToRecordMultipleFiles();
223 virtual void recordToMultipleFiles(QString filename, QString description);
228 virtual bool queryStopRecordingEmptyTape();
231 virtual void saveRecordingData();
235 virtual void setZoom();
243 virtual QString fileNameForDisplay()
const;
246 virtual void upgradeFile();
249 virtual void repairFile(
const QString& filename,
bool queryRepair);
252 virtual void recoverLastPacket(
const QString& filename);
255 virtual void exportCompleted();
258 virtual void revert();
266 virtual void setSpeed();
269 virtual void setStartStopTimes();
284 virtual void clearSelection();
287 virtual void cutSelection();
290 virtual void setDarkModeEnabled(
bool enable);
293 virtual void loadStylesheet(
bool enabled);
296 virtual void mergeInFile();
299 virtual void appendFile();
302 virtual void prefixFile();
305 virtual void offsetTime();
358 virtual void updateInterfaces();
361 virtual void deleteAssistant();
364 virtual void toggleConnection();
368 virtual bool disconnect(
QWidget* dialog=0);
371 virtual QObject* eventHandler();
377 virtual void crippleGui(
bool disableAndMinimize);
380 virtual void openUrl(
const QString& urlText);
383 virtual void showHelp(
const char* filename = 0);
386 virtual void showUserGuide();
389 virtual void showReleaseNotes();
392 virtual void showClassDocs();
395 virtual void showAboutBox();
398 virtual void launchVersionWebsite();
401 virtual void launchProductWebsite();
408 virtual void playbackFileEvent(
const QString& filename);
411 virtual void recordFileEvent(
const QString& filename);
414 virtual bool isZoomEnabled()
const;
417 virtual void setFollowMode(
bool enableFollow);
420 virtual void setFollowInterval(
double interval);
423 virtual bool isFollowMode()
const;
429 virtual void mediaPlayInWindowOperationActive(
bool isActive,
bool onCloseMainWindow =
false);
431 virtual void changeGuiComponentVisibilityWithLocking(QString componentName,
bool visible,
int initialSize = -1,
bool lockOtherViewsX =
true,
bool lockOtherViewsY =
true,
bool ignoreVisibility =
false);
434 virtual void openDroppedFile(
DtString& filename);
440 virtual bool darkModeEnabled();
444 virtual void replaceAll(std::string& searchText,
445 const std::string& stringToFind,
446 const std::string& stringToReplace)
const;
450 virtual std::string resolveVars(
const std::string& s);
454 virtual void longOperationChangedCallback(
const bool& state);
455 virtual void longOperationMessageChangedCallback(
const DtString& message);
456 virtual void longOperationProgressChangedCallback(
const int& percent);
458 virtual QString showExportDialog(QString fileFormat,QString filter, QString dialogName);
QStyle * myNewDockStyle
Definition: lgrGuiModel.h:483
DtFilename myRepairedFilename
Definition: lgrGuiModel.h:491
The class responsible for interfacing with the simulation in a protocol independent manner...
Definition: lgrSimInterface.h:34
A Widget which contains two slider boxes which define a bounding area.
Definition: boundsSlider.h:27
bool myDarkModeEnabled
Definition: lgrGuiModel.h:499
DtLgrTimeBarWidget * myTimeBar
Definition: lgrGuiModel.h:466
DtAbsoluteTime myJumpTime
Definition: lgrGuiModel.h:488
Provides the base interface for Logger Application gui components.
Definition: lgrGuiComponent.h:36
#define DT_VIRTUAL_CTR(CLASS_NAME, ARG_TYPES_LIST)
Declare a Virtual Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where CLASS_NAME...
Definition: virtualConstructor.h:34
QVector< QString > myRecentFiles
Definition: lgrGuiModel.h:497
bool myJumpPending
Definition: lgrGuiModel.h:487
bool myResetZoom
Definition: lgrGuiModel.h:489
GuiComponentMap myComponents
Definition: lgrGuiModel.h:474
ExportTypes myExportTypes
Definition: lgrGuiModel.h:481
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
QDockWidget * myTimeLineDocWidget
Definition: lgrGuiModel.h:471
std::set< QString > ExportTypes
Definition: lgrGuiModel.h:480
ExportDialogMap myExportDialogMap
Definition: lgrGuiModel.h:478
The class responsible for interfacing with the logger playback functionality.
Definition: lgrPlaybackInterface.h:35
The logger GUI's model.
Definition: lgrGuiModel.h:56
std::map< QString, bool > DtComponentVisibilityMap
Definition: lgrGuiModel.h:59
The class which interfaces with the logger editor functionality.
Definition: lgrEditorInterface.h:31
Utility class which provides access to multiple interfaces.
Definition: lgrFullInterface.h:25
std::string myDataPath
Definition: lgrGuiModel.h:501
QProcess * myHelpAssistant
Definition: lgrGuiModel.h:469
The main window for the logger application.
Definition: lgrMainWindow.h:29
QObject * myEventHandler
Definition: lgrGuiModel.h:463
DtBoundsSlider * myTimeControl
Definition: lgrGuiModel.h:467
DtLgrMainWindow * myMainWindow
Definition: lgrGuiModel.h:462
A time component represents the current time of the logger.
Definition: timeComponent.h:20
Contains MAKLogger::DtAbsoluteTime and MAKLogger::DtRelativeTime classes.
QString myStreamViewName
Definition: lgrGuiModel.h:495
Definition: lgrExportDialog.h:20
QString myDataViewName
Definition: lgrGuiModel.h:493
The specific interface for interacting with the default logger GUI.
Definition: lgrAppGui.h:40
DtTimeComponent * myTimeComponent
Definition: lgrGuiModel.h:470
The class responsible for interfacing with the low level logger system functions. ...
Definition: lgrSystemInterface.h:31
#define DT_DLL_LGRGUI
Definition: lgrGui.h:19
bool myExitingFlag
Definition: lgrGuiModel.h:485
class DT_DLL_LGRUTIL DtAbsoluteTime
Definition: absoluteTime.h:22
std::map< QString, DtLgrGuiComponent * > GuiComponentMap
Definition: lgrGuiModel.h:473
DtLgrTimeBarZoomBox * myZoomControl
Definition: lgrGuiModel.h:468
The class responsible for interfacing with the logger recording functionality.
Definition: lgrRecordInterface.h:28
Defines INPORT/EXPORT macros for lgrGui library.
DtComponentVisibilityMap myComponentsInitialVisibility
Definition: lgrGuiModel.h:475
DtLgrAppGui * myAppGui
Definition: lgrGuiModel.h:465
A Zoom widget. Highlights the visible timeline duration on the fulltimeline bar.
Definition: lgrTimeBarZoomBox.h:27
The class for interfacing with the loggers time state.
Definition: lgrTimeInterface.h:21
std::map< QString, ExportDialogCreator > ExportDialogMap
Definition: lgrGuiModel.h:477
QString mySizeViewName
Definition: lgrGuiModel.h:494
std::string myAppPath
Definition: lgrGuiModel.h:500
Absolute Time, a particular measured instance in time, could be thought of as a set of relative times...
Definition: absoluteTime.h:82
DtLgrFullInterface * myFullInterface
Definition: lgrGuiModel.h:464