--- a/TerminalView.st Wed Apr 28 20:11:11 1999 +0200
+++ b/TerminalView.st Thu Apr 29 11:29:30 1999 +0200
@@ -2,7 +2,8 @@
instanceVariableNames:'inStream outStream readerProcess shellPid kbdSequences
escapeSequenceTree currentSequence kbdMap escapeLeadingChars
numberOfColumns numberOfLines shellTerminateAction rangeStartLine
- rangeEndLine state savedCursor shellCommand shellDirectory'
+ rangeEndLine state savedCursor shellCommand shellDirectory
+ filterStream'
classVariableNames:''
poolDictionaries:''
category:'Views-TerminalViews'
@@ -1105,7 +1106,7 @@
editMenu
"return the views middleButtonMenu"
- <resource: #keyboard (#Copy #Paste #Print)>
+ <resource: #keyboard (#Copy #Paste #Print #SaveAs #Print)>
<resource: #programMenu>
|items m sub shortKeys sensor|
@@ -1126,6 +1127,22 @@
('save as ...' save SaveAs )
('print' doPrint Print )
).
+
+"/ disabled - for now;
+"/ need a more intelligent filtering of control characters.
+"/
+"/ filterStream isNil ifTrue:[
+"/ items := items , #(
+"/ ('-' )
+"/ ('start save as ...' startSaveAs )
+"/ ('start print' startPrint )
+"/ )
+"/ ] ifFalse:[
+"/ items := items , #(
+"/ ('-' )
+"/ ('stop filter' stopFilter )
+"/ )
+"/ ].
].
m := PopUpMenu itemList:items resources:resources.
@@ -1135,7 +1152,30 @@
].
^ m.
- "Modified: / 12.6.1998 / 22:33:33 / cg"
+ "Modified: / 29.4.1999 / 11:12:56 / cg"
+!
+
+startSaveAs
+ "start saving all received data to some file"
+
+ |fn|
+
+ fn := Dialog requestFileName:'Save received data in file:'.
+ fn size > 0 ifTrue:[
+ filterStream := fn asFilename writeStream
+ ].
+
+ "Created: / 29.4.1999 / 11:06:29 / cg"
+!
+
+stopFilter
+ "stop saving/printing of received data"
+
+ filterStream close.
+ filterStream := nil.
+
+ "Created: / 29.4.1999 / 11:07:49 / cg"
+ "Modified: / 29.4.1999 / 11:09:52 / cg"
! !
!TerminalView methodsFor:'misc'!
@@ -1157,6 +1197,10 @@
processInput:buffer n:count
|sensor|
+ filterStream notNil ifTrue:[
+ filterStream nextPutAll:(buffer copyTo:count).
+ ].
+
"/ self hideCursor.
"/ the following may not be too clean, but adds a lot of speed.
@@ -1284,7 +1328,7 @@
].
"Created: / 10.6.1998 / 17:26:09 / cg"
- "Modified: / 14.8.1998 / 13:43:35 / cg"
+ "Modified: / 29.4.1999 / 11:08:48 / cg"
!
sync
@@ -1366,5 +1410,5 @@
!TerminalView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg2/TerminalView.st,v 1.74 1999-04-28 12:30:08 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg2/TerminalView.st,v 1.75 1999-04-29 09:29:30 cg Exp $'
! !