3#include "mc/_HeaderOutputPredefine.h"
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"
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;
35 virtual ~FocusContainerComponent() ;
37 virtual ::std::unique_ptr<::UIComponent> clone(::UIControl& cloneOwner)
const ;
39 virtual void reset() ;
45 MCAPI ::FocusContainerComponent* _getParentFocusContainer();
47 MCAPI
void addRecentFocusControl(::std::weak_ptr<::UIControl> weakControl);
49 MCAPI ::std::string getFocusNavigationModeName(::ui::CardinalDirection dir)
const;
51 MCAPI ::std::shared_ptr<::UIControl> getLastFocusedControl();
53 MCAPI ::std::string getLastFocusedControlName()
const;
55 MCAPI
void initialize();
57 MCAPI
bool isAncestorFocusContainer(::std::shared_ptr<::UIControl const> focusContainerControl)
const;
59 MCAPI
void loseFocus(::std::weak_ptr<::UIControl> lastControl);
61 MCAPI
void removeInvalidSubFocusContainer();
63 MCAPI
void setFocusNavigationModeOverride(::ui::CardinalDirection dir, ::std::string
const& str);
65 MCAPI
void setLastFocusedControl(::std::weak_ptr<::UIControl> control);
77 MCAPI ::std::unique_ptr<::UIComponent> $clone(::UIControl& cloneOwner)
const;
Definition FocusContainerComponent.h:5
static MCAPI void ** $vftable()
Definition UIComponent.h:5
Definition FocusContainerCustomData.h:5