Rev 6559 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
6489 | siemargl | 1 | #include |
2 | #include |
||
6500 | punk_joker | 3 | #include |
6489 | siemargl | 4 | #include |
6481 | punk_joker | 5 | #include |
6 | #include |
||
7 | |||
8 | int main() |
||
9 | { |
||
10 | /* Load all libraries, initialize global tables like system color table and |
||
11 | operations table. kolibri_gui_init() will EXIT with mcall -1 if it fails |
||
12 | to do it's job. This is all you need to call and all libraries and GUI |
||
13 | elements can be used after a successful call to this function |
||
14 | */ |
||
15 | kolibri_gui_init(); |
||
16 | kolibri_kmenu_init(); |
||
17 | /* Set gui_event to REDRAW so that window is drawn in first iteration */ |
||
18 | unsigned int gui_event = KOLIBRI_EVENT_REDRAW; |
||
19 | oskey_t key; |
||
20 | |||
21 | kolibri_window *main_window = kolibri_new_window(50, 50, 400, 200, "kmenu example"); |
||
6489 | siemargl | 22 | |
6481 | punk_joker | 23 | kmenu_init(NULL); |
6489 | siemargl | 24 | |
6500 | punk_joker | 25 | ksubmenu_t *sub_menu1 = ksubmenu_new(); |
6559 | siemargl | 26 | ksubmenu_add(sub_menu1, kmenuitem_new(KMENUITEM_NORMAL, "Open", 101)); |
27 | ksubmenu_add(sub_menu1, kmenuitem_new(KMENUITEM_NORMAL, "Save", 102)); |
||
28 | ksubmenu_add(sub_menu1, kmenuitem_new(KMENUITEM_SEPARATOR, NULL, 0)); |
||
29 | ksubmenu_add(sub_menu1, kmenuitem_new(KMENUITEM_NORMAL, "Exit", 103)); |
||
6489 | siemargl | 30 | |
6500 | punk_joker | 31 | ksubmenu_t *sub_menu2 = ksubmenu_new(); |
6559 | siemargl | 32 | ksubmenu_add(sub_menu2, kmenuitem_new(KMENUITEM_NORMAL, "Find", 201)); |
33 | ksubmenu_add(sub_menu2, kmenuitem_new(KMENUITEM_NORMAL, "Replace", 202)); |
||
6489 | siemargl | 34 | |
6500 | punk_joker | 35 | ksubmenu_t *sub_menu22 = ksubmenu_new(); |
6559 | siemargl | 36 | ksubmenu_add(sub_menu22, kmenuitem_new(KMENUITEM_NORMAL, "CP1251", 211)); |
37 | ksubmenu_add(sub_menu22, kmenuitem_new(KMENUITEM_NORMAL, "UTF-8", 212)); |
||
38 | ksubmenu_add(sub_menu2, kmenuitem__submenu_new(KMENUITEM_SUBMENU, "Encoding", sub_menu22)); |
||
6489 | siemargl | 39 | |
6500 | punk_joker | 40 | ksubmenu_t *main_menu = ksubmenu_new(); |
6559 | siemargl | 41 | ksubmenu_add(main_menu, kmenuitem__submenu_new(KMENUITEM_SUBMENU, "File", sub_menu1)); |
42 | ksubmenu_add(main_menu, kmenuitem__submenu_new(KMENUITEM_SUBMENU, "Edit", sub_menu2)); |
||
6489 | siemargl | 43 | |
8122 | maxcodehac | 44 | unsigned press_key; |
6481 | punk_joker | 45 | |
46 | do /* Start of main activity loop */ |
||
47 | { |
||
6500 | punk_joker | 48 | if(gui_event == KOLIBRI_EVENT_REDRAW) |
6489 | siemargl | 49 | |
6481 | punk_joker | 50 | { |
51 | kolibri_handle_event_redraw(main_window); |
||
52 | kmainmenu_draw(main_menu); |
||
53 | } |
||
54 | else if(gui_event == KOLIBRI_EVENT_KEY) |
||
55 | { |
||
56 | key = get_key(); |
||
57 | switch (key.code) |
||
58 | { |
||
59 | } |
||
60 | press_key = key.val; |
||
61 | |||
8122 | maxcodehac | 62 | kolibri_handle_event_key(main_window, key); |
6481 | punk_joker | 63 | } |
64 | else if(gui_event == KOLIBRI_EVENT_BUTTON) |
||
65 | { |
||
66 | unsigned int pressed_button = kolibri_button_get_identifier(); |
||
67 | switch (pressed_button) |
||
68 | { |
||
69 | case 101: |
||
70 | debug_board_write_str("File->Open\n"); |
||
71 | break; |
||
72 | case 102: |
||
73 | debug_board_write_str("File->Save\n"); |
||
74 | break; |
||
75 | case 103: |
||
76 | debug_board_write_str("File->Exit\n"); |
||
77 | break; |
||
78 | case 201: |
||
79 | debug_board_write_str("Edit->Find\n"); |
||
80 | break; |
||
81 | case 202: |
||
82 | debug_board_write_str("Edit->Replace\n"); |
||
83 | break; |
||
84 | case 211: |
||
85 | debug_board_write_str("Edit->Encoding->cp1251\n"); |
||
86 | break; |
||
87 | case 212: |
||
88 | debug_board_write_str("Edit->Encoding->UTF-8\n"); |
||
89 | break; |
||
90 | case BUTTON_CLOSE: |
||
91 | kolibri_exit(); |
||
92 | } |
||
93 | } |
||
94 | else if(gui_event == KOLIBRI_EVENT_MOUSE) |
||
95 | { |
||
96 | kolibri_handle_event_mouse(main_window); |
||
97 | kmainmenu_dispatch_cursorevent(main_menu); |
||
98 | } |
||
99 | |||
100 | } while((gui_event = get_os_event())); /* End of main activity loop */ |
||
101 | |||
102 | /* kolibri_quit(); */ |
||
103 | |||
104 | return 0; |
||
105 | } |