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