Hi Peter, Is this finished bead which I can use straight in my components ? If this is not class which should be extended - I think better would be name without "Base".
Just my feeling when I look without going into the code. Piotr 2017-05-03 19:08 GMT+02:00 <p...@apache.org>: > Repository: flex-asjs > Updated Branches: > refs/heads/develop 7965c6de2 -> 88f0bcbe0 > > > Added AbsolutePositioningViewBeadBase so control components can position > their sub-elements using absolute positioning. > > > Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo > Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/88f0bcbe > Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/88f0bcbe > Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/88f0bcbe > > Branch: refs/heads/develop > Commit: 88f0bcbe0728e2831e097a1b9593f835cf3c564d > Parents: 7965c6d > Author: Peter Ent <p...@apache.org> > Authored: Wed May 3 13:08:08 2017 -0400 > Committer: Peter Ent <p...@apache.org> > Committed: Wed May 3 13:08:08 2017 -0400 > > ---------------------------------------------------------------------- > .../Basic/src/main/flex/BasicClasses.as | 1 + > .../beads/AbsolutePositioningViewBeadBase.as | 113 +++++++++++++++++++ > 2 files changed, 114 insertions(+) > ---------------------------------------------------------------------- > > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > 88f0bcbe/frameworks/projects/Basic/src/main/flex/BasicClasses.as > ---------------------------------------------------------------------- > diff --git a/frameworks/projects/Basic/src/main/flex/BasicClasses.as > b/frameworks/projects/Basic/src/main/flex/BasicClasses.as > index 4436e43..c7655cc 100644 > --- a/frameworks/projects/Basic/src/main/flex/BasicClasses.as > +++ b/frameworks/projects/Basic/src/main/flex/BasicClasses.as > @@ -32,6 +32,7 @@ internal class BasicClasses > import org.apache.flex.html.beads.DispatchInputFinishedBead; > DispatchInputFinishedBead; > import org.apache.flex.html.accessories.PasswordInputBead; > PasswordInputBead; > import org.apache.flex.html.accessories.TextPromptBead; > TextPromptBead; > + import org.apache.flex.html.beads.AbsolutePositioningViewBeadBase; > AbsolutePositioningViewBeadBase; > import org.apache.flex.html.beads.AlertView; AlertView; > import org.apache.flex.html.beads.models.AlertModel; AlertModel; > COMPILE::SWF > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > 88f0bcbe/frameworks/projects/Basic/src/main/flex/org/ > apache/flex/html/beads/AbsolutePositioningViewBeadBase.as > ---------------------------------------------------------------------- > diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/ > html/beads/AbsolutePositioningViewBeadBase.as b/frameworks/projects/Basic/ > src/main/flex/org/apache/flex/html/beads/AbsolutePositioningViewBeadBas > e.as > new file mode 100644 > index 0000000..4843e44 > --- /dev/null > +++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ > AbsolutePositioningViewBeadBase.as > @@ -0,0 +1,113 @@ > +/////////////////////////////////////////////////////////// > ///////////////////// > +// > +// Licensed to the Apache Software Foundation (ASF) under one or more > +// contributor license agreements. See the NOTICE file distributed with > +// this work for additional information regarding copyright ownership. > +// The ASF licenses this file to You under the Apache License, Version > 2.0 > +// (the "License"); you may not use this file except in compliance with > +// the License. You may obtain a copy of the License at > +// > +// http://www.apache.org/licenses/LICENSE-2.0 > +// > +// Unless required by applicable law or agreed to in writing, software > +// distributed under the License is distributed on an "AS IS" BASIS, > +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > implied. > +// See the License for the specific language governing permissions and > +// limitations under the License. > +// > +/////////////////////////////////////////////////////////// > ///////////////////// > +package org.apache.flex.html.beads > +{ > + import org.apache.flex.core.IBeadView; > + import org.apache.flex.core.IChild; > + import org.apache.flex.core.IStrand; > + import org.apache.flex.core.IUIBase; > + > + /** > + * Use AbsolutePositioningViewBeadBase as the base class for > custom control view beads. > + * This class sets the strand's position style to "relative" (HTML > platform) if it is > + * not already set to either "absolute" or "relative". Then use > this class's > + * setAbsolutePosition(child, x, y) function to place children. > The function not > + * only set's the child's left and top styles (HTML platform), it > also sets the child's > + * position to "absolute" (HTML platform). > + * > + * On the Flash platform, this class will only set the child's x > and y properties without > + * any other side effects. > + * > + * @viewbead > + * @langversion 3.0 > + * @playerversion Flash 10.2 > + * @playerversion AIR 2.6 > + * @productversion FlexJS 0.8 > + */ > + public class AbsolutePositioningViewBeadBase implements IBeadView > + { > + /** > + * Constructor. > + * > + * @langversion 3.0 > + * @playerversion Flash 10.2 > + * @playerversion AIR 2.6 > + * @productversion FlexJS 0.8 > + */ > + public function AbsolutePositioningViewBeadBase() > + { > + super(); > + } > + > + protected var _strand:IStrand; > + > + /** > + * @copy org.apache.flex.core.IBeaViewd#host > + * > + * @langversion 3.0 > + * @playerversion Flash 10.2 > + * @playerversion AIR 2.6 > + * @productversion FlexJS 0.8 > + */ > + public function get host():IUIBase > + { > + return IUIBase(_strand); > + } > + > + /** > + * @copy org.apache.flex.core.IBead#strand > + * > + * @langversion 3.0 > + * @playerversion Flash 10.2 > + * @playerversion AIR 2.6 > + * @productversion FlexJS 0.8 > + */ > + public function set strand(value:IStrand):void > + { > + _strand = value; > + > + COMPILE::JS { > + if (host.element.style.position != > "absolute" && host.element.style.position != "relative") { > + host.element.style.position = > "relative"; > + } > + } > + } > + > + /** > + * Sets the position of the child and, on the HTML > platform, sets the child's position style > + * value to "absolute". > + * > + * @langversion 3.0 > + * @playerversion Flash 10.2 > + * @playerversion AIR 2.6 > + * @productversion FlexJS 0.8 > + */ > + public function setAbsolutePosition(child:IChild, > x:Number, y:Number):void > + { > + var childHost:IUIBase = IUIBase(child); > + > + childHost.x = x; > + childHost.y = y; > + > + COMPILE::JS { > + childHost.element.style.position = > "absolute"; > + } > + } > + } > +} > \ No newline at end of file > >