Unnamed Fossil Project

Check-in [8f7ff3a44e]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:fixes mostly for treeview
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:8f7ff3a44eb0563a0fc3312ffab8633749847392
User & Date: arnulf 2013-09-21 19:20:11
Context
2013-09-21
19:24
initial version check-in: 4711f9ace7 user: arnulf tags: trunk
19:20
fixes mostly for treeview check-in: 8f7ff3a44e user: arnulf tags: trunk
17:08
a lot of changes including additional paramter recordPtr for all *Element.tcl methods for makeing first treeview example running. check-in: b0ea45cca7 user: arnulf tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to library/ntkButtonBorderElement.tcl.

47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
    protected option [list -relief Relief Relief] \
            -default flat
    protected option [list -default default Default] \
            -default disabled

    private method DrawCorner {x y width height corner color}
    public method InitializeOptionValues {styleName recordPtr state}
    public method ElementSize {widthVar heightVar paddingVar}
    public method ElementDraw {box state}

}

#================================ DrawCorner ============================
#     
#=========================================================================








|
|







47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
    protected option [list -relief Relief Relief] \
            -default flat
    protected option [list -default default Default] \
            -default disabled

    private method DrawCorner {x y width height corner color}
    public method InitializeOptionValues {styleName recordPtr state}
    public method ElementSize {recordPtr widthVar heightVar paddingVar}
    public method ElementDraw {recordPtr box state}

}

#================================ DrawCorner ============================
#     
#=========================================================================

Changes to library/ntkClassicTheme.tcl.

49
50
51
52
53
54
55









56
57
58
59
60
61
62

        # Ttk_RegisterElement(interp, theme, "hsash",
        #        &SashElementSpec, &SashClientData[0]);
        # Ttk_RegisterElement(interp, theme, "vsash",
        #        &SashElementSpec, &SashClientData[1]);











    # button
set spec \
  [list Button.highlight [list -sticky nswe -pack "" -child \
    [list Button.border [list -sticky nswe -pack "" -border 1 -child \
      [list Button.padding [list -sticky nswe -pack "" -child \
        [list Button.label [list -sticky nswe -pack ""]] \
      ]] \







>
>
>
>
>
>
>
>
>







49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71

        # Ttk_RegisterElement(interp, theme, "hsash",
        #        &SashElementSpec, &SashClientData[0]);
        # Ttk_RegisterElement(interp, theme, "vsash",
        #        &SashElementSpec, &SashClientData[1]);


    # label
set spec \
  [list Label.border [list -sticky nswe -pack "" -border 1 -child \
    [list Label.padding [list -sticky nswe -pack "" border 1 -child \
      [list Label.label [list -sticky nswe -pack ""]] \
    ]] \
  ]]
    ::ntk::classes::theme::RegisterLayout $theme "TLabel" $spec

    # button
set spec \
  [list Button.highlight [list -sticky nswe -pack "" -child \
    [list Button.border [list -sticky nswe -pack "" -border 1 -child \
      [list Button.padding [list -sticky nswe -pack "" -child \
        [list Button.label [list -sticky nswe -pack ""]] \
      ]] \

Changes to library/ntkLayout.tcl.

888
889
890
891
892
893
894
895
896
897

898
899
900
901
902
903
904
905
906
907
908

909
910
911
912
913
914
915
	}
	set substate $state
	if {$unit} {
            lappend substate [dict get $node -state]
	}
#puts stderr "DN1!$border!"
	set child [dict get $node -child]
        if {$child ne "" && $border} {
             DrawNodeList $layout $child $substate
        }

        set tkwin [dict get $layout -tkwin]
        set elementClassName [dict get $node -elementClass]
        set elementName [dict get $node -name]
        set elementObject [$tkwin GetElementObject $elementName $elementClassName]
if {$::debugDrawElement} {
puts stderr "call DrawElement2!$elementName![dict get $node -parcel]!"
}
        ::ntk::classes::theme::DrawElement $elementObject [dict get $layout -style] [dict get $layout -recordPtr] "" "" [dict get $node -parcel] [concat $state [dict get $node -state]]
        if {$child ne "" && !$border} {
             DrawNodeList $layout $child $substate
        }

	set nextNode [dict get $node -next]
set node $nextNode
#        if {$nextNode ne ""} {
#            DrawNodeList $layout $nextNode $state
#        }
#puts stderr "DrawNodeList END!$state![dict get $node -name]!"
    }







|
|
<
>








|

<
>







888
889
890
891
892
893
894
895
896

897
898
899
900
901
902
903
904
905
906
907

908
909
910
911
912
913
914
915
	}
	set substate $state
	if {$unit} {
            lappend substate [dict get $node -state]
	}
#puts stderr "DN1!$border!"
	set child [dict get $node -child]
#        if {$child ne "" && $border} {
#             DrawNodeList $layout $child $substate

#        }
        set tkwin [dict get $layout -tkwin]
        set elementClassName [dict get $node -elementClass]
        set elementName [dict get $node -name]
        set elementObject [$tkwin GetElementObject $elementName $elementClassName]
if {$::debugDrawElement} {
puts stderr "call DrawElement2!$elementName![dict get $node -parcel]!"
}
        ::ntk::classes::theme::DrawElement $elementObject [dict get $layout -style] [dict get $layout -recordPtr] "" "" [dict get $node -parcel] [concat $state [dict get $node -state]]
#        if {$child ne "" && !$border} {
             DrawNodeList $layout $child $substate

#        }
	set nextNode [dict get $node -next]
set node $nextNode
#        if {$nextNode ne ""} {
#            DrawNodeList $layout $nextNode $state
#        }
#puts stderr "DrawNodeList END!$state![dict get $node -name]!"
    }

Changes to library/ntkTEntryBase.tcl.

237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
...
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
...
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
...
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
...
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
...
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
#puts stderr "entry::EntryEditable called!"
    set val1 [lsearch [dict get $core state] stateDisabled]
    set val2 [lsearch [dict get $core state] stateReadonly]
#puts stderr "EntryEditable ret!$val1!$val2![expr {!(($val1 | $val2) >= 0)}]!"
    return [expr {!(($val1 | $val2) >= 0)}]
}

#================================ CreateScrollHandle ============================
#     
#=========================================================================

::itcl::body tentryBase::CreateScrollHandle {args} {
#puts stderr "entry::CreateScrollHandle called!$args!"
    return ""
}

#================================ EntryBBoxCommand ============================
#     
#=========================================================================

::itcl::body tentryBase::EntryBBoxCommand {args} {
puts stderr "EntryBBoxCommand!$args!"
}
................................................................................
#=========================================================================

::itcl::body tentryBase::AdjustIndices {index nChars} {
    set g [expr {$nChars > 0}] ; # left gravity adjustment
    dict set entry insertPos [AdjustIndex [dict get $entry insertPos] $index $nChars]
    dict set entry selectFirst [AdjustIndex [dict get $entry selectFirst] $index $nChars]
    dict set entry selectLast [AdjustIndex [dict get $entry selectLast] [expr {$index + $g}] $nChars]
    dict set entry xscroll first [AdjustIndex [dict get $entry xscroll first] [expr {$index + $g}] $nChars]
    if {[dict get $entry selectLast] <= [dict get $entry selectFirst]} {
        dict set entry selectFirst -1
	dict set entry selectLast -1
    }
}

#================================ EntryDisplayString ============================
................................................................................
    end {
        set index [dict get $entry numChars]
      }
    insert {
        set index [dict get $entry insertPos]
      }
    left {
        set index [dict get $entry xscroll first]
      }
    right {
        set index [dict get $entry xscroll last]
      }
    sel.first {
        if {[dict get $entry selectFirst] < 0} {
            return -code error "selection isn't in widget [dict get $core tkwin]"
        }
	set index [dict get $entry selectFirst]
      }
................................................................................
           return -code error "bad entry index \"$idx\""
        }
        if {$x > $maxWidth} {
            set x $maxWidth
            set roundUp 1
        }
        set index [PointToChar [dict get $entry textLayout] [expr {$x - [dict get $entry layoutX]}] 0]
        if {$index < [dict get $entry xscroll first]} {
            set index [dict get $entry xscroll first]
        }
        # Special trick:  if the x-position was off-screen to the right,
        # round the index up to refer to the character just after the
        # last visible one on the screen.  This is needed to enable the
        # last character to be selected, for example.
	
        if {$roundUp && ($index < [dict get $entry numChars])} {
................................................................................
#     and updates xscroll accordingly.
#     May adjust xscroll.first to ensure the maximum #characters are onscreen.
#=========================================================================

::itcl::body tentryBase::EntryDoLayout {recordPtr} {
#puts stderr "entry::EntryDoLayout called!"
    set textLayout [dict get $entry textLayout]
    set leftIndex [dict get $entry xscroll first]
    set layout [dict get $core layout]
    ntk::classes::layout::PlaceLayout layout [dict get $core state] [list [dict get $core x] [dict get $core y] [dict get $core width] [dict get $core height]]
    dict set core layout $layout
    set textarea [::ntk::classes::layout::ClientRegion [dict get $core layout] textarea]
#puts stderr "EntryDoLayout!$textarea!"
    lassign $textarea textX textY textWidth textHeight
    # Center the text vertically within the available parcel:
................................................................................
#=========================================================================

::itcl::body tentryBase::EntryDisplay {args} {
#puts stderr "entry::EntryDisplay called!$args!"
    set textarea [::ntk::classes::layout::ClientRegion [dict get $core layout] textarea]
#puts stderr "EntryDisplay!$textarea!"
    lassign $textarea textX textY textWidth textHeight
    set leftIndex [dict get $entry xscroll first]
    set rightIndex [expr {[dict get $entry xscroll last] + 1}]
    set selFirst [dict get $entry selectFirst]
    set selFirst [dict get $entry selectLast]
#    set textarea [::ntk::classes::layout::ClientRegion [dict get $core layout] textarea]
    set showCursor [expr {[lsearch [dict get $core flags] cursorOn] >= 0 && \
        [EntryEditable] && \
	[dict get $entry insertPos] >= $leftIndex && \
	[dict get $entry insertPos] <= $rightIndex}]







<
<
<
<
<
<
<
<
<







 







|







 







|


|







 







|
|







 







|







 







|
|







237
238
239
240
241
242
243









244
245
246
247
248
249
250
...
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
...
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
...
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
...
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
...
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
#puts stderr "entry::EntryEditable called!"
    set val1 [lsearch [dict get $core state] stateDisabled]
    set val2 [lsearch [dict get $core state] stateReadonly]
#puts stderr "EntryEditable ret!$val1!$val2![expr {!(($val1 | $val2) >= 0)}]!"
    return [expr {!(($val1 | $val2) >= 0)}]
}










#================================ EntryBBoxCommand ============================
#     
#=========================================================================

::itcl::body tentryBase::EntryBBoxCommand {args} {
puts stderr "EntryBBoxCommand!$args!"
}
................................................................................
#=========================================================================

::itcl::body tentryBase::AdjustIndices {index nChars} {
    set g [expr {$nChars > 0}] ; # left gravity adjustment
    dict set entry insertPos [AdjustIndex [dict get $entry insertPos] $index $nChars]
    dict set entry selectFirst [AdjustIndex [dict get $entry selectFirst] $index $nChars]
    dict set entry selectLast [AdjustIndex [dict get $entry selectLast] [expr {$index + $g}] $nChars]
    dict set entry xscrollHandle xscroll first [AdjustIndex [dict get $entry xscrollHandle xscroll first] [expr {$index + $g}] $nChars]
    if {[dict get $entry selectLast] <= [dict get $entry selectFirst]} {
        dict set entry selectFirst -1
	dict set entry selectLast -1
    }
}

#================================ EntryDisplayString ============================
................................................................................
    end {
        set index [dict get $entry numChars]
      }
    insert {
        set index [dict get $entry insertPos]
      }
    left {
        set index [dict get $entry xscrollHandle xscroll first]
      }
    right {
        set index [dict get $entry xscrollHandle xscroll last]
      }
    sel.first {
        if {[dict get $entry selectFirst] < 0} {
            return -code error "selection isn't in widget [dict get $core tkwin]"
        }
	set index [dict get $entry selectFirst]
      }
................................................................................
           return -code error "bad entry index \"$idx\""
        }
        if {$x > $maxWidth} {
            set x $maxWidth
            set roundUp 1
        }
        set index [PointToChar [dict get $entry textLayout] [expr {$x - [dict get $entry layoutX]}] 0]
        if {$index < [dict get $entry xscrollHandle xscroll first]} {
            set index [dict get $entry xscrollHandle xscroll first]
        }
        # Special trick:  if the x-position was off-screen to the right,
        # round the index up to refer to the character just after the
        # last visible one on the screen.  This is needed to enable the
        # last character to be selected, for example.
	
        if {$roundUp && ($index < [dict get $entry numChars])} {
................................................................................
#     and updates xscroll accordingly.
#     May adjust xscroll.first to ensure the maximum #characters are onscreen.
#=========================================================================

::itcl::body tentryBase::EntryDoLayout {recordPtr} {
#puts stderr "entry::EntryDoLayout called!"
    set textLayout [dict get $entry textLayout]
    set leftIndex [dict get $entry xscrollHandle xscroll first]
    set layout [dict get $core layout]
    ntk::classes::layout::PlaceLayout layout [dict get $core state] [list [dict get $core x] [dict get $core y] [dict get $core width] [dict get $core height]]
    dict set core layout $layout
    set textarea [::ntk::classes::layout::ClientRegion [dict get $core layout] textarea]
#puts stderr "EntryDoLayout!$textarea!"
    lassign $textarea textX textY textWidth textHeight
    # Center the text vertically within the available parcel:
................................................................................
#=========================================================================

::itcl::body tentryBase::EntryDisplay {args} {
#puts stderr "entry::EntryDisplay called!$args!"
    set textarea [::ntk::classes::layout::ClientRegion [dict get $core layout] textarea]
#puts stderr "EntryDisplay!$textarea!"
    lassign $textarea textX textY textWidth textHeight
    set leftIndex [dict get $entry xscrollHandle xscroll first]
    set rightIndex [expr {[dict get $entry xscrollHandle xscroll last] + 1}]
    set selFirst [dict get $entry selectFirst]
    set selFirst [dict get $entry selectLast]
#    set textarea [::ntk::classes::layout::ClientRegion [dict get $core layout] textarea]
    set showCursor [expr {[lsearch [dict get $core flags] cursorOn] >= 0 && \
        [EntryEditable] && \
	[dict get $entry insertPos] >= $leftIndex && \
	[dict get $entry insertPos] <= $rightIndex}]

Changes to library/ntkTTreeview.tcl.

97
98
99
100
101
102
103

104
105
106
107
108
109
110
....
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077

1078

1079
1080
1081
1082
1083
1084
1085
....
1250
1251
1252
1253
1254
1255
1256















1257
1258
1259
1260
1261
1262
1263
....
1366
1367
1368
1369
1370
1371
1372



1373
1374
1375
1376
1377
1378
1379
1380
....
1540
1541
1542
1543
1544
1545
1546
1547














1548
1549
1550
1551
1552
1553
1554
....
1631
1632
1633
1634
1635
1636
1637
1638









1639
    public method TreeviewSelectionCommand {args} 
    public method TreeviewSetCommand {args} 
    public method TreeviewTagCommand {args}
    public method TreeviewXViewCommand {args}
    public method TreeviewYViewCommand {args}

    public method insert {args}

}

#================================ constructor ============================
#     
#=========================================================================

::itcl::body treeview::constructor {args} {
................................................................................
    if {$row >= [dict get $tree yscrollHandle yscroll first]} {
        DrawItem $item $depth $row
    }

    set itemInfo [dict get $tree items $item]
# FIXME!!! temporary
#puts stderr "== STATE!$item![dict get $itemInfo state]!"
if {[lsearch [dict get $itemInfo state] stateOpen] < 0} {
    dict lappend itemInfo state stateOpen
    dict set tree items $item $itemInfo
#puts stderr "=== itemInfo!$itemInfo!"
}

    set isOpen [lsearch [dict get $itemInfo state] stateOpen]

    if {$isOpen >= 0} {
#puts stderr "++++ isOpen!"
        return [DrawForest [dict get $itemInfo children] [expr {$depth + 1}] [expr {$row + 1}]]
    } else {
        return [expr {$row + 1}]
    }
}
................................................................................
    while {[llength $options] > 0} {
        set option [lindex $options 0]
        if {[llength $options] < 2} {
            return -code error "value for \"$option\" missing"
        }
        set value [lindex $options 1]
        dict set item optionsTable $option $value















#        lappend mask typeMask
        set options [lrange $options 2 end]
    }
}

#================================ InsertItem ============================
# InsertItem --
................................................................................
#    Tk_FreeSavedOptions(&savedOptions);
    if {[lsearch $mask itemOptionTagsChanged] >= 0} {
        dict set item tagset $newTagSet
    }
    if {[lsearch $mask itemOptionImageChanged] >= 0} {
        dict set item imagespec $newImageSpec
    }



    RedisplayWidget ""

#error:
#    Tk_RestoreSavedOptions(&savedOptions)
#    if (newTagSet) { Ttk_FreeTagSet(newTagSet); }
#    if (newImageSpec) { TtkFreeImageSpec(newImageSpec); }
#    return TCL_ERROR;
}
................................................................................
}

#================================ TreeviewItemCommand ============================
#     
#=========================================================================

::itcl::body treeview::TreeviewItemCommand {args} {
puts stderr "TreeviewItemCommand!$args!"














}

#================================ TreeviewMoveCommand ============================
#     
#=========================================================================

::itcl::body treeview::TreeviewMoveCommand {args} {
................................................................................
#     
#=========================================================================

::itcl::body treeview::insert {args} {
#puts stderr "insert!$args!"
    TreeviewInsertCommand {*}$args
}










} ; # end namespace ::ntk::classes







>







 







|
|
|

<
>

>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>
>
|







 







|
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 








>
>
>
>
>
>
>
>
>

97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
....
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077

1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
....
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
....
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
....
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
....
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
    public method TreeviewSelectionCommand {args} 
    public method TreeviewSetCommand {args} 
    public method TreeviewTagCommand {args}
    public method TreeviewXViewCommand {args}
    public method TreeviewYViewCommand {args}

    public method insert {args}
    public method item {args}
}

#================================ constructor ============================
#     
#=========================================================================

::itcl::body treeview::constructor {args} {
................................................................................
    if {$row >= [dict get $tree yscrollHandle yscroll first]} {
        DrawItem $item $depth $row
    }

    set itemInfo [dict get $tree items $item]
# FIXME!!! temporary
#puts stderr "== STATE!$item![dict get $itemInfo state]!"
#if {[lsearch [dict get $itemInfo state] stateOpen] < 0} {
#    dict lappend itemInfo state stateOpen
#    dict set tree items $item $itemInfo
#puts stderr "=== itemInfo!$itemInfo!"

#}
    set isOpen [lsearch [dict get $itemInfo state] stateOpen]
#puts stderr "++++ isOpen!$isOpen!$itemInfo!"
    if {$isOpen >= 0} {
#puts stderr "++++ isOpen!"
        return [DrawForest [dict get $itemInfo children] [expr {$depth + 1}] [expr {$row + 1}]]
    } else {
        return [expr {$row + 1}]
    }
}
................................................................................
    while {[llength $options] > 0} {
        set option [lindex $options 0]
        if {[llength $options] < 2} {
            return -code error "value for \"$option\" missing"
        }
        set value [lindex $options 1]
        dict set item optionsTable $option $value
	if {$option eq "-open"} {
            if {$value} {
                if {[lsearch [dict get $item state] stateOpen] < 0} {
                    dict lappend item state stateOpen
		}
	    } else {
               set state [dict get $item state]
                set idx [lsearch $state stateOpen]
                if {$idx >= 0} {
		    set state [lreplace $state $idx $idx]
                    dict set item state $state
		}
	    }
	}
#puts stderr "item!$item!"
#        lappend mask typeMask
        set options [lrange $options 2 end]
    }
}

#================================ InsertItem ============================
# InsertItem --
................................................................................
#    Tk_FreeSavedOptions(&savedOptions);
    if {[lsearch $mask itemOptionTagsChanged] >= 0} {
        dict set item tagset $newTagSet
    }
    if {[lsearch $mask itemOptionImageChanged] >= 0} {
        dict set item imagespec $newImageSpec
    }
#puts stderr "CONF!$item!"
    set itemName [dict get $item entryPtr]
#    dict set tree items $itemName $item
#    RedisplayWidget ""

#error:
#    Tk_RestoreSavedOptions(&savedOptions)
#    if (newTagSet) { Ttk_FreeTagSet(newTagSet); }
#    if (newImageSpec) { TtkFreeImageSpec(newImageSpec); }
#    return TCL_ERROR;
}
................................................................................
}

#================================ TreeviewItemCommand ============================
#     
#=========================================================================

::itcl::body treeview::TreeviewItemCommand {args} {
#puts stderr "TreeviewItemCommand!$args!"
    set item [FindItem [lindex $args 0]]
#puts stderr "item!$item!"
    if {[llength $args] == 2} {
        return -code error "TreeviewItemCommand with 2 arguments not yet implemented"
    } else {
        if {[llength $args] == 3} {
#puts stderr "ItemCommand: [lrange $args 1 end]!"
            ConfigureItem item [lrange $args 1 end]
            dict set tree items [dict get $item entryPtr] $item
            RedisplayWidget ""
        } else {
            return -code error "item wrong # args: <item> ?option ?value??"
	}
    }
}

#================================ TreeviewMoveCommand ============================
#     
#=========================================================================

::itcl::body treeview::TreeviewMoveCommand {args} {
................................................................................
#     
#=========================================================================

::itcl::body treeview::insert {args} {
#puts stderr "insert!$args!"
    TreeviewInsertCommand {*}$args
}

#================================ item ============================
#     
#=========================================================================

::itcl::body treeview::item {args} {
#puts stderr "item!$args!"
    TreeviewItemCommand {*}$args
}

} ; # end namespace ::ntk::classes

Changes to library/ntkTheme.tcl.

350
351
352
353
354
355
356

357
358
359
360
361
362
363
364

365
366
367
368
369
370
371

::itcl::body theme::FindLayoutTemplate {theme layoutName} {
#puts stderr "FindLayoutTemplate!$theme!$layoutName!"
    while {$theme ne ""} {
        set themeInfo [dict get $pkg themeTable $theme]
        set styleName [GetStyleName $theme $layoutName]
        set styleInfo [dict get $pkg themeTable $theme styleTable $styleName]

	while {$styleInfo ne ""} {
            set layoutTemplate [dict get $styleInfo layoutTemplate]
#puts stderr "styleName!$theme!$styleName!$layoutTemplate!"
            if {$layoutTemplate ne ""} {
#puts stderr "styleInfo4!found!$layoutName!$layoutTemplate!"
                return $layoutTemplate
	    }
	    set styleName [dict get $styleInfo parentStyle]

            set styleInfo [dict get $pkg themeTable $theme styleTable $styleName]
        }
        if {$theme ne ""} {
            set parentTheme [dict get $themeInfo parent]
            set theme [dict get $parentTheme name]
        }
    }







>








>







350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373

::itcl::body theme::FindLayoutTemplate {theme layoutName} {
#puts stderr "FindLayoutTemplate!$theme!$layoutName!"
    while {$theme ne ""} {
        set themeInfo [dict get $pkg themeTable $theme]
        set styleName [GetStyleName $theme $layoutName]
        set styleInfo [dict get $pkg themeTable $theme styleTable $styleName]
#puts stderr "styleTable![dict keys [dict get $pkg themeTable $theme styleTable]]!"
	while {$styleInfo ne ""} {
            set layoutTemplate [dict get $styleInfo layoutTemplate]
#puts stderr "styleName!$theme!$styleName!$layoutTemplate!"
            if {$layoutTemplate ne ""} {
#puts stderr "styleInfo4!found!$layoutName!$layoutTemplate!"
                return $layoutTemplate
	    }
	    set styleName [dict get $styleInfo parentStyle]
#puts stderr "styleName!$styleName!"
            set styleInfo [dict get $pkg themeTable $theme styleTable $styleName]
        }
        if {$theme ne ""} {
            set parentTheme [dict get $themeInfo parent]
            set theme [dict get $parentTheme name]
        }
    }

Changes to library/tclIndex.

11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
...
105
106
107
108
109
110
111







112
113
114
115
116
117
118
119
120
121
122
123

124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
...
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
...
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
...
415
416
417
418
419
420
421

422
423
424
425
426
427
428
429
430
...
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
...
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
...
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
...
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
...
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
set auto_index(::ntk::classes::LabelElement::MAX) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::LabelElement::MIN) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::LabelElement::ImageSetup) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::LabelElement::TextSetup) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::LabelElement::TextReqWidth) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::LabelElement::LabelSetup) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::LabelElement::InitializeOptionValues) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::LabelElement::labelElementConfigure) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::LabelElement::ElementSize) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::LabelElement::ElementDraw) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::FieldElement) [list source [file join $dir ntkFieldElement.tcl]]
set auto_index(::ntk::classes::FieldElement::InitializeOptionValues) [list source [file join $dir ntkFieldElement.tcl]]
set auto_index(::ntk::classes::FieldElement::ElementSize) [list source [file join $dir ntkFieldElement.tcl]]
set auto_index(::ntk::classes::FieldElement::ElementDraw) [list source [file join $dir ntkFieldElement.tcl]]
set auto_index(::ntk::panedwindow) [list source [file join $dir ntkTPanedwindow.tcl]]
................................................................................
set auto_index(::ntk::treeview::TreeviewDetachCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewDragCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewExistsCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewFocusCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewHeadingCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewIdentifyCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewIndexCommand) [list source [file join $dir ntkTTreeview.tcl]]







set auto_index(::ntk::treeview::TreeviewInsertCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewItemCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewMoveCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewNextCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewParentCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewPrevCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewSeeCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewSelectionCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewSetCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewTagCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewXViewCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewYViewCommand) [list source [file join $dir ntkTTreeview.tcl]]

set auto_index(::ntk::classes::init) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::init::init) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::init::RegisterElements) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::init::RegisterWidgets) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::init::RegisterThemes) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::init::init) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::init::RegisterElements) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::init::RegisterWidgets) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::init::RegisterThemes) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::FillElement) [list source [file join $dir ntkFillElement.tcl]]
set auto_index(::ntk::classes::FillElement::InitializeOptionValues) [list source [file join $dir ntkFillElement.tcl]]
set auto_index(::ntk::classes::FillElement::fillElementConfigure) [list source [file join $dir ntkFillElement.tcl]]
set auto_index(::ntk::classes::FillElement::ElementSize) [list source [file join $dir ntkFillElement.tcl]]
set auto_index(::ntk::classes::FillElement::ElementDraw) [list source [file join $dir ntkFillElement.tcl]]
set auto_index(::ntk::classes::widgetInfo) [list source [file join $dir ntkWidgetInfo.tcl]]
set auto_index(::ntk::classes::widgetInfo::MakeWindowExist) [list source [file join $dir ntkWidgetInfo.tcl]]
set auto_index(::ntk::classes::widgetInfo::registerWidget) [list source [file join $dir ntkWidgetInfo.tcl]]
set auto_index(::ntk::classes::widgetInfo::destroyWidget) [list source [file join $dir ntkWidgetInfo.tcl]]
set auto_index(::ntk::classes::widgetInfo::getCurrentTheme) [list source [file join $dir ntkWidgetInfo.tcl]]
................................................................................
set auto_index(::ntk::classes::tframeBase::BaseCleanup) [list source [file join $dir ntkTFrameBase.tcl]]
set auto_index(::ntk::classes::tframeBase::BaseInitialize) [list source [file join $dir ntkTFrameBase.tcl]]
set auto_index(::ntk::classes::tframeBase::BaseConfigure) [list source [file join $dir ntkTFrameBase.tcl]]
set auto_index(::ntk::classes::tframeBase::BasePostConfigure) [list source [file join $dir ntkTFrameBase.tcl]]
set auto_index(::ntk::classes::tframeBase::FrameConfigure) [list source [file join $dir ntkTFrameBase.tcl]]
set auto_index(::ntk::classes::ImageElement) [list source [file join $dir ntkImageElement.tcl]]
set auto_index(::ntk::classes::ImageElement::InitializeOptionValues) [list source [file join $dir ntkImageElement.tcl]]
set auto_index(::ntk::classes::ImageElement::imageElementConfigure) [list source [file join $dir ntkImageElement.tcl]]
set auto_index(::ntk::classes::ImageElement::ElementSize) [list source [file join $dir ntkImageElement.tcl]]
set auto_index(::ntk::classes::ImageElement::ElementDraw) [list source [file join $dir ntkImageElement.tcl]]
set auto_index(::ntk::menubutton) [list source [file join $dir ntkTMenubutton.tcl]]
set auto_index(::ntk::menubutton::constructor) [list source [file join $dir ntkTMenubutton.tcl]]
set auto_index(::ntk::classes::elements) [list source [file join $dir ntkElements.tcl]]
set auto_index(::ntk::classes::elements::Elements_Init) [list source [file join $dir ntkElements.tcl]]
set auto_index(::ntk::classes::elements::Elements_Init) [list source [file join $dir ntkElements.tcl]]
................................................................................
set auto_index(::ntk::classes::scroll) [list source [file join $dir ntkScroll.tcl]]
set auto_index(::ntk::classes::scroll::CreateScrollHandle) [list source [file join $dir ntkScroll.tcl]]
set auto_index(::ntk::classes::scroll::Scrolled) [list source [file join $dir ntkScroll.tcl]]
set auto_index(::ntk::classes::scroll::CreateScrollHandle) [list source [file join $dir ntkScroll.tcl]]
set auto_index(::ntk::classes::scroll::Scrolled) [list source [file join $dir ntkScroll.tcl]]
set auto_index(::ntk::classes::FocusElement) [list source [file join $dir ntkFocusElement.tcl]]
set auto_index(::ntk::classes::FocusElement::InitializeOptionValues) [list source [file join $dir ntkFocusElement.tcl]]
set auto_index(::ntk::classes::FocusElement::focusElementConfigure) [list source [file join $dir ntkFocusElement.tcl]]
set auto_index(::ntk::classes::FocusElement::ElementSize) [list source [file join $dir ntkFocusElement.tcl]]
set auto_index(::ntk::classes::FocusElement::ElementDraw) [list source [file join $dir ntkFocusElement.tcl]]
set auto_index(::ntk::classes::altTheme) [list source [file join $dir ntkAltTheme.tcl]]
set auto_index(::ntk::classes::altTheme::AltTheme_Init) [list source [file join $dir ntkAltTheme.tcl]]
set auto_index(::ntk::classes::altTheme::AltTheme_Init) [list source [file join $dir ntkAltTheme.tcl]]
set auto_index(::ntk::classes::layout) [list source [file join $dir ntkLayout.tcl]]
set auto_index(::ntk::classes::layout::MAX) [list source [file join $dir ntkLayout.tcl]]
................................................................................
set auto_index(::ntk::classes::bind::GetBinding) [list source [file join $dir ntkBind.tcl]]
set auto_index(::ntk::classes::bind::GetSequenceParts) [list source [file join $dir ntkBind.tcl]]
set auto_index(::ntk::classes::bind::copyBindings) [list source [file join $dir ntkBind.tcl]]
set auto_index(::ntk::classes::bind::BindEvent) [list source [file join $dir ntkBind.tcl]]
set auto_index(::ntk::classes::DownarrowElement) [list source [file join $dir ntkDownarrowElement.tcl]]
set auto_index(::ntk::classes::DownarrowElement::constructor) [list source [file join $dir ntkDownarrowElement.tcl]]
set auto_index(::ntk::classes::TreeitemIndicatorElement) [list source [file join $dir ntkTreeitemIndicatorElement.tcl]]

set auto_index(::ntk::classes::TreeitemIndicatorElement::InitializeOptionValues) [list source [file join $dir ntkTreeitemIndicatorElement.tcl]]
set auto_index(::ntk::classes::TreeitemIndicatorElement::indicatorElementConfigure) [list source [file join $dir ntkTreeitemIndicatorElement.tcl]]
set auto_index(::ntk::classes::TreeitemIndicatorElement::ElementSize) [list source [file join $dir ntkTreeitemIndicatorElement.tcl]]
set auto_index(::ntk::classes::TreeitemIndicatorElement::ElementDraw) [list source [file join $dir ntkTreeitemIndicatorElement.tcl]]
set auto_index(::ntk::classes::ThumbElement) [list source [file join $dir ntkThumbElement.tcl]]
set auto_index(::ntk::classes::ThumbElement::constructor) [list source [file join $dir ntkThumbElement.tcl]]
set auto_index(::ntk::classes::ThumbElement::InitializeOptionValues) [list source [file join $dir ntkThumbElement.tcl]]
set auto_index(::ntk::classes::ThumbElement::ElementSize) [list source [file join $dir ntkThumbElement.tcl]]
set auto_index(::ntk::classes::ThumbElement::ElementDraw) [list source [file join $dir ntkThumbElement.tcl]]
................................................................................
set auto_index(::ntk::classes::panedwindow) [list source [file join $dir ntkPanedwindow.tcl]]
set auto_index(::ntk::classes::panedwindow::Panedwindow_Init) [list source [file join $dir ntkPanedwindow.tcl]]
set auto_index(::ntk::classes::panedwindow::Panedwindow_Init) [list source [file join $dir ntkPanedwindow.tcl]]
set auto_index(::ntk::label) [list source [file join $dir ntkTLabel.tcl]]
set auto_index(::ntk::label::constructor) [list source [file join $dir ntkTLabel.tcl]]
set auto_index(::ntk::classes::TextElement) [list source [file join $dir ntkTextElement.tcl]]
set auto_index(::ntk::classes::TextElement::InitializeOptionValues) [list source [file join $dir ntkTextElement.tcl]]
set auto_index(::ntk::classes::TextElement::textElementConfigure) [list source [file join $dir ntkTextElement.tcl]]
set auto_index(::ntk::classes::TextElement::ElementSize) [list source [file join $dir ntkTextElement.tcl]]
set auto_index(::ntk::classes::TextElement::ElementDraw) [list source [file join $dir ntkTextElement.tcl]]
set auto_index(::ntk::classes::tentryBase) [list source [file join $dir ntkTEntryBase.tcl]]
set auto_index(::ntk::classes::tentryBase::UtfAtIndex) [list source [file join $dir ntkTEntryBase.tcl]]
set auto_index(::ntk::classes::tentryBase::NumUtfChars) [list source [file join $dir ntkTEntryBase.tcl]]
set auto_index(::ntk::classes::tentryBase::EntryValidateChange) [list source [file join $dir ntkTEntryBase.tcl]]
set auto_index(::ntk::classes::tentryBase::EntryNeedsValidation) [list source [file join $dir ntkTEntryBase.tcl]]
................................................................................
set auto_index(::ntk::classes::ArrowElement::InitializeOptionValues) [list source [file join $dir ntkArrowElement.tcl]]
set auto_index(::ntk::classes::ArrowElement::ArrowSize) [list source [file join $dir ntkArrowElement.tcl]]
set auto_index(::ntk::classes::ArrowElement::FillArrow) [list source [file join $dir ntkArrowElement.tcl]]
set auto_index(::ntk::classes::ArrowElement::ElementSize) [list source [file join $dir ntkArrowElement.tcl]]
set auto_index(::ntk::classes::ArrowElement::ElementDraw) [list source [file join $dir ntkArrowElement.tcl]]
set auto_index(::ntk::classes::SeparatorElement) [list source [file join $dir ntkSeparatorElement.tcl]]
set auto_index(::ntk::classes::SeparatorElement::InitializeOptionValues) [list source [file join $dir ntkSeparatorElement.tcl]]
set auto_index(::ntk::classes::SeparatorElement::separatorElementConfigure) [list source [file join $dir ntkSeparatorElement.tcl]]
set auto_index(::ntk::classes::SeparatorElement::ElementSize) [list source [file join $dir ntkSeparatorElement.tcl]]
set auto_index(::ntk::classes::SeparatorElement::ElementDraw) [list source [file join $dir ntkSeparatorElement.tcl]]
set auto_index(::ntk::button) [list source [file join $dir ntkTButton.tcl]]
set auto_index(::ntk::button::ButtonConfigure) [list source [file join $dir ntkTButton.tcl]]
set auto_index(::ntk::button::constructor) [list source [file join $dir ntkTButton.tcl]]
set auto_index(::ntk::button::ButtonConfigure) [list source [file join $dir ntkTButton.tcl]]
set auto_index(::ntk::button::ButtonInvoke) [list source [file join $dir ntkTButton.tcl]]
................................................................................
set auto_index(::ntk::classes::tagset) [list source [file join $dir ntkTagSet.tcl]]
set auto_index(::ntk::classes::tagset::TagSetValues) [list source [file join $dir ntkTagSet.tcl]]
set auto_index(::ntk::classes::tagset::TagSetApplyStyle) [list source [file join $dir ntkTagSet.tcl]]
set auto_index(::ntk::classes::tagset::TagSetValues) [list source [file join $dir ntkTagSet.tcl]]
set auto_index(::ntk::classes::tagset::TagSetApplyStyle) [list source [file join $dir ntkTagSet.tcl]]
set auto_index(::ntk::classes::SizegripElement) [list source [file join $dir ntkSizegripElement.tcl]]
set auto_index(::ntk::classes::SeparatorElement::InitializeOptionValues) [list source [file join $dir ntkSizegripElement.tcl]]
set auto_index(::ntk::classes::SizegripElement::SizegripElementConfigure) [list source [file join $dir ntkSizegripElement.tcl]]
set auto_index(::ntk::classes::SizegripElement::ElementSize) [list source [file join $dir ntkSizegripElement.tcl]]
set auto_index(::ntk::classes::SizegripElement::ElementDraw) [list source [file join $dir ntkSizegripElement.tcl]]
set auto_index(::ntk::classes::DiamondIndicatorElement) [list source [file join $dir ntkDiamondIndicatorElement.tcl]]
set auto_index(::ntk::classes::DiamondIndicatorElement::InitializeOptionValues) [list source [file join $dir ntkDiamondIndicatorElement.tcl]]
set auto_index(::ntk::classes::DiamondIndicatorElement::indicatorElementConfigure) [list source [file join $dir ntkDiamondIndicatorElement.tcl]]
set auto_index(::ntk::classes::DiamondIndicatorElement::ElementSize) [list source [file join $dir ntkDiamondIndicatorElement.tcl]]
set auto_index(::ntk::classes::DiamondIndicatorElement::ElementDraw) [list source [file join $dir ntkDiamondIndicatorElement.tcl]]
set auto_index(::ntk::classes::manager) [list source [file join $dir ntkManager.tcl]]
set auto_index(::ntk::classes::manager::CreateManager) [list source [file join $dir ntkManager.tcl]]
set auto_index(::ntk::classes::manager::DeleteManager) [list source [file join $dir ntkManager.tcl]]
set auto_index(::ntk::classes::manager::SlaveData) [list source [file join $dir ntkManager.tcl]]
set auto_index(::ntk::classes::manager::SetSlaveData) [list source [file join $dir ntkManager.tcl]]
................................................................................
set auto_index(::ntk::classes::baseElement::InitializeOptionValuesBase) [list source [file join $dir ntkBaseElement.tcl]]
set auto_index(::ntk::classes::TroughElement) [list source [file join $dir ntkTroughElement.tcl]]
set auto_index(::ntk::classes::TroughElement::constructor) [list source [file join $dir ntkTroughElement.tcl]]
set auto_index(::ntk::classes::TroughElement::InitializeOptionValues) [list source [file join $dir ntkTroughElement.tcl]]
set auto_index(::ntk::classes::TroughElement::ElementSize) [list source [file join $dir ntkTroughElement.tcl]]
set auto_index(::ntk::classes::TroughElement::ElementDraw) [list source [file join $dir ntkTroughElement.tcl]]
set auto_index(::ntk::classes::PaddingElement) [list source [file join $dir ntkPaddingElement.tcl]]
set auto_index(::ntk::classes::PaddingElement::paddingElementConfigure) [list source [file join $dir ntkPaddingElement.tcl]]
set auto_index(::ntk::classes::PaddingElement::InitializeOptionValues) [list source [file join $dir ntkPaddingElement.tcl]]
set auto_index(::ntk::classes::PaddingElement::ElementSize) [list source [file join $dir ntkPaddingElement.tcl]]
set auto_index(::ntk::classes::PaddingElement::ElementDraw) [list source [file join $dir ntkPaddingElement.tcl]]
set auto_index(::ntk::classes::TextareaElement) [list source [file join $dir ntkTextareaElement.tcl]]
set auto_index(::ntk::classes::TextareaElement::InitializeOptionValues) [list source [file join $dir ntkTextareaElement.tcl]]
set auto_index(::ntk::classes::TextareaElement::ElementSize) [list source [file join $dir ntkTextareaElement.tcl]]
set auto_index(::ntk::classes::TextareaElement::ElementDraw) [list source [file join $dir ntkTextareaElement.tcl]]
................................................................................
set auto_index(::ntk::classes::tbuttonBase::constructor) [list source [file join $dir ntkTButtonBase.tcl]]
set auto_index(::ntk::classes::tbuttonBase::BaseCleanup) [list source [file join $dir ntkTButtonBase.tcl]]
set auto_index(::ntk::classes::tbuttonBase::BaseInitialize) [list source [file join $dir ntkTButtonBase.tcl]]
set auto_index(::ntk::classes::tbuttonBase::BaseConfigure) [list source [file join $dir ntkTButtonBase.tcl]]
set auto_index(::ntk::classes::tbuttonBase::BasePostConfigure) [list source [file join $dir ntkTButtonBase.tcl]]
set auto_index(::ntk::classes::MenuIndicatorElement) [list source [file join $dir ntkMenuIndicatorElement.tcl]]
set auto_index(::ntk::classes::MenuIndicatorElement::InitializeOptionValues) [list source [file join $dir ntkMenuIndicatorElement.tcl]]
set auto_index(::ntk::classes::MenuIndicatorElement::indicatorElementConfigure) [list source [file join $dir ntkMenuIndicatorElement.tcl]]
set auto_index(::ntk::classes::MenuIndicatorElement::ElementSize) [list source [file join $dir ntkMenuIndicatorElement.tcl]]
set auto_index(::ntk::classes::MenuIndicatorElement::ElementDraw) [list source [file join $dir ntkMenuIndicatorElement.tcl]]
set auto_index(::ntk::classes::scrollbar) [list source [file join $dir ntkScrollbar.tcl]]
set auto_index(::ntk::classes::scrollbar::Scrollbar_Init) [list source [file join $dir ntkScrollbar.tcl]]
set auto_index(::ntk::classes::scrollbar::Scrollbar_Init) [list source [file join $dir ntkScrollbar.tcl]]
set auto_index(::ntk::classes::button) [list source [file join $dir ntkButton.tcl]]
set auto_index(::ntk::classes::button::Button_Init) [list source [file join $dir ntkButton.tcl]]
set auto_index(::ntk::classes::button::Button_Init) [list source [file join $dir ntkButton.tcl]]







<







 







>
>
>
>
>
>
>












>











<







 







<







 







<







 







>

<







 







|







 







<







 







<




<







 







<







 







<








11
12
13
14
15
16
17

18
19
20
21
22
23
24
...
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141

142
143
144
145
146
147
148
...
259
260
261
262
263
264
265

266
267
268
269
270
271
272
...
301
302
303
304
305
306
307

308
309
310
311
312
313
314
...
419
420
421
422
423
424
425
426
427

428
429
430
431
432
433
434
...
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
...
566
567
568
569
570
571
572

573
574
575
576
577
578
579
...
606
607
608
609
610
611
612

613
614
615
616

617
618
619
620
621
622
623
...
688
689
690
691
692
693
694

695
696
697
698
699
700
701
...
724
725
726
727
728
729
730

731
732
733
734
735
736
737
738
set auto_index(::ntk::classes::LabelElement::MAX) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::LabelElement::MIN) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::LabelElement::ImageSetup) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::LabelElement::TextSetup) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::LabelElement::TextReqWidth) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::LabelElement::LabelSetup) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::LabelElement::InitializeOptionValues) [list source [file join $dir ntkLabelElement.tcl]]

set auto_index(::ntk::classes::LabelElement::ElementSize) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::LabelElement::ElementDraw) [list source [file join $dir ntkLabelElement.tcl]]
set auto_index(::ntk::classes::FieldElement) [list source [file join $dir ntkFieldElement.tcl]]
set auto_index(::ntk::classes::FieldElement::InitializeOptionValues) [list source [file join $dir ntkFieldElement.tcl]]
set auto_index(::ntk::classes::FieldElement::ElementSize) [list source [file join $dir ntkFieldElement.tcl]]
set auto_index(::ntk::classes::FieldElement::ElementDraw) [list source [file join $dir ntkFieldElement.tcl]]
set auto_index(::ntk::panedwindow) [list source [file join $dir ntkTPanedwindow.tcl]]
................................................................................
set auto_index(::ntk::treeview::TreeviewDetachCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewDragCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewExistsCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewFocusCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewHeadingCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewIdentifyCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewIndexCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::ItemName) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::SetOptions) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::InsertItem) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::ConfigureItem) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::InsertPosition) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::EndPosition) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::FindItem) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewInsertCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewItemCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewMoveCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewNextCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewParentCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewPrevCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewSeeCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewSelectionCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewSetCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewTagCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewXViewCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::TreeviewYViewCommand) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::treeview::insert) [list source [file join $dir ntkTTreeview.tcl]]
set auto_index(::ntk::classes::init) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::init::init) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::init::RegisterElements) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::init::RegisterWidgets) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::init::RegisterThemes) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::init::init) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::init::RegisterElements) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::init::RegisterWidgets) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::init::RegisterThemes) [list source [file join $dir ntkInit.tcl]]
set auto_index(::ntk::classes::FillElement) [list source [file join $dir ntkFillElement.tcl]]
set auto_index(::ntk::classes::FillElement::InitializeOptionValues) [list source [file join $dir ntkFillElement.tcl]]

set auto_index(::ntk::classes::FillElement::ElementSize) [list source [file join $dir ntkFillElement.tcl]]
set auto_index(::ntk::classes::FillElement::ElementDraw) [list source [file join $dir ntkFillElement.tcl]]
set auto_index(::ntk::classes::widgetInfo) [list source [file join $dir ntkWidgetInfo.tcl]]
set auto_index(::ntk::classes::widgetInfo::MakeWindowExist) [list source [file join $dir ntkWidgetInfo.tcl]]
set auto_index(::ntk::classes::widgetInfo::registerWidget) [list source [file join $dir ntkWidgetInfo.tcl]]
set auto_index(::ntk::classes::widgetInfo::destroyWidget) [list source [file join $dir ntkWidgetInfo.tcl]]
set auto_index(::ntk::classes::widgetInfo::getCurrentTheme) [list source [file join $dir ntkWidgetInfo.tcl]]
................................................................................
set auto_index(::ntk::classes::tframeBase::BaseCleanup) [list source [file join $dir ntkTFrameBase.tcl]]
set auto_index(::ntk::classes::tframeBase::BaseInitialize) [list source [file join $dir ntkTFrameBase.tcl]]
set auto_index(::ntk::classes::tframeBase::BaseConfigure) [list source [file join $dir ntkTFrameBase.tcl]]
set auto_index(::ntk::classes::tframeBase::BasePostConfigure) [list source [file join $dir ntkTFrameBase.tcl]]
set auto_index(::ntk::classes::tframeBase::FrameConfigure) [list source [file join $dir ntkTFrameBase.tcl]]
set auto_index(::ntk::classes::ImageElement) [list source [file join $dir ntkImageElement.tcl]]
set auto_index(::ntk::classes::ImageElement::InitializeOptionValues) [list source [file join $dir ntkImageElement.tcl]]

set auto_index(::ntk::classes::ImageElement::ElementSize) [list source [file join $dir ntkImageElement.tcl]]
set auto_index(::ntk::classes::ImageElement::ElementDraw) [list source [file join $dir ntkImageElement.tcl]]
set auto_index(::ntk::menubutton) [list source [file join $dir ntkTMenubutton.tcl]]
set auto_index(::ntk::menubutton::constructor) [list source [file join $dir ntkTMenubutton.tcl]]
set auto_index(::ntk::classes::elements) [list source [file join $dir ntkElements.tcl]]
set auto_index(::ntk::classes::elements::Elements_Init) [list source [file join $dir ntkElements.tcl]]
set auto_index(::ntk::classes::elements::Elements_Init) [list source [file join $dir ntkElements.tcl]]
................................................................................
set auto_index(::ntk::classes::scroll) [list source [file join $dir ntkScroll.tcl]]
set auto_index(::ntk::classes::scroll::CreateScrollHandle) [list source [file join $dir ntkScroll.tcl]]
set auto_index(::ntk::classes::scroll::Scrolled) [list source [file join $dir ntkScroll.tcl]]
set auto_index(::ntk::classes::scroll::CreateScrollHandle) [list source [file join $dir ntkScroll.tcl]]
set auto_index(::ntk::classes::scroll::Scrolled) [list source [file join $dir ntkScroll.tcl]]
set auto_index(::ntk::classes::FocusElement) [list source [file join $dir ntkFocusElement.tcl]]
set auto_index(::ntk::classes::FocusElement::InitializeOptionValues) [list source [file join $dir ntkFocusElement.tcl]]

set auto_index(::ntk::classes::FocusElement::ElementSize) [list source [file join $dir ntkFocusElement.tcl]]
set auto_index(::ntk::classes::FocusElement::ElementDraw) [list source [file join $dir ntkFocusElement.tcl]]
set auto_index(::ntk::classes::altTheme) [list source [file join $dir ntkAltTheme.tcl]]
set auto_index(::ntk::classes::altTheme::AltTheme_Init) [list source [file join $dir ntkAltTheme.tcl]]
set auto_index(::ntk::classes::altTheme::AltTheme_Init) [list source [file join $dir ntkAltTheme.tcl]]
set auto_index(::ntk::classes::layout) [list source [file join $dir ntkLayout.tcl]]
set auto_index(::ntk::classes::layout::MAX) [list source [file join $dir ntkLayout.tcl]]
................................................................................
set auto_index(::ntk::classes::bind::GetBinding) [list source [file join $dir ntkBind.tcl]]
set auto_index(::ntk::classes::bind::GetSequenceParts) [list source [file join $dir ntkBind.tcl]]
set auto_index(::ntk::classes::bind::copyBindings) [list source [file join $dir ntkBind.tcl]]
set auto_index(::ntk::classes::bind::BindEvent) [list source [file join $dir ntkBind.tcl]]
set auto_index(::ntk::classes::DownarrowElement) [list source [file join $dir ntkDownarrowElement.tcl]]
set auto_index(::ntk::classes::DownarrowElement::constructor) [list source [file join $dir ntkDownarrowElement.tcl]]
set auto_index(::ntk::classes::TreeitemIndicatorElement) [list source [file join $dir ntkTreeitemIndicatorElement.tcl]]
set auto_index(::ntk::classes::UparrowElement::constructor) [list source [file join $dir ntkTreeitemIndicatorElement.tcl]]
set auto_index(::ntk::classes::TreeitemIndicatorElement::InitializeOptionValues) [list source [file join $dir ntkTreeitemIndicatorElement.tcl]]

set auto_index(::ntk::classes::TreeitemIndicatorElement::ElementSize) [list source [file join $dir ntkTreeitemIndicatorElement.tcl]]
set auto_index(::ntk::classes::TreeitemIndicatorElement::ElementDraw) [list source [file join $dir ntkTreeitemIndicatorElement.tcl]]
set auto_index(::ntk::classes::ThumbElement) [list source [file join $dir ntkThumbElement.tcl]]
set auto_index(::ntk::classes::ThumbElement::constructor) [list source [file join $dir ntkThumbElement.tcl]]
set auto_index(::ntk::classes::ThumbElement::InitializeOptionValues) [list source [file join $dir ntkThumbElement.tcl]]
set auto_index(::ntk::classes::ThumbElement::ElementSize) [list source [file join $dir ntkThumbElement.tcl]]
set auto_index(::ntk::classes::ThumbElement::ElementDraw) [list source [file join $dir ntkThumbElement.tcl]]
................................................................................
set auto_index(::ntk::classes::panedwindow) [list source [file join $dir ntkPanedwindow.tcl]]
set auto_index(::ntk::classes::panedwindow::Panedwindow_Init) [list source [file join $dir ntkPanedwindow.tcl]]
set auto_index(::ntk::classes::panedwindow::Panedwindow_Init) [list source [file join $dir ntkPanedwindow.tcl]]
set auto_index(::ntk::label) [list source [file join $dir ntkTLabel.tcl]]
set auto_index(::ntk::label::constructor) [list source [file join $dir ntkTLabel.tcl]]
set auto_index(::ntk::classes::TextElement) [list source [file join $dir ntkTextElement.tcl]]
set auto_index(::ntk::classes::TextElement::InitializeOptionValues) [list source [file join $dir ntkTextElement.tcl]]
set auto_index(::ntk::classes::TextElement::TextSetup) [list source [file join $dir ntkTextElement.tcl]]
set auto_index(::ntk::classes::TextElement::ElementSize) [list source [file join $dir ntkTextElement.tcl]]
set auto_index(::ntk::classes::TextElement::ElementDraw) [list source [file join $dir ntkTextElement.tcl]]
set auto_index(::ntk::classes::tentryBase) [list source [file join $dir ntkTEntryBase.tcl]]
set auto_index(::ntk::classes::tentryBase::UtfAtIndex) [list source [file join $dir ntkTEntryBase.tcl]]
set auto_index(::ntk::classes::tentryBase::NumUtfChars) [list source [file join $dir ntkTEntryBase.tcl]]
set auto_index(::ntk::classes::tentryBase::EntryValidateChange) [list source [file join $dir ntkTEntryBase.tcl]]
set auto_index(::ntk::classes::tentryBase::EntryNeedsValidation) [list source [file join $dir ntkTEntryBase.tcl]]
................................................................................
set auto_index(::ntk::classes::ArrowElement::InitializeOptionValues) [list source [file join $dir ntkArrowElement.tcl]]
set auto_index(::ntk::classes::ArrowElement::ArrowSize) [list source [file join $dir ntkArrowElement.tcl]]
set auto_index(::ntk::classes::ArrowElement::FillArrow) [list source [file join $dir ntkArrowElement.tcl]]
set auto_index(::ntk::classes::ArrowElement::ElementSize) [list source [file join $dir ntkArrowElement.tcl]]
set auto_index(::ntk::classes::ArrowElement::ElementDraw) [list source [file join $dir ntkArrowElement.tcl]]
set auto_index(::ntk::classes::SeparatorElement) [list source [file join $dir ntkSeparatorElement.tcl]]
set auto_index(::ntk::classes::SeparatorElement::InitializeOptionValues) [list source [file join $dir ntkSeparatorElement.tcl]]

set auto_index(::ntk::classes::SeparatorElement::ElementSize) [list source [file join $dir ntkSeparatorElement.tcl]]
set auto_index(::ntk::classes::SeparatorElement::ElementDraw) [list source [file join $dir ntkSeparatorElement.tcl]]
set auto_index(::ntk::button) [list source [file join $dir ntkTButton.tcl]]
set auto_index(::ntk::button::ButtonConfigure) [list source [file join $dir ntkTButton.tcl]]
set auto_index(::ntk::button::constructor) [list source [file join $dir ntkTButton.tcl]]
set auto_index(::ntk::button::ButtonConfigure) [list source [file join $dir ntkTButton.tcl]]
set auto_index(::ntk::button::ButtonInvoke) [list source [file join $dir ntkTButton.tcl]]
................................................................................
set auto_index(::ntk::classes::tagset) [list source [file join $dir ntkTagSet.tcl]]
set auto_index(::ntk::classes::tagset::TagSetValues) [list source [file join $dir ntkTagSet.tcl]]
set auto_index(::ntk::classes::tagset::TagSetApplyStyle) [list source [file join $dir ntkTagSet.tcl]]
set auto_index(::ntk::classes::tagset::TagSetValues) [list source [file join $dir ntkTagSet.tcl]]
set auto_index(::ntk::classes::tagset::TagSetApplyStyle) [list source [file join $dir ntkTagSet.tcl]]
set auto_index(::ntk::classes::SizegripElement) [list source [file join $dir ntkSizegripElement.tcl]]
set auto_index(::ntk::classes::SeparatorElement::InitializeOptionValues) [list source [file join $dir ntkSizegripElement.tcl]]

set auto_index(::ntk::classes::SizegripElement::ElementSize) [list source [file join $dir ntkSizegripElement.tcl]]
set auto_index(::ntk::classes::SizegripElement::ElementDraw) [list source [file join $dir ntkSizegripElement.tcl]]
set auto_index(::ntk::classes::DiamondIndicatorElement) [list source [file join $dir ntkDiamondIndicatorElement.tcl]]
set auto_index(::ntk::classes::DiamondIndicatorElement::InitializeOptionValues) [list source [file join $dir ntkDiamondIndicatorElement.tcl]]

set auto_index(::ntk::classes::DiamondIndicatorElement::ElementSize) [list source [file join $dir ntkDiamondIndicatorElement.tcl]]
set auto_index(::ntk::classes::DiamondIndicatorElement::ElementDraw) [list source [file join $dir ntkDiamondIndicatorElement.tcl]]
set auto_index(::ntk::classes::manager) [list source [file join $dir ntkManager.tcl]]
set auto_index(::ntk::classes::manager::CreateManager) [list source [file join $dir ntkManager.tcl]]
set auto_index(::ntk::classes::manager::DeleteManager) [list source [file join $dir ntkManager.tcl]]
set auto_index(::ntk::classes::manager::SlaveData) [list source [file join $dir ntkManager.tcl]]
set auto_index(::ntk::classes::manager::SetSlaveData) [list source [file join $dir ntkManager.tcl]]
................................................................................
set auto_index(::ntk::classes::baseElement::InitializeOptionValuesBase) [list source [file join $dir ntkBaseElement.tcl]]
set auto_index(::ntk::classes::TroughElement) [list source [file join $dir ntkTroughElement.tcl]]
set auto_index(::ntk::classes::TroughElement::constructor) [list source [file join $dir ntkTroughElement.tcl]]
set auto_index(::ntk::classes::TroughElement::InitializeOptionValues) [list source [file join $dir ntkTroughElement.tcl]]
set auto_index(::ntk::classes::TroughElement::ElementSize) [list source [file join $dir ntkTroughElement.tcl]]
set auto_index(::ntk::classes::TroughElement::ElementDraw) [list source [file join $dir ntkTroughElement.tcl]]
set auto_index(::ntk::classes::PaddingElement) [list source [file join $dir ntkPaddingElement.tcl]]

set auto_index(::ntk::classes::PaddingElement::InitializeOptionValues) [list source [file join $dir ntkPaddingElement.tcl]]
set auto_index(::ntk::classes::PaddingElement::ElementSize) [list source [file join $dir ntkPaddingElement.tcl]]
set auto_index(::ntk::classes::PaddingElement::ElementDraw) [list source [file join $dir ntkPaddingElement.tcl]]
set auto_index(::ntk::classes::TextareaElement) [list source [file join $dir ntkTextareaElement.tcl]]
set auto_index(::ntk::classes::TextareaElement::InitializeOptionValues) [list source [file join $dir ntkTextareaElement.tcl]]
set auto_index(::ntk::classes::TextareaElement::ElementSize) [list source [file join $dir ntkTextareaElement.tcl]]
set auto_index(::ntk::classes::TextareaElement::ElementDraw) [list source [file join $dir ntkTextareaElement.tcl]]
................................................................................
set auto_index(::ntk::classes::tbuttonBase::constructor) [list source [file join $dir ntkTButtonBase.tcl]]
set auto_index(::ntk::classes::tbuttonBase::BaseCleanup) [list source [file join $dir ntkTButtonBase.tcl]]
set auto_index(::ntk::classes::tbuttonBase::BaseInitialize) [list source [file join $dir ntkTButtonBase.tcl]]
set auto_index(::ntk::classes::tbuttonBase::BaseConfigure) [list source [file join $dir ntkTButtonBase.tcl]]
set auto_index(::ntk::classes::tbuttonBase::BasePostConfigure) [list source [file join $dir ntkTButtonBase.tcl]]
set auto_index(::ntk::classes::MenuIndicatorElement) [list source [file join $dir ntkMenuIndicatorElement.tcl]]
set auto_index(::ntk::classes::MenuIndicatorElement::InitializeOptionValues) [list source [file join $dir ntkMenuIndicatorElement.tcl]]

set auto_index(::ntk::classes::MenuIndicatorElement::ElementSize) [list source [file join $dir ntkMenuIndicatorElement.tcl]]
set auto_index(::ntk::classes::MenuIndicatorElement::ElementDraw) [list source [file join $dir ntkMenuIndicatorElement.tcl]]
set auto_index(::ntk::classes::scrollbar) [list source [file join $dir ntkScrollbar.tcl]]
set auto_index(::ntk::classes::scrollbar::Scrollbar_Init) [list source [file join $dir ntkScrollbar.tcl]]
set auto_index(::ntk::classes::scrollbar::Scrollbar_Init) [list source [file join $dir ntkScrollbar.tcl]]
set auto_index(::ntk::classes::button) [list source [file join $dir ntkButton.tcl]]
set auto_index(::ntk::classes::button::Button_Init) [list source [file join $dir ntkButton.tcl]]
set auto_index(::ntk::classes::button::Button_Init) [list source [file join $dir ntkButton.tcl]]

Changes to nt1.tcl.

24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
..
67
68
69
70
71
72
73





74
75
76
77
78
79
80
::gles2::swapbuffers

set depth 0
if {[llength $argv] > 0} {
    set depth [lindex $argv 0]
}
puts stderr "depth!$depth!"
if {1} {
#set ::tb1 [::ntk::button .b1 -text HelloB -depth $depth]
#puts stderr "button created!$::tb1!"
#::ntk::classes::place::place $::tb1 30 0

#::ntk::classes::theme::ThemeUse classic
#set ::tmb1 [::ntk::menubutton .mb1 -text HelloMB -depth $depth]
#::ntk::classes::place::place $::tmb1 30 0
................................................................................
set ::ttv1 [::ntk::treeview .ttv1 -columns [list a b c]]
::ntk::classes::place::place $::ttv1 30 0
$::ttv1 insert {} end -id newnode -text "New node"
$::ttv1 insert newnode 0 -id newnode.n1 -text "Foo1"
$::ttv1 insert newnode 0 -id newnode.n2 -text "Foo2"

set ch [read stdin 1]





#$::te1 insert insert "abc"
#$::tcb1 insert insert "abc"
#set ch [read stdin 1]
#$::te1 insert insert "def"
#$::tcb1 insert insert "abc"
#set ch [read stdin 1]
#$::te1 insert insert "ghi123"







|







 







>
>
>
>
>







24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
..
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
::gles2::swapbuffers

set depth 0
if {[llength $argv] > 0} {
    set depth [lindex $argv 0]
}
puts stderr "depth!$depth!"
if {0} {
#set ::tb1 [::ntk::button .b1 -text HelloB -depth $depth]
#puts stderr "button created!$::tb1!"
#::ntk::classes::place::place $::tb1 30 0

#::ntk::classes::theme::ThemeUse classic
#set ::tmb1 [::ntk::menubutton .mb1 -text HelloMB -depth $depth]
#::ntk::classes::place::place $::tmb1 30 0
................................................................................
set ::ttv1 [::ntk::treeview .ttv1 -columns [list a b c]]
::ntk::classes::place::place $::ttv1 30 0
$::ttv1 insert {} end -id newnode -text "New node"
$::ttv1 insert newnode 0 -id newnode.n1 -text "Foo1"
$::ttv1 insert newnode 0 -id newnode.n2 -text "Foo2"

set ch [read stdin 1]
$::ttv1 item newnode -open 1
set ch [read stdin 1]
$::ttv1 item newnode -open 0
set ch [read stdin 1]

#$::te1 insert insert "abc"
#$::tcb1 insert insert "abc"
#set ch [read stdin 1]
#$::te1 insert insert "def"
#$::tcb1 insert insert "abc"
#set ch [read stdin 1]
#$::te1 insert insert "ghi123"