40 #ifndef CXMETRICWIDGET_H_
41 #define CXMETRICWIDGET_H_
43 #include "cxGuiExport.h"
95 virtual QString defaultWhatsThis()
const;
100 virtual void setModified();
103 void itemSelectionChanged();
105 void removeButtonClickedSlot();
107 void loadReferencePointsSlot();
108 void addPointButtonClickedSlot();
109 void addFrameButtonClickedSlot();
110 void addToolButtonClickedSlot();
111 void addPlaneButtonClickedSlot();
112 void addAngleButtonClickedSlot();
113 void addDistanceButtonClickedSlot();
114 void addSphereButtonClickedSlot();
115 void addDonutButtonClickedSlot();
117 void cellChangedSlot(
int row,
int col);
118 virtual void cellClickedSlot(
int row,
int column);
119 void exportMetricsButtonClickedSlot();
120 void delayedUpdate();
131 virtual void showEvent(QShowEvent* event);
132 virtual void hideEvent(QHideEvent* event);
133 void enablebuttons();
136 virtual void prePaintEvent();
137 std::set<QString> getSelectedUids();
138 void createActions(QActionGroup* group);
139 bool checkEqual(
const std::vector<MetricBasePtr>& a,
const std::vector<MetricBasePtr>& b)
const;
140 void resetWrappersAndEditWidgets(std::vector<MetricBasePtr> wrappers);
141 void initializeTable();
142 void updateTableContents();
143 void expensizeColumnResize();
144 void updateMetricWrappers();
146 QAction* createAction(QActionGroup* group, QString iconName, QString text, QString tip,
const char* slot);
148 QVBoxLayout* mVerticalLayout;
149 QTableWidget* mTable;
151 std::vector<MetricBasePtr> mMetrics;
153 QAction* mRemoveAction;
154 QAction* mLoadReferencePointsAction;
155 QStackedWidget* mEditWidgets;
159 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