6 #ifndef federateStatsDialog_H_
7 #define federateStatsDialog_H_
10 #include <vlutil/vlMachineTypes.h>
11 #include <vlutil/vlFilename.h>
13 #include <qmainwindow.h>
32 class QStandardItemModel;
33 class QSortFilterProxyModel;
34 class QDialogButtonBox;
54 DtMsgModelNumberOfColumns
66 DtRtiAmbServicesModelNumberOfColumns
78 DtFedAmbCallbacksModelNumberOfColumns
92 DtObjectModelNumberOfColumns
104 DtInteractionModelNumberOfColumns
109 const char* getObjectHeader(
const DtFederateStatisticsDialogObjectModelColumnEnum col)
const;
110 const char* getInteractionHeader(
const DtFederateStatisticsDialogInteractionModelColumnEnum col )
const;
111 const char* getRtiAmbServicesHeader(
const DtFederateStatisticsDialogRtiAmbServicesModelColumnEnum col )
const;
112 const char* getFedAmbCallbacksHeader(
const DtFederateStatisticsDialogFedAmbCallbacksModelColumnEnum col )
const;
113 const char* getMsgHeader(
const DtFederateStatisticsDialogMsgModelColumnEnum col )
const;
118 const char* getObjectHeaderToolTip(
const DtFederateStatisticsDialogObjectModelColumnEnum col)
const;
119 const char* getInteractionHeaderToolTip(
const DtFederateStatisticsDialogInteractionModelColumnEnum col )
const;
120 const char* getRtiAmbServicesHeaderToolTip(
const DtFederateStatisticsDialogRtiAmbServicesModelColumnEnum col )
const;
121 const char* getFedAmbCallbacksHeaderToolTip(
const DtFederateStatisticsDialogFedAmbCallbacksModelColumnEnum col )
const;
122 const char* getMsgHeaderToolTip(
const DtFederateStatisticsDialogMsgModelColumnEnum col )
const;
128 QWidget* parent = 0, Qt::WindowFlags f = 0);
134 virtual QSize sizeHint()
const;
137 void setFederateIcon(
const QPixmap& icon);
140 void setFederateType(
const QString& t);
143 void setFederateName(
const QString& n);
146 void setFederateProcess(
const QString& p);
149 void setFederateHost(
const QString& h);
152 void setFederationName(
const QString& n);
154 virtual void closeEvent(QCloseEvent * event);
158 virtual void updateMsgTablesAndGraphs(DtFloat64 currTime,
const std::vector<DtRtiMsgKind>& msgKinds,
const std::vector<DtU32>& msgNumSent,
159 const std::vector<DtU32>& msgNumReceived,
const std::vector<DtU32>& msgBytesSent,
160 const std::vector<DtU32>& msgBytesReceived);
162 virtual void updateRtiAmbTablesAndGraphs(DtFloat64 currTime,
const std::vector<DtRtiAmbAPIType>& rtiAmbTypes,
163 const std::vector<DtU32>& rtiAmbNumCalls,
const std::vector<DtFloat64>& rtiAmbTotalTime,
164 const std::vector<DtFloat64>& rtiAmbAvgTime,
const std::vector<DtFloat64>& rtiAmbMinTime,
165 const std::vector<DtFloat64>& rtiAmbMaxTime);
167 virtual void updateFedAmbTablesAndGraphs(DtFloat64 currTime,
const std::vector<DtFedAmbAPIType>& fedAmbTypes,
168 const std::vector<DtU32>& fedAmbNumCalls,
const std::vector<DtFloat64>& fedAmbTotalTime,
169 const std::vector<DtFloat64>& fedAmbAvgTime,
const std::vector<DtFloat64>& fedAmbMinTime,
170 const std::vector<DtFloat64>& fedAmbMaxTime);
172 virtual void updateObjectsTablesAndGraphs(DtFloat64 currTime,
const std::vector<DtU32>& objectInstanceHandles,
173 const std::vector<DtU32>& objectClassHandles,
const std::vector<DtU32>& objectNumRegistered,
174 const std::vector<DtU32>& objectBytesReceived,
const std::vector<DtU32>& objectUpdatesSent,
175 const std::vector<DtU32>& objectBytesSent, std::set<DtU32>& unknownInstanceNamesHandles,
176 std::set<DtU32>& unknownClassNamesHandles);
178 virtual void updateInteractionsTablesAndGraphs(DtFloat64 currTime,
179 const std::vector<DtU32>& interactionClassHandles,
180 const std::vector<DtU32>& interactionUpdatesReceived,
181 const std::vector<DtU32>& interactionBytesReceived,
182 const std::vector<DtU32>& interactionUpdatesSent,
const std::vector<DtU32>& interactionBytesSent,
183 std::set<DtU32>&unknownClassNamesHandles);
185 virtual void updateObjectTablesInstanceNames(
const std::vector<DtU32>& instanceHandles,
186 const std::vector<MAKRti::DtString>& instanceNames);
188 virtual void updateObjectTablesClassNames(
const std::vector<DtU32>& classHandles,
189 const std::vector<MAKRti::DtString>& classNames);
191 virtual void updateInteractionTablesClassNames(
const std::vector<DtU32>& classHandles,
192 const std::vector<MAKRti::DtString>& classNames );
195 const std::set<DtU32>& getUnknownObjectInstanceNamesHandlesAndClear()
const;
196 void clearUnknownObjInstanceNamesHdls();
199 void saveGuiConfiguration();
203 void switchFederate();
210 void setCompId(
unsigned int compId);
216 void setFederationNameStr(
const MAKRti::DtString &
federationName);
217 MAKRti::DtString federationNameStr()
const;
219 void setFederateHandle(
unsigned int federateHandle);
220 unsigned federateHandle()
const;
231 void loadGuiConfiguration();
234 virtual void showEvent( QShowEvent* event );
237 virtual void hideEvent( QHideEvent* event );
243 void federateIdentifierUpdated(
unsigned int );
248 void initBasicInfoWidgets();
251 void initMsgStatsWidget();
254 void initServiceStatsWidget();
257 void initCallbackStatsWidget();
260 void initObjectStatsWidget();
263 void initInteractionStatsWidget();
266 void initButtonBoxWidget();
271 QDockWidget* initDockWidget(
bool isFixed, Qt::Orientation ori,
const QString& name =
"");
281 unsigned addHeaderItem(QStandardItemModel* model,
const QString& text,
282 const QString& toolTip, DtColOrRow colOrRow);
285 void updateFederateId(
const QString& fedId);
288 void updateFederateDescription();
298 MAKRti::DtString findObjectInstanceName(DtU32 instanceHandle, std::set<DtU32>&unknownInstanceNamesHandles);
299 MAKRti::DtString
findObjectClassName(DtU32 classHandle, std::set<DtU32>&unknownClassNamesHandles);
300 MAKRti::DtString findInteractionClassName(DtU32 classHandle, std::set<DtU32>&unknownClassNamesHandles);
421 #endif // federateStatsDialog_H_