EasyGUI
gui_listbox.h
1 
6 /*
7  * Copyright (c) 2019 Tilen MAJERLE
8  *
9  * Permission is hereby granted, free of charge, to any person
10  * obtaining a copy of this software and associated documentation
11  * files (the "Software"), to deal in the Software without restriction,
12  * including without limitation the rights to use, copy, modify, merge,
13  * publish, distribute, sublicense, and/or sell copies of the Software,
14  * and to permit persons to whom the Software is furnished to do so,
15  * subject to the following conditions:
16  *
17  * The above copyright notice and this permission notice shall be
18  * included in all copies or substantial portions of the Software.
19  *
20  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
22  * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
23  * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
24  * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
25  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27  * OTHER DEALINGS IN THE SOFTWARE.
28  *
29  * This file is part of EasyGUI library.
30  *
31  * Author: Tilen Majerle <tilen@majerle.eu>
32  */
33 #ifndef GUI_HDR_LISTBOX_H
34 #define GUI_HDR_LISTBOX_H
35 
36 /* C++ detection */
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
45 #include "gui_widget.h"
46 
56 typedef enum {
64 
65 gui_handle_p gui_listbox_create(gui_id_t id, float x, float y, float width, float height, gui_handle_p parent, gui_widget_evt_fn evt_fn, uint16_t flags);
66 uint8_t gui_listbox_setcolor(gui_handle_p h, gui_listbox_color_t index, gui_color_t color);
67 uint8_t gui_listbox_addstring(gui_handle_p h, const gui_char* text);
68 uint8_t gui_listbox_deletefirststring(gui_handle_p h);
69 uint8_t gui_listbox_deletelaststring(gui_handle_p h);
70 uint8_t gui_listbox_deletestring(gui_handle_p h, int16_t index);
71 uint8_t gui_listbox_setstring(gui_handle_p h, int16_t index, const gui_char* text);
72 uint8_t gui_listbox_setselection(gui_handle_p h, int16_t selection);
73 int16_t gui_listbox_getselection(gui_handle_p h);
74 uint8_t gui_listbox_scroll(gui_handle_p h, int16_t step);
75 
84 /* C++ detection */
85 #ifdef __cplusplus
86 }
87 #endif
88 
89 #endif /* GUI_HDR_LISTBOX_H */
uint8_t gui_listbox_setselection(gui_handle_p h, int16_t selection)
Set selected value.
Definition: gui_listbox.c:500
uint8_t(* gui_widget_evt_fn)(gui_handle_p h, gui_widget_evt_t evt, gui_evt_param_t *const param, gui_evt_result_t *const result)
Callback function for widget.
Definition: gui_defs.h:1103
uint8_t gui_listbox_setstring(gui_handle_p h, int16_t index, const gui_char *text)
Set string value to already added string index.
Definition: gui_listbox.c:428
Definition: gui_listbox.h:57
uint8_t gui_listbox_scroll(gui_handle_p h, int16_t step)
Scroll list if possible.
Definition: gui_listbox.c:485
uint8_t gui_listbox_deletelaststring(gui_handle_p h)
Delete last string from list.
Definition: gui_listbox.c:460
uint8_t gui_char
Definition: gui_defs.h:212
uint8_t gui_listbox_deletefirststring(gui_handle_p h)
Delete first string from list.
Definition: gui_listbox.c:449
uint32_t gui_color_t
Definition: gui_defs.h:210
Definition: gui_listbox.h:59
uint8_t gui_listbox_setcolor(gui_handle_p h, gui_listbox_color_t index, gui_color_t color)
Set color to listbox.
Definition: gui_listbox.c:389
gui_listbox_color_t
List of listbox colors.
Definition: gui_listbox.h:56
uint8_t gui_listbox_deletestring(gui_handle_p h, int16_t index)
Delete specific entry from list.
Definition: gui_listbox.c:473
Definition: gui_listbox.h:60
Definition: gui_listbox.h:62
gui_handle_p gui_listbox_create(gui_id_t id, float x, float y, float width, float height, gui_handle_p parent, gui_widget_evt_fn evt_fn, uint16_t flags)
Create new listbox widget.
Definition: gui_listbox.c:377
Definition: gui_listbox.h:61
uint8_t gui_listbox_addstring(gui_handle_p h, const gui_char *text)
Add a new string to list box.
Definition: gui_listbox.c:400
int16_t gui_listbox_getselection(gui_handle_p h)
Get selected value.
Definition: gui_listbox.c:514
Definition: gui_listbox.h:58
uint32_t gui_id_t
Definition: gui_defs.h:209