ProjectView.st
author claus
Fri, 16 Jul 1993 11:44:07 +0200
changeset 0 571fd5eee315
child 3 9ff3765f06d0
permissions -rw-r--r--
Initial revision
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
     1
'From Smalltalk/X, Version:2.6.4 on 27-Apr-1993 at 20:02:12'!
571fd5eee315 Initial revision
claus
parents:
diff changeset
     2
571fd5eee315 Initial revision
claus
parents:
diff changeset
     3
StandardSystemView subclass:#ProjectView
571fd5eee315 Initial revision
claus
parents:
diff changeset
     4
         instanceVariableNames:'myProject toggle'
571fd5eee315 Initial revision
claus
parents:
diff changeset
     5
         classVariableNames:'ActiveProjectView'
571fd5eee315 Initial revision
claus
parents:
diff changeset
     6
         poolDictionaries:''
571fd5eee315 Initial revision
claus
parents:
diff changeset
     7
         category:'Interface-Smalltalk'
571fd5eee315 Initial revision
claus
parents:
diff changeset
     8
!
571fd5eee315 Initial revision
claus
parents:
diff changeset
     9
571fd5eee315 Initial revision
claus
parents:
diff changeset
    10
!ProjectView class methodsFor:'instance creation'!
571fd5eee315 Initial revision
claus
parents:
diff changeset
    11
571fd5eee315 Initial revision
claus
parents:
diff changeset
    12
for:aProject
571fd5eee315 Initial revision
claus
parents:
diff changeset
    13
    |newView|
571fd5eee315 Initial revision
claus
parents:
diff changeset
    14
571fd5eee315 Initial revision
claus
parents:
diff changeset
    15
    newView := super new.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    16
    newView setProject:aProject.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    17
    ^ newView
571fd5eee315 Initial revision
claus
parents:
diff changeset
    18
571fd5eee315 Initial revision
claus
parents:
diff changeset
    19
    "ProjectView for:(Project new)"
571fd5eee315 Initial revision
claus
parents:
diff changeset
    20
! !
571fd5eee315 Initial revision
claus
parents:
diff changeset
    21
571fd5eee315 Initial revision
claus
parents:
diff changeset
    22
!ProjectView methodsFor:'private accessing'!
571fd5eee315 Initial revision
claus
parents:
diff changeset
    23
571fd5eee315 Initial revision
claus
parents:
diff changeset
    24
setProject:aProject
571fd5eee315 Initial revision
claus
parents:
diff changeset
    25
    |name e|
571fd5eee315 Initial revision
claus
parents:
diff changeset
    26
571fd5eee315 Initial revision
claus
parents:
diff changeset
    27
    name := aProject name.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    28
    self label:name.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    29
    self iconName:name.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    30
    toggle label:'Project: ' , name.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    31
    toggle resize.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    32
    myProject := aProject.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    33
    e := (toggle width @ toggle height).
571fd5eee315 Initial revision
claus
parents:
diff changeset
    34
    self extent:e.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    35
    self minExtent:e.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    36
    self maxExtent:e
571fd5eee315 Initial revision
claus
parents:
diff changeset
    37
! !
571fd5eee315 Initial revision
claus
parents:
diff changeset
    38
571fd5eee315 Initial revision
claus
parents:
diff changeset
    39
!ProjectView methodsFor:'initialization'!
571fd5eee315 Initial revision
claus
parents:
diff changeset
    40
571fd5eee315 Initial revision
claus
parents:
diff changeset
    41
initialize
571fd5eee315 Initial revision
claus
parents:
diff changeset
    42
    super initialize.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    43
    toggle := Toggle in:self.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    44
    toggle borderWidth:0.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    45
    toggle pressAction:[self showProject].
571fd5eee315 Initial revision
claus
parents:
diff changeset
    46
    toggle releaseAction:[self hideProject].
571fd5eee315 Initial revision
claus
parents:
diff changeset
    47
    toggle middleButtonMenu:(
571fd5eee315 Initial revision
claus
parents:
diff changeset
    48
        PopUpMenu
571fd5eee315 Initial revision
claus
parents:
diff changeset
    49
                labels:#('rename'
571fd5eee315 Initial revision
claus
parents:
diff changeset
    50
                         '-'
571fd5eee315 Initial revision
claus
parents:
diff changeset
    51
                         'changes'
571fd5eee315 Initial revision
claus
parents:
diff changeset
    52
                         '-'
571fd5eee315 Initial revision
claus
parents:
diff changeset
    53
                         'show'
571fd5eee315 Initial revision
claus
parents:
diff changeset
    54
                         'hide'
571fd5eee315 Initial revision
claus
parents:
diff changeset
    55
                         '-'
571fd5eee315 Initial revision
claus
parents:
diff changeset
    56
                         'destroy'
571fd5eee315 Initial revision
claus
parents:
diff changeset
    57
                        )
571fd5eee315 Initial revision
claus
parents:
diff changeset
    58
             selectors:#(renameProject
571fd5eee315 Initial revision
claus
parents:
diff changeset
    59
                         nil
571fd5eee315 Initial revision
claus
parents:
diff changeset
    60
                         browseChanges
571fd5eee315 Initial revision
claus
parents:
diff changeset
    61
                         nil
571fd5eee315 Initial revision
claus
parents:
diff changeset
    62
                         showProject
571fd5eee315 Initial revision
claus
parents:
diff changeset
    63
                         hideProject
571fd5eee315 Initial revision
claus
parents:
diff changeset
    64
                         nil
571fd5eee315 Initial revision
claus
parents:
diff changeset
    65
                         destroy
571fd5eee315 Initial revision
claus
parents:
diff changeset
    66
                        )
571fd5eee315 Initial revision
claus
parents:
diff changeset
    67
              receiver:self
571fd5eee315 Initial revision
claus
parents:
diff changeset
    68
    )
571fd5eee315 Initial revision
claus
parents:
diff changeset
    69
!
571fd5eee315 Initial revision
claus
parents:
diff changeset
    70
571fd5eee315 Initial revision
claus
parents:
diff changeset
    71
addToCurrentProject
571fd5eee315 Initial revision
claus
parents:
diff changeset
    72
    "ignored here"
571fd5eee315 Initial revision
claus
parents:
diff changeset
    73
571fd5eee315 Initial revision
claus
parents:
diff changeset
    74
    ^ self
571fd5eee315 Initial revision
claus
parents:
diff changeset
    75
! !
571fd5eee315 Initial revision
claus
parents:
diff changeset
    76
571fd5eee315 Initial revision
claus
parents:
diff changeset
    77
!ProjectView methodsFor:'menu actions'!
571fd5eee315 Initial revision
claus
parents:
diff changeset
    78
571fd5eee315 Initial revision
claus
parents:
diff changeset
    79
browseChanges
571fd5eee315 Initial revision
claus
parents:
diff changeset
    80
    ChangeSetBrowser startOn:(myProject changeSet)
571fd5eee315 Initial revision
claus
parents:
diff changeset
    81
!
571fd5eee315 Initial revision
claus
parents:
diff changeset
    82
571fd5eee315 Initial revision
claus
parents:
diff changeset
    83
destroyProject
571fd5eee315 Initial revision
claus
parents:
diff changeset
    84
    |box|
571fd5eee315 Initial revision
claus
parents:
diff changeset
    85
571fd5eee315 Initial revision
claus
parents:
diff changeset
    86
    box := YesNoBox new.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    87
    box title:'Destroying a project will discard all changes made
571fd5eee315 Initial revision
claus
parents:
diff changeset
    88
for that project and destroy all views opened for it.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    89
571fd5eee315 Initial revision
claus
parents:
diff changeset
    90
Do you really want to do this ?'.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    91
    box okText:'yes'.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    92
    box yesAction:[
571fd5eee315 Initial revision
claus
parents:
diff changeset
    93
        self doDestroyProject
571fd5eee315 Initial revision
claus
parents:
diff changeset
    94
    ].
571fd5eee315 Initial revision
claus
parents:
diff changeset
    95
    box showAtPointer
571fd5eee315 Initial revision
claus
parents:
diff changeset
    96
!
571fd5eee315 Initial revision
claus
parents:
diff changeset
    97
571fd5eee315 Initial revision
claus
parents:
diff changeset
    98
showProject
571fd5eee315 Initial revision
claus
parents:
diff changeset
    99
    ActiveProjectView notNil ifTrue:[
571fd5eee315 Initial revision
claus
parents:
diff changeset
   100
        ActiveProjectView hideProject
571fd5eee315 Initial revision
claus
parents:
diff changeset
   101
    ].
571fd5eee315 Initial revision
claus
parents:
diff changeset
   102
    ActiveProjectView := self.
571fd5eee315 Initial revision
claus
parents:
diff changeset
   103
571fd5eee315 Initial revision
claus
parents:
diff changeset
   104
    myProject views notNil ifTrue:[
571fd5eee315 Initial revision
claus
parents:
diff changeset
   105
        myProject views do:[:aView |
571fd5eee315 Initial revision
claus
parents:
diff changeset
   106
            aView rerealize
571fd5eee315 Initial revision
claus
parents:
diff changeset
   107
        ]
571fd5eee315 Initial revision
claus
parents:
diff changeset
   108
    ].
571fd5eee315 Initial revision
claus
parents:
diff changeset
   109
    Project current:myProject.
571fd5eee315 Initial revision
claus
parents:
diff changeset
   110
    toggle turnOn
571fd5eee315 Initial revision
claus
parents:
diff changeset
   111
!
571fd5eee315 Initial revision
claus
parents:
diff changeset
   112
571fd5eee315 Initial revision
claus
parents:
diff changeset
   113
hideProject
571fd5eee315 Initial revision
claus
parents:
diff changeset
   114
    myProject views notNil ifTrue:[
571fd5eee315 Initial revision
claus
parents:
diff changeset
   115
        myProject views do:[:aView |
571fd5eee315 Initial revision
claus
parents:
diff changeset
   116
            aView unrealize
571fd5eee315 Initial revision
claus
parents:
diff changeset
   117
        ]
571fd5eee315 Initial revision
claus
parents:
diff changeset
   118
    ].
571fd5eee315 Initial revision
claus
parents:
diff changeset
   119
    ActiveProjectView := nil.
571fd5eee315 Initial revision
claus
parents:
diff changeset
   120
    toggle turnOff
571fd5eee315 Initial revision
claus
parents:
diff changeset
   121
!
571fd5eee315 Initial revision
claus
parents:
diff changeset
   122
571fd5eee315 Initial revision
claus
parents:
diff changeset
   123
renameProject
571fd5eee315 Initial revision
claus
parents:
diff changeset
   124
    |box|
571fd5eee315 Initial revision
claus
parents:
diff changeset
   125
571fd5eee315 Initial revision
claus
parents:
diff changeset
   126
    box := EnterBox new.
571fd5eee315 Initial revision
claus
parents:
diff changeset
   127
    box title:'new name of project:'.
571fd5eee315 Initial revision
claus
parents:
diff changeset
   128
    box okText:'rename'.
571fd5eee315 Initial revision
claus
parents:
diff changeset
   129
    box initialText:(myProject name).
571fd5eee315 Initial revision
claus
parents:
diff changeset
   130
    box action:[:newName |
571fd5eee315 Initial revision
claus
parents:
diff changeset
   131
        myProject name:newName.
571fd5eee315 Initial revision
claus
parents:
diff changeset
   132
        self setProject:myProject
571fd5eee315 Initial revision
claus
parents:
diff changeset
   133
    ].
571fd5eee315 Initial revision
claus
parents:
diff changeset
   134
    box showAtPointer
571fd5eee315 Initial revision
claus
parents:
diff changeset
   135
!
571fd5eee315 Initial revision
claus
parents:
diff changeset
   136
571fd5eee315 Initial revision
claus
parents:
diff changeset
   137
doDestroy
571fd5eee315 Initial revision
claus
parents:
diff changeset
   138
    self hideProject.
571fd5eee315 Initial revision
claus
parents:
diff changeset
   139
571fd5eee315 Initial revision
claus
parents:
diff changeset
   140
    myProject := nil.
571fd5eee315 Initial revision
claus
parents:
diff changeset
   141
    super destroy
571fd5eee315 Initial revision
claus
parents:
diff changeset
   142
!
571fd5eee315 Initial revision
claus
parents:
diff changeset
   143
571fd5eee315 Initial revision
claus
parents:
diff changeset
   144
destroy
571fd5eee315 Initial revision
claus
parents:
diff changeset
   145
    |box|
571fd5eee315 Initial revision
claus
parents:
diff changeset
   146
571fd5eee315 Initial revision
claus
parents:
diff changeset
   147
    box := YesNoBox new.
571fd5eee315 Initial revision
claus
parents:
diff changeset
   148
    box title:'Destroying a project will discard all changes made
571fd5eee315 Initial revision
claus
parents:
diff changeset
   149
for that project and destroy all views opened for it.
571fd5eee315 Initial revision
claus
parents:
diff changeset
   150
571fd5eee315 Initial revision
claus
parents:
diff changeset
   151
Do you really want to do this ?'.
571fd5eee315 Initial revision
claus
parents:
diff changeset
   152
    box okText:'yes'.
571fd5eee315 Initial revision
claus
parents:
diff changeset
   153
    box yesAction:[
571fd5eee315 Initial revision
claus
parents:
diff changeset
   154
        self doDestroy
571fd5eee315 Initial revision
claus
parents:
diff changeset
   155
    ].
571fd5eee315 Initial revision
claus
parents:
diff changeset
   156
    box showAtPointer
571fd5eee315 Initial revision
claus
parents:
diff changeset
   157
! !