* tkcon.tcl (edit): add support for ::tkcon::OPT(tabspace) to
authorJeff Hobbs <hobbs@users.sourceforge.net>
Thu, 27 Dec 2012 23:06:24 +0000 (23:06 +0000)
committerJeff Hobbs <hobbs@users.sourceforge.net>
Thu, 27 Dec 2012 23:06:24 +0000 (23:06 +0000)
adjust tab spacing in edit window (default: 8). [Bug #7]

ChangeLog
tkcon.tcl

index fa8fabb7de606e65cf7ca743c753b07efde9b100..fae07c94ab80069a8f22e16eac99659fde06497c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2012-12-27  Jeff Hobbs  <jeffh@ActiveState.com>
 
+       * tkcon.tcl (edit): add support for ::tkcon::OPT(tabspace) to
+       adjust tab spacing in edit window (default: 8). [Bug #7]
+
        * tkcon.tcl (::tkcon::Bindings): minimal patch for 8.6b3+ event
        compatibility. Larger patch to come that addresses shift towards
        virtual events in core widgets. [Bug #48] (gollwitzer)
index 05b9e5d3c0c79710db15d2f4f1d4eccd3eee1e2d..c859a5423ebb8c49a8e9f792ff4ebf2efa4b9ab6 100755 (executable)
--- a/tkcon.tcl
+++ b/tkcon.tcl
@@ -150,6 +150,7 @@ proc ::tkcon::Init {args} {
        slaveeval       {}
        slaveexit       close
        subhistory      1
+       tabspace        8
        gc-delay        60000
        gets            {congets}
        overrideexit    1
@@ -3830,6 +3831,7 @@ proc tkcon_gets args {
 proc edit {args} {
     variable ::tkcon::PRIV
     variable ::tkcon::COLOR
+    variable ::tkcon::OPT
 
     array set opts {-find {} -type {} -attach {} -wrap {none}}
     while {[string match -* [lindex $args 0]]} {
@@ -3888,11 +3890,14 @@ proc edit {args} {
        -foreground $COLOR(stdin) \
        -background $COLOR(bg) \
        -insertbackground $COLOR(cursor) \
-       -font $::tkcon::OPT(font) -borderwidth 1 -highlightthickness 0
+       -font $::tkcon::OPT(font) -borderwidth 1 -highlightthickness 0 \
+       -undo 1
     catch {
-       # 8.4+ stuff
-       $w.text configure -undo 1
+       # 8.5+ stuff
+       set tabsp [expr {$OPT(tabspace) * [font measure $OPT(font) 0]}]
+       $w.text configure -tabs [list $tabsp left] -tabstyle wordprocessor
     }
+
     scrollbar $w.sx -orient h -command [list $w.text xview]
     scrollbar $w.sy -orient v -command [list $w.text yview]