Tools__ProjectLoader.st
author Claus Gittinger <cg@exept.de>
Fri, 01 Jul 2011 16:15:32 +0200
changeset 10016 eb6e76a20fc3
child 10098 c837d8825b74
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10016
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2006 by eXept Software AG
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
	      All Rights Reserved
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libtool' }"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ NameSpace: Tools }"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
SimpleDialog subclass:#ProjectLoader
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	instanceVariableNames:'projectList'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	classVariableNames:''
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	poolDictionaries:''
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	category:'Interface-Tools'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!ProjectLoader class methodsFor:'documentation'!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
copyright
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
 COPYRIGHT (c) 2006 by eXept Software AG
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
	      All Rights Reserved
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
 This software is furnished under a license and may be used
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
 only in accordance with the terms of that license and with the
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 be provided or otherwise made available to, or used by, any
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
 other person.  No title to or ownership of the software is
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
 hereby transferred.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
! !
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
!ProjectLoader class methodsFor:'initialization'!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
initialize
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    | item |
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
    item := (MenuItem label:'Load project')
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
                nameKey:'LoadProject';
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
                value:[(Smalltalk at: self fullName asSymbol) open].
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
    NewLauncher
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
        addMenuItem: item
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
        from: nil
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
        in: 'menu'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
        position: #after
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
        space: true.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    "
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
        self initialize 
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    "
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    "Created: / 22-11-2008 / 09:58:03 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    "Modified: / 26-11-2008 / 10:00:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
! !
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
!ProjectLoader class methodsFor:'accessing'!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
projectSites
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
    ^UserPreferences current projectLoaderProjectSites
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
    "Created: / 22-11-2008 / 09:13:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
    "Modified: / 26-11-2008 / 10:13:32 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
! !
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
!ProjectLoader class methodsFor:'defaults'!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
defaultProjectFile
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
    ^ (Filename homeDirectory construct:'.smalltalk') construct:'projects.rc'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
    "Created: / 26-11-2008 / 10:15:02 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
defaultProjects
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
    ^#(
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
        (
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
                'CellStore'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
                ('cvut:fel/cellstore/core')
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
        )
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
        (
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
                'Perseus'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
                ('cvut:fel/perseus/core'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
                 'cvut:fel/perseus/core_ui'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
                 'cvut:fel/perseus/smallscript'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
                 'cvut:fel/perseus/pascal'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
                 'stx:goodies/xmlsuite/xquery')
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
        )
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
        (
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
                'IZAR'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
                ('cvut:fel/izar')
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
        )
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
)
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
    "Created: / 26-11-2008 / 10:06:14 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
! !
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
!ProjectLoader class methodsFor:'interface specs'!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
windowSpec
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
    "This resource specification was automatically generated
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
     by the UIPainter of ST/X."
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
    "Do not manually edit this!! If it is corrupted,
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
     the UIPainter may not be able to read the specification."
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
    "
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
     UIPainter new openOnClass:Tools::ProjectLoadDialog andSelector:#windowSpec
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
     Tools::ProjectLoadDialog new openInterface:#windowSpec
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
     Tools::ProjectLoadDialog open
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
    "
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
    <resource: #canvas>
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
    ^ 
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
     #(FullSpec
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
        name: windowSpec
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
        window: 
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
       (WindowSpec
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
          label: 'Select project'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
          name: 'Select project'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
          min: (Point 10 10)
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
          bounds: (Rectangle 0 0 402 301)
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
        )
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
        component: 
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
       (SpecCollection
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
          collection: (
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
           (VerticalPanelViewSpec
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
              name: 'Main'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
              layout: (LayoutFrame 3 0 3 0 -3 1 -3 1)
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
              horizontalLayout: fitSpace
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
              verticalLayout: bottomSpaceFit
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
              horizontalSpace: 3
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
              verticalSpace: 3
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
              component: 
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
             (SpecCollection
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
                collection: (
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
                 (SelectionInListModelViewSpec
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
                    name: 'ProjectList'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
                    model: projectSelectionHolder
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
                    hasHorizontalScrollBar: true
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
                    hasVerticalScrollBar: true
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
                    listModel: projectNamesHolder
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
                    highlightMode: line
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
                    doubleClickSelector: doAccept
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
                    extent: (Point 390 240)
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
                  )
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
                 (ActionButtonSpec
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
                    label: 'Update list from network'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
                    name: 'Update'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
                    translateLabel: true
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
                    model: doUpdateFromNetwork
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
                    initiallyDisabled: false
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
                    useDefaultExtent: true
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
                  )
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
                 (HorizontalPanelViewSpec
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
                    name: 'ButtonPanel'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
                    horizontalLayout: fit
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
                    verticalLayout: fitSpace
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
                    horizontalSpace: 3
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
                    verticalSpace: 3
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
                    component: 
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
                   (SpecCollection
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
                      collection: (
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
                       (ActionButtonSpec
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
                          label: 'Cancel'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
                          name: 'CancelButton'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
                          translateLabel: true
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
                          model: doCancel
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
                          useDefaultExtent: true
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
                        )
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
                       (ActionButtonSpec
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
                          label: 'Load'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
                          name: 'LoadButton'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
                          translateLabel: true
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
                          model: doAccept
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
                          enableChannel: canDoAcceptHolder
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
                          useDefaultExtent: true
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
                        )
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
                       )
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
                     
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
                    )
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
                    useDefaultExtent: true
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
                  )
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
                 )
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
               
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
              )
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
            )
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
           )
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
         
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
        )
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
      )
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
    "Modified: / 26-11-2008 / 09:16:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
! !
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
!ProjectLoader class methodsFor:'load & save'!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
loadProjects
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
    |projectFile|
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
    projectFile := self defaultProjectFile.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
    projectFile exists ifFalse:[
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
        ^ self defaultProjects
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
    ].
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
    ^ Compiler 
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
        evaluate:projectFile contents asString
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
        ifFail:[ self defaultProjects ].
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
    "
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
        self projectList"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
    "Created: / 22-11-2008 / 09:41:22 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
    "Modified: / 26-11-2008 / 10:17:23 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
saveProjects:projects 
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
    |projectFile|
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
    projectFile := self defaultProjectFile.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
    projectFile writeStream nextPutAll:projects storeString
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
    "Created: / 26-11-2008 / 10:07:42 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
! !
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
!ProjectLoader methodsFor:'actions'!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
doAccept
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
    | packages |
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
    self canDoAcceptHolder value ifFalse:[^self].
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
    packages := (projectList at: self projectSelectionHolder value) second.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
    packages do:
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
        [:pkg|Smalltalk loadPackage: pkg].
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
    super doAccept.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
    "Created: / 22-11-2008 / 09:55:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
doUpdateFromNetwork
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
    <resource: #uiCallback>
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
    | projects newProjects |
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
    projects := self class loadProjects asOrderedCollection.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
    self class projectSites do:
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
        [:site|
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
        | siteUrl response |
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
        siteUrl := site asURL.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
        response := HTTPInterface get: siteUrl path fromHost: siteUrl host.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
        newProjects := Compiler evaluate: response data ifFail:[#()].
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
        newProjects do:
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
            [:newPrj|
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
                | oldPrj |
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
                oldPrj := projects 
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
                            detect:[:oldPrj|oldPrj first = newPrj first] 
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
                            ifNone:[projects add: newPrj].
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
                oldPrj at:2 put: newPrj second.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
            ]
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
        ].
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
    projects := projects asArray.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
    projectList := projects.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
    self class saveProjects: projects.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
    self projectListChanged
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
    "
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
        Tools::ProjectLoadDialog new doUpdateFromNetwork
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
    "
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
    "Modified: / 26-11-2008 / 10:28:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
! !
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
!ProjectLoader methodsFor:'aspects'!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
canDoAcceptHolder
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
    <resource: #uiAspect>
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
    "automatically generated by UIPainter ..."
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
    "*** the code below creates a default model when invoked."
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
    "*** (which may not be the one you wanted)"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
    "*** Please change as required and accept it in the browser."
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
    "*** (and replace this comment by something more useful ;-)"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
    |holder|
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
    (holder := builder bindingAt:#canDoAcceptHolder) isNil ifTrue:[
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
        holder := false asValue.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
        builder aspectAt:#canDoAcceptHolder put:holder.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
"/ if your app needs to be notified of changes, uncomment one of the lines below:
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
"/       holder addDependent:self.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
"/       holder onChangeSend:#canDoAcceptHolderChanged to:self.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
    ].
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
    ^ holder.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
    "Created: / 22-11-2008 / 09:51:34 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
projectNamesHolder
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
    <resource: #uiAspect>
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
    "automatically generated by UIPainter ..."
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
    "*** the code below creates a default model when invoked."
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
    "*** (which may not be the one you wanted)"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
    "*** Please change as required and accept it in the browser."
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
    "*** (and replace this comment by something more useful ;-)"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
    |holder|
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
    (holder := builder bindingAt:#projectNamesHolder) isNil ifTrue:[
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
        holder := #() asValue.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
        builder aspectAt:#projectNamesHolder put:holder.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
"/ if your app needs to be notified of changes, uncomment one of the lines below:
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
"/       holder addDependent:self.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
"/       holder onChangeSend:#projectNamesHolderChanged to:self.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
    ].
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
    ^ holder.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
    "Created: / 22-11-2008 / 08:59:43 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
projectSelectionHolder
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
    <resource: #uiAspect>
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
    "automatically generated by UIPainter ..."
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
    "*** the code below creates a default model when invoked."
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
    "*** (which may not be the one you wanted)"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
    "*** Please change as required and accept it in the browser."
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
    "*** (and replace this comment by something more useful ;-)"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
    |holder|
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
    (holder := builder bindingAt:#projectSelectionHolder) isNil ifTrue:[
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
        holder := ValueHolder new.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
        builder aspectAt:#projectSelectionHolder put:holder.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
"/ if your app needs to be notified of changes, uncomment one of the lines below:
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
        holder addDependent:self.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
        holder onChangeSend:#projectSelectionHolderChanged to:self.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
    ].
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
    ^ holder.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
    "Created: / 22-11-2008 / 08:59:43 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
! !
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
!ProjectLoader methodsFor:'change & update'!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
projectListChanged
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
    self projectNamesHolder value:
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
        (projectList collect:[:prj|prj first])
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
    "Created: / 22-11-2008 / 09:52:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
projectSelectionHolderChanged
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
    | selection |
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
    selection := self projectSelectionHolder value.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
    self canDoAcceptHolder value:
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   374
        (selection notNil and:[selection ~= 0])
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
    "Created: / 22-11-2008 / 09:52:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
! !
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
!ProjectLoader methodsFor:'hooks'!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
commonPostOpen
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   383
    projectList := self class loadProjects.
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   384
    self projectListChanged
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
    "Created: / 22-11-2008 / 09:43:04 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
    "Modified: / 26-11-2008 / 10:16:30 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
! !
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   389
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
!ProjectLoader class methodsFor:'documentation'!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   391
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
version_CVS
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
    ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectLoader.st,v 1.1 2011-07-01 14:15:32 cg Exp $'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
!
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
version_SVN
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   397
    ^ '§Id: Tools__ProjectLoader.st 7486 2009-10-26 22:06:24Z vranyj1 §'
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
! !
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
eb6e76a20fc3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   400
ProjectLoader initialize!