13 #include <vlutil/vlMachineTypes.h>
14 #include <vlutil/vlFilename.h>
16 #include <QMainWindow>
19 #include "vlutil/vlFedTarget.h"
20 #include <QtGui/QStandardItemModel>
29 class QStandardItemModel;
30 class QSortFilterProxyModel;
31 class QDialogButtonBox;
48 DtObjectModelNumberOfColumns
56 DtInteractionModelNumberOfColumns
67 DtAttributeModelNumberOfColumns
78 DtParameterNumberOfColumns
83 QWidget* parent = 0, Qt::WindowFlags f = 0);
89 virtual QSize sizeHint()
const;
92 void setFederateIcon(
const QPixmap& icon);
95 void setFederateType(
const QString& t);
98 void setFederateName(
const QString& n);
101 void setFederateProcess(
const QString& p);
104 void setFederateHost(
const QString& h);
107 void setFederationName(
const QString& n);
109 virtual void closeEvent(QCloseEvent * event);
111 void saveGuiConfiguration();
113 void updateObjectFomTreeData(
const std::vector<MAKRti::DtU32>& classHandles,
114 const std::vector<MAKRti::DtU32>& parentClassHandles,
const std::vector<MAKRti::DtString>& classNames);
115 void updateInteractionFomTreeData(
const std::vector<MAKRti::DtU32>& classHandles,
116 const std::vector<MAKRti::DtU32>& parentClassHandles,
const std::vector<MAKRti::DtString>& classNames);
119 virtual void updateAttributesTable(
const MAKRti::DtString& name, MAKRti::DtU32 handle);
121 virtual void updateParametersTable(
const MAKRti::DtString& name, MAKRti::DtU32 handle);
123 void clearAttributesNames();
125 void updateAttributeNames(
const std::vector<MAKRti::DtU32>& objectClassHandles,
126 const std::vector<MAKRti::DtU32>& attributeHandles,
127 const std::vector<MAKRti::DtString>& attributeNames,
128 const std::vector<MAKRti::DtU32>& parentClassHandles,
129 const std::vector<MAKRti::DtU32>& totalClassHandles);
131 void clearParameterNames();
133 void updateParameterNames(
const std::vector<MAKRti::DtU32>& interClassHandles,
134 const std::vector<MAKRti::DtU32>& paramHandles,
135 const std::vector<MAKRti::DtString>& paramNames,
136 const std::vector<MAKRti::DtU32>& parentInterHandles,
137 const std::vector<MAKRti::DtU32>& totalInterHandles);
138 void updateAttrFomState(
const std::vector<MAKRti::DtU32>& objectClassHandles,
139 const std::vector<MAKRti::DtU32>& attributeHandles,
140 const std::vector<bool>& attributePub,
141 const std::vector<bool>& attributeSub,
142 const std::vector<DtTransportType>& attributeTransport,
143 const std::vector<DtOrderType>& attributeOrder,
144 const std::vector<MAKRti::DtU32>& objectPubSubHandles,
145 const std::vector<bool>& objPub,
146 const std::vector<bool>& ObjSub);
147 void updateParamFomState(
const std::vector<MAKRti::DtU32>& objectClassHandles,
148 const std::vector<MAKRti::DtU32>& attributeHandles,
149 const std::vector<bool>& attributePub,
const std::vector<bool>& attributeSub,
150 const std::vector<DtTransportType>& attributeTransport,
151 const std::vector<DtOrderType>& attributeOrder,
152 const std::vector<MAKRti::DtU32>& objectPubSubHandles,
153 const std::vector<bool>& objPub,
const std::vector<bool>& ObjSub);
156 void switchFederate();
160 void setFederationNameStr(
const MAKRti::DtString& federationName);
161 MAKRti::DtString federationNameStr();
162 void setFederateHandle(
int federateHandle);
163 int federateHandle();
166 void setCompId(
unsigned int compId);
177 void loadGuiConfiguration();
180 virtual void showEvent( QShowEvent* event );
183 virtual void hideEvent( QHideEvent* event );
188 void federateIdentifierUpdated(
unsigned int );
190 void processObjectSelection(
const QModelIndex& index,
bool forceUpdate =
false);
192 void processInteractionSelection(
const QModelIndex& index,
bool forceUpdate =
false);
197 void initBasicInfoWidgets();
200 void initObjectStatsWidget();
203 void initInteractionStatsWidget();
206 void initButtonBoxWidget();
211 QDockWidget* initDockWidget(
bool isFixed, Qt::Orientation ori,
const QString& name =
"");
221 unsigned addHeaderItem(QStandardItemModel* model,
const QString& text,
222 DtColOrRow colOrRow);
225 void updateFederateId(
const QString& fedId);
234 MAKRti::DtString getFullObjectName(QStandardItem * objectItem,
bool addHandle =
false);
235 MAKRti::DtString getFullObjectName(MAKRti::DtU32 objectHandle,
bool addHandle =
false);
236 MAKRti::DtString getFullInteractionName(QStandardItem * interactionItem,
bool addHandle =
false);
237 MAKRti::DtString getFullInteractionName(MAKRti::DtU32 interactionHandle,
bool addHandle =
false);
238 const char * getObjHeader(
const enum DtFomStatisticsDialogObjectModelColumnEnum col );
239 const char * getInterHeader(
const enum DtFomStatisticsDialogInteractionModelColumnEnum col );
240 const char * getAttrHeader(
const enum DtFomStatisticsDialogAttributeModelColumnEnum col );
241 const char * getParamHeader(
const enum DtFomStatisticsDialogParameterModelColumnEnum col );
242 void updateObjectPubSub(
const std::vector<MAKRti::DtU32>& objectPubSubHandles,
243 const std::vector<bool>& objPub,
244 const std::vector<bool>& ObjSub);
245 void updateInteractionPubSub(
const std::vector<MAKRti::DtU32>& objectPubSubHandles,
246 const std::vector<bool>& objPub,
const std::vector<bool>& objSub);
DtAssistantInfo myAssistantinfo
Definition: fomStatsDialog.h:376
Definition: fomStatsDialog.h:63
MAKRti::DtU32 myObjectRootHandle
Definition: fomStatsDialog.h:318
unsigned myInteractionStatsTreeIndex
The widget to display interaction statistics.
Definition: fomStatsDialog.h:274
This file contains the declaration of DtAssistantInfo.
Definition: fomStatsDialog.h:62
QDockWidget * myObjectStatsDockWidget
The widget to display object statistics.
Definition: fomStatsDialog.h:260
QString myUnicodeCheckMark
Definition: fomStatsDialog.h:363
DtFomStatisticsDialogAttributeModelColumnEnum
Definition: fomStatsDialog.h:59
Definition: fomStatsDialog.h:77
Definition: fomStatsDialog.h:66
Definition: fomStatsDialog.h:47
std::map< MAKRti::DtU32, QModelIndex > myIntSubItemsByIntHandlesMap
Definition: fomStatsDialog.h:347
std::map< unsigned, unsigned > myObjectIdToRowMap
The widget to display object statistics.
Definition: fomStatsDialog.h:261
QSortFilterProxyModel * myInteractionStatsProxyModel
The widget to display interaction statistics.
Definition: fomStatsDialog.h:271
std::map< DtHandlePair, bool > myParamPubByIntParamHandlePair
Definition: fomStatsDialog.h:339
QStandardItem * myIntHlaManagerItem
Definition: fomStatsDialog.h:371
std::map< MAKRti::DtU32, std::vector< MAKRti::DtString > > myAttributeNamesByAttrObjectClassHandleMap
Definition: fomStatsDialog.h:326
QStandardItemModel * myParameterStatsModel
The widget to display interaction statistics.
Definition: fomStatsDialog.h:275
MAKRti::DtU32 myInteractionRootHandle
Definition: fomStatsDialog.h:319
DtFederateIdentifierType myFederateIdType
How the federate should be identified.
Definition: fomStatsDialog.h:303
QModelIndex myInteractionSelectionIndex
Definition: fomStatsDialog.h:369
This file contains the declaration of DtRtiConnectionInfo.
Stores basic information about a remote assistant.
Definition: assistantInfo.h:96
bool myFirstTimeShown
Indicates whether the dialog has been shown yet.
Definition: fomStatsDialog.h:353
QLabel * myFederateIdLabel
Label displaying the id for the selected federate.
Definition: fomStatsDialog.h:283
DtFilename myConfigDir
The directory where the GUI config file should be stored.
Definition: fomStatsDialog.h:350
QSize myLastVisibleSize
The size of the dialog the last time it was visible.
Definition: fomStatsDialog.h:356
Definition: fomStatsDialog.h:64
std::map< DtHandlePair, DtOrderType > myParamOrderByIntParamHandlePair
Definition: fomStatsDialog.h:342
QStandardItemModel * myAttributeStatsModel
The widget to display object statistics.
Definition: fomStatsDialog.h:263
QDockWidget * myInteractionStatsDockWidget
The widget to display interaction statistics.
Definition: fomStatsDialog.h:272
Definition: fomStatsDialog.h:53
Definition: fomStatsDialog.h:72
std::map< MAKRti::DtU32, MAKRti::DtU32 > myObjectParentHandleByObjectHandleMap
Definition: fomStatsDialog.h:321
int myCompid
Definition: fomStatsDialog.h:377
std::map< MAKRti::DtU32, MAKRti::DtU32 > myInteractionParentHandleByInteractionHandleMap
Definition: fomStatsDialog.h:322
DtFomTreeAndTableWidget * myInteractionStatsWidget
The widget to display interaction statistics.
Definition: fomStatsDialog.h:269
QLabel * myFederateTypeHeaderLabel
Labels presenting basic federate information.
Definition: fomStatsDialog.h:287
QDockWidget * myMainDockWidget
The dialog's main widget which is always displayed and shows basic federate identification informatio...
Definition: fomStatsDialog.h:251
std::map< MAKRti::DtU32, QModelIndex > myIntPubItemsByIntHandlesMap
Definition: fomStatsDialog.h:346
std::map< MAKRti::DtU32, bool > myObjSubByObjHandleMap
Definition: fomStatsDialog.h:336
std::map< MAKRti::DtU32, QStandardItem * > myInteractionItemsByInteractionHandleMap
Definition: fomStatsDialog.h:310
std::map< DtHandlePair, DtOrderType > myAttrOrderByObjAttrHandlePair
Definition: fomStatsDialog.h:334
unsigned myObjectStatsTreeIndex
The widget to display object statistics.
Definition: fomStatsDialog.h:262
std::map< DtHandlePair, DtTransportType > myParamTransportByIntParamHandlePair
Definition: fomStatsDialog.h:341
QStandardItem * myObjHlaManagerItem
Definition: fomStatsDialog.h:370
QSortFilterProxyModel * myParameterStatsProxyModel
The widget to display interaction statistics.
Definition: fomStatsDialog.h:276
Definition: fomStatsDialog.h:76
std::map< MAKRti::DtU32, bool > myIntPubByIntHandleMap
Definition: fomStatsDialog.h:343
QLabel * myHostNameHeaderLabel
Labels presenting basic federate information.
Definition: fomStatsDialog.h:293
DtFomStatisticsDialogParameterModelColumnEnum
Definition: fomStatsDialog.h:70
QIcon myBlankIcon
Definition: fomStatsDialog.h:362
Shows detailed statistics on a fom.
Definition: fomStatsDialog.h:38
QLabel * myFederateNameLabel
Labels presenting basic federate information.
Definition: fomStatsDialog.h:290
std::map< unsigned, unsigned > myInteractionIdToRowMap
The widget to display interaction statistics.
Definition: fomStatsDialog.h:273
std::map< MAKRti::DtU32, QModelIndex > myObjSubItemsByObjHandlesMap
Definition: fomStatsDialog.h:314
Definition: fomStatsDialog.h:55
std::map< MAKRti::DtU32, QStandardItem * > myObjectItemsByObjectHandleMap
Definition: fomStatsDialog.h:308
Contains the DtAssistantNetStatsMsgUpdateMsg class declaration.
QIcon myCheckMarkIcon
Definition: fomStatsDialog.h:361
std::map< DtHandlePair, bool > myParamSubByIntParamHandlePair
Definition: fomStatsDialog.h:340
QSortFilterProxyModel * myObjectStatsProxyModel
The widget to display object statistics.
Definition: fomStatsDialog.h:259
QLabel * myProcessNameLabel
Labels presenting basic federate information.
Definition: fomStatsDialog.h:292
bool myCollapseMomItems
Definition: fomStatsDialog.h:372
int myFederateHandle
Definition: fomStatsDialog.h:375
QDialogButtonBox * myButtonBox
The dialog button box to close the dialog.
Definition: fomStatsDialog.h:300
std::map< MAKRti::DtU32, QModelIndex > myObjPubItemsByObjHandlesMap
Definition: fomStatsDialog.h:313
Definition: fomStatsDialog.h:65
std::map< MAKRti::DtU32, bool > myObjPubByObjHandleMap
Definition: fomStatsDialog.h:335
QLabel * myFederateNameHeaderLabel
Labels presenting basic federate information.
Definition: fomStatsDialog.h:289
QLabel * myProcessNameHeaderLabel
Labels presenting basic federate information.
Definition: fomStatsDialog.h:291
std::map< MAKRti::DtU32, std::vector< MAKRti::DtString > > myParameterNamesByParamInteractionHandleMap
Definition: fomStatsDialog.h:328
#define DT_DLL_ASSISTANTAPP
Definition: rtiMsConfig.h:122
bool myShouldUseIcons
Definition: fomStatsDialog.h:365
std::map< MAKRti::DtU32, bool > myIntSubByIntHandleMap
Definition: fomStatsDialog.h:344
std::map< DtU32, MAKRti::DtString > myInterClassNamesByInterClassHdlsMap
Definition: fomStatsDialog.h:306
DtColOrRow
Definition: fomStatsDialog.h:213
std::map< DtU32, MAKRti::DtString > myObjClassNamesByObjClassHdlsMap
Definition: fomStatsDialog.h:305
DtFederateIdentifierType
Definition: assistantEnums.h:10
MAKRti::DtU32 myLatencyTestHandle
Definition: fomStatsDialog.h:316
std::map< QStandardItem *, MAKRti::DtU32 > myObjectHandlesByObjectItemsMap
Definition: fomStatsDialog.h:309
Definition: fomStatsDialog.h:215
QSortFilterProxyModel * myAttributeStatsProxyModel
The widget to display object statistics.
Definition: fomStatsDialog.h:264
std::map< DtHandlePair, bool > myAttrSubByObjAttrHandlePair
Definition: fomStatsDialog.h:332
QLabel * myFederationNameHeaderLabel
Labels presenting basic federate information.
Definition: fomStatsDialog.h:295
QWidget * myMainWidget
The dialog's main widget which is always displayed and shows basic federate identification informatio...
Definition: fomStatsDialog.h:252
QLabel * myFederateTypeLabel
Labels presenting basic federate information.
Definition: fomStatsDialog.h:288
QLabel * myHostNameLabel
Labels presenting basic federate information.
Definition: fomStatsDialog.h:294
std::pair< MAKRti::DtU32, MAKRti::DtU32 > DtHandlePair
Definition: fomStatsDialog.h:330
std::map< QStandardItem *, MAKRti::DtU32 > myInteractionHandlesByInteractionItemsMap
Definition: fomStatsDialog.h:311
std::map< DtHandlePair, bool > myAttrPubByObjAttrHandlePair
Definition: fomStatsDialog.h:331
MAKRti::DtString myFederationNameStr
Definition: fomStatsDialog.h:374
Definition: fomStatsDialog.h:46
bool myShouldDisplayOrder
Definition: fomStatsDialog.h:367
static const MAKRti::DtFilename theConfigFilename
The name of the file where the GUI configuration is stored.
Definition: fomStatsDialog.h:359
DtFomStatisticsDialogObjectModelColumnEnum
Definition: fomStatsDialog.h:43
QStandardItemModel * myObjectStatsModel
The widget to display object statistics.
Definition: fomStatsDialog.h:258
std::map< MAKRti::DtU32, std::vector< MAKRti::DtU32 > > myParameterHandlesByParamInteractionHandleMap
Definition: fomStatsDialog.h:327
DtRtiConnectionInfo myConnInfo
Definition: fomStatsDialog.h:378
QStandardItemModel * myInteractionStatsModel
The widget to display interaction statistics.
Definition: fomStatsDialog.h:270
Stores the information on an RTI connection known by the Assistant.
Definition: assistantConnectionInfo.h:36
Definition: fomStatsDialog.h:54
DtFomTreeAndTableWidget * myObjectStatsWidget
The widget to display object statistics.
Definition: fomStatsDialog.h:257
QLabel * myFederationNameLabel
Labels presenting basic federate information.
Definition: fomStatsDialog.h:296
std::map< DtHandlePair, DtTransportType > myAttrTransportByObjAttrHandlePair
Definition: fomStatsDialog.h:333
std::map< MAKRti::DtU32, std::vector< MAKRti::DtU32 > > myAttributeHandlesByAttrObjectClassHandleMap
Definition: fomStatsDialog.h:325
Definition: fomStatsDialog.h:73
DtFomStatisticsDialogInteractionModelColumnEnum
Definition: fomStatsDialog.h:51
QLabel * myIconLabel
Label displaying the icon for the selected federate.
Definition: fomStatsDialog.h:280
Definition: fomStatsDialog.h:61
QModelIndex myObjectSelectionIndex
Definition: fomStatsDialog.h:368
Definition: fomStatsDialog.h:45
bool myShouldDisplayTransport
Definition: fomStatsDialog.h:366