set arr [$w.l subwidget arrow] ; tixBalloon $arr.bal ; $arr.bal bind $arr -msg "Last spots"
- ;#button $w.mdtv -image [tix getimage MatraDatavision] -command wokSeeLayout
- button $w.mdtv -image [image create photo -file $env(WOK_LIBRARY)/MdtvLogo33x120b.gif] -command wokSeeLayout
+ button $w.mdtv -image [image create photo -file $env(WOK_LIBRARY)/opencascade.gif] -command wokSeeLayout
tixBalloon $w.mdtv.bal
$w.mdtv.bal bind $w.mdtv -msg "See Layout"
set str [string range [lindex $e 3] 0 $nb]..
}
set x [split [lindex $e 5] ,]
- set dat [string range [fmtclock [lindex $x 0]] 4 18]
+ set dat [string range [clock format [lindex $x 0]] 4 18]
set siz [lindex $x 1]
lappend l [lreplace $e 3 3 [format "%-${fm}s %9s %14s" $str $siz $dat]]
}
set str [string range [lindex $e 3] 0 $nb]..
}
set x [split [lindex $e 5] ,]
- set dat [string range [fmtclock [lindex $x 0]] 4 18]
+ set dat [string range [clock format [lindex $x 0]] 4 18]
set siz [lindex $x 1]
lappend l [lreplace $e 3 3 [format "%-${fm}s %9s %14s" $str $siz $dat]]
}
set str [string range [lindex $e 3] 0 $nb]..
}
set x [split [lindex $e 5] ,]
- set dat [string range [fmtclock [lindex $x 0]] 4 18]
+ set dat [string range [clock format [lindex $x 0]] 4 18]
set siz [lindex $x 1]
lappend l [lreplace $e 3 3 [format "%-${fm}s %9s %14s" $str $siz $dat]]
}
/* XPM */
-static char * frontal_xpm[] = {
+static char * package_xpm[] = {
/* width height ncolors cpp [x_hot y_hot] */
-"24 26 29 1 0 0",
+"24 26 24 1 0 0",
/* colors */
" s none m none c none",
". s iconColor1 m black c black",
-"X c #333360605555",
-"o c #333340405555",
-"O c #333360600000",
-"+ c #66668080AAAA",
-"@ c #999980805555",
-"# c #000040405555",
-"$ c #CCCCDFDFFFFF",
-"% c #CCCCBFBFAAAA",
-"& c #FFFFDFDFAAAA",
-"* c #CCCCDFDFAAAA",
-"= c #FFFFBFBF0000",
-"- c #FFFF9F9F0000",
-"; s iconColor3 m black c red",
-": c #3333DFDF0000",
-"? c #3333BFBF5555",
-"> c #CCCCBFBFFFFF",
-", c #3333BFBF0000",
-"< c #33339F9FFFFF",
-"1 c #00008080FFFF",
-"2 c #00009F9FFFFF",
-"3 c #999940405555",
-"4 c #CCCC60600000",
-"5 c #CCCC80805555",
-"6 c #999960600000",
-"7 c #CCCC9F9F5555",
-"8 c #999960605555",
-"9 c #CCCC80800000",
+"X c #CCCC80805555",
+"o c #CCCC9F9F5555",
+"O c #CCCCBFBFAAAA",
+"+ c #CCCC20200000",
+"@ c #66668080AAAA",
+"# c #CCCC80800000",
+"$ c #9999BFBFFFFF",
+"% c #999980805555",
+"& c #999920205555",
+"* c #CCCC40400000",
+"= c #999960600000",
+"- c #999940405555",
+"; c #CCCC60600000",
+": c #999920200000",
+"? c #999960605555",
+"> c #33339F9F5555",
+", c #333380805555",
+"< c #333360600000",
+"1 c #000040405555",
+"2 c #333360605555",
+"3 c #333340405555",
+"4 c #00008080AAAA",
/* pixels */
" ",
" ",
-" .....XoXo ",
-" .....OoXoOoX+@+ ",
-" .....oX#XoX#X++++ ",
-" .....oXoXoXoX+@+@o@+ ",
-" ...XoXoXoX+++++X$%++ ",
-" ...oXoOo@+@+@+O$&%@+ ",
-" ......+++++X$*$=$%++ ",
-" ......@+X$&$---$&%@+ ",
-" ......+X$$$=--;:?%++ ",
-" ......@o&>-;;;:?,%@+ ",
-" ......+X;;;$?:$;$%++ ",
-" ......@o&;&$:$&;;%@+ ",
-" ......+X$$$<1$$&.+++ ",
-" ......@o<1<$&>.+@+. ",
-" ......+X2*$$..+++.. ",
-" ....@o&$.+@+.345. ",
-" ....+..+++.65.. ",
-" ..4...@+@+@.45.+@+ ",
-" .758..++.637.+++ ",
-" @+.593.39..+@+ ",
-" +++..587.+++ ",
-" @+@+.+@+ ",
-" ++++ ",
-" + "};
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ....Xo.. ",
+" ..X.O+@#X# ",
+" .$......oX ",
+" .%.#&..+&.X# ",
+" oX.Xo.*&+&*.oX ",
+" ..X#.#&+&+&.X# ",
+" =-=.oX+&*&+.oX ",
+" -;-.X#&+:+&.X#. ",
+" ??=.oX*&+&*.oX>. ",
+" -;-.X#&+&+&.,>,. ",
+" .=-=.oX+&*.>,.. ",
+" ..<-;-.X#&+.,,.@%@ ",
+" .>123..o.>4>.@@@ ",
+" %@.,>32,>..@%@ ",
+" @@@..>,>.@@@ ",
+" %@%@.@%@ ",
+" @@@@ ",
+" @ "};
puts stderr "Info : readtemplate : Template for MS project from [set loc /adv_20/KAS/C40/ros/src/OS/template.dsp]"
return [wokUtils:FILES:FileToString $loc]
}
-proc osutils:dsp:readtemplatex { } {
- puts stderr "Info : readtemplate : Template for MS project from [set loc /adv_20/KAS/C40/ros/src/OS/template.dspx]"
- return [wokUtils:FILES:FileToString $loc]
-}
proc osutils:am:readtemplate { } {
- puts stderr "Info : readtemplate : Template for Makefile.am from [set loc /adv_20/KAS/C40/ros/src/WOKTclLib/template.mam]"
+ puts stderr "Info : readtemplate : Template for Makefile.am from [set loc /adv_21/KAS/C40/yan/src/WOKTclLib/template.mam]"
return [wokUtils:FILES:FileToString $loc]
}
proc osutils:in:readtemplate { } {
- puts stderr "Info : readtemplate : Template for Makefile.in from [set loc /adv_20/KAS/C40/ros/src/WOKTclLib/template.min]"
+ puts stderr "Info : readtemplate : Template for Makefile.in from [set loc /adv_21/KAS/C40/yan/src/WOKTclLib/template.min]"
return [wokUtils:FILES:FileToString $loc]
}
return $var
}
;#
-;# An item for compiling a c++ class
;#
-proc osutils:dsp:fmtcpp { } {
- return {# ADD CPP /I ..\..\inc /I ..\..\drv\%s /I ..\..\src\%s /D "__%s_DLL"}
-}
;#
-;# An item for compiling a c++ main
-;#
-proc osutils:dsp:fmtcppx { } {
+proc osutils:dsp:fmtcpp { } {
return {# ADD CPP /I ..\..\inc /I ..\..\drv\%s /I ..\..\src\%s /D "__%s_DLL"}
}
;#
}
}
if { $l == {} } {
- ;#puts stderr "Warning. No devunit included in $tkloc"
+ puts stderr "Error. No devunit for $tkloc"
}
return $l
}
return
}
;#
-;# Returns the list of all compilable files name in a toolkit, or devunit of any type
+;# Returns the list of all compilable files name in a toolkit,
;# Call unit filter on units name to accept or reject a unit
-;# Tfiles lists for each unit the type of file that can be compiled.
;#
proc osutils:tk:files { tkloc {l_compilable {} } {justail 1} {unitfilter {}} } {
set Tfiles(source,package) {source derivated privinclude pubinclude drvfile}
set Tfiles(source,nocdlpack) {source pubinclude drvfile}
set Tfiles(source,schema) {source derivated privinclude pubinclude drvfile}
set Tfiles(source,toolkit) {}
- set Tfiles(source,executable) {source pubinclude drvfile}
set listloc [concat [osutils:tk:units [woklocate -u $tkloc]] [woklocate -u $tkloc]]
- ;#puts " listloc = $listloc"
if { $l_compilable == {} } {
set l_comp [list .c .cxx .cpp]
} else {
return $lret
}
;#
-;# Create file tkloc.dsp for a shareable library (dll).
-;# in dir return the full path of the created file
+;# Create file tkloc.dsp in dir return the full path of the created file
;#
-proc osutils:mkdsp { dir tkloc {tmplat {} } {fmtcpp {} } } {
+proc osutils:mkdsp { dir tkloc {tmplat {} } {fmtcpp {} } {doinsert 1} } {
+ set Tfiles(source,package) {source derivated privinclude pubinclude drvfile}
+ set Tfiles(source,nocdlpack) {source pubinclude drvfile}
+ set Tfiles(source,schema) {source derivated privinclude pubinclude drvfile}
+ set Tfiles(source,toolkit) {}
if { $tmplat == {} } {set tmplat [osutils:dsp:readtemplate]}
if { $fmtcpp == {} } {set fmtcpp [osutils:dsp:fmtcpp]}
set fp [open [set fdsp [file join $dir ${tkloc}.dsp]] w]
fconfigure $fp -translation crlf
set l_compilable [osutils:dsp:compilable]
- regsub -all -- {__TKNAM__} $tmplat $tkloc temp0
- set tkused ""
- foreach tkx [wokUtils:LIST:Purge [osutils:tk:close [woklocate -u $tkloc]]] {
- append tkused "${tkx}.lib "
- }
- puts "$tkloc requires $tkused"
- regsub -all -- {__TKDEP__} $temp0 $tkused temp1
- set files ""
- ;#set listloc [concat [osutils:tk:units [woklocate -u $tkloc]] [woklocate -u $tkloc]]
- set listloc [osutils:tk:units [woklocate -u $tkloc]]
- set resultloc [osutils:justwnt $listloc]
- ;#puts "result = $resultloc"
- ;#set lsrc [lsort [osutils:tk:files $tkloc osutils:am:compilable 1 osutils:justwnt]]
- if [array exists written] { unset written }
- foreach fxlo $resultloc {
- set xlo [wokinfo -n $fxlo]
- set lsrc [osutils:tk:files $xlo osutils:am:compilable 0]
- foreach f $lsrc {
- ;#puts " f = $f"
- if { ![info exists written([file tail $f])] } {
- set written([file tail $f]) 1
- append files "# Begin Source File" "\n"
- append files "SOURCE=..\\..\\" [wokUtils:EASY:bs1 [wokUtils:FILES:wtail $f 3]] "\n"
- append files [format $fmtcpp $xlo $xlo $xlo] "\n"
- append files "# End Source File" "\n"
- } else {
- puts "Warning : in dsp more than one occurences for [file tail $f]"
- }
+ if { $doinsert } {
+ regsub -all -- {__TKNAM__} $tmplat $tkloc temp0
+ set tkused ""
+ foreach tkx [wokUtils:LIST:Purge [osutils:tk:close [woklocate -u $tkloc]]] {
+ append tkused "${tkx}.lib "
}
- }
-
- regsub -all -- {__FILES__} $temp1 $files temp2
- puts $fp $temp2
- close $fp
- return $fdsp
-}
-;#
-;# Create file tkloc.dsp for a executable "console" application
-;# in dir return the full path of the created file
-;#
-proc osutils:mkdspx { dir tkloc {tmplat {} } {fmtcpp {} } } {
- if { $tmplat == {} } {set tmplat [osutils:dsp:readtemplatex]}
- if { $fmtcpp == {} } {set fmtcpp [osutils:dsp:fmtcppx]}
- set fp [open [set fdsp [file join $dir ${tkloc}.dsp]] w]
- fconfigure $fp -translation crlf
- set l_compilable [osutils:dsp:compilable]
- regsub -all -- {__XQTNAM__} $tmplat $tkloc temp0
- set tkused ""
- foreach tkx [wokUtils:LIST:Purge [osutils:tk:close [woklocate -u $tkloc]]] {
- append tkused "${tkx}.lib "
- }
- puts "$tkloc requires $tkused"
- regsub -all -- {__TKDEP__} $temp0 $tkused temp1
- set files ""
- ;#set listloc [concat [osutils:tk:units [woklocate -u $tkloc]] [woklocate -u $tkloc]]
- ;#set listloc [osutils:tk:units [woklocate -u $tkloc]]
- ;#set resultloc [osutils:justwnt $listloc]
- ;#puts "result = $resultloc"
- ;#set lsrc [lsort [osutils:tk:files $tkloc osutils:am:compilable 1 osutils:justwnt]]
- ;#if [array exists written] { unset written }
- ;#foreach fxlo $resultloc {
- ;#set tkloc [set xlo [wokinfo -n $fxlo]]
- set lsrc [osutils:tk:files $tkloc osutils:am:compilable 0]
- foreach f $lsrc {
- ;#puts " f = $f"
- if { ![info exists written([file tail $f])] } {
- set written([file tail $f]) 1
- append files "# Begin Source File" "\n"
- append files "SOURCE=..\\..\\" [wokUtils:EASY:bs1 [wokUtils:FILES:wtail $f 3]] "\n"
- append files [format $fmtcpp $tkloc $tkloc $tkloc] "\n"
- append files "# End Source File" "\n"
- } else {
- puts "Warning : in dsp more than one occurences for [file tail $f]"
+ puts "$tkloc requires $tkused"
+ regsub -all -- {__TKDEP__} $temp0 $tkused temp1
+ set files ""
+ lappend lret $fdsp
+ set listloc [concat [osutils:tk:units [woklocate -u $tkloc]] [woklocate -u $tkloc]]
+ set resultloc [osutils:justwnt $listloc]
+ foreach loc $resultloc {
+ set utyp [uinfo -t $loc]
+ if [array exists map] { unset map }
+ osutils:tk:loadunit $loc map
+ ;#puts " loc = $loc === > [array names map]"
+ set LType $Tfiles(source,${utyp})
+ foreach typ [array names map] {
+ if { [lsearch $LType $typ] == -1 } {
+ unset map($typ)
+ }
+ }
+ set xlo [wokinfo -n $loc]
+ if [array exists written] { unset written }
+ foreach type [array names map] {
+ foreach f $map($type) {
+ if { [lsearch $l_compilable [file extension $f]] != -1 } {
+ if { ![info exists written([file tail $f])] } {
+ set written([file tail $f]) 1
+ append files "# Begin Source File" "\n"
+ append files "SOURCE=..\\..\\" [wokUtils:EASY:bs1 [wokUtils:FILES:wtail $f 3]] "\n"
+ append files [format $fmtcpp $xlo $xlo $xlo] "\n"
+ append files "# End Source File" "\n"
+ } else {
+ puts "Warning : in dsp more than one occurences for [file tail $f]"
+ }
+ }
+ }
}
}
- ;#}
-
- regsub -all -- {__FILES__} $temp1 $files temp2
- puts $fp $temp2
+ regsub -all -- {__FILES__} $temp1 $files temp2
+ puts $fp $temp2
+ } else {
+ puts $fp $tmplat
+ }
close $fp
return $fdsp
}
echo "ud2cvs-error: Unit $ud has already a CVS directory."
endif
exit
+
+
+
if [info exists tabarg(-ls)] {
foreach x [wokIntegre:Mark:Dump $journal [info exists tabarg(-bydate)]] {
if [regexp {([-A-Za-z][-A-Za-z0-9]*) ([0-9]+),([0-9]+)} $x all mark index date] {
- puts stdout [format "%10s = %-3d (placed at %s)" $mark $index [fmtclock $date] ]
+ puts stdout [format "%10s = %-3d (placed at %s)" $mark $index [clock format $date] ]
}
}
return
foreach j [wokIntegre:Journal:List] {
puts stdout [format "%15s %-9d" [file tail $j] [file size $j]]
}
- set t [fmtclock [file mtime $journal]]
+ set t [clock format [file mtime $journal]]
puts stdout \
[format "%15s %-8d(Last modified %s)" [file tail $journal] [file size $journal] $t]
#;<
proc wokIntegre:Journal:WriteHeader { rep num wb station {jnlid stdout}} {
set report_out [format "%s_%s" $num $rep]
- set today [fmtclock [getclock] "%d/%m/%y %R"]
+ set today [clock format [getclock] -format "%d/%m/%y %R"]
puts $jnlid [format "\n\nReport %s - %s from workbench %s (%s)" $report_out $today $wb $station]
puts $jnlid [format "------------"]
return
# retourne le bout du journal contenant les reports dont la date est superieure a celle donnee.
#;<
proc wokIntegre:Journal:Since { file date1 date2 } {
- if [ catch { set fileid [open $file r] } ] {
- return {}
- }
- set ret {}
- set fillnow 0
- while {[gets $fileid line] >= 0} {
- if {[regexp {^Report [0-9]*_rep - ([0-9]*/[0-9]*/[0-9]* [0-9]*:[0-9]*)} $line all datrep] } {
- set cdat [wokUtils:TIME:dpe $datrep]
- if { $cdat >= $date1 && $cdat <= $date2 } {
- append ret $line \n
- set fillnow 1
- } elseif { $cdat > $date2 } {
- break
- }
- } else {
- if { $fillnow } {
- append ret $line \n
- }
- }
- }
- close $fileid
- return $ret
+ return {}
}
#;>
# Ecrit dans table, le contenu d'un report file (full path).
;#tix addbitmapdir /adv_23/WOK/k3dev/iwok/src/WOKTclLib ;# THUY EM
;# ucreate -P dans factory/workshop/ => erreur ?!!!
- set IWOK_GLOBALS(ucreate-P) [list {j jini} {p package} {s schema} {i interface} {C client} {e engine} {x executable} {n nocdlpack} {t toolkit} {r resource} {O documentation} {c ccl} {f frontal} {d delivery} {I idl} {S server}]
+ set IWOK_GLOBALS(ucreate-P) [list {j jini} {p package} {s schema} {i interface} {C client} {e engine} {x executable} {n nocdlpack} {t toolkit} {r resource} {O documentation} {c ccl} {f frontal} {d delivery} {I idl} {S server} {m module}]
foreach type $IWOK_GLOBALS(ucreate-P) {
set st [lindex $type 0]
set H $IWOK_GLOBALS(CookHlist)
+
switch $opt {
files {
+ ;#puts "WOKCOOK(files) : $args "
set e [lindex $args 2]
- set d1 [lindex $args 3]
- set udname $IWOK_GLOBALS(CookHlist,Unit)
+ set d1 [lindex $args 3] ;# directory of son workbench
+ set udname $IWOK_GLOBALS(CookHlist,Unit) ;# father directory in [lindex $args 4]
set key ${e}:$IWOK_GLOBALS(CookHlist,Key)
set suspect [info exists IWOK_GLOBALS(CookHlist,dupl,list,$key)]
switch -- [lindex $args 0] {
-data [list 1 $IWOK_GLOBALS(CookHlist,dupl,list,$key)] -itemtype text \
-style $IWOK_GLOBALS(CookHlist,dupl,style)
} else {
- $H add ${udname}^[list # $e $d1 [lindex $args 4]] -text [format "# %-30s" $e] \
- -data [list 0 {}] -itemtype text
+ if { [file mtime [file join [lindex $args 4] $e]] > [file mtime [file join $d1 $e]] } {
+ $H add ${udname}^[list # $e $d1 [lindex $args 4]] -text [format "# %-30s" $e] \
+ -data [list 0 {}] -itemtype text -style $IWOK_GLOBALS(CookHlist,obsol,style)
+ } else {
+ $H add ${udname}^[list # $e $d1 [lindex $args 4]] -text [format "# %-30s" $e] \
+ -data [list 0 {}] -itemtype text
+ }
}
}
}
set IWOK_GLOBALS(CookHlist,dupl,suspect) 0
set IWOK_GLOBALS(CookHlist,dupl,show) 0
set IWOK_GLOBALS(CookHlist,dupl,style) [tixDisplayStyle text -fg orange -font $IWOK_GLOBALS(boldfont)]
+ set IWOK_GLOBALS(CookHlist,obsol,style) [tixDisplayStyle text -fg red -font $IWOK_GLOBALS(boldfont)]
set IWOK_GLOBALS(CookHlist,dupl,ustyle) [tixDisplayStyle imagetext -font $IWOK_GLOBALS(boldfont)]
set IWOK_GLOBALS(comment,entered) 0
}
set e [lindex [split $f ^] 1]
set fl [lindex $e 2]/[lindex $e 1]
- set dat [fmtclock [file mtime $fl] "%d/%m/%y %R"]
+ set dat [clock format [file mtime $fl] -format "%d/%m/%y %R"]
eval wokPrepare:Report:Output files [linsert $e 1 $dat]
}
}
set IWOK_WINDOWS($w,listo) [wokUtils:FILES:FileToList $objlist]
wokEDF:Shareable:Disp $w
set solen [llength $IWOK_WINDOWS($w,listo)]
- set sodat [string range [fmtclock [file mtime $file]] 4 18]
+ set sodat [string range [clock format [file mtime $file]] 4 18]
$w.lab configure -text "$solen objects."
update
}
set l3 {}
foreach e $l2 {
set str [lindex $e 0]
- set dat [string range [fmtclock [lindex $e 1]] 4 18]
+ set dat [string range [clock format [lindex $e 1]] 4 18]
set siz [lindex $e 2]
lappend l3 [format "%15s %-10s %s" $dat $siz $str]
}
append IWOK_GLOBALS(PRM,Modify,edlbuf) "-- File: ${clas}.edl" \n
append IWOK_GLOBALS(PRM,Modify,edlbuf) "-- Author: [id user]" \n
- append IWOK_GLOBALS(PRM,Modify,edlbuf) "-- History: [fmtclock [getclock]]" \n \n
+ append IWOK_GLOBALS(PRM,Modify,edlbuf) "-- History: [clock format [getclock]]" \n \n
if { $IWOK_GLOBALS(PRM,Modify,verbose) == 1 } {
append IWOK_GLOBALS(PRM,Modify,edlbuf) "@verboseon;" \n
foreach j [wokIntegre:Journal:List] {
$text insert end "[format "%15s %-9d" [file tail $j] [file size $j]]\n"
}
- set t [fmtclock [file mtime $journal]]
+ set t [clock format [file mtime $journal]]
set str [format "%15s %-8d(Last modified %s)" [file tail $journal] [file size $journal] $t]
$text insert end "$str\n\n"
set scoop [wokIntegre:Scoop:Read]
[list Size "$tt(size) (bytes)"]\
[list Type $tt(type)]\
[list separator 1]\
- [list Created [string range [fmtclock $tt(ctime)] 4 18]]\
- [list Modified [string range [fmtclock $tt(mtime)] 4 18]]\
- [list Accessed [string range [fmtclock $tt(atime)] 4 18]]\
+ [list Created [string range [clock format $tt(ctime)] 4 18]]\
+ [list Modified [string range [clock format $tt(mtime)] 4 18]]\
+ [list Accessed [string range [clock format $tt(atime)] 4 18]]\
[list separator 1]\
[list Readable $rea]\
[list Writable $wrt]\
[list Size "$tt(size) (bytes)"]\
[list Type $tt(type)]\
[list separator 1]\
- [list Created [string range [fmtclock $tt(ctime)] 4 18]]\
- [list Modified [string range [fmtclock $tt(mtime)] 4 18]]\
- [list Accessed [string range [fmtclock $tt(atime)] 4 18]]\
+ [list Created [string range [clock format $tt(ctime)] 4 18]]\
+ [list Modified [string range [clock format $tt(mtime)] 4 18]]\
+ [list Accessed [string range [clock format $tt(atime)] 4 18]]\
[list separator 1]\
[list Readable $rea]\
[list Writable $wrt]\
foreach j [wokIntegre:Journal:List] {
$text insert end "[format "%15s %-9d" [file tail $j] [file size $j]]\n"
}
- set t [fmtclock [file mtime $journal]]
+ set t [clock format [file mtime $journal]]
set str [format "%15s %-8d(Last modified %s)" [file tail $journal] [file size $journal] $t]
$text insert end "$str\n\n"
set scoop [wokIntegre:Scoop:Read]
[list Size "$tt(size) (bytes)"]\
[list Type $tt(type)]\
[list separator 1]\
- [list Created [string range [fmtclock $tt(ctime)] 4 18]]\
- [list Modified [string range [fmtclock $tt(mtime)] 4 18]]\
- [list Accessed [string range [fmtclock $tt(atime)] 4 18]]\
+ [list Created [string range [clock format $tt(ctime)] 4 18]]\
+ [list Modified [string range [clock format $tt(mtime)] 4 18]]\
+ [list Accessed [string range [clock format $tt(atime)] 4 18]]\
[list separator 1]\
[list Readable $rea]\
[list Writable $wrt]\
set buttons1 [list \
{journal "Display" active wokReadStuffJournalOfcurwb} \
- {today "Today's" active wokToday} \
{upday "Prev" active wokUpday} \
{downday "Next" active wokDownday} \
{toEditor "To Editor" active wokEditJnl} \
wokUpdateQueue $w
set jnl [wokIntegre:Journal:GetName]
if [file exist $jnl] {
- $w.lab configure -text "Last integration: [fmtclock [file mtime $jnl]]"
+ $w.lab configure -text "Last integration: [clock format [file mtime $jnl]]"
}
return
}
$text delete 0.0 end
wokReadString $text [wokIntegre:BASE:cat $sfile last]
set vrs [wokIntegre:BASE:vrs $sfile]
- set dta [fmtclock [file mtime $sfile] "%d %h %y %R" ]
+ set dta [clock format [file mtime $sfile] -format "%d %h %y %R" ]
set item [wokIntegre:BASE:stof [file tail $sfile] {}]
set fmt [format "FILE: %--30s Version: %--10s Last registered: %--15s" $item $vrs $dta]
$lab configure -text $fmt -font $IWOK_GLOBALS(font)
wokReadList $IWOK_WINDOWS($w,text) \
[wokIntegre:Mark:GetComment $IWOK_WINDOWS($w,journal) [lindex $info 1]]
$IWOK_WINDOWS($w,label) configure \
- -text "Mark to integration [lindex $info 2]. Placed on [fmtclock [lindex $info 3]]"
+ -text "Mark to integration [lindex $info 2]. Placed on [clock format [lindex $info 3]]"
}
}
proc @@ {args} {
- global env;
-
-# if [info exists env(EMACS)] {
-# woksh_emacs [list $args]
-# } {
- woksh_csh [list $args]
-# }
+ puts stderr " This service is no longer supported."
}
proc woksh {args} {
}
while { [string length $theline] > 100} {
- exp_send_user -- "[crange $theline 0 100]\\\n"
- set theline [crange $theline 101 [string length $theline]]
+ exp_send_user -- "[string range $theline 0 100]\\\n"
+ set theline [string range $theline 101 [string length $theline]]
}
exp_send_user -- "$theline\n"
set debut 0
set i $limit
- set sub [crange $value $debut $i]
+ set sub [string range $value $debut $i]
set command [lindex [wok_setenv_cmd csh $var $value] 0]
exp_send -i $IWOK_GLOBALS(term,term_spawn_id) $command;
sleep .1
set debut $i
set i [expr $i + $limit]
- set sub [crange $value $debut $i]
+ set sub [string range $value $debut $i]
exp_send -i $IWOK_GLOBALS(term,term_spawn_id) "setenv $var \"\${$var}$sub\"\n"
sleep .1
incr i
puts $wokfileid " Study/CSR : "
puts $wokfileid " Debug : "
puts $wokfileid " Improvements : "
- puts $wokfileid " News : Files modified since [fmtclock $date]"
+ puts $wokfileid " News : "
puts $wokfileid " Deletions : "
puts $wokfileid " Impact : "
puts $wokfileid " Comments : "
foreach f [lsort [uinfo -pl -Tsource ${Wb}:${e}]] {
set mti [file mtime $f]
if { $mti > $date } {
- $Fout files # [fmtclock [file mtime $f] "%d/%m/%y %R"] [file tail $f] [file dirname $f]
+ $Fout files # [clock format [file mtime $f] -format "%d/%m/%y %R"] [file tail $f] [file dirname $f]
}
}
}
set t [uinfo -t ${Wb}:${e}]
$Fout uheader "$e.$t"
foreach f [lsort [uinfo -pl -Tsource ${Wb}:${e}]] {
- $Fout files + [fmtclock [file mtime $f] "%d/%m/%y %R"] [file tail $f] [file dirname $f]
+ $Fout files + [clock format [file mtime $f] -format "%d/%m/%y %R"] [file tail $f] [file dirname $f]
}
}
return
# Boucle sur une liste {type name}, ecrit dans table le resultat de la comparaison
# wokPrepare:Unit:Loop Mytable DEMO:Demo:Kernel DEMO:Demo:FK {NTD AccesServer}
# Pere = FACT:SHOP:WBPERE , Fils: FACT:SHOP:WBFILS
-# Pour chacune des Uds il faut chercher dans quel workbench elle se trouve au dessus.
-# si elle n'existe pas =. on met {}.
-#
#;<
proc wokPrepare:Unit:Loop { Fout Pere Fils Uliste } {
- wokPrepare:Unit:ouestu ${Pere} $Uliste map
+ set lupere [w_info -l $Pere]
foreach e $Uliste {
set t [uinfo -t ${Fils}:${e}]
$Fout uheader "$e.$t"
set loc [uinfo -fl -Tsource ${Fils}:$e]
-
- if { $map($e) != {} } {
- set ances $map($e)
- wokPrepare:Unit:Diff $Fout [uinfo -fp -Tsource $ances:$e] [uinfo -fp -Tsource ${Fils}:$e] $loc
+ if { [lsearch $lupere $e] != -1 } {
+ wokPrepare:Unit:Diff $Fout [uinfo -fp -Tsource ${Pere}:$e] [uinfo -fp -Tsource ${Fils}:$e] $loc
} else {
wokPrepare:Unit:Diff $Fout {} [uinfo -fp -Tsource ${Fils}:$e] $loc
}
}
}
-#;>
-# retourne le nom du workbench ou se trouve u
-# dans l'ascendance de wb, (wb inclus)
-# wb est un full path
-#;<
-proc wokPrepare:Unit:ouestu { wb lu map} {
- upvar $map TLOC
- set pfx [wokinfo -s $wb]
- set ancestors [w_info -A $wb]
- foreach u $lu {
- foreach w $ancestors {
- set TLOC($u) {}
- if { [wokinfo -x ${pfx}:${w}:$u] } {
- set TLOC($u) ${pfx}:$w
- break
- }
- }
- }
-}
-
#;>
#
# l1 liste des sources vue du pere {basename dirname}
- {
set file [lindex $wokM($e) 1]
if [file exists $file] {
- $Fout files - [fmtclock [file mtime $file] "%d/%m/%y %R"] $e [file dirname $file]
+ $Fout files - [clock format [file mtime $file] -format "%d/%m/%y %R"] $e [file dirname $file]
} else {
;#msgprint -w "Unit files list should be recomputed. (umake -o src)"
}
+ {
set file [lindex $wokM($e) 1]
if [file exists $file] {
- $Fout files + [fmtclock [file mtime $file] "%d/%m/%y %R"] $e [file dirname $file]
+ $Fout files + [clock format [file mtime $file] -format "%d/%m/%y %R"] $e [file dirname $file]
} else {
;#msgprint -w "Unit files list should be recomputed. (umake -o src)"
}
# {
if { [lsearch $local $e] != -1 } {
set fpere [lindex $wokM($e) 1] ; set ffils [lindex $wokM($e) 2]
- set date [fmtclock [file mtime $ffils] "%d/%m/%y %R"]
+ set date [clock format [file mtime $ffils] -format "%d/%m/%y %R"]
if { [file isfile $fpere] && [file isfile $ffils] } {
if { [wokUtils:FILES:AreSame $fpere $ffils] } {
$Fout files = $date $e [file dirname $ffils] [file dirname $fpere]
# Usage
#
proc wokStoreUsage { } {
- global env
puts stderr \
{
Usage : wstore is used to enqueue a report file, to get
(To update a workbench directly from a report see a the end of this help)
>wstore file : without option adds a report in the report's queue
- from <file>.
+ from <file> (created by wprepare).
Queue name is deduced from the name of the father
- workbench written in <file>. (created by wprepare).
+ workbench found in <file>.
To list all pending reports name and ID in a queue use the following command:
> wstore -wb name -ls
In the following syntaxes the option -wb is used to specify a workbench name.
(Use a full workbench path for the workbench name. <Factory:workshop:workbench>
Default is the current wb. <ID> is a report ID (see above)
+ option -ls
>wstore [-rm|-cat] [-wb name] [ID]
(Default behavior: Creates a a subdirectory adm in directory created using -base option)
-welcome: If a report list new development units, by default store will refuse.
If you want wstore be quiet create the queue with -welcome option.
- -trigger to specify the full path of a tcl file defining a tcl proc triggered after a
- report has been enqueued. An example for such a file can be found in
- $env(WOK_LIBRARY)/wstore_trigger.example.
To list all queues and their associated parameters:
set tblreq(-wb) value_required:string
set tblreq(-create) {}
-
- set tblreq(-queue) value_required:string
- set tblreq(-trigger) value_required:string
-
+ set tblreq(-queue) value_required:string
set tblreq(-base) value_required:string
set tblreq(-type) value_required:string
set tblreq(-journal) value_required:string
if [info exists tabarg(-queue)] {
set queue $tabarg(-queue)
}
- set trig {}
- if [info exists tabarg(-trigger)] {
- set trig $tabarg(-trigger)
- }
set type SCCS
if [info exists tabarg(-type)] {
set type $tabarg(-type)
set journal [file join $commonbase adm wintegre.jnl]
}
wokStore:Report:Configure set \
- [wokStore:Report:FileAdm $curwb] $curwb $queue $trig $base $type $counter $journal $welcome
+ [wokStore:Report:FileAdm $curwb] $curwb $queue $base $type $counter $journal $welcome
if { $verbose } {
msgprint -c WOKVC -i "Reports queue created under $queue "
msgprint -c WOKVC -i "Repository ($type) created under $base "
msgprint -c WOKVC -i "Repository ([wokIntegre:BASE:GetType]) under [wokIntegre:BASE:GetRootName]"
msgprint -c WOKVC -i "Integration counter in : [wokIntegre:Number:GetName]"
msgprint -c WOKVC -i "Integration journal in : [wokIntegre:Journal:GetName]"
- msgprint -c WOKVC -i "Trigger : [wokStore:Trigger:GetName]"
return
}
msgprint -c WOKVC -i "Storing report in queue of workbench ${shop}:$wbpere"
set frigo [file join [wokStore:Report:GetRootName] ${entry}]
wokStore:Report:Add $ID table $banner $notes $frigo
- if { [set trig [wokStore:Trigger:Exists]] != {} } {
- wokStore:Trigger:Invoke $trig $frigo
- }
return
} else {
msgprint -c WOKVC -e "Report name $TID should not contains a comma."
if { $alert == 1 } {
msgprint -c WOKVC -e "File VCDEF.tcl not found in [file dirname $vc] of workbench $wb."
}
- wokStore:Report:Configure unset {} {} {} {} {} {} {} {} {}
+ wokStore:Report:Configure unset {} {} {} {} {} {} {} {}
return {}
}
} else {
msgprint -c WOKVC -e "Entity $wb is not a workbench."
- wokStore:Report:Configure unset {} {} {} {} {} {} {} {} {}
+ wokStore:Report:Configure unset {} {} {} {} {} {} {} {}
return {}
}
} else {
msgprint -c WOKVC -e "Entity $wb does not exists."
- wokStore:Report:Configure unset {} {} {} {} {} {} {} {} {}
+ wokStore:Report:Configure unset {} {} {} {} {} {} {} {}
return {}
}
}
;#
;# Ecrit dans diradm le fichier VCDEF.tcl contenant les definitions de la queue.
;#
-proc wokStore:Report:Configure { option fileadm wb queue trignam base type counter journal welcome } {
+proc wokStore:Report:Configure { option fileadm wb queue base type counter journal welcome } {
set proc_defined_in_VC [list \
wokStore:Report:GetRootName \
- wokStore:Trigger:GetName \
wokIntegre:BASE:GetRootName \
wokIntegre:BASE:GetType \
wokIntegre:RefCopy:GetWB \
set {
wokStore:mkdir $queue ;# the hook for the queue
eval "proc wokStore:Report:GetRootName { } { return $queue }"
- eval "proc wokStore:Trigger:GetName { } { return $trignam }"
wokStore:mkdir $base ;# the hook for the base
eval "proc wokIntegre:BASE:GetRootName { } { return $base }"
;# the type of the base
#;<
proc wokStore:Report:GetPrettyName { Uniquename } {
set l [split $Uniquename ,]
- return [list [lindex $l 1] [fmtclock [lindex $l 0]] ]
+ return [list [lindex $l 1] [clock format [lindex $l 0]] ]
}
#;>
msgprint -c WOKVC -i "Repository ([wokIntegre:BASE:GetType]) under [wokIntegre:BASE:GetRootName]"
msgprint -c WOKVC -i "Integration counter in : [wokIntegre:Number:GetName]"
msgprint -c WOKVC -i "Integration journal in : [wokIntegre:Journal:GetName]"
- msgprint -c WOKVC -i "Trigger : [wokStore:Trigger:GetName]"
puts ""
}
}
;#
;# Workbench KAS:C40:ros
;#wstore -create -wb :KAS:TEST:ros -base /adv_20/KAS/C40/SCCS/BASES -type SCCS -queue /adv_20/KAS/C40/SCCS/adm/C40/FRIGO -counter /adv_20/KAS/C40/SCCS/adm/C40/report.num -journal /adv_20/KAS/C40/SCCS/adm/C40/wintegre.jnl
-#;>
-# Check if file trigger exists
-#
-#;<
-proc wokStore:Trigger:Exists { } {
- set trignam [wokStore:Trigger:GetName]
- if { $trignam != {} } {
- if { [file exists $trignam] } {
- return $trignam
- } else {
- return {}
- }
- } else {
- return {}
- }
-}
-#;>
-# Invoke a trigger
-#;<
-proc wokStore:Trigger:Invoke { trignam report_path } {
- uplevel #0 source $trignam
- ;#msgprint -c WOKVC -i "Invoking file $trignam."
- if { [catch { wstore_trigger $report_path } trigval ] == 0 } {
- ;#msgprint -c WOKVC -i "Trigger $trignam successfully completed"
- return $trigval
- } else {
- msgprint -c WOKVC -e "Error in trigger: $trigval"
- return {}
- }
- return
-}