19 #ifndef CXMETRICWIDGET_H_
20 #define CXMETRICWIDGET_H_
22 #include "cxGuiExport.h"
76 virtual void setModified();
79 void itemSelectionChanged();
81 void removeButtonClickedSlot();
83 void loadReferencePointsSlot();
84 void addPointButtonClickedSlot();
85 void addFrameButtonClickedSlot();
86 void addToolButtonClickedSlot();
87 void addPlaneButtonClickedSlot();
88 void addAngleButtonClickedSlot();
89 void addDistanceButtonClickedSlot();
90 void addROIButtonClickedSlot();
91 void addSphereButtonClickedSlot();
92 void addDonutButtonClickedSlot();
93 void addCustomButtonClickedSlot();
95 void cellChangedSlot(
int row,
int col);
96 virtual void cellClickedSlot(
int row,
int column);
97 void exportMetricsButtonClickedSlot();
98 void importMetricsButtonClickedSlot();
110 virtual void showEvent(QShowEvent* event);
111 virtual void hideEvent(QHideEvent* event);
112 void enablebuttons();
113 virtual void prePaintEvent();
114 std::set<QString> getSelectedUids();
115 void createActions(QActionGroup* group);
116 bool checkEqual(
const std::vector<MetricBasePtr>& a,
const std::vector<MetricBasePtr>& b)
const;
117 void resetWrappersAndEditWidgets(std::vector<MetricBasePtr> wrappers);
118 void initializeTable();
119 void updateTableContents();
120 void expensizeColumnResize();
121 void updateMetricWrappers();
123 QAction* createAction(QActionGroup* group, QString iconName, QString text, QString tip,
const char* slot);
125 QVBoxLayout* mVerticalLayout;
126 QTableWidget* mTable;
128 std::vector<MetricBasePtr> mMetrics;
130 QAction* mRemoveAction;
131 QAction* mLoadReferencePointsAction;
132 QStackedWidget* mEditWidgets;
136 QTimer* mDelayedUpdateTimer;