xtd 0.2.0
Loading...
Searching...
No Matches
text_box_base.h
Go to the documentation of this file.
1
4#pragma once
5#include "border_sides.h"
6#include "border_style.h"
7#include "control.h"
8#include <xtd/argument_out_of_range_exception>
9#include <xtd/bit_converter>
10
12namespace xtd {
14 namespace forms {
24 class text_box_base : public control {
25 struct data;
26
27 public:
29
33 virtual bool accepts_tab() const noexcept;
37 virtual text_box_base& accepts_tab(bool value);
38
41 virtual forms::border_sides border_sides() const noexcept;
45
48 virtual forms::border_style border_style() const noexcept;
57 virtual text_box_base& border_style(std::nullptr_t);
58
62 std::vector<xtd::ustring> lines() const noexcept;
67 text_box_base& lines(const std::vector<xtd::ustring>& lines);
68
72 virtual bool multiline() const noexcept;
77 virtual text_box_base& multiline(bool value);
78
82 virtual bool read_only() const noexcept;
87 virtual text_box_base& read_only(bool value);
88
92 virtual size_t selection_length() const noexcept;
97 virtual text_box_base& selection_length(size_t value);
98
102 virtual size_t selection_start() const noexcept;
107 virtual text_box_base& selection_start(size_t value);
108
111 virtual bool word_wrap() const noexcept;
115 virtual text_box_base& word_wrap(bool value);
116
119 virtual void append_text(const xtd::ustring& value);
121
123
127 void clear();
128
133 virtual void select(size_t start, size_t length);
134
139
141
146
150
154
159
160 protected:
162
167
169
171 forms::create_params create_params() const noexcept override;
172 forms::cursor default_cursor() const noexcept override;
174
176
180 virtual void on_accepts_tab_changed(const event_args& e);
181
185
188 virtual void on_multiline_changed(const event_args& e);
189
192 virtual void on_read_only_changed(const event_args& e);
194
195 private:
196 std::shared_ptr<data> data_;
197 };
198 }
199}
Contains xtd::forms::border_sides enum class.
Represents the base class for classes that contain event data, and provides a value to use for events...
Definition event_args.h:18
Represents an event.
Definition event.h:21
Defines the base class for controls, which are components with visual representation.
Definition control.h:79
Encapsulates the information needed when creating a control.
Definition create_params.h:27
Represents the image used to paint the mouse pointer.
Definition cursor.h:38
Implements the basic functionality required by text controls.
Definition text_box_base.h:24
virtual bool word_wrap() const noexcept
Indicates whether a multiline text box control automatically wraps words to the beginning of the next...
void select_all()
Selects all text in the text box.
forms::cursor default_cursor() const noexcept override
Gets the default cursor for the control.
virtual void on_read_only_changed(const event_args &e)
Raises the text_box_base::read_only_changed event.
virtual void on_border_style_changed(const event_args &e)
Raises the text_box_base::border_style_changed event.
event< text_box_base, event_handler > border_style_changed
Occurs when the value of the accepts_tab border_style has changed.
Definition text_box_base.h:149
virtual void on_accepts_tab_changed(const event_args &e)
Raises the text_box_base::accepts_tab_changed event.
virtual void on_multiline_changed(const event_args &e)
Raises the text_box_base::text_box_base::multiline_changed event.
virtual bool read_only() const noexcept
Gets a value indicating whether text in the text box is read-only.
std::vector< xtd::ustring > lines() const noexcept
Gets the lines of text in a text box control.
event< text_box_base, event_handler > multiline_changed
Occurs when the value of the accepts_tab border_style has changed.
Definition text_box_base.h:153
event< text_box_base, event_handler > read_only_changed
Occurs when the value of the read_only property has changed.
Definition text_box_base.h:157
virtual size_t selection_start() const noexcept
Gets o the starting point of text selected in the text box.
virtual bool multiline() const noexcept
Gets a value indicating whether this is a multiline text box control.
void clear()
Clears all text from the text box control.
event< text_box_base, event_handler > accepts_tab_changed
Occurs when the value of the accepts_tab property has changed.
Definition text_box_base.h:145
virtual size_t selection_length() const noexcept
Gets the number of characters selected in the text box.
virtual void append_text(const xtd::ustring &value)
Appends text to the current text of a text box.
virtual bool accepts_tab() const noexcept
Gets a value indicating whether pressing the TAB key in a multiline text box control types a TAB char...
Represents text as a sequence of UTF-8 code units.
Definition ustring.h:47
generic_event_handler<> event_handler
Represents the method that will handle an event that has no event data.
Definition event_handler.h:32
border_sides
Specifies how a control anchors to the edges of its container.
Definition border_sides.h:21
border_style
Specifies the border style for a control.
Definition border_style.h:20
@ select
The SELECT key.
@ e
The E key.
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition xtd_about_box.h:12
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10
Contains xtd::forms::style_sheets::border_style class.
Contains xtd::forms::style_sheets::control class.