AUI Framework
master
Cross-platform module-based framework for developing C++20 desktop applications
ATextField.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
#include "AView.h"
15
#include "AAbstractTextField.h"
16
#include <AUI/Util/ADataBinding.h>
17
24
class
API_AUI_VIEWS
ATextField
:
public
AAbstractTextField
25
{
26
public
:
27
ATextField
();
28
~ATextField
()
override
;
29
30
protected
:
31
bool
isValidText(
const
AString
&
text
)
override
;
32
};
33
34
template
<>
35
struct
ADataBindingDefault
<
ATextField
,
AString
> {
36
public
:
37
static
void
setup
(
const
_<ATextField>
& view) {}
38
static
auto
getGetter() {
39
return
(
ASignal<AString>
ATextField
::*)&
ATextField::textChanging
;
40
}
41
static
auto
getSetter() {
42
return
(
void
(
ATextField
::*)(
const
AString
& t)) &ATextField::setText;
43
}
44
};
AAbstractTextField
Text field implementation.
Definition:
AAbstractTextField.h:26
AAbstractTypeable::textChanging
emits< AString > textChanging
Definition:
AAbstractTypeable.h:137
ASignal
Definition:
ASignal.h:24
AString
Represents a Unicode character string.
Definition:
AString.h:37
ATextField
Editable field with text to receive a text input from the user.
Definition:
ATextField.h:25
_
An std::weak_ptr with AUI extensions.
Definition:
SharedPtrTypes.h:177
ADataBindingDefault
Definition:
ADataBinding.h:24
ADataBindingDefault::setup
static void setup(const _< View > &view)
Definition:
ADataBinding.h:30
ViewAssertionText
Definition:
Text.h:21