40 #ifndef CXMETRICWIDGET_H_
41 #define CXMETRICWIDGET_H_
43 #include "cxGuiExport.h"
98 virtual void setModified();
101 void itemSelectionChanged();
103 void removeButtonClickedSlot();
105 void loadReferencePointsSlot();
106 void addPointButtonClickedSlot();
107 void addFrameButtonClickedSlot();
108 void addToolButtonClickedSlot();
109 void addPlaneButtonClickedSlot();
110 void addAngleButtonClickedSlot();
111 void addDistanceButtonClickedSlot();
112 void addSphereButtonClickedSlot();
113 void addDonutButtonClickedSlot();
115 void cellChangedSlot(
int row,
int col);
116 virtual void cellClickedSlot(
int row,
int column);
117 void exportMetricsButtonClickedSlot();
118 void delayedUpdate();
129 virtual void showEvent(QShowEvent* event);
130 virtual void hideEvent(QHideEvent* event);
131 void enablebuttons();
134 virtual void prePaintEvent();
135 std::set<QString> getSelectedUids();
136 void createActions(QActionGroup* group);
137 bool checkEqual(
const std::vector<MetricBasePtr>& a,
const std::vector<MetricBasePtr>& b)
const;
138 void resetWrappersAndEditWidgets(std::vector<MetricBasePtr> wrappers);
139 void initializeTable();
140 void updateTableContents();
141 void expensizeColumnResize();
142 void updateMetricWrappers();
144 QAction* createAction(QActionGroup* group, QString iconName, QString text, QString tip,
const char* slot);
146 QVBoxLayout* mVerticalLayout;
147 QTableWidget* mTable;
149 std::vector<MetricBasePtr> mMetrics;
151 QAction* mRemoveAction;
152 QAction* mLoadReferencePointsAction;
153 QStackedWidget* mEditWidgets;
157 QTimer* mDelayedUpdateTimer;
boost::shared_ptr< class Data > DataPtr
boost::shared_ptr< class MetricBase > MetricBasePtr
boost::shared_ptr< class MetricManager > MetricManagerPtr
boost::shared_ptr< class PatientModelService > PatientModelServicePtr
cxLogicManager_EXPORT ViewServicePtr viewService()