Mercurial > dwindows
comparison android/DWindows.kt @ 2546:897d94c20365
Android: Implement disabled menu items.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Thu, 13 May 2021 22:52:11 +0000 |
parents | f803f3b164cf |
children | dbd15c13f5bb |
comparison
equal
deleted
inserted
replaced
2545:f803f3b164cf | 2546:897d94c20365 |
---|---|
403 var title: String? = null | 403 var title: String? = null |
404 var menu: DWMenu? = null | 404 var menu: DWMenu? = null |
405 var submenu: DWMenu? = null | 405 var submenu: DWMenu? = null |
406 var checked: Boolean = false | 406 var checked: Boolean = false |
407 var check: Boolean = false | 407 var check: Boolean = false |
408 var enabled: Boolean = true | |
408 var menuitem: MenuItem? = null | 409 var menuitem: MenuItem? = null |
409 var submenuitem: SubMenu? = null | 410 var submenuitem: SubMenu? = null |
410 var id: Int = 0 | 411 var id: Int = 0 |
411 } | 412 } |
412 | 413 |
437 group += 1 | 438 group += 1 |
438 } else if(menuitem.menuitem == null) { | 439 } else if(menuitem.menuitem == null) { |
439 menuitem.menuitem = menu?.add(group, menuitem.id, 0, menuitem.title) | 440 menuitem.menuitem = menu?.add(group, menuitem.id, 0, menuitem.title) |
440 menuitem.menuitem!!.isCheckable = menuitem.check | 441 menuitem.menuitem!!.isCheckable = menuitem.check |
441 menuitem.menuitem!!.isChecked = menuitem.checked | 442 menuitem.menuitem!!.isChecked = menuitem.checked |
443 menuitem.menuitem!!.isEnabled = menuitem.enabled | |
442 menuitem.menuitem!!.setOnMenuItemClickListener(MenuItem.OnMenuItemClickListener { item: MenuItem? -> | 444 menuitem.menuitem!!.setOnMenuItemClickListener(MenuItem.OnMenuItemClickListener { item: MenuItem? -> |
443 eventHandlerSimple(menuitem, 8) | 445 eventHandlerSimple(menuitem, 8) |
444 true | 446 true |
445 }) | 447 }) |
446 } | 448 } |
553 menuitem.title = title | 555 menuitem.title = title |
554 menuitem.check = check != 0 | 556 menuitem.check = check != 0 |
555 if(submenu != null) { | 557 if(submenu != null) { |
556 menuitem.submenu = submenu | 558 menuitem.submenu = submenu |
557 } | 559 } |
560 if((flags and (1 shl 1)) != 0) { | |
561 menuitem.enabled = false | |
562 } | |
558 if((flags and (1 shl 2)) != 0) { | 563 if((flags and (1 shl 2)) != 0) { |
559 menuitem.checked = true | 564 menuitem.checked = true |
560 } | 565 } |
561 if(end == 0) { | 566 if(end == 0) { |
562 menu.children.add(0, menuitem) | 567 menu.children.add(0, menuitem) |
590 | 595 |
591 fun menuSetState(menu: DWMenu, cid: Int, state: Int) | 596 fun menuSetState(menu: DWMenu, cid: Int, state: Int) |
592 { | 597 { |
593 for(menuitem in menu.children) { | 598 for(menuitem in menu.children) { |
594 if(menuitem.id == cid) { | 599 if(menuitem.id == cid) { |
600 // Handle DW_MIS_ENABLED/DISABLED | |
601 if((state and (1 or (1 shl 1))) != 0) { | |
602 var enabled: Boolean = false | |
603 | |
604 // Handle DW_MIS_ENABLED | |
605 if ((state and 1) != 0) { | |
606 enabled = true | |
607 } | |
608 menuitem.enabled = enabled | |
609 runOnUiThread { | |
610 menuitem.menuitem!!.isEnabled = enabled | |
611 invalidateOptionsMenu() | |
612 } | |
613 } | |
614 | |
595 // Handle DW_MIS_CHECKED/UNCHECKED | 615 // Handle DW_MIS_CHECKED/UNCHECKED |
596 if((state and ((1 shl 2) or (1 shl 3))) != 0) { | 616 if((state and ((1 shl 2) or (1 shl 3))) != 0) { |
597 var checked: Boolean = false | 617 var checked: Boolean = false |
598 | 618 |
599 // Handle DW_MIS_CHECKED | 619 // Handle DW_MIS_CHECKED |