ui/winui/window.cpp

branch
newapi
changeset 226
4eef1d49f794
parent 221
a82d9beaa94a
child 241
c51dd0e9ecb7
equal deleted inserted replaced
225:097f45f9c1fa 226:4eef1d49f794
107 mb.VerticalAlignment(VerticalAlignment::Top); 107 mb.VerticalAlignment(VerticalAlignment::Top);
108 obj->container->Add(mb, false); 108 obj->container->Add(mb, false);
109 } 109 }
110 110
111 if (uic_toolbar_isenabled()) { 111 if (uic_toolbar_isenabled()) {
112 // create a grid for the toolbar: ColumnDefinitions="Auto, *, Auto"
113 Grid toolbar_grid = Grid();
114 GridLength gl;
115 gl.Value = 0;
116 gl.GridUnitType = GridUnitType::Auto;
117
118 ColumnDefinition coldef0 = ColumnDefinition();
119 coldef0.Width(gl);
120 toolbar_grid.ColumnDefinitions().Append(coldef0);
121
122 gl.Value = 1;
123 gl.GridUnitType = GridUnitType::Star;
124 ColumnDefinition coldef1 = ColumnDefinition();
125 coldef1.Width(gl);
126 toolbar_grid.ColumnDefinitions().Append(coldef1);
127
128 gl.Value = 0;
129 gl.GridUnitType = GridUnitType::Auto;
130 ColumnDefinition coldef2 = ColumnDefinition();
131 coldef2.Width(gl);
132 toolbar_grid.ColumnDefinitions().Append(coldef2);
133
134 // rowdef
135 gl.Value = 0;
136 gl.GridUnitType = GridUnitType::Auto;
137 RowDefinition rowdef = RowDefinition();
138 rowdef.Height(gl);
139 toolbar_grid.RowDefinitions().Append(rowdef);
140
141
112 // create commandbar 142 // create commandbar
113 CommandBar toolbar = ui_create_toolbar(obj); 143 CxList* def_l = uic_get_toolbar_defaults(UI_TOOLBAR_LEFT);
114 // wrap the commandbar in a stackpanel, because we 144 CxList* def_c = uic_get_toolbar_defaults(UI_TOOLBAR_CENTER);
115 // don't want to fill the horizontal space 145 CxList* def_r = uic_get_toolbar_defaults(UI_TOOLBAR_RIGHT);
116 StackPanel toolbar_panel = StackPanel();
117 toolbar_panel.Orientation(Orientation::Horizontal);
118 toolbar_panel.Children().Append(toolbar);
119 146
120 toolbar_panel.VerticalAlignment(VerticalAlignment::Top); 147 bool addappmenu = true;
121 obj->container->Add(toolbar_panel, false); 148 if (def_r->size > 0) {
149 CommandBar toolbar_r = ui_create_toolbar(obj, def_r, addappmenu);
150 toolbar_grid.SetColumn(toolbar_r, 2);
151 toolbar_grid.SetRow(toolbar_r, 0);
152 toolbar_grid.Children().Append(toolbar_r);
153 addappmenu = false;
154 }
155 if (def_c->size > 0) {
156 CommandBar toolbar_c = ui_create_toolbar(obj, def_c, addappmenu);
157 toolbar_c.HorizontalAlignment(HorizontalAlignment::Center);
158 toolbar_grid.SetColumn(toolbar_c, 1);
159 toolbar_grid.SetRow(toolbar_c, 0);
160 toolbar_grid.Children().Append(toolbar_c);
161 addappmenu = false;
162 }
163 if (def_l->size > 0) {
164 CommandBar toolbar_l = ui_create_toolbar(obj, def_l, addappmenu);
165 toolbar_grid.SetColumn(toolbar_l, 0);
166 toolbar_grid.SetRow(toolbar_l, 0);
167 toolbar_grid.Children().Append(toolbar_l);
168 }
169
170 toolbar_grid.VerticalAlignment(VerticalAlignment::Top);
171 obj->container->Add(toolbar_grid, false);
122 } 172 }
123 173
124 obj->window = window_data; 174 obj->window = window_data;
125 175
126 return obj; 176 return obj;

mercurial