ChatPlexSDK-BS 1.0.1-v6.2.0
C++ ChatPlex BeatSaber SDK
Loading...
Searching...
No Matches
Keyboard.hpp
1#pragma once
2
3#include "../IModal.hpp"
4#include "../../XUI/XUI.hpp"
5
6namespace CP_SDK::UI::Modals {
7
8 namespace _u
9 {
10 using namespace UnityEngine;
11 using namespace UnityEngine::UI;
12 }
13 namespace _v
14 {
15 using namespace CP_SDK::Utils;
16 using namespace CP_SDK::XUI;
17 }
18
20 class Keyboard : public IModal
21 {
22 CP_SDK_IL2CPP_INHERIT("CP_SDK.UI.Modals", Keyboard, IModal);
23 CP_SDK_IL2CPP_DECLARE_CTOR_CHILD(Keyboard);
24 CP_SDK_IL2CPP_DECLARE_DTOR_MONOBEHAVIOUR_CHILD(Keyboard);
25
26 private:
27 static std::u16string m_CopyBuffer;
28
29 _v::XUIText::Ptr m_Text;
30 _v::XUIFLayout::Ptr m_CustomKeyLayout;
31 std::vector<Components::CPrimaryButton*> m_CustomKeys;
32 std::vector<_v::XUIPrimaryButton::Ptr> m_SecondaryButtons;
33 std::u16string m_Value;
35 _v::Action<> m_CancelCallback;
36 bool m_IsCaps;
37 bool m_IsTempCaps;
38
39 private:
41 void Impl_OnShow();
43 void Impl_OnClose();
44
45 public:
51 void Init(std::u16string_view p_Value, _v::CActionRef<std::u16string_view> p_Callback, _v::CActionRef<> p_CancelCallback, KeyboardCustomKeys* p_CustomKeys);
52
53 public:
55 std::u16string_view GetValue();
58 void SetValue(std::u16string_view p_Value);
61 void Append(std::u16string_view p_ToAppend);
62
63 private:
65 void OnCopyButton();
67 void OnPasteButton();
70 void OnKeyPress(std::u16string p_Text);
71
72 private:
76 _v::XUIHLayout::Ptr BuildKeyRow(bool p_ForcePrimary, std::initializer_list<std::u16string> p_Keys);
78 void SwitchCaps();
79
80 };
81
82}
83
84CP_SDK_IL2CPP_INHERIT_HELPERS(CP_SDK::UI::Modals::Keyboard);
Abstract base modal component.
Definition IModal.hpp:22
void Init(std::u16string_view p_Value, _v::CActionRef< std::u16string_view > p_Callback, _v::CActionRef<> p_CancelCallback, KeyboardCustomKeys *p_CustomKeys)
Init.
void SetValue(std::u16string_view p_Value)
Set value.
void Append(std::u16string_view p_ToAppend)
Append.
std::u16string_view GetValue()
Get current value.
Built-in modals.
Various platform utils like Delegate/Action/Function/Event system.
Definition Delegate.hpp:8
Tree like syntax CP_SDK::UI builder.