|
MITK-IGT
IGT Extension of MITK
|
Abstract superclass for all custom control widgets of mitk::USDevice classes. More...
#include <QmitkUSAbstractCustomWidget.h>
Public Member Functions | |
| QmitkUSAbstractCustomWidget (QWidget *parent=nullptr) | |
| ~QmitkUSAbstractCustomWidget () override | |
| void | SetDevice (mitk::USDevice::Pointer device) |
| mitk::USDevice::Pointer | GetDevice () const |
| virtual void | OnDeviceSet ()=0 |
| Called every time a mitk::USDevice was set with QmitkUSAbstractCustomWidget::SetDevice(). A sublcass can implement this function to handle initialiation actions necessary when a device was set. | |
| virtual std::string | GetDeviceClass () const =0 |
| Subclass must implement this method to return device class of corresponding mitk::USDevice. | |
| virtual QmitkUSAbstractCustomWidget * | Clone (QWidget *parent=nullptr) const =0 |
| Subclass must implement this method to return a pointer to a copy of the object. | |
| virtual void | Initialize ()=0 |
| Method for initializing the Qt stuff of the widget (setupUI, connect). This method will be called in CloneForQt() and has to be implemented by concrete subclasses. | |
| QmitkUSAbstractCustomWidget * | CloneForQt (QWidget *parent=nullptr) const |
| Return pointer to copy of the object. Internally use of QmitkUSAbstractCustomWidget::Clone() with additionaly setting an internal flag that the object was really cloned. | |
| us::ServiceProperties | GetServiceProperties () const |
| Returns the properties of the micro service. Properties consist of just the device class of the corresponding mitk::USDevice. | |
| void | showEvent (QShowEvent *event) override |
| Overwritten Qt even method. It is checked if the object was cloned with QmitkUSAbstractCustomWidget::CloneForQt() before. An exception is thrown if not. This is done, because using the object from micro service directly in Qt without cloning it first can cause problems after Qt deleted the object. | |
Static Public Member Functions | |
| static std::string | US_DEVICE_PROPKEY_CLASS () |
| Property key for the class name of corresponding us device object. | |
Abstract superclass for all custom control widgets of mitk::USDevice classes.
The custom control widgets are made available using a us::PrototypeServiceFactory. This means that each concrete subclass should be registered in the microservice by calling QmitkUSAbstractCustomWidget::RegisterService() on an object. The best place for doing this would be in the corresponding module or plugin activator.
Afterwards a copy of the registered object can be obtained from the microservice as shown in the example below. Do not forget to call QmitkUSAbstractCustomWidget::CloneForQt() on the object received from the microservice. This is necessary to allow deleting the object as it is necessary in Qt for removing it from a layout.
Subclasses must implement three methods:
The code to use a custom control widget in a plugin can look like this:
Definition at line 65 of file QmitkUSAbstractCustomWidget.h.
| QmitkUSAbstractCustomWidget::QmitkUSAbstractCustomWidget | ( | QWidget * | parent = nullptr | ) |
Definition at line 21 of file QmitkUSAbstractCustomWidget.cpp.
|
override |
Definition at line 26 of file QmitkUSAbstractCustomWidget.cpp.
|
pure virtual |
Subclass must implement this method to return a pointer to a copy of the object.
Implemented in QmitkUSControlsCustomVideoDeviceWidget.
| QmitkUSAbstractCustomWidget * QmitkUSAbstractCustomWidget::CloneForQt | ( | QWidget * | parent = nullptr | ) | const |
Return pointer to copy of the object. Internally use of QmitkUSAbstractCustomWidget::Clone() with additionaly setting an internal flag that the object was really cloned.
Definition at line 42 of file QmitkUSAbstractCustomWidget.cpp.
| mitk::USDevice::Pointer QmitkUSAbstractCustomWidget::GetDevice | ( | ) | const |
Definition at line 37 of file QmitkUSAbstractCustomWidget.cpp.
|
pure virtual |
Subclass must implement this method to return device class of corresponding mitk::USDevice.
Implemented in QmitkUSControlsCustomVideoDeviceWidget.
| us::ServiceProperties QmitkUSAbstractCustomWidget::GetServiceProperties | ( | ) | const |
Returns the properties of the micro service. Properties consist of just the device class of the corresponding mitk::USDevice.
Definition at line 50 of file QmitkUSAbstractCustomWidget.cpp.
|
pure virtual |
Method for initializing the Qt stuff of the widget (setupUI, connect). This method will be called in CloneForQt() and has to be implemented by concrete subclasses.
Implemented in QmitkUSControlsCustomVideoDeviceWidget.
|
pure virtual |
Called every time a mitk::USDevice was set with QmitkUSAbstractCustomWidget::SetDevice(). A sublcass can implement this function to handle initialiation actions necessary when a device was set.
Implemented in QmitkUSControlsCustomVideoDeviceWidget.
| void QmitkUSAbstractCustomWidget::SetDevice | ( | mitk::USDevice::Pointer | device | ) |
Definition at line 30 of file QmitkUSAbstractCustomWidget.cpp.
|
override |
Overwritten Qt even method. It is checked if the object was cloned with QmitkUSAbstractCustomWidget::CloneForQt() before. An exception is thrown if not. This is done, because using the object from micro service directly in Qt without cloning it first can cause problems after Qt deleted the object.
| mitk::Exception |
Definition at line 59 of file QmitkUSAbstractCustomWidget.cpp.
|
static |
Property key for the class name of corresponding us device object.
Definition at line 15 of file QmitkUSAbstractCustomWidget.cpp.