Changeset 59768c7 in mainline for uspace/lib/ui/src/menuentry.c
- Timestamp:
- 2022-01-10T19:29:00Z (2 years ago)
- Branches:
- master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 5de852c
- Parents:
- 9754ed2
- git-author:
- Jiri Svoboda <jiri@…> (2022-01-10 19:27:55)
- git-committer:
- Jiri Svoboda <jiri@…> (2022-01-10 19:29:00)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/src/menuentry.c
r9754ed2 r59768c7 1 1 /* 2 * Copyright (c) 202 1Jiri Svoboda2 * Copyright (c) 2022 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 45 45 #include <ui/control.h> 46 46 #include <ui/paint.h> 47 #include <ui/menubar.h> 47 48 #include <ui/menuentry.h> 48 49 #include <ui/window.h> … … 177 178 } 178 179 180 /** Get last menu entry in menu. 181 * 182 * @param menu Menu 183 * @return Last menu entry or @c NULL if there is none 184 */ 185 ui_menu_entry_t *ui_menu_entry_last(ui_menu_t *menu) 186 { 187 link_t *link; 188 189 link = list_last(&menu->entries); 190 if (link == NULL) 191 return NULL; 192 193 return list_get_instance(link, ui_menu_entry_t, lentries); 194 } 195 179 196 /** Get next menu entry in menu. 180 197 * … … 187 204 188 205 link = list_next(&cur->lentries, &cur->menu->entries); 206 if (link == NULL) 207 return NULL; 208 209 return list_get_instance(link, ui_menu_entry_t, lentries); 210 } 211 212 /** Get previous menu entry in menu. 213 * 214 * @param cur Current menu entry 215 * @return Next menu entry or @c NULL if @a cur is the last one 216 */ 217 ui_menu_entry_t *ui_menu_entry_prev(ui_menu_entry_t *cur) 218 { 219 link_t *link; 220 221 link = list_prev(&cur->lentries, &cur->menu->entries); 189 222 if (link == NULL) 190 223 return NULL; … … 378 411 } 379 412 413 /** Determine if entry is selectable. 414 * 415 * @return @c true iff entry is selectable 416 */ 417 bool ui_menu_entry_selectable(ui_menu_entry_t *mentry) 418 { 419 return !mentry->separator; 420 } 421 380 422 /** Handle button press in menu entry. 381 423 * … … 407 449 mentry->held = false; 408 450 409 if (mentry->inside) { 410 /* Close menu */ 411 ui_menu_bar_select(mentry->menu->mbar, NULL, NULL); 412 413 /* Call back */ 414 ui_menu_entry_cb(mentry); 415 } 451 ui_menu_entry_activate(mentry); 452 } 453 454 /** Activate menu entry. 455 * 456 * @param mentry Menu entry 457 */ 458 void ui_menu_entry_activate(ui_menu_entry_t *mentry) 459 { 460 /* Deactivate menu bar, close menu */ 461 ui_menu_bar_deactivate(mentry->menu->mbar); 462 463 /* Call back */ 464 ui_menu_entry_cb(mentry); 416 465 } 417 466
Note:
See TracChangeset
for help on using the changeset viewer.