source: trunk/gui/apps/table @ 1614

Last change on this file since 1614 was 1212, checked in by wwinthan, 16 years ago

update to table view of result

  • Property svn:executable set to *
File size: 9.5 KB
Line 
1package require Rappture
2package require RapptureGUI
3
4
5#####TK code #####
6package require fileutil
7proc is_xml {name} {return [string match *.xml $name]}
8
9######Starting main tk code ######
10
11##################
12package require BLT
13if { $tcl_version >= 8.0 } {
14        namespace import blt::*
15        namespace import -force blt::tile::*
16}
17proc SortColumn { column } {
18        set old [.t sort cget -column]
19        set decreasing 0
20        if { "$old" == "$column" } {
21                set decreasing [.t sort cget -decreasing]
22                set decreasing [expr !$decreasing]
23        }
24        .t sort configure -decreasing $decreasing -column $column -mode integer
25        if { ![.t cget -flat] } {
26                .t configure -flat yes
27        }
28        .t sort auto yes
29        blt::busy hold .t
30        update
31        blt::busy release .t
32}
33proc resulttable {cmpfiles} {
34#/////////////creating xml tables for each xml run files go here/////////////////
35set tree2 [tree create]
36treeview .k \
37        -width 0 \
38        -yscrollcommand { .vvvs set } \
39        -xscrollcommand { .hhhs set } \
40        -selectmode single \
41        -tree $tree2
42.k column configure treeView -text ""
43.k column configure treeView -hide no -edit no -icon blt::tv::normalOpenFolder
44focus .k
45scrollbar .vvvs -orient vertical -command { .k yview }
46scrollbar .hhhs -orient vertical -command { .k xview }
47
48table . \
49    0,0 .k -fill both \
50    0,1 .vvvs -fill y \
51    1,0 .hhhs -fill x
52table configure . c1 r1 -resize none
53
54###################################################################################
55set flags [list] 
56#$cmpfiles
57set filelen [llength $cmpfiles]
58set biglist [list]
59
60set memberlist [list]
61set contentlist [list]
62#set inputmemberlist [list]
63#set outputmemberlist [list]
64set counter 0
65foreach filename $cmpfiles {
66set temp [list]
67set tempfile [list]
68set filetail [file tail $filename]
69lappend temp $filetail
70#lappend biglist $filetail
71lappend tempfile $filetail
72unset filetail
73set lib [Rappture::library $filename]
74set input1 [$lib children -as component "input"]
75set temp1 ".current"
76set ttemp "input."
77        foreach eachinputline $input1 {
78                set temp2 $eachinputline$temp1
79                set ttemp2 $ttemp$temp2
80                if {$counter==0} {     
81                        lappend memberlist $ttemp2
82                }
83                set temp3 [$lib get $ttemp2]
84                #puts hello
85                #puts $temp2
86                puts value
87                puts $temp3
88                lappend contentlist $temp3
89                #lappend biglist $temp3
90                #lappend temp $temp3
91                #unset temp3
92                #unset temp2
93           }
94unset ttemp
95set ttemp "output."
96        set output1 [$lib children -as component "output"]
97        foreach eachoutputline $output1 {
98                set temp2 $eachoutputline$temp1
99                set ttemp2 $ttemp$temp2
100                set temp3 [$lib get $ttemp2]
101                if {"" != $temp3} {
102                        puts output
103                #       puts $temp2
104                        puts value
105                       
106                #       puts $temp3
107                #       lappend temp $temp3
108                        #lappend biglist $temp3
109                        lappend contentlist $temp3
110                        unset temp3
111                        unset temp2
112                        if {$counter ==0} {
113                                lappend memberlist $ttemp2
114                                }
115                }
116        }
117        lappend tempfile $contentlist
118        unset contentlist
119        lappend biglist $tempfile
120        incr counter;
121    }
122    puts memberlist
123    puts $memberlist
124    puts bigliststarthere
125    puts $biglist
126    ################Adding columns to table###########################################
127    set memberlen [llength $memberlist]
128#    .k column insert end "filename" -text "File Name"
129    for { set j 0} {$j < $memberlen} {incr j} {
130        set temp [lindex $memberlist $j]
131        puts memberlist
132        puts $memberlist
133        puts temp
134        puts $temp
135        puts len
136        puts $memberlen
137        if { "" == $temp } {
138        #.k column insert end $temp -text $temp
139        continue
140        }
141        .k column insert end $temp -text $temp
142    }
143    #######Comparing XML Tree comes here#######
144        set count 0     
145        set element1 [lindex $biglist 0]
146        set name1 [lindex $element1 0]
147        set content1 [lindex $element1 1]
148        foreach element2 $biglist {
149                if {$count !=0} {
150                foreach {name2 content2} $element2 {
151                        set contentlen [llength $content2]
152                        for {set i 0} {$i < $contentlen} {incr i} {
153                                puts insideforloop
154                                set similarexisted 0 
155                                if {[lindex $content1 $i] eq [lindex $content2 $i]} {
156                                puts insidesame
157                                } else {
158                                        puts insidediff
159                                        lappend flags 1
160                                        continue
161                                }
162                                if { $similarexisted == 0 } {
163                                        lappend flags 0
164                                }
165                        }
166                }
167            }
168            incr count
169        }
170        ################################
171        foreach element1 $biglist {
172                set list_content [list]
173                set name [lindex $element1 0]
174                set id [.k insert end $name]
175                set content [lindex $element1 1]
176                foreach ele1 $memberlist ele2 $content flag $flags {
177                        lappend list_content $ele1
178                       
179                        if { $flag == 0} {
180                        lappend list_content "Same"
181                        } else {
182                        lappend list_content $ele2
183                        }
184                }
185                puts [llength $list_content]
186                puts $list_content
187                .k entry configure $id -data $list_content
188        }
189#       set templist [list]
190#       lappend templist "input.number(n1).current"
191#       lappend templist "h"
192#       lappend templist "input.number(n2).current"
193#       lappend templist "i"
194#       lappend templist "output.number(sum).current"
195#       lappend templist "k"
196#       .k entry configure $id -data $templist
197        #.k entry configure $id -data [list input.number(n1).current "h" input.number(n2).current "i" output.number(sum).current "k"]
198       
199}
200
201proc newtable {appname} {
202global twofiles tree1
203set twofiles [list]
204#set length [llength $twofiles]
205#puts $length
206puts $twofiles
207set tree1 [tree create]
208treeview .h \
209        -width 0 \
210        -yscrollcommand { .vvs set } \
211        -xscrollcommand { .hhs set } \
212        -selectmode single \
213        -tree $tree1
214.h column configure treeView -text ""
215.h column configure treeView -hide yes -edit no -icon blt::tv::normalOpenFolder
216focus .h
217scrollbar .vvs -orient vertical -command { .h yview }
218scrollbar .hhs -orient horizontal -command { .h xview }
219
220.h style checkbox mycheck -onvalue "yes" -offvalue "no" -showvalue yes
221.h column insert end select -text "Select" -edit yes -style mycheck
222
223
224table . \
225    0,0 .h  -fill both \
226    0,1 .vvs -fill y \
227    1,0 .hhs -fill x
228table configure . c1 r1 -resize none
229
230###Starting tk code
231.h column insert end "tname" -text "Tool Name"
232.h column insert end "date"  -text "Date"
233set files [fileutil::find /home/nanohub/wwinthan/data/results is_xml]
234if {$files == ""} {
235} else {
236        foreach line $files {
237        #########
238                set fileone [open $line]
239                set content [read $fileone]
240                close $fileone
241                regexp {<title>(.*)</title>} $content junk answer
242                regexp {<time>(.*)</time>} $content junk1 answer1
243                #########
244#               if {($params(-title) == "") || ($params(-title) == $answer)} {
245#                       set id [.t insert end $line]
246#                       .t entry configure $id -data [list tname $answer date $answer1]
247#               }
248#               
249#               set id [.h insert end $line]
250                if { $appname == $answer } {
251                set id [.h insert end $line]
252                        .h entry configure $id -data [list tname $answer date $answer1 select yes]
253                }
254                unset fileone
255                unset content
256        #       unset answer
257        #       unset answer1
258                unset junk
259                unset junk1
260                unset line
261         
262                if {"" == $answer} {
263                        set answer "no title"
264                }
265                if {"" == $answer1} {
266                        set answer1 "no found"
267                }
268        }
269        unset answer
270        unset answer1
271}
272.h bind all <ButtonRelease-1> {
273}
274
275
276
277
278button .compare -text "Compare" -command compare
279blt::table .  \
280   2,0 .compare -anchor e -columnspan 2
281
282proc compare {} {
283   global tree1
284   #declaring lists
285   set filename [list]
286   
287   foreach node [$tree1 children root] {
288      set label [$tree1 label $node]
289      set select [$tree1 get $node "select"]
290      set tname [$tree1 get $node "tname"]
291      #set filetail [file tail $label]
292      #puts FileTail
293      #puts $filetail
294      puts stderr "found at node $node: select=$select tname=$tname"
295      if { $select == "yes" } {
296        puts $label
297        lappend filename $label
298       }
299   }
300   set cmpfileslen [llength $filename]
301   resulttable $filename
302
303}
304########l###########
305#foreach column [.h column names] {
306#       .h column configure $column -command [list SortColumn $column]
307#}
308}
309###########################
310package require fileutil
311proc is_xml {name} { return [string match *.xml $name]}
312
313
314
315############################
316#proc passtitle {title} {
317proc startupcode {} {
318set tree [tree create]
319treeview .t \
320        -width 0 \
321        -yscrollcommand { .vs set } \
322        -xscrollcommand { .hs set } \
323        -selectmode single \
324        -tree $tree
325.t column configure treeView -text ""
326.t column configure treeView -hide yes -edit no -icon blt::tv::normalOpenFolder
327focus .t
328scrollbar .vs -orient vertical -command { .t yview }
329scrollbar .hs -orient horizontal -command { .t xview }
330table . \
331        0,0 .t -fill both \
332        0,1 .vs -fill y \
333        1,0 .hs -fill x
334table configure . c1 r1 -resize none
335.t column insert end "appname" -text "Application Name"
336.t column insert end "xmlfilename" -text "File Name"
337set files [fileutil::find  /home/nanohub/wwinthan/data/results is_xml]
338set appnamelist [list]
339if {$files == ""} {
340} else {
341        foreach line $files {
342                set existed "false"
343                set fileone [open $line]
344                set content [read $fileone]
345                close $fileone
346                regexp {<title>(.*)</title>} $content junk answer
347                puts rreturnrrr:
348                puts $answer
349               
350                foreach listcontent $appnamelist {
351                        puts Appname:
352                        puts $listcontent
353                        if {$answer == $listcontent} { set existed "true"}
354                       
355                #       puts $listcontent
356                #       puts answeris
357                #       puts $answer
358        }
359        puts $existed
360        if { $existed == "false" } {
361                set temp [file tail $line]
362                set id [.t insert end $line]
363                .t entry configure $id -data [list appname $answer xmlfilename $temp]
364                lappend appnamelist $answer
365                #puts listlistare
366                #puts $appnamelist
367        }
368        unset existed
369        unset fileone
370        unset content
371        unset answer
372        unset line
373        }
374        puts $appnamelist
375}
376
377.t bind all <ButtonRelease-1> {
378        set ids [.t curselection]
379        set name [eval .t get -full $ids]
380        set fileone [open $name]
381        set content [read $fileone]
382        close $fileone
383        regexp {<title>(.*)</title>} $content junk answer
384        #pass title and display the result in new page
385        newtable $answer
386        }
387}
388startupcode
389
390############################
391#blt::treeview .t
392#set node [.t insert end root "one"]
393#treeview .h -bg white
394#.h configure -background "green"
395#set id [.h insert end "myEntry"]
396
Note: See TracBrowser for help on using the repository browser.