54 Q_PROPERTY(
int selectionMode READ selectionMode WRITE setSelectionMode)
55 Q_PROPERTY(
bool headerVisible READ headerVisible WRITE setHeaderVisible)
56 Q_PROPERTY(
bool visibilityColumnVisible READ visibilityColumnVisible WRITE setVisibilityColumnVisible)
57 Q_PROPERTY(
bool colorColumnVisible READ colorColumnVisible WRITE setColorColumnVisible)
58 Q_PROPERTY(
bool opacityColumnVisible READ opacityColumnVisible WRITE setOpacityColumnVisible)
59 Q_PROPERTY(
bool statusColumnVisible READ statusColumnVisible WRITE setStatusColumnVisible)
60 Q_PROPERTY(
bool layerColumnVisible READ layerColumnVisible WRITE setLayerColumnVisible)
61 Q_PROPERTY(
bool readOnly READ readOnly WRITE setReadOnly)
62 Q_PROPERTY(
bool filterBarVisible READ filterBarVisible WRITE setFilterBarVisible)
63 Q_PROPERTY(QString textFilter READ textFilter WRITE setTextFilter)
64 Q_PROPERTY(
bool jumpToSelectedSegmentEnabled READ jumpToSelectedSegmentEnabled WRITE setJumpToSelectedSegmentEnabled)
65 Q_PROPERTY(
int segmentCount READ segmentCount)
66 Q_PROPERTY(QString useTerminologySelectorSettingsKey READ useTerminologySelectorSettingsKey WRITE setUseTerminologySelectorSettingsKey)
67 Q_PROPERTY(
bool useTerminologySelector READ useTerminologySelector WRITE setUseTerminologySelector)
68 Q_PROPERTY(
bool terminologySelectorOptionVisible READ terminologySelectorOptionVisible WRITE setTerminologySelectorOptionVisible)
69 Q_PROPERTY(
bool terminologySelectorAutoDisable READ terminologySelectorAutoDisable WRITE setTerminologySelectorAutoDisable)
81 Q_INVOKABLE QTableView* tableWidget();
84 int segmentCount() const;
87 Q_INVOKABLE QStringList selectedSegmentIDs();
89 Q_INVOKABLE
void setSelectedSegmentIDs(QStringList segmentIDs);
91 Q_INVOKABLE
void clearSelection();
94 Q_INVOKABLE static QString terminologyTooltipForSegment(
vtkSegment* segment);
98 bool visibilityColumnVisible();
99 bool colorColumnVisible();
100 bool opacityColumnVisible();
101 bool statusColumnVisible();
102 bool layerColumnVisible();
104 bool filterBarVisible();
108 Q_INVOKABLE
void setHideSegments(const QStringList& segmentIDs);
109 Q_INVOKABLE QStringList hideSegments()const;
112 Q_INVOKABLE QStringList displayedSegmentIDs()const;
119 QString textFilter();
125 QString useTerminologySelectorSettingsKey()const;
129 bool useTerminologySelector()const;
132 bool terminologySelectorOptionVisible()const;
135 bool terminologySelectorAutoDisable()const;
139 Q_INVOKABLE
bool statusShown(
int status);
142 Q_INVOKABLE
int rowForSegmentID(QString segmentID);
144 Q_INVOKABLE QString segmentIDForRow(
int row);
155 void setSelectionMode(
int mode);
157 void setHeaderVisible(
bool visible);
158 void setVisibilityColumnVisible(
bool visible);
159 void setColorColumnVisible(
bool visible);
160 void setOpacityColumnVisible(
bool visible);
161 void setStatusColumnVisible(
bool visible);
162 void setLayerColumnVisible(
bool visible);
163 void setReadOnly(
bool aReadOnly);
164 void setFilterBarVisible(
bool visible);
167 void showOnlySelectedSegments();
174 void setJumpToSelectedSegmentEnabled(
bool enable);
177 void setSelectedSegmentsStatus(
int status=-1);
180 void clearSelectedSegments();
183 void moveSelectedSegmentsUp();
185 void moveSelectedSegmentsDown();
189 void setTextFilter(QString textFilter);
192 void setUseTerminologySelectorSettingsKey(QString settingsKey);
194 void setUseTerminologySelector(
bool useTerminologySelector);
196 void setTerminologySelectorOptionVisible(
bool visible);
198 void setTerminologySelectorAutoDisable(
bool autoDisable);
202 void setStatusShown(
int status,
bool shown);
205 bool jumpToSelectedSegmentEnabled()const;
209 void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
213 void segmentAboutToBeModified(const QString &segmentID);
217 void onSegmentSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
220 void onVisibility3DActionToggled(
bool visible);
221 void onVisibility2DFillActionToggled(
bool visible);
222 void onVisibility2DOutlineActionToggled(
bool visible);
225 void onSegmentsFilterModified();
227 void onShowStatusButtonClicked();
230 void onSegmentsTableClicked(const QModelIndex& modelIndex);
232 void onSegmentsTableDoubleClicked(const QModelIndex& modelIndex);
235 void endProcessing();
237 void onSegmentAddedOrRemoved();
241 void updateWidgetFromMRML();
244 void updateMRMLFromFilterParameters();
247 void modelAboutToBeReset();
251 void onUseTerminologyActionToggled(
bool useTerminology);
260 void setSegmentVisibility(QObject* senderObject,
int visible,
int visible3D,
int visible2DFill,
int visible2DOutline);
261 void setSegmentVisibility(QString segmentId,
int visible,
int visible3D,
int visible2DFill,
int visible2DOutline);
264 bool eventFilter(QObject* target, QEvent* event) override;
267 void contextMenuEvent(QContextMenuEvent* event) override;
269 bool userSetCustomNameOrColor();
272 QScopedPointer<qMRMLSegmentsTableViewPrivate> d_ptr;