demo_check_button.c 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #include "ftk.h"
  2. static Ret button_quit_clicked(void* ctx, void* obj)
  3. {
  4. ftk_widget_unref(ctx);
  5. return RET_OK;
  6. }
  7. static Ret button_clicked(void* ctx, void* obj)
  8. {
  9. return RET_OK;
  10. }
  11. #ifdef FTK_AS_PLUGIN
  12. #include "ftk_app_demo.h"
  13. FTK_HIDE int FTK_MAIN(int argc, char* argv[]);
  14. FtkApp* ftk_app_demo_check_button_create()
  15. {
  16. return ftk_app_demo_create(_("check_button"), ftk_main);
  17. }
  18. #else
  19. #define FTK_HIDE extern
  20. #endif /*FTK_AS_PLUGIN*/
  21. FTK_HIDE int FTK_MAIN(int argc, char* argv[])
  22. {
  23. int width = 0;
  24. int height = 0;
  25. FtkWidget* win = NULL;
  26. FtkWidget* button = NULL;
  27. FtkWidget* group = NULL;
  28. FTK_INIT(argc, argv);
  29. win = ftk_app_window_create();
  30. ftk_window_set_animation_hint(win, "app_main_window");
  31. width = ftk_widget_width(win);
  32. height = ftk_widget_height(win);
  33. width = width/2 - 10;
  34. button = ftk_check_button_create(win,0, 10, width, 50);
  35. ftk_widget_set_text(button, "show");
  36. ftk_check_button_set_clicked_listener(button, button_clicked, win);
  37. button = ftk_check_button_create(win, width + 10, 10, width, 50);
  38. ftk_widget_set_text(button, "hide");
  39. ftk_check_button_set_clicked_listener(button, button_clicked, win);
  40. group = ftk_radio_group_create(win, 0, 60, 2 * width, 60);
  41. button = ftk_check_button_create_radio(group,0, 10, width, 50);
  42. ftk_widget_set_text(button, "Male");
  43. ftk_check_button_set_clicked_listener(button, button_clicked, win);
  44. button = ftk_check_button_create_radio(group, width + 10, 10, width, 50);
  45. ftk_widget_set_text(button, "Female");
  46. ftk_check_button_set_clicked_listener(button, button_clicked, win);
  47. group = ftk_radio_group_create(win, 0, 120, 2 * width, 60);
  48. button = ftk_check_button_create_radio(group,0, 10, width, 50);
  49. ftk_widget_set_text(button, "1(图标右)");
  50. ftk_check_button_set_icon_position(button, 1);
  51. ftk_check_button_set_clicked_listener(button, button_clicked, win);
  52. button = ftk_check_button_create_radio(group, width + 10, 10, width, 50);
  53. ftk_widget_set_text(button, "2(图标右)");
  54. ftk_check_button_set_icon_position(button, 1);
  55. ftk_check_button_set_clicked_listener(button, button_clicked, win);
  56. button = ftk_button_create(win, width/2, 3*height/4, width, 60);
  57. ftk_widget_set_text(button, "quit");
  58. ftk_button_set_clicked_listener(button, button_quit_clicked, win);
  59. ftk_window_set_focus(win, button);
  60. ftk_widget_set_text(win, "check button demo");
  61. ftk_widget_show_all(win, 1);
  62. FTK_QUIT_WHEN_WIDGET_CLOSE(win);
  63. FTK_RUN();
  64. return 0;
  65. }