packages/AbstractPackageNotebookApplication.st
author Claus Gittinger <cg@exept.de>
Tue, 25 Feb 2020 12:24:48 +0100
changeset 4559 e97f85bac732
parent 1443 6dfdf336b472
child 3011 1997ff6e7e55
permissions -rw-r--r--
#REFACTORING by exept class: CVSSourceCodeManager class eliminate withCRs - use c-strings changed: #executeCVSCommand:module:inDirectory:log:pipe:orElseOutputTo:errorTo: #pathesForClasses: #revisionInfoFromString:inClass:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1443
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
     1
"
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
     2
 COPYRIGHT (c) 2003 by eXept Software AG
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
     3
              All Rights Reserved
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
     4
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
     5
 This software is furnished under a license and may be used
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
     6
 only in accordance with the terms of that license and with the
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
     8
 be provided or otherwise made available to, or used by, any
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
     9
 other person.  No title to or ownership of the software is
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    10
 hereby transferred.
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    11
"
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    12
1266
a6392c856409 initial checkin
james
parents:
diff changeset
    13
"{ Package: 'stx:libbasic3' }"
a6392c856409 initial checkin
james
parents:
diff changeset
    14
a6392c856409 initial checkin
james
parents:
diff changeset
    15
"{ NameSpace: Packages }"
a6392c856409 initial checkin
james
parents:
diff changeset
    16
a6392c856409 initial checkin
james
parents:
diff changeset
    17
AbstractPackageBrowser subclass:#AbstractPackageNotebookApplication
a6392c856409 initial checkin
james
parents:
diff changeset
    18
	instanceVariableNames:'selectedTabHolder canvasHolder tabListHolder tabApplications'
a6392c856409 initial checkin
james
parents:
diff changeset
    19
	classVariableNames:''
a6392c856409 initial checkin
james
parents:
diff changeset
    20
	poolDictionaries:''
a6392c856409 initial checkin
james
parents:
diff changeset
    21
	category:'Package-Application'
a6392c856409 initial checkin
james
parents:
diff changeset
    22
!
a6392c856409 initial checkin
james
parents:
diff changeset
    23
1443
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    24
!AbstractPackageNotebookApplication class methodsFor:'documentation'!
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    25
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    26
copyright
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    27
"
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    28
 COPYRIGHT (c) 2003 by eXept Software AG
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    29
              All Rights Reserved
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    30
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    31
 This software is furnished under a license and may be used
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    32
 only in accordance with the terms of that license and with the
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    33
 inclusion of the above copyright notice.   This software may not
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    34
 be provided or otherwise made available to, or used by, any
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    35
 other person.  No title to or ownership of the software is
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    36
 hereby transferred.
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    37
"
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
    38
! !
1266
a6392c856409 initial checkin
james
parents:
diff changeset
    39
a6392c856409 initial checkin
james
parents:
diff changeset
    40
!AbstractPackageNotebookApplication class methodsFor:'constant values'!
a6392c856409 initial checkin
james
parents:
diff changeset
    41
a6392c856409 initial checkin
james
parents:
diff changeset
    42
applicationName
a6392c856409 initial checkin
james
parents:
diff changeset
    43
    ^ 'No name' asSymbol
a6392c856409 initial checkin
james
parents:
diff changeset
    44
! !
a6392c856409 initial checkin
james
parents:
diff changeset
    45
a6392c856409 initial checkin
james
parents:
diff changeset
    46
!AbstractPackageNotebookApplication class methodsFor:'defaults'!
a6392c856409 initial checkin
james
parents:
diff changeset
    47
a6392c856409 initial checkin
james
parents:
diff changeset
    48
tabsNames
a6392c856409 initial checkin
james
parents:
diff changeset
    49
    ^ self tabsNamesAndClasses keys asOrderedCollection sort:[:x :y |
a6392c856409 initial checkin
james
parents:
diff changeset
    50
            x < y
a6392c856409 initial checkin
james
parents:
diff changeset
    51
      ]
a6392c856409 initial checkin
james
parents:
diff changeset
    52
a6392c856409 initial checkin
james
parents:
diff changeset
    53
"/    ^ #( 
a6392c856409 initial checkin
james
parents:
diff changeset
    54
"/            #(#'Classes'         #Classes)
a6392c856409 initial checkin
james
parents:
diff changeset
    55
"/            #(#'Loose Methods'   #LooseMethod)
a6392c856409 initial checkin
james
parents:
diff changeset
    56
"/            #(#'Scripts'         #Scripts)
a6392c856409 initial checkin
james
parents:
diff changeset
    57
"/            #(#'Prerequisites'   #Prerequisites)
a6392c856409 initial checkin
james
parents:
diff changeset
    58
"/            #(#'Comment'         #Comment)
a6392c856409 initial checkin
james
parents:
diff changeset
    59
"/       ).
a6392c856409 initial checkin
james
parents:
diff changeset
    60
!
a6392c856409 initial checkin
james
parents:
diff changeset
    61
a6392c856409 initial checkin
james
parents:
diff changeset
    62
tabsNamesAndClasses
a6392c856409 initial checkin
james
parents:
diff changeset
    63
    | dic |
a6392c856409 initial checkin
james
parents:
diff changeset
    64
    dic := Dictionary new.
a6392c856409 initial checkin
james
parents:
diff changeset
    65
a6392c856409 initial checkin
james
parents:
diff changeset
    66
    self privateClasses do:[:aPrivateClass |  
a6392c856409 initial checkin
james
parents:
diff changeset
    67
            dic at:aPrivateClass applicationName  put:aPrivateClass name
a6392c856409 initial checkin
james
parents:
diff changeset
    68
    ].                                       
a6392c856409 initial checkin
james
parents:
diff changeset
    69
    ^ dic
a6392c856409 initial checkin
james
parents:
diff changeset
    70
a6392c856409 initial checkin
james
parents:
diff changeset
    71
"/    ^ #( 
a6392c856409 initial checkin
james
parents:
diff changeset
    72
"/            #(#'Classes'         #Classes)
a6392c856409 initial checkin
james
parents:
diff changeset
    73
"/            #(#'Loose Methods'   #LooseMethod)
a6392c856409 initial checkin
james
parents:
diff changeset
    74
"/            #(#'Scripts'         #Scripts)
a6392c856409 initial checkin
james
parents:
diff changeset
    75
"/            #(#'Prerequisites'   #Prerequisites)
a6392c856409 initial checkin
james
parents:
diff changeset
    76
"/            #(#'Comment'         #Comment)
a6392c856409 initial checkin
james
parents:
diff changeset
    77
"/       ).
a6392c856409 initial checkin
james
parents:
diff changeset
    78
! !
a6392c856409 initial checkin
james
parents:
diff changeset
    79
a6392c856409 initial checkin
james
parents:
diff changeset
    80
!AbstractPackageNotebookApplication class methodsFor:'interface specs'!
a6392c856409 initial checkin
james
parents:
diff changeset
    81
a6392c856409 initial checkin
james
parents:
diff changeset
    82
windowSpec
a6392c856409 initial checkin
james
parents:
diff changeset
    83
    "This resource specification was automatically generated
a6392c856409 initial checkin
james
parents:
diff changeset
    84
     by the UIPainter of ST/X."
a6392c856409 initial checkin
james
parents:
diff changeset
    85
a6392c856409 initial checkin
james
parents:
diff changeset
    86
    "Do not manually edit this!! If it is corrupted,
a6392c856409 initial checkin
james
parents:
diff changeset
    87
     the UIPainter may not be able to read the specification."
a6392c856409 initial checkin
james
parents:
diff changeset
    88
a6392c856409 initial checkin
james
parents:
diff changeset
    89
    "
1279
95a37d60edd8 *** empty log message ***
james
parents: 1266
diff changeset
    90
     UIPainter new openOnClass:Packages::AbstractPackageNotebookApplication andSelector:#windowSpec
95a37d60edd8 *** empty log message ***
james
parents: 1266
diff changeset
    91
     Packages::AbstractPackageNotebookApplication new openInterface:#windowSpec
95a37d60edd8 *** empty log message ***
james
parents: 1266
diff changeset
    92
     Packages::AbstractPackageNotebookApplication open
1266
a6392c856409 initial checkin
james
parents:
diff changeset
    93
    "
a6392c856409 initial checkin
james
parents:
diff changeset
    94
a6392c856409 initial checkin
james
parents:
diff changeset
    95
    <resource: #canvas>
a6392c856409 initial checkin
james
parents:
diff changeset
    96
a6392c856409 initial checkin
james
parents:
diff changeset
    97
    ^ 
a6392c856409 initial checkin
james
parents:
diff changeset
    98
     #(#FullSpec
a6392c856409 initial checkin
james
parents:
diff changeset
    99
        #name: #windowSpec
a6392c856409 initial checkin
james
parents:
diff changeset
   100
        #window: 
a6392c856409 initial checkin
james
parents:
diff changeset
   101
       #(#WindowSpec
a6392c856409 initial checkin
james
parents:
diff changeset
   102
          #label: 'Packages::PackageDetails'
a6392c856409 initial checkin
james
parents:
diff changeset
   103
          #name: 'Packages::PackageDetails'
a6392c856409 initial checkin
james
parents:
diff changeset
   104
          #min: #(#Point 10 10)
a6392c856409 initial checkin
james
parents:
diff changeset
   105
          #max: #(#Point 1024 768)
a6392c856409 initial checkin
james
parents:
diff changeset
   106
          #bounds: #(#Rectangle 29 59 329 359)
a6392c856409 initial checkin
james
parents:
diff changeset
   107
        )
a6392c856409 initial checkin
james
parents:
diff changeset
   108
        #component: 
a6392c856409 initial checkin
james
parents:
diff changeset
   109
       #(#SpecCollection
a6392c856409 initial checkin
james
parents:
diff changeset
   110
          #collection: #(
a6392c856409 initial checkin
james
parents:
diff changeset
   111
           #(#NoteBookViewSpec
a6392c856409 initial checkin
james
parents:
diff changeset
   112
              #name: 'PackageDetailsNotebook'
a6392c856409 initial checkin
james
parents:
diff changeset
   113
              #layout: #(#LayoutFrame 0 0 0 0 0 1 0 1)
a6392c856409 initial checkin
james
parents:
diff changeset
   114
              #model: #selectedTabHolder
a6392c856409 initial checkin
james
parents:
diff changeset
   115
              #menu: #tabListHolder
a6392c856409 initial checkin
james
parents:
diff changeset
   116
              #selectConditionBlock: #packageDetailsChangeToTabNumber:
a6392c856409 initial checkin
james
parents:
diff changeset
   117
              #canvas: #canvasHolder
a6392c856409 initial checkin
james
parents:
diff changeset
   118
              #postBuildCallback: #selectInitialTab
a6392c856409 initial checkin
james
parents:
diff changeset
   119
            )
a6392c856409 initial checkin
james
parents:
diff changeset
   120
           )
a6392c856409 initial checkin
james
parents:
diff changeset
   121
         
a6392c856409 initial checkin
james
parents:
diff changeset
   122
        )
a6392c856409 initial checkin
james
parents:
diff changeset
   123
      )
a6392c856409 initial checkin
james
parents:
diff changeset
   124
! !
a6392c856409 initial checkin
james
parents:
diff changeset
   125
a6392c856409 initial checkin
james
parents:
diff changeset
   126
!AbstractPackageNotebookApplication class methodsFor:'plugIn spec'!
a6392c856409 initial checkin
james
parents:
diff changeset
   127
a6392c856409 initial checkin
james
parents:
diff changeset
   128
aspectSelectors
a6392c856409 initial checkin
james
parents:
diff changeset
   129
    "This resource specification was automatically generated
a6392c856409 initial checkin
james
parents:
diff changeset
   130
     by the UIPainter of ST/X."
a6392c856409 initial checkin
james
parents:
diff changeset
   131
a6392c856409 initial checkin
james
parents:
diff changeset
   132
    "Do not manually edit this. If it is corrupted,
a6392c856409 initial checkin
james
parents:
diff changeset
   133
     the UIPainter may not be able to read the specification."
a6392c856409 initial checkin
james
parents:
diff changeset
   134
a6392c856409 initial checkin
james
parents:
diff changeset
   135
    "Return a description of exported aspects;
a6392c856409 initial checkin
james
parents:
diff changeset
   136
     these can be connected to aspects of an embedding application
a6392c856409 initial checkin
james
parents:
diff changeset
   137
     (if this app is embedded in a subCanvas)."
a6392c856409 initial checkin
james
parents:
diff changeset
   138
a6392c856409 initial checkin
james
parents:
diff changeset
   139
    ^ #(
a6392c856409 initial checkin
james
parents:
diff changeset
   140
        #list
a6392c856409 initial checkin
james
parents:
diff changeset
   141
        #selectionHolder
a6392c856409 initial checkin
james
parents:
diff changeset
   142
      ).
a6392c856409 initial checkin
james
parents:
diff changeset
   143
a6392c856409 initial checkin
james
parents:
diff changeset
   144
! !
a6392c856409 initial checkin
james
parents:
diff changeset
   145
a6392c856409 initial checkin
james
parents:
diff changeset
   146
!AbstractPackageNotebookApplication methodsFor:'accessing'!
a6392c856409 initial checkin
james
parents:
diff changeset
   147
a6392c856409 initial checkin
james
parents:
diff changeset
   148
selectedTab:aSymbol 
a6392c856409 initial checkin
james
parents:
diff changeset
   149
    ^ self selectedTabHolder value:aSymbol
a6392c856409 initial checkin
james
parents:
diff changeset
   150
!
a6392c856409 initial checkin
james
parents:
diff changeset
   151
a6392c856409 initial checkin
james
parents:
diff changeset
   152
tabApplications
a6392c856409 initial checkin
james
parents:
diff changeset
   153
    "return the value of the instance variable 'tabApplications' (automatically generated)"
a6392c856409 initial checkin
james
parents:
diff changeset
   154
    tabApplications ifNil:[
a6392c856409 initial checkin
james
parents:
diff changeset
   155
        tabApplications := Dictionary new
a6392c856409 initial checkin
james
parents:
diff changeset
   156
    ].
a6392c856409 initial checkin
james
parents:
diff changeset
   157
    ^ tabApplications
a6392c856409 initial checkin
james
parents:
diff changeset
   158
!
a6392c856409 initial checkin
james
parents:
diff changeset
   159
a6392c856409 initial checkin
james
parents:
diff changeset
   160
tabApplications:something
a6392c856409 initial checkin
james
parents:
diff changeset
   161
    "set the value of the instance variable 'tabApplications' (automatically generated)"
a6392c856409 initial checkin
james
parents:
diff changeset
   162
a6392c856409 initial checkin
james
parents:
diff changeset
   163
    tabApplications := something.
a6392c856409 initial checkin
james
parents:
diff changeset
   164
! !
a6392c856409 initial checkin
james
parents:
diff changeset
   165
a6392c856409 initial checkin
james
parents:
diff changeset
   166
!AbstractPackageNotebookApplication methodsFor:'actions'!
a6392c856409 initial checkin
james
parents:
diff changeset
   167
a6392c856409 initial checkin
james
parents:
diff changeset
   168
packageDetailsChangeToTabNamed:aSymbol
a6392c856409 initial checkin
james
parents:
diff changeset
   169
    "return a boolean validating if you can change the current selected
a6392c856409 initial checkin
james
parents:
diff changeset
   170
     tab to the tab represented by aSymbol"
a6392c856409 initial checkin
james
parents:
diff changeset
   171
    aSymbol == self selectedTab ifTrue:[
a6392c856409 initial checkin
james
parents:
diff changeset
   172
        ^ self. "do nothing... dont think this can happen 
a6392c856409 initial checkin
james
parents:
diff changeset
   173
                but it means that the #validateChangeTo: methods do not need this check!!"
a6392c856409 initial checkin
james
parents:
diff changeset
   174
    ].
a6392c856409 initial checkin
james
parents:
diff changeset
   175
    ^ (self instanceAtTab:self selectedTab) validateCanChange:(self instanceAtTab:aSymbol)
a6392c856409 initial checkin
james
parents:
diff changeset
   176
!
a6392c856409 initial checkin
james
parents:
diff changeset
   177
a6392c856409 initial checkin
james
parents:
diff changeset
   178
packageDetailsChangeToTabNumber:anInteger
a6392c856409 initial checkin
james
parents:
diff changeset
   179
    "return a boolean validating if you can change the current selected
a6392c856409 initial checkin
james
parents:
diff changeset
   180
     tab to the tab represented by anInteger"
a6392c856409 initial checkin
james
parents:
diff changeset
   181
    ^ self packageDetailsChangeToTabNamed:(self tabListHolder value at:anInteger)
a6392c856409 initial checkin
james
parents:
diff changeset
   182
!
a6392c856409 initial checkin
james
parents:
diff changeset
   183
a6392c856409 initial checkin
james
parents:
diff changeset
   184
selectInitialTab
a6392c856409 initial checkin
james
parents:
diff changeset
   185
    self selectedTab:self tabListHolder value first.
a6392c856409 initial checkin
james
parents:
diff changeset
   186
! !
a6392c856409 initial checkin
james
parents:
diff changeset
   187
a6392c856409 initial checkin
james
parents:
diff changeset
   188
!AbstractPackageNotebookApplication methodsFor:'aspects'!
a6392c856409 initial checkin
james
parents:
diff changeset
   189
a6392c856409 initial checkin
james
parents:
diff changeset
   190
canvasHolder
a6392c856409 initial checkin
james
parents:
diff changeset
   191
    "automatically generated by UIPainter ..."
a6392c856409 initial checkin
james
parents:
diff changeset
   192
a6392c856409 initial checkin
james
parents:
diff changeset
   193
    "*** the code below creates a default model when invoked."
a6392c856409 initial checkin
james
parents:
diff changeset
   194
    "*** (which may not be the one you wanted)"
a6392c856409 initial checkin
james
parents:
diff changeset
   195
    "*** Please change as required and accept it in the browser."
a6392c856409 initial checkin
james
parents:
diff changeset
   196
    "*** (and replace this comment by something more useful ;-)"
a6392c856409 initial checkin
james
parents:
diff changeset
   197
a6392c856409 initial checkin
james
parents:
diff changeset
   198
    canvasHolder isNil ifTrue:[
a6392c856409 initial checkin
james
parents:
diff changeset
   199
        canvasHolder := ValueHolder with:(SubCanvas new) .
a6392c856409 initial checkin
james
parents:
diff changeset
   200
"/ if your app needs to be notified of changes, uncomment one of the lines below:
a6392c856409 initial checkin
james
parents:
diff changeset
   201
"/       canvasHolder addDependent:self.
a6392c856409 initial checkin
james
parents:
diff changeset
   202
"/       canvasHolder onChangeSend:#canvasHolderChanged to:self.
a6392c856409 initial checkin
james
parents:
diff changeset
   203
    ].
a6392c856409 initial checkin
james
parents:
diff changeset
   204
    ^ canvasHolder.
a6392c856409 initial checkin
james
parents:
diff changeset
   205
!
a6392c856409 initial checkin
james
parents:
diff changeset
   206
a6392c856409 initial checkin
james
parents:
diff changeset
   207
selectedTab
a6392c856409 initial checkin
james
parents:
diff changeset
   208
    ^ selectedTabHolder value
a6392c856409 initial checkin
james
parents:
diff changeset
   209
!
a6392c856409 initial checkin
james
parents:
diff changeset
   210
a6392c856409 initial checkin
james
parents:
diff changeset
   211
selectedTabHolder
a6392c856409 initial checkin
james
parents:
diff changeset
   212
a6392c856409 initial checkin
james
parents:
diff changeset
   213
    selectedTabHolder isNil ifTrue:[
a6392c856409 initial checkin
james
parents:
diff changeset
   214
        selectedTabHolder := ValueHolder new.
a6392c856409 initial checkin
james
parents:
diff changeset
   215
       selectedTabHolder addDependent:self.
a6392c856409 initial checkin
james
parents:
diff changeset
   216
       selectedTabHolder onChangeSend:#selectedTabHolderChanged to:self.
a6392c856409 initial checkin
james
parents:
diff changeset
   217
    ].
a6392c856409 initial checkin
james
parents:
diff changeset
   218
    ^ selectedTabHolder.
a6392c856409 initial checkin
james
parents:
diff changeset
   219
!
a6392c856409 initial checkin
james
parents:
diff changeset
   220
a6392c856409 initial checkin
james
parents:
diff changeset
   221
tabListHolder
a6392c856409 initial checkin
james
parents:
diff changeset
   222
    "holds the names of the tab in a tabList"
a6392c856409 initial checkin
james
parents:
diff changeset
   223
    tabListHolder isNil ifTrue:[
a6392c856409 initial checkin
james
parents:
diff changeset
   224
        tabListHolder := ValueHolder with:(self class tabsNames).
a6392c856409 initial checkin
james
parents:
diff changeset
   225
"/ if your app needs to be notified of changes, uncomment one of the lines below:
a6392c856409 initial checkin
james
parents:
diff changeset
   226
"/       tabList addDependent:self.
a6392c856409 initial checkin
james
parents:
diff changeset
   227
"/       tabList onChangeSend:#tabListChanged to:self.
a6392c856409 initial checkin
james
parents:
diff changeset
   228
    ].
a6392c856409 initial checkin
james
parents:
diff changeset
   229
    ^ tabListHolder.
a6392c856409 initial checkin
james
parents:
diff changeset
   230
! !
a6392c856409 initial checkin
james
parents:
diff changeset
   231
a6392c856409 initial checkin
james
parents:
diff changeset
   232
!AbstractPackageNotebookApplication methodsFor:'changes'!
a6392c856409 initial checkin
james
parents:
diff changeset
   233
a6392c856409 initial checkin
james
parents:
diff changeset
   234
selectedTabHolderChanged
a6392c856409 initial checkin
james
parents:
diff changeset
   235
    | instance |
a6392c856409 initial checkin
james
parents:
diff changeset
   236
    instance := self instanceAtTab:self selectedTab.
a6392c856409 initial checkin
james
parents:
diff changeset
   237
a6392c856409 initial checkin
james
parents:
diff changeset
   238
    instance ifNil:[
a6392c856409 initial checkin
james
parents:
diff changeset
   239
        ^ self
a6392c856409 initial checkin
james
parents:
diff changeset
   240
    ].
a6392c856409 initial checkin
james
parents:
diff changeset
   241
    self canvasHolder value client:(instance).
a6392c856409 initial checkin
james
parents:
diff changeset
   242
!
a6392c856409 initial checkin
james
parents:
diff changeset
   243
a6392c856409 initial checkin
james
parents:
diff changeset
   244
updateWithPackages:packages
a6392c856409 initial checkin
james
parents:
diff changeset
   245
! !
a6392c856409 initial checkin
james
parents:
diff changeset
   246
a6392c856409 initial checkin
james
parents:
diff changeset
   247
!AbstractPackageNotebookApplication methodsFor:'factory'!
a6392c856409 initial checkin
james
parents:
diff changeset
   248
a6392c856409 initial checkin
james
parents:
diff changeset
   249
applicationClassAt:aSymbol 
a6392c856409 initial checkin
james
parents:
diff changeset
   250
    ^ Smalltalk classNamed:(self class tabsNamesAndClasses at:aSymbol).
a6392c856409 initial checkin
james
parents:
diff changeset
   251
a6392c856409 initial checkin
james
parents:
diff changeset
   252
a6392c856409 initial checkin
james
parents:
diff changeset
   253
a6392c856409 initial checkin
james
parents:
diff changeset
   254
a6392c856409 initial checkin
james
parents:
diff changeset
   255
a6392c856409 initial checkin
james
parents:
diff changeset
   256
a6392c856409 initial checkin
james
parents:
diff changeset
   257
a6392c856409 initial checkin
james
parents:
diff changeset
   258
!
a6392c856409 initial checkin
james
parents:
diff changeset
   259
a6392c856409 initial checkin
james
parents:
diff changeset
   260
instanceAtTab:aSymbol 
a6392c856409 initial checkin
james
parents:
diff changeset
   261
    | anInstance |
a6392c856409 initial checkin
james
parents:
diff changeset
   262
    ^ self tabApplications at:aSymbol ifAbsentPut:[
a6392c856409 initial checkin
james
parents:
diff changeset
   263
        anInstance := (self applicationClassAt:aSymbol) new.
a6392c856409 initial checkin
james
parents:
diff changeset
   264
        anInstance masterApplication:self.
a6392c856409 initial checkin
james
parents:
diff changeset
   265
        anInstance
a6392c856409 initial checkin
james
parents:
diff changeset
   266
    ].
a6392c856409 initial checkin
james
parents:
diff changeset
   267
! !
a6392c856409 initial checkin
james
parents:
diff changeset
   268
a6392c856409 initial checkin
james
parents:
diff changeset
   269
!AbstractPackageNotebookApplication methodsFor:'initialization & release'!
a6392c856409 initial checkin
james
parents:
diff changeset
   270
a6392c856409 initial checkin
james
parents:
diff changeset
   271
closeDownViews
a6392c856409 initial checkin
james
parents:
diff changeset
   272
    "This is a hook method generated by the Browser.
a6392c856409 initial checkin
james
parents:
diff changeset
   273
     It will be invoked when your app/dialog-window is really closed.
a6392c856409 initial checkin
james
parents:
diff changeset
   274
     See also #closeDownViews, which is invoked before and may suppress the close
a6392c856409 initial checkin
james
parents:
diff changeset
   275
     or ask the user for confirmation."
a6392c856409 initial checkin
james
parents:
diff changeset
   276
a6392c856409 initial checkin
james
parents:
diff changeset
   277
    "/ change the code below as required ...
a6392c856409 initial checkin
james
parents:
diff changeset
   278
    "/ This should cleanup any leftover resources
a6392c856409 initial checkin
james
parents:
diff changeset
   279
    "/ (for example, temporary files)
a6392c856409 initial checkin
james
parents:
diff changeset
   280
    "/ super closeRequest will initiate the closeDown
a6392c856409 initial checkin
james
parents:
diff changeset
   281
a6392c856409 initial checkin
james
parents:
diff changeset
   282
    "/ add your code here
a6392c856409 initial checkin
james
parents:
diff changeset
   283
a6392c856409 initial checkin
james
parents:
diff changeset
   284
    "/ do not remove the one below ...
a6392c856409 initial checkin
james
parents:
diff changeset
   285
    ^ super closeDownViews
a6392c856409 initial checkin
james
parents:
diff changeset
   286
!
a6392c856409 initial checkin
james
parents:
diff changeset
   287
a6392c856409 initial checkin
james
parents:
diff changeset
   288
closeRequest
a6392c856409 initial checkin
james
parents:
diff changeset
   289
    ^ super closeRequest
a6392c856409 initial checkin
james
parents:
diff changeset
   290
!
a6392c856409 initial checkin
james
parents:
diff changeset
   291
a6392c856409 initial checkin
james
parents:
diff changeset
   292
postBuildWith:aBuilder
a6392c856409 initial checkin
james
parents:
diff changeset
   293
    "This is a hook method generated by the Browser.
a6392c856409 initial checkin
james
parents:
diff changeset
   294
     It will be invoked during the initialization of your app/dialog,
a6392c856409 initial checkin
james
parents:
diff changeset
   295
     after all of the visual components have been built, 
a6392c856409 initial checkin
james
parents:
diff changeset
   296
     but BEFORE the top window is made visible.
a6392c856409 initial checkin
james
parents:
diff changeset
   297
     Add any app-specific actions here (reading files, setting up values etc.)
a6392c856409 initial checkin
james
parents:
diff changeset
   298
     See also #postOpenWith:, which is invoked after opening."
a6392c856409 initial checkin
james
parents:
diff changeset
   299
a6392c856409 initial checkin
james
parents:
diff changeset
   300
    "/ add any code here ...
a6392c856409 initial checkin
james
parents:
diff changeset
   301
    ^ super postBuildWith:aBuilder
a6392c856409 initial checkin
james
parents:
diff changeset
   302
!
a6392c856409 initial checkin
james
parents:
diff changeset
   303
a6392c856409 initial checkin
james
parents:
diff changeset
   304
postOpenWith:aBuilder
a6392c856409 initial checkin
james
parents:
diff changeset
   305
    "This is a hook method generated by the Browser.
a6392c856409 initial checkin
james
parents:
diff changeset
   306
     It will be invoked right after the applications window has been opened.
a6392c856409 initial checkin
james
parents:
diff changeset
   307
     Add any app-specific actions here (starting background processes etc.).
a6392c856409 initial checkin
james
parents:
diff changeset
   308
     See also #postBuildWith:, which is invoked before opening."
a6392c856409 initial checkin
james
parents:
diff changeset
   309
a6392c856409 initial checkin
james
parents:
diff changeset
   310
    "/ add any code here ...
a6392c856409 initial checkin
james
parents:
diff changeset
   311
    ^ super postOpenWith:aBuilder
a6392c856409 initial checkin
james
parents:
diff changeset
   312
! !
a6392c856409 initial checkin
james
parents:
diff changeset
   313
a6392c856409 initial checkin
james
parents:
diff changeset
   314
!AbstractPackageNotebookApplication class methodsFor:'documentation'!
a6392c856409 initial checkin
james
parents:
diff changeset
   315
a6392c856409 initial checkin
james
parents:
diff changeset
   316
version
1443
6dfdf336b472 copyright
Claus Gittinger <cg@exept.de>
parents: 1279
diff changeset
   317
    ^ '$Header: /cvs/stx/stx/libbasic3/packages/AbstractPackageNotebookApplication.st,v 1.3 2006-01-10 09:25:10 cg Exp $'
1266
a6392c856409 initial checkin
james
parents:
diff changeset
   318
! !