19 #include <QHBoxLayout> 23 : QWidgetAction(parent)
30 : QWidgetAction(parent)
42 connect(
m_OpacitySlider, &QSlider::valueChanged,
this, &QmitkDataNodeOpacityAction::OnOpacityChanged);
44 QLabel* opacityLabel =
new QLabel(tr(
"Opacity: "));
45 QHBoxLayout* opacityWidgetLayout =
new QHBoxLayout;
46 opacityWidgetLayout->setContentsMargins(4, 4, 4, 4);
47 opacityWidgetLayout->addWidget(opacityLabel);
50 QWidget* opacityWidget =
new QWidget;
51 opacityWidget->setLayout(opacityWidgetLayout);
53 setDefaultWidget(opacityWidget);
55 connect(
this, &QAction::changed,
this, &QmitkDataNodeOpacityAction::OnActionChanged);
60 if (
nullptr == dataNode)
75 void QmitkDataNodeOpacityAction::OnOpacityChanged(
int value)
78 if (dataNode.IsNull())
85 float opacity =
static_cast<float>(value) / 100.0f;
86 dataNode->SetFloatProperty(
"opacity", opacity, baseRenderer);
88 if (
nullptr == baseRenderer)
98 void QmitkDataNodeOpacityAction::OnActionChanged()
101 if (dataNode.IsNull())
mitk::BaseRenderer::Pointer GetBaseRenderer()
Grants access to the base renderer stored for the action. Will return nullptr if renderer was never s...
QmitkDataNodeOpacityAction(QWidget *parent, berry::IWorkbenchPartSite::Pointer workbenchPartSite)
bool GetFloatProperty(const char *propertyKey, float &floatValue, const mitk::BaseRenderer *renderer=nullptr) const
Convenience access method for float properties (instances of FloatProperty)
void InitializeAction() override
void InitializeWithDataNode(const mitk::DataNode *dataNode) override
static RenderingManager * GetInstance()
mitk::DataNode::Pointer GetSelectedNode() const
QSlider * m_OpacitySlider
void RequestUpdate(vtkRenderWindow *renderWindow)
void RequestUpdateAll(RequestType type=REQUEST_UPDATE_ALL)
Class for nodes of the DataTree.