add focus history.

This commit is contained in:
Christopher Jeffrey 2013-06-09 15:52:22 -05:00
parent a19d9baf48
commit c260bb9a02
1 changed files with 22 additions and 1 deletions

View File

@ -142,7 +142,8 @@ function Screen(options) {
bottom: this.bottom = 0 bottom: this.bottom = 0
}; };
this.focused = null; //this.focused = null;
this.history = [];
this.clickable = []; this.clickable = [];
this.input = []; this.input = [];
this.grabKeys = false; this.grabKeys = false;
@ -449,6 +450,26 @@ Screen.prototype.focusNext = function() {
return this.focus(1); return this.focus(1);
}; };
Screen.prototype.focusPush = function(el) {
if (this.history.length === 10) {
this.history.shift();
}
this.history.push(el);
};
Screen.prototype.focusLast =
Screen.prototype.focusPop = function() {
return this.history.pop();
};
Screen.prototype.__defineGetter__('focused', function() {
return this.history[this.history.length-1];
});
Screen.prototype.__defineSetter__('focused', function(el) {
return this.focusPush(el);
});
Screen.prototype.clearRegion = function(xi, xl, yi, yl) { Screen.prototype.clearRegion = function(xi, xl, yi, yl) {
return this.fillRegion(this.dattr, ' ', xi, xl, yi, yl); return this.fillRegion(this.dattr, ' ', xi, xl, yi, yl);
}; };