Changeset f6304727 in mainline for uspace/app
- Timestamp:
- 2026-03-08T21:20:30Z (9 days ago)
- Branches:
- master
- Children:
- 13277e3
- Parents:
- 01cd15bc
- Location:
- uspace/app/nav
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/nav/menu.c
r01cd15bc rf6304727 65 65 ui_menu_entry_t *mfsep; 66 66 ui_menu_entry_t *mexit; 67 gfx_rect_t arect;68 gfx_rect_t rect;69 67 errno_t rc; 70 68 … … 148 146 149 147 ui_menu_entry_set_cb(mexit, nav_menu_file_exit, (void *) menu); 150 151 ui_window_get_app_rect(menu->window, &arect); 152 153 rect.p0 = arect.p0; 154 rect.p1.x = arect.p1.x; 155 rect.p1.y = arect.p0.y + 1; 156 ui_menu_bar_set_rect(menu->menubar, &rect); 148 nav_menu_resize(menu); 157 149 158 150 *rmenu = menu; … … 163 155 } 164 156 157 /** Resize navigator menu. 158 * 159 * @param menu Menu 160 */ 161 void nav_menu_resize(nav_menu_t *menu) 162 { 163 gfx_rect_t arect; 164 gfx_rect_t rect; 165 166 ui_window_get_app_rect(menu->window, &arect); 167 168 rect.p0 = arect.p0; 169 rect.p1.x = arect.p1.x; 170 rect.p1.y = arect.p0.y + 1; 171 ui_menu_bar_set_rect(menu->menubar, &rect); 172 } 173 165 174 /** Set navigator menu callbacks. 166 175 * -
uspace/app/nav/menu.h
r01cd15bc rf6304727 43 43 44 44 extern errno_t nav_menu_create(ui_window_t *, nav_menu_t **); 45 extern void nav_menu_resize(nav_menu_t *); 45 46 extern void nav_menu_set_cb(nav_menu_t *, nav_menu_cb_t *, void *); 46 47 extern void nav_menu_destroy(nav_menu_t *); -
uspace/app/nav/nav.c
r01cd15bc rf6304727 64 64 #define EDITOR_CMD "/app/edit" 65 65 66 static void wnd_resize(ui_window_t *, void *); 66 67 static void wnd_close(ui_window_t *, void *); 67 68 static void wnd_kbd(ui_window_t *, void *, kbd_event_t *); 68 69 69 70 static ui_window_cb_t window_cb = { 71 .resize = wnd_resize, 70 72 .close = wnd_close, 71 73 .kbd = wnd_kbd … … 96 98 }; 97 99 100 static void navigator_panel_rect(navigator_t *, unsigned, gfx_rect_t *); 98 101 static void navigator_panel_activate_req(void *, panel_t *); 99 102 static void navigator_panel_file_open(void *, panel_t *, const char *); … … 133 136 .close = navigator_exists_close 134 137 }; 138 139 /** Window size has changed. 140 * 141 * @param window Window 142 * @param arg Argument (navigator) 143 */ 144 static void wnd_resize(ui_window_t *window, void *arg) 145 { 146 navigator_t *navigator = (navigator_t *) arg; 147 unsigned i; 148 gfx_rect_t rect; 149 150 nav_menu_resize(navigator->menu); 151 152 for (i = 0; i < navigator_panels; i++) { 153 navigator_panel_rect(navigator, i, &rect); 154 panel_set_rect(navigator->panel[i], &rect); 155 } 156 } 135 157 136 158 /** Window close button was clicked. … … 207 229 } 208 230 231 static void navigator_panel_rect(navigator_t *navigator, unsigned i, 232 gfx_rect_t *rect) 233 { 234 gfx_rect_t arect; 235 gfx_coord_t pw; 236 237 ui_window_get_app_rect(navigator->window, &arect); 238 239 /* Panel width */ 240 pw = (arect.p1.x - arect.p0.x) / navigator_panels; 241 242 rect->p0.x = arect.p0.x + pw * i; 243 rect->p0.y = arect.p0.y + 1; 244 rect->p1.x = arect.p0.x + pw * (i + 1); 245 rect->p1.y = arect.p1.y - 1; 246 } 247 209 248 /** Create navigator. 210 249 * … … 220 259 gfx_rect_t rect; 221 260 gfx_rect_t arect; 222 gfx_coord_t pw;223 261 unsigned i; 224 262 errno_t rc; … … 242 280 if (rc != EOK) { 243 281 printf("Error creating window.\n"); 282 244 283 goto error; 245 284 } … … 269 308 } 270 309 271 /* Panel width */ 272 pw = (arect.p1.x - arect.p0.x) / 2; 273 274 for (i = 0; i < 2; i++) { 310 /* Create panels. */ 311 for (i = 0; i < navigator_panels; i++) { 275 312 rc = panel_create(navigator->window, i == 0, 276 313 &navigator->panel[i]); … … 278 315 goto error; 279 316 280 rect.p0.x = arect.p0.x + pw * i; 281 rect.p0.y = arect.p0.y + 1; 282 rect.p1.x = arect.p0.x + pw * (i + 1); 283 rect.p1.y = arect.p1.y - 1; 317 navigator_panel_rect(navigator, i, &rect); 284 318 panel_set_rect(navigator->panel[i], &rect); 285 319 … … 326 360 unsigned i; 327 361 328 for (i = 0; i < 2; i++) {362 for (i = 0; i < navigator_panels; i++) { 329 363 if (navigator->panel[i] != NULL) { 330 364 ui_fixed_remove(navigator->fixed, … … 437 471 /* First refresh inactive panel. */ 438 472 439 for (i = 0; i < 2; i++) {473 for (i = 0; i < navigator_panels; i++) { 440 474 if (!panel_is_active(navigator->panel[i])) { 441 475 rc = panel_refresh(navigator->panel[i]); … … 450 484 */ 451 485 452 for (i = 0; i < 2; i++) {486 for (i = 0; i < navigator_panels; i++) { 453 487 if (panel_is_active(navigator->panel[i])) { 454 488 rc = panel_refresh(navigator->panel[i]);
Note:
See TracChangeset
for help on using the changeset viewer.
