Tools_BrowserList.st
author Claus Gittinger <cg@exept.de>
Sun, 01 Feb 2015 14:17:11 +0100
changeset 15150 940d37c7d3ac
parent 14062 3bddd74364ba
permissions -rw-r--r--
class: Tools::ChangeList fixed the following redraw bug in ModelListView (which is already fixed in SelectionInListView): if a colored item is shown with selection, the color attribute should be removed (or relaxed), to avoid drawing the label invisible. I.e. if the text color is blue or grey, and the selection bg is blue. we should draw white-on-blue, instead of blue/grey on blue. For this to work, the info whether drawing a selection must be passed down through the renderer to the item's draw routine.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6179
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
     1
"
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
     2
 COPYRIGHT (c) 2004 by eXept Software AG
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
     3
              All Rights Reserved
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
     4
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
     5
 This software is furnished under a license and may be used
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
     6
 only in accordance with the terms of that license and with the
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
     8
 be provided or otherwise made available to, or used by, any
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
     9
 other person.  No title to or ownership of the software is
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
    10
 hereby transferred.
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
    11
"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libtool' }"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ NameSpace: Tools }"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
5596
4119b97c62dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    16
NavigatorModel subclass:#BrowserList
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	instanceVariableNames:'menuHolder inGeneratorHolder outGeneratorHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
		selectionChangeCondition immediateUpdate doubleClickChannel
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
		filter updateTrigger forceGeneratorTrigger hideUnloadedClasses
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
		showClassPackages selectionHolder packageFilter nameSpaceFilter
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
		organizerMode slaveMode listValid pseudoListLabelHolder icons
9758
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    22
		sortBy autoSelect showAllClassesInNameSpaceOrganisation
11507
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
    23
		nameFilter showCoverageInformation searchHandler
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
    24
		autoUpdateOnChange'
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
	classVariableNames:'SynchronousUpdate Icons'
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
	poolDictionaries:''
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
	category:'Interface-Browsers-New'
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
10415
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
    30
Object subclass:#SearchHandler
10430
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
    31
	instanceVariableNames:'listView listHolder listSelectionHolder searchField searchWindow
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
    32
		searchHolder'
10415
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
    33
	classVariableNames:''
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
    34
	poolDictionaries:''
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
    35
	privateIn:BrowserList
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
    36
!
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
    37
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
!BrowserList class methodsFor:'documentation'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
6179
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
    40
copyright
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
    41
"
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
    42
 COPYRIGHT (c) 2004 by eXept Software AG
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
    43
              All Rights Reserved
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
    44
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
    45
 This software is furnished under a license and may be used
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
    46
 only in accordance with the terms of that license and with the
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
    47
 inclusion of the above copyright notice.   This software may not
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
    48
 be provided or otherwise made available to, or used by, any
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
    49
 other person.  No title to or ownership of the software is
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
    50
 hereby transferred.
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
    51
"
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
    52
!
182d948dcf05 copyright
Claus Gittinger <cg@exept.de>
parents: 6006
diff changeset
    53
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
documentation
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
    embeddable application displaying the class-categories.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    Provides an outputGenerator, which enumerates the classes in
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
    the selected categories.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    [author:]
9758
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    61
        Claus Gittinger (cg@exept.de)
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    62
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    63
    [instance variables:]
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    64
        can someone please write a  few words here...
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    65
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    66
        menuHolder 
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    67
        inGeneratorHolder 
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    68
        outGeneratorHolder
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    69
        selectionChangeCondition 
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    70
        immediateUpdate 
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    71
        doubleClickChannel
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    72
        filter                          a filterblock by the one who embedds this
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    73
        updateTrigger 
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    74
        forceGeneratorTrigger 
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    75
        hideUnloadedClasses
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    76
        showClassPackages 
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    77
        selectionHolder 
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    78
        packageFilter 
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    79
        nameSpaceFilter
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    80
        organizerMode 
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    81
        slaveMode 
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    82
        listValid 
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    83
        pseudoListLabelHolder 
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    84
        icons
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    85
        sortBy 
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    86
        autoSelect 
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    87
        showAllClassesInNameSpaceOrganisation
c1deddfd7747 +nameFilter
Claus Gittinger <cg@exept.de>
parents: 9432
diff changeset
    88
        nameFilter                      a string or glob pattern (from the user, if a GUI for that is present)
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
!BrowserList class methodsFor:'image specs'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
10137
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
    94
checkedIcon
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
    95
    "This resource specification was automatically generated
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
    96
     by the ImageEditor of ST/X."
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
    97
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
    98
    "Do not manually edit this!! If it is corrupted,
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
    99
     the ImageEditor may not be able to read the specification."
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   100
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   101
    "
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   102
     self checkedIcon inspect
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   103
     ImageEditor openOnClass:self andSelector:#checkedIcon
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   104
     Icon flushCachedIcons
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   105
    "
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   106
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   107
    <resource: #image>
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   108
10956
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   109
    ^ MenuPanel iconIndicationOn
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   110
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   111
"/    ^Icon
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   112
"/        constantNamed:#'Tools::HierarchicalPackageFilterList::PackageItem class checkedIcon'
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   113
"/        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:'
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   114
"/?????<@C0@O@D<@30GOH8<7C38OG@<HC0@O@@?????<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   115
"/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   116
"/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]
10137
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   117
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   118
    "Created: / 06-11-2008 / 16:32:46 / Jan Vrany <vranyj1@fel.cvut.cz>"
10956
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   119
    "Modified: / 04-12-2011 / 15:35:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10137
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   120
!
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   121
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
nameSpaceIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
    ^ SystemBrowser nameSpaceIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
packageIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
    ^ SystemBrowser packageIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
padLockBlueMiniIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
    ^ SystemBrowser padLockBlueMiniIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
padLockGrayMiniIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
    ^ SystemBrowser padLockGrayMiniIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
padLockGreenMiniIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
    ^ SystemBrowser padLockGreenMiniIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
padLockRedMiniIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
    ^ SystemBrowser padLockRedMiniIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
programImageIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
    ^ SystemBrowser programImageIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
protectedMethod
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
    ^ self padLockRedMiniIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
redLockIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
    ^ SystemBrowser redLockIcon
10137
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   156
!
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   157
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   158
uncheckedIcon
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   159
    "This resource specification was automatically generated
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   160
     by the ImageEditor of ST/X."
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   161
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   162
    "Do not manually edit this!! If it is corrupted,
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   163
     the ImageEditor may not be able to read the specification."
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   164
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   165
    "
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   166
     self checkFrameForm inspect
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   167
     ImageEditor openOnClass:self andSelector:#checkFrameForm
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   168
     Icon flushCachedIcons
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   169
    "
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   170
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   171
    <resource: #image>
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   172
10956
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   173
    ^MenuPanel iconIndicationOff
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   174
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   175
"/    ^Icon
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   176
"/        constantNamed:#'Tools::HierarchicalPackageFilterList::PackageItem class checkFrameForm'
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   177
"/        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:'
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   178
"/?????<@C0@O@@<@C0@O@@<@C0@O@@<@C0@O@@?????<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   179
"/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   180
"/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]
10137
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   181
Claus Gittinger <cg@exept.de>
parents: 9798
diff changeset
   182
    "Created: / 06-11-2008 / 16:32:46 / Jan Vrany <vranyj1@fel.cvut.cz>"
10956
b26cdc63b145 changed:
vrany
parents: 10884
diff changeset
   183
    "Modified: / 04-12-2011 / 15:35:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
9760
095b379e7a43 added: #nameFilter:
Claus Gittinger <cg@exept.de>
parents: 9758
diff changeset
   186
!BrowserList methodsFor:'accessing'!
095b379e7a43 added: #nameFilter:
Claus Gittinger <cg@exept.de>
parents: 9758
diff changeset
   187
095b379e7a43 added: #nameFilter:
Claus Gittinger <cg@exept.de>
parents: 9758
diff changeset
   188
nameFilter:something
095b379e7a43 added: #nameFilter:
Claus Gittinger <cg@exept.de>
parents: 9758
diff changeset
   189
    nameFilter := something.
095b379e7a43 added: #nameFilter:
Claus Gittinger <cg@exept.de>
parents: 9758
diff changeset
   190
! !
095b379e7a43 added: #nameFilter:
Claus Gittinger <cg@exept.de>
parents: 9758
diff changeset
   191
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
!BrowserList methodsFor:'aspects'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
11507
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   194
autoUpdateOnChange
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   195
    "automatic update of the list, when the system changes.
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   196
     For some (slow) search lists (such as string-search), autoupdate is
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   197
     disabled as it would otherwise make the browser unusable.
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   198
     Those lists need an explicit menu-update action."
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   199
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   200
    ^ autoUpdateOnChange ? true.
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   201
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   202
    "Modified: / 24-02-2000 / 23:57:13 / cg"
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   203
    "Created: / 15-05-2012 / 11:16:07 / cg"
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   204
!
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   205
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   206
autoUpdateOnChange: aBoolean
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   207
    "automatic update of the list, when the system changes.
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   208
     For some (slow) search lists (such as string-search), autoupdate is
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   209
     disabled as it would otherwise make the browser unusable.
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   210
     Those lists need an explicit menu-update action."
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   211
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   212
    autoUpdateOnChange := aBoolean
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   213
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   214
    "Modified: / 24-02-2000 / 23:57:13 / cg"
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   215
    "Created: / 15-05-2012 / 11:17:18 / cg"
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   216
!
2602300cd4a7 class definition
Claus Gittinger <cg@exept.de>
parents: 11257
diff changeset
   217
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
defaultSlaveModeValue
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
    ^ nil.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
    "Created: / 25.2.2000 / 22:36:40 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
doubleClickChannel
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
    doubleClickChannel isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
	doubleClickChannel := TriggerValue new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
    ^ doubleClickChannel.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
    "Modified: / 31.1.2000 / 00:42:44 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
    "Created: / 5.2.2000 / 22:38:32 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
doubleClickChannel:aChannel
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
    doubleClickChannel := aChannel
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
filter:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
    filter notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
	filter removeDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
    filter := aValueHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
    filter notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
	filter addDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
    "Modified: / 4.2.2000 / 23:29:30 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
    "Created: / 5.2.2000 / 13:42:12 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
forceGeneratorTrigger
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
    forceGeneratorTrigger isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
	forceGeneratorTrigger := TriggerValue new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
	forceGeneratorTrigger addDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
    ^ forceGeneratorTrigger.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
    "Modified: / 18.2.2000 / 02:02:52 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
    "Created: / 18.2.2000 / 02:46:40 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
forceGeneratorTrigger:aTriggerValue
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
    forceGeneratorTrigger notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
	forceGeneratorTrigger removeDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
    forceGeneratorTrigger := aTriggerValue.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
    forceGeneratorTrigger notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
	forceGeneratorTrigger addDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
    "Modified: / 4.2.2000 / 23:29:30 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
    "Created: / 18.2.2000 / 02:46:52 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
hideUnloadedClasses
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
    hideUnloadedClasses isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
	hideUnloadedClasses := false asValue.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
	hideUnloadedClasses addDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
    ^ hideUnloadedClasses.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
    "Modified: / 18.2.2000 / 02:02:52 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
    "Created: / 18.2.2000 / 17:36:30 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
hideUnloadedClasses:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
    hideUnloadedClasses notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
	hideUnloadedClasses removeDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
    hideUnloadedClasses := aValueHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
    hideUnloadedClasses notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
	hideUnloadedClasses addDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
    "Modified: / 4.2.2000 / 23:29:30 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
    "Created: / 18.2.2000 / 17:46:36 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
menuHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
    ^ menuHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
    "Created: / 5.2.2000 / 13:42:06 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
menuHolder:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
    menuHolder := aValueHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
    "Created: / 5.2.2000 / 13:42:06 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
nameSpaceFilter
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
    nameSpaceFilter isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
	nameSpaceFilter := ValueHolder new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
	nameSpaceFilter addDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
    ^ nameSpaceFilter.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
    "Modified: / 24.2.2000 / 23:57:13 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
    "Created: / 18.8.2000 / 14:18:56 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
nameSpaceFilter:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
    nameSpaceFilter notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
	nameSpaceFilter removeDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
    nameSpaceFilter := aValueHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
    nameSpaceFilter notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
	nameSpaceFilter addDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
    "Modified: / 24.2.2000 / 23:56:22 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
    "Created: / 18.8.2000 / 14:19:06 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
organizerMode
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
    organizerMode isNil ifTrue:[
6739
cd001606f090 magic constants (organizerMode) removed
Claus Gittinger <cg@exept.de>
parents: 6711
diff changeset
   337
        organizerMode := OrganizerCanvas organizerModeCategory asValue.
cd001606f090 magic constants (organizerMode) removed
Claus Gittinger <cg@exept.de>
parents: 6711
diff changeset
   338
        organizerMode addDependent:self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
    ^ organizerMode
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
    "Modified: / 31.1.2000 / 00:51:06 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
    "Created: / 25.2.2000 / 22:36:15 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
organizerMode:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
    organizerMode notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
	organizerMode removeDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
    organizerMode := aValueHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
    organizerMode notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
	organizerMode addDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
    "Modified: / 4.2.2000 / 23:34:28 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
    "Created: / 25.2.2000 / 22:36:28 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
packageFilter
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
    packageFilter isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
	packageFilter := ValueHolder new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
	packageFilter addDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
"/ debug-check only
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
"/ packageFilter onChangeEvaluate:[packageFilter value isValueModel ifTrue:[self halt:'debug halt']].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
    ^ packageFilter.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
    "Modified: / 18.8.2000 / 19:26:36 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
packageFilter:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
    packageFilter notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   374
	packageFilter removeDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
    packageFilter := aValueHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
    packageFilter notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
	packageFilter addDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
"/ debug-check only
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
"/ packageFilter onChangeEvaluate:[packageFilter value isValueModel ifTrue:[self halt:'debug halt']].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   383
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   384
    "Modified: / 18.8.2000 / 19:26:40 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
pseudoListLabelHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
    pseudoListLabelHolder isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   389
	pseudoListLabelHolder := '' asValue.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   391
    ^ pseudoListLabelHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
selectionChangeCondition:aBlockOrValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
    selectionChangeCondition := aBlockOrValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   397
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
selectionHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
    selectionHolder isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   400
	selectionHolder := ValueHolder new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   401
	selectionHolder addDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   402
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   403
    ^ selectionHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
selectionHolder:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
    |prevSelection|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
    prevSelection := selectionHolder value ? #().
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   411
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   412
    selectionHolder notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   413
	selectionHolder removeDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   414
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   415
    selectionHolder := aValueHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
    selectionHolder notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   417
	selectionHolder addDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   419
    (selectionHolder value ? #()) ~= prevSelection ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   420
	"/ update
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   421
	self update:#value with:nil from:selectionHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   422
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   425
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
7707
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   427
showAllClassesInNameSpaceOrganisation
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   428
    ^[
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   429
        |holder|
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   430
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   431
        showAllClassesInNameSpaceOrganisation notNil ifTrue:[
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   432
            holder := showAllClassesInNameSpaceOrganisation
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   433
        ] ifFalse:[
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   434
            masterApplication notNil ifTrue:[
10141
6ffa30070e0e changed: #showAllClassesInNameSpaceOrganisation
Claus Gittinger <cg@exept.de>
parents: 10137
diff changeset
   435
                holder := masterApplication perform:#showAllClassesInNameSpaceOrganisation ifNotUnderstood:nil.
6ffa30070e0e changed: #showAllClassesInNameSpaceOrganisation
Claus Gittinger <cg@exept.de>
parents: 10137
diff changeset
   436
            ].
6ffa30070e0e changed: #showAllClassesInNameSpaceOrganisation
Claus Gittinger <cg@exept.de>
parents: 10137
diff changeset
   437
            holder notNil ifTrue:[
7707
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   438
                holder addDependent:self.
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   439
            ] ifFalse:[
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   440
                showAllClassesInNameSpaceOrganisation isNil ifTrue:[
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   441
                    showAllClassesInNameSpaceOrganisation := false asValue.
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   442
                    showAllClassesInNameSpaceOrganisation addDependent:self.
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   443
                ].
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   444
                holder := showAllClassesInNameSpaceOrganisation.
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   445
            ].
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   446
        ].
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   447
        holder value
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   448
    ].
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   449
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   450
    "Created: / 05-03-2007 / 16:47:03 / cg"
10141
6ffa30070e0e changed: #showAllClassesInNameSpaceOrganisation
Claus Gittinger <cg@exept.de>
parents: 10137
diff changeset
   451
    "Modified: / 04-07-2011 / 21:49:10 / cg"
7707
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   452
!
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   453
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   454
showAllClassesInNameSpaceOrganisation:aValueHolder
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   455
    showAllClassesInNameSpaceOrganisation notNil ifTrue:[
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   456
        showAllClassesInNameSpaceOrganisation removeDependent:self
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   457
    ].
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   458
    showAllClassesInNameSpaceOrganisation := aValueHolder.
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   459
    showAllClassesInNameSpaceOrganisation notNil ifTrue:[
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   460
        showAllClassesInNameSpaceOrganisation addDependent:self
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   461
    ].
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   462
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   463
    "Created: / 05-03-2007 / 16:47:13 / cg"
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   464
!
4c38a1e5adef showAllInNSView
Claus Gittinger <cg@exept.de>
parents: 7505
diff changeset
   465
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
showClassPackages
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
    showClassPackages isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
	showClassPackages := false asValue.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   469
	showClassPackages addDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   470
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
    ^ showClassPackages.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   472
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   473
    "Modified: / 18.2.2000 / 02:02:52 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   474
    "Created: / 18.2.2000 / 17:36:30 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   476
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   477
showClassPackages:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   478
    showClassPackages notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
	showClassPackages removeDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
    showClassPackages := aValueHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   482
    showClassPackages notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   483
	showClassPackages addDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   485
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   486
10229
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   487
showCoverageInformation
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   488
    showCoverageInformation isNil ifTrue:[
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   489
        showCoverageInformation := false asValue.
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   490
        showCoverageInformation addDependent:self.
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   491
    ].
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   492
    ^ showCoverageInformation.
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   493
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   494
    "Created: / 27-04-2010 / 16:13:16 / cg"
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   495
!
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   496
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   497
showCoverageInformation:aValueHolder
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   498
    showCoverageInformation notNil ifTrue:[
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   499
        showCoverageInformation removeDependent:self
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   500
    ].
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   501
    showCoverageInformation := aValueHolder.
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   502
    showCoverageInformation notNil ifTrue:[
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   503
        showCoverageInformation  addDependent:self
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   504
    ].
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   505
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   506
    "Created: / 27-04-2010 / 16:13:20 / cg"
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   507
!
7d3f4a82cab0 coverageInfo aspect lifted
Claus Gittinger <cg@exept.de>
parents: 10186
diff changeset
   508
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   509
slaveMode
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   510
    slaveMode isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   511
	slaveMode := self defaultSlaveModeValue asValue.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   512
	slaveMode addDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   513
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   514
    ^ slaveMode.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   515
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
    "Created: / 25.2.2000 / 22:36:40 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   517
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   518
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   519
slaveMode:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   520
    |prev|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   521
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   522
    slaveMode notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   523
	slaveMode removeDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   524
	prev := slaveMode value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   525
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   526
    slaveMode := aValueHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   527
    slaveMode notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   528
	slaveMode addDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   529
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   530
    prev ~~ slaveMode value ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
	(prev isNil and:[slaveMode value]) ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   532
	    self update:#value with:nil from:slaveMode.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
	]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   534
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   536
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   537
sortBy
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
    sortBy isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
	sortBy := nil asValue.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
	sortBy addDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
    ^ sortBy.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
    "Created: / 25.2.2000 / 22:36:40 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
sortBy:aValueHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   548
    |prev|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   549
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
    prev := sortBy value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   551
    sortBy notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   552
	sortBy removeDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   553
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   554
    sortBy := aValueHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   555
    sortBy notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   556
	sortBy addDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   557
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   558
    prev ~~ sortBy value ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   559
	self update:#value with:nil from:sortBy.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   560
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   561
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   562
    "Modified: / 4.2.2000 / 23:29:30 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   563
    "Created: / 5.2.2000 / 13:42:12 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   564
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   565
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   566
updateTrigger
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   567
    updateTrigger isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   568
	updateTrigger := TriggerValue new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   569
	updateTrigger addDependent:self.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   570
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   571
    ^ updateTrigger.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   572
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   573
    "Created: / 18.2.2000 / 01:59:58 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   574
    "Modified: / 18.2.2000 / 02:02:52 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   575
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   576
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   577
updateTrigger:aTriggerValue
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   578
    updateTrigger notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   579
	updateTrigger removeDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   580
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   581
    updateTrigger := aTriggerValue.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   582
    updateTrigger notNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   583
	updateTrigger addDependent:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   584
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   585
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   586
    "Modified: / 4.2.2000 / 23:29:30 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   587
    "Created: / 18.2.2000 / 02:03:15 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   588
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   589
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   590
!BrowserList methodsFor:'change & update'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   591
11974
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   592
applicationIsActive
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   593
    "true if I am the active view"
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   594
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   595
    |wg activeView|
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   596
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   597
    (wg := self windowGroup) isNil ifTrue:[ ^ true ].   "/ I am being initialized  
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   598
    self device isNil ifTrue:[ ^ true ].   "/ I am being initialized   
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   599
12057
fcfdb4ff4a35 class: Tools::BrowserList
Stefan Vogel <sv@exept.de>
parents: 12046
diff changeset
   600
    (activeView := self device activeView) isNil ifTrue:[ "Transcript showCR:'nil active'." ^ false ].   
11974
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   601
"/Transcript showCR:'active view: ',(activeView printString). 
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   602
"/Transcript showCR:'active wg: ',(activeView windowGroup printString). 
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   603
"/Transcript showCR:'my wg: ',wg printString. 
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   604
    ^ activeView windowGroup == wg
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   605
!
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   606
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   607
delayedUpdate:something with:aParameter from:changedObject
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   608
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   609
    "/ if any of my subclasses want those, they should look for them.
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12503
diff changeset
   610
    changedObject == environment ifTrue:[
14040
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   611
        (something == #Language or:[something == #LanguageTerritory]) ifTrue:[
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   612
            ^ self
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   613
        ].
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   614
        something == #organization ifTrue:[
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   615
            ^ self
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   616
        ].
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   617
        something == #classDefinition ifTrue:[
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   618
            ^ self
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   619
        ].
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   620
        something == #classVariables ifTrue:[
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   621
            ^ self
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   622
        ].
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   623
        something == #methodTrap ifTrue:[
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   624
            ^ self
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   625
        ].
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   626
        something == #methodInClassRemoved ifTrue:[
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   627
            ^ self.
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   628
        ].
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   629
        something == #methodDictionary ifTrue:[
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   630
            ^ self 
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   631
        ].
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   632
        something == #newClass ifTrue:[
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   633
            ^ self 
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   634
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   635
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   636
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   637
    changedObject == slaveMode ifTrue:[
14040
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   638
        slaveMode value ~~ true ifTrue:[
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   639
            listValid ~~ true ifTrue:[
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   640
                self updateList.
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   641
            ].
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   642
            self updateOutputGenerator.
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   643
        ].
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   644
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   645
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   646
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   647
    changedObject == selectionHolder ifTrue:[
14040
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   648
        listValid ifFalse:[
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   649
            self updateList.
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   650
        ].
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   651
        ^ self selectionChanged
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   652
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   653
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   654
    changedObject == forceGeneratorTrigger ifTrue:[
14040
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   655
        self updateOutputGenerator.
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   656
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   657
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   658
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   659
    changedObject == hideUnloadedClasses ifTrue:[
14040
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   660
        self invalidateList.
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   661
        slaveMode value ~~ true ifTrue:[
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   662
            self updateOutputGenerator.
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   663
        ].
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   664
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   665
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   666
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   667
    changedObject == updateTrigger ifTrue:[
14040
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   668
        self enqueueDelayedUpdateList.
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   669
        ^ self 
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   670
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   671
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   672
    changedObject == inGeneratorHolder ifTrue:[
14040
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   673
        self invalidateList.
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   674
        ^ self 
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   675
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   676
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   677
"/    changedObject == outGeneratorHolder ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   678
"/        self enqueueDelayedUpdateList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   679
"/        ^ self 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   680
"/    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   681
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   682
    changedObject == packageFilter ifTrue:[
14040
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   683
        self invalidateList.
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   684
        ^ self 
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   685
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   686
    changedObject == nameSpaceFilter ifTrue:[
14040
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   687
        self invalidateList.
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   688
        ^ self 
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   689
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   690
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   691
    changedObject == organizerMode ifTrue:[
14040
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   692
        ^ self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   693
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   694
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   695
    self invalidateList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   696
    ^ self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   697
14040
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   698
    "Created: / 05-02-2000 / 13:42:06 / cg"
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   699
    "Modified: / 18-08-2000 / 14:19:24 / cg"
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   700
    "Modified (format): / 25-02-2014 / 10:02:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   701
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   702
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   703
enqueueDelayedUpdateList
11563
38df8cbd2591 list invalidation
Claus Gittinger <cg@exept.de>
parents: 11507
diff changeset
   704
    listValid := false.
38df8cbd2591 list invalidation
Claus Gittinger <cg@exept.de>
parents: 11507
diff changeset
   705
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   706
    (NewSystemBrowser synchronousUpdate == true
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   707
    or:[ immediateUpdate value == true ])
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   708
    ifTrue:[
11563
38df8cbd2591 list invalidation
Claus Gittinger <cg@exept.de>
parents: 11507
diff changeset
   709
        self updateList.
38df8cbd2591 list invalidation
Claus Gittinger <cg@exept.de>
parents: 11507
diff changeset
   710
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   711
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   712
11977
2a5289cec862 changed: #enqueueDelayedUpdateList
Claus Gittinger <cg@exept.de>
parents: 11976
diff changeset
   713
    (self applicationIsActive) ifTrue:[
11974
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   714
        self enqueueMessage:#updateList for:self arguments:#()
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   715
    ] ifFalse:[
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   716
        self enqueueMessage:#updateListInBackground for:self arguments:#()
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   717
    ].
11563
38df8cbd2591 list invalidation
Claus Gittinger <cg@exept.de>
parents: 11507
diff changeset
   718
38df8cbd2591 list invalidation
Claus Gittinger <cg@exept.de>
parents: 11507
diff changeset
   719
    "Modified: / 05-06-2012 / 23:38:18 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   720
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   721
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   722
enqueueDelayedUpdateOutputGenerator
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   723
    (NewSystemBrowser synchronousUpdate == true
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   724
    or:[ immediateUpdate value == true ])
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   725
    ifTrue:[
6926
0c726d6822d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6892
diff changeset
   726
        self updateOutputGenerator.
0c726d6822d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6892
diff changeset
   727
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   728
    ].
6926
0c726d6822d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6892
diff changeset
   729
    "/ listValid := false.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   730
    self enqueueMessage:#updateOutputGenerator for:self arguments:#()
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   731
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   732
14040
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   733
environmentChanged
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   734
    super environmentChanged.
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   735
    self updateList.
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   736
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   737
    "Created: / 24-02-2014 / 10:20:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   738
!
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   739
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   740
forceReselect
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   741
    |selectionHolder prevSelection|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   742
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   743
    selectionHolder := self selectionHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   744
    prevSelection := selectionHolder value.
6558
1c948ee4326f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6464
diff changeset
   745
1c948ee4326f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6464
diff changeset
   746
    selectionHolder class == ValueHolder ifTrue:[
1c948ee4326f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6464
diff changeset
   747
        selectionHolder changed:#value with:prevSelection.
1c948ee4326f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6464
diff changeset
   748
    ] ifFalse:[
1c948ee4326f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6464
diff changeset
   749
        selectionHolder setValue:nil.
1c948ee4326f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6464
diff changeset
   750
        selectionHolder value:prevSelection.
1c948ee4326f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6464
diff changeset
   751
    ]
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   752
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   753
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   754
forceSelectionClear
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   755
    self selectionHolder setValue:nil
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   756
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   757
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   758
forceUpdateList
6926
0c726d6822d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6892
diff changeset
   759
"/    |listView|
0c726d6822d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6892
diff changeset
   760
"/
0c726d6822d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6892
diff changeset
   761
"/    listView := builder componentAt:#List.
0c726d6822d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6892
diff changeset
   762
"/    listView notNil ifTrue:[    
0c726d6822d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6892
diff changeset
   763
"/        listView list:#()
0c726d6822d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6892
diff changeset
   764
"/    ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   765
    self updateList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   766
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   767
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   768
immediateUpdate:aBooleanOrBooleanHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   769
    immediateUpdate := aBooleanOrBooleanHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   770
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   771
    "Created: / 13.2.2000 / 22:26:06 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   772
    "Modified: / 13.2.2000 / 22:28:09 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   773
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   774
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   775
prioDelayedUpdate:something with:aParameter from:changedObject
6464
ad9a50d6097e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6448
diff changeset
   776
    Processor activeProcess withLowerPriorityDo:[
6448
a33af45f2f4b do not use numeric process prios
Claus Gittinger <cg@exept.de>
parents: 6260
diff changeset
   777
        self delayedUpdate:something with:aParameter from:changedObject
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   778
    ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   779
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   780
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   781
selectionChangeAllowed
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   782
    selectionChangeCondition isNil ifTrue:[^ true].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   783
    selectionChangeCondition isBlock ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   784
	selectionChangeCondition numArgs == 1 ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   785
	    ^ selectionChangeCondition value:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   786
	]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   787
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   788
    ^ selectionChangeCondition value
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   789
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   790
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   791
selectionChanged
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   792
    slaveMode value ~~ true ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   793
	self enqueueDelayedUpdateOutputGenerator
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   794
	"/ self updateOutputGenerator.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   795
    ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   796
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   797
    "Modified: / 4.2.2000 / 15:49:23 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   798
    "Created: / 5.2.2000 / 13:42:07 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   799
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   800
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   801
selectionChangedByClick
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   802
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   803
    "Created: / 25.2.2000 / 21:19:25 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   804
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   805
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   806
syncDelayedUpdateList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   807
    |sensor|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   808
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   809
    sensor := self window sensor.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   810
    sensor isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   811
	^ self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   812
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   813
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   814
    "/
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   815
    "/ if an update is in the queue, process it.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   816
    "/
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   817
    (sensor 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   818
      hasEvent:#updateList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   819
      for:self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   820
      withArguments:#()
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   821
    ) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   822
	sensor flushEventsFor:self withType:#updateList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   823
	self updateList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   824
	^ self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   825
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   826
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   827
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   828
update:something with:aParameter from:changedObject
14040
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   829
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   830
    changedObject == environmentHolder ifTrue:[
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   831
        self environmentChanged.
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   832
        ^ self.
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   833
    ].  
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   834
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   835
    (NewSystemBrowser synchronousUpdate == true
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   836
    or:[ immediateUpdate value == true ])
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   837
    ifTrue:[
11899
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
   838
        self delayedUpdate:something with:aParameter from:changedObject.
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
   839
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   840
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   841
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   842
"/    changedObject == selectionHolder ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   843
"/        listValid ifFalse:[
12046
ec2ca9db978e class: Tools::BrowserList
Claus Gittinger <cg@exept.de>
parents: 12014
diff changeset
   844
"/            self inSlaveMode ifTrue:[
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   845
"/                ^ self
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   846
"/            ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   847
"/        ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   848
"/    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   849
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   850
    changedObject == inGeneratorHolder ifTrue:[
11899
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
   851
        listValid := false.
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
   852
        "/ if not already shown, avoid the processing until shown
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
   853
        "/ cg: does not work (for whatever reason) - try implementors...
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
   854
        true "self window shown" ifFalse:[
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
   855
            ^ self
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
   856
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   857
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   858
    self enqueueDelayedUpdate:something with:aParameter from:changedObject.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   859
14040
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   860
    "Created: / 05-02-2000 / 13:42:07 / cg"
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   861
    "Modified: / 13-11-2001 / 11:30:19 / cg"
3a6d81d27264 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13980
diff changeset
   862
    "Modified: / 25-02-2014 / 09:05:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11974
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   863
!
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   864
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   865
updateListInBackground
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
   866
    self executeInBackground:[self updateList] 
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   867
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   868
7422
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   869
!BrowserList methodsFor:'drag & drop'!
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   870
7813
e41f3d1ca327 drag & drop
Claus Gittinger <cg@exept.de>
parents: 7737
diff changeset
   871
canDrop: aDropContext
e41f3d1ca327 drag & drop
Claus Gittinger <cg@exept.de>
parents: 7737
diff changeset
   872
    ^ self canDropContext: aDropContext
e41f3d1ca327 drag & drop
Claus Gittinger <cg@exept.de>
parents: 7737
diff changeset
   873
e41f3d1ca327 drag & drop
Claus Gittinger <cg@exept.de>
parents: 7737
diff changeset
   874
    "Created: / 03-07-2007 / 15:59:06 / cg"
e41f3d1ca327 drag & drop
Claus Gittinger <cg@exept.de>
parents: 7737
diff changeset
   875
!
e41f3d1ca327 drag & drop
Claus Gittinger <cg@exept.de>
parents: 7737
diff changeset
   876
e41f3d1ca327 drag & drop
Claus Gittinger <cg@exept.de>
parents: 7737
diff changeset
   877
doDrop: aDropContext
e41f3d1ca327 drag & drop
Claus Gittinger <cg@exept.de>
parents: 7737
diff changeset
   878
    ^ self doDropContext: aDropContext
e41f3d1ca327 drag & drop
Claus Gittinger <cg@exept.de>
parents: 7737
diff changeset
   879
e41f3d1ca327 drag & drop
Claus Gittinger <cg@exept.de>
parents: 7737
diff changeset
   880
    "Created: / 03-07-2007 / 15:59:33 / cg"
e41f3d1ca327 drag & drop
Claus Gittinger <cg@exept.de>
parents: 7737
diff changeset
   881
!
e41f3d1ca327 drag & drop
Claus Gittinger <cg@exept.de>
parents: 7737
diff changeset
   882
7422
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   883
dropClassFiles:files
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   884
    files do:[:fn |
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   885
        (Dialog confirm:(resources string:'FileIn %1 ?' with:fn baseName allBold)) ifTrue:[
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12503
diff changeset
   886
            environment fileIn:fn logged:true.
7422
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   887
        ]
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   888
    ].
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   889
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   890
    "Created: / 17-10-2006 / 18:24:36 / cg"
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   891
!
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   892
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   893
objectsAreClassFiles:objects
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   894
    (objects conform:[:anObject | anObject isFilename]) ifTrue:[
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   895
        |files|
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   896
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   897
        files := objects.
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   898
        ^ files conform:[:aFilename | aFilename exists
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   899
                                      and:[ aFilename suffix = 'st'
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   900
                                      and:[ aFilename isRegularFile ]]]
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   901
    ].
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   902
    ^ false
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   903
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   904
    "Created: / 17-10-2006 / 18:25:40 / cg"
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   905
! !
b4d123daf81a drag&drop:allow dropping st-files from the windows explorer
Claus Gittinger <cg@exept.de>
parents: 6926
diff changeset
   906
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   907
!BrowserList methodsFor:'generators'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   908
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   909
inGeneratorHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   910
    ^ inGeneratorHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   911
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   912
    "Created: / 5.2.2000 / 13:42:07 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   913
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   914
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   915
inGeneratorHolder:aConditionBlockHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   916
    |prevHolder|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   917
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   918
    (prevHolder := inGeneratorHolder) notNil ifTrue:[
7737
49c47dee4877 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7707
diff changeset
   919
        inGeneratorHolder removeDependent:self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   920
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   921
    inGeneratorHolder := aConditionBlockHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   922
    inGeneratorHolder notNil ifTrue:[
7737
49c47dee4877 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7707
diff changeset
   923
        inGeneratorHolder addDependent:self
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   924
    ].
7737
49c47dee4877 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7707
diff changeset
   925
    (prevHolder notNil or:[inGeneratorHolder notNil]) ifTrue:[
11933
d30d44475b30 changed: #inGeneratorHolder:
Claus Gittinger <cg@exept.de>
parents: 11919
diff changeset
   926
        true "self window shown" ifFalse:[
11899
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
   927
            "/ self enqueueDelayedUpdateList - will be done anyway, when shown
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
   928
        ] ifTrue:[
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
   929
            (prevHolder value isNil and:[ inGeneratorHolder value isEmptyOrNil]) 
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
   930
            ifFalse:[
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
   931
                self update:#value with:nil from:inGeneratorHolder
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
   932
            ].
7737
49c47dee4877 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7707
diff changeset
   933
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   934
    ].
7737
49c47dee4877 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7707
diff changeset
   935
49c47dee4877 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7707
diff changeset
   936
    "Modified: / 12-03-2007 / 11:31:23 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   937
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   938
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   939
makeGenerator
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   940
    self subclassResponsibility
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   941
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   942
    "Created: / 5.2.2000 / 13:42:07 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   943
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   944
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   945
outGeneratorHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   946
    outGeneratorHolder isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   947
	outGeneratorHolder := ValueHolder new
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   948
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   949
    ^ outGeneratorHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   950
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   951
    "Modified: / 4.2.2000 / 17:17:16 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   952
    "Created: / 5.2.2000 / 13:42:07 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   953
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   954
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   955
outGeneratorHolder:aConditionBlockHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   956
    outGeneratorHolder := aConditionBlockHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   957
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   958
    "Created: / 5.2.2000 / 13:42:08 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   959
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   960
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   961
updateOutputGenerator
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   962
    "create a generator which enumerates my elements, 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   963
     and place it into the outputGenerator holder"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   964
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   965
    self outGeneratorHolder value: self makeGenerator.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   966
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   967
    "Modified: / 4.2.2000 / 17:16:34 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   968
    "Created: / 5.2.2000 / 13:42:08 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   969
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   970
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   971
!BrowserList methodsFor:'icons'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   972
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   973
abstractMethodIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   974
    "answer an icon to mark abstract methods"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   975
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   976
    ^ self fetchIcon:#abstractMethod selector:#abstractMethodIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   977
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   978
12503
4b1b58046747 do not cache icons on the class side (in classVars)
Claus Gittinger <cg@exept.de>
parents: 12452
diff changeset
   979
breakPointedIcon
4b1b58046747 do not cache icons on the class side (in classVars)
Claus Gittinger <cg@exept.de>
parents: 12452
diff changeset
   980
    "answer an icon to mark breakPointed methods"
4b1b58046747 do not cache icons on the class side (in classVars)
Claus Gittinger <cg@exept.de>
parents: 12452
diff changeset
   981
4b1b58046747 do not cache icons on the class side (in classVars)
Claus Gittinger <cg@exept.de>
parents: 12452
diff changeset
   982
    ^ self fetchIcon:#breakPointed selector:#breakPointedIcon
4b1b58046747 do not cache icons on the class side (in classVars)
Claus Gittinger <cg@exept.de>
parents: 12452
diff changeset
   983
!
4b1b58046747 do not cache icons on the class side (in classVars)
Claus Gittinger <cg@exept.de>
parents: 12452
diff changeset
   984
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   985
canvasIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   986
    "answer an icon to mark canvas spec methods"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   987
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   988
    ^ self fetchIcon:#canvas selector:#canvasIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   989
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   990
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   991
5761
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5596
diff changeset
   992
deprecatedMethodIcon
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5596
diff changeset
   993
    ^ self fetchIcon:#deprecatedMethodIcon selector:#deprecatedMethodIcon
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5596
diff changeset
   994
!
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5596
diff changeset
   995
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   996
fetchIcon:name selector:fetchSelector
7993
e0f1c606d840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7813
diff changeset
   997
    "answer an icon to mark methods"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   998
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   999
    icons isNil ifTrue:[icons := IdentityDictionary new].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1000
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1001
    ^ icons at:name ifAbsentPut:[
14062
3bddd74364ba class: Tools::BrowserList
Stefan Vogel <sv@exept.de>
parents: 14040
diff changeset
  1002
        |icn fh h|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1003
14062
3bddd74364ba class: Tools::BrowserList
Stefan Vogel <sv@exept.de>
parents: 14040
diff changeset
  1004
        icn := (SystemBrowser perform:fetchSelector) onDevice:device.
3bddd74364ba class: Tools::BrowserList
Stefan Vogel <sv@exept.de>
parents: 14040
diff changeset
  1005
        icn clearMaskedPixels.
3bddd74364ba class: Tools::BrowserList
Stefan Vogel <sv@exept.de>
parents: 14040
diff changeset
  1006
7993
e0f1c606d840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7813
diff changeset
  1007
        h := icn height.
e0f1c606d840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7813
diff changeset
  1008
        h > (fh := SelectionInListView defaultFont heightOn:device) ifTrue:[
e0f1c606d840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7813
diff changeset
  1009
            icn := icn magnifiedBy:(fh / h)
e0f1c606d840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7813
diff changeset
  1010
        ].
e0f1c606d840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7813
diff changeset
  1011
        icn onDevice:device
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1012
      ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1013
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1014
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1015
fileImageIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1016
    "answer an icon to mark file-image spec methods"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1017
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1018
    ^ self fetchIcon:#fileImage selector:#fileImageIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1019
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1020
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1021
helpIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1022
    "answer an icon to mark help spec methods"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1023
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1024
    ^ self fetchIcon:#help selector:#helpIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1025
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1026
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1027
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1028
hierarchicalListIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1029
    "answer an icon to mark hierarchicalList spec methods"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1030
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1031
    ^ self fetchIcon:#hierarchicalList selector:#hierarchicalListIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1032
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1033
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1034
5999
Claus Gittinger <cg@exept.de>
parents: 5909
diff changeset
  1035
ignoredMethodIcon
Claus Gittinger <cg@exept.de>
parents: 5909
diff changeset
  1036
    "answer an icon to mark ignored methods"
Claus Gittinger <cg@exept.de>
parents: 5909
diff changeset
  1037
Claus Gittinger <cg@exept.de>
parents: 5909
diff changeset
  1038
    ^ self fetchIcon:#ignoredMethod selector:#ignoredMethodIcon
Claus Gittinger <cg@exept.de>
parents: 5909
diff changeset
  1039
!
Claus Gittinger <cg@exept.de>
parents: 5909
diff changeset
  1040
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1041
imageIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1042
    "answer an icon to mark image spec methods"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1043
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1044
    ^ self fetchIcon:#image selector:#imageIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1045
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1046
7993
e0f1c606d840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7813
diff changeset
  1047
instrumentationIcon
e0f1c606d840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7813
diff changeset
  1048
    "answer an icon to mark instrumented methods"
e0f1c606d840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7813
diff changeset
  1049
e0f1c606d840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7813
diff changeset
  1050
"/    ^ self fetchIcon:#watch selector:#watchIcon
e0f1c606d840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7813
diff changeset
  1051
    ^ self fetchIcon:#instrumentation selector:#instrumentationIcon
e0f1c606d840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7813
diff changeset
  1052
!
e0f1c606d840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7813
diff changeset
  1053
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1054
menuIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1055
    "answer an icon to mark menu spec methods"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1056
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1057
    ^ self fetchIcon:#menu selector:#menuIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1058
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1059
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1060
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1061
methodEmptyInheritedIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1062
    ^ self fetchIcon:#methodEmptyInherited selector:#methodEmptyInheritedIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1063
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1064
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1065
methodInheritedFromAboveAndRedefinedBelowIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1066
    ^ self fetchIcon:#methodInheritedFromAboveAndRedefinedBelow selector:#methodInheritedFromAboveAndRedefinedBelowIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1067
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1068
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1069
methodInheritedFromAboveIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1070
    ^ self fetchIcon:#methodInheritedFromAbove selector:#methodInheritedFromAboveIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1071
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1072
5761
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5596
diff changeset
  1073
methodIsSubclassResponsibilityAndRedefinedBelowIcon
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5596
diff changeset
  1074
    ^ self fetchIcon:#methodIsSubclassResponsibilityAndRedefinedBelowIcon selector:#methodIsSubclassResponsibilityAndRedefinedBelowIcon
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5596
diff changeset
  1075
!
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5596
diff changeset
  1076
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5596
diff changeset
  1077
methodIsSubclassResponsibilityIcon
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5596
diff changeset
  1078
    ^ self fetchIcon:#methodIsSubclassResponsibilityIcon selector:#methodIsSubclassResponsibilityIcon
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5596
diff changeset
  1079
!
b350e042dc9f Icons for subclassResponsibility and deprecated methods
Stefan Vogel <sv@exept.de>
parents: 5596
diff changeset
  1080
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1081
methodRedefinedBelowIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1082
    ^ self fetchIcon:#methodRedefinedBelow selector:#methodRedefinedBelowIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1083
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1084
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1085
privateMethodIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1086
    "answer an icon to mark private methods"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1087
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1088
    ^ self fetchIcon:#privateMethod selector:#privateMethodIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1089
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1090
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1091
programImageIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1092
    "answer an icon to mark image spec methods"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1093
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1094
    ^ self fetchIcon:#programImage selector:#programImageIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1095
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1096
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1097
programMenuIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1098
    "answer an icon to mark program generated menu methods"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1099
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1100
    ^ self fetchIcon:#programMenu selector:#programMenuIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1101
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1102
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1103
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1104
protectedMethodIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1105
    "answer an icon to mark protected methods"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1106
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1107
    ^ self fetchIcon:#protectedMethod selector:#protectedMethodIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1108
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1109
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1110
stopIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1111
    "answer an icon to mark breakPointed methods"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1112
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1113
    ^ self fetchIcon:#stop selector:#stopIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1114
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1115
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1116
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1117
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1118
tabListIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1119
    "answer an icon to mark tabList spec methods"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1120
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1121
    ^ self fetchIcon:#tabList selector:#tabListIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1122
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1123
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1124
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1125
tableColumnsIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1126
    "answer an icon to mark tableColumns spec methods"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1127
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1128
    ^ self fetchIcon:#tableColumns selector:#tableColumnsIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1129
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1130
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1131
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1132
timeIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1133
    "answer an icon to mark timed methods"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1134
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1135
    ^ self fetchIcon:#time selector:#timeIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1136
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1137
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1138
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1139
traceIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1140
    "answer an icon to mark traced methods"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1141
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1142
"/    ^ self fetchIcon:#watch selector:#watchIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1143
    ^ self fetchIcon:#trace selector:#traceIcon
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1144
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1145
11257
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1146
!BrowserList methodsFor:'initialize-release'!
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1147
11899
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
  1148
initialize
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
  1149
    listValid := false.
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
  1150
    super initialize.
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
  1151
!
f6ed97f1d73f added: #initialize
Claus Gittinger <cg@exept.de>
parents: 11563
diff changeset
  1152
11257
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1153
release
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1154
    self makeIndependent.
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1155
    super release.
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1156
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1157
    filter removeDependent:self.
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1158
    forceGeneratorTrigger removeDependent:self.
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1159
    hideUnloadedClasses removeDependent:self.
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1160
    inGeneratorHolder removeDependent:self.
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1161
    nameSpaceFilter removeDependent:self.
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1162
    organizerMode removeDependent:self.
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1163
    packageFilter removeDependent:self.
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1164
    selectionHolder removeDependent:self.
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1165
    showClassPackages removeDependent:self.
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1166
    slaveMode removeDependent:self.
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1167
    sortBy removeDependent:self.
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1168
    updateTrigger removeDependent:self.
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1169
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1170
    "Created: / 5.2.2000 / 13:42:09 / cg"
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1171
    "Modified: / 13.2.2000 / 23:32:23 / cg"
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1172
! !
7bc6429c64c5 category of: #release
Claus Gittinger <cg@exept.de>
parents: 10956
diff changeset
  1173
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1174
!BrowserList methodsFor:'misc'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1175
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1176
invalidateList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1177
    listValid := false.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1178
    slaveMode value ~~ true ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1179
	self enqueueDelayedUpdateList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1180
    ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1181
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1182
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1183
!BrowserList methodsFor:'private'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1184
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1185
browserNameList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1186
    self subclassResponsibility
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1187
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1188
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1189
classesToProcessForClasses:classes withVisibility:visibility
10186
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1190
    "for methodCategory and methodList, depending on the setting
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1191
     of visibility (allButObject, includeAllSupers or class only),
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1192
     return a combined hull set of classes for a given set."
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1193
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1194
    |classesToProcess classesToProcessInOrder|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1195
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1196
    visibility isNil ifTrue:[^classes].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1197
    visibility == #class ifTrue:[^classes].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1198
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1199
    classesToProcess := IdentitySet new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1200
    classesToProcessInOrder := OrderedCollection new.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1201
    classes notNil ifTrue:[
10186
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1202
        classes do:[:eachClass |
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1203
            |withAllSupers|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1204
10186
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1205
            withAllSupers := eachClass withAllSuperclasses.
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1206
            visibility == #allButObject ifTrue:[
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1207
                eachClass isMeta ifTrue:[
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1208
                    withAllSupers removeAllFoundIn:(Object class withAllSuperclasses)
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1209
                ] ifFalse:[
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1210
                    withAllSupers remove:Object ifAbsent:nil
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1211
                ]
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1212
            ].
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1213
            withAllSupers do:[:each |
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1214
                (classesToProcess includes:each) ifFalse:[
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1215
                    classesToProcess add:each. 
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1216
                    classesToProcessInOrder add:each. 
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1217
                ]
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1218
            ]
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1219
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1220
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1221
    ^ classesToProcessInOrder
10186
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1222
9a68df671079 commented: #classesToProcessForClasses:withVisibility:
Claus Gittinger <cg@exept.de>
parents: 10141
diff changeset
  1223
    "Modified (comment): / 06-07-2011 / 11:21:16 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1224
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1225
9432
a975ef2afbfd coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9428
diff changeset
  1226
colorize:aString with:emphasis
a975ef2afbfd coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9428
diff changeset
  1227
    ^ aString asText emphasisAllAdd:emphasis
a975ef2afbfd coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9428
diff changeset
  1228
a975ef2afbfd coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9428
diff changeset
  1229
    "Created: / 27-04-2010 / 15:36:34 / cg"
a975ef2afbfd coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9428
diff changeset
  1230
!
a975ef2afbfd coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9428
diff changeset
  1231
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1232
colorizeForChangedCode:someString
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1233
    ^ someString asText emphasisAllAdd:(UserPreferences current emphasisForChangedCode)
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1234
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1235
    "Created: / 31.10.2001 / 10:17:56 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1236
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1237
7505
e364eb9079fe changed #colorizeForChangedCodeInSmallTeam:
Claus Gittinger <cg@exept.de>
parents: 7426
diff changeset
  1238
colorizeForChangedCodeInSmallTeam:someString
e364eb9079fe changed #colorizeForChangedCodeInSmallTeam:
Claus Gittinger <cg@exept.de>
parents: 7426
diff changeset
  1239
    ^ someString asText emphasisAllAdd:(UserPreferences current emphasisForChangedCodeInSmallTeam)
e364eb9079fe changed #colorizeForChangedCodeInSmallTeam:
Claus Gittinger <cg@exept.de>
parents: 7426
diff changeset
  1240
e364eb9079fe changed #colorizeForChangedCodeInSmallTeam:
Claus Gittinger <cg@exept.de>
parents: 7426
diff changeset
  1241
    "Created: / 10-11-2006 / 16:53:53 / cg"
e364eb9079fe changed #colorizeForChangedCodeInSmallTeam:
Claus Gittinger <cg@exept.de>
parents: 7426
diff changeset
  1242
!
e364eb9079fe changed #colorizeForChangedCodeInSmallTeam:
Claus Gittinger <cg@exept.de>
parents: 7426
diff changeset
  1243
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1244
colorizeForDifferentPackage:someString
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1245
    ^ someString asText emphasisAllAdd:(UserPreferences current emphasisForDifferentPackage)
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1246
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1247
9428
Claus Gittinger <cg@exept.de>
parents: 8724
diff changeset
  1248
colorizeForInstrumentedFullyCoveredCode:someString
9432
a975ef2afbfd coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9428
diff changeset
  1249
    ^ self colorize:someString with:(UserPreferences current emphasisForInstrumentedFullyCoveredCode)
9428
Claus Gittinger <cg@exept.de>
parents: 8724
diff changeset
  1250
Claus Gittinger <cg@exept.de>
parents: 8724
diff changeset
  1251
    "Created: / 27-04-2010 / 13:01:24 / cg"
9432
a975ef2afbfd coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9428
diff changeset
  1252
    "Modified: / 27-04-2010 / 15:36:49 / cg"
9428
Claus Gittinger <cg@exept.de>
parents: 8724
diff changeset
  1253
!
Claus Gittinger <cg@exept.de>
parents: 8724
diff changeset
  1254
Claus Gittinger <cg@exept.de>
parents: 8724
diff changeset
  1255
colorizeForInstrumentedNeverCalledCode:someString
9432
a975ef2afbfd coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9428
diff changeset
  1256
    ^ self colorize:someString with:(UserPreferences current emphasisForInstrumentedNeverCalledCode)
9428
Claus Gittinger <cg@exept.de>
parents: 8724
diff changeset
  1257
Claus Gittinger <cg@exept.de>
parents: 8724
diff changeset
  1258
    "Created: / 27-04-2010 / 12:59:56 / cg"
9432
a975ef2afbfd coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9428
diff changeset
  1259
    "Modified: / 27-04-2010 / 15:37:02 / cg"
9428
Claus Gittinger <cg@exept.de>
parents: 8724
diff changeset
  1260
!
Claus Gittinger <cg@exept.de>
parents: 8724
diff changeset
  1261
Claus Gittinger <cg@exept.de>
parents: 8724
diff changeset
  1262
colorizeForInstrumentedPartiallyCoveredCode:someString
9432
a975ef2afbfd coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9428
diff changeset
  1263
    ^ self colorize:someString with:(UserPreferences current emphasisForInstrumentedPartiallyCoveredCode)
9428
Claus Gittinger <cg@exept.de>
parents: 8724
diff changeset
  1264
Claus Gittinger <cg@exept.de>
parents: 8724
diff changeset
  1265
    "Created: / 27-04-2010 / 13:01:31 / cg"
9432
a975ef2afbfd coverage-info colorization
Claus Gittinger <cg@exept.de>
parents: 9428
diff changeset
  1266
    "Modified: / 27-04-2010 / 15:37:06 / cg"
9428
Claus Gittinger <cg@exept.de>
parents: 8724
diff changeset
  1267
!
Claus Gittinger <cg@exept.de>
parents: 8724
diff changeset
  1268
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1269
colorizeGrey:someString
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1270
    ^ someString asText emphasisAllAdd:(#color->Color darkGrey)
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1271
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1272
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1273
emphasizeForChangedCode:someString
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1274
    ^ self colorizeForChangedCode:someString
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1275
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1276
    "Modified: / 31.10.2001 / 10:18:57 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1277
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1278
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1279
emphasizeForDifferentPackage:someString
6006
6bc518b7aa2f *** empty log message ***
ca
parents: 5999
diff changeset
  1280
    ^ self colorizeForDifferentPackage:(' [' , (' ' , someString , ' ') "allItalic" , ']')
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1281
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1282
    "Modified: / 31.10.2001 / 10:13:35 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1283
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1284
11974
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1285
executeInBackground:aBlock
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1286
    "used to update when I do not have the focus (i.e. being iconified or non-active).
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1287
     Run aBlock at suerBackgroundPrio, but go back to normal prio, if I get the focus"
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1288
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1289
    |activeProcess watcher done|
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1290
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1291
    activeProcess := Processor activeProcess.
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1292
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1293
    done := false.
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1294
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1295
    watcher :=
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1296
        [
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1297
            |wg|
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1298
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1299
            [done] whileFalse:[
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1300
                Delay waitForSeconds:0.2.
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1301
                self applicationIsActive ifTrue:[
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1302
                    activeProcess priority:(Processor userSchedulingPriority).
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1303
                    done := true.
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1304
                ].
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1305
            ].
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1306
        ] fork.
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1307
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1308
    [
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1309
        activeProcess withUserBackgroundPriorityDo:aBlock
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1310
    ] ensure:[ 
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1311
        done := true. 
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1312
        watcher terminate 
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1313
    ].
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1314
!
f0d6c6f307e6 changed:
Claus Gittinger <cg@exept.de>
parents: 11939
diff changeset
  1315
12046
ec2ca9db978e class: Tools::BrowserList
Claus Gittinger <cg@exept.de>
parents: 12014
diff changeset
  1316
inSlaveMode
ec2ca9db978e class: Tools::BrowserList
Claus Gittinger <cg@exept.de>
parents: 12014
diff changeset
  1317
    ^ (self slaveMode value == true)
ec2ca9db978e class: Tools::BrowserList
Claus Gittinger <cg@exept.de>
parents: 12014
diff changeset
  1318
!
ec2ca9db978e class: Tools::BrowserList
Claus Gittinger <cg@exept.de>
parents: 12014
diff changeset
  1319
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1320
inSlaveModeOrInvisible
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1321
    (self slaveMode value == true) ifTrue:[^ true].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1322
"/    self slaveMode value isNil ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1323
"/        self window shown ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1324
"/            ^ true
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1325
"/        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1326
"/    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1327
    ^ false
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1328
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1329
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1330
isClass:aClass shownWithNameSpaceFilter:nameSpaceFilter
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1331
    |nsName|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1332
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1333
    nameSpaceFilter isNil ifTrue:[^ true].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1334
    nsName := aClass topNameSpace name.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1335
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1336
    (nameSpaceFilter includes:nsName) ifTrue:[^ true].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1337
    (nameSpaceFilter contains:[:ns | nsName startsWith:(ns , '::')]) ifTrue:[^ true].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1338
    ^ false
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1339
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1340
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1341
isClass:aClass shownWithPackageFilter:packageFilter
6892
bd64bea510a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6748
diff changeset
  1342
    |classPackage|
bd64bea510a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6748
diff changeset
  1343
bd64bea510a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6748
diff changeset
  1344
    packageFilter isNil ifTrue:[^ true].
bd64bea510a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6748
diff changeset
  1345
    classPackage := aClass package.
bd64bea510a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6748
diff changeset
  1346
    (packageFilter includes:classPackage) ifTrue:[^ true].
11939
b5bec33f8092 changed: #isClass:shownWithPackageFilter:
Claus Gittinger <cg@exept.de>
parents: 11933
diff changeset
  1347
    (packageFilter includes:self class nameListEntryForChanged) ifTrue:[^ true].
6892
bd64bea510a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6748
diff changeset
  1348
bd64bea510a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6748
diff changeset
  1349
    aClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
bd64bea510a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6748
diff changeset
  1350
        |mthdPackage|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1351
6892
bd64bea510a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6748
diff changeset
  1352
        mthdPackage := mthd package.
bd64bea510a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6748
diff changeset
  1353
        mthdPackage ~~ classPackage ifTrue:[
bd64bea510a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6748
diff changeset
  1354
            (packageFilter includes:mthdPackage) ifTrue:[^ true].
bd64bea510a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6748
diff changeset
  1355
        ].
bd64bea510a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6748
diff changeset
  1356
    ].
bd64bea510a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6748
diff changeset
  1357
    ^ false
bd64bea510a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6748
diff changeset
  1358
bd64bea510a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6748
diff changeset
  1359
    "Modified: / 11-08-2006 / 15:15:28 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1360
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1361
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1362
makeDependent
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1363
    self subclassResponsibility
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1364
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1365
    "Created: / 5.2.2000 / 13:42:08 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1366
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1367
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1368
makeIndependent
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1369
    self subclassResponsibility
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1370
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1371
    "Created: / 5.2.2000 / 13:42:08 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1372
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1373
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1374
releaseAsSubCanvas
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1375
    self makeIndependent.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1376
    super releaseAsSubCanvas.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1377
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1378
    "Created: / 13.2.2000 / 23:11:29 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1379
    "Modified: / 13.2.2000 / 23:32:29 / cg"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1380
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1381
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1382
updateList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1383
    self subclassResponsibility.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1384
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1385
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1386
updateListFor:newList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1387
    "update the browsers list in a way which avoids scrolls
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1388
     and flicker; returns true, if the newList is the same."
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1389
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1390
    |"oldListSize newListSize" sameContents sameStrings oldEntry browserNameList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1391
     "firstDifferentFromBeginning firstDifferentFromEnd" listView prevMode sav|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1392
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1393
    browserNameList := self browserNameList value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1394
    sameContents := sameStrings := (newList size == browserNameList size).
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1395
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1396
    sameContents ifTrue:[
6260
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1397
        newList with:browserNameList do:[:newLine :oldLine |
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1398
            sameStrings ifTrue:[
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1399
                sameStrings := ((newLine ? '')  = (oldLine ? '')).    
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1400
            ].
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1401
            sameContents ifTrue:[
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1402
                ((newLine ? '') sameStringAndEmphasisAs:(oldLine ? '')) ifFalse:[
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1403
                    sameContents := false
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1404
                ]
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1405
            ].
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1406
        ]
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1407
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1408
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1409
    listView := builder componentAt:#List.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1410
    listView isNil ifTrue:[
6260
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1411
        "/ called early during setup ...
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1412
        browserNameList contents:newList.
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1413
        ^ sameContents.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1414
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1415
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1416
    sameContents ifTrue:[
6260
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1417
        ^ sameContents
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1418
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1419
    sameStrings ifTrue:[
6260
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1420
        newList keysAndValuesDo:[:lineNr :line |
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1421
            oldEntry := browserNameList at:lineNr.    
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1422
            (oldEntry sameStringAndEmphasisAs:line) ifFalse:[
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1423
                browserNameList at:lineNr put:line.
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1424
            ]
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1425
        ].
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1426
        ^ sameContents
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1427
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1428
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1429
    listView := listView scrolledView.
6260
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1430
    listView isNil ifTrue:[^ false].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1431
    prevMode := listView scrollWhenUpdating.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1432
    listView scrollWhenUpdating:nil.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1433
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1434
    [
6260
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1435
        "/ dont want to be called if selection is changed by selListView
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1436
        sav := listView action.
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1437
        listView action:nil.
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1438
        browserNameList contents:newList.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1439
    ] ensure:[
6260
9e7aa671f1b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6179
diff changeset
  1440
        listView action:sav.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1441
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1442
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1443
    listView scrollWhenUpdating:prevMode.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1444
    ^ sameContents.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1445
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1446
"/    oldListSize := browserNameList size.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1447
"/    newListSize := newList size.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1448
"/    newListSize == 0 ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1449
"/        oldListSize == 0 ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1450
"/            ^ true "/ same
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1451
"/        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1452
"/        browserNameList removeAll.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1453
"/        ^ false "/ not same
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1454
"/    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1455
"/
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1456
"/    oldListSize == 0 ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1457
"/        browserNameList contents:newList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1458
"/        ^ false. "/ not same
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1459
"/    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1460
"/
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1461
"/    (newListSize between:(oldListSize-1) and:(oldListSize+1)) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1462
"/        "/ individually exchange changed lines, to avoid flicker.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1463
"/        "/ the old code was: self browserNameList value:newList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1464
"/        "/ but if only a single method is changed (or an instrumentation icon changes),
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1465
"/        "/ this results in avoidable flicker.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1466
"/
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1467
"/        newListSize > oldListSize ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1468
"/            "/ an entry seems to be added
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1469
"/            "/ try to find it.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1470
"/            firstDifferentFromBeginning := 1.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1471
"/
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1472
"/            [firstDifferentFromBeginning <= oldListSize
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1473
"/             and:[(newList at:firstDifferentFromBeginning) sameStringAndEmphasisAs: (browserNameList at:firstDifferentFromBeginning)]]   
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1474
"/            whileTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1475
"/                firstDifferentFromBeginning := firstDifferentFromBeginning + 1.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1476
"/            ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1477
"/            firstDifferentFromEnd := newListSize.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1478
"/            [firstDifferentFromEnd >= 1
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1479
"/             and:[(newList at:firstDifferentFromEnd) sameStringAndEmphasisAs: (browserNameList at:firstDifferentFromEnd-1)]]   
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1480
"/            whileTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1481
"/                firstDifferentFromEnd := firstDifferentFromEnd - 1.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1482
"/            ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1483
"/            (firstDifferentFromEnd - firstDifferentFromBeginning) > (newList size // 10) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1484
"/                "/ too many differences - exchange the list en-bloque
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1485
"/                browserNameList contents:newList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1486
"/                ^ false. "/ not same
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1487
"/            ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1488
"/            "/ entries from firstDifferentFromBeginning to firstDifferentFromEnd in newList are different
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1489
"/
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1490
"/            (firstDifferentFromEnd - firstDifferentFromBeginning + 1 "number of different items") == (newListSize - oldListSize) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1491
"/                "/ for now, only handle single-added-item case
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1492
"/                firstDifferentFromEnd ~~ firstDifferentFromBeginning ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1493
"/                    self halt
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1494
"/                ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1495
"/
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1496
"/                "/ item at firstDifferentFromBeginning has been inserted.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1497
"/                browserNameList add:(newList at:firstDifferentFromBeginning) beforeIndex:firstDifferentFromEnd.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1498
"/               ^ false "/ not the same
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1499
"/            ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1500
"/        ] ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1501
"/            newListSize < oldListSize ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1502
"/                "/ an entry seems to be removed
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1503
"/                "/ try to find it.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1504
"/                firstDifferentFromBeginning := 1.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1505
"/
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1506
"/                [firstDifferentFromBeginning <= newListSize
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1507
"/                 and:[(newList at:firstDifferentFromBeginning) sameStringAndEmphasisAs: (browserNameList at:firstDifferentFromBeginning)]]   
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1508
"/                whileTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1509
"/                    firstDifferentFromBeginning := firstDifferentFromBeginning + 1.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1510
"/                ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1511
"/                firstDifferentFromEnd := newListSize.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1512
"/                [firstDifferentFromEnd >= 1
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1513
"/                 and:[(newList at:firstDifferentFromEnd) sameStringAndEmphasisAs: (browserNameList at:firstDifferentFromEnd+1)]]   
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1514
"/                whileTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1515
"/                    firstDifferentFromEnd := firstDifferentFromEnd - 1.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1516
"/                ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1517
"/                (firstDifferentFromEnd - firstDifferentFromBeginning) > (newList size // 10) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1518
"/                    "/ too many differences - exchange the list en-bloque
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1519
"/                    browserNameList contents:newList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1520
"/                    ^ false. "/ not same
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1521
"/                ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1522
"/                "/ entries from firstDifferentFromBeginning to firstDifferentFromEnd in newList are different
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1523
"/
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1524
"/                (firstDifferentFromBeginning - firstDifferentFromEnd) == (oldListSize - newListSize) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1525
"/                    "/ for now, only handle single-removed-item case
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1526
"/                    firstDifferentFromEnd ~~ (firstDifferentFromBeginning-1) ifTrue:[self halt].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1527
"/
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1528
"/                    "/ item at firstDifferentFromBeginning has been removed.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1529
"/                    browserNameList removeFromIndex:firstDifferentFromBeginning toIndex:firstDifferentFromBeginning.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1530
"/                   ^ false "/ not the same
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1531
"/                ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1532
"/            ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1533
"/        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1534
"/
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1535
"/        sameContents := true.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1536
"/        newList keysAndValuesDo:[:lineNr :line |
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1537
"/            lineNr > browserNameList size ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1538
"/                browserNameList add:line.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1539
"/                sameContents := false.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1540
"/            ] ifFalse:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1541
"/                oldEntry := browserNameList at:lineNr.    
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1542
"/                (oldEntry ~= line 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1543
"/                or:[(oldEntry sameStringAndEmphasisAs:line) not]) ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1544
"/                    browserNameList at:lineNr put:line.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1545
"/                    sameContents := false.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1546
"/                ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1547
"/            ]
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1548
"/        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1549
"/        newList size < browserNameList size ifTrue:[
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1550
"/            browserNameList removeFromIndex:(newList size + 1) toIndex:(browserNameList size).
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1551
"/            sameContents := false.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1552
"/        ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1553
"/        ^ sameContents
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1554
"/    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1555
"/
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1556
"/    browserNameList contents:newList.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1557
"/    ^ false "/ not the same
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1558
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1559
10415
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1560
!BrowserList methodsFor:'queries'!
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1561
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1562
supportsSearch
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1563
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1564
    ^true
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1565
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1566
    "Created: / 27-07-2011 / 20:31:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1567
! !
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1568
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1569
!BrowserList methodsFor:'setup'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1570
6711
7baeea233b90 autoselect feature
Claus Gittinger <cg@exept.de>
parents: 6558
diff changeset
  1571
autoSelect:aBoolean
6748
f866429016aa fixes for use in MetricViewer
Claus Gittinger <cg@exept.de>
parents: 6739
diff changeset
  1572
    autoSelect := aBoolean.
6711
7baeea233b90 autoselect feature
Claus Gittinger <cg@exept.de>
parents: 6558
diff changeset
  1573
!
7baeea233b90 autoselect feature
Claus Gittinger <cg@exept.de>
parents: 6558
diff changeset
  1574
5909
95cd2d9822b3 commonPostBuild
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1575
commonPostBuild
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1576
    |list|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1577
12046
ec2ca9db978e class: Tools::BrowserList
Claus Gittinger <cg@exept.de>
parents: 12014
diff changeset
  1578
    self inSlaveMode ifFalse:[
12081
9c6c76360b9d class: Tools::BrowserList
Claus Gittinger <cg@exept.de>
parents: 12057
diff changeset
  1579
        "/ listValid ifFalse:[self enqueueDelayedUpdateList "updateList"].
9c6c76360b9d class: Tools::BrowserList
Claus Gittinger <cg@exept.de>
parents: 12057
diff changeset
  1580
        listValid := false.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1581
    ] ifTrue:[
11919
9fa21d589eba comment/format in: #inGeneratorHolder:
Claus Gittinger <cg@exept.de>
parents: 11899
diff changeset
  1582
        listValid := false.
12046
ec2ca9db978e class: Tools::BrowserList
Claus Gittinger <cg@exept.de>
parents: 12014
diff changeset
  1583
        "/ self enqueueDelayedUpdateList.
12081
9c6c76360b9d class: Tools::BrowserList
Claus Gittinger <cg@exept.de>
parents: 12057
diff changeset
  1584
        "/ self invalidateList
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1585
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1586
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1587
    self makeDependent.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1588
5909
95cd2d9822b3 commonPostBuild
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1589
    list := builder componentAt:#List.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1590
    list notNil ifTrue:[
5909
95cd2d9822b3 commonPostBuild
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1591
        list selectConditionBlock:[:item | self selectionChangeAllowed].
95cd2d9822b3 commonPostBuild
Claus Gittinger <cg@exept.de>
parents: 5761
diff changeset
  1592
        list ignoreReselect:false.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1593
    ].
10415
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1594
10419
9d417ea98d0f In-Place search support
vrany
parents: 10415
diff changeset
  1595
    UserPreferences current useInPlaceSearchInBrowserLists ifTrue:[
10415
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1596
        self supportsSearch ifTrue:[
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1597
            list notNil ifTrue:[
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1598
                searchHandler := SearchHandler for: list
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1599
            ] ifFalse:[ 
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1600
                self breakPoint: #jv info: 'Should support search but list is nil. Wrong spec?'
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1601
            ].
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1602
        ]
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1603
    ]
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1604
10419
9d417ea98d0f In-Place search support
vrany
parents: 10415
diff changeset
  1605
    "Modified: / 28-07-2011 / 09:39:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12014
9d3d20c4ff34 added: #commonPostOpen
Claus Gittinger <cg@exept.de>
parents: 12011
diff changeset
  1606
!
9d3d20c4ff34 added: #commonPostOpen
Claus Gittinger <cg@exept.de>
parents: 12011
diff changeset
  1607
9d3d20c4ff34 added: #commonPostOpen
Claus Gittinger <cg@exept.de>
parents: 12011
diff changeset
  1608
commonPostOpen
9d3d20c4ff34 added: #commonPostOpen
Claus Gittinger <cg@exept.de>
parents: 12011
diff changeset
  1609
    super commonPostOpen.
9d3d20c4ff34 added: #commonPostOpen
Claus Gittinger <cg@exept.de>
parents: 12011
diff changeset
  1610
    listValid ifFalse:[
12081
9c6c76360b9d class: Tools::BrowserList
Claus Gittinger <cg@exept.de>
parents: 12057
diff changeset
  1611
        "/ self enqueueDelayedUpdateList.
12014
9d3d20c4ff34 added: #commonPostOpen
Claus Gittinger <cg@exept.de>
parents: 12011
diff changeset
  1612
    ]. 
10415
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1613
! !
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1614
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1615
!BrowserList::SearchHandler class methodsFor:'instance creation'!
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1616
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1617
for: aView
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1618
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1619
    ^self new initializeFor: aView.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1620
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1621
    "Created: / 27-07-2011 / 20:30:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1622
! !
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1623
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1624
!BrowserList::SearchHandler methodsFor:'event handling'!
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1625
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1626
keyPress:key x:x y:y view:aView
12109
88e819203b6a class: Tools::BrowserList
Claus Gittinger <cg@exept.de>
parents: 12081
diff changeset
  1627
    <resource: #keyboard (#Escape #Accept #Return #CursorUp #CursorDown)>
10415
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1628
10835
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1629
    | v |
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1630
10415
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1631
    aView == listView ifTrue:[
10835
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1632
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1633
        "Forward the event to the view under pointer.
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1634
         Therefore, the seach is started only iff the
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1635
         pointer points to the list. Based on experience,
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1636
         this improves usability because: does not require 
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1637
         to click in the list to focus it (which may change 
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1638
         the selection)"
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1639
        (v := aView windowGroup pointerView) ~~ aView ifTrue:[
10884
29636e660994 Fix in search handler (for namespace list)
vrany
parents: 10835
diff changeset
  1640
            v notNil ifTrue:[
29636e660994 Fix in search handler (for namespace list)
vrany
parents: 10835
diff changeset
  1641
                aView windowGroup focusView: v.
29636e660994 Fix in search handler (for namespace list)
vrany
parents: 10835
diff changeset
  1642
                v sensor keyPress:key x:x y:y view:v.
29636e660994 Fix in search handler (for namespace list)
vrany
parents: 10835
diff changeset
  1643
                ^self.
29636e660994 Fix in search handler (for namespace list)
vrany
parents: 10835
diff changeset
  1644
            ].
10835
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1645
        ].
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1646
10415
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1647
        searchWindow isNil ifTrue:[
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1648
            key isCharacter ifTrue:[
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1649
                searchHolder setValue: key asString.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1650
                self startSearch
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1651
            ]
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1652
        ] ifFalse:[
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1653
            key == #Escape ifTrue:[self stopSearch].
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1654
            key == #Accept ifTrue:[self stopSearch].
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1655
            key == #Return ifTrue:[self stopSearch].
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1656
        ]
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1657
    ].
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1658
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1659
    aView == searchField ifTrue:[
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1660
        key == #Escape ifTrue:[self stopSearch].
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1661
        key == #Accept ifTrue:[self stopSearch].
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1662
        key == #Return ifTrue:[self stopSearch].
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1663
        (key == #CursorUp or:[key == #CursorDown]) ifTrue:[
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1664
            listView sensor setCtrlDown: false.
10419
9d417ea98d0f In-Place search support
vrany
parents: 10415
diff changeset
  1665
            listView sensor setShiftDown: false.
10415
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1666
            listView keyPress:key x:x y:y
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1667
        ].
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1668
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1669
    ]
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1670
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1671
    "Created: / 27-07-2011 / 20:39:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1672
! !
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1673
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1674
!BrowserList::SearchHandler methodsFor:'event handling-queries'!
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1675
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1676
handlesKeyPress:key inView:aView
12109
88e819203b6a class: Tools::BrowserList
Claus Gittinger <cg@exept.de>
parents: 12081
diff changeset
  1677
    <resource: #keyboard (#Escape #Accept #Return #CursorUp #CursorDown)>
10415
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1678
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1679
    aView == listView ifTrue:[
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1680
        key isCharacter ifTrue:[
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1681
            ^true
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1682
        ]
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1683
    ].
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1684
    aView == searchField ifTrue:[
12109
88e819203b6a class: Tools::BrowserList
Claus Gittinger <cg@exept.de>
parents: 12081
diff changeset
  1685
        (#(#Escape #Accept #Return #CursorUp #CursorDown) includes: key) ifTrue:[
10415
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1686
            ^true
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1687
        ]
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1688
    ].
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1689
    ^false
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1690
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1691
    "Created: / 27-07-2011 / 20:39:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1692
! !
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1693
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1694
!BrowserList::SearchHandler methodsFor:'initialization'!
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1695
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1696
initializeFor: aView
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1697
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1698
    aView isScrollWrapper ifTrue:[
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1699
        listView := aView scrolledView
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1700
    ] ifFalse:[
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1701
        listView := aView.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1702
    ].
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1703
    listView delegate: self.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1704
    searchHolder := ValueHolder with: nil.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1705
    searchHolder onChangeSend: #updateList to: self.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1706
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1707
    "Created: / 27-07-2011 / 20:32:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1708
! !
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1709
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1710
!BrowserList::SearchHandler methodsFor:'private'!
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1711
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1712
absoluteLeftOfListView
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1713
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1714
    | absoluteLeft view |
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1715
    absoluteLeft := 1.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1716
    view := listView.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1717
    [ view notNil ] whileTrue:
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1718
        [absoluteLeft := absoluteLeft + view left - 2.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1719
        view := view superView].
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1720
    ^absoluteLeft
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1721
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1722
    "Created: / 08-08-2009 / 22:30:07 / Jan Vrany <vranyj1@fel.cvut.cz>"
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1723
    "Created: / 27-07-2011 / 21:54:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1724
!
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1725
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1726
absoluteTopOfListView
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1727
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1728
    | absoluteTop view |
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1729
    absoluteTop := 1.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1730
    view := listView.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1731
    [ view notNil ] whileTrue:
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1732
        [absoluteTop := absoluteTop + view top - 1.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1733
        view := view superView].
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1734
    ^absoluteTop
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1735
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1736
    "Created: / 08-08-2009 / 22:30:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1737
    "Created: / 27-07-2011 / 21:54:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1738
!
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1739
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1740
filter
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1741
10835
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1742
    | pattern |
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1743
    pattern := StringPattern fromString: searchHolder value.
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1744
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1745
    ^[:entry :relax|
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1746
    pattern match: entry asString trimSeparators relax: relax
10415
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1747
    ]
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1748
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1749
    "Created: / 27-07-2011 / 22:18:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1750
!
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1751
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1752
hideSearchWindow
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1753
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1754
    searchWindow
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1755
        ifNotNil:[
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1756
            searchWindow destroy.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1757
            searchWindow := nil.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1758
            searchField := nil.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1759
        ]
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1760
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1761
    "Created: / 27-07-2011 / 21:38:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1762
!
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1763
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1764
restoreList
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1765
10430
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1766
    self updateSelection.
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1767
    listView listHolder: listHolder.
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1768
    listSelectionHolder notNil ifTrue:[
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1769
        listView model: listSelectionHolder.    
10419
9d417ea98d0f In-Place search support
vrany
parents: 10415
diff changeset
  1770
    ].
10430
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1771
    listSelectionHolder changed: #value
10415
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1772
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1773
    "Created: / 27-07-2011 / 22:14:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1774
!
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1775
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1776
saveList
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1777
10430
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1778
    listHolder := listView listHolder.  
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1779
    listSelectionHolder := listView model.
10415
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1780
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1781
    "Created: / 27-07-2011 / 22:14:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1782
!
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1783
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1784
showSearchWindow
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1785
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1786
    searchWindow := StandardSystemView new
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1787
        bePopUpView;
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1788
        beSlave;        
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1789
        origin:(self absoluteLeftOfListView + 5" - optionsView textStartLeft") 
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1790
                    @ (self absoluteTopOfListView + listView height + 1 + 5)
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1791
        extent:(listView width + 0"((optionsView textStartLeft) * 2)") @ (listView font height * 1.5) ceiling.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1792
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1793
    searchField := (EditField 
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1794
                    origin: 0.0@0.0
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1795
                    corner: 1.0@1.0
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1796
                    in: searchWindow)
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1797
                    model: searchHolder;
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1798
                    immediateAccept: true;
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1799
                    delegate: self;
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1800
                    yourself.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1801
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1802
    searchWindow openModal.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1803
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1804
    "Created: / 27-07-2011 / 21:37:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1805
!
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1806
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1807
startSearch
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1808
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1809
    self saveList.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1810
    self updateList.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1811
    self showSearchWindow.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1812
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1813
    "Created: / 27-07-2011 / 21:37:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1814
!
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1815
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1816
stopSearch
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1817
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1818
    self hideSearchWindow.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1819
    self restoreList.
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1820
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1821
    "Created: / 27-07-2011 / 21:37:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1822
!
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1823
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1824
updateList
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1825
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1826
    | filter filteredList |
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1827
    filter := self filter.
10835
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1828
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1829
    filteredList := listHolder value select:[:each|filter value: each value: 1].
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1830
    filteredList isEmpty ifTrue:[
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1831
    filteredList := listHolder value select:[:each|filter value: each value: 2].
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1832
    filteredList isEmpty ifTrue:[
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1833
    filteredList := listHolder value select:[:each|filter value: each value: 3].
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1834
    ]].
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1835
9bb85dddf432 inplace search improved
vrany
parents: 10430
diff changeset
  1836
10419
9d417ea98d0f In-Place search support
vrany
parents: 10415
diff changeset
  1837
    listView listHolder == listHolder ifTrue:[
9d417ea98d0f In-Place search support
vrany
parents: 10415
diff changeset
  1838
        listView listHolder: (ValueHolder with: filteredList)
9d417ea98d0f In-Place search support
vrany
parents: 10415
diff changeset
  1839
    ] ifFalse:[
9d417ea98d0f In-Place search support
vrany
parents: 10415
diff changeset
  1840
        listView listHolder value: filteredList.
9d417ea98d0f In-Place search support
vrany
parents: 10415
diff changeset
  1841
    ].
10430
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1842
    listView model == listSelectionHolder ifTrue:[
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1843
        listView model: ValueHolder new.
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1844
        listView model onChangeSend: #updateSelection to: self.
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1845
    ].
10419
9d417ea98d0f In-Place search support
vrany
parents: 10415
diff changeset
  1846
    filteredList size == 1 ifTrue:[
9d417ea98d0f In-Place search support
vrany
parents: 10415
diff changeset
  1847
        listView selection: 1
9d417ea98d0f In-Place search support
vrany
parents: 10415
diff changeset
  1848
    ]
10415
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1849
a085536b301f Initial support for in-line search in list
vrany
parents: 10229
diff changeset
  1850
    "Created: / 27-07-2011 / 22:18:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10430
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1851
!
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1852
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1853
updateSelection
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1854
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1855
    | sel |
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1856
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1857
    listSelectionHolder isNil ifTrue:[^self].
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1858
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1859
    sel := listView selection.
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1860
    sel notNil ifTrue:[
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1861
        sel isInteger ifTrue:[
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1862
            sel := listHolder identityIndexOf: (listView list at: sel)
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1863
        ] ifFalse:[
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1864
            sel := sel collect:[:each|listHolder value identityIndexOf: (listView list at: each)]
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1865
        ].
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1866
    ] ifFalse:[
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1867
        listView multipleSelectOk ifTrue:[
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1868
            sel := #()
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1869
        ]
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1870
    ].
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1871
    listView useIndex ifFalse:[
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1872
        sel isInteger ifTrue:[
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1873
            sel := listHolder value at: sel
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1874
        ] ifFalse:[
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1875
            sel := sel collect:[:each|listHolder value at: each].
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1876
        ]
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1877
    ].
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1878
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1879
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1880
    listSelectionHolder value: sel.
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1881
de5471e4fa33 Improvements/fixes in in-place search
vrany
parents: 10419
diff changeset
  1882
    "Created: / 02-08-2011 / 09:08:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1883
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1884
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1885
!BrowserList class methodsFor:'documentation'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1886
11976
42399e2f1b18 background update disabled for now (seems to make it slower)
Claus Gittinger <cg@exept.de>
parents: 11974
diff changeset
  1887
version
14062
3bddd74364ba class: Tools::BrowserList
Stefan Vogel <sv@exept.de>
parents: 14040
diff changeset
  1888
    ^ '$Header: /cvs/stx/stx/libtool/Tools_BrowserList.st,v 1.63 2014-02-26 13:51:11 stefan Exp $'
11976
42399e2f1b18 background update disabled for now (seems to make it slower)
Claus Gittinger <cg@exept.de>
parents: 11974
diff changeset
  1889
!
42399e2f1b18 background update disabled for now (seems to make it slower)
Claus Gittinger <cg@exept.de>
parents: 11974
diff changeset
  1890
9428
Claus Gittinger <cg@exept.de>
parents: 8724
diff changeset
  1891
version_CVS
14062
3bddd74364ba class: Tools::BrowserList
Stefan Vogel <sv@exept.de>
parents: 14040
diff changeset
  1892
    ^ '$Header: /cvs/stx/stx/libtool/Tools_BrowserList.st,v 1.63 2014-02-26 13:51:11 stefan Exp $'
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1893
! !
12109
88e819203b6a class: Tools::BrowserList
Claus Gittinger <cg@exept.de>
parents: 12081
diff changeset
  1894