You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by yi...@apache.org on 2022/04/06 15:06:07 UTC
[royale-asjs] branch develop updated: mx - enable/disable menu items
This is an automated email from the ASF dual-hosted git repository.
yishayw pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
The following commit(s) were added to refs/heads/develop by this push:
new 7d8a4d4193 mx - enable/disable menu items
7d8a4d4193 is described below
commit 7d8a4d419316347de055ac493bdf55cffb5a49da
Author: Yishay Weiss <yi...@hotmail.com>
AuthorDate: Wed Apr 6 18:05:30 2022 +0300
mx - enable/disable menu items
---
.../menuClasses/CascadingMenuItemRenderer.as | 28 ++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/menuClasses/CascadingMenuItemRenderer.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/menuClasses/CascadingMenuItemRenderer.as
index 1f0f88cf1c..40d0417841 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/menuClasses/CascadingMenuItemRenderer.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/menuClasses/CascadingMenuItemRenderer.as
@@ -26,6 +26,9 @@ package mx.controls.menuClasses
import mx.supportClasses.IFoldable;
import org.apache.royale.core.IPopUpHost;
import org.apache.royale.core.IPopUpHostParent;
+ import mx.controls.Menu;
+ import org.apache.royale.html.beads.DisableBead;
+ import org.apache.royale.html.beads.DisabledAlphaBead;
/**
* The ListItemRenderer is the default renderer for mx.controls.List
@@ -43,9 +46,34 @@ package mx.controls.menuClasses
super();
}
+ /*
+ * @private
+ */
+ private var _enabled:Boolean;
+ private var _disableBead:DisableBead;
+ public function set enabled(value:Boolean):void
+ {
+ _enabled = value;
+ if (_disableBead == null) {
+ _disableBead = new DisableBead();
+ addBead(_disableBead);
+ addBead(new DisabledAlphaBead());
+ }
+ _disableBead.disabled = !_enabled;
+ COMPILE::JS
+ {
+ element.style.cursor = value ? "pointer" : "auto";
+ }
+ }
+
override public function set data(value:Object):void
{
super.data = value;
+ if (parent && parent is Menu && (parent as Menu).dataDescriptor)
+ {
+ var desc:IMenuDataDescriptor = (parent as Menu).dataDescriptor;
+ enabled = desc.isEnabled(value);
+ }
/* COMPILE::SWF
{
var edge:EdgeData = (ValuesManager.valuesImpl as IBorderPaddingMarginValuesImpl).getPaddingMetrics(this);