Rev 6466 | Rev 6489 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
6479 | siemargl | 1 | /* |
2 | KolibriGUI demobox |
||
3 | -Button |
||
4 | -CheckBox |
||
5 | -EditBox |
||
6 | -Frame |
||
7 | |||
8 | Free for all |
||
9 | |||
10 | Initially written by ashmew2, 2015 |
||
11 | |||
12 | Updated by Siemargl, 2016 |
||
13 | |||
14 | ToDo |
||
15 | */ |
||
16 | |||
17 | #include |
||
18 | #include |
||
19 | #include |
||
6457 | punk_joker | 20 | #include |
6391 | ashmew2 | 21 | |
22 | int main() |
||
23 | { |
||
6395 | siemargl | 24 | /* Load all libraries, initialize global tables like system color table and |
6391 | ashmew2 | 25 | operations table. kolibri_gui_init() will EXIT with mcall -1 if it fails |
26 | to do it's job. This is all you need to call and all libraries and GUI |
||
27 | elements can be used after a successful call to this function |
||
28 | */ |
||
29 | kolibri_gui_init(); |
||
30 | /* Set gui_event to REDRAW so that window is drawn in first iteration */ |
||
31 | unsigned int gui_event = KOLIBRI_EVENT_REDRAW; |
||
6393 | punk_joker | 32 | oskey_t key; |
6391 | ashmew2 | 33 | |
6479 | siemargl | 34 | kolibri_window *main_window = kolibri_new_window(50, 50, 400, 120, "BoardMsg: OpenDialog 0.12"); |
35 | check_box *checkbox = kolibri_new_check_box(20, 45, 12, 12, "Append BOARDMSG to entered message."); |
||
36 | |||
37 | edit_box *editbox_interlock = NULL; |
||
38 | edit_box *textbox = kolibri_new_edit_box(20, 60, 40, &editbox_interlock); |
||
39 | edit_box *textbox2 = kolibri_new_edit_box(20, 80, 40, &editbox_interlock); |
||
6466 | siemargl | 40 | kolibri_button *button = kolibri_new_button(310, 60, 24, 14, 0x21, kolibri_color_table.color_work_button); |
6479 | siemargl | 41 | frame *fr = kolibri_new_frame(X_Y(12, 350), X_Y(35, 70), 0x00FCFCFC, 0x00DCDCDC, "Frame Title", 0, kolibri_color_table.color_work_text, kolibri_color_table.color_work_area); |
6395 | siemargl | 42 | |
6391 | ashmew2 | 43 | kolibri_window_add_element(main_window, KOLIBRI_EDIT_BOX, textbox); |
6479 | siemargl | 44 | kolibri_window_add_element(main_window, KOLIBRI_EDIT_BOX, textbox2); |
6391 | ashmew2 | 45 | kolibri_window_add_element(main_window, KOLIBRI_CHECK_BOX, checkbox); |
46 | kolibri_window_add_element(main_window, KOLIBRI_BUTTON, button); |
||
6466 | siemargl | 47 | kolibri_window_add_element(main_window, KOLIBRI_FRAME, fr); |
6395 | siemargl | 48 | |
6397 | siemargl | 49 | extern volatile unsigned press_key; |
6395 | siemargl | 50 | |
6391 | ashmew2 | 51 | do /* Start of main activity loop */ |
52 | { |
||
53 | if(gui_event == KOLIBRI_EVENT_REDRAW) |
||
54 | { |
||
55 | kolibri_handle_event_redraw(main_window); |
||
56 | } |
||
57 | else if(gui_event == KOLIBRI_EVENT_KEY) |
||
6395 | siemargl | 58 | { |
6393 | punk_joker | 59 | key = get_key(); |
60 | switch (key.code) |
||
61 | { |
||
62 | case 13: |
||
6397 | siemargl | 63 | if(checkbox -> flags & CHECKBOX_IS_SET) /* Append BoardMsg checkbox is set */ |
6393 | punk_joker | 64 | debug_board_write_str("BOARDMSG: "); |
65 | |||
66 | debug_board_write_str(textbox->text); |
||
67 | debug_board_write_str("\n"); |
||
68 | break; |
||
69 | } |
||
70 | press_key = key.val; |
||
6397 | siemargl | 71 | |
6391 | ashmew2 | 72 | kolibri_handle_event_key(main_window); |
73 | } |
||
74 | else if(gui_event == KOLIBRI_EVENT_BUTTON) |
||
75 | { |
||
76 | unsigned int pressed_button = kolibri_button_get_identifier(); |
||
6393 | punk_joker | 77 | switch (pressed_button) |
78 | { |
||
79 | case 0x21: |
||
80 | if(checkbox -> flags & CHECKBOX_IS_SET) /* Append BoardMsg checkbox is set */ |
||
81 | debug_board_write_str("BOARDMSG: "); |
||
82 | debug_board_write_str(textbox->text); |
||
83 | debug_board_write_str("\n"); |
||
84 | break; |
||
6457 | punk_joker | 85 | case BUTTON_CLOSE: |
6393 | punk_joker | 86 | kolibri_exit(); |
87 | } |
||
88 | } |
||
6391 | ashmew2 | 89 | else if(gui_event == KOLIBRI_EVENT_MOUSE) |
90 | { |
||
91 | kolibri_handle_event_mouse(main_window); |
||
92 | } |
||
93 | |||
6466 | siemargl | 94 | } while((gui_event = get_os_event())); /* End of main activity loop */ |
6391 | ashmew2 | 95 | |
96 | /* kolibri_quit(); */ |
||
97 | |||
98 | return 0; |
||
99 | } |