1 /*******************************************************************************/
2 /*  This file is auto-generated by Azure RTOS GUIX Studio. Do not edit this    */
3 /*  file by hand. Modifications to this file should only be made by running    */
4 /*  the Azure RTOS GUIX Studio application and re-generating the application   */
5 /*  specification file(s). For more information please refer to the Azure RTOS */
6 /*  GUIX Studio User Guide, or visit our web site at azure.com/rtos            */
7 /*                                                                             */
8 /*  GUIX Studio Revision 6.2.0.1                                               */
9 /*  Date (dd.mm.yyyy): 31.10.2022   Time (hh:mm): 14:09                        */
10 /*******************************************************************************/
11 
12 
13 #define GUIX_STUDIO_GENERATED_FILE
14 #include <stddef.h>
15 #include "generic_scroll_wheel_resources.h"
16 #include "generic_scroll_wheel_specifications.h"
17 
18 static GX_WIDGET *gx_studio_nested_widget_create(GX_BYTE *control, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent);
19 MAIN_SCREEN_CONTROL_BLOCK main_screen;
20 GX_DISPLAY display_1_control_block;
21 GX_WINDOW_ROOT display_1_root_window;
22 GX_CANVAS  display_1_canvas_control_block;
23 ULONG      display_1_canvas_memory[153600];
24 
25 extern GX_CONST GX_THEME *display_1_theme_table[];
26 extern GX_CONST GX_STRING *display_1_language_table[];
27 
28 GX_STUDIO_DISPLAY_INFO generic_scroll_wheel_display_table[1] =
29 {
30     {
31     "display_1",
32     "display_1_canvas",
33     display_1_theme_table,
34     display_1_language_table,
35     DISPLAY_1_THEME_TABLE_SIZE,
36     DISPLAY_1_LANGUAGE_TABLE_SIZE,
37     DISPLAY_1_STRING_TABLE_SIZE,
38     640,                                     /* x resolution                   */
39     480,                                     /* y resolution                   */
40     &display_1_control_block,
41     &display_1_canvas_control_block,
42     &display_1_root_window,
43     display_1_canvas_memory,                 /* canvas memory area             */
44     614400,                                  /* canvas memory size in bytes    */
45     GX_SCREEN_ROTATION_NONE                  /* rotation angle                 */
46     }
47 };
48 
49 
gx_studio_text_button_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)50 UINT gx_studio_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
51 {
52     UINT status;
53     GX_TEXT_BUTTON *button = (GX_TEXT_BUTTON *) control_block;
54     GX_TEXT_BUTTON_PROPERTIES *props = (GX_TEXT_BUTTON_PROPERTIES *) info->properties;
55     status = gx_text_button_create(button, info->widget_name, parent, props->string_id, info->style, info->widget_id, &info->size);
56     if (status == GX_SUCCESS)
57     {
58         gx_text_button_font_set(button, props->font_id);
59 #if defined(GUIX_5_4_0_COMPATIBILITY)
60         gx_text_button_text_color_set(button, props->normal_text_color_id, props->selected_text_color_id);
61 #else
62         gx_text_button_text_color_set(button, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
63 #endif
64     }
65     return status;
66 }
67 
gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)68 UINT gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
69 {
70     UINT status;
71     GX_ICON *icon = (GX_ICON *) control_block;
72     GX_ICON_PROPERTIES *props = (GX_ICON_PROPERTIES *) info->properties;
73     status = gx_icon_create(icon, info->widget_name, parent, props->normal_pixelmap_id, info->style, info->widget_id, info->size.gx_rectangle_left, info->size.gx_rectangle_top);
74     if (props->selected_pixelmap_id)
75     {
76         gx_icon_pixelmap_set(icon, props->normal_pixelmap_id, props->selected_pixelmap_id);
77     }
78     else
79     {
80         gx_widget_resize((GX_WIDGET *)icon, (GX_RECTANGLE *)&info->size);
81     }
82     return status;
83 }
84 
gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)85 UINT gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
86 {
87     UINT status;
88     GX_PROMPT *prompt = (GX_PROMPT *) control_block;
89     GX_PROMPT_PROPERTIES *props = (GX_PROMPT_PROPERTIES *) info->properties;
90     status = gx_prompt_create(prompt, info->widget_name, parent, props->string_id, info->style, info->widget_id, &info->size);
91     if (status == GX_SUCCESS)
92     {
93         gx_prompt_font_set(prompt, props->font_id);
94 #if defined(GUIX_5_4_0_COMPATIBILITY)
95         gx_prompt_text_color_set(prompt, props->normal_text_color_id, props->selected_text_color_id);
96 #else
97         gx_prompt_text_color_set(prompt, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
98 #endif
99     }
100     return status;
101 }
102 
gx_studio_numeric_prompt_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)103 UINT gx_studio_numeric_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
104 {
105     UINT status;
106     GX_NUMERIC_PROMPT *prompt = (GX_NUMERIC_PROMPT *) control_block;
107     GX_NUMERIC_PROMPT_PROPERTIES *props = (GX_NUMERIC_PROMPT_PROPERTIES *) info->properties;
108     status = gx_numeric_prompt_create(prompt, info->widget_name, parent, props->string_id, info->style, info->widget_id, &info->size);
109     if (status == GX_SUCCESS)
110     {
111         gx_prompt_font_set((GX_PROMPT *)prompt, props->font_id);
112 #if defined(GUIX_5_4_0_COMPATIBILITY)
113         gx_prompt_text_color_set((GX_PROMPT *)prompt, props->normal_text_color_id, props->selected_text_color_id);
114 #else
115         gx_prompt_text_color_set((GX_PROMPT *)prompt, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
116 #endif
117         if(!props->string_id)
118         {
119             gx_numeric_prompt_value_set(prompt, props->numeric_prompt_value);
120         }
121         if(props->format_func)
122         {
123             gx_numeric_prompt_format_function_set(prompt, props->format_func);
124         }
125     }
126     return status;
127 }
128 
gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)129 UINT gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
130 {
131     UINT status;
132     GX_WINDOW *window = (GX_WINDOW *) control_block;
133     GX_WINDOW_PROPERTIES *props = (GX_WINDOW_PROPERTIES *) info->properties;
134     status = gx_window_create(window, info->widget_name, parent, info->style, info->widget_id, &info->size);
135     if (status == GX_SUCCESS)
136     {
137         if (props->wallpaper_id)
138         {
139             gx_window_wallpaper_set(window, props->wallpaper_id, info->style & GX_STYLE_TILE_WALLPAPER);
140         }
141     }
142     return status;
143 }
144 
gx_studio_text_input_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)145 UINT gx_studio_text_input_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
146 {
147     UINT status;
148     GX_STRING text;
149     GX_SINGLE_LINE_TEXT_INPUT *input = (GX_SINGLE_LINE_TEXT_INPUT *) control_block;
150     GX_PROMPT *prompt = (GX_PROMPT *) input;
151     GX_SINGLE_LINE_TEXT_INPUT_PROPERTIES *props = (GX_SINGLE_LINE_TEXT_INPUT_PROPERTIES *) info->properties;
152     status = gx_single_line_text_input_create(input, info->widget_name, parent, props->buffer, props->buffer_size, info->style, info->widget_id, &info->size);
153     if (status == GX_SUCCESS)
154     {
155         gx_prompt_font_set(prompt, props->font_id);
156         gx_single_line_text_input_text_color_set(input, props->normal_text_color_id, props->selected_text_color_id,
157                                                  props->disabled_text_color_id, props->readonly_text_color_id);
158         gx_single_line_text_input_fill_color_set(input, input->gx_widget_normal_fill_color, input->gx_widget_selected_fill_color,
159                                                  input->gx_widget_disabled_fill_color, props->readonly_fill_color_id);
160         if (props->buffer && props->buffer_size > 0 && props->string_id)
161         {
162              gx_display_string_get_ext(generic_scroll_wheel_display_table[0].display, props->string_id, &text);
163 
164              if (text.gx_string_ptr)
165              {
166                  gx_single_line_text_input_text_set_ext(input, &text);
167              }
168         }
169     }
170     return status;
171 }
172 
gx_studio_generic_scroll_wheel_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)173 UINT gx_studio_generic_scroll_wheel_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
174 {
175     UINT status;
176     GX_GENERIC_SCROLL_WHEEL *wheel = (GX_GENERIC_SCROLL_WHEEL *) control_block;
177     GX_GENERIC_SCROLL_WHEEL_PROPERTIES *props = (GX_GENERIC_SCROLL_WHEEL_PROPERTIES *) info->properties;
178     status = gx_generic_scroll_wheel_create(wheel, info->widget_name, parent, props->total_rows, props->callback,
179                                            info->style, info->widget_id, &info->size);
180     if (status == GX_SUCCESS)
181     {
182         if (props->wallpaper_id)
183         {
184             gx_window_wallpaper_set((GX_WINDOW *) wheel, props->wallpaper_id, info->style & GX_STYLE_TILE_WALLPAPER);
185         }
186         if(props->selected_background)
187         {
188             gx_scroll_wheel_selected_background_set((GX_SCROLL_WHEEL *)wheel, props->selected_background);
189         }
190         gx_scroll_wheel_selected_set((GX_SCROLL_WHEEL *)wheel, props->selected_row);
191         gx_scroll_wheel_gradient_alpha_set((GX_SCROLL_WHEEL *)wheel, props->start_alpha, props->end_alpha);
192         gx_generic_scroll_wheel_row_height_set(wheel, props->row_height);
193     }
194     return status;
195 }
196 GX_WINDOW_PROPERTIES main_screen_properties =
197 {
198     0                                        /* wallpaper pixelmap id          */
199 };
200 GX_TEXT_BUTTON_PROPERTIES main_screen_set_total_rows_properties =
201 {
202     GX_STRING_ID_STRING_2,                   /* string id                      */
203     GX_FONT_ID_BUTTON,                       /* font id                        */
204     GX_COLOR_ID_BTN_TEXT,                    /* normal text color              */
205     GX_COLOR_ID_BTN_TEXT,                    /* selected text color            */
206     GX_COLOR_ID_DISABLED_TEXT                /* disabled text color            */
207 };
208 GX_GENERIC_SCROLL_WHEEL_PROPERTIES main_screen_scroll_wheel_properties =
209 {
210     8,                                       /* total rows                     */
211     0,                                       /* selected row                   */
212     45,                                      /* row height                     */
213     200,                                     /* start alpha                    */
214     0,                                       /* end alpha                      */
215     0,                                       /* wallpaper id                   */
216     GX_PIXELMAP_ID_SCROLL_WHEEL_SELECTED_BG, /* selected background            */
217     GX_NULL,                                 /* callback function              */
218 };
219 GX_NUMERIC_PROMPT_PROPERTIES main_screen_prompt_properties =
220 {
221     0,                                       /* string id                      */
222     GX_FONT_ID_PROMPT,                       /* font id                        */
223     GX_COLOR_ID_TEXT,                        /* normal text color              */
224     GX_COLOR_ID_SELECTED_TEXT,               /* selected text color            */
225     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
226     GX_NULL,                                 /* format function                */
227     0                                        /* numeric prompt value           */
228 };
229 GX_ICON_PROPERTIES main_screen_icon_properties =
230 {
231     GX_PIXELMAP_ID_I_PATIENTLIST_LG,         /* normal pixelmap id             */
232     0                                        /* selected pixelmap id           */
233 };
234 GX_NUMERIC_PROMPT_PROPERTIES main_screen_prompt_1_properties =
235 {
236     0,                                       /* string id                      */
237     GX_FONT_ID_PROMPT,                       /* font id                        */
238     GX_COLOR_ID_TEXT,                        /* normal text color              */
239     GX_COLOR_ID_SELECTED_TEXT,               /* selected text color            */
240     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
241     GX_NULL,                                 /* format function                */
242     1                                        /* numeric prompt value           */
243 };
244 GX_ICON_PROPERTIES main_screen_icon_1_properties =
245 {
246     GX_PIXELMAP_ID_I_MEDICATIONSRED_LG,      /* normal pixelmap id             */
247     0                                        /* selected pixelmap id           */
248 };
249 GX_NUMERIC_PROMPT_PROPERTIES main_screen_prompt_2_properties =
250 {
251     0,                                       /* string id                      */
252     GX_FONT_ID_PROMPT,                       /* font id                        */
253     GX_COLOR_ID_TEXT,                        /* normal text color              */
254     GX_COLOR_ID_SELECTED_TEXT,               /* selected text color            */
255     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
256     GX_NULL,                                 /* format function                */
257     2                                        /* numeric prompt value           */
258 };
259 GX_ICON_PROPERTIES main_screen_icon_2_properties =
260 {
261     GX_PIXELMAP_ID_I_MEDICATIONSGREEN_LG,    /* normal pixelmap id             */
262     0                                        /* selected pixelmap id           */
263 };
264 GX_NUMERIC_PROMPT_PROPERTIES main_screen_prompt_3_properties =
265 {
266     0,                                       /* string id                      */
267     GX_FONT_ID_PROMPT,                       /* font id                        */
268     GX_COLOR_ID_TEXT,                        /* normal text color              */
269     GX_COLOR_ID_SELECTED_TEXT,               /* selected text color            */
270     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
271     GX_NULL,                                 /* format function                */
272     3                                        /* numeric prompt value           */
273 };
274 GX_NUMERIC_PROMPT_PROPERTIES main_screen_prompt_4_properties =
275 {
276     0,                                       /* string id                      */
277     GX_FONT_ID_PROMPT,                       /* font id                        */
278     GX_COLOR_ID_TEXT,                        /* normal text color              */
279     GX_COLOR_ID_SELECTED_TEXT,               /* selected text color            */
280     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
281     GX_NULL,                                 /* format function                */
282     4                                        /* numeric prompt value           */
283 };
284 GX_NUMERIC_PROMPT_PROPERTIES main_screen_prompt_5_properties =
285 {
286     0,                                       /* string id                      */
287     GX_FONT_ID_PROMPT,                       /* font id                        */
288     GX_COLOR_ID_TEXT,                        /* normal text color              */
289     GX_COLOR_ID_SELECTED_TEXT,               /* selected text color            */
290     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
291     GX_NULL,                                 /* format function                */
292     5                                        /* numeric prompt value           */
293 };
294 GX_NUMERIC_PROMPT_PROPERTIES main_screen_prompt_6_properties =
295 {
296     0,                                       /* string id                      */
297     GX_FONT_ID_PROMPT,                       /* font id                        */
298     GX_COLOR_ID_TEXT,                        /* normal text color              */
299     GX_COLOR_ID_SELECTED_TEXT,               /* selected text color            */
300     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
301     GX_NULL,                                 /* format function                */
302     6                                        /* numeric prompt value           */
303 };
304 GX_NUMERIC_PROMPT_PROPERTIES main_screen_prompt_7_properties =
305 {
306     0,                                       /* string id                      */
307     GX_FONT_ID_PROMPT,                       /* font id                        */
308     GX_COLOR_ID_TEXT,                        /* normal text color              */
309     GX_COLOR_ID_SELECTED_TEXT,               /* selected text color            */
310     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
311     GX_NULL,                                 /* format function                */
312     7                                        /* numeric prompt value           */
313 };
314 GX_GENERIC_SCROLL_WHEEL_PROPERTIES main_screen_scroll_wheel_nowrap_properties =
315 {
316     8,                                       /* total rows                     */
317     0,                                       /* selected row                   */
318     45,                                      /* row height                     */
319     200,                                     /* start alpha                    */
320     0,                                       /* end alpha                      */
321     0,                                       /* wallpaper id                   */
322     GX_PIXELMAP_ID_SCROLL_WHEEL_SELECTED_BG, /* selected background            */
323     widget_scroll_callback,                  /* callback function              */
324 };
325 GX_PROMPT_PROPERTIES main_screen_title_properties =
326 {
327     GX_STRING_ID_STRING_4,                   /* string id                      */
328     GX_FONT_ID_PROMPT,                       /* font id                        */
329     GX_COLOR_ID_TEXT,                        /* normal text color              */
330     GX_COLOR_ID_TEXT,                        /* selected text color            */
331     GX_COLOR_ID_TEXT                         /* disabled text color            */
332 };
333 GX_CHAR main_screen_text_input_total_row_buffer[100];
334 GX_SINGLE_LINE_TEXT_INPUT_PROPERTIES main_screen_text_input_total_row_properties =
335 {
336     GX_STRING_ID_STRING_3,                   /* string id                      */
337     GX_FONT_ID_TEXT_INPUT,                   /* font id                        */
338     GX_COLOR_ID_TEXT_INPUT_TEXT,             /* normal text color              */
339     GX_COLOR_ID_SELECTED_TEXT,               /* selected text color            */
340     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
341     GX_COLOR_ID_READONLY_FILL,               /* readonly fill color            */
342     GX_COLOR_ID_READONLY_TEXT,               /* readonly text color            */
343     main_screen_text_input_total_row_buffer, /* buffer                         */
344     100,                                     /* buffer size                    */
345 };
346 GX_GENERIC_SCROLL_WHEEL_PROPERTIES main_screen_scroll_wheel_wrap_properties =
347 {
348     8,                                       /* total rows                     */
349     0,                                       /* selected row                   */
350     45,                                      /* row height                     */
351     200,                                     /* start alpha                    */
352     0,                                       /* end alpha                      */
353     0,                                       /* wallpaper id                   */
354     GX_PIXELMAP_ID_SCROLL_WHEEL_SELECTED_BG, /* selected background            */
355     widget_scroll_callback,                  /* callback function              */
356 };
357 GX_CHAR main_screen_text_input_selected_row_buffer[100];
358 GX_SINGLE_LINE_TEXT_INPUT_PROPERTIES main_screen_text_input_selected_row_properties =
359 {
360     GX_STRING_ID_STRING_1,                   /* string id                      */
361     GX_FONT_ID_TEXT_INPUT,                   /* font id                        */
362     GX_COLOR_ID_TEXT_INPUT_TEXT,             /* normal text color              */
363     GX_COLOR_ID_SELECTED_TEXT,               /* selected text color            */
364     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
365     GX_COLOR_ID_READONLY_FILL,               /* readonly fill color            */
366     GX_COLOR_ID_READONLY_TEXT,               /* readonly text color            */
367     main_screen_text_input_selected_row_buffer, /* buffer                      */
368     100,                                     /* buffer size                    */
369 };
370 GX_TEXT_BUTTON_PROPERTIES main_screen_set_selected_row_properties =
371 {
372     GX_STRING_ID_STRING_7,                   /* string id                      */
373     GX_FONT_ID_BUTTON,                       /* font id                        */
374     GX_COLOR_ID_BTN_TEXT,                    /* normal text color              */
375     GX_COLOR_ID_BTN_TEXT,                    /* selected text color            */
376     GX_COLOR_ID_DISABLED_TEXT                /* disabled text color            */
377 };
378 
379 GX_CONST GX_STUDIO_WIDGET main_screen_icon_define =
380 {
381     "icon",
382     GX_TYPE_ICON,                            /* widget type                    */
383     GX_ID_NONE,                              /* widget id                      */
384     #if defined(GX_WIDGET_USER_DATA)
385     0,                                       /* user data                      */
386     #endif
387     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP,   /* style flags */
388     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
389     sizeof(GX_ICON),                         /* control block size             */
390     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
391     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
392     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
393     gx_studio_icon_create,                   /* create function                */
394     GX_NULL,                                 /* drawing function override      */
395     GX_NULL,                                 /* event function override        */
396     {172, 189, 209, 226},                    /* widget size                    */
397     GX_NULL,                                 /* no next widget                 */
398     GX_NULL,                                 /* no child widgets               */
399     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_icon), /* control block    */
400     (void *) &main_screen_icon_properties    /* extended properties            */
401 };
402 
403 GX_CONST GX_STUDIO_WIDGET main_screen_icon_1_define =
404 {
405     "icon_1",
406     GX_TYPE_ICON,                            /* widget type                    */
407     GX_ID_NONE,                              /* widget id                      */
408     #if defined(GX_WIDGET_USER_DATA)
409     0,                                       /* user data                      */
410     #endif
411     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP,   /* style flags */
412     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
413     sizeof(GX_ICON),                         /* control block size             */
414     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
415     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
416     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
417     gx_studio_icon_create,                   /* create function                */
418     GX_NULL,                                 /* drawing function override      */
419     GX_NULL,                                 /* event function override        */
420     {172, 236, 209, 273},                    /* widget size                    */
421     GX_NULL,                                 /* no next widget                 */
422     GX_NULL,                                 /* no child widgets               */
423     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_icon_1), /* control block  */
424     (void *) &main_screen_icon_1_properties  /* extended properties            */
425 };
426 
427 GX_CONST GX_STUDIO_WIDGET main_screen_icon_2_define =
428 {
429     "icon_2",
430     GX_TYPE_ICON,                            /* widget type                    */
431     GX_ID_NONE,                              /* widget id                      */
432     #if defined(GX_WIDGET_USER_DATA)
433     0,                                       /* user data                      */
434     #endif
435     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP,   /* style flags */
436     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
437     sizeof(GX_ICON),                         /* control block size             */
438     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
439     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
440     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
441     gx_studio_icon_create,                   /* create function                */
442     GX_NULL,                                 /* drawing function override      */
443     GX_NULL,                                 /* event function override        */
444     {172, 278, 209, 315},                    /* widget size                    */
445     GX_NULL,                                 /* no next widget                 */
446     GX_NULL,                                 /* no child widgets               */
447     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_icon_2), /* control block  */
448     (void *) &main_screen_icon_2_properties  /* extended properties            */
449 };
450 
451 GX_CONST GX_STUDIO_WIDGET main_screen_prompt_7_define =
452 {
453     "prompt_7",
454     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
455     GX_ID_NONE,                              /* widget id                      */
456     #if defined(GX_WIDGET_USER_DATA)
457     0,                                       /* user data                      */
458     #endif
459     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
460     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
461     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
462     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
463     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
464     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
465     gx_studio_numeric_prompt_create,         /* create function                */
466     GX_NULL,                                 /* drawing function override      */
467     GX_NULL,                                 /* event function override        */
468     {37, 500, 213, 544},                     /* widget size                    */
469     GX_NULL,                                 /* no next widget                 */
470     GX_NULL,                                 /* no child widgets               */
471     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_prompt_7), /* control block */
472     (void *) &main_screen_prompt_7_properties /* extended properties           */
473 };
474 
475 GX_CONST GX_STUDIO_WIDGET main_screen_prompt_6_define =
476 {
477     "prompt_6",
478     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
479     GX_ID_NONE,                              /* widget id                      */
480     #if defined(GX_WIDGET_USER_DATA)
481     0,                                       /* user data                      */
482     #endif
483     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
484     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
485     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
486     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
487     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
488     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
489     gx_studio_numeric_prompt_create,         /* create function                */
490     GX_NULL,                                 /* drawing function override      */
491     GX_NULL,                                 /* event function override        */
492     {37, 455, 213, 499},                     /* widget size                    */
493     &main_screen_prompt_7_define,            /* next widget definition         */
494     GX_NULL,                                 /* no child widgets               */
495     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_prompt_6), /* control block */
496     (void *) &main_screen_prompt_6_properties /* extended properties           */
497 };
498 
499 GX_CONST GX_STUDIO_WIDGET main_screen_prompt_5_define =
500 {
501     "prompt_5",
502     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
503     GX_ID_NONE,                              /* widget id                      */
504     #if defined(GX_WIDGET_USER_DATA)
505     0,                                       /* user data                      */
506     #endif
507     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
508     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
509     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
510     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
511     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
512     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
513     gx_studio_numeric_prompt_create,         /* create function                */
514     GX_NULL,                                 /* drawing function override      */
515     GX_NULL,                                 /* event function override        */
516     {37, 410, 213, 454},                     /* widget size                    */
517     &main_screen_prompt_6_define,            /* next widget definition         */
518     GX_NULL,                                 /* no child widgets               */
519     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_prompt_5), /* control block */
520     (void *) &main_screen_prompt_5_properties /* extended properties           */
521 };
522 
523 GX_CONST GX_STUDIO_WIDGET main_screen_prompt_4_define =
524 {
525     "prompt_4",
526     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
527     GX_ID_NONE,                              /* widget id                      */
528     #if defined(GX_WIDGET_USER_DATA)
529     0,                                       /* user data                      */
530     #endif
531     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
532     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
533     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
534     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
535     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
536     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
537     gx_studio_numeric_prompt_create,         /* create function                */
538     GX_NULL,                                 /* drawing function override      */
539     GX_NULL,                                 /* event function override        */
540     {37, 365, 213, 409},                     /* widget size                    */
541     &main_screen_prompt_5_define,            /* next widget definition         */
542     GX_NULL,                                 /* no child widgets               */
543     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_prompt_4), /* control block */
544     (void *) &main_screen_prompt_4_properties /* extended properties           */
545 };
546 
547 GX_CONST GX_STUDIO_WIDGET main_screen_prompt_3_define =
548 {
549     "prompt_3",
550     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
551     GX_ID_NONE,                              /* widget id                      */
552     #if defined(GX_WIDGET_USER_DATA)
553     0,                                       /* user data                      */
554     #endif
555     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
556     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
557     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
558     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
559     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
560     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
561     gx_studio_numeric_prompt_create,         /* create function                */
562     GX_NULL,                                 /* drawing function override      */
563     GX_NULL,                                 /* event function override        */
564     {37, 320, 213, 364},                     /* widget size                    */
565     &main_screen_prompt_4_define,            /* next widget definition         */
566     GX_NULL,                                 /* no child widgets               */
567     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_prompt_3), /* control block */
568     (void *) &main_screen_prompt_3_properties /* extended properties           */
569 };
570 
571 GX_CONST GX_STUDIO_WIDGET main_screen_prompt_2_define =
572 {
573     "prompt_2",
574     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
575     GX_ID_NONE,                              /* widget id                      */
576     #if defined(GX_WIDGET_USER_DATA)
577     0,                                       /* user data                      */
578     #endif
579     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
580     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
581     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
582     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
583     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
584     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
585     gx_studio_numeric_prompt_create,         /* create function                */
586     GX_NULL,                                 /* drawing function override      */
587     GX_NULL,                                 /* event function override        */
588     {37, 275, 213, 319},                     /* widget size                    */
589     &main_screen_prompt_3_define,            /* next widget definition         */
590     &main_screen_icon_2_define,              /* child widget definition        */
591     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_prompt_2), /* control block */
592     (void *) &main_screen_prompt_2_properties /* extended properties           */
593 };
594 
595 GX_CONST GX_STUDIO_WIDGET main_screen_prompt_1_define =
596 {
597     "prompt_1",
598     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
599     GX_ID_NONE,                              /* widget id                      */
600     #if defined(GX_WIDGET_USER_DATA)
601     0,                                       /* user data                      */
602     #endif
603     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
604     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
605     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
606     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
607     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
608     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
609     gx_studio_numeric_prompt_create,         /* create function                */
610     GX_NULL,                                 /* drawing function override      */
611     GX_NULL,                                 /* event function override        */
612     {37, 230, 213, 274},                     /* widget size                    */
613     &main_screen_prompt_2_define,            /* next widget definition         */
614     &main_screen_icon_1_define,              /* child widget definition        */
615     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_prompt_1), /* control block */
616     (void *) &main_screen_prompt_1_properties /* extended properties           */
617 };
618 
619 GX_CONST GX_STUDIO_WIDGET main_screen_prompt_define =
620 {
621     "prompt",
622     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
623     GX_ID_NONE,                              /* widget id                      */
624     #if defined(GX_WIDGET_USER_DATA)
625     0,                                       /* user data                      */
626     #endif
627     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_DRAW_SELECTED|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
628     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
629     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
630     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
631     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
632     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
633     gx_studio_numeric_prompt_create,         /* create function                */
634     GX_NULL,                                 /* drawing function override      */
635     GX_NULL,                                 /* event function override        */
636     {37, 185, 213, 229},                     /* widget size                    */
637     &main_screen_prompt_1_define,            /* next widget definition         */
638     &main_screen_icon_define,                /* child widget definition        */
639     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_prompt), /* control block  */
640     (void *) &main_screen_prompt_properties  /* extended properties            */
641 };
642 
643 GX_CONST GX_STUDIO_WIDGET main_screen_set_selected_row_define =
644 {
645     "set_selected_row",
646     GX_TYPE_TEXT_BUTTON,                     /* widget type                    */
647     ID_SET_SELECTED_ROW,                     /* widget id                      */
648     #if defined(GX_WIDGET_USER_DATA)
649     0,                                       /* user data                      */
650     #endif
651     GX_STYLE_BORDER_RAISED|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
652     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
653     sizeof(GX_TEXT_BUTTON),                  /* control block size             */
654     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
655     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
656     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
657     gx_studio_text_button_create,            /* create function                */
658     GX_NULL,                                 /* drawing function override      */
659     GX_NULL,                                 /* event function override        */
660     {253, 360, 410, 394},                    /* widget size                    */
661     GX_NULL,                                 /* no next widget                 */
662     GX_NULL,                                 /* no child widgets               */
663     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_set_selected_row), /* control block */
664     (void *) &main_screen_set_selected_row_properties /* extended properties   */
665 };
666 
667 GX_CONST GX_STUDIO_WIDGET main_screen_text_input_selected_row_define =
668 {
669     "text_input_selected_row",
670     GX_TYPE_SINGLE_LINE_TEXT_INPUT,          /* widget type                    */
671     GX_ID_NONE,                              /* widget id                      */
672     #if defined(GX_WIDGET_USER_DATA)
673     0,                                       /* user data                      */
674     #endif
675     GX_STYLE_BORDER_RECESSED|GX_STYLE_ENABLED|GX_STYLE_TEXT_LEFT,   /* style flags */
676     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
677     sizeof(GX_SINGLE_LINE_TEXT_INPUT),       /* control block size             */
678     GX_COLOR_ID_TEXT,                        /* normal color id                */
679     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
680     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
681     gx_studio_text_input_create,             /* create function                */
682     GX_NULL,                                 /* drawing function override      */
683     GX_NULL,                                 /* event function override        */
684     {204, 359, 239, 393},                    /* widget size                    */
685     &main_screen_set_selected_row_define,    /* next widget definition         */
686     GX_NULL,                                 /* no child widgets               */
687     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_text_input_selected_row), /* control block */
688     (void *) &main_screen_text_input_selected_row_properties /* extended properties */
689 };
690 
691 GX_CONST GX_STUDIO_WIDGET main_screen_scroll_wheel_wrap_define =
692 {
693     "scroll_wheel_wrap",
694     GX_TYPE_GENERIC_SCROLL_WHEEL,            /* widget type                    */
695     ID_SCROLL_WHEEL_WRAP,                    /* widget id                      */
696     #if defined(GX_WIDGET_USER_DATA)
697     0,                                       /* user data                      */
698     #endif
699     GX_STYLE_BORDER_THIN|GX_STYLE_ENABLED|GX_STYLE_WRAP,   /* style flags      */
700     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
701     sizeof(GX_GENERIC_SCROLL_WHEEL),         /* control block size             */
702     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
703     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
704     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
705     gx_studio_generic_scroll_wheel_create,     /* create function              */
706     GX_NULL,                                 /* drawing function override      */
707     GX_NULL,                                 /* event function override        */
708     {424, 101, 602, 313},                    /* widget size                    */
709     &main_screen_text_input_selected_row_define, /* next widget definition     */
710     GX_NULL,                                 /* no child widgets               */
711     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_scroll_wheel_wrap), /* control block */
712     (void *) &main_screen_scroll_wheel_wrap_properties /* extended properties  */
713 };
714 
715 GX_CONST GX_STUDIO_WIDGET main_screen_text_input_total_row_define =
716 {
717     "text_input_total_row",
718     GX_TYPE_SINGLE_LINE_TEXT_INPUT,          /* widget type                    */
719     GX_ID_NONE,                              /* widget id                      */
720     #if defined(GX_WIDGET_USER_DATA)
721     0,                                       /* user data                      */
722     #endif
723     GX_STYLE_BORDER_RECESSED|GX_STYLE_ENABLED|GX_STYLE_TEXT_LEFT,   /* style flags */
724     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
725     sizeof(GX_SINGLE_LINE_TEXT_INPUT),       /* control block size             */
726     GX_COLOR_ID_TEXT,                        /* normal color id                */
727     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
728     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
729     gx_studio_text_input_create,             /* create function                */
730     GX_NULL,                                 /* drawing function override      */
731     GX_NULL,                                 /* event function override        */
732     {204, 411, 239, 445},                    /* widget size                    */
733     &main_screen_scroll_wheel_wrap_define,   /* next widget definition         */
734     GX_NULL,                                 /* no child widgets               */
735     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_text_input_total_row), /* control block */
736     (void *) &main_screen_text_input_total_row_properties /* extended properties */
737 };
738 
739 GX_CONST GX_STUDIO_WIDGET main_screen_title_define =
740 {
741     "title",
742     GX_TYPE_PROMPT,                          /* widget type                    */
743     GX_ID_NONE,                              /* widget id                      */
744     #if defined(GX_WIDGET_USER_DATA)
745     0,                                       /* user data                      */
746     #endif
747     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
748     0,                                       /* status flags                   */
749     sizeof(GX_PROMPT),                       /* control block size             */
750     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
751     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
752     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
753     gx_studio_prompt_create,                 /* create function                */
754     GX_NULL,                                 /* drawing function override      */
755     GX_NULL,                                 /* event function override        */
756     {225, 13, 375, 34},                      /* widget size                    */
757     &main_screen_text_input_total_row_define, /* next widget definition        */
758     GX_NULL,                                 /* no child widgets               */
759     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_title), /* control block   */
760     (void *) &main_screen_title_properties   /* extended properties            */
761 };
762 
763 GX_CONST GX_STUDIO_WIDGET main_screen_scroll_wheel_nowrap_define =
764 {
765     "scroll_wheel_nowrap",
766     GX_TYPE_GENERIC_SCROLL_WHEEL,            /* widget type                    */
767     ID_SCROLL_WHEEL_NOWRAP,                  /* widget id                      */
768     #if defined(GX_WIDGET_USER_DATA)
769     0,                                       /* user data                      */
770     #endif
771     GX_STYLE_BORDER_THIN|GX_STYLE_ENABLED,   /* style flags                    */
772     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
773     sizeof(GX_GENERIC_SCROLL_WHEEL),         /* control block size             */
774     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
775     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
776     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
777     gx_studio_generic_scroll_wheel_create,     /* create function              */
778     GX_NULL,                                 /* drawing function override      */
779     GX_NULL,                                 /* event function override        */
780     {230, 101, 408, 313},                    /* widget size                    */
781     &main_screen_title_define,               /* next widget definition         */
782     GX_NULL,                                 /* no child widgets               */
783     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_scroll_wheel_nowrap), /* control block */
784     (void *) &main_screen_scroll_wheel_nowrap_properties /* extended properties */
785 };
786 
787 GX_CONST GX_STUDIO_WIDGET main_screen_scroll_wheel_define =
788 {
789     "scroll_wheel",
790     GX_TYPE_GENERIC_SCROLL_WHEEL,            /* widget type                    */
791     ID_SCROLL_WHEEL,                         /* widget id                      */
792     #if defined(GX_WIDGET_USER_DATA)
793     0,                                       /* user data                      */
794     #endif
795     GX_STYLE_BORDER_THIN|GX_STYLE_ENABLED,   /* style flags                    */
796     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
797     sizeof(GX_GENERIC_SCROLL_WHEEL),         /* control block size             */
798     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
799     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
800     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
801     gx_studio_generic_scroll_wheel_create,     /* create function              */
802     GX_NULL,                                 /* drawing function override      */
803     GX_NULL,                                 /* event function override        */
804     {36, 101, 214, 313},                     /* widget size                    */
805     &main_screen_scroll_wheel_nowrap_define, /* next widget definition         */
806     &main_screen_prompt_define,              /* child widget definition        */
807     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_scroll_wheel), /* control block */
808     (void *) &main_screen_scroll_wheel_properties /* extended properties       */
809 };
810 
811 GX_CONST GX_STUDIO_WIDGET main_screen_set_total_rows_define =
812 {
813     "set_total_rows",
814     GX_TYPE_TEXT_BUTTON,                     /* widget type                    */
815     ID_SET_TOTAL_ROWS,                       /* widget id                      */
816     #if defined(GX_WIDGET_USER_DATA)
817     0,                                       /* user data                      */
818     #endif
819     GX_STYLE_BORDER_RAISED|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
820     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
821     sizeof(GX_TEXT_BUTTON),                  /* control block size             */
822     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
823     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
824     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
825     gx_studio_text_button_create,            /* create function                */
826     GX_NULL,                                 /* drawing function override      */
827     GX_NULL,                                 /* event function override        */
828     {255, 411, 412, 445},                    /* widget size                    */
829     &main_screen_scroll_wheel_define,        /* next widget definition         */
830     GX_NULL,                                 /* no child widgets               */
831     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_set_total_rows), /* control block */
832     (void *) &main_screen_set_total_rows_properties /* extended properties     */
833 };
834 
835 GX_CONST GX_STUDIO_WIDGET main_screen_define =
836 {
837     "main_screen",
838     GX_TYPE_WINDOW,                          /* widget type                    */
839     GX_ID_NONE,                              /* widget id                      */
840     #if defined(GX_WIDGET_USER_DATA)
841     0,                                       /* user data                      */
842     #endif
843     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED,   /* style flags                    */
844     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
845     sizeof(MAIN_SCREEN_CONTROL_BLOCK),       /* control block size             */
846     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
847     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
848     GX_COLOR_ID_WINDOW_FILL,                 /* disabled color id              */
849     gx_studio_window_create,                 /* create function                */
850     GX_NULL,                                 /* drawing function override      */
851     (UINT (*)(GX_WIDGET *, GX_EVENT *)) main_screen_event_process, /* event function override */
852     {0, 0, 639, 479},                        /* widget size                    */
853     GX_NULL,                                 /* next widget                    */
854     &main_screen_set_total_rows_define,      /* child widget                   */
855     0,                                       /* control block                  */
856     (void *) &main_screen_properties         /* extended properties            */
857 };
858 GX_CONST GX_STUDIO_WIDGET_ENTRY generic_scroll_wheel_widget_table[] =
859 {
860     { &main_screen_define, (GX_WIDGET *) &main_screen },
861     {GX_NULL, GX_NULL}
862 };
863 
gx_studio_nested_widget_create(GX_BYTE * control,GX_CONST GX_STUDIO_WIDGET * definition,GX_WIDGET * parent)864 static GX_WIDGET *gx_studio_nested_widget_create(GX_BYTE *control, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent)
865 {
866     UINT status = GX_SUCCESS;
867     GX_WIDGET *widget = GX_NULL;
868     GX_VALUE   list_count = 0;
869     GX_VALUE   list_total_count = 0;
870 
871     if(parent && (parent->gx_widget_type == GX_TYPE_MENU))
872     {
873         list_total_count = ((GX_MENU *)parent)->gx_menu_list_total_count;
874     }
875 
876     while(definition && status == GX_SUCCESS)
877     {
878         if (definition->create_function)
879         {
880             if (definition->style & GX_STYLE_DYNAMICALLY_ALLOCATED)
881             {
882                 status = gx_widget_allocate(&widget, definition->control_block_size);
883                 if (status != GX_SUCCESS)
884                 {
885                     return GX_NULL;
886                 }
887             }
888             else
889             {
890                 if (control == GX_NULL)
891                 {
892                     return GX_NULL;
893                 }
894                 widget = (GX_WIDGET *) (control + definition->control_block_offset);
895             }
896 
897             status = definition->create_function(definition, widget, parent);
898 
899             if(list_count < list_total_count)
900             {
901                 gx_menu_insert((GX_MENU *)parent, widget);
902                 ((GX_MENU *)parent)->gx_menu_list_total_count--;
903                 list_count++;
904             }
905 
906             if (status == GX_SUCCESS)
907             {
908                 if (definition->widget_type != GX_TYPE_TEMPLATE)
909                 {
910 #if defined(GUIX_5_4_0_COMPATIBILITY)
911                     gx_widget_fill_color_set(widget, definition->normal_fill_color_id, definition->selected_fill_color_id);
912 #else
913                     gx_widget_fill_color_set(widget, definition->normal_fill_color_id, definition->selected_fill_color_id, definition->disabled_fill_color_id);
914 #endif
915                 }
916 
917                 if (!(definition->status & GX_STATUS_ACCEPTS_FOCUS))
918                 {
919                     gx_widget_status_remove(widget, GX_STATUS_ACCEPTS_FOCUS);
920                 }
921 
922                 if (definition->draw_function)
923                 {
924                     gx_widget_draw_set(widget, definition->draw_function);
925                 }
926                 if (definition->event_function)
927                 {
928                     gx_widget_event_process_set(widget, definition->event_function);
929                 }
930 
931                 #if defined(GX_WIDGET_USER_DATA)
932                 widget->gx_widget_user_data = definition->user_data;
933                 #endif
934 
935                 if (definition->child_widget)
936                 {
937                     gx_studio_nested_widget_create(control, definition->child_widget, widget);
938                 }
939             }
940             definition = definition->next_widget;
941         }
942     }
943     return widget;
944 }
945 
gx_studio_widget_create(GX_BYTE * control,GX_CONST GX_STUDIO_WIDGET * definition,GX_WIDGET * parent)946 GX_WIDGET *gx_studio_widget_create(GX_BYTE *control, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent)
947 {
948     GX_WIDGET *widget;
949     widget = gx_studio_nested_widget_create(control, definition, GX_NULL);
950 
951     if (parent && widget)
952     {
953         gx_widget_attach(parent, widget);
954     }
955     return widget;
956 }
957 
gx_studio_named_widget_create(char * name,GX_WIDGET * parent,GX_WIDGET ** new_widget)958 UINT gx_studio_named_widget_create(char *name, GX_WIDGET *parent, GX_WIDGET **new_widget)
959 {
960     UINT status = GX_FAILURE;
961     GX_CONST GX_STUDIO_WIDGET_ENTRY *entry = generic_scroll_wheel_widget_table;
962     GX_WIDGET *widget = GX_NULL;
963 
964     while(entry->widget_information)
965     {
966         if (!strcmp(name, entry->widget_information->widget_name))
967         {
968             widget = gx_studio_widget_create((GX_BYTE *) entry->widget, entry->widget_information, parent);
969             if (widget)
970             {
971                 status = GX_SUCCESS;
972             }
973             break;
974         }
975         entry++;
976     }
977 
978     if (new_widget)
979     {
980         *new_widget = widget;
981     }
982     return status;
983 }
984 
985 
gx_studio_display_configure(USHORT display,UINT (* driver)(GX_DISPLAY *),GX_UBYTE language,USHORT theme,GX_WINDOW_ROOT ** return_root)986 UINT gx_studio_display_configure(USHORT display, UINT (*driver)(GX_DISPLAY *),
987     GX_UBYTE language, USHORT theme, GX_WINDOW_ROOT **return_root)
988 {
989     GX_CONST GX_THEME *theme_ptr;
990     GX_RECTANGLE size;
991 
992     GX_STUDIO_DISPLAY_INFO *display_info = &generic_scroll_wheel_display_table[display];
993 
994 
995 /* create the requested display                                                */
996 
997     gx_display_create(display_info->display,
998                       display_info->name,
999                       driver,
1000                       (GX_VALUE) display_info->x_resolution,
1001                       (GX_VALUE) display_info->y_resolution);
1002 
1003 
1004 /* install the request theme                                                   */
1005 
1006     if(display_info->theme_table)
1007     {
1008         theme_ptr = display_info->theme_table[theme];
1009         if(theme_ptr)
1010         {
1011             gx_display_color_table_set(display_info->display, theme_ptr->theme_color_table, theme_ptr->theme_color_table_size);
1012 
1013 /* install the color palette if required                                       */
1014             if (display_info->display->gx_display_driver_palette_set &&
1015                 theme_ptr->theme_palette != NULL)
1016             {
1017                 display_info->display->gx_display_driver_palette_set(display_info->display, theme_ptr->theme_palette, theme_ptr->theme_palette_size);
1018             }
1019 
1020             gx_display_font_table_set(display_info->display, theme_ptr->theme_font_table, theme_ptr->theme_font_table_size);
1021             gx_display_pixelmap_table_set(display_info->display, theme_ptr->theme_pixelmap_table, theme_ptr->theme_pixelmap_table_size);
1022             gx_system_scroll_appearance_set(theme_ptr->theme_vertical_scroll_style, (GX_SCROLLBAR_APPEARANCE *) &theme_ptr->theme_vertical_scrollbar_appearance);
1023             gx_system_scroll_appearance_set(theme_ptr->theme_horizontal_scroll_style, (GX_SCROLLBAR_APPEARANCE *) &theme_ptr->theme_horizontal_scrollbar_appearance);
1024         }
1025     }
1026 
1027 /* Install the language table.                                                 */
1028 
1029     if(display_info->language_table)
1030     {
1031         gx_display_language_table_set_ext(display_info->display, display_info->language_table, (GX_UBYTE) display_info->language_table_size, display_info->string_table_size);
1032         gx_display_active_language_set(display_info->display, language);
1033     }
1034 
1035 /* Set screen rotation angle.                                                  */
1036 
1037     display_info->display->gx_display_rotation_angle = display_info->rotation_angle;
1038 
1039 /* create the canvas for this display                                          */
1040 
1041     gx_canvas_create(display_info->canvas,
1042                      display_info->canvas_name,
1043                      display_info->display,
1044                      GX_CANVAS_MANAGED | GX_CANVAS_VISIBLE,
1045                      display_info->x_resolution,
1046                      display_info->y_resolution,
1047                      display_info->canvas_memory,
1048                      display_info->canvas_memory_size);
1049 
1050 /* Create the root window for this canvas                                      */
1051 
1052     gx_utility_rectangle_define(&size,
1053                                 0, 0,
1054                                 (GX_VALUE) (display_info->x_resolution - 1),
1055                                 (GX_VALUE) (display_info->y_resolution - 1));
1056 
1057     gx_window_root_create(display_info->root_window,
1058                           display_info->name,
1059                           display_info->canvas, GX_STYLE_NONE, 0, &size);
1060     if (return_root)
1061     {
1062         *return_root = display_info->root_window;
1063     }
1064     return GX_SUCCESS;
1065 }
1066 #undef GUIX_STUDIO_GENERATED_FILE
1067