AUI Framework  master
Cross-platform module-based framework for developing C++20 desktop applications
AGroupBox.h
1/*
2 * AUI Framework - Declarative UI toolkit for modern C++20
3 * Copyright (C) 2020-2024 Alex2772 and Contributors
4 *
5 * SPDX-License-Identifier: MPL-2.0
6 *
7 * This Source Code Form is subject to the terms of the Mozilla Public
8 * License, v. 2.0. If a copy of the MPL was not distributed with this
9 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
10 */
11
12#pragma once
13
14
15#include "AViewContainer.h"
16#include "AUI/Util/Declarative.h"
17
34class API_AUI_VIEWS AGroupBox: public AViewContainerBase {
35public:
36 AGroupBox(_<AView> titleView, _<AView> contentView);
37
38 void applyGeometryToChildren() override;
39
40private:
41 _<AView> mTitle;
42 _<AView> mContent;
43 _<AView> mFrame;
44
45 int getFrameForcedPosition() const noexcept;
46
47 void updateCheckboxState(bool checked);
48};
49
50
51
52namespace declarative {
53 using GroupBox = aui::ui_building::view<AGroupBox>;
54}
A titled frame.
Definition: AGroupBox.h:34
A view that represents a set of views.
Definition: AViewContainerBase.h:68
An std::weak_ptr with AUI extensions.
Definition: SharedPtrTypes.h:177
Definition: Declarative.h:91