summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortreectrl <treectrl>2006-10-14 20:24:07 (GMT)
committertreectrl <treectrl>2006-10-14 20:24:07 (GMT)
commit853a45cdc2f87b114d8d9fb2f22fe8f5e638b17f (patch)
treed0b7b4acccb5337a99fb8ed4a60d1b81d7606fbb
parentfa71297eae35de764f1115024d7fad48ed43cc38 (diff)
downloadtktreectrl-853a45cdc2f87b114d8d9fb2f22fe8f5e638b17f.zip
tktreectrl-853a45cdc2f87b114d8d9fb2f22fe8f5e638b17f.tar.gz
tktreectrl-853a45cdc2f87b114d8d9fb2f22fe8f5e638b17f.tar.bz2
Added a right-locked column.
-rw-r--r--demos/column-lock.tcl60
1 files changed, 47 insertions, 13 deletions
diff --git a/demos/column-lock.tcl b/demos/column-lock.tcl
index f647df9..9ae80fb 100644
--- a/demos/column-lock.tcl
+++ b/demos/column-lock.tcl
@@ -1,4 +1,4 @@
-# RCS: @(#) $Id: column-lock.tcl,v 1.1 2006/10/11 01:42:45 treectrl Exp $
+# RCS: @(#) $Id: column-lock.tcl,v 1.2 2006/10/14 20:24:07 treectrl Exp $
proc DemoColumnLock {} {
@@ -6,6 +6,8 @@ proc DemoColumnLock {} {
set T .f2.f1.t
+ InitPics *checked
+
#
# Configure the treectrl widget
#
@@ -24,12 +26,14 @@ proc DemoColumnLock {} {
for {set i 0} {$i < 100} {incr i} {
$T column create -text "C$i" -tags C$i -width [expr {40 + 20 * ($i % 2)}] -justify center
}
- $T column configure C0 -lock left -width ""
+ $T column configure first -lock left -width ""
+ $T column configure last -lock right -width ""
+ $T state define CHECK
$T state define mouseover
#
- # Create row labels
+ # Create styles for the left-locked column, and create items
#
$T element create label1.bg rect -fill {gray80 mouseover gray {}}
@@ -74,7 +78,7 @@ proc DemoColumnLock {} {
$T element create label4.rect rect -fill {#e0e8f0 mouseover}
$T element create label4.text text
- $T element create label4.w window -clip yes
+ $T element create label4.w window -clip yes -destroy yes
$T style create label4 -orient vertical
$T style elements label4 {label4.rect label4.text label4.w}
$T style layout label4 label4.rect -detach yes -iexpand xy
@@ -92,33 +96,63 @@ proc DemoColumnLock {} {
}
#
- # Create elements
+ # Create styles for the right-locked column
#
- $T element create eRect rect -outline gray -outlinewidth 1 -open wn \
- -fill {gray80 mouseover}
+ $T element create labelR1.bg rect -fill {gray80 mouseover gray {}}
+ $T element create labelR1.img image -image {checked CHECK unchecked {}}
+ $T style create labelR1 -orient horizontal
+ $T style elements labelR1 {labelR1.bg labelR1.img}
+ $T style layout labelR1 labelR1.bg -detach yes -iexpand xy
+ $T style layout labelR1 labelR1.img -expand news -padx 2 -pady 2
+
+ $T element create labelR2.bd border -background $::SystemButtonFace \
+ -relief raised -thickness 2 -filled yes
+ $T element create labelR2.img image -image {checked CHECK unchecked {}}
+ $T style create labelR2 -orient horizontal
+ $T style elements labelR2 {labelR2.bd labelR2.img}
+ $T style layout labelR2 labelR2.bd -detach yes -iexpand xy
+ $T style layout labelR2 labelR2.img -expand news -padx 2 -pady 2
+
+ $T element create labelR3.div rect -fill black -height 2
+ $T element create labelR3.img image -image {checked CHECK unchecked {}}
+ $T style create labelR3 -orient horizontal
+ $T style elements labelR3 {labelR3.div labelR3.img}
+ $T style layout labelR3 labelR3.div -detach yes -expand n -iexpand x
+ $T style layout labelR3 labelR3.img -expand news -padx 2 -pady 2
+
+ $T element create labelR4.rect rect -fill {#e0e8f0 mouseover}
+ $T element create labelR4.img image -image {checked CHECK unchecked {}}
+ $T style create labelR4 -orient vertical
+ $T style elements labelR4 {labelR4.rect labelR4.img}
+ $T style layout labelR4 labelR4.rect -detach yes -iexpand xy
+ $T style layout labelR4 labelR4.img -expand news -padx 2 -pady 2
+
+ $T item style set {range 1 10} last labelR1
+ $T item style set {range 11 20} last labelR2
+ $T item style set {range 21 30} last labelR3
+ $T item style set {range 31 40} last labelR4
#
- # Create styles using the elements
+ # Create styles for the non-locked columns
#
+ $T element create eRect rect -outline gray -outlinewidth 1 -open wn \
+ -fill {gray80 mouseover}
$T style create s1 -orient horizontal
$T style elements s1 eRect
$T style layout s1 eRect -detach yes -iexpand xy
$T element create windowStyle.rect rect -fill {#e0e8f0 mouseover}
$T element create windowStyle.text text
-$T element create windowStyle.w window -clip yes
+$T element create windowStyle.w window -clip yes -destroy yes
$T style create windowStyle -orient vertical
$T style elements windowStyle {windowStyle.rect windowStyle.text windowStyle.w}
$T style layout windowStyle windowStyle.rect -detach yes -iexpand xy
$T style layout windowStyle windowStyle.text -expand we -padx 2 -pady 2
$T style layout windowStyle windowStyle.w -iexpand x -padx 2 -pady {0 2}
- #
- # Create items and assign styles
- #
- foreach C [lrange [$T column list] 1 end] {
+ foreach C [lrange [$T column list] 1 end-1] {
$T item style set "root children" $C s1
$T item style set 1 $C windowStyle
set clip [frame $T.clip1$C -borderwidth 0]