From f9358d04cd8ae19333d08b2cb75c1fda3e5fbc56 Mon Sep 17 00:00:00 2001 From: Bryan Ashby Date: Mon, 18 May 2015 22:29:33 -0600 Subject: [PATCH] * Nothing really... rethinking MultiLineEditTextView --- core/ansi_term.js | 1 + core/multi_line_edit_text_view.js | 24 +++++++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/core/ansi_term.js b/core/ansi_term.js index 52269e2e..ddb18c6e 100644 --- a/core/ansi_term.js +++ b/core/ansi_term.js @@ -51,6 +51,7 @@ var CONTROL = { deleteLine : 'M', scrollUp : 'S', scrollDown : 'T', + setScrollRegion : 'r', savePos : 's', restorePos : 'u', queryPos : '6n', diff --git a/core/multi_line_edit_text_view.js b/core/multi_line_edit_text_view.js index e9b9fc5b..822f3730 100644 --- a/core/multi_line_edit_text_view.js +++ b/core/multi_line_edit_text_view.js @@ -47,6 +47,12 @@ function MultiLineEditTextView(options) { View.call(this, options); + if(0 !== this.position.col) { + // :TODO: experimental - log this as warning if kept + this.position.col = 0; + } + + var self = this; this.lines = []; // a given line is text...until EOL @@ -90,6 +96,11 @@ function MultiLineEditTextView(options) { } }; */ + + this.createScrollRegion = function() { + self.client.term.write(ansi.setScrollRegion(self.position.row, self.position.row + 5));//self.dimens.height)); + }; + this.redrawViewableText = function() { var x = self.position.row; var bottom = x + self.dimens.height; @@ -156,14 +167,22 @@ function MultiLineEditTextView(options) { this.getLineIndex = function() { return self.topLineIndex + self.cursorPos.row; }; + } require('util').inherits(MultiLineEditTextView, View); +MultiLineEditTextView.prototype.setPosition = function(pos) { + MultiLineEditTextView.super_.prototype.setPosition.call(this, pos); + + +}; + MultiLineEditTextView.prototype.redraw = function() { MultiLineEditTextView.super_.prototype.redraw.call(this); - this.redrawViewableText(); + //this.redrawViewableText(); + this.client.term.write(this.text); }; /*MultiLineEditTextView.prototype.setFocus = function(focused) { @@ -178,6 +197,9 @@ MultiLineEditTextView.prototype.setText = function(text) { //this.cursorPos.row = this.position.row + this.dimens.height; this.lines = this.wordWrap(text); + this.createScrollRegion(); + + this.text = text; } MultiLineEditTextView.prototype.onSpecialKeyPress = function(keyName) {