Tools__NamespaceList.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 14 Jun 2018 22:19:39 +0100
branchjv
changeset 18227 d25a407ba86d
parent 17136 cb908d2ba02e
permissions -rw-r--r--
Mini testrunner: show "green" if there's at least one pass and rest is pass or skip This is more meaningfull result then showing "gray" if there's at least one skip.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14859
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2000 by eXept Software AG
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
	      All Rights Reserved
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libtool' }"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ NameSpace: Tools }"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
BrowserList subclass:#NamespaceList
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	instanceVariableNames:'namespaceNameList namespaceList'
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	classVariableNames:''
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	poolDictionaries:''
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	category:'Interface-Browsers-New'
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!NamespaceList class methodsFor:'documentation'!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
copyright
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
 COPYRIGHT (c) 2000 by eXept Software AG
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
	      All Rights Reserved
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
 This software is furnished under a license and may be used
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
 only in accordance with the terms of that license and with the
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 be provided or otherwise made available to, or used by, any
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
 other person.  No title to or ownership of the software is
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
 hereby transferred.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
documentation
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
    I implement the namespace list in the new system browser
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
! !
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
!NamespaceList class methodsFor:'interface specs'!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
singleNameSpaceWindowSpec
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
    "This resource specification was automatically generated
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
     by the UIPainter of ST/X."
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
    "Do not manually edit this!! If it is corrupted,
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
     the UIPainter may not be able to read the specification."
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
    "
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
     UIPainter new openOnClass:ClassCategoryList andSelector:#singleCategoryWindowSpec
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
     ClassCategoryList new openInterface:#singleCategoryWindowSpec
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    "
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    <resource: #canvas>
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    ^ 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
     #(#FullSpec
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
	#name: #singleNameSpaceWindowSpec
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
	#window: 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
       #(#WindowSpec
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
	  #label: 'NameSpaceList'
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
	  #name: 'NameSpaceList'
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
	  #min: #(#Point 0 0)
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
	  #max: #(#Point 1024 721)
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
	  #bounds: #(#Rectangle 218 175 518 475)
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
	)
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
	#component: 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
       #(#SpecCollection
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
	  #collection: #(
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
	   #(#LabelSpec
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
	      #label: 'NameSpaceName'
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
	      #name: 'NameSpaceLabel'
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
	      #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 25 0)
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
	      #translateLabel: true
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
	      #labelChannel: #nameSpaceLabelHolder
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
	      #menu: #menuHolder
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
	    )
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
	   )
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
	)
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
      )
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
windowSpec
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
    "This resource specification was automatically generated
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
     by the UIPainter of ST/X."
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
    "Do not manually edit this!! If it is corrupted,
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
     the UIPainter may not be able to read the specification."
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
    "
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
     UIPainter new openOnClass:ProjectList andSelector:#windowSpec
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
     ProjectList new openInterface:#windowSpec
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
     ProjectList open
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
    "
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
    <resource: #canvas>
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
    ^ 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
     #(#FullSpec
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
        #name: #windowSpec
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
        #window: 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
       #(#WindowSpec
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
          #label: 'NamespaceList'
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
          #name: 'NamespaceList'
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
          #min: #(#Point 0 0)
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
          #bounds: #(#Rectangle 13 23 313 323)
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
        )
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
        #component: 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
       #(#SpecCollection
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
          #collection: #(
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
           #(#SequenceViewSpec
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
              #name: 'List'
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
              #tabable: true
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
              #model: #selectedNamespaces
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
              #menu: #menuHolder
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
              #hasHorizontalScrollBar: true
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
              #hasVerticalScrollBar: true
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
              #miniScrollerHorizontal: true
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
              #isMultiSelect: true
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
              #valueChangeSelector: #selectionChangedByClick
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
              #useIndex: false
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
              #sequenceList: #nameSpaceList
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
              #doubleClickChannel: #doubleClickChannel
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
              #properties: 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
             #(#PropertyListDictionary
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
                #dragArgument: nil
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
                #dropArgument: nil
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
                #canDropSelector: #canDropContext:
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
                #dropSelector: #doDropContext:
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
              )
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
            )
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
           )
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
        )
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
      )
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
    "Created: / 18.2.2000 / 01:06:05 / cg"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
    "Modified: / 18.2.2000 / 01:24:50 / cg"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
! !
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
!NamespaceList class methodsFor:'queries-plugin'!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
aspectSelectors
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
    ^ #( 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
        environmentHolder
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
        #(#doubleClickChannel #action )
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
        immediateUpdate 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
        selectedNamespaces 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
        menuHolder 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
        inGeneratorHolder 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
        outGeneratorHolder 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
        selectionChangeCondition 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
        updateTrigger
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
        forceGeneratorTrigger
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
        hideUnloadedClasses
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
        showAllClassesInNameSpaceOrganisation
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
        organizerMode
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
        slaveMode
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
       )
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
    "Created: / 18-02-2000 / 01:06:27 / cg"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
    "Modified: / 05-03-2007 / 16:47:45 / cg"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
    "Modified: / 24-02-2014 / 10:37:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
! !
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
!NamespaceList methodsFor:'aspects'!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
itemList
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
    ^ self nameSpaceList value
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
nameSpaceLabelHolder
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
    ^ self pseudoListLabelHolder
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
nameSpaceList
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
    namespaceList isNil ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
	namespaceList := ValueHolder new
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
    ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
    ^ namespaceList
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
    "Created: / 18.2.2000 / 00:59:01 / cg"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
selectedNamespaces
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
    ^ self selectionHolder
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
selectedNamespaces:aValueHolder
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
    ^ self selectionHolder:aValueHolder
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
! !
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
!NamespaceList methodsFor:'change & update'!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
delayedUpdate:something with:aParameter from:changedObject
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
    self inSlaveModeOrInvisible 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
    ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
	changedObject == environment ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
	    something == #classComment ifTrue:[^ self].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
	].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
	self invalidateList.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
	^ self
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
    ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
    changedObject == slaveMode ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
	listValid ~~ true ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
	    self enqueueDelayedUpdateList
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
	].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
	"/ self invalidateList.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
	^  self
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
    ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
    changedObject == environment ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
	something == #newClass ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
	    listValid == true ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
		aParameter isNameSpace ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
		    (namespaceList value includes:aParameter name) ifFalse:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
			self invalidateList.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
		    ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
		].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
	    ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
	    ^ self
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
	].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
	something == #classRemove ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
	    listValid == true ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
		aParameter isNameSpace ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
		    self invalidateList.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
		].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
	    ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
	    ^ self
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
	].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
	^ self
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
    ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
    super delayedUpdate:something with:aParameter from:changedObject
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
    "Created: / 18.2.2000 / 01:00:07 / cg"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
    "Modified: / 26.2.2000 / 01:10:46 / cg"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
selectionChangedByClick
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
    "we are not interested in that - get another notification
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
     via the changed valueHolder"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
    "Created: / 18.2.2000 / 01:00:14 / cg"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
update:something with:aParameter from:changedObject
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
    changedObject == environment ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
        something == #methodDictionary ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
            ^ self 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
        ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
        something == #methodTrap ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
            ^ self
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
        ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
        something == #methodCoverageInfo ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
            ^ self
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
        ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
        something == #methodInClass ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
            ^ self
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
        ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
        something == #classVariables ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
            ^ self
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
        ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
        something == #classComment ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
            ^ self.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
        ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
        something == #methodInClassRemoved ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
            ^ self.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
        ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
    ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
    super update:something with:aParameter from:changedObject
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
    "Modified: / 20-07-2011 / 18:55:12 / cg"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
! !
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
!NamespaceList methodsFor:'drag & drop'!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
canDropContext:aDropContext
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
    |objects nameSpace|
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
    objects := aDropContext dropObjects collect:[:obj | obj theObject].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
    (objects conform:[:aMethodOrClass | aMethodOrClass isClass ]) ifFalse:[^ false].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
    nameSpace := self nameSpaceAtTargetPointOf:aDropContext.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
    nameSpace isNil ifTrue:[^ false].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
    nameSpace = self class nameListEntryForALL ifTrue:[^ false].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
    ^ (objects contains:[:aClass | aClass nameSpace name ~= nameSpace]) 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
doDropContext:aDropContext
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
    |nameSpaceName nameSpace objects|
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
    objects := aDropContext dropObjects collect:[:aDropObject | aDropObject theObject].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
    (objects conform:[:something | something isClass]) ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
        nameSpaceName := self nameSpaceAtTargetPointOf:aDropContext.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
        (nameSpaceName notNil
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
        and:[ nameSpaceName ~= self class nameListEntryForALL]) ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
            nameSpace := NameSpace name:nameSpaceName.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
            objects do:[:eachClassToMove |
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
                |className|
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
                className := eachClassToMove nameWithoutPrefix.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
                nameSpace == environment ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
                    environment renameClass:eachClassToMove to:className asSymbol.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
                ] ifFalse:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
                    environment renameClass:eachClassToMove to:(nameSpace name , '::' , className) asSymbol.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
                    nameSpace changed.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
                ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
            ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
            environment changed.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
        ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
        ^ self
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
    ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
nameSpaceAtTargetPointOf:aDropContext
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
    |p targetView lineNr item|
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
    p := aDropContext targetPoint.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
    targetView := aDropContext targetWidget.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
    lineNr := targetView yVisibleToLineNr:p y.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
    lineNr isNil ifTrue:[^ nil].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
    item := self itemList at:lineNr.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
    item isNil ifTrue:[^ nil].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
    ^ item
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
! !
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
!NamespaceList methodsFor:'generators'!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
makeGenerator
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
    "return a generator which enumerates the classes from the selected namespace(s)."
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
    |spaceNames hideUnloadedClasses showAllClasses showChangedClasses|
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
    spaceNames := self selectedNamespaces value.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
    spaceNames size == 0 ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
        ^ #()
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
    ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
    hideUnloadedClasses := self hideUnloadedClasses value.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
    showAllClasses := self showAllClassesInNameSpaceOrganisation value.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
    showChangedClasses := spaceNames includes:(self class nameListEntryForChanged).
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
    (showAllClasses or:[spaceNames includes:(self class nameListEntryForALL)]) ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
        hideUnloadedClasses ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
            ^ Iterator on:[:whatToDo |
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
                               environment allClassesDo:[:cls |
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
                                   cls isLoaded ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
                                       cls isRealNameSpace ifFalse:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
                                           whatToDo value:cls
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
                                       ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
                                   ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
                               ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
                          ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
        ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
        ^ Iterator on:[:whatToDo |
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
                           environment allClassesDo:whatToDo
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   374
                      ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
    ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
    (spaceNames size == 1 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
     and:[spaceNames first = 'environment']) ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
        "/ somewhat tuned - quick look if classes name includes colons ...
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
        ^ Iterator on:[:whatToDo |
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
                       environment allClassesDo:[:cls |
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
                           |includeIt|
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   383
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   384
                           includeIt := (cls name includes:$:) not.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
                           includeIt := includeIt
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
                                        or:[(cls isPrivate not 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
                                            and:[(cls nameSpace == environment)])].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
                           includeIt := includeIt
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   389
                                        or:[(cls isPrivate  
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
                                            and:[(cls topOwningClass nameSpace == environment)])].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   391
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
                           includeIt := includeIt
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
                                        and:[hideUnloadedClasses not or:[cls isLoaded]].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
                           includeIt := includeIt
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
                                        or:[ cls extensions 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   397
                                                contains:[:mthd | 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
                                                            |sel parts|
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
                                                            sel := mthd selector.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   400
                                                            (sel isNameSpaceSelector
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   401
                                                            and:[ parts := sel nameSpaceSelectorParts.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   402
                                                                  spaceNames includes:parts first])  
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   403
                                                         ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
                                           ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
                           includeIt ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
                               cls isRealNameSpace ifFalse:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
                                   whatToDo value:cls
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
                               ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
                           ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   411
                       ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   412
                      ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   413
    ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   414
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   415
    ^ Iterator on:[:whatToDo |
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
                       |changedClasses|
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   417
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
                        showChangedClasses ifTrue:[ changedClasses := ChangeSet current changedClasses collect:[:cls | cls theNonMetaclass]].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   419
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   420
                        environment allClassesDo:[:cls |
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   421
                            |spaceOfClass spaceNameOfClass includeIt|
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   422
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
                            spaceOfClass := cls isPrivate ifTrue:[cls topOwningClass nameSpace] ifFalse:[cls nameSpace].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
                            spaceNameOfClass := spaceOfClass name.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   425
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
                            includeIt := spaceNames contains:[:nm | nm = spaceNameOfClass
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   427
                                                                    or:[spaceNameOfClass startsWith:(nm , '::')]].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   428
                            includeIt ifFalse:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   429
                                (showChangedClasses and:[ (changedClasses includes:cls theNonMetaclass) ]) ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   430
                                    includeIt := true
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   431
                                ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   432
                            ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   433
                            hideUnloadedClasses ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
                                includeIt := includeIt and:[cls isLoaded].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
                            ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
                            includeIt ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
                                cls isRealNameSpace ifFalse:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
                                    whatToDo value:cls
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
                                ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
                            ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   441
                        ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
                  ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   443
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   444
    "Created: / 18-02-2000 / 01:01:58 / cg"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
    "Modified: / 05-03-2007 / 23:01:21 / cg"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   446
! !
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   447
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
!NamespaceList methodsFor:'private'!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   450
defaultSlaveModeValue
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
    |mode|
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   452
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
    mode := self topApplication perform:#initialOrganizerMode ifNotUnderstood:nil.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   454
    mode == OrganizerCanvas organizerModeNamespace ifTrue:[^ false].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   455
"/    self organizerMode value == OrganizerCanvas organizerModeCategory ifTrue:[^ true].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
"/    ^ false
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
    mode isNil ifTrue:[^ false].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
    ^ true
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   459
!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   460
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
initialOrganizerMode
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   462
    ^ OrganizerCanvas organizerModeNamespace
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   463
!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   464
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   465
listOfNamespaces
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
    |allNamespaces showAllNamespaces generator|
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
    showAllNamespaces := false.    "/ only topLevel namespaces are shown
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   469
    showAllNamespaces := true.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   470
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
    allNamespaces := IdentitySet new.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   472
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   473
    inGeneratorHolder isNil ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   474
        (self hideUnloadedClasses value) ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
            environment allClassesDo:[:eachClass |
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   476
                eachClass isLoaded ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   477
                    allNamespaces add:(eachClass theNonMetaclass topNameSpace)
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   478
                ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
            ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
        ] ifFalse:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
            allNamespaces := NameSpace allNameSpaces.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   482
        ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   483
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
        showAllNamespaces ifFalse:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   485
            "/ only topLevel namespaces are shown
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   486
            "/ i.e. ignore subspaces 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   487
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   488
            allNamespaces := allNamespaces select:[:ns | ns isTopLevelNameSpace].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   489
        ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   490
        "/JV@2011-12-04: Do not show java packages, they are all shown
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   491
        "/when JAVA namespace is shown. Use #askFor: here, as eXept's libbasic
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   492
        "/does not have #isJavaPackage
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   493
        allNamespaces := allNamespaces reject:[:ns | ns askFor: #isJavaPackage ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   494
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   495
        allNamespaces := allNamespaces collect:[:ns | ns name].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   496
    ] ifFalse:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   497
        generator := inGeneratorHolder value.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   498
        generator isNil ifTrue:[^ #() ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
        generator do:[:ns | allNamespaces add:ns].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   500
    ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
    allNamespaces := allNamespaces asOrderedCollection.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   503
    allNamespaces sort.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   504
    allNamespaces size == 1 ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   505
        self nameSpaceLabelHolder value:(LabelAndIcon icon:(self class nameSpaceIcon) string:allNamespaces first).
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   506
    ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   507
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   508
"/ for now: disabled, because it gets replicated into the nameSpace filter, which
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   509
"/ does not (yet) handle it correctly
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   510
"/    numClassesInChangeSet := ChangeSet current changedClasses size.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   511
"/    numClassesInChangeSet > 0 ifTrue:[
17038
aec959d540e1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 14859
diff changeset
   512
"/        "/ don't include count - makeGenerator compares against the un-expanded nameListEntry (sigh - need two lists)
14859
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   513
"/        allNamespaces addFirst:((self class nameListEntryForChanged "bindWith:numClassesInChangeSet") allItalic).
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   514
"/    ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   515
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
    allNamespaces addFirst:(self class nameListEntryForALL allItalic).
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   517
    ^ allNamespaces
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   518
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   519
    "Created: / 18-02-2000 / 01:04:27 / cg"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   520
    "Modified: / 25-02-2000 / 22:11:29 / cg"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   521
    "Modified: / 04-12-2011 / 12:30:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   522
!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   523
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   524
makeDependent
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   525
    environment addDependent:self
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   526
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   527
    "Created: / 18.2.2000 / 01:04:36 / cg"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   528
!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   529
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   530
makeIndependent
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
    environment removeDependent:self.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   532
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
    "Created: / 18.2.2000 / 01:04:42 / cg"
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   534
!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   536
updateList
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   537
    |newList oldSelection newSelection selectedNamespacesHolder|
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
    selectedNamespacesHolder := self selectedNamespaces.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
    oldSelection := selectedNamespacesHolder value.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
    newList := self listOfNamespaces.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
    newList ~= namespaceList value ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
"/        oldSelection size > 0 ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
"/            selectedNamespacesHolder removeDependent:self.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
"/            selectedNamespacesHolder value:#().
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
"/            selectedNamespacesHolder addDependent:self.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
"/        ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   548
        self nameSpaceList value:newList.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   549
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
        oldSelection size > 0 ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   551
            newSelection := oldSelection select:[:nm | 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   552
                                (nm = self class nameListEntryForALL) 
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   553
                                or:[ (environment at:nm asSymbol) isNameSpace]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   554
                            ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   555
            newSelection ~= oldSelection ifTrue:[
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   556
                selectedNamespacesHolder value:newSelection.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   557
            ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   558
        ]
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   559
    ].
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   560
    self setListValid:true.
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   561
! !
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   562
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   563
!NamespaceList class methodsFor:'documentation'!
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   564
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   565
version_CVS
17038
aec959d540e1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 14859
diff changeset
   566
    ^ '$Header$'
14859
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   567
! !
a889d181435c access listValid only via setter (for easier trapping)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   568