23 #ifndef _SWE_GUI_LIST_ 24 #define _SWE_GUI_LIST_ 28 #include "swe_wingui.h" 39 bool isVisibleNotHidden(
void)
const;
42 bool mousePressEvent(
const ButtonEvent &)
override final;
43 bool mouseClickEvent(
const ButtonsEvent &)
override final;
44 void mouseFocusEvent(
void)
override final;
45 void mouseLeaveEvent(
void)
override final;
51 bool isSelected(
void)
const;
53 void setSelected(
bool);
55 virtual bool isValid(
void)
const {
return true; }
56 virtual bool operator< (
const ListWidgetItem & v)
const {
return this < &v; }
58 const char*
className(
void)
const override {
return "SWE::ListWidgetItem"; }
63 std::vector<ListWidgetItem*>
69 bool scrollUpEvent(
void)
override;
70 bool scrollDownEvent(
void)
override;
74 virtual int itemSpacer(
void)
const {
return 0; }
84 int count(
void)
const;
87 int currentRow(
void)
const;
94 const std::vector<ListWidgetItem*> &
99 int rowTop(
void)
const;
103 void setCurrentRow(
int row);
104 void sortItems(
void);
107 virtual int visibleItems(
void)
const;
108 virtual int scrollItems(
void)
const;
109 virtual Rect listArea(
void)
const;
117 virtual void renderWindow(
void)
override;
118 virtual void renderVisibleItem(
ListWidgetItem*,
int visibleIndex,
int visibleItems);
120 bool isAreaPoint(
const Point &)
const override;
121 bool isVerticalOrientation(
void)
const;
122 bool scrollUp(
int rows = 1);
123 bool scrollDown(
int rows = 1);
125 const char*
className(
void)
const override {
return "SWE::ListWidget"; }
127 JsonObject toJson(
void)
const override 129 JsonObject res = Window::toJson();
130 res.addInteger(
"size", listItems.size());
131 res.addInteger(
"skipItems", skipItems);
133 for(
auto it = listItems.begin(); it != listItems.end(); ++it)
134 items.addObject((*it)->toJson());
135 res.addString(
"curItem", String::pointer(curItem));
136 res.addArray(
"items", items);
150 void renderWindow(
void)
override;
152 const char*
className(
void)
const override {
return "SWE::TextAreaItem"; }
154 JsonObject toJson(
void)
const override 156 JsonObject res = ListWidgetItem::toJson();
157 res.addObject(
"content", content.toJson());
175 const char*
className(
void)
const override {
return "SWE::TextArea"; }
Definition: swe_surface.h:154
класс объектов сцены DisplayScene, с возможностью отправки/получения сигналов
Definition: swe_events.h:56
const char * className(void) const override
идентификацинная метка класса
Definition: swe_wingui_list.h:152
пространство SWE.
Definition: swe_binarybuf.cpp:30
класс прямоугольника
Definition: swe_rect.h:144
класс точки с двумя координатами
Definition: swe_rect.h:72
класс цветной unicode строки
Definition: swe_cunicode_color.h:67
класс цвета
Definition: swe_colors.h:65
базовый класс шрифта
Definition: swe_fontset.h:151
по левому краю
Definition: swe_fontset.h:39
Definition: swe_wingui_list.h:163
Definition: swe_surface.h:210
const char * className(void) const override
идентификацинная метка класса
Definition: swe_wingui_list.h:175
класс двухмерной размерности
Definition: swe_rect.h:36
Definition: swe_wingui_list.h:144
базовый класс графических объектов сцены DisplayScene.
Definition: swe_window.h:57
класс unicode строки
Definition: swe_cunicode.h:41