| Package | com.gestureworks.cml.element |
| Class | public class OrbMenu |
| Inheritance | OrbMenu Menu Container ContainerFactory ElementFactory flash.display.Sprite |
var orb:OrbMenu = new OrbMenu();
// listen to orb menu's state event for button presses
addEventListener(StateEvent.CHANGE, changeBkg);
bkg = new Graphic();
bkg.shape = "rectangle";
bkg.width = stage.width;
bkg.height = stage.height;
bkg.color = 0x000000;
addChild(bkg);
//can set the timer and attract mode of orbmenu
orb.repeatTimer = 1;
orb.attractMode = true;
//curve text location of orbmenu
orb.textX = 90;
orb.textY = 80;
orb.textRadius = 100;
orb.curveText = "MENU";
orb.coverage = 0.4;
orb.startAngle = 100;
orb.stopAngle = 100;
//circle radius
orb.orbRadius = 100;
//gradient matrix graphics
orb.gradientType = "linear";
orb.gradientColors = "0x404040, 0x404040";
orb.gradientAlphas = "1,1";
orb.gradientRatios = "0,255";
orb.gradientHeight = 100;
orb.gradientWidth = 50;
orb.gradientRotation = 0;
orb.gradientX = 25;
orb.gradientY = 0;
//outer circle graphics
orb.shape1LineStoke = 3;
orb.shape1OutlineColor = 0x000000;
//inner circle graphics
orb.shape2LineStoke = 3;
orb.shape2OutlineColor = 0x000000;
//background(rectangle) graphics
orb.backgroundColor = 0x808080;
orb.backgroundOutlineColor = 0x000000;
orb.backgroundLineStoke = 3;
//background(rectangle) graphics
background = new Graphic();
background.visible = false;
orb.addChild(background);
var numberOfButtons:int = 3;
var width:Number = 100;
var height:Number = 135;
var orbRadius:Number = 100;
buttons = new Array(numberOfButtons);
// position of buttons,lines,background
{
var line:Sprite = new Sprite();
line.graphics.lineStyle(0, 0x000000, 1);
line.graphics.moveTo((width i + orbRadius), 0);
line.graphics.lineTo((width i + orbRadius), height);
buttons[i] = new Button();
if (i==0)
buttons[i] = createButton(buttons[i], "btn0", "grey");
else if (i == 1)
buttons[i] = createButton(buttons[i], "btn1","purple");
else if (i == 2)
buttons[i] = createButton(buttons[i], "btn2", "pink");
buttons[i].x = 100 + width i;
buttons[i].y = 0;
background.addChild(buttons[i]);
buttons[i].init();
background.addChild(line);
}
if (numberOfButtons > 1)
{
background.graphics.beginFill(0x808080);
background.graphics.drawRoundRect(0- width , 0, (orbRadius + width) + (width numberOfButtons), 135, 25, 25);
}
else
{
background.graphics.drawRoundRect(0, 0, (orbRadius + width), 135, 25, 25);
}
orb.buttons = buttons;
orb.init();
addChild(orb);
function createButton(b:Button, type:String, value:String):Button
{
var btnUp:Container = new Container();
btnUp.id = type + "-up";
var text:Text = new Text();
text.text = value;
text.x = 17;
text.y = 45;
text.selectable = false;
text.color = 0x151B54;
text.fontSize = 20;
text.visible = true;
text.multiline = true;
text.font = "OpenSansRegular";
btnUp.addChild(text);
var btnDown:Container = new Container();
btnDown.id = "btn-down";
var btnHit:Container = new Container();
btnHit.id = type + "-hit";
var hitBg:Graphic = new Graphic();
hitBg.shape = "rectangle";
hitBg.id = type + "HitBg";
hitBg.alpha = 0;
hitBg.width = 100;
hitBg.height = 100;
hitBg.lineStroke = 1.5;
hitBg.color = 0xCCCCCC;
btnHit.addChild(hitBg);
btnHit.childToList(type + "HitBg", hitBg);
b.addChild(btnUp);
b.childToList(type + "-up", btnUp);
b.addChild(btnDown);
b.childToList(type + "-down", btnDown);
b.addChild(btnHit);
b.childToList(type + "-hit", btnHit);
b.initial = type + "-up";
b.up = type + "-up";
b.out = type + "-up";
b.down = type + "-down";
b.hit = type + "-hit";
b.dispatch = "down:" + type;
return b;
}
//background color changes on state event.
function changeBkg(event:StateEvent):void
{
if (event.value == "btn0")
{
bkg.visible = true;
bkg.color = 0x817679;
}
else if (event.value == "btn1")
{
bkg.visible = true;
bkg.color = 0x5E5A80;
}
else if (event.value == "btn2")
{
bkg.visible = true;
bkg.color = 0xC48189;
}
}
| Property | Defined By | ||
|---|---|---|---|
![]() | alpha : Number [override] [write-only]
sets the alpha for display objects
| ElementFactory | |
| attractMode : Boolean
defines whether Orbmenu is floating or not
| OrbMenu | ||
![]() | autoHide : Boolean
Specifies whether the menu automatically hides when not in use
| Menu | |
![]() | autoHideTime : Number
Specifies the auto-hide time
| Menu | |
| background : Sprite
Defines background in rectangle shape of orbMenu. | OrbMenu | ||
| backgroundColor : uint
Sets the background color
| OrbMenu | ||
| backgroundLineStoke : uint
Sets the background line stoke
| OrbMenu | ||
| backgroundOutlineColor : uint
Sets the background out line color
| OrbMenu | ||
![]() | blur : Boolean
Sets the drop shadow effect
| ElementFactory | |
![]() | bottom : Number
sets the bottom value
| ElementFactory | |
![]() | buttonArray : Array | Menu | |
| buttons : Array
Defines array of buttons. | OrbMenu | ||
![]() | childList : ChildList [read-only]
store the child list
| ContainerFactory | |
![]() | class_ : String
Object's css class;
| ElementFactory | |
![]() | className : String
sets the class name of displayobject
| ElementFactory | |
![]() | cmlIndex : int
sets the cml index
| ElementFactory | |
| coverage : Number
defines the coverage of text
| OrbMenu | ||
| curveText : String
defines the text
| OrbMenu | ||
![]() | debugStyle : *
sets the debug style
| ElementFactory | |
![]() | dimensionsTo : String
sets the dimensions of the container
| ContainerFactory | |
![]() | displayEvents : String
Use for dispatch completes. | ElementFactory | |
| dropshadow : DropShadowFilter
Defines dropshadow filter for shape. | OrbMenu | ||
![]() | dropShadow : Boolean
Sets the drop shadow effect
| ElementFactory | |
| filtersArray : Array
Defines array for drop shadow filter. | OrbMenu | ||
| gradientAlphas : String
Sets the alpha transparency of gradient for shapes
| OrbMenu | ||
| gradientColors : String
Sets the array of color values of gradient for shapes
| OrbMenu | ||
| gradientHeight : Number
the width (in pixels) to which the gradient will spread
| OrbMenu | ||
| gradientRatios : String
Sets the ratios of gradient for shapes
| OrbMenu | ||
| gradientRotation : Number
the rotation (in radians) that will be applied to the gradient
| OrbMenu | ||
| gradientType : String
Sets the gardient type for shapes
| OrbMenu | ||
| gradientWidth : Number
the width (in pixels) to which the gradient will spread
| OrbMenu | ||
| gradientX : Number
how far (in pixels) the gradient is shifted horizontally
| OrbMenu | ||
| gradientY : Number
how far (in pixels) the gradient is shifted horizontally
| OrbMenu | ||
![]() | height : Number [override]
Sets width of the display object in pixels
| ElementFactory | |
![]() | heightPercent : String
sets the height percent of display object
| ElementFactory | |
![]() | horizontalCenter : Number
sets the horizontal center of display object
| ElementFactory | |
![]() | id : String
sets the id of child
| ElementFactory | |
![]() | index : int
sets the index of display object
| ElementFactory | |
![]() | infoSource : String
sets info source
| ContainerFactory | |
![]() | layout : *
Sets the layout of the container
| Container | |
![]() | layoutComplete : Function
Sets the function to call when the layout is complete
| Container | |
![]() | layoutList : Dictionary
Defines the layoutlist
| Container | |
![]() | layoutUpdate : Function
Sets the function to call when the layout updates
| Container | |
![]() | left : Number
sets left value
| ElementFactory | |
| line : Sprite
Defines intersection lines of background. | OrbMenu | ||
| matrix : Matrix
Defines to control gradient appearance of shapes. | OrbMenu | ||
| orbRadius : Number
Defines radius of orbmenu. | OrbMenu | ||
![]() | paddingBottom : Number
Sets the number of pixels between the container's bottom border and the bottom of its content area. | Container | |
![]() | paddingLeft : Number
Sets the number of pixels between the component's left border and the left edge of its content area. | Container | |
![]() | paddingRight : Number
Sets the number of pixels between the component's right border and the right edge of its content area. | Container | |
![]() | paddingTop : Number
Sets the number of pixels between the container's top border and the top of its content area. | Container | |
![]() | position : String [override]
Specifies the position alogorithm of the menu. | Menu | |
![]() | propertyStates : Array Deprecated: Please Use state | ElementFactory | |
| repeatTimer : Number
number of times the timer will tick before the timer stops itself
| OrbMenu | ||
![]() | right : Number
sets the right value
| ElementFactory | |
![]() | scale : Number
Sets both the x and y scale values
| ElementFactory | |
![]() | scaleX : Number [override]
Sets width of the display object in pixels
| ElementFactory | |
![]() | scaleY : Number [override]
Sets width of the display object in pixels
| ElementFactory | |
| shape1 : Sprite
Defines the OuterCircle which is a rectangle
| OrbMenu | ||
| shape1LineStoke : Number
Defines linestoke of shape1. | OrbMenu | ||
| shape1OutlineColor : uint
Sets the outline color of shape1
| OrbMenu | ||
| shape2 : Sprite
Defines the InnerCircle which is a rectangle
| OrbMenu | ||
| shape2LineStoke : Number
Defines linestoke of shape2. | OrbMenu | ||
| shape2OutlineColor : uint
Sets the outline color of shape2
| OrbMenu | ||
![]() | slider : Slider | Menu | |
| startAngle : Number
defines start angle for text
| OrbMenu | ||
![]() | state : Array
property states array
| ElementFactory | |
| stopAngle : Number
defines stop angle for text
| OrbMenu | ||
| textRadius : Number
defines radius of text
| OrbMenu | ||
| textX : Number
defines the centerX position of text
| OrbMenu | ||
| textY : Number
Defines centerY position of text
| OrbMenu | ||
![]() | top : Number
sets top value
| ElementFactory | |
![]() | verticalCenter : Number
sets the vertical center of display object
| ElementFactory | |
![]() | width : Number [override]
Sets width of the display object in pixels
| ElementFactory | |
![]() | widthPercent : String
sets the percent of width of display object
| ElementFactory | |
| Method | Defined By | ||
|---|---|---|---|
OrbMenu()
Constructor. | OrbMenu | ||
![]() | addAllChildren():void
This method searches the childlist and add the children
| ContainerFactory | |
![]() | addChild(child:DisplayObject):DisplayObject [override]
Adds child to display list and, if not already added, the child list
TODO: This mechanism should be abstracted to better syncrhonize child and display lists
| Container | |
![]() | applyLayout(value:* = null):void
Apply the containers layout
| Container | |
![]() | childToList(id:String, child:*):void
this method append to the childlist
| ContainerFactory | |
![]() | clone():* [override]
Returns clone of self
| Menu | |
displayComplete():void [override]
CML display initialization callback
defines positions for buttons,lines and rectangle. | OrbMenu | ||
dispose():void [override]
Dispose methods to nullify attributes and remove listeners
| OrbMenu | ||
![]() | getIndex(index:int):*
returns childlist index
| Container | |
![]() | getKey(key:String):*
returns the childlist key
| Container | |
![]() | hideIndex(index:int):void
hides the childlist index
| Container | |
![]() | hideKey(key:String):void
hides the childlist key
| Container | |
init():void [override]
Initializes the configuration and display of orbMenu
| OrbMenu | ||
![]() | parseCML(cml:XMLList):XMLList [override]
Parse cml for local layouts. | Container | |
![]() | postparseCML(cml:XMLList):void
post parses the cml file
| ElementFactory | |
![]() | reset():void | Menu | |
![]() | searchChildren(value:*, returnType:Class = null):*
This method does a depth first search of childLists. | Container | |
![]() | setDimensionsToChild():void
This method sets the dimensions of childlist
| ContainerFactory | |
![]() | showIndex(index:int):void
shows the childlist index
| Container | |
![]() | showKey(key:String):void
shows the childlist key
| Container | |
![]() | startTimer():void
if autohide on, adds the listener
| Menu | |
![]() | updateLayout(containerWidth:Number, containerHeight:Number):void
sets the layout depending on the position
| Menu | |
![]() | updateProperties(state:Number = 0):void
this method updates the properties
| ElementFactory | |
| attractMode | property |
attractMode:Booleandefines whether Orbmenu is floating or not
public function get attractMode():Boolean public function set attractMode(value:Boolean):void| background | property |
public var background:SpriteDefines background in rectangle shape of orbMenu.
| backgroundColor | property |
backgroundColor:uintSets the background color
The default value is = 0x666666;.
public function get backgroundColor():uint public function set backgroundColor(value:uint):void| backgroundLineStoke | property |
backgroundLineStoke:uintSets the background line stoke
The default value is = 3;.
public function get backgroundLineStoke():uint public function set backgroundLineStoke(value:uint):void| backgroundOutlineColor | property |
backgroundOutlineColor:uintSets the background out line color
The default value is = 0x000000;.
public function get backgroundOutlineColor():uint public function set backgroundOutlineColor(value:uint):void| buttons | property |
public var buttons:ArrayDefines array of buttons.
| coverage | property |
coverage:Numberdefines the coverage of text
public function get coverage():Number public function set coverage(value:Number):void| curveText | property |
curveText:Stringdefines the text
public function get curveText():String public function set curveText(value:String):void| dropshadow | property |
public var dropshadow:DropShadowFilterDefines dropshadow filter for shape.
| filtersArray | property |
public var filtersArray:ArrayDefines array for drop shadow filter.
| gradientAlphas | property |
gradientAlphas:StringSets the alpha transparency of gradient for shapes
The default value is = [1, 1];.
public function get gradientAlphas():String public function set gradientAlphas(value:String):void| gradientColors | property |
gradientColors:StringSets the array of color values of gradient for shapes
The default value is = [0x404040 , 0x404040];.
public function get gradientColors():String public function set gradientColors(value:String):void| gradientHeight | property |
gradientHeight:Numberthe width (in pixels) to which the gradient will spread
The default value is = 100;.
public function get gradientHeight():Number public function set gradientHeight(value:Number):void| gradientRatios | property |
gradientRatios:StringSets the ratios of gradient for shapes
The default value is = [0, 255];.
public function get gradientRatios():String public function set gradientRatios(value:String):void| gradientRotation | property |
gradientRotation:Numberthe rotation (in radians) that will be applied to the gradient
The default value is = 0;.
public function get gradientRotation():Number public function set gradientRotation(value:Number):void| gradientType | property |
gradientType:StringSets the gardient type for shapes
The default value is = GradientType.LINEAR;.
public function get gradientType():String public function set gradientType(value:String):void| gradientWidth | property |
gradientWidth:Numberthe width (in pixels) to which the gradient will spread
The default value is = 50;.
public function get gradientWidth():Number public function set gradientWidth(value:Number):void| gradientX | property |
gradientX:Numberhow far (in pixels) the gradient is shifted horizontally
The default value is = 25;.
public function get gradientX():Number public function set gradientX(value:Number):void| gradientY | property |
gradientY:Numberhow far (in pixels) the gradient is shifted horizontally
The default value is = 0;.
public function get gradientY():Number public function set gradientY(value:Number):void| line | property |
public var line:SpriteDefines intersection lines of background.
| matrix | property |
public var matrix:MatrixDefines to control gradient appearance of shapes.
| orbRadius | property |
orbRadius:NumberDefines radius of orbmenu.
The default value is = 100;.
public function get orbRadius():Number public function set orbRadius(value:Number):void| repeatTimer | property |
repeatTimer:Numbernumber of times the timer will tick before the timer stops itself
The default value is = 1;.
public function get repeatTimer():Number public function set repeatTimer(value:Number):void| shape1 | property |
public var shape1:SpriteDefines the OuterCircle which is a rectangle
| shape1LineStoke | property |
shape1LineStoke:NumberDefines linestoke of shape1.
The default value is = 5;.
public function get shape1LineStoke():Number public function set shape1LineStoke(value:Number):void| shape1OutlineColor | property |
shape1OutlineColor:uintSets the outline color of shape1
The default value is = 0x000000;.
public function get shape1OutlineColor():uint public function set shape1OutlineColor(value:uint):void| shape2 | property |
public var shape2:SpriteDefines the InnerCircle which is a rectangle
| shape2LineStoke | property |
shape2LineStoke:NumberDefines linestoke of shape2.
The default value is = 4;.
public function get shape2LineStoke():Number public function set shape2LineStoke(value:Number):void| shape2OutlineColor | property |
shape2OutlineColor:uintSets the outline color of shape2
The default value is = 0x000000;.
public function get shape2OutlineColor():uint public function set shape2OutlineColor(value:uint):void| startAngle | property |
startAngle:Numberdefines start angle for text
public function get startAngle():Number public function set startAngle(value:Number):void| stopAngle | property |
stopAngle:Numberdefines stop angle for text
public function get stopAngle():Number public function set stopAngle(value:Number):void| textRadius | property |
textRadius:Numberdefines radius of text
public function get textRadius():Number public function set textRadius(value:Number):void| textX | property |
textX:Numberdefines the centerX position of text
public function get textX():Number public function set textX(value:Number):void| textY | property |
textY:NumberDefines centerY position of text
public function get textY():Number public function set textY(value:Number):void| OrbMenu | () | Constructor |
public function OrbMenu()Constructor.
| displayComplete | () | method |
override public function displayComplete():voidCML display initialization callback defines positions for buttons,lines and rectangle.
| dispose | () | method |
override public function dispose():voidDispose methods to nullify attributes and remove listeners
| init | () | method |
override public function init():voidInitializes the configuration and display of orbMenu