demo_combo_box.c 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #include "ftk.h"
  2. #define IDC_TEST_BUTTON 1000
  3. static Ret button_quit_clicked(void* ctx, void* obj)
  4. {
  5. ftk_widget_unref(ctx);
  6. return RET_OK;
  7. }
  8. #ifdef FTK_AS_PLUGIN
  9. #include "ftk_app_demo.h"
  10. FTK_HIDE int FTK_MAIN(int argc, char* argv[]);
  11. FtkApp* ftk_app_demo_combo_box_create()
  12. {
  13. return ftk_app_demo_create(_("combo_box"), ftk_main);
  14. }
  15. #else
  16. #define FTK_HIDE extern
  17. #endif /*FTK_AS_PLUGIN*/
  18. FTK_HIDE int FTK_MAIN(int argc, char* argv[])
  19. {
  20. int width = 0;
  21. int height = 0;
  22. FtkWidget* win = NULL;
  23. FtkWidget* button = NULL;
  24. FtkWidget* combo_box = NULL;
  25. FTK_INIT(argc, argv);
  26. win = ftk_app_window_create();
  27. ftk_window_set_animation_hint(win, "app_main_window");
  28. width = ftk_widget_width(win);
  29. height = ftk_widget_height(win);
  30. width = width/2 - 10;
  31. combo_box = ftk_combo_box_create(win, 0, height/4, width, 50);
  32. ftk_combo_box_set_text(combo_box, "1 second");
  33. ftk_combo_box_append(combo_box, NULL, "1 second");
  34. ftk_combo_box_append(combo_box, NULL, "2 seconds");
  35. ftk_combo_box_append(combo_box, NULL, "3 seconds");
  36. combo_box = ftk_combo_box_create(win, width + 10, height/4, width, 50);
  37. ftk_combo_box_set_text(combo_box, "1 second");
  38. ftk_combo_box_append(combo_box, NULL, "1 second");
  39. ftk_combo_box_append(combo_box, NULL, "2 seconds");
  40. ftk_combo_box_append(combo_box, NULL, "3 seconds");
  41. ftk_combo_box_append(combo_box, NULL, "4 seconds");
  42. ftk_combo_box_append(combo_box, NULL, "5 seconds");
  43. ftk_combo_box_append(combo_box, NULL, "6 seconds");
  44. ftk_combo_box_append(combo_box, NULL, "7 seconds");
  45. ftk_combo_box_append(combo_box, NULL, "8 seconds");
  46. ftk_combo_box_append(combo_box, NULL, "9 seconds");
  47. ftk_combo_box_append(combo_box, NULL, "0 seconds");
  48. ftk_combo_box_append(combo_box, NULL, "0 seconds");
  49. button = ftk_button_create(win, width/2, height/2, width, 60);
  50. ftk_widget_set_text(button, "quit");
  51. ftk_button_set_clicked_listener(button, button_quit_clicked, win);
  52. ftk_window_set_focus(win, button);
  53. combo_box = ftk_combo_box_create(win, 0, 3*height/4+5, width, 50);
  54. ftk_combo_box_set_text(combo_box, "1 second");
  55. ftk_combo_box_append(combo_box, NULL, "1 second");
  56. ftk_combo_box_append(combo_box, NULL, "2 seconds");
  57. ftk_combo_box_append(combo_box, NULL, "3 seconds");
  58. combo_box = ftk_combo_box_create(win, width + 10, 3*height/4+5, width, 50);
  59. ftk_combo_box_set_text(combo_box, "1 second");
  60. ftk_combo_box_append(combo_box, NULL, "1 second");
  61. ftk_combo_box_append(combo_box, NULL, "2 seconds");
  62. ftk_combo_box_append(combo_box, NULL, "3 seconds");
  63. ftk_combo_box_append(combo_box, NULL, "4 seconds");
  64. ftk_combo_box_append(combo_box, NULL, "5 seconds");
  65. ftk_combo_box_append(combo_box, NULL, "6 seconds");
  66. ftk_combo_box_append(combo_box, NULL, "7 seconds");
  67. ftk_combo_box_append(combo_box, NULL, "8 seconds");
  68. ftk_combo_box_append(combo_box, NULL, "9 seconds");
  69. ftk_combo_box_append(combo_box, NULL, "0 seconds");
  70. ftk_combo_box_append(combo_box, NULL, "0 seconds");
  71. ftk_widget_set_text(win, "ComboBox Demo");
  72. ftk_widget_show_all(win, 1);
  73. FTK_QUIT_WHEN_WIDGET_CLOSE(win);
  74. FTK_RUN();
  75. return 0;
  76. }