LeviLamina
Loading...
Searching...
No Matches
NestedButtonScreenController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/ViewRequest.h"
7#include "mc/client/gui/screens/ScreenController.h"
8
9// auto generated forward declare list
10// clang-format off
12struct ScreenEvent;
13struct UIPropertyBag;
14// clang-format on
15
17public:
18 // NestedButtonScreenController inner types define
19 using IndexSelectionFunc = ::std::function<int(::UIPropertyBag&)>;
20
21 using VisibilityFunc = ::std::function<bool(::UIPropertyBag&, int)>;
22
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 32, ::std::string> mFirstControlName;
27 ::ll::TypedStorage<1, 1, bool> mFocusFirst;
28 ::ll::TypedStorage<1, 1, bool> mNestedContentVisible;
29 ::ll::TypedStorage<4, 4, int> mSelectedIndex;
30 ::ll::TypedStorage<4, 4, uint> mBaseButtonId;
31 ::ll::TypedStorage<8, 24, ::std::vector<uint>> mIgnoredControls;
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
36 NestedButtonScreenController();
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 virtual ::ui::ViewRequest handleEvent(::ScreenEvent& screenEvent) /*override*/;
42
43 virtual ~NestedButtonScreenController() /*override*/ = default;
44 // NOLINTEND
45
46public:
47 // member functions
48 // NOLINTBEGIN
49 MCAPI explicit NestedButtonScreenController(::std::shared_ptr<::MinecraftScreenModel> model);
50
51 MCAPI void setUpCallbacksForNestedButtonInCollection(
52 ::std::string const& nestedBaseButtonId,
53 ::std::string const& nestedControlEnabledBinding,
54 ::std::vector<uint> ignoredControls,
55 ::std::function<int(::UIPropertyBag&)> indexSelectionFunc,
56 ::std::function<bool(::UIPropertyBag&, int)> visibilityFunction,
57 ::std::string firstControlName
58 );
59 // NOLINTEND
60
61public:
62 // constructor thunks
63 // NOLINTBEGIN
64 MCAPI void* $ctor(::std::shared_ptr<::MinecraftScreenModel> model);
65 // NOLINTEND
66
67public:
68 // virtual function thunks
69 // NOLINTBEGIN
70 MCAPI ::ui::ViewRequest $handleEvent(::ScreenEvent& screenEvent);
71 // NOLINTEND
72
73public:
74 // vftables
75 // NOLINTBEGIN
76 MCNAPI static void** $vftable();
77 // NOLINTEND
78};
Definition MinecraftScreenModel.h:5
Definition NestedButtonScreenController.h:5
static MCAPI void ** $vftable()
Definition ScreenController.h:5
Definition ScreenEvent.h:5
Definition UIPropertyBag.h:5