You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by pe...@apache.org on 2018/03/28 15:18:46 UTC
[royale-asjs] branch feature/MXRoyale updated (6506842 -> decf437)
This is an automated email from the ASF dual-hosted git repository.
pent pushed a change to branch feature/MXRoyale
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git.
from 6506842 Updated ControlsExample.
new 03fd2d4 Expose private function as protected to use in subclass.
new decf437 Added support for mx:ToolTip.
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../apache/royale/html/accessories/ToolTipBead.as | 4 +-
.../MXRoyale/src/main/royale/MXRoyaleClasses.as | 3 +
.../src/main/royale/mx/controls/ToolTip.as | 467 +++++++++++++++++++++
.../main/royale/mx/controls/beads/ToolTipBead.as} | 40 +-
.../BoxDirection.as => core/IToolTip.as} | 42 +-
.../src/main/royale/mx/core/UIComponent.as | 27 +-
6 files changed, 548 insertions(+), 35 deletions(-)
create mode 100644 frameworks/projects/MXRoyale/src/main/royale/mx/controls/ToolTip.as
copy frameworks/projects/{Basic/src/main/royale/org/apache/royale/html/beads/MenuView.as => MXRoyale/src/main/royale/mx/controls/beads/ToolTipBead.as} (66%)
copy frameworks/projects/MXRoyale/src/main/royale/mx/{containers/BoxDirection.as => core/IToolTip.as} (64%)
--
To stop receiving notification emails like this one, please contact
pent@apache.org.
[royale-asjs] 02/02: Added support for mx:ToolTip.
Posted by pe...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
pent pushed a commit to branch feature/MXRoyale
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit decf4377b3d09dbb6f227e7e1bb8d68de5f72911
Author: Peter Ent <pe...@apache.org>
AuthorDate: Wed Mar 28 11:18:36 2018 -0400
Added support for mx:ToolTip.
---
.../MXRoyale/src/main/royale/MXRoyaleClasses.as | 3 +
.../src/main/royale/mx/controls/ToolTip.as | 467 +++++++++++++++++++++
.../controls/beads/ToolTipBead.as} | 59 ++-
.../MXRoyale/src/main/royale/mx/core/IToolTip.as | 81 ++++
.../src/main/royale/mx/core/UIComponent.as | 27 +-
5 files changed, 614 insertions(+), 23 deletions(-)
diff --git a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
index 09968ff..2e2bd4f 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
@@ -31,6 +31,9 @@ internal class MXRoyaleClasses
import mx.core.Container; Container;
import mx.containers.beads.ApplicationLayout; ApplicationLayout;
import mx.containers.beads.BoxLayout; BoxLayout;
+ import mx.controls.ToolTip; ToolTip;
+ import mx.controls.beads.ToolTipBead; ToolTipBead;
+
COMPILE::SWF
{
import mx.controls.beads.CSSImageAndTextButtonView; CSSImageAndTextButtonView;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ToolTip.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ToolTip.as
new file mode 100644
index 0000000..7e71c83
--- /dev/null
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/ToolTip.as
@@ -0,0 +1,467 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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 mx.controls
+{
+/*
+import flash.display.DisplayObject;
+import flash.text.TextFieldAutoSize;
+import flash.text.TextFormat;
+import mx.core.EdgeMetrics;
+import mx.core.IFlexDisplayObject;
+import mx.core.IFlexModuleFactory;
+import mx.core.IFontContextComponent;
+import mx.core.IRectangularBorder;
+*/
+import mx.core.IToolTip;
+/*
+import mx.core.IUITextField;
+import mx.core.UIComponent;
+import mx.core.UITextField;
+import mx.core.mx_internal;
+import mx.styles.ISimpleStyleClient;
+
+use namespace mx_internal;
+*/
+
+//--------------------------------------
+// Styles
+//--------------------------------------
+
+/*
+ Note: ToolTip is affected by the following styles:
+
+ backgroundColor
+ borderColor
+ borderStyle
+ color
+ fontFamily
+ fontSize
+ fontStyle
+ fontWidth
+ paddingBottom
+ paddingLeft
+ paddingRight
+ paddingTop
+ shadowColor (when borderStyle is "toolTip")
+ textAlign
+ textDecoration
+*/
+
+
+/**
+ * The ToolTip control lets you provide helpful information to your users.
+ * When a user moves the mouse pointer over a graphical component, the ToolTip
+ * control pops up and displays text that provides information about the
+ * component.
+ * You can use ToolTips to guide users as they work with your application
+ * or customize the ToolTip controls to provide additional functionality.
+ *
+ * @see mx.managers.ToolTipManager
+ * @see mx.styles.CSSStyleDeclaration
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+public class ToolTip extends Label implements IToolTip//, IFontContextComponent
+{
+ //--------------------------------------------------------------------------
+ //
+ // Class properties
+ //
+ //--------------------------------------------------------------------------
+
+ [Inspectable(category="Other")]
+
+ /**
+ * Maximum width in pixels for new ToolTip controls.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+// public static var maxWidth:Number = 300;
+
+ //--------------------------------------------------------------------------
+ //
+ // Constructor
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function ToolTip()
+ {
+ super();
+
+ // InteractiveObject variables.
+ // Make the ToolTip invisible to the mouse so that it doesn't
+ // interfere with the ToolTipManager's mouse-tracking.
+// mouseEnabled = false;
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Variables
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * The internal object that draws the border.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+// protected var border:IFlexDisplayObject;
+
+ //--------------------------------------------------------------------------
+ //
+ // Properties
+ //
+ //--------------------------------------------------------------------------
+
+ //----------------------------------
+ // borderMetrics
+ //----------------------------------
+
+ /**
+ * @private
+ */
+// private function get borderMetrics():EdgeMetrics
+// {
+// if (border is IRectangularBorder)
+// return IRectangularBorder(border).borderMetrics;
+//
+// return EdgeMetrics.EMPTY;
+// }
+
+ //----------------------------------
+ // fontContext
+ //----------------------------------
+
+ /**
+ * @private
+ */
+// public function get fontContext():IFlexModuleFactory
+// {
+// return moduleFactory;
+// }
+//
+// /**
+// * @private
+// */
+// public function set fontContext(moduleFactory:IFlexModuleFactory):void
+// {
+// this.moduleFactory = moduleFactory;
+// }
+
+ //----------------------------------
+ // text
+ //----------------------------------
+
+ /**
+ * @private
+ * Storage for the text property.
+ */
+// private var _text:String;
+
+ /**
+ * @private
+ */
+// private var textChanged:Boolean;
+
+ /**
+ * The text displayed by the ToolTip.
+ *
+ * @default null
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+// public function get text():String
+// {
+// return _text;
+// }
+
+ /**
+ * @private
+ */
+// public function set text(value:String):void
+// {
+// _text = value;
+// textChanged = true;
+//
+// invalidateProperties();
+// invalidateSize();
+// invalidateDisplayList();
+// }
+
+ //----------------------------------
+ // textField
+ //----------------------------------
+
+ /**
+ * The internal UITextField that renders the text of this ToolTip.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+// protected var textField:IUITextField;
+
+ //--------------------------------------------------------------------------
+ //
+ // Overridden methods
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ */
+// override protected function createChildren():void
+// {
+// super.createChildren();
+//
+// // Create the border/background.
+// createBorder();
+//
+// // Create the TextField that displays the tooltip text.
+// createTextField(-1);
+// }
+
+ /**
+ * @private
+ */
+// override protected function commitProperties():void
+// {
+// super.commitProperties();
+//
+// // if the font changed and we already created the label, we will need to
+// // destory it so it can be re-created, possibly in a different swf context.
+// if (hasFontContextChanged() && textField != null)
+// {
+// var index:int = getChildIndex(DisplayObject(textField));
+// removeTextField();
+// createTextField(index);
+// invalidateSize();
+// textChanged = true;
+// }
+//
+// if (textChanged)
+// {
+// // In general, we want the ToolTip style to be applied.
+// // However, we don't want leftMargin and rightMargin
+// // of the TextField's TextFormat to be set to the
+// // paddingLeft and paddingRight of the ToolTip style.
+// // We want these styles to affect the space between the
+// // TextField and the border, but not the space within
+// // the TextField.
+// var textFormat:TextFormat = textField.getTextFormat();
+// textFormat.leftMargin = 0;
+// textFormat.rightMargin = 0;
+// textField.defaultTextFormat = textFormat;
+//
+// textField.text = _text;
+// textChanged = false;
+// }
+// }
+
+ /**
+ * @private
+ */
+// override protected function measure():void
+// {
+// super.measure();
+//
+// var bm:EdgeMetrics = borderMetrics;
+//
+// var leftInset:Number = bm.left + getStyle("paddingLeft");
+// var topInset:Number = bm.top + getStyle("paddingTop");
+// var rightInset:Number = bm.right + getStyle("paddingRight");
+// var bottomInset:Number = bm.bottom + getStyle("paddingBottom");
+//
+// var widthSlop:Number = leftInset + rightInset;
+// var heightSlop:Number = topInset + bottomInset;
+//
+// textField.wordWrap = false;
+//
+// if (textField.textWidth + widthSlop > ToolTip.maxWidth)
+// {
+// textField.width = ToolTip.maxWidth - widthSlop;
+// textField.wordWrap = true;
+// }
+//
+// measuredWidth = textField.width + widthSlop;
+// measuredHeight = textField.height + heightSlop;
+// }
+
+ /**
+ * @private
+ */
+// override protected function updateDisplayList(unscaledWidth:Number,
+// unscaledHeight:Number):void
+// {
+// super.updateDisplayList(unscaledWidth, unscaledHeight);
+//
+// var bm:EdgeMetrics = borderMetrics;
+//
+// var leftInset:Number = bm.left + getStyle("paddingLeft");
+// var topInset:Number = bm.top + getStyle("paddingTop");
+// var rightInset:Number = bm.right + getStyle("paddingRight");
+// var bottomInset:Number = bm.bottom + getStyle("paddingBottom");
+//
+// var widthSlop:Number = leftInset + rightInset;
+// var heightSlop:Number = topInset + bottomInset;
+//
+// border.setActualSize(unscaledWidth, unscaledHeight);
+//
+// textField.move(leftInset, topInset);
+// textField.setActualSize(unscaledWidth - widthSlop, unscaledHeight - heightSlop);
+// }
+
+ /**
+ * @private
+ */
+// override public function styleChanged(styleProp:String):void
+// {
+// // This will take care of doing invalidateSize() if styleProp
+// // is "styleName" or a registered layout style such as "borderStyle".
+// super.styleChanged(styleProp);
+//
+// // However, if the borderStyle changes from "errorTipAbove" to
+// // "errorTipBelow" or vice versa, the measured size won't change.
+// // (The pointy part of the skin simply changes from the bottom
+// // to the top or vice versa.) This means that the LayoutManager
+// // won't call updateDisplayList() because the size hasn't changed.
+// // But the TextField has to be repositioned, so we need to
+// // invalidate the layout as well as the size.
+// if (styleProp == "styleName" ||
+// styleProp == "borderSkin" ||
+// styleProp == null)
+// {
+// //if the border skin has changed then rebuild it.
+// if(border)
+// {
+// removeChild(DisplayObject(border));
+// border = null;
+// }
+//
+// createBorder();
+// }
+// else if (styleProp == "borderStyle")
+// {
+// invalidateDisplayList();
+// }
+// }
+
+ //--------------------------------------------------------------------------
+ //
+ // Methods
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ * Creates the text field child and adds it as a child of this component.
+ *
+ * @param childIndex The index of where to add the child.
+ * If -1, the text field is appended to the end of the list.
+ */
+// mx_internal function createTextField(childIndex:int):void
+// {
+// if (!textField)
+// {
+// textField = IUITextField(createInFontContext(UITextField));
+//
+// textField.autoSize = TextFieldAutoSize.LEFT;
+// textField.mouseEnabled = false;
+// textField.multiline = true;
+// textField.selectable = false;
+// textField.wordWrap = false;
+// textField.styleName = this;
+//
+// if (childIndex == -1)
+// addChild(DisplayObject(textField));
+// else
+// addChildAt(DisplayObject(textField), childIndex);
+// }
+// }
+
+ /**
+ * @private
+ * Removes the text field from this component.
+ */
+// mx_internal function removeTextField():void
+// {
+// if (textField)
+// {
+// removeChild(DisplayObject(textField));
+// textField = null;
+// }
+// }
+
+
+ /**
+ * @private
+ */
+// mx_internal function getTextField():IUITextField
+// {
+// return textField;
+// }
+
+ /**
+ * @private
+ */
+// private function createBorder():void
+// {
+// if (!border)
+// {
+// var borderClass:Class = getStyle("borderSkin");
+//
+// if (borderClass != null)
+// {
+// border = new borderClass();
+//
+// if (border is ISimpleStyleClient)
+// ISimpleStyleClient(border).styleName = this;
+//
+// // Add the border behind all the children.
+// addChildAt(DisplayObject(border), 0);
+//
+// invalidateDisplayList();
+// }
+// }
+// }
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/ToolTipBead.as
similarity index 51%
copy from frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
copy to frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/ToolTipBead.as
index 09968ff..a11b524 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/ToolTipBead.as
@@ -16,26 +16,41 @@
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
-package
+package mx.controls.beads
{
-
-/**
- * @private
- * This class is used to link additional classes into rpc.swc
- * beyond those that are found by dependecy analysis starting
- * from the classes specified in manifest.xml.
- */
-internal class MXRoyaleClasses
-{
- import mx.core.UIComponent; UIComponent;
- import mx.core.Container; Container;
- import mx.containers.beads.ApplicationLayout; ApplicationLayout;
- import mx.containers.beads.BoxLayout; BoxLayout;
- COMPILE::SWF
- {
- import mx.controls.beads.CSSImageAndTextButtonView; CSSImageAndTextButtonView;
- }
-}
-
-}
-
+ import org.apache.royale.core.IStrand;
+ import org.apache.royale.core.IUIBase;
+ import org.apache.royale.events.IEventDispatcher;
+ import org.apache.royale.events.MouseEvent;
+ import org.apache.royale.html.accessories.ToolTipBead;
+
+ public class ToolTipBead extends org.apache.royale.html.accessories.ToolTipBead
+ {
+ public function ToolTipBead()
+ {
+ super();
+ }
+
+ /**
+ * @copy org.apache.royale.core.IBead#strand
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.0
+ */
+ override public function set strand(value:IStrand):void
+ {
+ super.strand = value;
+ IEventDispatcher(value).addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler, false);
+ }
+
+ /**
+ * @private
+ */
+ private function mouseDownHandler(event:MouseEvent):void
+ {
+ super.rollOutHandler(event);
+ }
+ }
+}
\ No newline at end of file
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/IToolTip.as b/frameworks/projects/MXRoyale/src/main/royale/mx/core/IToolTip.as
new file mode 100644
index 0000000..ce33ad7
--- /dev/null
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/IToolTip.as
@@ -0,0 +1,81 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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 mx.core
+{
+
+import org.apache.royale.geom.Rectangle;
+
+/**
+ * The IToolTip interface defines the API that tooltip-like components
+ * must implement in order to work with the ToolTipManager.
+ * The ToolTip class implements this interface.
+ *
+ * @see mx.controls.ToolTip
+ * @see mx.managers.ToolTipManager
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+public interface IToolTip extends IUIComponent
+{
+ //--------------------------------------------------------------------------
+ //
+ // Properties
+ //
+ //--------------------------------------------------------------------------
+
+ //----------------------------------
+ // screen
+ //----------------------------------
+
+ /**
+ * A Rectangle that specifies the size and position
+ * of the base drawing surface for this tooltip.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ function get screen():Rectangle;
+
+ //----------------------------------
+ // text
+ //----------------------------------
+
+ /**
+ * The text that appears in the tooltip.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ function get text():String;
+
+ /**
+ * @private
+ */
+ function set text(value:String):void;
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as b/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as
index 3e41a81..1371b81 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as
@@ -45,6 +45,7 @@ import mx.events.FlexEvent;
import mx.managers.ICursorManager;
import mx.managers.IFocusManager;
import mx.managers.ISystemManager;
+import mx.controls.beads.ToolTipBead;
import org.apache.royale.core.CallLaterBead;
import org.apache.royale.core.IStatesImpl;
@@ -57,7 +58,7 @@ import org.apache.royale.events.KeyboardEvent;
import org.apache.royale.events.ValueChangeEvent;
import org.apache.royale.geom.Point;
import org.apache.royale.geom.Rectangle;
-import org.apache.royale.html.accessories.ToolTipBead;
+//import org.apache.royale.html.accessories.ToolTipBead;
import org.apache.royale.utils.loadBeadFromValuesManager;
import org.apache.royale.utils.PointUtils;
@@ -2778,6 +2779,30 @@ public class UIComponent extends UIBase
trace("measureText not implemented");
return null;
}
+
+ //----------------------------------
+ // screen
+ //----------------------------------
+
+ /**
+ * Returns an object that contains the size and position of the base
+ * drawing surface for this object.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function get screen():Rectangle
+ {
+ COMPILE::SWF {
+ return new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);
+ }
+ COMPILE::JS {
+ var body:HTMLBodyElement = document.getElementsByTagName('body')[0] as HTMLBodyElement;
+ return new Rectangle(0, 0, body.clientWidth, body.clientHeight);
+ }
+ }
//--------------------------------------------------------------------------
//
--
To stop receiving notification emails like this one, please contact
pent@apache.org.
[royale-asjs] 01/02: Expose private function as protected to use in
subclass.
Posted by pe...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
pent pushed a commit to branch feature/MXRoyale
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 03fd2d44ffbf92c6af36e354e1f2921a930bc837
Author: Peter Ent <pe...@apache.org>
AuthorDate: Wed Mar 28 11:17:47 2018 -0400
Expose private function as protected to use in subclass.
---
.../src/main/royale/org/apache/royale/html/accessories/ToolTipBead.as | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/accessories/ToolTipBead.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/accessories/ToolTipBead.as
index 1a1622c..f9fc4c2 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/accessories/ToolTipBead.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/accessories/ToolTipBead.as
@@ -189,8 +189,10 @@ package org.apache.royale.html.accessories
/**
* @private
*/
- private function rollOutHandler(event:MouseEvent):void
+ protected function rollOutHandler(event:MouseEvent):void
{
+ IEventDispatcher(_strand).removeEventListener(MouseEvent.MOUSE_OUT, rollOutHandler, false);
+
var comp:IUIBase = _strand as IUIBase;
if (tt) {
host.removeElement(tt);
--
To stop receiving notification emails like this one, please contact
pent@apache.org.