/src/demos/demo_check_button.c

http://ftk.googlecode.com/ · C · 88 lines · 71 code · 17 blank · 0 comment · 0 complexity · 99bfbf5e603162cc3aacc3faceada8e0 MD5 · raw file

  1. #include "ftk.h"
  2. static Ret button_clicked(void* ctx, void* obj)
  3. {
  4. return RET_OK;
  5. }
  6. #ifdef FTK_AS_PLUGIN
  7. #include "ftk_app_demo.h"
  8. FTK_HIDE int FTK_MAIN(int argc, char* argv[]);
  9. FtkApp* ftk_app_demo_check_button_create()
  10. {
  11. return ftk_app_demo_create(_("check_button"), ftk_main);
  12. }
  13. #else
  14. #define FTK_HIDE extern
  15. #endif /*FTK_AS_PLUGIN*/
  16. FTK_HIDE int FTK_MAIN(int argc, char* argv[])
  17. {
  18. int win_width = 0;
  19. int win_height = 0;
  20. int group_height = 0;
  21. int button_width = 0;
  22. int button_height = 0;
  23. FtkWidget* win = NULL;
  24. FtkWidget* button = NULL;
  25. FtkWidget* group = NULL;
  26. FTK_INIT(argc, argv);
  27. win = ftk_app_window_create();
  28. ftk_window_set_animation_hint(win, "app_main_window");
  29. win_width = ftk_widget_width(win);
  30. win_height = ftk_widget_height(win);
  31. button_width = win_width/2 - 20;
  32. button_height = 50;
  33. group_height = (win_height - 6)/3;
  34. group = ftk_group_box_create(win, 0, 0, win_width, group_height);
  35. ftk_widget_set_text(group, "Favorites");
  36. button = ftk_check_button_create(group, 20,
  37. (group_height - button_height) / 2, button_width, button_height);
  38. ftk_widget_set_text(button, "Sports");
  39. ftk_check_button_set_clicked_listener(button, button_clicked, win);
  40. button = ftk_check_button_create(group, button_width + 20,
  41. (group_height - button_height) / 2, button_width, button_height);
  42. ftk_widget_set_text(button, "Reading");
  43. ftk_check_button_set_clicked_listener(button, button_clicked, win);
  44. group = ftk_group_box_create(win, 0, group_height + 2, win_width, group_height);
  45. ftk_widget_set_text(group, "Gender");
  46. button = ftk_check_button_create_radio(group, 20,
  47. (group_height - button_height) / 2, button_width, button_height);
  48. ftk_widget_set_text(button, "Male");
  49. ftk_check_button_set_clicked_listener(button, button_clicked, win);
  50. button = ftk_check_button_create_radio(group, button_width + 20,
  51. (group_height - button_height) / 2, button_width, button_height);
  52. ftk_widget_set_text(button, "Female");
  53. ftk_check_button_set_clicked_listener(button, button_clicked, win);
  54. group = ftk_group_box_create(win, 0, 2 * group_height + 2, win_width, group_height);
  55. ftk_widget_set_text(group, "Gender(Right Icon)");
  56. button = ftk_check_button_create_radio(group, 20,
  57. (group_height - button_height) / 2, button_width, button_height);
  58. ftk_widget_set_text(button, "Male");
  59. ftk_check_button_set_icon_position(button, 1);
  60. ftk_check_button_set_clicked_listener(button, button_clicked, win);
  61. button = ftk_check_button_create_radio(group, button_width + 20,
  62. (group_height - button_height) / 2, button_width, button_height);
  63. ftk_widget_set_text(button, "Female");
  64. ftk_check_button_set_icon_position(button, 1);
  65. ftk_check_button_set_clicked_listener(button, button_clicked, win);
  66. ftk_widget_set_text(win, "check button demo");
  67. ftk_widget_show_all(win, 1);
  68. FTK_QUIT_WHEN_WIDGET_CLOSE(win);
  69. FTK_RUN();
  70. return 0;
  71. }