ui/win32/container.h

changeset 818
8185cd761897
parent 815
7ddf5fb7ec2a
child 841
651cf2c59dd9
equal deleted inserted replaced
817:d09817e6e6a4 818:8185cd761897
35 35
36 #ifdef __cplusplus 36 #ifdef __cplusplus
37 extern "C" { 37 extern "C" {
38 #endif 38 #endif
39 39
40 40 typedef struct UiContainerPrivate UiContainerPrivate;
41 typedef struct UiGridLayoutContainer UiGridLayoutContainer; 41 typedef struct UiGridLayoutContainer UiGridLayoutContainer;
42 typedef struct UiBoxContainer UiBoxContainer;
42 43
43 enum UiBoxOrientation { 44 enum UiBoxOrientation {
44 UI_BOX_VERTICAL = 0, 45 UI_BOX_VERTICAL = 0,
45 UI_BOX_HORIZONTAL 46 UI_BOX_HORIZONTAL
46 }; 47 };
49 enum UiContainerType { 50 enum UiContainerType {
50 UI_CONTAINER_GENERIC = 0, 51 UI_CONTAINER_GENERIC = 0,
51 UI_CONTAINER_TABVIEW 52 UI_CONTAINER_TABVIEW
52 }; 53 };
53 typedef enum UiContainerType UiContainerType; 54 typedef enum UiContainerType UiContainerType;
54
55 typedef struct UiContainerPrivate UiContainerPrivate;
56 55
57 typedef struct UiRect { 56 typedef struct UiRect {
58 int x; 57 int x;
59 int y; 58 int y;
60 int width; 59 int width;
68 void (*add)(UiContainerPrivate*, W32Widget*, UiLayout*); 67 void (*add)(UiContainerPrivate*, W32Widget*, UiLayout*);
69 UiContainerType type; 68 UiContainerType type;
70 HWND hwnd; 69 HWND hwnd;
71 }; 70 };
72 71
72 struct UiBoxContainer {
73 UiContainerPrivate container;
74 UiGridLayout *layout;
75 UiBoxOrientation orientation;
76 int x;
77 int y;
78 };
79
73 struct UiGridLayoutContainer { 80 struct UiGridLayoutContainer {
74 UiContainerPrivate container; 81 UiContainerPrivate container;
75 UiGridLayout *layout; 82 UiGridLayout *layout;
76 int x; 83 int x;
77 int y; 84 int y;
83 90
84 UiContainerPrivate* ui_obj_container(UiObject *obj); 91 UiContainerPrivate* ui_obj_container(UiObject *obj);
85 HWND ui_container_get_parent(UiContainerPrivate *ctn); 92 HWND ui_container_get_parent(UiContainerPrivate *ctn);
86 void ui_container_add(UiContainerPrivate *ctn, W32Widget *widget, UiLayout *layout); 93 void ui_container_add(UiContainerPrivate *ctn, W32Widget *widget, UiLayout *layout);
87 94
95 UiContainerX* ui_box_container_create(UiObject *obj, HWND hwnd, UiBoxOrientation orientation, short spacing, GridEdgeInsets padding);
96 void ui_box_container_add(UiContainerPrivate *ctn, W32Widget *widget, UiLayout *layout);
97
88 UiContainerX* ui_grid_container_create( 98 UiContainerX* ui_grid_container_create(
89 UiObject *obj, 99 UiObject *obj,
90 HWND hwnd, 100 HWND hwnd,
91 short columnspacing, 101 short columnspacing,
92 short rowspacing, 102 short rowspacing,

mercurial