ProjectView.st
author Claus Gittinger <cg@exept.de>
Sat, 04 Jan 1997 16:40:42 +0100
changeset 904 df0b2ed7a462
parent 893 39307a122c30
child 955 31a5221235f1
permissions -rw-r--r--
access methodDictionary instead of the old methodArray
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
88
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
     1
"
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
     2
 COPYRIGHT (c) 1994 by Claus Gittinger
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
     3
	      All Rights Reserved
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
     4
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
     5
 This software is furnished under a license and may be used
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
     6
 only in accordance with the terms of that license and with the
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
     8
 be provided or otherwise made available to, or used by, any
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
     9
 other person.  No title to or ownership of the software is
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    10
 hereby transferred.
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    11
"
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    12
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
    13
StandardSystemView subclass:#ProjectView
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    14
	instanceVariableNames:'myProject toggle'
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    15
	classVariableNames:'ActiveProjectView'
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    16
	poolDictionaries:''
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    17
	category:'Interface-Smalltalk'
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
    18
!
571fd5eee315 Initial revision
claus
parents:
diff changeset
    19
796
b8edcbceaa18 XtHTML is no longer there ...
Claus Gittinger <cg@exept.de>
parents: 692
diff changeset
    20
!ProjectView class methodsFor:'documentation'!
88
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    21
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    22
copyright
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    23
"
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    24
 COPYRIGHT (c) 1994 by Claus Gittinger
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    25
	      All Rights Reserved
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    26
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    27
 This software is furnished under a license and may be used
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    28
 only in accordance with the terms of that license and with the
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    29
 inclusion of the above copyright notice.   This software may not
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    30
 be provided or otherwise made available to, or used by, any
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    31
 other person.  No title to or ownership of the software is
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    32
 hereby transferred.
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    33
"
272
9eeb8aa5d1d7 commentary
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
    34
!
9eeb8aa5d1d7 commentary
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
    35
9eeb8aa5d1d7 commentary
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
    36
documentation
9eeb8aa5d1d7 commentary
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
    37
"
9eeb8aa5d1d7 commentary
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
    38
    ProjectViews basically offer two functionalities:
9eeb8aa5d1d7 commentary
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
    39
9eeb8aa5d1d7 commentary
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
    40
      - keep a group of windows in order to organize the desktop
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    41
        (I am not sure, if this is really a useful feature, now that we
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    42
         have modern windowManagers which have multiple desktops as well).
272
9eeb8aa5d1d7 commentary
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
    43
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    44
        All views as created while a project is active are remembered
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    45
        and can be hidden/shown altogether.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    46
        (this has nothing to do with windowGroups)
272
9eeb8aa5d1d7 commentary
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
    47
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    48
        Also, it is possible to close down all those windows (by destroying the project).
272
9eeb8aa5d1d7 commentary
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
    49
9eeb8aa5d1d7 commentary
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
    50
      - keep defaults for various system activities:
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    51
                - the fileOut directory (i.e. where the SystemBrowser creates fileOut sources)
272
9eeb8aa5d1d7 commentary
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
    52
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    53
                - keep the source module/package
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    54
                    thats the default offered when classes are checkedIn the very first time
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    55
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    56
                - keep a default package-identifier assigned when classes/methods are created/modified.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    57
                    thats mostly useful to browse all classes/methods that have been touched
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    58
                    in a projects context
272
9eeb8aa5d1d7 commentary
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
    59
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    60
                - keep a per-project changeList
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    61
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    62
      - allow opening a browser on all classes/methods which were created or modified
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    63
        while a project was active.
272
9eeb8aa5d1d7 commentary
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
    64
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    65
      - allow opening a browser on this projects changeList (which contains the subset of changes
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    66
         which were done while this project was active)
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    67
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
    68
      - allow removal of all classes/methods which have the current projects packageIdentifier
272
9eeb8aa5d1d7 commentary
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
    69
"
88
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    70
! !
a38a2e87687b *** empty log message ***
claus
parents: 85
diff changeset
    71
796
b8edcbceaa18 XtHTML is no longer there ...
Claus Gittinger <cg@exept.de>
parents: 692
diff changeset
    72
!ProjectView class methodsFor:'instance creation'!
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
    73
571fd5eee315 Initial revision
claus
parents:
diff changeset
    74
for:aProject
571fd5eee315 Initial revision
claus
parents:
diff changeset
    75
    |newView|
571fd5eee315 Initial revision
claus
parents:
diff changeset
    76
571fd5eee315 Initial revision
claus
parents:
diff changeset
    77
    newView := super new.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    78
    newView setProject:aProject.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    79
    ^ newView
571fd5eee315 Initial revision
claus
parents:
diff changeset
    80
571fd5eee315 Initial revision
claus
parents:
diff changeset
    81
    "ProjectView for:(Project new)"
571fd5eee315 Initial revision
claus
parents:
diff changeset
    82
! !
571fd5eee315 Initial revision
claus
parents:
diff changeset
    83
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
    84
!ProjectView methodsFor:'initialization'!
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
    85
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
    86
addToCurrentProject
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
    87
    "ignored here"
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
    88
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
    89
    ^ self
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
    90
!
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
    91
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
    92
initialize
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
    93
    super initialize.
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
    94
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
    95
    "/
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
    96
    "/ create the toggle ...
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
    97
    "/
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
    98
    toggle := Toggle in:self.
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
    99
    toggle borderWidth:0.
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   100
    toggle pressAction:[self showProject].
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   101
    toggle releaseAction:[self hideProject].
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   102
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   103
    "/
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   104
    "/ and give it a menu
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   105
    "/
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   106
265
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   107
    self initializeMenu
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   108
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   109
    "Created: 25.11.1995 / 18:06:32 / cg"
265
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   110
    "Modified: 10.12.1995 / 00:04:12 / cg"
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   111
!
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   112
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   113
initializeMenu
468
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   114
    |labels selectors m|
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   115
468
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   116
    labels := #(
513
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   117
                    'class documentation'
468
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   118
                    '-'
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   119
                    'show'
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   120
                    'hide'
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   121
                    '-'
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   122
                    'changes'
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   123
                    'browse'
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   124
                    'fileOut classes'
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   125
                    '-'
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   126
                    'fileOut directory ...'
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   127
                    'repository module ...'
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   128
                    'repository directory ...'
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   129
                    'package name ...'
893
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   130
                    'default nameSpace ...'
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   131
"/                        '-'
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   132
"/                        'save project code'
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   133
"/                        'build'
468
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   134
                    '-'
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   135
                    'remove package code'
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   136
                    'remove project'
513
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   137
                    '-'
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   138
                    'rename ...'
468
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   139
               ).
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   140
468
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   141
     selectors := #(        
513
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   142
                    showClassDocumentation
468
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   143
                    nil
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   144
                    showProject
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   145
                    hideProject
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   146
                    nil
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   147
                    browseChanges
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   148
                    browsePackage
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   149
                    fileOutClasses
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   150
                    nil
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   151
                    projectDirectory
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   152
                    projectModule
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   153
                    projectRepository
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   154
                    projectPackage
893
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   155
                    projectNameSpace
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   156
"/                        nil
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   157
"/                        saveProjectFiles
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   158
"/                        buildProject
468
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   159
                    nil
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   160
                    removePackage
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   161
                    destroy
513
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   162
                    nil
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   163
                    renameProject
468
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   164
                ).
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   165
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   166
    m := PopUpMenu
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   167
                labels:(resources array:labels)
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   168
                selectors:selectors
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   169
                receiver:self.
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   170
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   171
    SourceCodeManager isNil ifTrue:[
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   172
        m disableAll:#(#projectRepository #projectPackage).
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   173
    ].
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   174
468
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   175
    toggle middleButtonMenu:m
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   176
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   177
    "Created: 25.11.1995 / 18:06:32 / cg"
468
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   178
    "Modified: 11.4.1996 / 19:36:26 / cg"
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   179
! !
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   180
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   181
!ProjectView methodsFor:'menu actions'!
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   182
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   183
browseChanges
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   184
    |b|
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   185
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   186
    b := ChangeSetBrowser openOn:(myProject changeSet).
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   187
    b label:(resources string:'Changes in %1' with:myProject name)
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   188
!
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   189
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   190
browsePackage
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   191
    "launch browsers for all classes/methods which are defined in this package
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   192
     (i.e. whose packageIdentifier is the same as my Projects packageIdentifier)"
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   193
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   194
    self topView withWaitCursorDo:[
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   195
        |classes packageName methods methodList anyClasses anyMethods ignoredClasses|
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   196
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   197
        anyMethods := anyClasses := false.
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   198
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   199
        packageName := myProject packageName.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   200
        classes := myProject classes.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   201
        (classes notNil and:[classes notEmpty]) ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   202
            anyClasses := true.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   203
        ].
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   204
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   205
        methods := myProject individualMethods.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   206
        methods notEmpty ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   207
            anyMethods := true.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   208
            SystemBrowser browseMethods:methods
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   209
                                  title:(resources string:'individual methods in package %1' with:packageName).
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   210
        ].
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   211
        anyClasses ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   212
            SystemBrowser browseClasses:classes
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   213
                                  title:(resources string:'classes in package %1' with:packageName).
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   214
        ].
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   215
        (anyClasses or:[anyMethods]) ifFalse:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   216
            self information:(resources string:'no classes or methods in this project (yet)')
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   217
        ]
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   218
    ]
265
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   219
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   220
    "Created: 10.12.1995 / 00:08:58 / cg"
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   221
    "Modified: 12.12.1995 / 16:35:07 / cg"
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   222
!
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   223
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   224
browseProps
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   225
    "will look better, once property inspector runs ..."
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   226
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   227
    myProject properties inspect
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   228
!
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   229
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   230
buildProject
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   231
    self topView withWaitCursorDo:[
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   232
	|dir|
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   233
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   234
	self saveProjectFiles.
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   235
	(self confirm:'make object files in: ' ,  dir , ' ?') ifTrue:[
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   236
	    myProject buildProject.
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   237
	]
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   238
    ].
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   239
!
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   240
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   241
destroy
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   242
    (myProject views notNil
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   243
    and:[myProject views notEmpty]) ifTrue:[
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   244
        |box|
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   245
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   246
        box := YesNoBox new.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   247
        box title:(resources string:'PROJECT_DESTROY') withCRs.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   248
        box okText:(resources string:'yes').
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   249
        (box confirm) ifFalse:[^ self]
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   250
    ].
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   251
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   252
    self doDestroy
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   253
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   254
    "Modified: 12.12.1995 / 16:44:54 / cg"
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   255
!
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   256
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   257
doDestroy
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   258
    self hideProject.
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   259
    myProject := nil.
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   260
    super destroy
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   261
!
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   262
468
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   263
fileOutClasses
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   264
    "fileout all classes belonging to that package.
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   265
     CAVEAT: individual methods are not yet supported."
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   266
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   267
    self topView withWaitCursorDo:[
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   268
        |classes packageName methods methodList anyClasses anyMethods ignoredClasses|
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   269
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   270
        anyMethods := anyClasses := false.
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   271
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   272
        packageName := myProject packageName.
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   273
        classes := myProject classes.
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   274
        (classes notNil and:[classes notEmpty]) ifTrue:[
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   275
            anyClasses := true.
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   276
        ].
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   277
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   278
        methods := myProject individualMethods.
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   279
        methods notEmpty ifTrue:[
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   280
            anyMethods := true.
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   281
            self warn:'individual methods are currently not handled'
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   282
        ].
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   283
        anyClasses ifTrue:[
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   284
            classes do:[:aClass |
553
b67caadfe334 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 516
diff changeset
   285
                Transcript showCR:'fileOut: ' , aClass name , ' ...'.
468
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   286
                aClass fileOut
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   287
            ].
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   288
        ].
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   289
        (anyClasses or:[anyMethods]) ifFalse:[
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   290
            self information:(resources string:'no classes or methods in this project (yet)')
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   291
        ]
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   292
    ]
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   293
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   294
    "Created: 11.4.1996 / 19:29:50 / cg"
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   295
!
66637cf315a5 added fileOutClasses menu entry
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   296
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   297
hideProject
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   298
    myProject hideViews.
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   299
    ActiveProjectView := nil.
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   300
    toggle turnOff.
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   301
    Project setDefaultProject.
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   302
!
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   303
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   304
projectDirectory
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   305
    |box d|
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   306
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   307
    box := FilenameEnterBox new.
85
d9713a3ca092 *** empty log message ***
claus
parents: 57
diff changeset
   308
    box directoriesOnly.
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   309
    box title:(resources string:'PROJECT_DIRECTPORY') withCRs.
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   310
    (d := myProject directory) notNil ifTrue:[
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   311
        box initialText:d
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   312
    ].
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   313
    box action:[:dirName |
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   314
        (OperatingSystem isDirectory:dirName) ifFalse:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   315
            (OperatingSystem isValidPath:dirName) ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   316
                self warn:(resources string:'%1 is not a valid directory' with:dirName).
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   317
                ^ self
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   318
            ].
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   319
            (self confirm:(resources string:'%1 does not exist\\create ?' with:dirName) withCRs) ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   320
                (OperatingSystem recursiveCreateDirectory:dirName) ifFalse:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   321
                    self warn:(resources string:'cannot create %1' with:dirName)
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   322
                ]
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   323
            ].
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   324
        ].
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   325
        "did it work ?"
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   326
        (OperatingSystem isDirectory:dirName) ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   327
            myProject directory:dirName
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   328
        ].
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   329
    ].
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   330
    box showAtPointer
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   331
!
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   332
265
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   333
projectModule
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   334
    |box d|
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   335
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   336
    box := FilenameEnterBox new.
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   337
    box directoriesOnly.
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   338
    box title:(resources string:'PROJECT_MODULEDIR') withCRs.
265
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   339
    (d := myProject repositoryModule) notNil ifTrue:[
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   340
        box initialText:d
265
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   341
    ].
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   342
    box action:[:dirName |
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   343
        myProject repositoryModule:dirName
265
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   344
    ].
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   345
    box showAtPointer
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   346
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   347
    "Created: 25.11.1995 / 18:07:51 / cg"
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   348
    "Modified: 10.12.1995 / 00:01:25 / cg"
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   349
!
3b1d5710e4a5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   350
893
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   351
projectNameSpace
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   352
    self topView withWaitCursorDo:[
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   353
        |box allNameSpaces|
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   354
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   355
        allNameSpaces := Namespace allNamespaces collect:[:ns | ns name].
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   356
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   357
        box := ListSelectionBox title:(resources string:'default nameSpace:') withCRs.
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   358
        box list:(allNameSpaces asOrderedCollection sort).
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   359
        box action:[:nsName |
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   360
            |ns|
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   361
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   362
            ns := Namespace name:nsName.
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   363
            myProject defaultNameSpace:ns
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   364
        ].
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   365
        box showAtPointer
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   366
    ]
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   367
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   368
    "Created: 9.12.1995 / 16:50:45 / cg"
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   369
    "Modified: 16.8.1996 / 14:56:42 / cg"
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   370
!
39307a122c30 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 796
diff changeset
   371
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   372
projectPackage
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   373
    self topView withWaitCursorDo:[
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   374
        |box p existingPackages allClasses|
259
c651fecef457 better defaults when creating a container
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   375
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   376
        existingPackages := Set new.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   377
        (allClasses := Smalltalk allClasses) do:[:aClass |
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   378
            |p|
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   379
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   380
            (p := aClass package) notNil ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   381
                existingPackages add:(p asString)
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   382
            ].
692
59a7cd5ff1b5 fixes for methodDictionary
Claus Gittinger <cg@exept.de>
parents: 553
diff changeset
   383
            aClass methodDictionary do:[:aMethod |
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   384
                (p := aMethod package) notNil ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   385
                    existingPackages add:(p asString)
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   386
                ]
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   387
            ].
692
59a7cd5ff1b5 fixes for methodDictionary
Claus Gittinger <cg@exept.de>
parents: 553
diff changeset
   388
            aClass class methodDictionary do:[:aMethod |
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   389
                (p := aMethod package) notNil ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   390
                    existingPackages add:(p asString)
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   391
                ]
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   392
            ].
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   393
        ].
259
c651fecef457 better defaults when creating a container
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   394
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   395
        box := ListSelectionBox title:(resources string:'PROJECT_PACKAGENAME') withCRs.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   396
        box list:(existingPackages asOrderedCollection sort).
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   397
        (p := myProject packageName) notNil ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   398
            box initialText:p
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   399
        ].
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   400
        box action:[:packageName |
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   401
            |someClass module directory|
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   402
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   403
            "/ (try) to extract the module & repository directory from someClass which
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   404
            "/ is already contained in that package
259
c651fecef457 better defaults when creating a container
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   405
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   406
            Smalltalk allClasses 
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   407
                detect:[:cls | 
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   408
                                |info|
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   409
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   410
                                (cls package = packageName) ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   411
                                    (info := cls packageSourceCodeInfo) notNil ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   412
                                        module := info at:#module ifAbsent:nil.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   413
                                        directory := info at:#directory ifAbsent:nil.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   414
                                    ]
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   415
                                ].
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   416
                                module notNil and:[directory notNil].
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   417
                        ]
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   418
                ifNone:nil.
259
c651fecef457 better defaults when creating a container
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   419
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   420
            module notNil ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   421
                myProject repositoryModule:module
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   422
            ].
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   423
            directory notNil ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   424
                myProject repositoryDirectory:directory
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   425
            ].
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   426
            myProject packageName:packageName.
259
c651fecef457 better defaults when creating a container
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   427
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   428
        ].
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   429
        box showAtPointer
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   430
    ]
259
c651fecef457 better defaults when creating a container
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   431
c651fecef457 better defaults when creating a container
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   432
    "Created: 9.12.1995 / 16:50:45 / cg"
692
59a7cd5ff1b5 fixes for methodDictionary
Claus Gittinger <cg@exept.de>
parents: 553
diff changeset
   433
    "Modified: 16.8.1996 / 14:56:42 / cg"
110
claus
parents: 106
diff changeset
   434
!
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   435
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   436
projectRepository
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   437
    |box d|
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   438
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   439
    box := FilenameEnterBox new.
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   440
    box directoriesOnly.
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   441
    box title:(resources string:'PROJECT_PACKAGEDIR') withCRs.
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   442
    (d := myProject repositoryDirectory) notNil ifTrue:[
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   443
        box initialText:d
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   444
    ].
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   445
    box action:[:dirName |
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   446
        myProject repositoryDirectory:dirName
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   447
    ].
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   448
    box showAtPointer
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   449
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   450
    "Created: 25.11.1995 / 18:07:51 / cg"
272
9eeb8aa5d1d7 commentary
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
   451
    "Modified: 11.12.1995 / 13:46:53 / cg"
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   452
!
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   453
110
claus
parents: 106
diff changeset
   454
removePackage
claus
parents: 106
diff changeset
   455
    "remove all classes and individual methods from the system.
claus
parents: 106
diff changeset
   456
     Currently, this cannot fully restore the state to before
claus
parents: 106
diff changeset
   457
     the time the package was loaded (redefined methods are lost).
claus
parents: 106
diff changeset
   458
     In the future, we may keep a backref of overwritten methods
claus
parents: 106
diff changeset
   459
     and restore them from their source ..."
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   460
110
claus
parents: 106
diff changeset
   461
    |classesToRemove methodsToRemove theProject|
claus
parents: 106
diff changeset
   462
claus
parents: 106
diff changeset
   463
    (myProject isNil
claus
parents: 106
diff changeset
   464
    or:[(theProject := myProject packageName) isNil]) ifTrue:[
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   465
        self warn:(resources string:'No current package.').
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   466
        ^ self
110
claus
parents: 106
diff changeset
   467
    ].
claus
parents: 106
diff changeset
   468
claus
parents: 106
diff changeset
   469
    classesToRemove := IdentitySet new.
claus
parents: 106
diff changeset
   470
    methodsToRemove := IdentitySet new.
claus
parents: 106
diff changeset
   471
claus
parents: 106
diff changeset
   472
    Smalltalk allClassesDo:[:aClass |
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   473
        |p|
110
claus
parents: 106
diff changeset
   474
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   475
        (p := aClass package) notNil ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   476
            p = theProject  ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   477
                classesToRemove add:aClass
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   478
            ]
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   479
        ].
110
claus
parents: 106
diff changeset
   480
    ].
claus
parents: 106
diff changeset
   481
    Smalltalk allClassesDo:[:aClass |
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   482
        |p|
110
claus
parents: 106
diff changeset
   483
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   484
        (classesToRemove includes:aClass) ifFalse:[
904
df0b2ed7a462 access methodDictionary instead of the old methodArray
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   485
            aClass methodDictionary keysAndValuesDo:[:sel :aMethod |
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   486
                (p := aMethod package) notNil ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   487
                    p = theProject  ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   488
                        methodsToRemove add:aMethod
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   489
                    ]
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   490
                ]
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   491
            ].
904
df0b2ed7a462 access methodDictionary instead of the old methodArray
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   492
            aClass class methodDictionary keysAndValuesDo:[:sel :aMethod |
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   493
                (p := aMethod package) notNil ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   494
                    p = theProject  ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   495
                        methodsToRemove add:aMethod
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   496
                    ]
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   497
                ]
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   498
            ].
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   499
        ].
110
claus
parents: 106
diff changeset
   500
    ].
claus
parents: 106
diff changeset
   501
claus
parents: 106
diff changeset
   502
    (classesToRemove isEmpty
claus
parents: 106
diff changeset
   503
    and:[methodsToRemove isEmpty]) ifTrue:[
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   504
        self warn:(resources string:'No classes or methods found in %1' with:theProject).
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   505
        ^ self
110
claus
parents: 106
diff changeset
   506
    ].
claus
parents: 106
diff changeset
   507
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   508
    (self confirm:(resources
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   509
                        string:'About to remove %1 classes and %2 additional methods.\\Are you certain you want this ?'
516
f007fd40377a examples
Claus Gittinger <cg@exept.de>
parents: 515
diff changeset
   510
                        with:classesToRemove size
f007fd40377a examples
Claus Gittinger <cg@exept.de>
parents: 515
diff changeset
   511
                        with:methodsToRemove size) withCRs)
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   512
        ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   513
            classesToRemove do:[:aClass |
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   514
                ('PROJECT: removing ' , aClass name) infoPrintNL.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   515
                Smalltalk removeClass:aClass.   
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   516
            ].
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   517
            methodsToRemove do:[:aMethod |
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   518
                |where|
110
claus
parents: 106
diff changeset
   519
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   520
                ('PROJECT: removing ' , aMethod displayString) infoPrintNL.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   521
                where := aMethod who.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   522
                where isNil ifTrue:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   523
                    'PROJECT: oops, some method is gone' infoPrintNL.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   524
                ] ifFalse:[
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   525
                    (where at:1) removeSelector:(where at:2)
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   526
                ]
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   527
            ]
110
claus
parents: 106
diff changeset
   528
    ].
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   529
!
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   530
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   531
renameProject
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   532
    |box|
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   533
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   534
    box := EnterBox new.
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   535
    box title:(resources string:'new name of project:').
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   536
    box okText:(resources string:'rename').
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   537
    box initialText:(myProject name).
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   538
    box action:[:newName |
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   539
        myProject name:newName.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   540
        self setProject:myProject.
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   541
        self windowGroup process name:'Project: ' , newName.
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   542
    ].
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   543
    box showAtPointer
278
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   544
9d33deca396c better message (nationalized)
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   545
    "Modified: 12.12.1995 / 16:22:48 / cg"
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   546
!
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   547
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   548
saveProjectFiles
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   549
    self topView withWaitCursorDo:[
85
d9713a3ca092 *** empty log message ***
claus
parents: 57
diff changeset
   550
	|dir|
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   551
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   552
	dir := myProject directory.
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   553
	(self confirm:'create source files in: ' ,  dir , ' ?') ifTrue:[
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   554
	    myProject createProjectFiles.
85
d9713a3ca092 *** empty log message ***
claus
parents: 57
diff changeset
   555
	]
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   556
    ].
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   557
!
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   558
513
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   559
showClassDocumentation
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   560
    "open a documentViewer on the projects classes documentation only"
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   561
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   562
    self topView withWaitCursorDo:[
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   563
        |classes packageName methods methodList anyClasses anyMethods 
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   564
         html|
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   565
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   566
        anyMethods := anyClasses := false.
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   567
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   568
        packageName := myProject packageName.
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   569
        classes := myProject classes.
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   570
        (classes notNil and:[classes notEmpty]) ifTrue:[
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   571
            anyClasses := true.
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   572
        ].
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   573
        (anyClasses or:[anyMethods]) ifFalse:[
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   574
            self information:(resources string:'no classes or methods in this project (yet)').
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   575
            ^ self.
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   576
        ].
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   577
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   578
        methods := myProject individualMethods.
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   579
        methods notEmpty ifTrue:[
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   580
            anyMethods := true.
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   581
            "/ not yet shown ...
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   582
        ].
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   583
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   584
        anyClasses ifFalse:[ ^ self].
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   585
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   586
        html := HTMLDocGenerator 
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   587
                        htmlClasses:classes 
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   588
                        title:'project classes' 
515
3f2035620126 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 513
diff changeset
   589
                        backTo:#none.
513
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   590
796
b8edcbceaa18 XtHTML is no longer there ...
Claus Gittinger <cg@exept.de>
parents: 692
diff changeset
   591
        HTMLDocumentView openFullOnText:html
513
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   592
    ]
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   593
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   594
    "Created: 11.4.1996 / 19:29:50 / cg"
515
3f2035620126 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 513
diff changeset
   595
    "Modified: 26.4.1996 / 17:48:33 / cg"
513
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   596
!
4c5b95c8c520 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 468
diff changeset
   597
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   598
showProject
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   599
    ActiveProjectView notNil ifTrue:[
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   600
	ActiveProjectView hideProject
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   601
    ].
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   602
    ActiveProjectView := self.
110
claus
parents: 106
diff changeset
   603
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   604
    myProject showViews.
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   605
    Project current:myProject.
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   606
    toggle turnOn
57
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   607
! !
36e13831b62d *** empty log message ***
claus
parents: 52
diff changeset
   608
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
   609
!ProjectView methodsFor:'private accessing'!
571fd5eee315 Initial revision
claus
parents:
diff changeset
   610
571fd5eee315 Initial revision
claus
parents:
diff changeset
   611
setProject:aProject
571fd5eee315 Initial revision
claus
parents:
diff changeset
   612
    |name e|
571fd5eee315 Initial revision
claus
parents:
diff changeset
   613
571fd5eee315 Initial revision
claus
parents:
diff changeset
   614
    name := aProject name.
571fd5eee315 Initial revision
claus
parents:
diff changeset
   615
    self label:name.
17
58c360f199be *** empty log message ***
claus
parents: 9
diff changeset
   616
    self iconLabel:name.
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
   617
    toggle label:'Project: ' , name.
571fd5eee315 Initial revision
claus
parents:
diff changeset
   618
    toggle resize.
571fd5eee315 Initial revision
claus
parents:
diff changeset
   619
    myProject := aProject.
571fd5eee315 Initial revision
claus
parents:
diff changeset
   620
    e := (toggle width @ toggle height).
29
8a72e10043f6 *** empty log message ***
claus
parents: 17
diff changeset
   621
    drawableId isNil ifTrue:[
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   622
	self minExtent:e.
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   623
	self maxExtent:e.
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   624
	self open
29
8a72e10043f6 *** empty log message ***
claus
parents: 17
diff changeset
   625
    ] ifFalse:[
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   626
	self unrealize.
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   627
	self minExtent:e.
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   628
	self maxExtent:e.
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   629
	self extent:e.
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   630
	self rerealize
29
8a72e10043f6 *** empty log message ***
claus
parents: 17
diff changeset
   631
    ]
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
   632
! !
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   633
796
b8edcbceaa18 XtHTML is no longer there ...
Claus Gittinger <cg@exept.de>
parents: 692
diff changeset
   634
!ProjectView class methodsFor:'documentation'!
217
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   635
a4b6b0d44c3b repository added
Claus Gittinger <cg@exept.de>
parents: 175
diff changeset
   636
version
904
df0b2ed7a462 access methodDictionary instead of the old methodArray
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   637
    ^ '$Header: /cvs/stx/stx/libtool/ProjectView.st,v 1.34 1997-01-04 15:40:42 cg Exp $'
515
3f2035620126 per project class docu added
Claus Gittinger <cg@exept.de>
parents: 513
diff changeset
   638
! !