// hitEnter prototype by querkopf
//
// Aufruf:
// meinTextfeld.hitEnter(callback, focus, variablen);
//
// callback: function
// - Funktion die aufgerufen wird, nachdem "Enter" gedrückt wurde.
// - liefert die Eingabe aus dem Textfeld zurück
//
// focus (optional): null, object
// - bei "null" verlieren alle Objekte den Focus
// - wenn "object" identisch ist mit dem aufrufenden Textfeld, bleibt der Focus bestehen (unverändert)
// - kann ansonsten wie eine "tab order" verwendet werden, indem dort das nächste Textfeld mit Focus angegeben wird
//
// variablen (optional): object
// - ein Objekt mit beliebigen Variablen, die in "callback" über this angesprochen werden können
//
// BSP 1: ....................................................................................
// callback = function(input) {
// trace(input);
// };
// meinTextfeld.hitEnter(callback);
// - ruft die Funktion "callback" auf und zeigt den Inhalt von "meinTextfeld" an
// - "meinTextfeld" verliert den Focus
//
// BSP 2: ....................................................................................
// callback = function(input) {
// trace(input);
// };
// meinTextfeld.hitEnter(callback, meinTextfeld);
// - ruft die Funktion "callback" auf und zeigt den Inhalt von "meinTextfeld" an
// - "meinTextfeld" behält den Focus
//
// BSP 3: ....................................................................................
// callback = function(input) {
// trace(input);
// };
// meinTextfeld.hitEnter(callback, meinTextfeld2);
// meinTextfeld2.hitEnter(callback);
// - ruft die Funktion "callback" auf und zeigt den Inhalt von "meinTextfeld" bzw. "meinTextfeld2" an
// - "meinTextfeld" verliert den Focus und "meinTextfeld2" bekommt ihn
//
TextField.prototype.hitEnter = function(f, s, o) {
this.onKeyUp = function() {
if (Key.getCode() == Key.ENTER) {
var a = this.text;
if (s != this) {
Selection.setFocus(s);
}
return f.call(o, a);
}
};
this.onSetFocus = function() {
Key.addListener(this);
};
this.onKillFocus = function() {
Key.removeListener(this);
};
};
//
//
// BSP 4: ....................................................................................
this.createTextField("eingabe", 1, 0, 0, 240, 24);
this.eingabe.type = "input";
this.eingabe.border = true;
//
this.createTextField("eingabe2", 2, 0, 28, 240, 24);
this.eingabe2.type = "input";
this.eingabe2.border = true;
//
this.callback = function(input) {
trace(this.id+": "+input);
};
this.eingabe.hitEnter(callback, this.eingabe2, {id:"Ausgabe"});
this.eingabe2.hitEnter(callback, this.eingabe, {id:"Ausgabe 2"});
stop();