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