Page MenuHomePhabricator

private virtual functions in QmitkAbstractView
Closed, InvalidPublic

Description

Hi,

some functions of the QmitkAbstractView is private, although they are virtual and the documentation comments also suggest that they may be overridden by the derived classes.

I would like to override the OnSelectionChanged function, but I get compile error because of this.

E.g. line 282-316:

private:

/**
 * Reimplement this method to set a custom selection provider. This method is
 * called once after CreateQtPartControl().
 *
 * The default implementation registers a QmitkDataNodeSelectionProvider with
 * a QItemSelectionModel returned by GetDataNodeSelectionModel().
 */
virtual void SetSelectionProvider();

/**
 * Reimplement this method to supply a custom Qt selection model. The custom
 * model will be used with the default selection provider QmitkDataNodeSelectionProvider
 * to inform the MITK Workbench about selection changes.
 *
 * If you reimplement this method, the methods FireNodeSelected() and FireNodesSelected()
 * will have no effect. Use your custom selection model to notify the MITK Workbench
 * about selection changes.
 *
 * The Qt item model used with the custom selection model must return mitk::DataNode::Pointer
 * objects for model indexes when the role is QmitkDataNodeRole.
 */
virtual QItemSelectionModel* GetDataNodeSelectionModel() const;

/**
 * Called when the selection in the workbench changed.
 * May be reimplemented by deriving classes.
 *
 * \param part The source part responsible for the selection change.
 * \param nodes A list of selected nodes.
 *
 * \see OnNullSelection
 */
virtual void OnSelectionChanged(berry::IWorkbenchPart::Pointer part, const QList<mitk::DataNode::Pointer> &nodes);

...

Miklos

Event Timeline

Sorry, the private virtual functions are actually valid in C++. I could solve the problem.

kislinsk changed the task status from Invalid to Spite.Jun 27 2018, 1:30 PM
kislinsk added a project: Bulk Edit.
kislinsk changed the task status from Spite to Invalid.Jun 27 2018, 1:36 PM
kislinsk removed a project: Bulk Edit.