Modules/Widgets/examples/SimpleGUI.hpp
IlyaShurupov a55a5ec5cc awidgets
2024-11-24 22:41:14 +03:00

46 lines
No EOL
1.2 KiB
C++

#include "Widgets.hpp"
namespace tp {
template <typename Events, typename Canvas>
class SimpleWidget : public CollapsableMenu<Events, Canvas> {
public:
SimpleWidget() {
this->addWidgetToMenu(&mInMenuButton1);
this->addWidgetToMenu(&mInMenuButton2);
this->addWidgetToMenu(&mLabel);
this->addWidgetToMenu(&mSlider);
mInMenuButton1.mLabel.mLabel = "Button1";
mInMenuButton2.mLabel.mLabel = "Button2";
}
private:
ButtonWidget<EventHandler, Canvas> mInMenuButton1;
ButtonWidget<EventHandler, Canvas> mInMenuButton2;
LabelWidget<EventHandler, Canvas> mLabel;
NamedSliderWidget<EventHandler, Canvas> mSlider;
};
template <typename Events, typename Canvas>
class SimpleWidget2 : public Widget<Events, Canvas> {
public:
SimpleWidget2() {
this->mChildWidgets.pushBack(&mFloating);
mFloating.addWidgetToMenu(&mWidget);
mFloating.addWidgetToMenu(&mWidget2);
// this->mChildWidgets.pushBack(&mFloating2);
// mFloating2.addWidgetToMenu(&mWidget2);
}
private:
FloatingWidget<EventHandler, Canvas> mFloating;
SimpleWidget<EventHandler, Canvas> mWidget;
FloatingWidget<EventHandler, Canvas> mFloating2;
SimpleWidget<EventHandler, Canvas> mWidget2;
};
}