Mercurial > dwindows
comparison android/DWindows.kt @ 2545:f803f3b164cf
Android: Implement dw_menu_item_set_state/check() dw_menu_item_delete() and dw_menu_destroy().
Also enable checkbox handling.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Thu, 13 May 2021 22:03:48 +0000 |
parents | dbfcc0e357d6 |
children | 897d94c20365 |
comparison
equal
deleted
inserted
replaced
2544:dbfcc0e357d6 | 2545:f803f3b164cf |
---|---|
435 } else if(menuitem.submenu == null) { | 435 } else if(menuitem.submenu == null) { |
436 if(menuitem.title!!.isEmpty()) { | 436 if(menuitem.title!!.isEmpty()) { |
437 group += 1 | 437 group += 1 |
438 } else if(menuitem.menuitem == null) { | 438 } else if(menuitem.menuitem == null) { |
439 menuitem.menuitem = menu?.add(group, menuitem.id, 0, menuitem.title) | 439 menuitem.menuitem = menu?.add(group, menuitem.id, 0, menuitem.title) |
440 menuitem.menuitem!!.isCheckable = menuitem.check | |
441 menuitem.menuitem!!.isChecked = menuitem.checked | |
440 menuitem.menuitem!!.setOnMenuItemClickListener(MenuItem.OnMenuItemClickListener { item: MenuItem? -> | 442 menuitem.menuitem!!.setOnMenuItemClickListener(MenuItem.OnMenuItemClickListener { item: MenuItem? -> |
441 eventHandlerSimple(menuitem, 8) | 443 eventHandlerSimple(menuitem, 8) |
442 true | 444 true |
443 }) | 445 }) |
444 } | 446 } |
560 menu.children.add(0, menuitem) | 562 menu.children.add(0, menuitem) |
561 } else { | 563 } else { |
562 menu.children.add(menuitem) | 564 menu.children.add(menuitem) |
563 } | 565 } |
564 return menuitem | 566 return menuitem |
567 } | |
568 | |
569 fun menuDestroy(menu: DWMenu) | |
570 { | |
571 menu.children.clear() | |
572 runOnUiThread { | |
573 menu.menu!!.clear() | |
574 invalidateOptionsMenu() | |
575 } | |
576 } | |
577 | |
578 fun menuDeleteItem(menu: DWMenu, cid: Int) | |
579 { | |
580 for(menuitem in menu.children) { | |
581 if(menuitem.id == cid) { | |
582 menu.children.remove(menuitem) | |
583 runOnUiThread { | |
584 menu.menu!!.removeItem(menuitem.id) | |
585 invalidateOptionsMenu() | |
586 } | |
587 } | |
588 } | |
589 } | |
590 | |
591 fun menuSetState(menu: DWMenu, cid: Int, state: Int) | |
592 { | |
593 for(menuitem in menu.children) { | |
594 if(menuitem.id == cid) { | |
595 // Handle DW_MIS_CHECKED/UNCHECKED | |
596 if((state and ((1 shl 2) or (1 shl 3))) != 0) { | |
597 var checked: Boolean = false | |
598 | |
599 // Handle DW_MIS_CHECKED | |
600 if ((state and (1 shl 2)) != 0) { | |
601 checked = true | |
602 } | |
603 menuitem.checked = checked | |
604 runOnUiThread { | |
605 menuitem.menuitem!!.isChecked = checked | |
606 invalidateOptionsMenu() | |
607 } | |
608 } | |
609 } | |
610 } | |
565 } | 611 } |
566 | 612 |
567 /* | 613 /* |
568 * These are the Android calls to actually create the UI... | 614 * These are the Android calls to actually create the UI... |
569 * forwarded from the C Dynamic Windows API | 615 * forwarded from the C Dynamic Windows API |