1 #ifndef fomStatsDialog_h__
2 #define fomStatsDialog_h__
9 #include <vlutil/vlMachineTypes.h>
10 #include <vlutil/vlFilename.h>
12 #include <qmainwindow.h>
15 #include "vlutil/vlFedTarget.h"
16 #include <qstandarditemmodel.h>
28 class QStandardItemModel;
29 class QSortFilterProxyModel;
30 class QDialogButtonBox;
47 DtObjectModelNumberOfColumns
55 DtInteractionModelNumberOfColumns
66 DtAttributeModelNumberOfColumns
77 DtParameterNumberOfColumns
82 QWidget* parent = 0, Qt::WindowFlags f = 0);
88 virtual QSize sizeHint()
const;
91 void setFederateIcon(
const QPixmap& icon);
94 void setFederateType(
const QString& t);
97 void setFederateName(
const QString& n);
100 void setFederateProcess(
const QString& p);
103 void setFederateHost(
const QString& h);
106 void setFederationName(
const QString& n);
108 virtual void closeEvent(QCloseEvent * event);
110 void saveGuiConfiguration();
112 void updateObjectFomTreeData(
const std::vector<MAKRti::DtU32>& classHandles,
113 const std::vector<MAKRti::DtU32>& parentClassHandles,
const std::vector<MAKRti::DtString>& classNames);
114 void updateInteractionFomTreeData(
const std::vector<MAKRti::DtU32>& classHandles,
115 const std::vector<MAKRti::DtU32>& parentClassHandles,
const std::vector<MAKRti::DtString>& classNames);
118 virtual void updateAttributesTable(
const MAKRti::DtString& name, MAKRti::DtU32 handle);
120 virtual void updateParametersTable(
const MAKRti::DtString& name, MAKRti::DtU32 handle);
122 void clearAttributesNames();
124 void updateAttributeNames(
const std::vector<MAKRti::DtU32>& objectClassHandles,
125 const std::vector<MAKRti::DtU32>& attributeHandles,
126 const std::vector<MAKRti::DtString>& attributeNames,
127 const std::vector<MAKRti::DtU32>& parentClassHandles,
128 const std::vector<MAKRti::DtU32>& totalClassHandles);
130 void clearParameterNames();
132 void updateParameterNames(
const std::vector<MAKRti::DtU32>& interClassHandles,
133 const std::vector<MAKRti::DtU32>& paramHandles,
134 const std::vector<MAKRti::DtString>& paramNames,
135 const std::vector<MAKRti::DtU32>& parentInterHandles,
136 const std::vector<MAKRti::DtU32>& totalInterHandles);
137 void updateAttrFomState(
const std::vector<MAKRti::DtU32>& objectClassHandles,
138 const std::vector<MAKRti::DtU32>& attributeHandles,
139 const std::vector<bool>& attributePub,
140 const std::vector<bool>& attributeSub,
141 const std::vector<DtTransportType>& attributeTransport,
142 const std::vector<DtOrderType>& attributeOrder,
143 const std::vector<MAKRti::DtU32>& objectPubSubHandles,
144 const std::vector<bool>& objPub,
145 const std::vector<bool>& ObjSub);
146 void updateParamFomState(
const std::vector<MAKRti::DtU32>& objectClassHandles,
147 const std::vector<MAKRti::DtU32>& attributeHandles,
148 const std::vector<bool>& attributePub,
const std::vector<bool>& attributeSub,
149 const std::vector<DtTransportType>& attributeTransport,
150 const std::vector<DtOrderType>& attributeOrder,
151 const std::vector<MAKRti::DtU32>& objectPubSubHandles,
152 const std::vector<bool>& objPub,
const std::vector<bool>& ObjSub);
155 void switchFederate();
159 void setFederationNameStr(
const MAKRti::DtString&
federationName);
160 MAKRti::DtString federationNameStr();
161 void setFederateHandle(
int federateHandle);
162 int federateHandle();
165 void setCompId(
unsigned int compId);
176 void loadGuiConfiguration();
179 virtual void showEvent( QShowEvent* event );
182 virtual void hideEvent( QHideEvent* event );
187 void federateIdentifierUpdated(
unsigned int );
189 void processObjectSelection(
const QModelIndex& index,
bool forceUpdate =
false);
191 void processInteractionSelection(
const QModelIndex& index,
bool forceUpdate =
false);
196 void initBasicInfoWidgets();
199 void initObjectStatsWidget();
202 void initInteractionStatsWidget();
205 void initButtonBoxWidget();
210 QDockWidget* initDockWidget(
bool isFixed, Qt::Orientation ori,
const QString& name =
"");
220 unsigned addHeaderItem(QStandardItemModel* model,
const QString& text,
221 DtColOrRow colOrRow);
224 void updateFederateId(
const QString& fedId);
233 MAKRti::DtString getFullObjectName(QStandardItem * objectItem,
bool addHandle =
false);
234 MAKRti::DtString getFullObjectName(MAKRti::DtU32 objectHandle,
bool addHandle =
false);
235 MAKRti::DtString getFullInteractionName(QStandardItem * interactionItem,
bool addHandle =
false);
236 MAKRti::DtString getFullInteractionName(MAKRti::DtU32 interactionHandle,
bool addHandle =
false);
237 const char * getObjHeader(
const enum DtFomStatisticsDialogObjectModelColumnEnum col );
238 const char * getInterHeader(
const enum DtFomStatisticsDialogInteractionModelColumnEnum col );
239 const char * getAttrHeader(
const enum DtFomStatisticsDialogAttributeModelColumnEnum col );
240 const char * getParamHeader(
const enum DtFomStatisticsDialogParameterModelColumnEnum col );
241 void updateObjectPubSub(
const std::vector<MAKRti::DtU32>& objectPubSubHandles,
242 const std::vector<bool>& objPub,
243 const std::vector<bool>& ObjSub);
244 void updateInteractionPubSub(
const std::vector<MAKRti::DtU32>& objectPubSubHandles,
245 const std::vector<bool>& objPub,
const std::vector<bool>& objSub);
379 #endif // fomStatsDialog_h__