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);