demo_ime.c 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. #ifdef FTK_AS_PLUGIN
  8. #include "ftk_app_demo.h"
  9. FTK_HIDE int FTK_MAIN(int argc, char* argv[]);
  10. FtkApp* ftk_app_demo_ime_create()
  11. {
  12. return ftk_app_demo_create(_("ime"), ftk_main);
  13. }
  14. #else
  15. #define FTK_HIDE extern
  16. #endif /*FTK_AS_PLUGIN*/
  17. FTK_HIDE int FTK_MAIN(int argc, char* argv[])
  18. {
  19. int width = 0;
  20. int height = 0;
  21. FtkWidget* win = NULL;
  22. FtkWidget* button = NULL;
  23. FtkWidget* entry = NULL;
  24. FTK_INIT(argc, argv);
  25. win = ftk_app_window_create();
  26. ftk_window_set_animation_hint(win, "app_main_window");
  27. width = ftk_widget_width(win);
  28. height = ftk_widget_height(win);
  29. entry = ftk_entry_create(win, 10, 30, ftk_widget_width(win) - 20, 30);
  30. ftk_entry_set_text(entry, "Single line editor");
  31. ftk_input_method_manager_set_current(ftk_default_input_method_manager(), 0);
  32. entry = ftk_entry_create(win, 10, 80, ftk_widget_width(win) - 20, 30);
  33. ftk_entry_set_text(entry, "Single line editor, that means you can input a one line only.");
  34. entry = ftk_entry_create(win, 10, 130, ftk_widget_width(win) - 20, 30);
  35. ftk_entry_set_text(entry, "Single line editor, 也就是说你只能输入一行文字.");
  36. button = ftk_button_create(win, width/4, height/2, width/2, 60);
  37. ftk_widget_set_text(button, "quit");
  38. ftk_button_set_clicked_listener(button, button_quit_clicked, win);
  39. ftk_window_set_focus(win, button);
  40. entry = ftk_entry_create(win, 10, height-60, ftk_widget_width(win) - 20, 30);
  41. ftk_entry_set_text(entry, "Single line editor");
  42. ftk_widget_set_text(win, "entry demo");
  43. ftk_widget_show_all(win, 1);
  44. FTK_QUIT_WHEN_WIDGET_CLOSE(win);
  45. FTK_RUN();
  46. return 0;
  47. }