Tools__HierarchicalPackageFilterList.st
author Claus Gittinger <cg@exept.de>
Wed, 30 Apr 2014 20:57:56 +0200
changeset 14300 ae498a044c3d
parent 14028 82c471faccde
child 14398 6c7701a07767
permissions -rw-r--r--
class: Tools::NewSystemBrowser class definition
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9990
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
10062
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
     2
 COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
     3
              All Rights Reserved
9990
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
10062
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
     5
Permission is hereby granted, free of charge, to any person
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
     6
obtaining a copy of this software and associated documentation
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
     7
files (the 'Software'), to deal in the Software without
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
     8
restriction, including without limitation the rights to use,
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
     9
copy, modify, merge, publish, distribute, sublicense, and/or sell
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    10
copies of the Software, and to permit persons to whom the
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    11
Software is furnished to do so, subject to the following
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    12
conditions:
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    13
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    14
The above copyright notice and this permission notice shall be
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    15
included in all copies or substantial portions of the Software.
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    16
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    17
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    18
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    19
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    20
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    21
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    22
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    23
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    24
OTHER DEALINGS IN THE SOFTWARE.
9990
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
"{ Package: 'stx:libtool' }"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
"{ NameSpace: Tools }"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
HierarchicalProjectList subclass:#HierarchicalPackageFilterList
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
	instanceVariableNames:''
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
	classVariableNames:''
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	poolDictionaries:''
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	category:'Interface-Browsers-New-Profiler'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
HierarchicalItemWithLabel subclass:#PackageItem
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
	instanceVariableNames:'packageID selected'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
	classVariableNames:''
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
	poolDictionaries:''
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
	privateIn:HierarchicalPackageFilterList
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
!HierarchicalPackageFilterList class methodsFor:'documentation'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
copyright
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
"
10062
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    48
 COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    49
              All Rights Reserved
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    50
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    51
Permission is hereby granted, free of charge, to any person
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    52
obtaining a copy of this software and associated documentation
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    53
files (the 'Software'), to deal in the Software without
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    54
restriction, including without limitation the rights to use,
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    55
copy, modify, merge, publish, distribute, sublicense, and/or sell
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    56
copies of the Software, and to permit persons to whom the
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    57
Software is furnished to do so, subject to the following
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    58
conditions:
9990
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
10062
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    60
The above copyright notice and this permission notice shall be
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    61
included in all copies or substantial portions of the Software.
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    62
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    63
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    64
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    65
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    66
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    67
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    68
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    69
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
8130e24ed31e copyright
Claus Gittinger <cg@exept.de>
parents: 9990
diff changeset
    70
OTHER DEALINGS IN THE SOFTWARE.
9990
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
!HierarchicalPackageFilterList class methodsFor:'interface specs'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
windowSpec
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
    "This resource specification was automatically generated
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
     by the UIPainter of ST/X."
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
    "Do not manually edit this!! If it is corrupted,
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
     the UIPainter may not be able to read the specification."
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
    "
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
     UIPainter new openOnClass:Tools::HierarchicalPackageFilterList andSelector:#windowSpec
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
     Tools::HierarchicalPackageFilterList new openInterface:#windowSpec
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
     Tools::HierarchicalPackageFilterList open
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
    "
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
    <resource: #canvas>
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
    ^ 
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
     #(FullSpec
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
        name: windowSpec
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
        window: 
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
       (WindowSpec
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
          label: 'ProjectList'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
          name: 'ProjectList'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
          min: (Point 0 0)
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
          max: (Point 1024 721)
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
          bounds: (Rectangle 0 0 346 324)
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
        )
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
        component: 
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
       (SpecCollection
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
          collection: (
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
           (HierarchicalListViewSpec
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
              name: 'HierarchicalListView1'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
              layout: (LayoutFrame 0 0 0 0 0 1 -30 1)
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
              tabable: true
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
              model: hierarchicalProjectSelection
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
              menu: menuHolder
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
              hasHorizontalScrollBar: true
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
              hasVerticalScrollBar: true
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
              miniScrollerHorizontal: true
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
              listModel: hierarchicalProjectList
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
              highlightMode: line
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
              doubleClickSelector: doubleClicked:
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
              showLines: false
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
              indicatorSelector: indicatorPressed:
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
              properties: 
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
             (PropertyListDictionary
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
                dragArgument: nil
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
                dropArgument: nil
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
                canDropSelector: canDrop:
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
                dropSelector: doDrop:
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
              )
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
            )
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
           (LabelSpec
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
              label: 'Hint: double-click on item to (de)select'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
              name: 'Hint'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
              layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
              translateLabel: true
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
              adjust: left
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
            )
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
           )
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
         
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
        )
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
      )
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
    "Modified: / 10-10-2007 / 12:25:16 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
!HierarchicalPackageFilterList class methodsFor:'plugIn spec'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
aspectSelectors
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
    "This resource specification was automatically generated
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
     by the UIPainter of ST/X."
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
    "Do not manually edit this. If it is corrupted,
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
     the UIPainter may not be able to read the specification."
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
    "Return a description of exported aspects;
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
     these can be connected to aspects of an embedding application
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
     (if this app is embedded in a subCanvas)."
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
    ^ #(
14028
82c471faccde Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13498
diff changeset
   156
        environmentHolder
9990
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
        #packageFilter
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
      ).
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
    "Modified: / 10-10-2007 / 12:24:58 / janfrog"
14028
82c471faccde Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13498
diff changeset
   161
    "Modified: / 24-02-2014 / 10:38:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9990
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
!HierarchicalPackageFilterList methodsFor:'aspects'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
generateHierarchicalProjectTree
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
    |anchor|
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
    self projectList value isNil ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
        self updateList.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
        self projectList value isNil ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
            ^ nil.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
        ]
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
    ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
    anchor := Tools::HierarchicalPackageFilterList::PackageItem new.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
    anchor package:''.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
    anchor label:nil.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
    packageToItemDictionary := IdentityDictionary new.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
    packageToItemDictionary at:'' asSymbol put:anchor.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
    self projectList value do:[:eachPackageString |
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
        |package|
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
        eachPackageString = '* all *' ifFalse:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
            package := eachPackageString asSymbol.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
            (packageToItemDictionary includesKey:package) ifFalse:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
                self addPackage:package 
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
            ]            
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
        ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
    ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12715
diff changeset
   193
"/    environment allClassesDo:[:eachClass |
9990
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
"/        |package|
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
"/
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
"/        package := eachClass package asSymbol.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
"/        (packageToItemDictionary includesKey:package) ifFalse:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
"/            self addPackage:package 
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
"/        ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
"/    ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
    anchor recursiveSortChildren:[:i1 :i2 | i1 label asLowercase < i2 label asLowercase].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
    anchor expand.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
    anchor selected: true.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
    ^ anchor
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
    "Created: / 10-10-2007 / 10:16:57 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
    "Modified: / 10-10-2007 / 12:40:52 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
hierarchicalProjectList
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
    |anchor |
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
    hierarchicalProjectList isNil ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
        hierarchicalProjectList := HierarchicalList new.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
        hierarchicalProjectList showRoot:false.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
        hierarchicalProjectList application: self.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
        ("self slaveMode value ~~" true) ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
            anchor := self generateHierarchicalProjectTree.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
            hierarchicalProjectList root:anchor.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
            anchor parent: hierarchicalProjectList.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
            listValid := true
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
        ] ifFalse:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
            listValid := false
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
        ]
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
    ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
    ^ hierarchicalProjectList
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
    "Created: / 10-10-2007 / 10:36:38 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
!HierarchicalPackageFilterList methodsFor:'change & update'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
updatePackageFilter
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
    | selectedPackages |
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
    selectedPackages := self hierarchicalProjectList root selectedPackageIDs.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
    self packageFilter value: selectedPackages
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
    "Created: / 10-10-2007 / 12:41:46 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
updateSelectionFromTree
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
    "nothing to do"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
    "Created: / 10-10-2007 / 12:13:10 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
!HierarchicalPackageFilterList methodsFor:'private'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
addPackage:package
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
    |i p pp l parentPackage parentItem idx|
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
    i:= packageToItemDictionary at:package asSymbol ifAbsent:nil.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
    i isNil ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
        i := Tools::HierarchicalPackageFilterList::PackageItem new.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
        i package:package.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
        packageToItemDictionary at:package asSymbol put:i.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
        package size > 0 ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
            "/ find the parent ...
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
            p := package asCollectionOfSubstringsSeparatedByAny:':/.'.
12715
755f78ea626b Changed usage of deprecated #copyWithoutLast: to #copyButLast:
Stefan Vogel <sv@exept.de>
parents: 10062
diff changeset
   265
            pp := p copyButLast:1.
9990
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
            l := (pp asStringWith:$/) size.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
            parentPackage := package copyTo:l.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
            parentItem := self addPackage:parentPackage asSymbol .
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
            parentPackage size == 0 ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
                idx := 1.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
            ] ifFalse:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
                idx := parentPackage size + 2
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
            ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
            i label:(package copyFrom:idx).
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
            parentItem add:i sortBlock:[:i1 :i2 | i1 label asLowercase < i2 label asLowercase].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
            "/ TODO: special items for classes, resources etc.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
        
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
        ]
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
    ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
    ^ i
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
    "Created: / 10-10-2007 / 10:17:10 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
!HierarchicalPackageFilterList methodsFor:'user actions'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
doubleClicked:anIndex
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
    | selectedPackageItem |
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
    selectedPackageItem := self hierarchicalProjectList at:
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
                                self hierarchicalProjectSelection value.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
    selectedPackageItem toggleSelection
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
    "Created: / 10-10-2007 / 10:19:17 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
    "Modified: / 10-10-2007 / 12:15:53 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
!HierarchicalPackageFilterList::PackageItem class methodsFor:'documentation'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
version
14028
82c471faccde Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13498
diff changeset
   305
    ^'$Header: /cvs/stx/stx/libtool/Tools__HierarchicalPackageFilterList.st,v 1.5 2014-02-25 10:41:46 vrany Exp $'
9990
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
!HierarchicalPackageFilterList::PackageItem class methodsFor:'image specs'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
checkedIcon
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
    "This resource specification was automatically generated
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
     by the ImageEditor of ST/X."
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
    "Do not manually edit this!! If it is corrupted,
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
     the ImageEditor may not be able to read the specification."
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
     self checkedIcon inspect
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
     ImageEditor openOnClass:self andSelector:#checkedIcon
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
     Icon flushCachedIcons
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
    "
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
    <resource: #image>
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
    ^Icon
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
        constantNamed:#'Tools::HierarchicalPackageFilterList::PackageItem class checkedIcon'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
        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
   328
?????<@C0@O@D<@30GOH8<7C38OG@<HC0@O@@?????<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
    "Created: / 10-10-2007 / 10:52:06 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
uncheckedIcon
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
    "This resource specification was automatically generated
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
     by the ImageEditor of ST/X."
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
    "Do not manually edit this!! If it is corrupted,
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
     the ImageEditor may not be able to read the specification."
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
    "
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
     self checkFrameForm inspect
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
     ImageEditor openOnClass:self andSelector:#checkFrameForm
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
     Icon flushCachedIcons
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
    "
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
    <resource: #image>
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
    ^Icon
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
        constantNamed:#'Tools::HierarchicalPackageFilterList::PackageItem class checkFrameForm'
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
        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
   353
?????<@C0@O@@<@C0@O@@<@C0@O@@<@C0@O@@?????<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
    "Created: / 10-10-2007 / 10:49:12 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
!HierarchicalPackageFilterList::PackageItem methodsFor:'accessing'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
children
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
    children isNil ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
        children := #()
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
    ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
    ^ children
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
icon
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
    ^self selected
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
       ifTrue:[self class checkedIcon]
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
        ifFalse:[self class uncheckedIcon]
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 / 10:16:04 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
    "Modified: / 10-10-2007 / 12:17:50 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
label
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
    ^label
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
    "Modified: / 20-04-2005 / 19:10:49 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
label:aString
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
    label ~= aString ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   389
        label := aString.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
        self changed:#label
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   391
    ].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
package
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
    ^ packageID
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   397
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
package:prefixOrPackageID
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
    packageID := prefixOrPackageID
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
packageID
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   403
    ^ packageID
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
    "Created: / 10-10-2007 / 12:09:14 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
selected
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
    ^ selected ? false
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   411
    "Created: / 10-10-2007 / 12:16:21 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   412
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   413
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   414
selected:aBoolean
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   415
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
   self selected: aBoolean doUpdate: true
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   417
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
    "Created: / 10-10-2007 / 12:16:21 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   419
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   420
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   421
selected:sel doUpdate: doUpdate
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   422
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
    selected := sel.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
    self children do:[:child|child selected: sel doUpdate:false].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   425
    doUpdate ifTrue:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
        self model ifNotNil:[
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   427
            self model changed.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   428
            self application updatePackageFilter
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   429
        ]                            
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
    "Created: / 10-10-2007 / 12:19:51 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   433
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
selectedPackageIDs
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
    | stream |
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
    stream := OrderedCollection new writeStream.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
    self selectedPackageIDsOn: stream.
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
    ^stream contents
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   441
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
    "Created: / 10-10-2007 / 13:29:35 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   443
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   444
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
selectedPackageIDsOn: stream
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   446
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   447
    self selected ifTrue:[stream nextPut: self packageID].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
    self children do:[:child|child selectedPackageIDsOn: stream].
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   450
    "Created: / 10-10-2007 / 13:30:18 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   452
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
!HierarchicalPackageFilterList::PackageItem methodsFor:'user actions'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   454
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   455
toggleSelection
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
    self selected: self selected not
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   459
    "Created: / 10-10-2007 / 12:16:08 / janfrog"
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   460
! !
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   462
!HierarchicalPackageFilterList class methodsFor:'documentation'!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   463
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   464
version_CVS
14028
82c471faccde Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13498
diff changeset
   465
    ^ '$Header: /cvs/stx/stx/libtool/Tools__HierarchicalPackageFilterList.st,v 1.5 2014-02-25 10:41:46 vrany Exp $'
9990
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
!
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
version_SVN
14028
82c471faccde Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13498
diff changeset
   469
    ^ '$Id: Tools__HierarchicalPackageFilterList.st,v 1.5 2014-02-25 10:41:46 vrany Exp $'
9990
15cd7042b1a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   470
! !
12715
755f78ea626b Changed usage of deprecated #copyWithoutLast: to #copyButLast:
Stefan Vogel <sv@exept.de>
parents: 10062
diff changeset
   471