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 2020/09/23 16:04:52 UTC
[royale-asjs] branch develop updated: jewel-presentationmodels:
remove PM proxy methods in TLCs
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 b836d33 jewel-presentationmodels: remove PM proxy methods in TLCs
b836d33 is described below
commit b836d330689d899026531cc5ecd7eebbf281e407
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Wed Sep 23 18:04:37 2020 +0200
jewel-presentationmodels: remove PM proxy methods in TLCs
---
.../src/main/royale/ComboBoxPlayGround.mxml | 16 +++++---
.../src/main/royale/DataGridPlayGround.mxml | 22 ++++++----
.../src/main/royale/ListPlayGround.mxml | 5 ++-
.../src/main/royale/TabBarPlayGround.mxml | 3 +-
.../src/main/royale/VirtualListsPlayGround.mxml | 16 ++++----
.../Jewel/src/main/resources/jewel-manifest.xml | 1 +
.../royale/org/apache/royale/jewel/ButtonBar.as | 2 +-
.../royale/org/apache/royale/jewel/ComboBox.as | 40 +-----------------
.../royale/org/apache/royale/jewel/DataGrid.as | 21 ----------
.../main/royale/org/apache/royale/jewel/List.as | 47 +---------------------
.../royale/org/apache/royale/jewel/Navigation.as | 2 +-
.../beads/models/ComboBoxPresentationModel.as | 1 +
.../beads/models/DataGridPresentationModel.as | 1 +
.../jewel/beads/models/ListPresentationModel.as | 3 ++
.../royale/jewel/beads/views/ComboBoxPopUpView.as | 12 ++++--
15 files changed, 56 insertions(+), 136 deletions(-)
diff --git a/examples/jewel/TourDeJewel/src/main/royale/ComboBoxPlayGround.mxml b/examples/jewel/TourDeJewel/src/main/royale/ComboBoxPlayGround.mxml
index 73ced64..832dc18 100644
--- a/examples/jewel/TourDeJewel/src/main/royale/ComboBoxPlayGround.mxml
+++ b/examples/jewel/TourDeJewel/src/main/royale/ComboBoxPlayGround.mxml
@@ -259,7 +259,11 @@ limitations under the License.
<j:html><![CDATA[<p>Following <b>ComboBox</b> width size is managed by a slider.</p>]]></j:html>
</j:Label>
- <j:ComboBox localId="cmb3" labelField="label" dataProvider="{listModel.avengers}"/>
+ <j:ComboBox localId="cmb3" labelField="label" dataProvider="{listModel.avengers}">
+ <j:beads>
+ <j:ComboBoxPresentationModel localId="cmb3pm"/>
+ </j:beads>
+ </j:ComboBox>
</j:CardPrimaryContent>
<j:CardActions itemsVerticalAlign="itemsCenter">
@@ -271,12 +275,12 @@ limitations under the License.
<j:HSlider width="250" value="200" minimum="100" maximum="400" valueChange="cmb3.width = event.target.value;"/>
</j:HGroup>
<j:HGroup gap="3" itemsVerticalAlign="itemsCenter">
- <j:Label text="rowHeight: {cmb3.rowHeight}"/>
- <j:HSlider width="150" value="34" minimum="34" maximum="52" valueChange="cmb3.rowHeight = event.target.value;"/>
+ <j:Label text="rowHeight: {cmb3pm.rowHeight}"/>
+ <j:HSlider width="150" value="34" minimum="34" maximum="52" valueChange="cmb3pm.rowHeight = event.target.value;"/>
</j:HGroup>
<j:HGroup gap="3" itemsVerticalAlign="itemsCenter">
- <j:Label text="rowCount: {cmb3.rowCount}"/>
- <j:HSlider width="150" value="5" minimum="3" maximum="8" valueChange="cmb3.rowCount = event.target.value;"/>
+ <j:Label text="rowCount: {cmb3pm.rowCount}"/>
+ <j:HSlider width="150" value="5" minimum="3" maximum="8" valueChange="cmb3pm.rowCount = event.target.value;"/>
</j:HGroup>
</j:CardActions>
</j:Card>
@@ -365,9 +369,9 @@ limitations under the License.
</j:Label>
<j:ComboBox className="cmbSimpleiIconListItemRenderer" labelField="label"
- rowCount="4" rowHeight="52"
dataProvider="{listModel.avengers}">
<j:beads>
+ <j:ComboBoxPresentationModel rowCount="4" rowHeight="52"/>
<j:ComboBoxTextPrompt prompt="Icons and Text..."/>
<j:SearchFilter/>
</j:beads>
diff --git a/examples/jewel/TourDeJewel/src/main/royale/DataGridPlayGround.mxml b/examples/jewel/TourDeJewel/src/main/royale/DataGridPlayGround.mxml
index 7b416ba..62c09ff 100644
--- a/examples/jewel/TourDeJewel/src/main/royale/DataGridPlayGround.mxml
+++ b/examples/jewel/TourDeJewel/src/main/royale/DataGridPlayGround.mxml
@@ -401,8 +401,7 @@ limitations under the License.
<j:Label text="Using specific column widths, rowHeight=54 and height=220, first column uses a custom renderer and last column has right alignment"
multiline="true"/>
- <j:DataGrid localId="dg4" height="205"
- rowHeight="54" emphasis="primary"
+ <j:DataGrid localId="dg4" height="205" emphasis="primary"
change="dataGridChange(event.target as DataGrid, lb4)"
dataProvider="{productModel.productList}">
<j:columns>
@@ -412,6 +411,7 @@ limitations under the License.
<j:DataGridColumn label="Sales" dataField="sales" columnWidth="80" align="right"/>
</j:columns>
<j:beads>
+ <j:DataGridPresentationModel rowHeight="54"/>
<j:RemoveAllDataGridItemRendererForArrayListData/>
</j:beads>
</j:DataGrid>
@@ -467,9 +467,10 @@ limitations under the License.
<j:Label text="Basic configuration, width = 100%, no column widths, rowHeight=42 and emphasis='secondary', middle column has center alignment. Clicking on row icon, remove the entire row."
multiline="true"/>
- <j:DataGrid localId="dg5" width="100%" height="240" emphasis="secondary" rowHeight="42"
+ <j:DataGrid localId="dg5" width="100%" height="240" emphasis="secondary"
change="dataGridChange(event.target as DataGrid, lb5)">
<j:beads>
+ <j:DataGridPresentationModel rowHeight="42"/>
<js:ConstantBinding
sourceID="listModel"
sourcePropertyName="iconDetailListData"
@@ -500,8 +501,7 @@ limitations under the License.
<j:Label text="Using specific column widths, rowHeight=40 and emphasis='emphasized'"
multiline="true"/>
- <j:DataGrid localId="dg6" height="246"
- rowHeight="40" emphasis="emphasized"
+ <j:DataGrid localId="dg6" height="246" emphasis="emphasized"
change="dataGridChange(event.target as DataGrid, lb6)"
dataProvider="{listModel.iconListData}">
<j:columns>
@@ -509,6 +509,9 @@ limitations under the License.
itemRenderer="itemRenderers.IconDataGridItemRenderer"/>
<j:DataGridColumn label="Label" dataField="label" columnWidth="200"/>
</j:columns>
+ <j:beads>
+ <j:DataGridPresentationModel rowHeight="40"/>
+ </j:beads>
</j:DataGrid>
<j:Label localId="lb6" text="DataGrid selection will be shown here"/>
@@ -550,8 +553,9 @@ limitations under the License.
<j:Label text="width = 100%, no column widths, rowHeight=42 and emphasis='secondary', middle column has center alignment, last column has columnWidth=75. Clicking on row icon, remove the entire row."
multiline="true"/>
- <j:DataGrid width="100%" height="240" emphasis="secondary" rowHeight="42">
+ <j:DataGrid width="100%" height="240" emphasis="secondary">
<j:beads>
+ <j:DataGridPresentationModel rowHeight="42"/>
<js:ConstantBinding
sourceID="listModel"
sourcePropertyName="iconDetailListData"
@@ -577,8 +581,9 @@ limitations under the License.
<j:Label text="Toggle fixed size of DataGrid between 240px and 500px via button. Last column has columnWidth=75. Toggle dataprovider between null and test data set via button"
multiline="true"/>
- <j:DataGrid localId="dgFixedWidth" height="240" emphasis="secondary" rowHeight="42">
+ <j:DataGrid localId="dgFixedWidth" height="240" emphasis="secondary">
<j:beads>
+ <j:DataGridPresentationModel rowHeight="42"/>
<js:ConstantBinding
sourceID="listModel"
sourcePropertyName="iconDetailListData"
@@ -610,8 +615,9 @@ limitations under the License.
<j:Label text="Provides example of changing column order and also removing/adding a column. "
multiline="true"/>
- <j:DataGrid localId="columns1Grid" width="100%" height="240" emphasis="secondary" rowHeight="42">
+ <j:DataGrid localId="columns1Grid" width="100%" height="240" emphasis="secondary">
<j:beads>
+ <j:DataGridPresentationModel rowHeight="42"/>
<js:ConstantBinding
sourceID="listModel"
sourcePropertyName="iconDetailListData"
diff --git a/examples/jewel/TourDeJewel/src/main/royale/ListPlayGround.mxml b/examples/jewel/TourDeJewel/src/main/royale/ListPlayGround.mxml
index 7383039..e002184 100644
--- a/examples/jewel/TourDeJewel/src/main/royale/ListPlayGround.mxml
+++ b/examples/jewel/TourDeJewel/src/main/royale/ListPlayGround.mxml
@@ -223,10 +223,11 @@ limitations under the License.
<j:CardPrimaryContent>
<j:Label text="Notice variableRowHeight should be false to use rowHeight. Click on render's icon will remove that renderer" multiline="true"/>
- <j:List localId="list2" width="200" height="300" variableRowHeight="false"
+ <j:List localId="list2" width="200" height="300"
className="iconListItemRenderer" labelField="label"
- emphasis="secondary" rowHeight="52">
+ emphasis="secondary">
<j:beads>
+ <j:ListPresentationModel rowHeight="52" variableRowHeight="false"/>
<js:ConstantBinding sourceID="listModel" sourcePropertyName="iconListData" destinationPropertyName="dataProvider"/>
<j:RemoveAllItemRendererForArrayListData/>
</j:beads>
diff --git a/examples/jewel/TourDeJewel/src/main/royale/TabBarPlayGround.mxml b/examples/jewel/TourDeJewel/src/main/royale/TabBarPlayGround.mxml
index 35d5868..0237923 100644
--- a/examples/jewel/TourDeJewel/src/main/royale/TabBarPlayGround.mxml
+++ b/examples/jewel/TourDeJewel/src/main/royale/TabBarPlayGround.mxml
@@ -217,8 +217,9 @@ limitations under the License.
<j:Label multiline="true">
<j:html><![CDATA[This <b>TabBar</b> has an <b>ItemRenderer</b> composed by just a label (default <b>TabBarButtonItemRenderer</b>). By default <b>TabBar</b> doesn't set <i>rowHeight</i>. This one set it to 60, so all renders has that height.]]></j:html>
</j:Label>
- <j:TabBar rowHeight="60">
+ <j:TabBar>
<j:beads>
+ <j:TabBarPresentationModel rowHeight="60"/>
<js:ConstantBinding sourcePropertyName="tabBarDataSample"
destinationPropertyName="dataProvider"/>
<j:AssignTabContent selectedContentProperty="content">
diff --git a/examples/jewel/TourDeJewel/src/main/royale/VirtualListsPlayGround.mxml b/examples/jewel/TourDeJewel/src/main/royale/VirtualListsPlayGround.mxml
index a63f896..68be394 100644
--- a/examples/jewel/TourDeJewel/src/main/royale/VirtualListsPlayGround.mxml
+++ b/examples/jewel/TourDeJewel/src/main/royale/VirtualListsPlayGround.mxml
@@ -110,13 +110,12 @@ limitations under the License.
<j:VGroup gap="3">
<j:VirtualList localId="virtualIconList" width="200" height="300"
className="simpleiIconListItemRenderer" labelField="label"
- emphasis="secondary" rowHeight="52"
- dataProvider="{listModel.bigIconListVOData}"
- selectedIndex="4"
- >
- <!-- <j:beads>
- <j:RemoveAllItemRendererForArrayListData/>
- </j:beads> -->
+ emphasis="secondary" selectedIndex="4"
+ dataProvider="{listModel.bigIconListVOData}">
+ <j:beads>
+ <j:ListPresentationModel rowHeight="52"/>
+ <!-- <j:RemoveAllItemRendererForArrayListData/> -->
+ </j:beads>
</j:VirtualList>
<!-- change="onChange(event)" -->
<!-- <j:Label text="Click on render's icon will remove that renderer" multiline="true" width="200"/> -->
@@ -152,8 +151,9 @@ limitations under the License.
<j:VirtualComboBox localId="virtualIconCmb"
className="cmbSimpleiIconListItemRenderer" labelField="label"
- dataProvider="{listModel.bigIconListVOData}" rowCount="4" rowHeight="52">
+ dataProvider="{listModel.bigIconListVOData}">
<j:beads>
+ <j:ComboBoxPresentationModel rowCount="4" rowHeight="52"/>
<j:ComboBoxTextPrompt prompt="Some text here..."/>
</j:beads>
</j:VirtualComboBox>
diff --git a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
index 2436252..fb47b86 100644
--- a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
+++ b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
@@ -234,6 +234,7 @@
<component id="DropDownListItemRenderer" class="org.apache.royale.jewel.itemRenderers.DropDownListItemRenderer"/>
<component id="ListPresentationModel" class="org.apache.royale.jewel.beads.models.ListPresentationModel"/>
+ <component id="ComboBoxPresentationModel" class="org.apache.royale.jewel.beads.models.ComboBoxPresentationModel"/>
<component id="TabBarPresentationModel" class="org.apache.royale.jewel.beads.models.TabBarPresentationModel"/>
<component id="DataGridColumnListPresentationModel" class="org.apache.royale.jewel.beads.models.DataGridColumnListPresentationModel"/>
<component id="DataGridPresentationModel" class="org.apache.royale.jewel.beads.models.DataGridPresentationModel"/>
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ButtonBar.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ButtonBar.as
index 18c26e7..97f3797 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ButtonBar.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ButtonBar.as
@@ -64,7 +64,7 @@ package org.apache.royale.jewel
typeNames = "jewel buttonbar";
// default height and rowHeight
- height = rowHeight = 38;
+ //height = rowHeight = 38;
}
/**
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ComboBox.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ComboBox.as
index d408f83..beced70 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ComboBox.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ComboBox.as
@@ -182,45 +182,6 @@ package org.apache.royale.jewel
ISelectionModel(model).selectedItem = value;
}
- [Bindable("rowHeightChanged")]
- /**
- * The default height of each cell in every column
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.7
- * @royaleignorecoercion org.apache.royale.jewel.supportClasses.combobox.IComboBoxPresentationModel
- */
- public function get rowHeight():Number
- {
- return (presentationModel as IComboBoxPresentationModel).rowHeight;
- }
- public function set rowHeight(value:Number):void
- {
- (presentationModel as IComboBoxPresentationModel).rowHeight = value;
- }
-
- [Bindable("rowCountChanged")]
- /**
- * Maximum number of rows visible in the ComboBox popup list.
- * If there are fewer items in the dataProvider, the ComboBox shows only as many items as there are in the dataProvider.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.7
- * @royaleignorecoercion org.apache.royale.jewel.supportClasses.combobox.IComboBoxPresentationModel
- */
- public function get rowCount():int
- {
- return (presentationModel as IComboBoxPresentationModel).rowCount;
- }
- public function set rowCount(value:int):void
- {
- (presentationModel as IComboBoxPresentationModel).rowCount = value;
- }
-
/**
* The presentation model for the combobox.
*
@@ -228,6 +189,7 @@ package org.apache.royale.jewel
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
+ * @royaleignorecoercion org.apache.royale.core.IBead
* @royaleignorecoercion org.apache.royale.jewel.supportClasses.combobox.IComboBoxPresentationModel
*/
public function get presentationModel():IComboBoxPresentationModel
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataGrid.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataGrid.as
index a011d59..f529508 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataGrid.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataGrid.as
@@ -227,27 +227,6 @@ package org.apache.royale.jewel
}
return presModel;
}
-
- /**
- * The default height of each cell in every column
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.7
- * @royaleignorecoercion org.apache.royale.jewel.supportClasses.datagrid.IDataGridPresentationModel
- */
- public function get rowHeight():Number
- {
- return (presentationModel as IDataGridPresentationModel).rowHeight;
- }
- /**
- * @royaleignorecoercion org.apache.royale.jewel.supportClasses.datagrid.IDataGridPresentationModel
- */
- public function set rowHeight(value:Number):void
- {
- (presentationModel as IDataGridPresentationModel).rowHeight = value;
- }
/**
* load necesary beads. This method can be override in subclasses to
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/List.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/List.as
index acba7e1..0fa8106 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/List.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/List.as
@@ -21,9 +21,7 @@ package org.apache.royale.jewel
import org.apache.royale.core.IBeadKeyController;
import org.apache.royale.core.IRollOverModel;
import org.apache.royale.core.ISelectionModel;
- import org.apache.royale.jewel.beads.layouts.IVariableRowHeight;
import org.apache.royale.jewel.beads.views.IScrollToIndexView;
- import org.apache.royale.jewel.supportClasses.list.IListPresentationModel;
import org.apache.royale.utils.loadBeadFromValuesManager;
/**
@@ -69,7 +67,7 @@ package org.apache.royale.jewel
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
*/
- public class List extends DataContainer implements IVariableRowHeight
+ public class List extends DataContainer
{
/**
* constructor.
@@ -132,24 +130,6 @@ package org.apache.royale.jewel
}
/**
- * The default height of each cell in every column
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.4
- * @royaleignorecoercion org.apache.royale.core.IListPresentationModel
- */
- public function get rowHeight():Number
- {
- return (presentationModel as IListPresentationModel).rowHeight;
- }
- public function set rowHeight(value:Number):void
- {
- (presentationModel as IListPresentationModel).rowHeight = value;
- }
-
- /**
* The item currently selected. Changing this value also
* changes the selectedIndex property.
*
@@ -171,31 +151,6 @@ package org.apache.royale.jewel
{
ISelectionModel(model).selectedItem = value;
}
-
- protected var _variableRowHeight:Boolean;
- /**
- * Specifies whether layout elements are allocated their preferred height.
- * Setting this property to false specifies fixed height rows.
- *
- * If false, the actual height of each layout element is the value of rowHeight.
- * The default value is true.
- *
- * Note: From Flex but we should see what to do in Royale -> Setting this property to false causes the layout to ignore the layout elements' percentHeight property.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.7
- */
- [Bindable("variableRowHeightChanged")]
- public function get variableRowHeight():Boolean
- {
- return (presentationModel as IListPresentationModel).variableRowHeight;
- }
- public function set variableRowHeight(value:Boolean):void
- {
- (presentationModel as IListPresentationModel).variableRowHeight = value;
- }
/**
* Ensures that the data provider item at the given index is visible.
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Navigation.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Navigation.as
index f89172c..1c81aa8 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Navigation.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Navigation.as
@@ -53,7 +53,7 @@ package org.apache.royale.jewel
typeNames = "jewel navigation";
// rowHeight is not set by default, so set it to NaN
- rowHeight = NaN;
+ //rowHeight = NaN;
addEventListener(MouseEvent.CLICK, internalMouseHandler);
}
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/ComboBoxPresentationModel.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/ComboBoxPresentationModel.as
index 1254c1c..63aa9c3 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/ComboBoxPresentationModel.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/ComboBoxPresentationModel.as
@@ -57,6 +57,7 @@ package org.apache.royale.jewel.beads.models
* @playerversion AIR 2.6
* @productversion Royale 0.9.7
*/
+ [Bindable("rowCountChanged")]
public function get rowCount():int
{
return _rowCount;
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DataGridPresentationModel.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DataGridPresentationModel.as
index f1859ad..f01da6d 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DataGridPresentationModel.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DataGridPresentationModel.as
@@ -56,6 +56,7 @@ package org.apache.royale.jewel.beads.models
* @playerversion AIR 2.6
* @productversion Royale 0.9.7
*/
+ [Bindable("columnLabelsChanged")]
public function get columnLabels():Array
{
return _columnLabels;
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/ListPresentationModel.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/ListPresentationModel.as
index b381176..c16111f 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/ListPresentationModel.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/ListPresentationModel.as
@@ -60,6 +60,7 @@ package org.apache.royale.jewel.beads.models
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
*/
+ [Bindable("rowHeightChanged")]
public function get rowHeight():Number
{
return _rowHeight;
@@ -82,6 +83,7 @@ package org.apache.royale.jewel.beads.models
* @playerversion AIR 2.6
* @productversion Royale 0.9.7
*/
+ [Bindable("alignChanged")]
public function get align():String
{
return _align;
@@ -104,6 +106,7 @@ package org.apache.royale.jewel.beads.models
* @playerversion AIR 2.6
* @productversion Royale 0.9.7
*/
+ [Bindable("variableRowHeightChanged")]
public function get variableRowHeight():Boolean
{
return _variableRowHeight;
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ComboBoxPopUpView.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ComboBoxPopUpView.as
index fe6bb19..eec592c 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ComboBoxPopUpView.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ComboBoxPopUpView.as
@@ -29,6 +29,7 @@ package org.apache.royale.jewel.beads.views
import org.apache.royale.jewel.List;
import org.apache.royale.jewel.supportClasses.combobox.ComboBoxPopUp;
import org.apache.royale.jewel.supportClasses.combobox.IComboBoxPresentationModel;
+ import org.apache.royale.jewel.beads.models.ListPresentationModel;
/**
* The ComboBoxPopUpView class is a view bead for the ComboBoxPopUp.
@@ -75,8 +76,7 @@ package org.apache.royale.jewel.beads.views
// set rowHeight
var _presentationModel:IComboBoxPresentationModel = (_strand as ComboBoxPopUp).presentationModel as IComboBoxPresentationModel;
- list.rowHeight = _presentationModel.rowHeight;
-
+
// set height based on rowCount
var rowCount:int = _presentationModel.rowCount;
var len:int;
@@ -90,7 +90,13 @@ package org.apache.royale.jewel.beads.views
rowCount = len;
}
- list.height = rowCount * list.rowHeight;
+ trace("_presentationModel.rowHeight: ", _presentationModel.rowHeight);
+ if(isNaN( _presentationModel.rowHeight))
+ _presentationModel.rowHeight = ListPresentationModel.DEFAULT_ROW_HEIGHT;
+ trace("rowCount: ", rowCount);
+ trace("list.height: ", list.height);
+ list.height = rowCount * _presentationModel.rowHeight;
+ trace(" list.height: ", list.height);
IParent(_strand).addElement(list);
}