Subversion Repositories Kolibri OS

Rev

Rev 6397 | Rev 6457 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. #include "kolibri_gui.h"
  2.  
  3. int main()
  4. {
  5.   /* Load all libraries, initialize global tables like system color table and
  6.      operations table. kolibri_gui_init() will EXIT with mcall -1 if it fails
  7.      to do it's job. This is all you need to call and all libraries and GUI
  8.      elements can be used after a successful call to this function
  9.   */
  10.   kolibri_gui_init();
  11.   /* Set gui_event to REDRAW so that window is drawn in first iteration  */
  12.   unsigned int gui_event = KOLIBRI_EVENT_REDRAW;
  13.   oskey_t key;
  14.  
  15.   struct kolibri_window *main_window = kolibri_new_window(50, 50, 400, 100, "BoardMsg: OpenDialog 0.12");
  16.   struct check_box *checkbox = kolibri_new_check_box(20, 40, 12, 12, "Append BOARDMSG to entered message.");
  17.   struct edit_box *textbox = kolibri_new_edit_box(20, 55, 40);
  18.   struct kolibri_button *button = kolibri_new_button(310, 55, 24, 14, 0x21, kolibri_color_table.color_work_button);
  19.  
  20.   kolibri_window_add_element(main_window, KOLIBRI_EDIT_BOX, textbox);
  21.   kolibri_window_add_element(main_window, KOLIBRI_CHECK_BOX, checkbox);
  22.   kolibri_window_add_element(main_window, KOLIBRI_BUTTON, button);
  23.  
  24.   extern volatile unsigned press_key;
  25.  
  26.   do  /* Start of main activity loop */
  27.     {
  28.       if(gui_event == KOLIBRI_EVENT_REDRAW)
  29.         {
  30.           kolibri_handle_event_redraw(main_window);
  31.         }
  32.       else if(gui_event == KOLIBRI_EVENT_KEY)
  33.         {
  34.           key = get_key();
  35.           switch (key.code)
  36.           {
  37.                   case 13:
  38.                         if(checkbox -> flags & CHECKBOX_IS_SET) /* Append BoardMsg checkbox is set */
  39.                                 debug_board_write_str("BOARDMSG: ");
  40.  
  41.                         debug_board_write_str(textbox->text);
  42.                         debug_board_write_str("\n");
  43.                         break;
  44.           }
  45.           press_key = key.val;
  46.  
  47.           kolibri_handle_event_key(main_window);
  48.         }
  49.       else if(gui_event == KOLIBRI_EVENT_BUTTON)
  50.         {
  51.           unsigned int pressed_button = kolibri_button_get_identifier();
  52.           switch (pressed_button)
  53.           {
  54.                   case 0x21:
  55.                         if(checkbox -> flags & CHECKBOX_IS_SET) /* Append BoardMsg checkbox is set */
  56.                         debug_board_write_str("BOARDMSG: ");
  57.                         debug_board_write_str(textbox->text);
  58.                         debug_board_write_str("\n");
  59.                         break;
  60.               case 0x00000001:
  61.                         kolibri_exit();
  62.           }
  63.          }
  64.       else if(gui_event == KOLIBRI_EVENT_MOUSE)
  65.         {
  66.           kolibri_handle_event_mouse(main_window);
  67.         }
  68.  
  69.     } while(gui_event = get_os_event()); /* End of main activity loop */
  70.  
  71.   /* kolibri_quit(); */
  72.  
  73.   return 0;
  74. }
  75.