Tools__HierarchicalPackageFilterList.st
author Claus Gittinger <cg@exept.de>
Fri, 01 Jul 2011 15:30:32 +0200
changeset 9998 dc88261b0fc2
parent 9990 15cd7042b1a0
child 10062 8130e24ed31e
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9990
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2006 by eXept Software AG
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
	      All Rights Reserved
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libtool' }"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ NameSpace: Tools }"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
HierarchicalProjectList subclass:#HierarchicalPackageFilterList
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	instanceVariableNames:''
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	classVariableNames:''
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	poolDictionaries:''
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	category:'Interface-Browsers-New-Profiler'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
HierarchicalItemWithLabel subclass:#PackageItem
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
	instanceVariableNames:'packageID selected'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
	classVariableNames:''
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
	poolDictionaries:''
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
	privateIn:HierarchicalPackageFilterList
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
!HierarchicalPackageFilterList class methodsFor:'documentation'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
copyright
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
 COPYRIGHT (c) 2006 by eXept Software AG
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
	      All Rights Reserved
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
 This software is furnished under a license and may be used
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
 only in accordance with the terms of that license and with the
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
 inclusion of the above copyright notice.   This software may not
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
 be provided or otherwise made available to, or used by, any
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
 other person.  No title to or ownership of the software is
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
 hereby transferred.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
!HierarchicalPackageFilterList class methodsFor:'interface specs'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
windowSpec
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    "This resource specification was automatically generated
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
     by the UIPainter of ST/X."
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
    "Do not manually edit this!! If it is corrupted,
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
     the UIPainter may not be able to read the specification."
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    "
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
     UIPainter new openOnClass:Tools::HierarchicalPackageFilterList andSelector:#windowSpec
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
     Tools::HierarchicalPackageFilterList new openInterface:#windowSpec
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
     Tools::HierarchicalPackageFilterList open
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    "
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    <resource: #canvas>
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    ^ 
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
     #(FullSpec
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
        name: windowSpec
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
        window: 
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
       (WindowSpec
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
          label: 'ProjectList'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
          name: 'ProjectList'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
          min: (Point 0 0)
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
          max: (Point 1024 721)
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
          bounds: (Rectangle 0 0 346 324)
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
        )
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
        component: 
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
       (SpecCollection
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
          collection: (
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
           (HierarchicalListViewSpec
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
              name: 'HierarchicalListView1'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
              layout: (LayoutFrame 0 0 0 0 0 1 -30 1)
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
              tabable: true
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
              model: hierarchicalProjectSelection
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
              menu: menuHolder
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
              hasHorizontalScrollBar: true
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
              hasVerticalScrollBar: true
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
              miniScrollerHorizontal: true
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
              listModel: hierarchicalProjectList
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
              highlightMode: line
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
              doubleClickSelector: doubleClicked:
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
              showLines: false
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
              indicatorSelector: indicatorPressed:
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
              properties: 
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
             (PropertyListDictionary
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
                dragArgument: nil
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
                dropArgument: nil
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
                canDropSelector: canDrop:
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
                dropSelector: doDrop:
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
              )
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
            )
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
           (LabelSpec
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
              label: 'Hint: double-click on item to (de)select'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
              name: 'Hint'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
              layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
              translateLabel: true
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
              adjust: left
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
            )
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
           )
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
         
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
        )
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
      )
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
    "Modified: / 10-10-2007 / 12:25:16 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
!HierarchicalPackageFilterList class methodsFor:'plugIn spec'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
aspectSelectors
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
    "This resource specification was automatically generated
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
     by the UIPainter of ST/X."
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
    "Do not manually edit this. If it is corrupted,
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
     the UIPainter may not be able to read the specification."
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
    "Return a description of exported aspects;
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
     these can be connected to aspects of an embedding application
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
     (if this app is embedded in a subCanvas)."
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
    ^ #(
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
        #packageFilter
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
      ).
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
    "Modified: / 10-10-2007 / 12:24:58 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
!HierarchicalPackageFilterList methodsFor:'aspects'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
generateHierarchicalProjectTree
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
    |anchor|
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
    self projectList value isNil ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
        self updateList.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
        self projectList value isNil ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
            ^ nil.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
        ]
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
    ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
    anchor := Tools::HierarchicalPackageFilterList::PackageItem new.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
    anchor package:''.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
    anchor label:nil.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
    packageToItemDictionary := IdentityDictionary new.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
    packageToItemDictionary at:'' asSymbol put:anchor.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
    self projectList value do:[:eachPackageString |
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
        |package|
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
        eachPackageString = '* all *' ifFalse:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
            package := eachPackageString asSymbol.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
            (packageToItemDictionary includesKey:package) ifFalse:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
                self addPackage:package 
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
            ]            
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
        ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
    ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
"/    Smalltalk allClassesDo:[:eachClass |
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
"/        |package|
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
"/
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
"/        package := eachClass package asSymbol.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
"/        (packageToItemDictionary includesKey:package) ifFalse:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
"/            self addPackage:package 
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
"/        ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
"/    ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
    anchor recursiveSortChildren:[:i1 :i2 | i1 label asLowercase < i2 label asLowercase].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
    anchor expand.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
    anchor selected: true.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
    ^ anchor
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
    "Created: / 10-10-2007 / 10:16:57 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
    "Modified: / 10-10-2007 / 12:40:52 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
hierarchicalProjectList
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
    |anchor |
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
    hierarchicalProjectList isNil ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
        hierarchicalProjectList := HierarchicalList new.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
        hierarchicalProjectList showRoot:false.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
        hierarchicalProjectList application: self.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
        ("self slaveMode value ~~" true) ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
            anchor := self generateHierarchicalProjectTree.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
            hierarchicalProjectList root:anchor.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
            anchor parent: hierarchicalProjectList.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
            listValid := true
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
        ] ifFalse:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
            listValid := false
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
        ]
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
    ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
    ^ hierarchicalProjectList
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
    "Created: / 10-10-2007 / 10:36:38 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
!HierarchicalPackageFilterList methodsFor:'change & update'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
updatePackageFilter
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
    | selectedPackages |
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
    selectedPackages := self hierarchicalProjectList root selectedPackageIDs.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
    self packageFilter value: selectedPackages
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
    "Created: / 10-10-2007 / 12:41:46 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
updateSelectionFromTree
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
    "nothing to do"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
    "Created: / 10-10-2007 / 12:13:10 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
!HierarchicalPackageFilterList methodsFor:'private'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
addPackage:package
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
    |i p pp l parentPackage parentItem idx|
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
    i:= packageToItemDictionary at:package asSymbol ifAbsent:nil.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
    i isNil ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
        i := Tools::HierarchicalPackageFilterList::PackageItem new.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
        i package:package.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
        packageToItemDictionary at:package asSymbol put:i.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
        package size > 0 ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
            "/ find the parent ...
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
            p := package asCollectionOfSubstringsSeparatedByAny:':/.'.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
            pp := p copyWithoutLast:1.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
            l := (pp asStringWith:$/) size.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
            parentPackage := package copyTo:l.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
            parentItem := self addPackage:parentPackage asSymbol .
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
            parentPackage size == 0 ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
                idx := 1.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
            ] ifFalse:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
                idx := parentPackage size + 2
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
            ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
            i label:(package copyFrom:idx).
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
            parentItem add:i sortBlock:[:i1 :i2 | i1 label asLowercase < i2 label asLowercase].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
            "/ TODO: special items for classes, resources etc.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
        
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
        ]
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
    ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
    ^ i
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
    "Created: / 10-10-2007 / 10:17:10 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
!HierarchicalPackageFilterList methodsFor:'user actions'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
doubleClicked:anIndex
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
    | selectedPackageItem |
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
    selectedPackageItem := self hierarchicalProjectList at:
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
                                self hierarchicalProjectSelection value.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
    selectedPackageItem toggleSelection
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
    "Created: / 10-10-2007 / 10:19:17 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
    "Modified: / 10-10-2007 / 12:15:53 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
!HierarchicalPackageFilterList::PackageItem class methodsFor:'documentation'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
version
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
    ^'$Id: Tools__HierarchicalPackageFilterList.st,v 1.1 2011-07-01 13:26:55 cg Exp $'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
!HierarchicalPackageFilterList::PackageItem class methodsFor:'image specs'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
checkedIcon
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
    "This resource specification was automatically generated
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
     by the ImageEditor of ST/X."
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
    "Do not manually edit this!! If it is corrupted,
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
     the ImageEditor may not be able to read the specification."
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
    "
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
     self checkedIcon inspect
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
     ImageEditor openOnClass:self andSelector:#checkedIcon
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
     Icon flushCachedIcons
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
    "
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
    <resource: #image>
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
    ^Icon
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
        constantNamed:#'Tools::HierarchicalPackageFilterList::PackageItem class checkedIcon'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
        ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@C?<O?0??C?<O?0??C?<O?07?C?<O?0??@@@@@@b') ; colorMapFromArray:#[0 0 0 33 161 33]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
?????<@C0@O@D<@30GOH8<7C38OG@<HC0@O@@?????<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
    "Created: / 10-10-2007 / 10:52:06 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
uncheckedIcon
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
    "This resource specification was automatically generated
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
     by the ImageEditor of ST/X."
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
    "Do not manually edit this!! If it is corrupted,
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
     the ImageEditor may not be able to read the specification."
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
    "
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
     self checkFrameForm inspect
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
     ImageEditor openOnClass:self andSelector:#checkFrameForm
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
     Icon flushCachedIcons
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
    "
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
    <resource: #image>
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
    ^Icon
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
        constantNamed:#'Tools::HierarchicalPackageFilterList::PackageItem class checkFrameForm'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
        ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@C?<O?0??C?<O?0??C?<O?0??C?<O?0??@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
?????<@C0@O@@<@C0@O@@<@C0@O@@<@C0@O@@?????<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
    "Created: / 10-10-2007 / 10:49:12 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
!HierarchicalPackageFilterList::PackageItem methodsFor:'accessing'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
children
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
    children isNil ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
        children := #()
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
    ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
    ^ children
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
icon
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
    ^self selected
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
       ifTrue:[self class checkedIcon]
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
        ifFalse:[self class uncheckedIcon]
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
    "Created: / 10-10-2007 / 10:16:04 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
    "Modified: / 10-10-2007 / 12:17:50 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
label
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
    ^label
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
    "Modified: / 20-04-2005 / 19:10:49 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
label:aString
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
    label ~= aString ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
        label := aString.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
        self changed:#label
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
    ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
package
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
    ^ packageID
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
package:prefixOrPackageID
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
    packageID := prefixOrPackageID
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
packageID
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
    ^ packageID
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   374
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
    "Created: / 10-10-2007 / 12:09:14 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
selected
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
    ^ selected ? false
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
    "Created: / 10-10-2007 / 12:16:21 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   383
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   384
selected:aBoolean
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
   self selected: aBoolean doUpdate: true
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
    "Created: / 10-10-2007 / 12:16:21 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   389
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   391
selected:sel doUpdate: doUpdate
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
    selected := sel.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
    self children do:[:child|child selected: sel doUpdate:false].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
    doUpdate ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
        self model ifNotNil:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   397
            self model changed.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
            self application updatePackageFilter
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
        ]                            
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   400
    ]
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   401
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   402
    "Created: / 10-10-2007 / 12:19:51 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   403
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
selectedPackageIDs
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
    | stream |
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
    stream := OrderedCollection new writeStream.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
    self selectedPackageIDsOn: stream.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
    ^stream contents
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   411
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   412
    "Created: / 10-10-2007 / 13:29:35 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   413
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   414
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   415
selectedPackageIDsOn: stream
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   417
    self selected ifTrue:[stream nextPut: self packageID].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
    self children do:[:child|child selectedPackageIDsOn: stream].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   419
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   420
    "Created: / 10-10-2007 / 13:30:18 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   421
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   422
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
!HierarchicalPackageFilterList::PackageItem methodsFor:'user actions'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   425
toggleSelection
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   427
    self selected: self selected not
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   428
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   429
    "Created: / 10-10-2007 / 12:16:08 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   430
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   431
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   432
!HierarchicalPackageFilterList class methodsFor:'documentation'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   433
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
version_CVS
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
    ^ '$Header: /cvs/stx/stx/libtool/Tools__HierarchicalPackageFilterList.st,v 1.1 2011-07-01 13:26:55 cg Exp $'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
version_SVN
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
    ^ '§Id§'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
! !