| 66 extern "C" static void ui_window_widget_destroy(UiObject *obj) { |
66 extern "C" static void ui_window_widget_destroy(UiObject *obj) { |
| 67 obj->ref = 1; |
67 obj->ref = 1; |
| 68 obj->wobj->window.Close(); |
68 obj->wobj->window.Close(); |
| 69 } |
69 } |
| 70 |
70 |
| 71 UiObject* ui_window(const char* title, void* window_data) { |
71 UiObject* ui_window(const char* title) { |
| 72 UiObject* obj = ui_simple_window(title, window_data); |
72 UiObject* obj = ui_simple_window(title); |
| 73 |
73 |
| 74 /* |
74 /* |
| 75 if (uic_get_menu_list()) { |
75 if (uic_get_menu_list()) { |
| 76 // create/add menubar |
76 // create/add menubar |
| 77 MenuBar mb = ui_create_menubar(obj); |
77 MenuBar mb = ui_create_menubar(obj); |
| 78 mb.VerticalAlignment(VerticalAlignment::Top); |
78 mb.VerticalAlignment(VerticalAlignment::Top); |
| 79 obj->container->Add(mb, false); |
79 obj->container->Add(mb, false); |
| 80 } |
80 } |
| 81 */ |
81 */ |
| 82 |
82 |
| 83 if (uic_toolbar_isenabled()) { |
83 if (uic_toolbar_isenabled()) { |
| 84 // create a grid for the toolbar: ColumnDefinitions="Auto, *, Auto" |
84 // create a grid for the toolbar: ColumnDefinitions="Auto, *, Auto" |
| 85 Grid toolbar_grid = Grid(); |
85 Grid toolbar_grid = Grid(); |
| 86 GridLength gl; |
86 GridLength gl; |
| 87 gl.Value = 0; |
87 gl.Value = 0; |
| 88 gl.GridUnitType = GridUnitType::Auto; |
88 gl.GridUnitType = GridUnitType::Auto; |
| 89 |
89 |
| 90 ColumnDefinition coldef0 = ColumnDefinition(); |
90 ColumnDefinition coldef0 = ColumnDefinition(); |
| 91 coldef0.Width(gl); |
91 coldef0.Width(gl); |
| 92 toolbar_grid.ColumnDefinitions().Append(coldef0); |
92 toolbar_grid.ColumnDefinitions().Append(coldef0); |
| 93 |
93 |
| 94 gl.Value = 1; |
94 gl.Value = 1; |
| 95 gl.GridUnitType = GridUnitType::Star; |
95 gl.GridUnitType = GridUnitType::Star; |
| 96 ColumnDefinition coldef1 = ColumnDefinition(); |
96 ColumnDefinition coldef1 = ColumnDefinition(); |
| 97 coldef1.Width(gl); |
97 coldef1.Width(gl); |
| 98 toolbar_grid.ColumnDefinitions().Append(coldef1); |
98 toolbar_grid.ColumnDefinitions().Append(coldef1); |
| 99 |
99 |
| 100 gl.Value = 0; |
100 gl.Value = 0; |
| 101 gl.GridUnitType = GridUnitType::Auto; |
101 gl.GridUnitType = GridUnitType::Auto; |
| 102 ColumnDefinition coldef2 = ColumnDefinition(); |
102 ColumnDefinition coldef2 = ColumnDefinition(); |
| 103 coldef2.Width(gl); |
103 coldef2.Width(gl); |
| 104 toolbar_grid.ColumnDefinitions().Append(coldef2); |
104 toolbar_grid.ColumnDefinitions().Append(coldef2); |
| 105 |
105 |
| 106 // rowdef |
106 // rowdef |
| 107 gl.Value = 0; |
107 gl.Value = 0; |
| 108 gl.GridUnitType = GridUnitType::Auto; |
108 gl.GridUnitType = GridUnitType::Auto; |
| 109 RowDefinition rowdef = RowDefinition(); |
109 RowDefinition rowdef = RowDefinition(); |
| 110 rowdef.Height(gl); |
110 rowdef.Height(gl); |
| 111 toolbar_grid.RowDefinitions().Append(rowdef); |
111 toolbar_grid.RowDefinitions().Append(rowdef); |
| 112 |
112 |
| 113 |
113 |
| 114 // create commandbar |
114 // create commandbar |
| 115 CxList* def_l = uic_get_toolbar_defaults(UI_TOOLBAR_LEFT); |
115 CxList* def_l = uic_get_toolbar_defaults(UI_TOOLBAR_LEFT); |
| 116 CxList* def_c = uic_get_toolbar_defaults(UI_TOOLBAR_CENTER); |
116 CxList* def_c = uic_get_toolbar_defaults(UI_TOOLBAR_CENTER); |
| 117 CxList* def_r = uic_get_toolbar_defaults(UI_TOOLBAR_RIGHT); |
117 CxList* def_r = uic_get_toolbar_defaults(UI_TOOLBAR_RIGHT); |
| 118 |
118 |
| 119 bool addappmenu = true; |
119 bool addappmenu = true; |
| 120 if (cxListSize(def_r) > 0) { |
120 if (cxListSize(def_r) > 0) { |
| 121 CommandBar toolbar_r = ui_create_toolbar(obj, def_r, addappmenu); |
121 CommandBar toolbar_r = ui_create_toolbar(obj, def_r, addappmenu); |
| 122 toolbar_grid.SetColumn(toolbar_r, 2); |
122 toolbar_grid.SetColumn(toolbar_r, 2); |
| 123 toolbar_grid.SetRow(toolbar_r, 0); |
123 toolbar_grid.SetRow(toolbar_r, 0); |
| 124 toolbar_grid.Children().Append(toolbar_r); |
124 toolbar_grid.Children().Append(toolbar_r); |
| 125 addappmenu = false; |
125 addappmenu = false; |
| 126 } |
126 } |
| 127 if (cxListSize(def_c) > 0) { |
127 if (cxListSize(def_c) > 0) { |
| 128 CommandBar toolbar_c = ui_create_toolbar(obj, def_c, addappmenu); |
128 CommandBar toolbar_c = ui_create_toolbar(obj, def_c, addappmenu); |
| 129 toolbar_c.HorizontalAlignment(HorizontalAlignment::Center); |
129 toolbar_c.HorizontalAlignment(HorizontalAlignment::Center); |
| 130 toolbar_grid.SetColumn(toolbar_c, 1); |
130 toolbar_grid.SetColumn(toolbar_c, 1); |
| 131 toolbar_grid.SetRow(toolbar_c, 0); |
131 toolbar_grid.SetRow(toolbar_c, 0); |
| 132 toolbar_grid.Children().Append(toolbar_c); |
132 toolbar_grid.Children().Append(toolbar_c); |
| 133 addappmenu = false; |
133 addappmenu = false; |
| 134 } |
134 } |
| 135 if (cxListSize(def_l) > 0) { |
135 if (cxListSize(def_l) > 0) { |
| 136 CommandBar toolbar_l = ui_create_toolbar(obj, def_l, addappmenu); |
136 CommandBar toolbar_l = ui_create_toolbar(obj, def_l, addappmenu); |
| 137 toolbar_grid.SetColumn(toolbar_l, 0); |
137 toolbar_grid.SetColumn(toolbar_l, 0); |
| 138 toolbar_grid.SetRow(toolbar_l, 0); |
138 toolbar_grid.SetRow(toolbar_l, 0); |
| 139 toolbar_grid.Children().Append(toolbar_l); |
139 toolbar_grid.Children().Append(toolbar_l); |
| 140 } |
140 } |
| 141 |
141 |
| 142 toolbar_grid.VerticalAlignment(VerticalAlignment::Top); |
142 toolbar_grid.VerticalAlignment(VerticalAlignment::Top); |
| 143 obj->container->Add(toolbar_grid, false); |
143 obj->container->Add(toolbar_grid, false); |
| 144 } |
144 } |
| 145 |
145 |
| 146 return obj; |
146 return obj; |
| 147 } |
147 } |
| 148 |
148 |
| 149 UIEXPORT UiObject* ui_simple_window(const char *title, void *window_data) { |
149 UIEXPORT UiObject* ui_simple_window(const char *title) { |
| 150 UiObject* obj = uic_object_new_toplevel(); |
150 UiObject* obj = uic_object_new_toplevel(); |
| 151 |
151 |
| 152 obj->ctx = uic_context(obj, mp); |
152 obj->ctx = uic_context(obj, mp); |
| 153 obj->window = window_data; |
|
| 154 |
153 |
| 155 Window window = Window(); |
154 Window window = Window(); |
| 156 //Window window = make<winui::implementation::MainWindow>(); |
155 //Window window = make<winui::implementation::MainWindow>(); |
| 157 |
156 |
| 158 winrt::Windows::Foundation::Uri resourceLocator{ L"ms-appx:///MainWindow.xaml" }; |
157 winrt::Windows::Foundation::Uri resourceLocator{ L"ms-appx:///MainWindow.xaml" }; |