aboutsummaryrefslogtreecommitdiff
path: root/src/ui/controls/text_block.hpp
blob: 4d017da5a38674771c8e7611291be89535a0ddb2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#pragma once

#include "text_control.hpp"

namespace cru::ui::controls
{
    class TextBlock : public TextControl
    {
    public:
        static constexpr auto control_type = L"TextBlock";

        static TextBlock* Create(const String& text = L"")
        {
            const auto text_block = new TextBlock();
            text_block->SetText(text);
            return text_block;
        }

    protected:
        TextBlock();
    public:
        TextBlock(const TextBlock& other) = delete;
        TextBlock(TextBlock&& other) = delete;
        TextBlock& operator=(const TextBlock& other) = delete;
        TextBlock& operator=(TextBlock&& other) = delete;
        ~TextBlock() override = default;

        StringView GetControlType() const override final;

        using TextControl::SetSelectable; // Make this public.
    };
}