eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'BrowserView':

Home

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

Class: BrowserView


Inheritance:

   Object
   |
   +--GraphicsMedium
      |
      +--DisplaySurface
         |
         +--SimpleView
            |
            +--View
               |
               +--TopView
                  |
                  +--StandardSystemView
                     |
                     +--BrowserView

Package:
stx:libtool
Category:
Interface-Browsers
Version:
rev: 1.900 date: 2018/03/01 09:46:16
user: cg
file: BrowserView.st directory: libtool
module: stx stc-classLibrary: libtool
Author:
Claus Gittinger

Description:


this class implements all kinds of class browsers.
Typically, it is started with 'SystemBrowser open', but there are many other 
startup messages, to launch special browsers.
See the categories 'startup' and 'special search startup' in the classes
protocol.

Alse, see the extra document 'doc/misc/sbrowser.doc' or the HTML online doc
for how to use the browser.

written winter 89 by claus

Notice: 
    SystemBrowser is currently being rewritten to be an instance
    of ApplicationModel - this transition is not yet complete and you see
    here intermediate versions of BrowserView/SystemBrowser. 

    All action is (currently) still done here in BrowserView, although the
    SystemBrowsers class methods are used to startup a browser.
    (which is done to make the upcoming switch transparent)
    This will certainly change ...

PS:
    why did we add more and more here, instead of rewriting ?
    - because nobody pays us for it ;-),
    and the browser is not too bad to use, as long as you do not look into code.


Class protocol:

class history
o  addToClassHistory: aClass selector: aSelector

o  checkClassHistory
checks the class history for non-existing classes

cleanup
o  lowSpaceCleanup
cleanup in low-memory situations
usage example(s):
     self lowSpaceCleanup

defaults
o  changeHistoryMaxSize
returns maximum size of the change history

o  classHistory
returns the class history

o  classHistory: newCollection
returns the class history

o  classHistoryMaxSize
returns maximum size of the visited class history

o  defaultIcon
return the browsers default window icon

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

initialization
o  initialize
Browser configuration;
(values can be changed from your private startup file)

interface specs
o  methodFilterSpec
This resource specification was automatically generated
by the UIPainter of ST/X.
usage example(s):
     UIPainter new openOnClass:BrowserView andSelector:#methodFilterSpec

o  methodMoveDialogSpec
This resource specification was automatically generated
by the UIPainter of ST/X.
usage example(s):
     UIPainter new openOnClass:BrowserView andSelector:#methodMoveDialogSpec

o  repositoryLoadSpec
This resource specification was automatically generated
by the UIPainter of ST/X.
usage example(s):
     UIPainter new openOnClass:BrowserView andSelector:#repositoryLoadSpec

menu specs
o  menuSpec
This resource specification was automatically generated
by the MenuEditor of ST/X.
usage example(s):
     MenuEditor new openOnClass:BrowserView andSelector:#menuSpec
     (Menu new fromLiteralArrayEncoding:(BrowserView menuSpec)) startUp

resources
o  classResources

startup & release
o  preSnapshot
flush cached resources before saving a snapshot
(do not save them in the image)


Instance protocol:

change & update
o  delayedUpdate: something with: someArgument from: changedObject
ignored; I am dependent of individual class update messages

o  refetchClass
after a class definition change in another browser,
this is sent to update (otherwise, we'd still refer to the obsolete class)

o  update: something with: someArgument from: changedObject
enqueue a delayed update

class category list menu
o  browserClone
open a new SystemBrowser showing the same method as I do

o  browserOpenInClass
find a class - and open a browser (by default)

o  browserSpawnExtensions
create a new SystemBrowser browsing all extensions

o  browserSpawnFullClass
create a new SystemBrowser browsing full class

o  classCategoryFileOut
create a file 'categoryName.st' consisting of all classes in current category
into the current projects defaultDirectory.

o  classCategoryFileOutAs
create a file consisting of all classes in the current category
into a file as user-specified.

o  classCategoryFileOutAsk: doAsk
create a file 'categoryName' consisting of all classes in current category

o  classCategoryFileOutBinaryEach
fileOut each class in the current category as binary bytecode.

o  classCategoryFileOutEach

o  classCategoryFileOutEachAsk: doAsk
this test allows a smalltalk to be built without Projects/ChangeSets

o  classCategoryFileOutEachIn

o  classCategoryFindClass
find a class - and switch by default

o  classCategoryFindClassOpen: doOpen
common code for both opening a new browser on a class and
to search for a class in this browser

o  classCategoryFindMethod

o  classCategoryMenu
('namespace...' namespaceDialog )

o  classCategoryNewCategory

o  classCategoryPrintOut

o  classCategoryPrintOutProtocol

o  classCategoryRemove
remove all classes in current category

o  classCategoryRename
launch an enterBox to rename current class category

o  classCategorySpawn
create a new SystemBrowser browsing current classCategory

o  classCategoryUpdate
update class category list and dependants

class category source administration
o  classCategoryCheckinEach

o  classCategoryLoadFromRepository
mini-browser into the repository, showing modules & packages.
Allows load of a containers contents

o  classCategoryRepositoryHistory
to do - get list of available repositories ...

o  classCategoryValidateClassRevisions
for all classes, ask the sourceCodeManager for the most recent version
and compare this to the actual version. Send mismatch info to the Transcript.
Use this, to find classes, which need to be reloaded from the repository.

class category stuff
o  checkClassCategorySelected

o  classCategorySelection: lineNr
user clicked on a class category line - show classes.
If switching to hierarchy or all, keep current selections

o  classCategorySelectionChanged
class category has changed - update dependent views

o  listOfAllClassCategories
return a list of all class categories

o  renameCurrentClassCategoryTo: aString
helper - do the rename

o  switchToAnyMethod: aSelectorString
find all implementors of aSelectorString, and present a list
to choose from. When an entry is selected, switch to that class/selector.
This allows for quickly moving around in the system.

o  updateClassCategoryList

o  updateClassCategoryListWithScroll: scroll

class history
o  changeHistoryMenu
returns a popup menu to navigate
to the last few changes

o  changeHistoryPopUpMenu
returns a popup menu to navigate
to the last few changes

o  classHistoryMenu
returns a menu to navigate to
the last visited classes

o  classHistoryPopUpMenu
returns a popup menu to navigate to
the last visited classes

o  emptyClassHistory
removes all class history entries

o  loadFromMessage: aMessageString
switch to the class and selector specified by aMessage,
which has the form: '<className> {class} <selector>'
Backward compatibility - should no longer be used.

o  switchBackToMessageNamed: aMessage
switch to the class and selector specified by aMessage,
which has the form: '<className> {class} <selector>'

class list menu
o  classClassInstVars
show class instance variables in codeView and setup accept-action
for a class-instvar-definition change

o  classComment
show the classes comment in the codeView.
Also, set accept action to change the comment.

o  classDefinition
show class definition in View and setup accept-action for
a class-definition change.
Extract documentation either from a documentation method or
from the comment - not a biggy, but beginners will like
it when exploring the system.

o  classDerivedInstancesInspect
inspect the current classes derived instances

o  classDocumentation
show classes documentation (i.e. open doc-View on it)

o  classDocumentationAs
as for a fileName & save a classes documentation html doc into it

o  classDocumentationToFile: aFilename
save a classes documentation html doc into a file

o  classFileOut
fileOut the current class.
Catch errors (sure, you like to know if it failed) and
warn if any)

o  classFileOutAs
fileOut the current class, asking for a filename.

o  classFileOutAsk: ask
fileOut the current class, possibly asking for a filename.
Catch errors (sure, you like to know if it failed) and
warn if any)

o  classFileOutBinary
fileOut the current class as binary bytecode.

o  classFileOutBinaryAs
fileOut the current class as binary bytecode; ask for a fileName.

o  classFileOutBinaryAsk: ask
fileOut the current class as binary bytecode.

o  classHierarchy
show current classes hierarchy in codeView

o  classInspect
inspect the current class

o  classInspectObjectsReturnedBy: aBlock ifNone: warnBlock
inspect the current classes derived instances

o  classInstancesInspect
inspect the current classes instances

o  classLoad
load an autoloaded class

o  classMakePrivate
change a class from public to private;
ask for the owners class, check if a private class with the same name exists,
before doing this.

o  classMakePublic
change a class from private to public;
check if a public class with the same name exists,
before doing this.

o  classMenu
sent by classListView to ask for the menu

o  classNewApplication
create a class-definition prototype for an application in codeview

o  classNewClass
create a class-definition prototype in codeview

o  classNewDialog
create a class-definition prototype for a dialog in codeview

o  classNewPrivateClass
create a class-definition prototype in codeview

o  classNewSubclass
create a subclass-definition prototype in codeview

o  classPrimitiveDefinitions
show the classes primitiveDefinition in the codeView.
Also, set accept action to change it.

o  classPrimitiveFunctions
show the classes primitiveFunctions in the codeView.
Also, set accept action to change it.

o  classPrimitiveVariables
show the classes primitiveVariables in the codeView.
Also, set accept action to change it.

o  classPrintOut

o  classPrintOutFullProtocol

o  classPrintOutProtocol

o  classPrintOutWith: aSelector

o  classProtocols

o  classRefs
for namespace-classes, also search for accesses without prefix

o  classRemove
user requested remove of current class and all subclasses -
count subclasses and let user confirm removal.

o  classRename
launch an enterBox for new name and query user

o  classShowFrom: getSelector set: setSelector aspect: aspectSymbol
common helper for comment, primitive-stuff etc.
show the string returned from the classes getSelector-method,
Set acceptaction to change it via setSelector.

o  classSpawn
create a new SystemBrowser browsing current class,
or if there is a selection, spawn a browser on the selected class
even a class/selector pair can be specified.

o  classSpawnFullProtocol
create a new browser, browsing current classes full protocol

o  classSpawnHierarchy
create a new HierarchyBrowser browsing current class

o  classSpawnSubclasses
create a new browser browsing current class's subclasses

o  classUnload
unload an autoloaded class

o  classUses
a powerful tool, when trying to learn more about where
a class is used. This one searches all uses of a class,
and shows a list of uses - try it and like it

o  doClassMenuWithSelection: aBlock
a helper - if there is a selection, which represents a classes name,
evaluate aBlock, passing that class and optional selector as arguments.
Otherwise, check if a class is selected and evaluate aBlock with the
current class.

o  generateClassDocumentationThenDo: aBlock
helper

class list source administration
o  classCheckin
check a class into the source repository

o  classCompareWithRepository
open a diff-textView comparing the current (in-image) version
with the some version found in the repository.

o  classCreateSourceContainerFor: aClass
let user specify the source-repository values for aClass

o  classDefineSourceContainerFor: aClass title: title text: boxText createDirectories: createDirs createContainer: createContainer
let user specify the source-repository values for aClass

o  classLoadNewRevision
let user specify a container and fileIn from there

o  classLoadRevision
load a specific revision into the system - especially useful to
upgrade a class to the newest revision

o  classModifyContainer
change the classes container in the source repository

o  classModifyPackage
change the classes package assignment (dangerous)

o  classRemoveContainer
remove a container from the source repository

o  classRemoveSourceContainerFor: aClass
show container & let user confirm twice.

o  classRevisionInfo
show current classes revision info in codeView

class stuff
o  allClasses

o  allClassesInCategory: aCategory
a private class

o  allClassesInCategory: aCategory do: aBlock

o  allClassesInSelectedNamespacesDo: aBlock

o  changeCurrentClass: newClass
change the current class to some other class;
keep instance protocol as it was.
This does not update any views.

o  checkClassSelected
warn and return false, if no class is selected

o  classClassDefinitionTemplateFor: aClass in: cat nameSpace: isNameSpace private: isPrivate
common helper for newClass and newSubclass
- show a template to define a subclass of aClass in category cat.
Also, set acceptaction to install the class.

o  classClassDefinitionTemplateFor: aClass in: cat namespace: isNameSpace private: isPrivate
common helper for newClass and newSubclass
- show a template to define a subclass of aClass in category cat.
Also, set acceptaction to install the class.

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

o  classDoubleClick: lineNr
double click on a class;
if it's unloaded, load it.
if it's an application-class, start the app

o  classListUpdate

o  classSelection: lineNr
user clicked on a class line - show method categories

o  classSelectionChanged
alien classes have no methodCategories; hide that list ...

o  classTemplateFor: aSuperClass in: categoryString nameSpace: isNameSpace private: isPrivate
return a class definition template - be smart in what is offered initially

o  classTemplateFor: aSuperClass in: categoryString namespace: isNameSpace private: isPrivate
return a class definition template - be smart in what is offered initially

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

o  doClassMenu: aBlock
a helper - check if class is selected and evaluate aBlock
while showing waitCursor

o  javaClassTemplateFor: aSuperClass in: categoryString private: isPrivate
return a java class definition template - be smart in what is offered initially

o  listOfAllClassNamesInCategory: aCategory
return a list of the names of all classes in a given category

o  listOfAllClassesInCategory: aCategory names: namesFlag
return a list of (the names) of all classes in a given category
from the currently selected set of nameSpaces.

o  listOfClassNameHierarchyOf: aClass
return a hierarchy class-list

o  renameCurrentClassTo: newNameString
helper - do the class-rename

o  switchToClassNameMatching: aMatchString
if the name is already a good one, avoid the expensive search

o  switchToClassNamed: aString
classCategoryListView makeSelectionVisible.

o  updateClassList

o  updateClassListWithScroll: scroll
refetch in case we are not up to date

class-method list menu
o  classMethodBrowse
only the old browser supports this (for now)

o  classMethodFileOutAll
fileout all methods into one source file

o  classMethodMenu

class-method stuff
o  classFromClassMethodString: aString
helper for classMethod-list - extract class name from the string

o  classMethodFilter
filter - that is: open another method-list browser on all those methods
which pass some filter.

o  classMethodSelection: lineNr
user clicked on a class/method line - show code

o  classNameFromClassMethodString: aString
helper for classMethod-list - extract the class name from the string

o  selectorFromClassMethodString: aString
helper for classMethod-list - extract selector from the string

o  updateClassMethodListWithScroll: scroll keepSelection: keep
update the list, caring for traps.

event handling
o  handlesKeyPress: key inView: view
this method is reached via delegation: are we prepared to handle
a keyPress in some other view ?

o  keyPress: key x: x y: y view: view
this method is reached via delegation from the classCategoryListView

help
o  helpTextFor: aComponent
(comment from inherited method)
this will vanish - it's temporarily here to allow for stdSysViews to be
used as a masterApp for dialogs

initialization & release
o  autoSearch: aString
used with class-method list browsing. If true,
selecting an entry from the list will automatically
search for the searchstring in the codeView

o  autoSearch: aString ignoreCase: ign
used with class-method list browsing. If true,
selecting an entry from the list will automatically
search for the searchstring in the codeView

o  autoSearchVariable: aVariable

o  autoSearchVariables: aCollectionOfVariables

o  autoSearchVariables: aCollectionOfVariables readers: doReaders writers: doWriters

o  closeRequest
let user confirm, if codeView was modified and not saved

o  closeRequestFor: aDialog
let user confirm, if codeView was modified and not saved

o  destroy
release dependant - destroy popups

o  initialize
inform me, when Smalltalk changes

o  postRealize
tell classCategoryListView to ask for the menu

o  title: someString

initialize subviews
o  createClassListViewIn: frame
setup the classlist subview, a variableList view and the class/inst toggles

o  createCodeViewIn: aView
setup the code view

o  createCodeViewIn: aView atY: relY
setup the code view

o  createMethodListViewIn: aView atX: relX
setup the method list view

o  createTogglesIn: aFrame
create and setup the class/instance toggles

o  pullDownMenu
return the top (pullDown) menu

o  setupForAll
create subviews for a full browser

o  setupForClass: aClass
create subviews for browsing a single class

o  setupForClass: aClass methodCategory: aMethodCategory
setup subviews to browse a method category

o  setupForClass: aClass selector: selector
setup subviews to browse a single method

o  setupForClassCategory: aClassCategory
setup subviews to browse a class category

o  setupForClassHierarchy: aClass
setup subviews to browse a class hierarchy

o  setupForClassList: aList
setup subviews to browse classes from a list

o  setupForClassList: aList sort: doSort
setup subviews to browse classes from a list

o  setupForFullClass
setup subviews to browse a class as full text

o  setupForFullClassProtocol: aClass
setup subviews to browse a classes full protocol

o  setupForList: aList
setup subviews to browse methods from a list

method category list menu
o  createAccessMethodsFor: aCollectionOfInstVarNames withChange: withChange
workhorse for creating access methods for instvars.

o  methodCategoryCopyCategory
show the enter box to copy from an existing method category

o  methodCategoryCreateAccessMethods
create access methods for instvars.
If no variable is selected, for all instvars;
otherwise for that selected instvar.

o  methodCategoryCreateAccessMethodsWithChange
create access methods for instvars.
If no variable is selected, for all instvars;
otherwise for that selected instvar.

o  methodCategoryCreateAccessMethodsWithChange: aBoolean
create access methods for instvars.
If no variable is selected, for all instvars;
otherwise for that selected instvar.

o  methodCategoryCreateApplicationMethods
create an empty application framework

o  methodCategoryCreateDocumentationMethods
create empty documentation methods

o  methodCategoryCreateUpdateMethod
create an update:with:from: method
(I'm tired of typing)

o  methodCategoryFileOut
fileOut all methods in the selected methodcategory of
the current class

o  methodCategoryFileOutAll
fileOut all methods in the selected methodcategory of
the current class

o  methodCategoryMenu
((currentClass class implements:#windowSpec)

o  methodCategoryNewCategory
show the enter box to add a new method category.
Offer existing superclass categories in box to help avoiding
useless typing.

o  methodCategoryPrintOut

o  methodCategoryRemove
show number of methods to remove and query user

o  methodCategoryRename
launch an enterBox to rename current method category

o  methodCategorySpawn
create a new SystemBrowser browsing current method category

o  methodCategorySpawnCategory
create a new SystemBrowser browsing all methods from all
classes with same category as current method category

method category stuff
o  asBrowserList: aList
add *all* entry

o  checkMethodCategorySelected

o  copyMethodsFromClass: aClassName
show enterbox for category to copy from

o  copyMethodsFromClass: class category: category

o  listOfAllMethodCategoriesInClass: aClass
answer a list of all method categories of the argument, aClass

o  listOfAllMethodCategoriesInFullProtocolHierarchy: aClass
answer a list of all method categories of the argument, aClass,
and all of its superclasses.
Used with fullProtocol browsing.

o  methodCategorySelection: lineNr
user clicked on a method category line - show selectors

o  methodCategorySelectionChanged
method category selection has changed - update dependent views

o  newMethodCategory: aString

o  switchToMethodCategory: aCategory
if there is only one method, show it right away

o  updateMethodCategoryList

o  updateMethodCategoryListWithScroll: scroll

o  whenMethodCategorySelected: aBlock

method list menu
o  commonTraceHelperWith: aSelector
install a break/trace or countPoint for the current method

o  commonTraceHelperWith: aSelector with: argument
install a break/trace or countPoint for the current method

o  methodAproposSearch
launch an enterBox for a keyword search

o  methodBreakPoint
set a breakpoint on the current method

o  methodBreakPointInProcess
set a breakpoint on the current method, which only triggers if
executed by some particular process.

o  methodChangeCategory
move the current method into another category -
nothing done here, but a query for the new category.
Remember the last category, to allow faster category change of a group of methods.

o  methodCompareSource
compare with some other methods source

o  methodCompareSourceAgainstCurrent
compare with some other methods source

o  methodCompareWithPreviousVersion
compare with previous version

o  methodCopy
copy the current method into another class; typically a brother-sister class

o  methodDecompile
decompile the current methods bytecodes.
The Decompiler is delivered as an extra, and not normally
available with the system.

o  methodFileOut
file out the current method

o  methodFindAnyMethod

o  methodFindMethod

o  methodFlushCode
currentMethod checked:false; code:nil.

o  methodFormatMethod: oldText
prettyPrint the method (but do not accept it);
uses the RefactoryBrowsers formatter

o  methodGlobalReferends
launch an enterBox for global symbol to search for

o  methodImplementors
launch an enterBox for selector to search for

o  methodInheritance
launch a browser showing inherited (and overwritten) methods

o  methodInspect
inspect the current method

o  methodInvoke
invoke the current method

o  methodLocalSuperSends
launch a browser showing super sends in current class & subclasses

o  methodMakeIgnored
make the current method be invisible.
EXPERIMENTAL

o  methodMakePrivate
make the current method private.
EXPERIMENTAL

o  methodMakeProtected
make the current method protected.
EXPERIMENTAL

o  methodMakePublic
make the current method public.
EXPERIMENTAL

o  methodMenu
return a popupmenu as appropriate for the methodList

o  methodModifyPackage
change the method's package assignment

o  methodMove
move the current method into another class; typically a superclass

o  methodNewImageSpec
open a BitmapEditor

o  methodNewMenuSpec
open a MenuEditor

o  methodNewMethod
prepare for definition of a new method - put a template into
code view and define accept-action to compile it

o  methodNewWindowSpec
open GUI Painter

o  methodPreviousVersion
switch back to the previous version
(undo last change)

o  methodPrintOut
print out the current method

o  methodPrivacy: how
change the current methods privacy

o  methodRemove
remove the current method

o  methodRemoveBreakOrTrace
turn off tracing of the current method

o  methodRemoveConfirmed
confirm and remove the current method

o  methodResetCounting
reset the counting statstics for the current method

o  methodResetMemoryUsage
reset the memory statstics for the current method

o  methodResetTiming
reset the timing statstics for the current method

o  methodSTCCompile
compile the current method to machine code via the stc compiler.
This is not supported on all machines.

o  methodSenders
launch an enterBox for selector to search for

o  methodSpawn
create a new SystemBrowser browsing current method,
or if the current selection is of the form 'class>>selector',
spawn a browser on that method.

o  methodStartCounting
set a countpoint on the current method

o  methodStartMemoryUsage
set a countpoint for memory usage on the current method

o  methodStartTiming
set a timing on the current method

o  methodStopCounting
show the number of invocations & remove a countpoint on the current method

o  methodStopMemoryUsage
stop counting of memory usage for this method

o  methodStopTiming
stop timing the current method

o  methodStringSearch
launch an enterBox for string to search for

o  methodTrace
turn on tracing of the current method

o  methodTraceFull
turn on tracing of the current method

o  methodTraceSender
turn on tracing of the current method

method stuff
o  checkMethodSelected

o  listEntryForMethod: aMethod selector: selector
answer a method list entry
(gimmic: adding a little image to breakPointed methods)

o  listOfAllMethodsInCategory: aCategory inFullProtocolHierarchyOfClass: aClass
answer a list of all methods in a given method category
of the argument, aClass and its superclasses.
Used with fullProtocol browsing.

o  listOfAllMethodsInCategory: aCategory ofClass: aClass
answer a list of all methods in a given method category
of the argument, aClass

o  listOfAllSelectorsInCategory: aCategory inFullProtocolHierarchyOfClass: aClass
answer a list of all selectors in a given method category
of the argument, aClass and its superclasses.
Used with fullProtocol browsing.

o  listOfAllSelectorsInCategory: aCategory ofClass: aClass
answer a list of all selectors in a given method category
of the argument, aClass

o  methodDoubleClick: lineNr

o  methodSelection: lineNr
user clicked on a method line - show code

o  methodSelectionChanged
method selection has changed - update dependent views

o  methodTemplate
return a method definition template string

o  resourceIconForMethod: aMethod

o  switchToAnyMethodNamed: matchString
switch (in the current classes hierarchy) to a method named matchString.
If there are more than one matches, switch to the first.

o  switchToMethod: aString
user clicked on a method line - show code

o  switchToMethodNamed: matchString
switch (in the current class) to a method named matchString.
If there are more than one matches, switch to the first.

o  updateMethodList

o  updateMethodListWithScroll: scroll

o  updateMethodListWithScroll: scroll keepSelection: keep

misc
o  beep
output an audible beep or bell on my screen device

o  codeChanged

o  compressedCodeLinesFor: someCode

o  instanceProtocol: aBoolean
switch between instance and class protocol

o  openAboutThisApplication
opens an about box for this application.

o  openBrowserDocumentation

o  openKeywordIndexDocumentation

o  processName
the name of my process - for the processMonitor only

o  showActivity: someMessage
some activityNotification to be forwarded to the user;
show it in the windows title area here.

o  updateCodeView
(sourceLineNumber isNil

namespace menu
o  nameSpaceCheckInEach
ignore private classes

o  nameSpaceMenu
showAllNamespaces ifTrue:[

o  nameSpaceNewNameSpace
create a namespace-definition prototype in codeview

o  nameSpaceRemove
remove that nameSpace - but only if it's empty

o  nameSpaceRemoveAllClasses
remove all classes in that nameSpace - but only after confirmation

namespace stuff
o  changeNameSpaceTo: nsName

o  displayedClassNameOf: aClass
depending on the current nameSpace, either show a classes
fullname or its name without the namespace prefix (if it's in the current)

o  listOfAllNamespaces
return a list of all namespaces

o  listOfNamespaces
return a list of considered namespaces

o  setListOfNamespaces

o  showAllNamespaces
toggle to show all namespaces

o  showTopLevelNamespaces
toggle to show topLevel namespaces only

o  updateNamespaceList

private
o  askAndBrowseMethodCategory: title action: aBlock
convenient helper method: setup enterBox with initial being current method category

o  askForMethodCategory
convenient helper method: setup a box asking for a method category

o  askForSearchSelectorTitle: title openWith: aSelector
convenient helper method: setup enterBox with text from codeView or selected
method for browsing based on a selector. Set action and launch box

o  askForSearchTitle: title openWith: aSelector isSelector: isSelector
convenient helper method: setup enterBox with text from codeView or selected
method for browsing based on a selector. Set action and launch box

o  askForSearchTitle: title openWith: aSelector isSelector: isSelector searchArea: whereDefault
convenient helper method: setup enterBox with text from codeView or selected
method for browsing based on a selector. Set action and launch box.
SearchArea may be one of #everywhere, #classCategory, #class, #classWithPrivateClasses,
#classHierarchy or #classHierarchyWithPrivateClasses

o  askForSearchTitle: title openWith: aSelector isSelector: isSelector searchArea: whereDefault withCaseIgnore: withCaseIgnore
OBSOLETE: NewSystemBrowser has a better dialog for that.
convenient helper method: setup enterBox with text from codeView or selected
method for browsing based on a selector. Set action and launch box.
SearchArea may be one of
#everywhere,
#currentNameSpace
#currentClassesNameSpace
#classCategory,
#class,
#classWithPrivateClasses,
#classHierarchy or
#classHierarchyWithPrivateClasses

o  busyLabel: what with: someArgument
set the title for some warning

o  checkAcceptedMethod: mthdHere inClass: actualClass
method was accepted - do some standard checks

o  checkSelectionChangeAllowed
return true, if selection change is ok;
its not ok, if code has been changed.
in this case, return the result of a user query

o  checkSelectionChangeAllowedWithCompare: compareOffered
return true, if selection change is ok;
its not ok, if code has been changed.
in this case, return the result of a user query

o  classHierarchyOf: aClass level: level do: aBlock using: subclassDictionary removeFrom: remainSet
evaluate the 2-arg block for every subclass of aClass,
passing class and nesting level to the block.

o  classHierarchyOf: topClass withAutoloaded: withAutoloaded do: aBlock
evaluate the 2-arg block for every class,
starting at Object; passing class and nesting level to the block.

o  classesInFullProtocolHierarchy: aClass do: aBlock
evaluate aBlock for all non-striked out classes in
the hierarchy

o  classesInHierarchy: aClass do: aBlock

o  clearAcceptAction
tell the codeView that there is nothing to accept

o  clearExplainAction
tell the codeView that there is nothing to explain

o  compileCode: someCode

o  currentMethodsPreviousVersionCode

o  enterBoxForCodeSelectionTitle: title okText: okText
convenient method: setup enterBox with text from codeview

o  enterBoxForCodeSelectionTitle: title withList: listOrNil okText: okText
convenient method: setup enterBox with text from codeview

o  enterBoxForSearchSelectorTitle: title
convenient method: setup enterBox with text from codeView or selected
method for browsing based on a selector

o  enterBoxTitle: title okText: okText
convenient method: setup enterBox

o  enterBoxTitle: title okText: okText label: label
convenient method: setup enterBox

o  enterBoxTitle: title okText: okText label: label list: aList
convenient method: setup enterBox

o  enterBoxTitle: title withList: aListOrNil okText: okText
convenient method: setup enterBox

o  environment
allows me to browse something different from Smalltalk (a SnapShotImage for example)

o  environment: anEnvironment
allows me to browse something different from Smalltalk (a SnapShotImage for example)

o  extractClassAndSelectorFromSelectionInto: aBlock
given a string which can be either
'class>>sel', 'class » sel' or 'class sel',
extract className and selector,
and call aBlock with the result.

o  findClassNamed: aClassName
search through namespaces for aClassName.

o  findClassNamedInNameSpace: aClassName
search through current namespaces for aClassName.
Return the class or nil, if not found.

o  findClassOfVariable: aVariableName accessWith: aSelector
this method returns the class, in which a variable
is defined;
needs either #instVarNames or #classVarNames as aSelector.

o  hideMethodCategoryList

o  listBoxForCodeSelectionTitle: title okText: okText
convenient method: setup listBox with text from codeview

o  listBoxTitle: title okText: okText list: aList
convenient method: setup a listBox & return it

o  normalLabel
set the normal (inactive) window- and icon labels

o  refetchMethod

o  releaseClass

o  releaseMethod

o  selectorToSearchFor
look in codeView and methodListView for a search-string when searching for selectors

o  setAcceptActionForClass
tell the codeView what to do on accept and explain

o  setAcceptActionForClassInstVars
tell the codeView what to do on accept

o  setAcceptActionForFullClass
tell the codeView what to do on accept

o  setAcceptActionForJavaClass
tell the codeView what to do on accept and explain

o  setAcceptActionForNewClass
tell the codeView what to do on accept and explain

o  setAcceptActionForNewJavaClass
tell the codeView what to do on accept and explain

o  setAcceptAndExplainActionsForMethod
tell the codeView what to do on accept and explain

o  setDoitActionForClass
tell the codeView what to do on doIt

o  setSearchPattern: aString

o  showExplanation: someText
show explanation from Parser

o  showMethodCategoryList

o  stringToSearchFor
look in codeView and methodListView for a search-string when searching for classes/names

o  warnLabel: what
set the title for some warning

o  warnObsoleteCode: whatHappened
invoked, when someone else has changed what I am showing
currently. Change my window label and show the text in red.

o  withSearchCursorDo: aBlock

o  withWaitCursorDo: aBlock
(comment from inherited method)
evaluate aBlock while showing a waitCursor in all my views.
Return the value as returned by aBlock.

private-defaults
o  breakPointedIcon
answer an icon to mark breakPointed methods

o  canvasIcon
answer an icon to mark canvas (windowSpec) methods

o  fetchIcon: name selector: fetchSelector
answer an icon

o  fileImageIcon
answer an icon to mark fileImage methods

o  globalClassIdentifierEmphasisAndColor

o  helpIcon
answer an icon to mark help spec methods

o  hierarchicalListIcon
answer an icon to mark hierarchicalList spec methods

o  imageIcon
answer an icon to mark image spec methods

o  menuIcon
answer an icon to mark menu spec methods

o  programImageIcon
answer an icon to mark program-image spec methods

o  programMenuIcon
answer an icon to mark menu spec methods

o  stopIcon
answer an icon to mark breakPointed methods

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

private-queries
o  hasClassCategorySelected

o  hasClassCategorySelectedAndIsNotSimulatedEnvironment

o  hasClassCategorySelectedHolder

o  hasClassSelected

o  hasClassSelectedAndIsNotSimulatedEnvironment

o  hasClassSelectedHolder

o  hasLoadedClassSelected

o  hasLoadedClassSelectedAndIsNotSimulatedEnvironment

o  hasMethodCategorySelected

o  hasMethodCategorySelectedAndIsNotSimulatedEnvironment

o  hasMethodSelected

o  hasMethodSelectedAndIsNotReadOnlyEnvironment

o  hasMethodSelectedAndIsNotSimulatedEnvironment

o  hasSourceCodeManager

o  hasUnwrappedMethodSelected

o  hasWrappedMethodSelected

o  isNotSimulatedEnvironment

o  isReadOnlyEnvironment

o  isSimulatedEnvironment

o  selectedMethodIsBreakpointed

o  selectedMethodIsNotWrapped

o  selectedMethodIsTraced

o  showingClass

o  showingClassAndHasMethodCategorySelectedAndIsApplicationSubclass

o  showingClassAndIsApplicationSubclass

o  showingClassAndIsDialogSubclass

o  showingInstance

o  showingInstanceAndHasVariableSelected

syntax coloring
o  startSyntaxHighlightProcess
start a background process, which does the syntax coloring.
When it finishes, it pushes a user event to install the new
text.
(This is done as a event to synchronize the coloring with modifications
done to the text - the colored text will discarded, if there were
any modifications in the meanwhile)

o  stopSyntaxHighlightProcess
stop any background process, which does the syntax coloring.

o  syntaxHighlightedCode: newCode
the background highlighter has generated new colored text,
with highlighted syntax.
If there have been no modifications in the meantime, install it.

unused
o  listOfAllMethodCategoriesInHierarchy: aClass
answer a list of all method categories of the argument, aClass,
and all of its superclasses

o  listOfAllSelectorsInCategory: aCategory inHierarchyOfClass: aClass
answer a list of all selectors in a given method category
of the argument, aClass and its superclasses

variable list menu
o  allClassInstVarMods
show an enterbox for classVar to search for

o  allClassInstVarRefs
show an enterbox for classVar to search for

o  allClassVarMods
show an enterbox for classVar to search for

o  allClassVarRefs
show an enterbox for classVar to search for

o  allInstVarMods
show an enterbox for instVar to search for

o  allInstVarRefs
show an enterbox for instVar to search for

o  allVarRefsTitle: title access: access mods: modifications
show an enterbox for instVar to search for

o  classInstVarMods
show an enterbox for classVar to search for

o  classInstVarRefs
show an enterbox for classVar to search for

o  classVarMods
show an enterbox for classVar to search for

o  classVarRefs
show an enterbox for classVar to search for

o  enterBoxForVariableSearch: title

o  instVarMods
show an enterbox for instVar to search for

o  instVarRefs
show an enterbox for instVar to search for

o  showClassInstVars

o  showClassVars

o  varInspect
open an inspector on the value of a classVar / classInstVar

o  varRefsOrModsTitle: title access: accessor mods: mods
show an enterbox for instvar to search for

o  varTypeInfo
show typical usage of a variable

o  variableListMenu
showInstance and:[

o  variableSelection: lineNr
variable selection changed

variable stuff
o  hilightEntryFor: entry
helper; given a list item, highlight it

o  hilightMethodsInMethodCategoryList
search for methods which access the selected
variable, and highlight them

o  hilightMethodsInMethodCategoryList: inCat inMethodList: inMethods
search for methods which access the selected
variable, and highlight them

o  hilightMethodsInMethodList
search for methods which access the selected
variable, and highlight them

o  unhilightEntryFor: entry
helper; given a list itme, unhighlight it

o  unhilightMethodCategories
unhighlight items in method list

o  unhilightMethods
unhighlight items in method list

o  updateVariableList
update the variable list - either show instVars, classVars or classInstVars



ST/X 7.1.0.0; WebServer 1.663 at exept.de:8081; Wed, 19 Sep 2018 03:51:28 GMT