demo_view_notebook.c 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * 程序清单:notebook控件演示
  3. *
  4. * 这个例子会在创建出的container上演示notebook控件
  5. */
  6. #include "demo_view.h"
  7. #include <rtgui/widgets/notebook.h>
  8. #include <rtgui/widgets/listbox.h>
  9. const static struct rtgui_listbox_item items[] =
  10. {
  11. {"list #0", RT_NULL},
  12. {"list #1", RT_NULL},
  13. {"list #2", RT_NULL},
  14. {"list #3", RT_NULL},
  15. };
  16. const static struct rtgui_listbox_item items2[] =
  17. {
  18. {"list #0", RT_NULL},
  19. {"list #1", RT_NULL},
  20. {"list #2", RT_NULL},
  21. {"new list #1", RT_NULL},
  22. {"new list #2", RT_NULL},
  23. };
  24. /* 创建用于演示notebook控件的视图 */
  25. rtgui_container_t *demo_view_notebook(void)
  26. {
  27. rtgui_rect_t rect;
  28. rtgui_container_t *container;
  29. struct rtgui_notebook *notebook;
  30. rtgui_listbox_t *box;
  31. /* 先创建一个演示用的视图 */
  32. container = demo_view("Notebook View");
  33. /* 获得视图的位置信息 */
  34. demo_view_get_rect(container, &rect);
  35. notebook = rtgui_notebook_create(&rect, RTGUI_NOTEBOOK_BOTTOM);
  36. /* container是一个container控件,调用add_child方法添加这个notebook控件 */
  37. rtgui_container_add_child(container, RTGUI_WIDGET(notebook));
  38. box = rtgui_listbox_create(items, sizeof(items) / sizeof(struct rtgui_listbox_item), &rect);
  39. rtgui_notebook_add(notebook, "Tab 1", RTGUI_WIDGET(box));
  40. box = rtgui_listbox_create(items2, sizeof(items2) / sizeof(struct rtgui_listbox_item), &rect);
  41. rtgui_notebook_add(notebook, "Tab 2", RTGUI_WIDGET(box));
  42. return container;
  43. }