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.132 date: 2019/03/04 11:33:19
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


Class protocol:

cleanup
o  lowSpaceCleanup
cleanup in low-memory situations

initialization
o  flushMethodInfo
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:MethodCategoryList andSelector:#singleProtocolWindowSpec
     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;
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 includesModsOfClassVariable: variablesToHighLight
are there any methods in the protocol cat which modify any class variable in variablesToHighLight ?

o  class: cls protocol: cat includesModsOfInstanceVariable: variablesToHighLight
are there any methods in the protocol cat which modify any inst variable in variablesToHighLight ?

o  class: cls protocol: cat includesRefsToClassVariable: variablesToHighLight
are there any methods in the protocol cat which reference any class variable in variablesToHighLight ?

o  class: cls protocol: cat includesRefsToInstanceVariable: variablesToHighLight
are there any methods in the protocol cat which reference any inst variable in variablesToHighLight ?

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  classesToProcessForClasses: classes

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

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
oldListSize := self browserNameList size.

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
    MethodStubForTestResult
    MissingMethod


ST/X 7.2.0.0; WebServer 1.670 at bd0aa1f87cdd.unknown:8081; Tue, 13 Apr 2021 04:08:59 GMT