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/03/28 19:09:34 UTC
[royale-asjs] branch develop updated: jewel-viewport: simplify some
mehtods and solve a RTE with non StyledUIBase containers
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 725acbb jewel-viewport: simplify some mehtods and solve a RTE with non StyledUIBase containers
725acbb is described below
commit 725acbb32ea3bc3ccb06ad8b25e3f2e6a2f7ffab
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Sat Mar 28 20:09:29 2020 +0100
jewel-viewport: simplify some mehtods and solve a RTE with non StyledUIBase containers
---
.../apache/royale/html/supportClasses/Viewport.as | 13 +++----
.../apache/royale/jewel/supportClasses/Viewport.as | 36 +++++++++---------
.../supportClasses/scrollbar/ScrollingViewport.as | 44 +++++-----------------
3 files changed, 34 insertions(+), 59 deletions(-)
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/Viewport.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/Viewport.as
index 63e012e..a5ff441 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/Viewport.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/Viewport.as
@@ -18,22 +18,21 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.royale.html.supportClasses
{
+ COMPILE::SWF
+ {
+ import flash.geom.Rectangle;
+ import org.apache.royale.geom.Rectangle;
+ }
import org.apache.royale.core.IBead;
- import org.apache.royale.core.IContentView;
import org.apache.royale.core.IStrand;
import org.apache.royale.core.IUIBase;
- import org.apache.royale.core.IViewport;
import org.apache.royale.core.UIBase;
+ import org.apache.royale.core.IViewport;
import org.apache.royale.core.ValuesManager;
import org.apache.royale.events.Event;
import org.apache.royale.events.EventDispatcher;
- import org.apache.royale.geom.Rectangle;
import org.apache.royale.geom.Size;
- COMPILE::SWF
- {
- import flash.geom.Rectangle;
- }
/**
* A Viewport is the area of a Container set aside for displaying
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/Viewport.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/Viewport.as
index 405d44c..968c8ab 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/Viewport.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/Viewport.as
@@ -22,10 +22,9 @@ package org.apache.royale.jewel.supportClasses
{
import org.apache.royale.core.IContentView;
import org.apache.royale.core.IStrand;
- import org.apache.royale.core.IUIBase;
import org.apache.royale.utils.loadBeadFromValuesManager;
}
- import org.apache.royale.core.StyledUIBase;
+ import org.apache.royale.core.UIBase;
import org.apache.royale.html.supportClasses.Viewport;
/**
@@ -53,14 +52,6 @@ package org.apache.royale.jewel.supportClasses
super();
}
- protected var styledContentArea:StyledUIBase;
-
- COMPILE::JS
- override public function get contentView():IUIBase
- {
- return styledContentArea as IUIBase;
- }
-
/**
* @royaleignorecoercion Class
* @royaleignorecoercion org.apache.royale.core.UIBase
@@ -70,21 +61,28 @@ package org.apache.royale.jewel.supportClasses
{
_strand = value;
- styledContentArea = loadBeadFromValuesManager(IContentView, "iContentView", _strand) as StyledUIBase;
+ contentArea = loadBeadFromValuesManager(IContentView, "iContentView", _strand) as UIBase;
- if (!styledContentArea)
- styledContentArea = value as StyledUIBase;
+ if (!contentArea)
+ contentArea = value as UIBase;
setScrollStyle();
}
/**
- * Subclasses override this method to change scrolling behavior
+ * Subclasses override this method to change scrolling behavior
+ * We use classList, since we can affect UIBase components (not only StyledUIBase)
+ * like for example and html:Div or html:Pre
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.7
*/
COMPILE::JS
override protected function setScrollStyle():void
{
- styledContentArea.addClass("viewport");
+ contentArea.element.classList.add("viewport");
clipContent = true;
}
@@ -105,17 +103,19 @@ package org.apache.royale.jewel.supportClasses
{
return _clipContent;
}
-
public function set clipContent(value:Boolean):void
{
if(_clipContent != value)
{
_clipContent = value;
+ COMPILE::JS
+ {
if(_clipContent)
- styledContentArea.addClass("clipped");
+ contentArea.element.classList.add("clipped");
else
- styledContentArea.removeClass("clipped");
+ contentArea.element.classList.remove("clipped");
+ }
}
}
}
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/scrollbar/ScrollingViewport.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/scrollbar/ScrollingViewport.as
index cef6266..899b9fa 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/scrollbar/ScrollingViewport.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/scrollbar/ScrollingViewport.as
@@ -26,19 +26,15 @@ package org.apache.royale.jewel.supportClasses.scrollbar
import org.apache.royale.core.IContainer;
import org.apache.royale.core.IUIBase;
import org.apache.royale.core.IViewportScroller;
+ import org.apache.royale.core.UIBase;
import org.apache.royale.core.ValuesManager;
import org.apache.royale.core.layout.EdgeData;
import org.apache.royale.events.Event;
import org.apache.royale.geom.Rectangle;
import org.apache.royale.jewel.beads.models.ScrollBarModel;
}
- COMPILE::JS
- {
- import org.apache.royale.core.IStrand;
- }
import org.apache.royale.core.IBead;
import org.apache.royale.core.IScrollingViewport;
- import org.apache.royale.core.UIBase;
import org.apache.royale.geom.Size;
import org.apache.royale.jewel.supportClasses.Viewport;
@@ -86,16 +82,6 @@ package org.apache.royale.jewel.supportClasses.scrollbar
{
this.contentView.positioner.scrollLeft = value;
}
-
- /**
- * @royaleignorecoercion HTMLElement
- * @royaleignorecoercion org.apache.royale.core.UIBase
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- updateScroll();
- }
private var _scroll:Boolean = true;
/**
@@ -117,23 +103,26 @@ package org.apache.royale.jewel.supportClasses.scrollbar
if(value != _scroll)
{
_scroll = value;
- updateScroll();
+ if(contentArea)
+ setScrollStyle();
}
}
/**
- * adds or remove the scroll
+ * Subclasses override this method to change scrolling behavior
*
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion Royale 0.9.7
*/
- public function updateScroll():void
+ override protected function setScrollStyle():void
{
+ super.setScrollStyle();
+
_scroll ?
- styledContentArea.addClass("scroll") :
- styledContentArea.removeClass("scroll");
+ contentArea.positioner.classList.add("scroll") :
+ contentArea.positioner.classList.remove("scroll");
}
/**
@@ -402,21 +391,8 @@ package org.apache.royale.jewel.supportClasses.scrollbar
if(value != _scroll)
{
_scroll = value;
- updateScroll();
+ // implement setScrollStyle() in SWF
}
}
-
- /**
- * adds or remove the scroll
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.7
- */
- public function updateScroll():void
- {
- // todo
- }
}
}