Widgets: Add ProgressBarWidget

This commit is contained in:
SirLynix
2024-01-16 14:13:06 +01:00
parent c8776bc950
commit 964d32b34e
11 changed files with 249 additions and 6 deletions

View File

@@ -24,6 +24,8 @@ namespace Nz
class ImageButtonWidgetStyle;
class LabelWidget;
class LabelWidgetStyle;
class ProgressBarWidget;
class ProgressBarWidgetStyle;
class ScrollAreaWidget;
class ScrollAreaWidgetStyle;
class ScrollbarWidget;
@@ -45,6 +47,7 @@ namespace Nz
virtual std::unique_ptr<CheckboxWidgetStyle> CreateStyle(CheckboxWidget* checkboxWidget) const = 0;
virtual std::unique_ptr<ImageButtonWidgetStyle> CreateStyle(ImageButtonWidget* imageButtonWidget) const = 0;
virtual std::unique_ptr<LabelWidgetStyle> CreateStyle(LabelWidget* labelWidget) const = 0;
virtual std::unique_ptr<ProgressBarWidgetStyle> CreateStyle(ProgressBarWidget* labelWidget) const = 0;
virtual std::unique_ptr<ScrollAreaWidgetStyle> CreateStyle(ScrollAreaWidget* scrollareaWidget) const = 0;
virtual std::unique_ptr<ScrollbarWidgetStyle> CreateStyle(ScrollbarWidget* scrollbarWidget) const = 0;
virtual std::unique_ptr<ScrollbarButtonWidgetStyle> CreateStyle(ScrollbarButtonWidget* scrollbarButtonWidget) const = 0;
@@ -183,6 +186,20 @@ namespace Nz
LabelWidgetStyle& operator=(const LabelWidgetStyle&) = delete;
LabelWidgetStyle& operator=(LabelWidgetStyle&&) = default;
};
class NAZARA_WIDGETS_API ProgressBarWidgetStyle : public BaseWidgetStyle
{
public:
using BaseWidgetStyle::BaseWidgetStyle;
ProgressBarWidgetStyle(const ProgressBarWidgetStyle&) = delete;
ProgressBarWidgetStyle(ProgressBarWidgetStyle&&) = default;
~ProgressBarWidgetStyle() = default;
virtual void Layout(const Vector2f& size) = 0;
ProgressBarWidgetStyle& operator=(const ProgressBarWidgetStyle&) = delete;
ProgressBarWidgetStyle& operator=(ProgressBarWidgetStyle&&) = default;
};
class NAZARA_WIDGETS_API ScrollAreaWidgetStyle : public BaseWidgetStyle
{