ftp.nice.ch/pub/next/graphics/vector/PencilTWO.s.tar.gz#/PencilTWO/Source/PencilLibrary/TIN.tcl

This is TIN.tcl in view mode; [Download] [Up]

# text object for entering TCL commands:
# TIN == TCL Input
proc openTIN {} {
	global TINwin .curwin
	
	if [info exists TINwin] {
		$TINwin orderFront
	} {
		new fromNIB [P_find TCLinput.nib]
		set TINwin ${.curwin}
	}
}

proc execTxt {} {
	global TINin TINout
	
	set t $TINin
	
	set sl [$t sel]
	set beg [lindex $sl 0]
	set lng [expr [set a [lindex $sl 1]]-[lindex $sl 0]]
	if $lng==0 {
		set l1 [set l2 [$t pos2line $beg]]
		for {set le [$t line2pos [expr $l1+1]]} {$l1>=0 && [expr $le-[set lb [$t line2pos $l1]]]>1} {incr l1 -1;set le $lb} {}
		for {set le [$t line2pos $l2];incr l2} {[expr [set lb [$t line2pos $l2]]-$le]>1} {incr l2;set le $lb} {}
		if $lb>0 {set lb [$t line2pos [expr $l2-1]]} {set lb 1000000}
		set beg [$t line2pos $l1]
		set lng [expr $lb-$beg]
	}	
	if [catch {uplevel #0 [$t getString $beg $lng]} R] {
		set tl [$TINout textLength]
		$TINout setSel $tl $tl
		$TINout setFont Helvetica-BoldOblique 12 -
		$TINout addText "$R" -
		set tl [$TINout textLength]
		$TINout setSel $tl $tl
		$TINout setFont Helvetica 12 -
		$TINout addText "\n" -
		$TINout addText ""
	} {
		if ![string match $R ""] {
			$TINout addText "$R\n"
		}
	}
	$TINin setSel $a $a
}

openTIN

proc out {t} {
	global TINout
	
	$TINout addText "$t\n"
}

P_addMenuItem 2 "Evaluate TCL" E {execTxt}
P_addMenuItem 2 "Eval line" "-" {execTxt; $TINin addText "\n\n"}

set TIN 1

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.