/* * Copyright (c) 2020, Ben Jilks * * SPDX-License-Identifier: BSD-2-Clause */ #include "ToolPropertiesWidget.h" #include "Tool.h" #include #include REGISTER_WIDGET(PixelPaint, ToolPropertiesWidget); namespace PixelPaint { ToolPropertiesWidget::ToolPropertiesWidget() { set_layout(); m_group_box = add("Tool properties"); auto& layout = m_group_box->set_layout(); layout.set_margins({ 20, 10, 10 }); m_tool_widget_stack = m_group_box->add(); m_blank_widget = m_tool_widget_stack->add(); } void ToolPropertiesWidget::set_active_tool(Tool* tool) { if (tool == m_active_tool) return; m_active_tool = tool; m_active_tool_widget = tool->get_properties_widget(); if (m_active_tool_widget == nullptr) { m_tool_widget_stack->set_active_widget(m_blank_widget); return; } if (!m_tool_widget_stack->is_ancestor_of(*m_active_tool_widget)) m_tool_widget_stack->add_child(*m_active_tool_widget); m_tool_widget_stack->set_active_widget(m_active_tool_widget); } ToolPropertiesWidget::~ToolPropertiesWidget() { } }