ladybird/Userland/Applications/PixelPaint/ToolPropertiesWidget.h
Marcus Nilsson 4a57a4a0b3 PixelPaint: Use a StackWidget in ToolPropertiesWidget
Previously changing tools while simultaneously using a widget like a
slider would result in a event_dispatch() failure.
Instead use a StackWidget to set the active widget.
2021-08-06 23:59:14 +02:00

37 lines
714 B
C++

/*
* Copyright (c) 2020, Ben Jilks <benjyjilks@gmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/RefPtr.h>
#include <LibGUI/Forward.h>
#include <LibGUI/StackWidget.h>
#include <LibGUI/Widget.h>
namespace PixelPaint {
class Tool;
class ToolPropertiesWidget final : public GUI::Widget {
C_OBJECT(ToolPropertiesWidget);
public:
virtual ~ToolPropertiesWidget() override;
void set_active_tool(Tool*);
private:
ToolPropertiesWidget();
RefPtr<GUI::GroupBox> m_group_box;
Tool* m_active_tool { nullptr };
RefPtr<GUI::StackWidget> m_tool_widget_stack;
RefPtr<GUI::Widget> m_blank_widget;
GUI::Widget* m_active_tool_widget { nullptr };
};
}