eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'Tools::BrowserList':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: BrowserList (in Tools)


Inheritance:

   Object
   |
   +--Model
      |
      +--ApplicationModel
         |
         +--Tools::NavigatorModel
            |
            +--Tools::BrowserList
               |
               +--Tools::BrowserListWithFilter
               |
               +--Tools::ClassCategoryList
               |
               +--Tools::ClassGeneratorList
               |
               +--Tools::ClassList
               |
               +--Tools::LintRuleList
               |
               +--Tools::MethodCategoryList
               |
               +--Tools::MethodList
               |
               +--Tools::NamespaceList
               |
               +--Tools::ProjectList
               |
               +--Tools::VariableList

Package:
stx:libtool
Category:
Interface-Browsers-New
Version:
rev: 1.118 date: 2023/11/21 08:27:20
user: cg
file: Tools__BrowserList.st directory: libtool
module: stx stc-classLibrary: libtool

Description:


embeddable application displaying a browser's list.
I am a pluggable component, which gets an input collection
(typically a generator/iterator), which tells me what to display
in the list.
When an item is selected, I provides a similar outputGenerator, 
which enumerates the selected sub-items.
Concrete subclasses exist, to present lists of:
    class-categories (and generate a list of classes),
    packages (and generate a list of classes),
    namespaces (generates a list of classes),
    classes (and generate a list of methods+method category,
    method-categories (and generate a list of methods),
    methods


[instance variables:]
    can someone please write a  few words here...

    menuHolder 
    inGeneratorHolder 
    outGeneratorHolder
    selectionChangeCondition 
    immediateUpdate 
    doubleClickChannel
    filter                          a filterblock by the one who embedds this
    updateTrigger 
    forceGeneratorTrigger 
    hideUnloadedClasses
    showClassPackages 
    selectionHolder 
    packageFilter 
    nameSpaceFilter
    organizerMode 
    slaveMode                       I am just following passively (used for hidden
                                    organized lists (for example: package list, while hidden
                                    when another mode is active, to prevent it from sending
                                    out change requests etc.)
    listValid 
    pseudoListLabelHolder 
    icons
    sortBy 
    autoSelect 
    showAllClassesInNameSpaceOrganisation
    nameFilter                      a string or glob pattern (from the user, if a GUI for that is present)

copyright

COPYRIGHT (c) 2004 by eXept Software AG All Rights Reserved This software is furnished under a license and may be used only in accordance with the terms of that license and with the inclusion of the above copyright notice. This software may not be provided or otherwise made available to, or used by, any other person. No title to or ownership of the software is hereby transferred.

Class protocol:

image specs
o  checkedIcon
TODO: cg: ask the checkbox for its icon, to ensure a common look

Usage example(s):

     self checkedIcon inspect
     ImageEditor openOnClass:self andSelector:#checkedIcon
     Icon flushCachedIcons

o  checkedIconDisabled
TODO: cg: ask the checkbox for its icon, to ensure a common look

o  nameSpaceIcon

o  packageIcon

o  padLockBlueMiniIcon

o  padLockGrayMiniIcon

o  padLockGreenMiniIcon

o  padLockRedMiniIcon

o  programImageIcon

o  protectedMethod

o  uncheckedIcon
TODO: cg: ask the checkbox for its icon, to ensure a common look

Usage example(s):

     self uncheckedIcon inspect
     ImageEditor openOnClass:self andSelector:#uncheckedIcon
     Icon flushCachedIcons

o  uncheckedIconDisabled
TODO: cg: ask the checkbox for its icon, to ensure a common look

Usage example(s):

     self uncheckedIconDisabled inspect
     ImageEditor openOnClass:self andSelector:#uncheckedIconDisabled
     Icon flushCachedIcons

queries
o  isAbstract


Instance protocol:

accessing
o  nameFilter: aStringOrPattern

aspects
o  autoUpdateOnChange
automatic update of the list, when the system changes.
For some (slow) search lists (such as string-search), autoupdate is
disabled as it would otherwise make the browser unusable.
Those lists need an explicit menu-update action.

o  autoUpdateOnChange: aBoolean
automatic update of the list, when the system changes.
For some (slow) search lists (such as string-search), autoupdate is
disabled as it would otherwise make the browser unusable.
Those lists need an explicit menu-update action.

o  defaultSlaveModeValue

o  doubleClickChannel

o  doubleClickChannel: aChannel

o  filter: aValueHolder

o  forceGeneratorTrigger

o  forceGeneratorTrigger: aTriggerValue

o  hideUnloadedClasses

o  hideUnloadedClasses: aValueHolder

o  menuHolder

o  menuHolder: aValueHolder

o  nameSpaceFilter

o  nameSpaceFilter: aValueHolder

o  organizerMode

o  organizerMode: aValueHolder

o  packageFilter

o  packageFilter: aValueHolder
debug-check only

o  pseudoListLabelHolder

o  selectionChangeCondition: aBlockOrValueHolder

o  selectionHolder

o  selectionHolder: aValueHolder
update

o  showAllClassesInNameSpaceOrganisation

o  showAllClassesInNameSpaceOrganisation: aValueHolder

o  showClassPackages

o  showClassPackages: aValueHolder

o  showCoverageInformation

o  showCoverageInformation: aValueHolder

o  slaveMode

o  slaveMode: aValueHolder

o  sortBy

o  sortBy: aValueHolder

o  updateTrigger

o  updateTrigger: aTriggerValue

change & update
o  applicationIsActive
true if I am the active view

o  delayedUpdate: something with: aParameter from: changedObject
if any of my subclasses want those, they should look for them.

o  enqueueDelayedUpdateList
if there is no windowGroup, there is no windowSensor, so it woud be invoked synchronous anyway

o  enqueueDelayedUpdateOutputGenerator
listValid := false.

o  environmentChanged
(comment from inherited method)
My environment has changed. Update cached environment value.
Subclasses may need to override and invalidate it's contents.

o  forceReselect

o  forceSelectionClear

o  forceUpdateList
|listView|

o  immediateUpdate: aBooleanOrBooleanHolder

o  prioDelayedUpdate: something with: aParameter from: changedObject

o  selectionChangeAllowed

o  selectionChanged
self updateOutputGenerator.

o  selectionChangedByClick

o  syncDelayedUpdateList

o  update: something with: aParameter from: changedObject
must check, as it could be nested...

o  updateListInBackground

drag & drop
o  canDrop: aDropContext

o  doDrop: aDropContext

o  dropClassFiles: files

o  objectsAreClassFiles: objects

generators
o  inGeneratorHolder

o  inGeneratorHolder: aConditionBlockHolder
self window shown

o  makeGenerator

** This method must be redefined in concrete classes (subclassResponsibility) **

o  outGeneratorHolder

o  outGeneratorHolder: aConditionBlockHolder

o  updateOutputGenerator
create a generator which enumerates my elements,
and place it into the outputGenerator holder

icons
o  abstractMethodIcon
answer an icon to mark abstract methods

o  breakPointedIcon
answer an icon to mark breakPointed methods

** This is an obsolete interface - do not use it (it may vanish in future versions) **

o  canvasIcon
answer an icon to mark canvas spec methods

o  deprecatedMethodIcon

o  disabledBreakpointIcon
answer an icon to mark methods with disabled breakpoints

o  fetchIcon: name selector: fetchSelector
answer an icon to mark methods;
I am not sure, if this additional caching is needed;
Icon constantNamed: already does the caching!

o  fileImageIcon
answer an icon to mark file-image spec methods

o  fullBreakPointedIcon
answer an icon to mark breakPointed methods

o  helpIcon
answer an icon to mark help spec methods

o  hierarchicalListIcon
answer an icon to mark hierarchicalList spec methods

o  ignoredMethodIcon
answer an icon to mark ignored methods

o  imageIcon
answer an icon to mark image spec methods

o  instrumentationIcon
answer an icon to mark instrumented methods

o  lineBreakPointedIcon
answer an icon to mark breakPointed methods

o  lineTracePointedIcon
answer an icon to mark tracePointed methods

o  menuIcon
answer an icon to mark menu spec methods

o  methodEmptyInheritedIcon

o  methodInheritedFromAboveAndRedefinedBelowIcon

o  methodInheritedFromAboveIcon

o  methodIsSubclassResponsibilityAndRedefinedBelowIcon

o  methodIsSubclassResponsibilityIcon

o  methodRedefinedBelowIcon

o  privateMethodIcon
answer an icon to mark private methods

o  programImageIcon
answer an icon to mark image methods (with programmatic generated image)

o  programMenuIcon
answer an icon to mark program generated menu methods

o  protectedMethodIcon
answer an icon to mark protected methods

o  stopIcon
answer an icon to mark breakPointed methods

** This is an obsolete interface - do not use it (it may vanish in future versions) **

o  tabListIcon
answer an icon to mark tabList spec methods

o  tableColumnsIcon
answer an icon to mark tableColumns spec methods

o  timeIcon
answer an icon to mark timed methods

o  traceIcon
answer an icon to mark traced methods

initialize-release
o  commonPostBuild
/// listValid ifFalse:[self enqueueDelayedUpdateList "updateList"].

o  commonPostOpen
self breakPoint:#cg.

o  initialize

o  release
(comment from inherited method)
remove all references to objects that may refer to self.
Subclasses may redefine this method but should do a 'super release'.

misc
o  invalidateList

private
o  browserNameList

** This method must be redefined in concrete classes (subclassResponsibility) **

o  classesToProcessForClasses: classes withVisibility: visibility
for methodCategory and methodList, depending on the setting
of visibility (allButObject, includeAllSupers or class only),
return a combined hull set of classes for a given set.

o  colorize: aString with: emphasis

o  colorizeForChangedCode: someString

o  colorizeForChangedCodeInRepository: aStringOrText
iff the repository watcher is running (watching CVS changes),
and a change was made by a team member at this item,
colorize the item as specified in the settings

o  colorizeForChangedCodeInSmallTeam: aStringOrText
iff smallteam is running (watching team member changes),
and a change was made by a team member at this item,
colorize the item as specified in the settings

o  colorizeForDifferentPackage: someString

o  colorizeForInstrumentedFullyCoveredCode: someString

o  colorizeForInstrumentedNeverCalledCode: someString

o  colorizeForInstrumentedPartiallyCoveredCode: someString

o  colorizeGrey: someString

o  emphasizeForChangedCode: someString

o  emphasizeForDifferentPackage: someString
allItalic

o  executeInBackground: aBlock
used to update when I do not have the focus (i.e. being iconified or non-active).
Run aBlock at userBackgroundPrio, but go back to normal prio, if I get the focus

o  inSlaveMode

o  inSlaveModeOrInvisible
self slaveMode value isNil ifTrue:[

o  isClass: aClass shownWithNameSpaceFilter: nameSpaceFilter

o  isClass: aClass shownWithPackageFilter: packageFilter

o  makeDependent

** This method must be redefined in concrete classes (subclassResponsibility) **

o  makeIndependent

** This method must be redefined in concrete classes (subclassResponsibility) **

o  releaseAsSubCanvas
(comment from inherited method)
a subcanvas is closed or switching to a new application.
Can be redefined to perform a self release in this case.

o  setListValid: aBoolean

o  updateList

** This method must be redefined in concrete classes (subclassResponsibility) **

o  updateListFor: newList
update the browsers list in a way which avoids scrolls
and flicker; returns true, if the newList is the same.

queries
o  supportsSearch

setup
o  autoSelect: aBoolean


Private classes:

    SearchHandler


ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Mon, 18 Nov 2024 06:44:35 GMT