AUI Framework  develop
Cross-platform base for C++ UI apps
Loading...
Searching...
No Matches
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}
An std::weak_ptr with AUI extensions.
Definition SharedPtrTypes.h:178
Declarative view trait.
Definition Declarative.h:170