1.10
string.h
1/*
2 * Copyright (C) 2018 Microchip Technology Inc. All rights reserved.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6#ifndef EGT_STRING_H
7#define EGT_STRING_H
8
14#include <egt/detail/meta.h>
15#include <egt/frame.h>
16#include <egt/label.h>
17#include <egt/signal.h>
18#include <egt/sizer.h>
19#include <egt/view.h>
20#include <string>
21
22namespace egt
23{
24inline namespace v1
25{
26
33struct EGT_API StringItem : public ImageLabel
34{
41 // NOLINTNEXTLINE(hicpp-explicit-conversions)
42 StringItem(const std::string& text = {},
43 const Image& image = {},
44 const Rect& rect = {},
45 const AlignFlags& text_align = AlignFlag::center) noexcept
46 : ImageLabel(image, text, rect, text_align)
47 {
48 fill_flags(Theme::FillFlag::blend);
49 }
50
56 StringItem(const std::string& text,
57 const Rect& rect,
58 const AlignFlags& text_align = AlignFlag::center) noexcept
59 : ImageLabel(Image(), text, rect, text_align)
60 {
61 fill_flags(Theme::FillFlag::blend);
62 }
63
69 explicit StringItem(Frame& parent,
70 const std::string& text = {},
71 const AlignFlags& text_align = AlignFlag::center) noexcept
72 : ImageLabel(parent, Image(), text, text_align)
73 {
74 fill_flags(Theme::FillFlag::blend);
75 }
76
84 const std::string& text,
85 const Rect& rect,
86 const AlignFlags& text_align = AlignFlag::center) noexcept
87 : ImageLabel(parent, Image(), text, rect, text_align)
88 {
89 fill_flags(Theme::FillFlag::blend);
90 }
91
92 using ImageLabel::min_size_hint;
93
94 EGT_NODISCARD Size min_size_hint() const override
95 {
96 if (!m_min_size.empty())
97 return m_min_size;
98 return {100, 40};
99 }
100};
101
102}
103}
104
105#endif
Alignment flags.
Definition widgetflags.h:379
A Frame is a Widget that has children widgets.
Definition frame.h:45
Raster image resource used for drawing or displaying.
Definition image.h:39
EGT framework namespace.
Definition animation.h:24
List string helper.
Definition string.h:34
StringItem(const std::string &text, const Rect &rect, const AlignFlags &text_align=AlignFlag::center) noexcept
Definition string.h:56
StringItem(const std::string &text={}, const Image &image={}, const Rect &rect={}, const AlignFlags &text_align=AlignFlag::center) noexcept
Definition string.h:42
EGT_NODISCARD Size min_size_hint() const override
Get a minimum size hint for the Widget.
Definition string.h:94
StringItem(Frame &parent, const std::string &text, const Rect &rect, const AlignFlags &text_align=AlignFlag::center) noexcept
Definition string.h:83
StringItem(Frame &parent, const std::string &text={}, const AlignFlags &text_align=AlignFlag::center) noexcept
Definition string.h:69