| 31 #include <string.h> |
31 #include <string.h> |
| 32 #include <stdlib.h> |
32 #include <stdlib.h> |
| 33 |
33 |
| 34 #include "../ui/container.h" |
34 #include "../ui/container.h" |
| 35 |
35 |
| |
36 |
| |
37 /* ---------------------------- UiDialogArgs ---------------------------- */ |
| |
38 |
| |
39 UiDialogArgs* ui_dialog_args_new(void) { |
| |
40 UiDialogArgs *args = malloc(sizeof(UiDialogArgs)); |
| |
41 memset(args, 0, sizeof(UiDialogArgs)); |
| |
42 return args; |
| |
43 } |
| |
44 |
| |
45 void ui_dialog_args_set_title(UiDialogArgs *args, const char *title) { |
| |
46 args->title = strdup(title); |
| |
47 } |
| |
48 |
| |
49 void ui_dialog_args_set_content(UiDialogArgs *args, const char *str) { |
| |
50 args->content = strdup(str); |
| |
51 } |
| |
52 |
| |
53 void ui_dialog_args_set_button1_label(UiDialogArgs *args, const char *label) { |
| |
54 args->button1_label = strdup(label); |
| |
55 } |
| |
56 |
| |
57 void ui_dialog_args_set_button2_label(UiDialogArgs *args, const char *label) { |
| |
58 args->button2_label = strdup(label); |
| |
59 } |
| |
60 |
| |
61 void ui_dialog_args_set_closebutton_label(UiDialogArgs *args, const char *label) { |
| |
62 args->closebutton_label = strdup(label); |
| |
63 } |
| |
64 |
| |
65 void ui_dialog_args_set_input_value(UiDialogArgs *args, const char *value) { |
| |
66 args->input_value = strdup(value); |
| |
67 } |
| |
68 |
| |
69 void ui_dialog_args_set_input(UiDialogArgs *args, UiBool input) { |
| |
70 args->input = input; |
| |
71 } |
| |
72 |
| |
73 void ui_dialog_args_set_password(UiDialogArgs *args, UiBool password) { |
| |
74 args->password = password; |
| |
75 } |
| |
76 |
| |
77 void ui_dialog_args_set_result(UiDialogArgs *args, ui_callback cb) { |
| |
78 args->result = cb; |
| |
79 } |
| |
80 |
| |
81 void ui_dialog_args_set_resultdata(UiDialogArgs *args, void *userdata) { |
| |
82 args->resultdata = userdata; |
| |
83 } |
| |
84 |
| |
85 void ui_dialog_args_free(UiDialogArgs *args) { |
| |
86 free((void*)args->title); |
| |
87 free((void*)args->button1_label); |
| |
88 free((void*)args->button2_label); |
| |
89 free((void*)args->content); |
| |
90 free((void*)args->closebutton_label); |
| |
91 free((void*)args->input_value); |
| |
92 free(args); |
| |
93 } |
| |
94 |
| |
95 |
| |
96 /* -------------------------- UiDialogWindowArgs -------------------------- */ |
| |
97 |
| |
98 UiDialogWindowArgs* ui_dialogwindow_args_new(void) { |
| |
99 UiDialogWindowArgs *args = malloc(sizeof(UiDialogWindowArgs)); |
| |
100 memset(args, 0, sizeof(UiDialogWindowArgs)); |
| |
101 return args; |
| |
102 } |
| |
103 |
| |
104 void ui_dialogwindow_args_set_modal(UiDialogWindowArgs *args, UiTri value) { |
| |
105 args->modal = value; |
| |
106 } |
| |
107 |
| |
108 void ui_dialogwindow_args_set_titlebar_buttons(UiDialogWindowArgs *args, UiTri value) { |
| |
109 args->titlebar_buttons = value; |
| |
110 } |
| |
111 |
| |
112 void ui_dialogwindow_args_set_show_closebutton(UiDialogWindowArgs *args, UiTri value) { |
| |
113 args->show_closebutton = value; |
| |
114 } |
| |
115 |
| |
116 void ui_dialogwindow_args_set_title(UiDialogWindowArgs *args, const char *title) { |
| |
117 args->title = strdup(title); |
| |
118 } |
| |
119 |
| |
120 void ui_dialogwindow_args_set_lbutton1(UiDialogWindowArgs *args, const char *label) { |
| |
121 args->lbutton1 = strdup(label); |
| |
122 } |
| |
123 |
| |
124 void ui_dialogwindow_args_set_lbutton2(UiDialogWindowArgs *args, const char *label) { |
| |
125 args->lbutton2 = strdup(label); |
| |
126 } |
| |
127 |
| |
128 void ui_dialogwindow_args_set_rbutton3(UiDialogWindowArgs *args, const char *label) { |
| |
129 args->rbutton3 = strdup(label); |
| |
130 } |
| |
131 |
| |
132 void ui_dialogwindow_args_set_rbutton4(UiDialogWindowArgs *args, const char *label) { |
| |
133 args->rbutton4 = strdup(label); |
| |
134 } |
| |
135 |
| |
136 void ui_dialogwindow_args_set_lbutton1_states(UiDialogWindowArgs *args, const int *states) { |
| |
137 // TODO |
| |
138 } |
| |
139 |
| |
140 void ui_dialogwindow_args_set_lbutton2_states(UiDialogWindowArgs *args, const int *states) { |
| |
141 // TODO |
| |
142 } |
| |
143 |
| |
144 void ui_dialogwindow_args_set_rbutton3_states(UiDialogWindowArgs *args, const int *states) { |
| |
145 // TODO |
| |
146 } |
| |
147 |
| |
148 void ui_dialogwindow_args_set_rbutton4_states(UiDialogWindowArgs *args, const int *states) { |
| |
149 // TODO |
| |
150 } |
| |
151 |
| |
152 void ui_dialogwindow_args_set_default_button(UiDialogWindowArgs *args, int button) { |
| |
153 args->default_button = button; |
| |
154 } |
| |
155 |
| |
156 void ui_dialogwindow_args_set_width(UiDialogWindowArgs *args, int width) { |
| |
157 args->width = width; |
| |
158 } |
| |
159 |
| |
160 void ui_dialogwindow_args_set_height(UiDialogWindowArgs *args, int height) { |
| |
161 args->height = height; |
| |
162 } |
| |
163 |
| |
164 void ui_dialogwindow_args_set_onclick(UiDialogWindowArgs *args, ui_callback cb) { |
| |
165 args->onclick = cb; |
| |
166 } |
| |
167 |
| |
168 void ui_dialogwindow_args_set_onclickdata(UiDialogWindowArgs *args, void *userdata) { |
| |
169 args->onclickdata = userdata; |
| |
170 } |
| |
171 |
| |
172 void ui_dialogwindow_args_free(UiDialogWindowArgs *args) { |
| |
173 free((void*)args->title); |
| |
174 free((void*)args->lbutton1); |
| |
175 free((void*)args->lbutton2); |
| |
176 free((void*)args->rbutton3); |
| |
177 free((void*)args->rbutton4); |
| |
178 free((void*)args->lbutton1_groups); |
| |
179 free((void*)args->lbutton2_groups); |
| |
180 free((void*)args->rbutton3_groups); |
| |
181 free((void*)args->rbutton4_groups); |
| |
182 free(args); |
| |
183 } |
| |
184 |
| |
185 |
| 36 /* ---------------------------- UiMenuItemArgs ---------------------------- */ |
186 /* ---------------------------- UiMenuItemArgs ---------------------------- */ |
| 37 |
187 |
| 38 UiMenuItemArgs* ui_menuitem_args_new(void) { |
188 UiMenuItemArgs* ui_menuitem_args_new(void) { |
| 39 UiMenuItemArgs *args = malloc(sizeof(UiMenuItemArgs)); |
189 UiMenuItemArgs *args = malloc(sizeof(UiMenuItemArgs)); |
| 40 memset(args, 0, sizeof(UiMenuItemArgs)); |
190 memset(args, 0, sizeof(UiMenuItemArgs)); |