1
2 #include "gx_api.h"
3
4 GX_WINDOW_ROOT *root;
5
6 #include "overlap_specifications.h"
7 #include "overlap_resources.h"
8
9 VOID start_guix(VOID);
10
11 extern UINT win32_graphics_driver_setup_565rgb(GX_DISPLAY *display);
12
13 /*******************************************************************************/
main(int argc,char ** argv)14 int main(int argc, char ** argv)
15 {
16 tx_kernel_enter();
17 return(0);
18 }
19
20 /*******************************************************************************/
tx_application_define(void * first_unused_memory)21 VOID tx_application_define(void *first_unused_memory)
22 {
23 start_guix();
24 }
25
26
27 /*******************************************************************************/
start_guix(VOID)28 VOID start_guix(VOID)
29 {
30
31 /* Initialize GUIX. */
32 gx_system_initialize();
33
34 gx_studio_display_configure(DISPLAY_1, win32_graphics_driver_setup_565rgb,
35 LANGUAGE_ENGLISH, DISPLAY_1_THEME_1, &root);
36
37 /* create the bench1 screen */
38 gx_studio_named_widget_create("w_main", (GX_WIDGET *) root, GX_NULL);
39
40 /* create the gauge screen */
41 gx_studio_named_widget_create("w_popup", GX_NULL, GX_NULL);
42
43 /* Show the root window to make it and patients screen visible. */
44 gx_widget_show(root);
45
46 /* start GUIX thread */
47 gx_system_start();
48 }
49
50 int counterval = 0;
51 char counter_string[20];
52
w_main_event(GX_WINDOW * p_self,GX_EVENT * p_event)53 UINT w_main_event(GX_WINDOW * p_self, GX_EVENT * p_event)
54 {
55 GX_STRING string;
56
57 switch (p_event->gx_event_type)
58 {
59 case GX_EVENT_SHOW:
60 gx_system_timer_start(p_self, 1, 5, 5);
61 break;
62
63 case GX_EVENT_TIMER:
64 counterval++;
65 gx_utility_ltoa(counterval, counter_string, 20);
66 string.gx_string_ptr = counter_string;
67 string.gx_string_length = strnlen(counter_string, sizeof(counter_string));
68 gx_prompt_text_set_ext(&w_main.w_main_counter, &string);
69 //gx_prompt_text_set(&w_main.w_main_counter2, counter_string);
70 break;
71
72 case GX_SIGNAL(ID_BTN_1, GX_EVENT_CLICKED):
73 #if (0) /* This doesn't work */
74 gx_widget_attach(p_self->gx_widget_parent, &w_popup);
75 gx_window_execute(&w_popup, GX_NULL);
76 #else /* This does work */
77 gx_widget_attach(p_self, &w_popup);
78 #endif
79 break;
80 }
81 return gx_window_event_process(p_self, p_event);
82 }
83
popup_events(GX_WINDOW * p_self,GX_EVENT * p_event)84 UINT popup_events(GX_WINDOW * p_self, GX_EVENT * p_event)
85 {
86 if (p_event->gx_event_type == GX_SIGNAL(IDB_CLOSE, GX_EVENT_CLICKED))
87 {
88 gx_widget_detach(p_self);
89 return (IDB_CLOSE);
90 }
91 return gx_window_event_process(p_self, p_event);
92 }
93