eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'Tools::MethodCategoryList':

Home

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

Class: MethodCategoryList (in Tools)


Inheritance:

   Object
   |
   +--Model
      |
      +--ApplicationModel
         |
         +--Tools::NavigatorModel
            |
            +--Tools::BrowserList
               |
               +--Tools::MethodCategoryList
                  |
                  +--Tools::FullMethodCategoryList

Package:
stx:libtool
Category:
Interface-Browsers-New
Version:
rev: 1.159 date: 2024/04/18 15:28:55
user: cg
file: Tools__MethodCategoryList.st directory: libtool
module: stx stc-classLibrary: libtool

Description:


I implement the method category (= protocol) list in the new system browser

copyright

COPYRIGHT (c) 2000 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:

cleanup
o  lowSpaceCleanup
cleanup in low-memory situations

initialization
o  flushMethodInfo
MethodInfoCache := Dictionary new.

Usage example(s):

     self flushMethodInfo

o  initialize

interface specs
o  singleProtocolWindowSpec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:Tools::MethodCategoryList andSelector:#singleProtocolWindowSpec
     Tools::MethodCategoryList new openInterface:#singleProtocolWindowSpec

o  windowSpec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:MethodCategoryList andSelector:#windowSpec
     MethodCategoryList new openInterface:#windowSpec
     MethodCategoryList open

plugIn spec
o  aspectSelectors
This resource specification was automatically generated
by the UIPainter of ST/X.

queries
o  isPseudoCategory: cat


Instance protocol:

aspects
o  browserNameList

o  defaultSlaveModeValue

o  filterClassVars

o  filterClassVars: aValueHolder

o  methodVisibilityHolder

o  methodVisibilityHolder: aValueHolder

o  noAllItem

o  noAllItem: aValueHolder

o  packageFilterOnInput

o  packageFilterOnInput: aValueHolder

o  protocolLabelHolder

o  protocolList
ValueHolder new

o  rawProtocolList

o  selectedProtocolIndices

o  selectedProtocols

o  selectedProtocols: aValueHolder

o  showPseudoProtocols

o  showPseudoProtocols: aValueHolder

o  showSyntheticMethods

o  showSyntheticMethods: aValueHolder

o  variableFilter

o  variableFilter: aValueHolder

change & update
o  classDefinitionChanged: aClass
Transcript showCR:'oops - browser lost class ' , nm.

o  delayedUpdate: something with: aParameter from: changedObject
updateOutputGenerator.

o  getSelectedProtocolsFromIndices

o  selectionChanged
the outputGenerator is only to be updated, if the output would really

o  selectionChangedByClick
we are not interested in that - get another notification
via the changed valueHolder

o  update: something with: aParameter from: changedObject
some can be ignored immediately

drag & drop
o  canDropContext: aDropContext

o  categoryAtTargetPointOf: aDropContext

o  doDropContext: aDropContext
handle dropping of a method as a category change

generators
o  makeGenerator
return a generator which enumerates the methods from the selected protocol(s);
that generator generates 4-element elements (includes the class and protocol),
in order to make the consumers only depend on one input.
(i.e. to pass multiple-class and multiple-protocol info
without a need for another classHolder/protocolHolder in the methodList).

private
o  class: cls protocol: cat includesMethodsInAnyPackage: packageFilter

o  class: cls protocol: cat includesRefsToVariable: variablesToHighLight askParserWith: querySelector
Are there any methods in the protocol cat which reference/modify any inst/class variable in variablesToHighLight?

o  class: cls selector: sel referencesVariable: variablesToHighLight askParserWith: querySelector
does this method reference/modify any inst/class variable in variablesToHighLight?

o  classesToProcessForClasses: classes

o  commonPostOpen
revalidate my list, because it was only shown lazy

o  flushMethodInfo

o  flushMethodInfoForClassNamed: className selector: selector

o  listOfMethodCategories
because we already computed for 5 seconds, more and more will be found in

o  makeDependent
ChangeSet addDependent:self.

o  makeIndependent
ChangeSet removeDependent:self.

o  release

o  updateList
another update already scheduled?

private-info
o  methodInfoFor: aMethod in: mclass selector: selector

o  methodInfoFor: aMethod in: mclass selector: selector lazy: lazy
the first at:ifAbsent: is actually not needed - it is here to

o  methodIsMarkedAsLong: aMethod
if true, it will be also categorized under the pseudo category 'long'

o  methodIsMarkedAsUncommented: aMethod
if true, it will be also categorized under the pseudo category 'undocumented'

special
o  addAdditionalProtocol: aProtocol forClass: aClass
those are simulated - in ST/X, empty categories do not really exist;
(because the category is an attribute of the method)
However, during browsing, it makes sense. Therefore, empty categories are
remembered here

o  additionalProtocolForClass: aClass
those are simulated - in ST/X, empty categories do not really exist;
(because the category is an attribute of the method)
However, during browsing, it makes sense. Therefore, empty categories are
remembered here

o  clearLastSelectedProtocol

o  lastSelectedProtocols

o  removeAdditionalProtocol: aListOfProtocols forClass: aClass
those are simulated - in ST/X, empty categories do not really exist;
(because the category is an attribute of the method)
However, during browsing, it makes sense. Therefore, empty categories are
remembered here

o  removeAllAdditionalProtocol
those are simulated - in ST/X, empty categories do not really exist;
(because the category is an attribute of the method)
However, during browsing, it makes sense. Therefore, empty categories are
remembered here

o  removeAllAdditionalProtocolForClass: aClass
those are simulated - in ST/X, empty categories do not really exist;
(because the category is an attribute of the method)
However, during browsing, it makes sense. Therefore, empty categories are
remembered here

o  renameAdditionalProtocol: oldName to: newName forClass: aClass
those are simulated - in ST/X, empty categories do not really exist;
(because the category is an attribute of the method)
However, during browsing, it makes sense. Therefore, empty categories are
remembered here


Private classes:

    CachedMethodInfo
    MethodInfoCacheDictionary
    MethodStubForTestResult
    MissingMethod


ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Sat, 21 Dec 2024 17:24:06 GMT