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

carlosrovira pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/royale-docs.git


The following commit(s) were added to refs/heads/master by this push:
     new 66426de  jewel group reference page
66426de is described below

commit 66426de60147b09c8f60f30b7d6aecaeda0308c7
Author: Carlos Rovira <[email protected]>
AuthorDate: Thu Aug 13 10:40:28 2020 +0200

    jewel group reference page
---
 component-sets/jewel/jewel-group.md | 123 +++++++++++++++++++++++++++++++++++-
 1 file changed, 121 insertions(+), 2 deletions(-)

diff --git a/component-sets/jewel/jewel-group.md 
b/component-sets/jewel/jewel-group.md
index c9ef727..cc80fe9 100644
--- a/component-sets/jewel/jewel-group.md
+++ b/component-sets/jewel/jewel-group.md
@@ -23,6 +23,125 @@ permalink: /component-sets/jewel/group
 
 # Jewel Group
 
-subtitle
 
-text
+## Reference
+
+Available since version __0.9.4__.
+
+| Class                            | Extends                           |
+|------------------------------        |----------------------------------     
|
+| 
[org.apache.royale.jewel.Group](https://royale.apache.org/asdoc/index.html#!org.apache.royale.jewel/Group){:target='_blank'}
 | 
[org.apache.royale.jewel.supportClasses.group.GroupBase](https://royale.apache.org/asdoc/index.html#!org.apache.royale.jewel.supportClasses.group/GroupBase){:target='_blank'}
 |
+
+<sup>_Note: This component is currently only available for JavaScript._</sup>
+
+## Overview
+
+The Jewel Group class provides a light-weight container for visual elements. 
By default the Group does not have a layout, allowing its children to be sized 
and positioned allowing its children to be sized and positioned using absolute 
positioning.
+
+Group doesn't have any chrome or visuals just position inner childs. You can 
swap the layout for any other one available making children arrange in 
different ways (i.e: horizontal, vertical,...)
+
+## Example of use
+
+In __MXML__ declare a `Group` like this:
+
+```mxml
+<j:Group width="200" height="200" className="wrapper">
+    <j:Button text="Origin"/>
+    <j:Button text="x:30,y:30" x="30" y="30"/>
+    <j:Button text="x:60,y:60" x="60" y="60"/>
+    <j:Button text="bottom/right" style="bottom:0;right:0"/>
+</j:Group>
+```
+
+In __ActionScript__ we can do the same in the following way: 
+
+```as3
+var group:Group = new Group();
+// add a button to the group
+var button:Button = new Button();
+group.addElement(button);
+// add the group to the parent
+parent.addElement(group);
+```
+
+where `parent` is the container where the control will be added.
+
+## Relevant Properties and Methods
+
+> Check the Reference of 
[org.apache.royale.jewel.Group](https://royale.apache.org/asdoc/index.html#!org.apache.royale.jewel/Group){:target='_blank'}
 for a more detailed list of properties and methods.
+
+### Properties
+
+| PROPERTY         | Type      | Description                                   
                                |
+|--------------        |----------     | 
----------------------------------------------------------------------------- |
+| __currentState__    | _String_       | The name of the current state. |
+| __mxmlContent__    | _Array_         | The array of childs for this group. 
id the `DefaultProperty`. |
+| __states__    | _Array_      | The array of view states. These should be 
instances of 
[org.apache.royale.states.State](https://royale.apache.org/asdoc/index.html#!org.apache.royale.states/State){:target='_blank'}|
+
+### Methods
+
+| Method       | Parameters                                                    
        | Description                                                           
                                                                |
+|-----------   
|---------------------------------------------------------------        
|----------------------------------------------------------------------------------------------------------------------------------
     |
+| __addElement__       | _c(IChild), dispatchEvent(Boolean=true)       | Add a 
component to the parent.        |
+| __addElementAt__     | _c(IChild), index(int), dispatchEvent(Boolean=true)   
| Add a component to the parent at the specified index. |
+| __removeElement__    | _c(IChild), dispatchEvent(Boolean=true)       | 
Remove a component from the parent.   |
+
+## Relevant Events
+
+The most important event is `initComplete`, which indicates that the 
initialization of the group is complete.
+
+Is needed when some action coded in a callback function need to be triggered 
as the group is ready to use after initialization.
+
+You can attach callback listeners to the _initComplete_ event in __MXML__ as 
follows:
+
+```mxml
+<j:Group initComplete="initCompleteHandler(event)"/>
+```
+
+the _initComplete_ event will use the `initCompleteHandler` callback function 
you provide in __ActionScript__:
+
+```mxml
+<fx:Script>
+    <![CDATA[      
+        private function initCompleteHandler(event:Event):void {
+            trace("Group is ready!");
+        }
+    ]]>
+</fx:Script>
+```
+
+When the group is initialized the message _"Group is ready!"_ appears in the 
console log.
+
+In __ActionScript__ we can add an event handler this way: 
+
+```as3
+var g:Group = new Group();
+g.addEventListener('initComplete', initCompleteHandler);
+parent.addElement(g);
+```
+
+## Relevant Beads
+
+| Bead Type            | Implementation                                  | 
Description                                     |
+|-----------------     |------------------------------------------------ 
|------------------------------------------------     |
+| [GroupView] 
(https://royale.apache.org/asdoc/index.html#!org.apache.royale.html.beads/GroupView){:target='_blank'}
           | 
[org.apache.royale.core.IBeadView](https://royale.apache.org/asdoc/index.html#!org.apache.royale.core/IBeadLView){:target='_blank'}
 | This is the default view bead.  |
+| [BasicLayout] 
(https://royale.apache.org/asdoc/index.html#!org.apache.royale.jewel.beads.layouts/BasicLayout){:target='_blank'}
              | 
[org.apache.royale.core.IBeadLayout](https://royale.apache.org/asdoc/index.html#!org.apache.royale.core/IBeadLayout){:target='_blank'}
 | This is the default layout bead.     |
+
+### Common Beads
+
+Jewel `Group` can use any of the layout beads available in Jewel library. Also 
you can check Related controls section to see some preconfigured groups with 
specific layouts.
+
+
+## More examples
+
+* [Using Jewel 
TileHorizontalLayout](https://royale.codeoscopic.com/using-jewel-tilehorizontallayout/){:target='_blank'}
+* [Using View States to show or hide 
content](https://royale.codeoscopic.com/using-view-states-to-show-or-hide-content/){:target='_blank'}
+* [Customization through the Royale 
API](https://royale.codeoscopic.com/customization-through-the-royale-api/){:target='_blank'}
+
+## Related controls
+
+Other useful Jewel group components are:
+
+* 
[HGroup](https://royale.apache.org/asdoc/index.html#!org.apache.royale.jewel/HGroup){:target='_blank'}
+* 
[VGroup](https://royale.apache.org/asdoc/index.html#!org.apache.royale.jewel/VGroup){:target='_blank'}
+* 
[Container](https://royale.apache.org/asdoc/index.html#!org.apache.royale.jewel/Container){:target='_blank'}
\ No newline at end of file

Reply via email to