MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrGuiModel.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #ifndef lgrGuiModel_H_
10 #define lgrGuiModel_H_
11 
12 #include <lgrGui/lgrGui.h>
14 #include <lgrUtil/absoluteTime.h>
15 
16 #include <vlutil/vlFilename.h>
17 
18 #include <QString>
19 #include <map>
20 #include <set>
21 #include <QVector>
22 
23 class QAction;
24 class QDialog;
25 class QObject;
26 class QStyle;
27 class QTimer;
28 class QWidget;
29 class QProcess;
30 class QDockWidget;
31 
32 namespace MAKLogger
33 {
34  class DtAbsoluteTime;
35  class DtBoundsSlider;
36  class DtLgrTimeBarWidget;
37  class DtLgrEditorInterface;
38  class DtLgrFullInterface;
39  class DtLgrAppGui;
40  class DtLgrGuiComponent;
41  class DtLgrMainWindow;
42  class DtLgrMainWindow;
43  class DtLgrMenu;
44  class DtLgrPlaybackInterface;
45  class DtLgrRecordInterface;
46  class DtLgrSimInterface;
47  class DtLgrSystemInterface;
48  class DtLgrTimeInterface;
49  class DtLgrToolBar;
50  class DtTimeComponent;
51  class DtLgrExportDialog;
52  class DtLgrTimeBarZoomBox;
53  struct DtLgrMediaPlayPipelineInfo;
54 
57  {
58  public:
59  typedef std::map<QString,bool> DtComponentVisibilityMap;
60 
61  public:
62 
68 
70  virtual ~DtLgrGuiModel();
71 
77  virtual void initialize(DtLgrMainWindow* mainWindow,QObject* eventHandler);
78 
79  virtual void addExportType( QString exportName, int exportType);
80 
82  virtual void addNewMenu( DtLgrMenu* menu, QString previousMenuName = QString() );
83 
85  virtual void addNewToolbar( QWidget* toolBar, QString toolBarName );
86 
91  virtual void addGuiComponent( DtLgrGuiComponent* component, bool addAbove=true, bool floating=false);
92 
94  virtual void removeGuiComponent( QString componentName);
95 
97  virtual DtLgrGuiComponent* guiComponent( QString componentName );
98 
100  virtual void changeGuiComponentVisibility(QString componentName, bool visible);
101 
103  virtual void setGuiComponentInitialVisibility(QString componentName, bool visible);
104 
106  virtual void updateLgrComponent(QString componentName,bool visible);
107 
109  virtual void showLgrComponent( QString componentName );
110 
112  virtual void hideLgrComponent( QString componentName );
113 
115  virtual void getComponentsVisibility(DtComponentVisibilityMap& visibilityMap) const;
116 
118  virtual void addNewStatusWidget( QWidget* widget );
119 
121  virtual void connectMenuItemToAction(QString menuName,QString menuItemName,
122  QAction* action);
123 
124  typedef DtLgrExportDialog* (*ExportDialogCreator)(DtLgrGuiModel*,QWidget* parent);
125 
127  virtual void addExportDialog(QString exportType,ExportDialogCreator creator);
128 
129  //@name Application Operations
131 
135  virtual bool exit();
136 
138  virtual void startLongOperation();
139 
141  virtual void finishLongOperation();
142 
144  virtual void updateLongOperation();
145 
147  virtual void cancelLongOperation();
148 
150 
151  //@name File Operations
153 
155  virtual QString getLoggerFileFilter() const;
156 
158  virtual QString getDefaultLoggerFileDirectory() const;
159 
161  virtual QString getSaveLoggerFileName(QWidget* parentWindow,QString title,
162  QString& description, bool& descriptionChanged, DtString* streamConfiguration=0, int mediaPort=5000, bool activeStream=0);
163 
165  virtual bool openFile();
166 
168  virtual bool openFile( QString &filename, bool checkMediaFile = false );
169 
171  virtual bool needDifferentConnectionSettings( DtString& filename );
172 
174  virtual bool saveFileAs(bool reopenAfterSave = true);
175 
177  virtual void saveFile(bool reopenAfterSave = true);
178 
182  virtual bool fileSaved() const;
183 
185  virtual bool canCloseFile();
186 
188  virtual bool closeFile();
189 
191  virtual void exportSection(const DtString& fileFormat);
192 
194  virtual void exportFile(const DtString& fileFormat);
195 
197  virtual bool openLoggerInformation();
198 
200  virtual QVector<QString> recentFiles();
201 
203  virtual void setRecentFiles(QVector<QString> recentFiles);
204 
206  virtual void addRecentFile(QString filename);
207 
208  //@name Record Operations
210 
213  virtual void recordAs();
214 
217  virtual void recordFile(QString filename, QString description, bool overwrite);
218 
220  virtual void queryToRecordMultipleFiles();
221 
223  virtual void recordToMultipleFiles(QString filename, QString description);
224 
228  virtual bool queryStopRecordingEmptyTape();
229 
231  virtual void saveRecordingData();
232 
235  virtual void setZoom();
236 
238  virtual void setZoom(const DtAbsoluteTime& start,const DtAbsoluteTime& end);
239 
241 
243  virtual QString fileNameForDisplay() const;
244 
246  virtual void upgradeFile();
247 
249  virtual void repairFile(const QString& filename, bool queryRepair);
250 
252  virtual void recoverLastPacket(const QString& filename);
253 
255  virtual void exportCompleted();
256 
258  virtual void revert();
259 
261 
262  //@name Playback Operations
264 
266  virtual void setSpeed();
267 
269  virtual void setStartStopTimes();
270 
272  virtual void setStartStopTimes(const DtAbsoluteTime& start,
273  const DtAbsoluteTime& stop);
274 
276  virtual void stop();
277 
279 
280  //@name Editing Operations
282 
284  virtual void clearSelection();
285 
287  virtual void cutSelection();
288 
290  virtual void mergeInFile();
291 
293  virtual void appendFile();
294 
296  virtual void prefixFile();
297 
299  virtual void offsetTime();
300 
302 
304 
305  virtual const DtLgrFullInterface* fullInterface() const;
306  virtual DtLgrFullInterface* fullInterface();
308 
310 
311  virtual const DtLgrAppGui* appGui() const;
312  virtual DtLgrAppGui* appGui();
314 
315 
316  virtual const DtLgrEditorInterface* editorInterface() const;
317  virtual DtLgrEditorInterface* editorInterface();
319 
321 
322  virtual const DtLgrPlaybackInterface* playbackInterface() const;
323  virtual DtLgrPlaybackInterface* playbackInterface();
325 
327 
328  virtual const DtLgrRecordInterface* recordInterface() const;
329  virtual DtLgrRecordInterface* recordInterface();
331 
333 
334  virtual const DtLgrSimInterface* simulationInterface() const;
335  virtual DtLgrSimInterface* simulationInterface();
337 
339 
340  virtual const DtLgrSystemInterface* systemInterface() const;
341  virtual DtLgrSystemInterface* systemInterface();
343 
345 
346 
347  virtual const DtLgrTimeInterface* timeInterface() const;
348  virtual DtLgrTimeInterface* timeInterface();
350 
352  virtual void updateInterfaces();
353 
355  virtual void deleteAssistant();
356 
358  virtual void toggleConnection();
359 
362  virtual bool disconnect(QWidget* dialog=0);
363 
365  virtual QObject* eventHandler();
366 
368  virtual DtLgrMainWindow* mainWindow();
369 
371  virtual void crippleGui(bool disableAndMinimize);
372 
374  virtual void openUrl(const QString& urlText);
375 
377  virtual void showHelp(const char* filename = 0);
378 
380  virtual void showUserGuide();
381 
383  virtual void showReleaseNotes();
384 
386  virtual void showClassDocs();
387 
389  virtual void showAboutBox();
390 
392  virtual void launchVersionWebsite();
393 
395  virtual void launchProductWebsite();
396 
399  virtual const DtTimeComponent& displayTime() const;
400 
402  virtual void playbackFileEvent(const QString& filename);
403 
405  virtual void recordFileEvent(const QString& filename);
406 
408  virtual bool isZoomEnabled() const;
409 
411  virtual void setFollowMode(bool enableFollow);
412 
414  virtual void setFollowInterval(double interval);
415 
417  virtual bool isFollowMode() const;
418 
420  virtual void jumpTimeChanged(const DtAbsoluteTime& jumpTime);
421 
423  virtual void mediaPlayInWindowOperationActive(bool isActive, bool onCloseMainWindow = false);
424 
425  virtual void changeGuiComponentVisibilityWithLocking(QString componentName, bool visible, int initialSize = -1, bool lockOtherViewsX = true, bool lockOtherViewsY = true, bool ignoreVisibility = false);
426 
427  protected:
428 
429  virtual void longOperationChangedCallback(const bool& state);
430  virtual void longOperationMessageChangedCallback(const DtString& message);
431  virtual void longOperationProgressChangedCallback(const int& percent);
432 
433  virtual QString showExportDialog(QString fileFormat,QString filter, QString dialogName);
434  virtual QString browseOpenLoggerFile(QString title, DtLgrMediaPlayPipelineInfo* pipelineInfo=0);
435 
436  protected:
444  QProcess* myHelpAssistant;
446  QDockWidget* myTimeLineDocWidget;
447 
448  typedef std::map<QString,DtLgrGuiComponent*> GuiComponentMap;
451 
452  typedef std::map<QString,ExportDialogCreator> ExportDialogMap;
454 
455  typedef std::set<QString> ExportTypes;
457 
458  QStyle* myNewDockStyle;
459  //Flag used to store if the model is already exiting.
461 
465 
466  DtFilename myRepairedFilename;
467 
468  QString myDataViewName;
469  QString mySizeViewName;
471 
472  QVector<QString> myRecentFiles;
473  };
474 }
475 
476 #endif

Document ID: Generated on Thu Jul 23 15:05:27 EDT 2020 from SVN revision 215371
Copyright © 2020 MAK Technologies. All Rights Reserved (www.mak.com)