LeviLamina
Loading...
Searching...
No Matches
FocusContainerComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/CardinalDirection.h"
7#include "mc/client/gui/controls/FocusNavigationMode.h"
8#include "mc/client/gui/controls/UIComponent.h"
9#include "mc/client/gui/screens/RecentFocusVector.h"
10
11// auto generated forward declare list
12// clang-format off
13class UIControl;
15// clang-format on
16
18public:
19 // member variables
20 // NOLINTBEGIN
21 ::ll::TypedStorage<8, 32, ::RecentFocusVector> mRecentFocusList;
22 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UIControl>> mLastFocusedControl;
23 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ui::CardinalDirection, ::FocusNavigationMode>>
24 mDirectionalFocusOverrides;
25 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ui::CardinalDirection, ::std::vector<::FocusContainerCustomData>>>
26 mFocusContainerCustomOverrides;
27 ::ll::TypedStorage<8, 24, ::std::vector<::std::weak_ptr<::UIControl const>>> mSubFocusContainers;
28 ::ll::TypedStorage<1, 1, bool> mUseLastFocus;
29 ::ll::TypedStorage<1, 1, bool> mWrappingAllowed;
30 // NOLINTEND
31
32public:
33 // prevent constructor by default
34 FocusContainerComponent();
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual ~FocusContainerComponent() /*override*/ = default;
40
41 virtual ::std::unique_ptr<::UIComponent> clone(::UIControl& cloneOwner) const /*override*/;
42
43 virtual void reset() /*override*/;
44 // NOLINTEND
45
46public:
47 // member functions
48 // NOLINTBEGIN
49 MCAPI explicit FocusContainerComponent(::UIControl& owner);
50
51 MCAPI ::std::_Vector_const_iterator<::std::_Vector_val<::std::_Simple_types<::std::weak_ptr<::UIControl const>>>>
52 _findSubFocusContainer(::std::shared_ptr<::UIControl const> focusContainerControl) const;
53
54 MCAPI ::FocusContainerComponent* _getParentFocusContainer();
55
56 MCAPI void addRecentFocusControl(::std::weak_ptr<::UIControl> weakControl);
57
58 MCAPI ::std::string getFocusNavigationModeName(::ui::CardinalDirection dir) const;
59
60 MCAPI ::std::shared_ptr<::UIControl> getLastFocusedControl();
61
62 MCAPI ::std::string getLastFocusedControlName() const;
63
64 MCAPI void initialize();
65
66 MCAPI bool isAncestorFocusContainer(::FocusContainerComponent& focusContainerComp) const;
67
68 MCAPI void loseFocus(::std::weak_ptr<::UIControl> lastControl);
69
70 MCAPI void setFocusNavigationModeOverride(::ui::CardinalDirection dir, ::std::string const& str);
71
72 MCAPI void setLastFocusedControl(::std::weak_ptr<::UIControl> control);
73 // NOLINTEND
74
75public:
76 // constructor thunks
77 // NOLINTBEGIN
78 MCAPI void* $ctor(::UIControl& owner);
79 // NOLINTEND
80
81public:
82 // virtual function thunks
83 // NOLINTBEGIN
84 MCAPI ::std::unique_ptr<::UIComponent> $clone(::UIControl& cloneOwner) const;
85
86 MCAPI void $reset();
87 // NOLINTEND
88
89public:
90 // vftables
91 // NOLINTBEGIN
92 MCNAPI static void** $vftable();
93 // NOLINTEND
94};
Definition FocusContainerComponent.h:5
static MCAPI void ** $vftable()
Definition UIComponent.h:5
Definition UIControl.h:5
Definition FocusContainerCustomData.h:5