From 592f3f3f25f00232234399f4c5f51318a3fa49d2 Mon Sep 17 00:00:00 2001 From: crupest Date: Sat, 29 Jan 2022 22:09:29 +0800 Subject: ... --- src/theme_builder/components/MainWindow.cpp | 16 ++++++++++++++++ src/theme_builder/components/MainWindow.hpp | 6 ++++++ 2 files changed, 22 insertions(+) (limited to 'src/theme_builder/components') diff --git a/src/theme_builder/components/MainWindow.cpp b/src/theme_builder/components/MainWindow.cpp index 3d521d44..d52193f1 100644 --- a/src/theme_builder/components/MainWindow.cpp +++ b/src/theme_builder/components/MainWindow.cpp @@ -1,4 +1,7 @@ #include "MainWindow.hpp" +#include "cru/ui/Base.hpp" +#include "cru/ui/controls/StackLayout.hpp" +#include "cru/ui/controls/TextBlock.hpp" namespace cru::theme_builder { using namespace cru::ui; @@ -8,6 +11,19 @@ using namespace cru::platform::gui; MainWindow::MainWindow() { window_ = Window::Create(); window_->GetNativeWindow()->SetTitle(u"CruUI Theme Builder"); + + main_layout_ = FlexLayout::Create(); + main_layout_->SetFlexDirection(FlexDirection::Horizontal); + window_->AddChild(main_layout_, 0); + + preview_layout_ = StackLayout::Create(); + main_layout_->AddChild(preview_layout_, 0); + + preview_button_ = Button::Create(); + preview_button_->SetChild(TextBlock::Create(u"Preview")); + preview_layout_->AddChild(preview_button_, 0); + preview_layout_->SetChildLayoutData( + 0, StackChildLayoutData{Alignment::Center, Alignment::Center}); } MainWindow::~MainWindow() { delete window_; } diff --git a/src/theme_builder/components/MainWindow.hpp b/src/theme_builder/components/MainWindow.hpp index fd7f7996..ef37b7a2 100644 --- a/src/theme_builder/components/MainWindow.hpp +++ b/src/theme_builder/components/MainWindow.hpp @@ -1,5 +1,8 @@ #pragma once #include "cru/ui/components/Component.hpp" +#include "cru/ui/controls/Button.hpp" +#include "cru/ui/controls/FlexLayout.hpp" +#include "cru/ui/controls/StackLayout.hpp" #include "cru/ui/controls/Window.hpp" namespace cru::theme_builder { @@ -18,5 +21,8 @@ class MainWindow : public ui::components::Component { private: ui::controls::Window* window_; + ui::controls::FlexLayout* main_layout_; + ui::controls::StackLayout* preview_layout_; + ui::controls::Button* preview_button_; }; } // namespace cru::theme_builder -- cgit v1.2.3