* Added Setting

This commit is contained in:
Ruben Daniels 2012-04-06 12:35:08 +02:00
commit 7f5db3f6b4
2 changed files with 32 additions and 9 deletions

View file

@ -598,6 +598,14 @@ var Editor = function(renderer, session) {
return this.$highlightSelectedWord; return this.$highlightSelectedWord;
}; };
this.setAnimatedScroll = function(shouldAnimate){
this.renderer.setAnimatedScroll(shouldAnimate);
}
this.getAnimatedScroll = function(){
this.rendered.getAnimatedScroll();
}
this.setShowInvisibles = function(showInvisibles) { this.setShowInvisibles = function(showInvisibles) {
if (this.getShowInvisibles() == showInvisibles) if (this.getShowInvisibles() == showInvisibles)
return; return;

View file

@ -103,6 +103,8 @@ var VirtualRenderer = function(container, theme) {
this.$horizScroll = true; this.$horizScroll = true;
this.$horizScrollAlwaysVisible = true; this.$horizScrollAlwaysVisible = true;
this.$animatedScroll = false;
this.scrollBar = new ScrollBar(container); this.scrollBar = new ScrollBar(container);
this.scrollBar.addEventListener("scroll", function(e) { this.scrollBar.addEventListener("scroll", function(e) {
_self.session.setScrollTop(e.data); _self.session.setScrollTop(e.data);
@ -274,6 +276,14 @@ var VirtualRenderer = function(container, theme) {
return this.session.adjustWrapLimit(limit); return this.session.adjustWrapLimit(limit);
}; };
this.setAnimatedScroll = function(shouldAnimate){
this.$animatedScroll = shouldAnimate;
}
this.getAnimatedscroll = function(){
return this.$animatedScroll
}
this.setShowInvisibles = function(showInvisibles) { this.setShowInvisibles = function(showInvisibles) {
if (this.$textLayer.setShowInvisibles(showInvisibles)) if (this.$textLayer.setShowInvisibles(showInvisibles))
this.$loop.schedule(this.CHANGE_TEXT); this.$loop.schedule(this.CHANGE_TEXT);
@ -724,8 +734,9 @@ var VirtualRenderer = function(container, theme) {
if (center) if (center)
offset -= this.$size.scrollerHeight / 2; offset -= this.$size.scrollerHeight / 2;
if (this.$animatedScroll) {
var i = 0, _self = this, var i = 0, _self = this,
steps = calcSteps(this.scrollTop, offset);// console.dir(steps); steps = calcSteps(this.scrollTop, offset);
clearInterval(_self.$timer); clearInterval(_self.$timer);
this.$timer = setInterval(function(){ this.$timer = setInterval(function(){
_self.session.setScrollTop(steps[i]); _self.session.setScrollTop(steps[i]);
@ -733,6 +744,10 @@ var VirtualRenderer = function(container, theme) {
if (++i == STEPS + 1) if (++i == STEPS + 1)
clearInterval(_self.$timer); clearInterval(_self.$timer);
}, 10); }, 10);
}
else {
this.session.setScrollTop(offset);
}
}; };
this.scrollToY = function(scrollTop) { this.scrollToY = function(scrollTop) {