tests: Add avm2/tab_ordering_tabbable
This is an AVM2 version of avm1/tab_ordering_tabbable
This commit is contained in:
parent
39b6c9d096
commit
566590ac1f
|
@ -0,0 +1,144 @@
|
|||
package {
|
||||
|
||||
import flash.display.DisplayObject;
|
||||
import flash.display.InteractiveObject;
|
||||
import flash.events.KeyboardEvent;
|
||||
import flash.text.TextField;
|
||||
import flash.display.Sprite;
|
||||
import flash.display.SimpleButton;
|
||||
import flash.display.MovieClip;
|
||||
import flash.events.Event;
|
||||
|
||||
public class Test extends MovieClip {
|
||||
var objects:Array;
|
||||
var tabbedObjects:Array = [];
|
||||
var testStage:int = 0;
|
||||
|
||||
public function Test() {
|
||||
super();
|
||||
|
||||
var text1:TextField = this.newTextField(1);
|
||||
text1.type = "dynamic";
|
||||
|
||||
var text2:TextField = this.newTextField(2);
|
||||
text2.maxChars = 0;
|
||||
|
||||
var text3:TextField = this.newTextField(3);
|
||||
text3.visible = false;
|
||||
|
||||
var text4:TextField = this.newTextField(4);
|
||||
text4.x = -400;
|
||||
text4.y = -400;
|
||||
|
||||
var text5:TextField = this.newTextField(5);
|
||||
|
||||
var text6:TextField = this.newTextField(6);
|
||||
text6.selectable = false;
|
||||
|
||||
var text7:TextField = this.newTextField(7);
|
||||
text7.width = 0;
|
||||
text7.height = 0;
|
||||
|
||||
var clip8:MovieClip = this.newMovieClip(8);
|
||||
|
||||
var clip9:MovieClip = this.newMovieClip(9);
|
||||
clip9.visible = false;
|
||||
|
||||
var button10:SimpleButton = new SimpleButton();
|
||||
button10.name = "button10";
|
||||
setupObject(button10, 10);
|
||||
|
||||
var button11:SimpleButton = new SimpleButton();
|
||||
button11.name = "button11";
|
||||
setupObject(button11, 11);
|
||||
button11.visible = false;
|
||||
|
||||
var text12:TextField = this.newTextField(12);
|
||||
text12.tabEnabled = true;
|
||||
text12.type = "dynamic";
|
||||
|
||||
this.objects = [
|
||||
text1,
|
||||
text2,
|
||||
text3,
|
||||
text4,
|
||||
text5,
|
||||
text6,
|
||||
text7,
|
||||
clip8,
|
||||
clip8.getChildByName("clip8.text"),
|
||||
clip9,
|
||||
clip9.getChildByName("clip9.text"),
|
||||
button10,
|
||||
button11,
|
||||
text12
|
||||
];
|
||||
|
||||
var test:Test = this;
|
||||
for each (var obj in objects) {
|
||||
obj.addEventListener("focusIn", function(obj) {
|
||||
return function (evt:Event):void {
|
||||
test.tabbedObjects.push(obj.name);
|
||||
}
|
||||
}(obj));
|
||||
this.stage.addChild(obj);
|
||||
}
|
||||
|
||||
this.stage.addEventListener("keyDown", function(evt:KeyboardEvent) {
|
||||
if (evt.keyCode == 27) {
|
||||
trace("Tabbable elements:");
|
||||
for each (var obj in objects) {
|
||||
var exists = false;
|
||||
for each (var name in tabbedObjects) {
|
||||
if (obj.name == name) {
|
||||
exists = true;
|
||||
}
|
||||
}
|
||||
trace(" " + obj.name + ": " + exists);
|
||||
}
|
||||
|
||||
++test.testStage;
|
||||
if (test.testStage == 1) {
|
||||
trace("Enabling tab");
|
||||
for each (var obj in objects) {
|
||||
obj.tabEnabled = true;
|
||||
}
|
||||
} else if (test.testStage == 2) {
|
||||
trace("Setting custom order");
|
||||
for (var i in objects) {
|
||||
objects[i].tabIndex = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function newTextField(i:int):TextField {
|
||||
var tf:TextField = new TextField();
|
||||
tf.type = "input";
|
||||
tf.name = "text" + i;
|
||||
tf.border = true;
|
||||
this.setupObject(tf, i);
|
||||
return tf;
|
||||
}
|
||||
|
||||
function newMovieClip(i:int):MovieClip {
|
||||
var mc:MovieClip = new MovieClip();
|
||||
mc.name = "clip" + i;
|
||||
this.setupObject(mc, i);
|
||||
|
||||
var tf:TextField = this.newTextField(0);
|
||||
tf.name = mc.name + ".text";
|
||||
|
||||
mc.addChild(tf);
|
||||
return mc;
|
||||
}
|
||||
|
||||
function setupObject(o:DisplayObject, i:int):void {
|
||||
o.x = 0;
|
||||
o.y = i * 20;
|
||||
o.height = 20;
|
||||
o.width = 100;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
[
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 27 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 27 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 9 },
|
||||
{ "type": "KeyDown", "key_code": 27 }
|
||||
]
|
|
@ -0,0 +1,47 @@
|
|||
Tabbable elements:
|
||||
text1: false
|
||||
text2: true
|
||||
text3: false
|
||||
text4: true
|
||||
text5: true
|
||||
text6: true
|
||||
text7: true
|
||||
clip8: false
|
||||
clip8.text: true
|
||||
clip9: false
|
||||
clip9.text: false
|
||||
button10: true
|
||||
button11: false
|
||||
text12: false
|
||||
Enabling tab
|
||||
Tabbable elements:
|
||||
text1: false
|
||||
text2: true
|
||||
text3: false
|
||||
text4: true
|
||||
text5: true
|
||||
text6: true
|
||||
text7: true
|
||||
clip8: true
|
||||
clip8.text: true
|
||||
clip9: false
|
||||
clip9.text: false
|
||||
button10: true
|
||||
button11: false
|
||||
text12: false
|
||||
Setting custom order
|
||||
Tabbable elements:
|
||||
text1: false
|
||||
text2: true
|
||||
text3: false
|
||||
text4: true
|
||||
text5: true
|
||||
text6: true
|
||||
text7: true
|
||||
clip8: true
|
||||
clip8.text: true
|
||||
clip9: false
|
||||
clip9.text: true
|
||||
button10: true
|
||||
button11: false
|
||||
text12: false
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
num_ticks = 1
|
Loading…
Reference in New Issue