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 };
DtWidgetToPathMapType myTreeToInfoMap
Definition: ridChooser.h:110
Definition: rtiChooserCache.h:50
QDialog * myShutdownDialog
Definition: ridChooser.h:119
QLabel * myShutdownLabel
Definition: ridChooser.h:120
std::map< QTreeWidgetItem *, DtRtiChooserCache::DtInstalledRTIInformation > DtWidgetToPathMapType
Definition: ridChooser.h:37
std::set< DtRtiChooserCache::DtInstalledRTIInformation > myInstalledRTIInfos
Definition: ridChooser.h:109
Contains the waitForAssistantShutdown class definition.
Dialog which allows a user to set MAK_RTIDIR, RTI_RID_FILE, and the PATH environment variables...
Definition: ridChooser.h:31
QHBoxLayout * myCentralLayout
Definition: ridChooser.h:121
bool myUseSystemPath
Definition: ridChooser.h:114
QLabel * myTimedOutLabel
Definition: ridChooser.h:124
DtInstalledRtiColumns
Definition: ridChooser.h:78
Definition: ridChooser.h:83
QTreeWidgetItem * myChosenRTITreeWidget
Definition: ridChooser.h:116
Definition: ridChooser.h:82
QTimer * myTimer
Definition: ridChooser.h:139
bool myShouldAccept
Definition: ridChooser.h:137
QIcon myInvalidCurrentRtiIcon
Definition: ridChooser.h:118
QVBoxLayout * myTimedOutCentralLayout
Definition: ridChooser.h:126
QPushButton * myTimedOutButton
Definition: ridChooser.h:125
Definition: ridChooser.h:81
bool myShouldStartAssistant
Definition: ridChooser.h:136
bool myIsSilent
Definition: ridChooser.h:134
bool myDialogClosing
Definition: ridChooser.h:112
std::pair< void *, void * > myProcessInfo
Definition: ridChooser.h:138
bool myShowingFullPaths
Definition: ridChooser.h:115
QDialog * myTimedOutDialog
Definition: ridChooser.h:123
bool myHasFinished
Definition: ridChooser.h:135
Contains the DtAddRTIInstallToChooser class definition.
QIcon myCurrentRtiIcon
Definition: ridChooser.h:117
#define DT_DLL_CHOOSER
Definition: rtiMsConfig.h:161
Ui_ridChooserDialog * myUiImpl
Definition: ridChooser.h:106
MAKRti::DtString myDefaultDir
Definition: ridChooser.h:113

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)