home *** CD-ROM | disk | FTP | other *** search
- #---------------------------------------------------------------------------
- #
- # (c) Cadre Technologies Inc. 1996
- #
- # File: @(#)viewedarea.tcl /main/hindenburg/1
- # Author: <generated>
- # Description:
- #---------------------------------------------------------------------------
- # SccsId = @(#)viewedarea.tcl /main/hindenburg/1 29 Aug 1996 Copyright 1996 Cadre Technologies Inc.
-
- # Start user added include file section
-
- require custobjvie.tcl
- require viewobject.tcl
- require viewdefine.tcl
-
- # End user added include file section
-
- require "custedarea.tcl"
-
- Class ViewEdArea : {CustEdArea BrowsView} {
- method destructor
- constructor
- method newObject
- method createObject
- method redefineObject
- method writeObject
- method sortArea
- method getObjects
- method clearArea
- attribute viewDefiner
- }
-
- method ViewEdArea::destructor {this} {
- # Start destructor user section
- # End destructor user section
- $this CustEdArea::destructor
- }
-
- constructor ViewEdArea {class this name} {
- set this [BrowsView::constructor $class $this $name]
- set this [CustEdArea::constructor $class $this $name]
-
- $this rowCount 12
- $this columnCount 80
- $this font "[m4_var get M4_font -context uce]"
- $this mode DETAIL
- BrowsHeader new $this.repType -label "Repository type" -width 25
- BrowsHeader new $this.broType -label "Browser type" -width 25
- BrowsHeader new $this.name -label "View name" -width 17
- BrowsHeader new $this.specLevel -label Level -width 15
- BrowsHeader new $this.scope -label Scope -width 75
-
- global classCount
- $this filter [CustObjViewFilter new CustObjViewFilter$classCount $this]
- incr classCount
-
- return $this
- }
-
- method ViewEdArea::newObject {this repositoryType browserType name {edit 0}} {
-
- $this isChanged 1
-
- if {$browserType == "all"} {
- set browserType ""
- }
-
- set user 0
- if {[$this _level] == "user"} {
- set user 1
- }
-
- set level 0
- set validLevel 0
- if {![isCommand .main.viewDefiner]} {
- $this viewDefiner [ViewDefineDialog new .main.viewDefiner]
- }
-
- set repScope [[$this viewDefiner] getRepTypeScope $repositoryType]
- foreach elm $repScope {
- if $elm {
- set validLevel $level
- }
- incr level
- }
-
- # adjust the scope to the repositoryType
- set scope [$this _scope]
- for {set i [llength $scope]} {$i < $validLevel} {incr i} {
- lappend scope "*"
- }
-
- set obj [$this createObject "displayName \"$name\"
- scope \"$scope\"
- specLevel \"[$this _level]\"
- userDefined $user
- repositoryType $repositoryType
- browserType \"$browserType\"
- name \"$name\"" \
- [$this _level]]
-
- $this sortArea
-
- if $edit {
- $obj open
- }
- }
-
- method ViewEdArea::createObject {this objSpec level} {
-
- global classCount
- set object [ViewObject new $this.Object$classCount $objSpec]
- incr classCount
-
- # if invalid scope (level) specified, set scope to corporate
- if {$icaseLevel([llength [$object scope]]) == ""} {
- $object scope ""
- }
-
- $this adjustCreatedObject $object $level
-
- # update the object-details in the view
- # if the objectname already exists, it is automatically placed
- # under the existing one (sorted)
- $object updateView
-
- return $object
- }
-
- method ViewEdArea::redefineObject {this obj} {
-
- set object [$this CustEdArea::redefineObject $obj]
-
- if [isCommand $object] {
- $object repositoryType [$obj repositoryType]
- $object browserType [$obj browserType]
- $object updateView
- $this sortArea
- }
-
- return $object
- }
-
- method ViewEdArea::writeObject {this obj fid} {
-
- set list ""
- if [$obj readOnly] {
- set list "$list readOnly [$obj readOnly]"
- }
- if { [$obj scope] != "" } {
- set list "$list scope \{[$obj scope]\}"
- }
- set list "$list name \"[$obj displayName]\""
- set list "$list repositoryType \"[$obj repositoryType]\""
- if { [$obj browserType] != "" } {
- set list "$list browserType \"[$obj browserType]\""
- }
- set list "$list objSpec [CustEdArea::indentList [$obj objSpec] 1 1]"
-
- puts $fid "registerObject [CustEdArea::indentList $list 0 1]"
- }
-
- method ViewEdArea::sortArea {this} {
-
- $this sort -command "sortView"
- }
-
- method ViewEdArea::getObjects {this} {
-
- return [$this objectSet]
- }
-
- method ViewEdArea::clearArea {this} {
-
- foreach obj [$this objectSet] {
- $obj delete
- }
-
- .main selectionChanged
- }
-
- # Do not delete this line -- regeneration end marker
-
-