You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2019/12/15 11:51:21 UTC

[royale-asjs] branch develop updated: jewel-togglebuttonbar: fix selected in TDJ example

This is an automated email from the ASF dual-hosted git repository.

carlosrovira 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 42f2b4c  jewel-togglebuttonbar: fix selected in TDJ example
42f2b4c is described below

commit 42f2b4c931e06da2e90ec1e0639ebea33634611f
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Sun Dec 15 12:51:13 2019 +0100

    jewel-togglebuttonbar: fix selected in TDJ example
---
 .../src/main/royale/ButtonBarPlayGround.mxml       | 27 ++++++++++++------
 .../src/main/royale/ButtonPlayGround.mxml          |  5 +++-
 .../itemRenderers/ToggleButtonBarItemRenderer.as   | 33 +++++-----------------
 3 files changed, 29 insertions(+), 36 deletions(-)

diff --git a/examples/royale/TourDeJewel/src/main/royale/ButtonBarPlayGround.mxml b/examples/royale/TourDeJewel/src/main/royale/ButtonBarPlayGround.mxml
index dd34d26..f40d243 100644
--- a/examples/royale/TourDeJewel/src/main/royale/ButtonBarPlayGround.mxml
+++ b/examples/royale/TourDeJewel/src/main/royale/ButtonBarPlayGround.mxml
@@ -24,12 +24,6 @@ limitations under the License.
 	xmlns:models="models.*" 
 	xmlns:c="components.*" sourceCodeUrl="ButtonBarPlayGround.mxml">
 
-	<fx:Script>
-		<![CDATA[
-			import org.apache.royale.html.beads.models.ButtonBarModel;
-		]]>
-	</fx:Script>
-
 	<c:beads>
 		<js:ContainerDataBinding/>
 	</c:beads>
@@ -147,14 +141,15 @@ limitations under the License.
 
 				<html:H4 text="Width 100% and emphasized color"/>
 
-				<j:ToggleButtonBar localId="tbb" change="tbb_label.text = tbb.selectedItem.label + ' (icon: ' + tbb.selectedItem.icon + '). isSelected? ' + tbb.selectedItem.selected"
+				<j:ToggleButtonBar localId="tbb" 
+					change="tbbChangeHandler(event)"
 					emphasis="primary" width="100%" material="true"
 					dataProvider="{listModel.iconButtonData}"/>
 				
 				<html:H4 text="No Width and icons to the right"/>
 
 				<j:ToggleButtonBar localId="tbb2" 
-					change="tbb_label.text = tbb2.selectedItem.label + ' (icon: ' + tbb2.selectedItem.icon + '). isSelected? ' + tbb2.selectedItem.selected"
+					change="tbbChangeHandler(event)"
 					emphasis="emphasized" rightPosition="true" material="true" iconField="icon"
 					dataProvider="{listModel.iconButtonData}"/>
 				
@@ -162,5 +157,19 @@ limitations under the License.
 			</j:Card>
 		</j:GridCell>
 	</j:Grid>
-	
+
+	<fx:Script>
+		<![CDATA[
+			import org.apache.royale.core.ISelectable;
+			import org.apache.royale.events.Event;
+			import org.apache.royale.html.beads.models.ButtonBarModel;
+
+			public function tbbChangeHandler(event:Event):void
+			{
+				var selected:Boolean = (event.target.getElementAt(event.target.selectedIndex) as ISelectable).selected;
+				tbb_label.text = event.target.selectedItem.label + ' (icon: ' + event.target.selectedItem.icon + '). isSelected? ' + selected;
+			}
+		]]>
+	</fx:Script>
+
 </c:ExampleAndSourceCodeTabbedSectionContent>
diff --git a/examples/royale/TourDeJewel/src/main/royale/ButtonPlayGround.mxml b/examples/royale/TourDeJewel/src/main/royale/ButtonPlayGround.mxml
index 776b8c9..5731206 100644
--- a/examples/royale/TourDeJewel/src/main/royale/ButtonPlayGround.mxml
+++ b/examples/royale/TourDeJewel/src/main/royale/ButtonPlayGround.mxml
@@ -143,7 +143,10 @@ limitations under the License.
 			<j:Card>
 				<html:H3 text="Jewel ToggleButton"/>
 
-				<j:ToggleButton text="Default"/>
+				<j:HGroup gap="3">
+					<j:ToggleButton text="Default" change="tb_lb.text = 'selected? ' + event.target.selected"/>
+					<j:Label localId="tb_lb"/>
+				</j:HGroup>
 				<j:ToggleButton text="Disabled">
 					<j:beads>
 						<j:Disabled/>
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ToggleButtonBarItemRenderer.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ToggleButtonBarItemRenderer.as
index 3ce4fb8..b57e6bc 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ToggleButtonBarItemRenderer.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ToggleButtonBarItemRenderer.as
@@ -22,17 +22,17 @@ package org.apache.royale.jewel.itemRenderers
 	{
 	import org.apache.royale.core.WrappedHTMLElement;
 	}
+	import org.apache.royale.core.IIcon;
 	import org.apache.royale.core.SimpleCSSStylesWithFlex;
+	import org.apache.royale.core.ValuesManager;
 	import org.apache.royale.events.ItemClickedEvent;
 	import org.apache.royale.events.MouseEvent;
 	import org.apache.royale.html.beads.ITextItemRenderer;
 	import org.apache.royale.html.util.getLabelFromData;
-	import org.apache.royale.jewel.ToggleButton;
 	import org.apache.royale.jewel.ButtonBar;
+	import org.apache.royale.jewel.ToggleButton;
+	import org.apache.royale.jewel.ToggleButtonBar;
 	import org.apache.royale.jewel.beads.views.ButtonBarView;
-	import org.apache.royale.core.ValuesManager;
-	import org.apache.royale.core.IIcon;
-	import org.apache.royale.jewel.IconButtonBar;
 
 	/**
 	 *  The ButtonBarItemRenderer class extends Button and turns it into an itemRenderer
@@ -74,13 +74,13 @@ package org.apache.royale.jewel.itemRenderers
 		{
 			_data = value;
 			text = getLabelFromData(this, value);
-			rightPosition = ((itemRendererParent as ButtonBarView).buttonBar as IconButtonBar).rightPosition;
+			rightPosition = ((itemRendererParent as ButtonBarView).buttonBar as ToggleButtonBar).rightPosition;
 			if(value.icon)
 			{
 				var iconClass:Class = ValuesManager.valuesImpl.getValue((itemRendererParent as ButtonBarView).buttonBar, "iconClass") as Class;
 				var fontIcon:IIcon = new iconClass(); 
-				fontIcon.material = ((itemRendererParent as ButtonBarView).buttonBar as IconButtonBar).material;
-				fontIcon.text = value[((itemRendererParent as ButtonBarView).buttonBar as IconButtonBar).iconField];
+				fontIcon.material = ((itemRendererParent as ButtonBarView).buttonBar as ToggleButtonBar).material;
+				fontIcon.text = value[((itemRendererParent as ButtonBarView).buttonBar as ToggleButtonBar).iconField];
 				icon = fontIcon;
 			}
 		}
@@ -262,25 +262,6 @@ package org.apache.royale.jewel.itemRenderers
 			_hovered = value;
 		}
 
-		// private var _selected:Boolean;
-
-		// /**
-		//  *  Whether or not the itemRenderer is in a selected state.
-		//  *
-		//  *  @langversion 3.0
-		//  *  @playerversion Flash 10.2
-		//  *  @playerversion AIR 2.6
-		//  *  @productversion Royale 0.9.7
-		//  */
-		// public function get selected():Boolean
-		// {
-		// 	return _selected;
-		// }
-		// public function set selected(value:Boolean):void
-		// {
-		// 	_selected = value;
-		// }
-
 		private var _down:Boolean;
 
 		/**