13 #include <vlutil/vlMachineTypes.h>
14 #include <vlutil/vlFilename.h>
16 #include <QMainWindow>
35 class QStandardItemModel;
36 class QSortFilterProxyModel;
37 class QDialogButtonBox;
57 DtMsgModelNumberOfColumns
69 DtRtiAmbServicesModelNumberOfColumns
81 DtFedAmbCallbacksModelNumberOfColumns
95 DtObjectModelNumberOfColumns
107 DtInteractionModelNumberOfColumns
112 const char* getObjectHeader(
const DtFederateStatisticsDialogObjectModelColumnEnum col)
const;
113 const char* getInteractionHeader(
const DtFederateStatisticsDialogInteractionModelColumnEnum col )
const;
114 const char* getRtiAmbServicesHeader(
const DtFederateStatisticsDialogRtiAmbServicesModelColumnEnum col )
const;
115 const char* getFedAmbCallbacksHeader(
const DtFederateStatisticsDialogFedAmbCallbacksModelColumnEnum col )
const;
116 const char* getMsgHeader(
const DtFederateStatisticsDialogMsgModelColumnEnum col )
const;
121 const char* getObjectHeaderToolTip(
const DtFederateStatisticsDialogObjectModelColumnEnum col)
const;
122 const char* getInteractionHeaderToolTip(
const DtFederateStatisticsDialogInteractionModelColumnEnum col )
const;
123 const char* getRtiAmbServicesHeaderToolTip(
const DtFederateStatisticsDialogRtiAmbServicesModelColumnEnum col )
const;
124 const char* getFedAmbCallbacksHeaderToolTip(
const DtFederateStatisticsDialogFedAmbCallbacksModelColumnEnum col )
const;
125 const char* getMsgHeaderToolTip(
const DtFederateStatisticsDialogMsgModelColumnEnum col )
const;
131 QWidget* parent = 0, Qt::WindowFlags f = 0);
137 virtual QSize sizeHint()
const;
140 void setFederateIcon(
const QPixmap& icon);
143 void setFederateType(
const QString& t);
146 void setFederateName(
const QString& n);
149 void setFederateProcess(
const QString& p);
152 void setFederateHost(
const QString& h);
155 void setFederationName(
const QString& n);
157 virtual void closeEvent(QCloseEvent * event);
161 virtual void updateMsgTablesAndGraphs(DtFloat64 currTime,
const std::vector<DtRtiMsgKind>& msgKinds,
const std::vector<DtU32>& msgNumSent,
162 const std::vector<DtU32>& msgNumReceived,
const std::vector<DtU32>& msgBytesSent,
163 const std::vector<DtU32>& msgBytesReceived);
165 virtual void updateRtiAmbTablesAndGraphs(DtFloat64 currTime,
const std::vector<DtRtiAmbAPIType>& rtiAmbTypes,
166 const std::vector<DtU32>& rtiAmbNumCalls,
const std::vector<DtFloat64>& rtiAmbTotalTime,
167 const std::vector<DtFloat64>& rtiAmbAvgTime,
const std::vector<DtFloat64>& rtiAmbMinTime,
168 const std::vector<DtFloat64>& rtiAmbMaxTime);
170 virtual void updateFedAmbTablesAndGraphs(DtFloat64 currTime,
const std::vector<DtFedAmbAPIType>& fedAmbTypes,
171 const std::vector<DtU32>& fedAmbNumCalls,
const std::vector<DtFloat64>& fedAmbTotalTime,
172 const std::vector<DtFloat64>& fedAmbAvgTime,
const std::vector<DtFloat64>& fedAmbMinTime,
173 const std::vector<DtFloat64>& fedAmbMaxTime);
175 virtual void updateObjectsTablesAndGraphs(DtFloat64 currTime,
const std::vector<DtU32>& objectInstanceHandles,
176 const std::vector<DtU32>& objectClassHandles,
const std::vector<DtU32>& objectNumRegistered,
177 const std::vector<DtU32>& objectBytesReceived,
const std::vector<DtU32>& objectUpdatesSent,
178 const std::vector<DtU32>& objectBytesSent, std::set<DtU32>& unknownInstanceNamesHandles,
179 std::set<DtU32>& unknownClassNamesHandles);
181 virtual void updateInteractionsTablesAndGraphs(DtFloat64 currTime,
182 const std::vector<DtU32>& interactionClassHandles,
183 const std::vector<DtU32>& interactionUpdatesReceived,
184 const std::vector<DtU32>& interactionBytesReceived,
185 const std::vector<DtU32>& interactionUpdatesSent,
const std::vector<DtU32>& interactionBytesSent,
186 std::set<DtU32>&unknownClassNamesHandles);
188 virtual void updateObjectTablesInstanceNames(
const std::vector<DtU32>& instanceHandles,
189 const std::vector<MAKRti::DtString>& instanceNames);
191 virtual void updateObjectTablesClassNames(
const std::vector<DtU32>& classHandles,
192 const std::vector<MAKRti::DtString>& classNames);
194 virtual void updateInteractionTablesClassNames(
const std::vector<DtU32>& classHandles,
195 const std::vector<MAKRti::DtString>& classNames );
198 const std::set<DtU32>& getUnknownObjectInstanceNamesHandlesAndClear()
const;
199 void clearUnknownObjInstanceNamesHdls();
202 void saveGuiConfiguration();
206 void switchFederate();
213 void setCompId(
unsigned int compId);
219 void setFederationNameStr(
const MAKRti::DtString & federationName);
220 MAKRti::DtString federationNameStr()
const;
222 void setFederateHandle(
unsigned int federateHandle);
223 unsigned federateHandle()
const;
234 void loadGuiConfiguration();
237 virtual void showEvent( QShowEvent* event );
240 virtual void hideEvent( QHideEvent* event );
246 void federateIdentifierUpdated(
unsigned int );
251 void initBasicInfoWidgets();
254 void initMsgStatsWidget();
257 void initServiceStatsWidget();
260 void initCallbackStatsWidget();
263 void initObjectStatsWidget();
266 void initInteractionStatsWidget();
269 void initButtonBoxWidget();
274 QDockWidget* initDockWidget(
bool isFixed, Qt::Orientation ori,
const QString& name =
"");
284 unsigned addHeaderItem(QStandardItemModel* model,
const QString& text,
285 const QString& toolTip, DtColOrRow colOrRow);
288 void updateFederateId(
const QString& fedId);
291 void updateFederateDescription();
301 MAKRti::DtString findObjectInstanceName(DtU32 instanceHandle, std::set<DtU32>&unknownInstanceNamesHandles);
302 MAKRti::DtString
findObjectClassName(DtU32 classHandle, std::set<DtU32>&unknownClassNamesHandles);
303 MAKRti::DtString findInteractionClassName(DtU32 classHandle, std::set<DtU32>&unknownClassNamesHandles);
Definition: federateStatsDialog.h:88
Definition: federateStatsDialog.h:63
This file contains the declaration of DtAssistantInfo.
bool myFirstTimeShown
Indicates whether the dialog has been shown yet.
Definition: federateStatsDialog.h:408
Definition: federateStatsDialog.h:102
QStandardItemModel * myMsgStatsModel
The widget to display message statistics.
Definition: federateStatsDialog.h:315
QLabel * myFederationNameLabel
Labels presenting basic federate information.
Definition: federateStatsDialog.h:379
QDockWidget * myServiceStatsDockWidget
The widget to display service call statistics.
Definition: federateStatsDialog.h:327
DtFederateStatisticsDialogFedAmbCallbacksModelColumnEnum
Definition: federateStatsDialog.h:72
Contains the DtAssistantNetStatsRtiAmbUpdateMsg class declaration.
QLabel * myFederateTypeHeaderLabel
Labels presenting basic federate information.
Definition: federateStatsDialog.h:370
std::map< unsigned, unsigned > myServiceIdToRowMap
The widget to display service call statistics.
Definition: federateStatsDialog.h:329
QLabel * myFederateIdLabel
Label displaying the id for the selected federate.
Definition: federateStatsDialog.h:366
Definition: federateStatsDialog.h:79
Definition: federateStatsDialog.h:104
This file contains the declaration of DtRtiConnectionInfo.
QDialogButtonBox * myButtonBox
The dialog button box to close the dialog.
Definition: federateStatsDialog.h:383
Definition: federateStatsDialog.h:86
Stores basic information about a remote assistant.
Definition: assistantInfo.h:96
Definition: federateStatsDialog.h:54
QDockWidget * myMsgStatsDockWidget
The widget to display message statistics.
Definition: federateStatsDialog.h:317
DtTreesAndGraphWidget * myCallbackStatsWidget
The widget to display callback statistics.
Definition: federateStatsDialog.h:334
static const MAKRti::DtFilename theConfigFilename
The name of the file where the GUI configuration is stored.
Definition: federateStatsDialog.h:414
Definition: federateStatsDialog.h:55
Definition: federateStatsDialog.h:51
unsigned myMsgStatsTreeIndex
The widget to display message statistics.
Definition: federateStatsDialog.h:318
Definition: federateStatsDialog.h:52
unsigned myServiceStatsTreeIndex
The widget to display service call statistics.
Definition: federateStatsDialog.h:328
Definition: federateStatsDialog.h:64
QStandardItemModel * myCallbackStatsModel
The widget to display callback statistics.
Definition: federateStatsDialog.h:335
DtTreesAndGraphWidget * myInteractionStatsWidget
The widget to display interaction statistics.
Definition: federateStatsDialog.h:354
QDockWidget * myMainDockWidget
The dialog's main widget which is always displayed and shows basic federate identification informatio...
Definition: federateStatsDialog.h:308
QLabel * myFederateNameLabel
Labels presenting basic federate information.
Definition: federateStatsDialog.h:373
QLabel * myHostNameHeaderLabel
Labels presenting basic federate information.
Definition: federateStatsDialog.h:376
QLabel * myFederationNameHeaderLabel
Labels presenting basic federate information.
Definition: federateStatsDialog.h:378
const char * findObjectClassName(DtU32 classHandle)
std::map< unsigned, unsigned > myMsgIdToRowMap
The widget to display message statistics.
Definition: federateStatsDialog.h:319
Definition: federateStatsDialog.h:78
QLabel * myProcessNameHeaderLabel
Labels presenting basic federate information.
Definition: federateStatsDialog.h:374
std::map< DtU32, MAKRti::DtString > myObjInstanceNamesByObjInstanceHdlsMap
Definition: federateStatsDialog.h:400
QWidget * myMainWidget
The dialog's main widget which is always displayed and shows basic federate identification informatio...
Definition: federateStatsDialog.h:309
Definition: federateStatsDialog.h:62
Definition: federateStatsDialog.h:66
Definition: federateStatsDialog.h:67
QSortFilterProxyModel * myObjectStatsProxyModel
The widget to display object statistics.
Definition: federateStatsDialog.h:346
unsigned int myCompId
Definition: federateStatsDialog.h:417
std::map< DtU32, MAKRti::DtString > myObjClassNamesByObjClassHdlsMap
Definition: federateStatsDialog.h:401
Definition: federateStatsDialog.h:105
DtAssistantInfo myAssistantInfo
Definition: federateStatsDialog.h:416
QSize myLastVisibleSize
The size of the dialog the last time it was visible.
Definition: federateStatsDialog.h:411
QDockWidget * myInteractionStatsDockWidget
The widget to display interaction statistics.
Definition: federateStatsDialog.h:357
Definition: federateStatsDialog.h:103
unsigned myUpdateCounter
The update counter.
Definition: federateStatsDialog.h:389
DtTreesAndGraphWidget * myServiceStatsWidget
The widget to display service call statistics.
Definition: federateStatsDialog.h:324
QDockWidget * myObjectStatsDockWidget
The widget to display object statistics.
Definition: federateStatsDialog.h:347
QLabel * myProcessNameLabel
Labels presenting basic federate information.
Definition: federateStatsDialog.h:375
DtFederateStatisticsDialogRtiAmbServicesModelColumnEnum
Definition: federateStatsDialog.h:60
DtFederateIdentifierType myFederateIdType
How the federate should be identified.
Definition: federateStatsDialog.h:386
Contains the DtAssistantNetStatsMsgUpdateMsg class declaration.
Definition: federateStatsDialog.h:75
MAKRti::DtString myFederationName
Definition: federateStatsDialog.h:418
QSortFilterProxyModel * myServiceStatsProxyModel
The widget to display service call statistics.
Definition: federateStatsDialog.h:326
unsigned myInteractionStatsTreeIndex
The widget to display interaction statistics.
Definition: federateStatsDialog.h:359
Definition: federateStatsDialog.h:90
DtFederateStatisticsDialogMsgModelColumnEnum
Definition: federateStatsDialog.h:49
QLabel * myHostNameLabel
Labels presenting basic federate information.
Definition: federateStatsDialog.h:377
unsigned int myFederateHandle
Definition: federateStatsDialog.h:419
DtFederateStatisticsDialogObjectModelColumnEnum
Definition: federateStatsDialog.h:84
std::map< unsigned, unsigned > myInteractionIdToRowMap
The widget to display interaction statistics.
Definition: federateStatsDialog.h:358
Definition: federateStatsDialog.h:74
Definition: federateStatsDialog.h:77
Definition: federateStatsDialog.h:93
DtTreesAndGraphWidget * myObjectStatsWidget
The widget to display object statistics.
Definition: federateStatsDialog.h:344
Shows detailed statistics on a federate.
Definition: federateStatsDialog.h:43
DtColOrRow
Definition: federateStatsDialog.h:276
#define DT_DLL_ASSISTANTAPP
Definition: rtiMsConfig.h:122
unsigned myFedAmbUpdateCounter
The update counter.
Definition: federateStatsDialog.h:398
Definition: federateStatsDialog.h:100
unsigned myRtiAmbUpdateCounter
The update counter.
Definition: federateStatsDialog.h:395
Definition: federateStatsDialog.h:278
Definition: federateStatsDialog.h:101
DtFederateIdentifierType
Definition: assistantEnums.h:10
unsigned myMsgUpdateCounter
The update counter.
Definition: federateStatsDialog.h:392
unsigned myCallbackStatsTreeIndex
The widget to display callback statistics.
Definition: federateStatsDialog.h:338
Definition: federateStatsDialog.h:65
QDockWidget * myCallbackStatsDockWidget
The widget to display callback statistics.
Definition: federateStatsDialog.h:337
QLabel * myFederateNameHeaderLabel
Labels presenting basic federate information.
Definition: federateStatsDialog.h:372
QLabel * myIconLabel
Label displaying the icon for the selected federate.
Definition: federateStatsDialog.h:363
DtRtiConnectionInfo myConnInfo
Definition: federateStatsDialog.h:420
QStandardItemModel * myServiceStatsModel
The widget to display service call statistics.
Definition: federateStatsDialog.h:325
QStandardItemModel * myInteractionStatsModel
The widget to display interaction statistics.
Definition: federateStatsDialog.h:355
QSortFilterProxyModel * myMsgStatsProxyModel
The widget to display message statistics.
Definition: federateStatsDialog.h:316
std::map< unsigned, unsigned > myObjectIdToRowMap
The widget to display object statistics.
Definition: federateStatsDialog.h:348
Definition: federateStatsDialog.h:91
QSortFilterProxyModel * myCallbackStatsProxyModel
The widget to display callback statistics.
Definition: federateStatsDialog.h:336
std::map< DtU32, MAKRti::DtString > myInterClassNamesByInterClassHdlsMap
Definition: federateStatsDialog.h:402
DtFederateStatisticsDialogInteractionModelColumnEnum
Definition: federateStatsDialog.h:98
Definition: federateStatsDialog.h:92
QStandardItemModel * myObjectStatsModel
The widget to display object statistics.
Definition: federateStatsDialog.h:345
unsigned myObjectStatsTreeIndex
The widget to display object statistics.
Definition: federateStatsDialog.h:349
Definition: federateStatsDialog.h:53
Stores the information on an RTI connection known by the Assistant.
Definition: assistantConnectionInfo.h:36
Definition: federateStatsDialog.h:76
DtTreesAndGraphWidget * myMsgStatsWidget
The widget to display message statistics.
Definition: federateStatsDialog.h:314
QSortFilterProxyModel * myInteractionStatsProxyModel
The widget to display interaction statistics.
Definition: federateStatsDialog.h:356
Definition: federateStatsDialog.h:89
DtFilename myConfigDir
The directory where the GUI config file should be stored.
Definition: federateStatsDialog.h:405
std::map< unsigned, unsigned > myCallbackIdToRowMap
The widget to display callback statistics.
Definition: federateStatsDialog.h:339
Definition: federateStatsDialog.h:87
QLabel * myFederateTypeLabel
Labels presenting basic federate information.
Definition: federateStatsDialog.h:371