//‚±‚ê‚ð‘—‚Á‚Ä‚‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Í vi‚ʼnº•ûƒXƒNƒ[ƒ‹ protected void ProcessDeleteLines(string param) { int d = ParseInt(param, 1); /* * TerminalDocument doc = GetDocument(); * _manipulator.Clear(GetConnection().TerminalWidth); * GLine target = doc.CurrentLine; * for(int i=0; i<d; i++) { * target.Clear(); * target = target.NextLine; * } */ TerminalDocument doc = GetDocument(); int caret_col = doc.CaretColumn; int offset = doc.CurrentLineNumber - doc.TopLineNumber; //GLine nl = _manipulator.Export(); //doc.ReplaceCurrentLine(nl); if (doc.ScrollingBottom == -1) { doc.SetScrollingRegion(0, doc.TerminalHeight - 1); } for (int i = 0; i < d; i++) { doc.ScrollDown(/* doc.CurrentLineNumber, doc.ScrollingBottom */); doc.CurrentLineNumber = doc.TopLineNumber + offset; } //_manipulator.Load(doc.CurrentLine, caret_col); }
private void ProcessScrollDown(string param) { int d = ParseInt(param, 1); TerminalDocument doc = GetDocument(); int caret_col = doc.CaretColumn; int offset = doc.CurrentLineNumber - doc.TopLineNumber; //GLine nl = _manipulator.Export(); doc.CleanLineRange(0, doc.TerminalWidth); // .ReplaceCurrentLine(nl); if (doc.ScrollingBottom == -1) { doc.SetScrollingRegion(0, GetDocument().TerminalHeight - 1); } for (int i = 0; i < d; i++) { doc.ScrollUp(doc.ScrollingTop, doc.ScrollingBottom); // TerminalDocument's "Scroll-Up" means XTerm's "Scroll-Down" doc.CurrentLineNumber = doc.TopLineNumber + offset; // find correct GLine } //_manipulator.Load(doc.CurrentLine, caret_col); }
//‚±‚ê‚ð‘—‚Á‚Ä‚‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Í vi‚Åã•ûƒXƒNƒ[ƒ‹ protected void ProcessInsertLines(string param) { int d = ParseInt(param, 1); TerminalDocument doc = GetDocument(); int caret_pos = doc.CaretColumn; int offset = doc.CurrentLineNumber - doc.TopLineNumber; //GLine nl = _manipulator.Export(); //doc.ReplaceCurrentLine(nl); if (doc.ScrollingBottom == -1) { doc.SetScrollingRegion(0, GetDocument().TerminalHeight - 1); } for (int i = 0; i < d; i++) { doc.ScrollUp(/* doc.CurrentLineNumber, doc.ScrollingBottom */); doc.CurrentLineNumber = doc.TopLineNumber + offset; } //_manipulator.Load(doc.CurrentLine, caret_pos); }