home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 1997 November
/
PCWorld_1997-11_cd.bin
/
software
/
programy
/
komix
/
DATA.Z
/
extfvdbobj.tcl
< prev
next >
Wrap
Text File
|
1996-09-12
|
4KB
|
164 lines
#---------------------------------------------------------------------------
#
# (c) Cadre Technologies Inc. 1996
#
# File: @(#)extfvdbobj.tcl /main/hindenburg/1
# Author: <generated>
# Description:
#---------------------------------------------------------------------------
# SccsId = @(#)extfvdbobj.tcl /main/hindenburg/1 12 Sep 1996 Copyright 1996 Cadre Technologies Inc.
# Start user added include file section
# End user added include file section
require "filevobj.tcl"
Class ExtFVDbObj : {FileVObj ExternalFileVersion} {
method destructor
constructor
method browserObjType
method editFile
method showFile
method pathName
method previewFile
}
method ExtFVDbObj::destructor {this} {
# Start destructor user section
# End destructor user section
$this FileVObj::destructor
}
constructor ExtFVDbObj {class this name} {
set this [ExternalFileVersion::constructor $class $this $name]
set this [FileVObj::constructor $class $this $name]
return $this
}
selfPromoter ExternalFileVersion {this} {
ExtFVDbObj promote $this
}
proc ExtFVDbObj::associations {} {
return "[FileVObj::associations]"
}
method ExtFVDbObj::browserObjType {this} {
return "ExtFVDbObj"
}
proc ExtFVDbObj::childTypes {assoc} {
if {[lsearch -exact "[ExtFVDbObj::associations]" "$assoc"] == -1} {
return ""
}
return "[BrowserProcs::childTypes $assoc]"
}
proc ExtFVDbObj::controlledLists {} {
return "[FileVObj::controlledLists]"
}
proc ExtFVDbObj::infoProperties {} {
return [concat \
[FileVObj::infoProperties] \
{Path} \
]
}
method ExtFVDbObj::editFile {this} {
case "[$this uiClass]" in {
{LocalSection} {
set updateList {}
set indent [$this getIndentation]
incr indent
foreach obj [$this recursiveObjSet {NoneUiObj}] {
if {$indent >= [$obj getIndentation]} {
if {! [$obj isDocDirUpToDate]} {
lappend updateList [$obj identity]
}
}
}
if {![lempty $updateList]} {
set confVId [[$this getParent ConfigVersion] identity]
set sysVId [[$this getParent SystemVersion] identity]
set argsfile [args_file $updateList]
set args "updateDocDir $confVId $sysVId [list $argsfile]"
set cmd "\
if \[lindex \[$wmttoolObj exitStatusList\] 0\] {\
$this edit\
}"
$wmttoolObj startDocbatch mtool "$args" "$cmd" {0 0} 0
} else {
$this edit
}
}
{default} {
busy {
$this synchWithFileSystem
set file [$this file]
$this edit
$wmttoolObj startM4Command editor \
"[$this path]" \
"$this quit" \
"[$file qualifiedName :].[$file type]"
}
}
}
}
method ExtFVDbObj::showFile {this} {
case "[$this uiClass]" in {
{LocalSection} {
$this show
}
{default} {
busy {
$this synchWithFileSystem
set file [$this file]
$wmttoolObj startM4Command viewer \
"[$this path]" "" "[$file qualifiedName :].[$file type]"
}
}
}
}
method ExtFVDbObj::pathName {this} {
if [catch {set path [$this path]}] {
global errorInfo
set errorInfo ""
global errorCode
set errorCode ""
return ""
}
return $path
}
method ExtFVDbObj::previewFile {this} {
set updateList {}
set indent [$this getIndentation]
incr indent
foreach obj [$this recursiveObjSet {NoneUiObj}] {
if {$indent >= [$obj getIndentation]} {
if {! [$obj isDocDirUpToDate]} {
lappend updateList [$obj identity]
}
}
}
if {![lempty $updateList]} {
set confVId [[$this getParent ConfigVersion] identity]
set sysVId [[$this getParent SystemVersion] identity]
set argsfile [args_file $updateList]
set args "updateDocDir $confVId $sysVId [list $argsfile]"
set cmd "\
if \[lindex \[$wmttoolObj exitStatusList\] 0\] {\
$this preview\
}"
$wmttoolObj startDocbatch mtool "$args" "$cmd" {0 0} 0
} else {
$this preview
}
}
# Do not delete this line -- regeneration end marker