MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ridChooser.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2017 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <rtiMsConfig.h>
13 #include <rtiChooserCache.h>
14 #include <QDialog>
15 #include "addRTIInstallToChooser.h"
16 #include <map>
17 #include <set>
18 #include <QHBoxLayout>
19 #include <QTreeWidget>
20 #include <QLabel>
21 #include <vlutil/vlString.h>
22 #include <vlutil/vlFilename.h>
23 #include <vlutil/vlThreadSafe.h>
24 #include <vlutil/vlThread.h>
26 
27 class Ui_ridChooserDialog;
28 
32 {
33  Q_OBJECT
34 
35 public:
36 
37  typedef std::map<QTreeWidgetItem*, DtRtiChooserCache::DtInstalledRTIInformation > DtWidgetToPathMapType;
38 
40  DtRidChooser(const MAKRti::DtString& defaultDirectory,
41  bool useSystem = false );
42 
44  virtual ~DtRidChooser();
45 
46  virtual void addKnownRTI( DtRtiChooserCache::DtInstalledRTIInformation& newRti,
47  QTreeWidgetItem* location = 0 );
48 
49  virtual void knownRtis(
50  std::set<DtRtiChooserCache::DtInstalledRTIInformation>& rtis ) const;
51 
52  virtual void refreshTree() const;
53 
54  virtual bool isDuplicateRTI( DtRtiChooserCache::DtInstalledRTIInformation info,
55  QTreeWidgetItem** item = 0 ) const;
56 
57  virtual void applyIcons();
58 
59  virtual MAKRti::DtString findCurrentRtiLibWithSpecifiedRtiDir(
60  const MAKRti::DtString& specifiedRtiDir, bool isSystem ) const;
61 
62  virtual MAKRti::DtString findCurrentRtiLib( MAKRti::DtString path ) const;
63 
64  virtual MAKRti::DtString findCurrentRtiLib() const;
65 
66  virtual bool validateSelection( DtWidgetToPathMapType::const_iterator found,
67  bool& shouldExit ) const;
68  virtual bool findInfoByPath(DtRtiChooserCache::DtInstalledRTIInformation& found,
69  MAKRti::DtString path ) const;
70 
71  virtual void removeMakEnvVars();
72 
73  virtual bool setSelectedAndAccept(
74  DtRtiChooserCache::DtInstalledRTIInformation& info, bool silent = false );
75 
76  static void processStartupAssistant( void * owner );
77 
79  {
80  Current = 0,
84 
85  };
86 
87 public slots:
88 
89  void showEditRTIConfigDialog();
90  void showAddRTIConfigDialog();
91  void removeRTIConfig();
92  void showFullPaths(bool show) const;
93  void enableDisableSaveButton();
94  void userSystemChanged();
95  void accept(bool silent = false);
96  void reject();
97  void startTheAssistant();
98  void checkAssistantShutdownThread();
99  void timedOutDialogAccepted();
100 
101 signals:
102 
103 
104 protected:
105 
106  Ui_ridChooserDialog* myUiImpl;
107 
108 
109  std::set< DtRtiChooserCache::DtInstalledRTIInformation> myInstalledRTIInfos;
111 
113  MAKRti::DtString myDefaultDir;
121  QHBoxLayout * myCentralLayout;
122 
125  QPushButton * myTimedOutButton;
126  QVBoxLayout * myTimedOutCentralLayout;
127 
128 #ifdef _WIN32
129  MAKRti::DtThreadStartSP myAssistantThreadStart;
130  MAKRti::DtThread* myAssistantThread;
131  waitForAssistantShutdown * myWaitForAssistantShutdown;
132 #endif
133 
138  std::pair< void *, void * > myProcessInfo;
139  QTimer * myTimer;
140 };

Document ID: Generated on Mon Jul 9 10:30:41 EDT 2018 from SVN revision 190224
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)