ui/common/wrapper.c

changeset 656
2f18119d176a
parent 655
453a782b0e22
child 659
d6baaa93f7be
equal deleted inserted replaced
655:453a782b0e22 656:2f18119d176a
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 * POSSIBILITY OF SUCH DAMAGE. 26 * POSSIBILITY OF SUCH DAMAGE.
27 */ 27 */
28 28
29 #include "wrapper.h" 29 #include "wrapper.h"
30 #include "../ui/tree.h" 30 #include "types.h"
31 #include <cx/list.h>
31 32
32 /* ---------------------------- UiObject ---------------------------- */ 33 /* ---------------------------- UiObject ---------------------------- */
33 34
34 UiContext* ui_object_get_context(UiObject *obj) { 35 UiContext* ui_object_get_context(UiObject *obj) {
35 return obj->ctx; 36 return obj->ctx;
59 } 60 }
60 61
61 void ui_list_set_iter(UiList *list, void *iter) { 62 void ui_list_set_iter(UiList *list, void *iter) {
62 list->iter = iter; 63 list->iter = iter;
63 } 64 }
65
66
67 /* ------------------------------ UiSublist ------------------------------ */
68
69 UiSubList* ui_sublist_new(void) {
70 UiSubList *sublist = malloc(sizeof(UiSubList));
71 memset(sublist, 0, sizeof(UiSubList));
72 return sublist;
73 }
74
75 void ui_sublist_set_value(UiSubList *sublist, UiList *value) {
76 sublist->value = value;
77 }
78
79 void ui_sublist_set_varname(UiSubList *sublist, const char *varname) {
80 free((void*)sublist->varname);
81 sublist->varname = strdup(varname);
82 }
83
84 void ui_sublist_set_header(UiSubList *sublist, const char *header) {
85 free((void*)sublist->header);
86 sublist->header = strdup(header);
87 }
88
89 void ui_sublist_set_separator(UiSubList *sublist, UiBool separator) {
90 sublist->separator = separator;
91 }
92
93 void ui_sublist_set_userdata(UiSubList *sublist, void *userdata) {
94 sublist->userdata = userdata;
95 }
96
97 void ui_sublist_free(UiSubList *sublist) {
98 free((void*)sublist->varname);
99 free((void*)sublist->header);
100 free(sublist);
101 }
102
103
104 /* -------------------- Source list (UiList<UiSublist>) -------------------- */
105
106 UiList* ui_srclist_new(UiContext *ctx, const char *name) {
107 UiList *list = ui_list_new2(ctx, name, uic_ucx_list_init, NULL);
108 CxList *cxlist = list->data;
109 cxlist->collection.simple_destructor = (cx_destructor_func)ui_sublist_free;
110 return list;
111 }
112
113 void ui_srclist_add(UiList *list, UiSubList *item) {
114 ui_list_append(list, item);
115 }
116
117 void ui_srclist_insert(UiList *list, int index, UiSubList *item) {
118 CxList *cxlist = list->data;
119 cxListInsert(cxlist, index, item);
120 }
121
122 void ui_srclist_remove(UiList *list, int index) {
123 CxList *cxlist = list->data;
124 cxListRemove(cxlist, index);
125 }
126
127 void ui_srclist_clear(UiList *list) {
128 CxList *cxlist = list->data;
129 cxListClear(cxlist);
130 }
131
132 int ui_srclist_size(UiList *list) {
133 return ui_list_count(list);
134 }
135
64 136
65 /* ---------------------------- UiEvent ---------------------------- */ 137 /* ---------------------------- UiEvent ---------------------------- */
66 138
67 UiObject* ui_event_get_obj(UiEvent *event) { 139 UiObject* ui_event_get_obj(UiEvent *event) {
68 return event->obj; 140 return event->obj;

mercurial