Squeak Class Documentation category index | class index  
 
Browser
  category: Tools-Browser
  superclass: CodeHolder
  subclasses: FileContentsBrowser PackagePaneBrowser HierarchyBrowser MessageSet

I represent a query path into the class descriptions, the software of the system.

instance methods
  accessing
  contents
contents:notifying:
contentsSelection
couldBrowseAnyClass
doItReceiver
editSelection
editSelection:
noteSelectionIndex:for:
request:initialAnswer:
spawn:
suggestCategoryToSpawnedBrowser:

  class functions
  addAllMethodsToCurrentChangeSet
buildClassBrowser
classListMenu:
classListMenu:shifted:
copyClass
defineClass:notifying:
editClass
editComment
explainSpecial:
fetchClassDocPane
fileOutClass
findMethod
hierarchy
makeNewSubclass
plusButtonHit
printOutClass
removeClass
renameClass
shiftedClassListMenu:

  class list
  classList
classListIndex
classListIndex:
classListSingleton
recent
selectClass:
selectedClass
selectedClassName
toggleClassListIndex:

  code pane
  compileMessage:notifying:
showBytecodes

  copying
  veryDeepInner:

  drag and drop
  acceptDroppingMorph:event:inMorph:
acceptMethod:dstMessageCategory:srcMessageCategory:dstClass:dstClassOrMeta:srcClassOrMeta:internal:copySemantic:
acceptMethod:messageCategory:class:atListMorph:internal:copy:
changeCategoryForClass:srcSystemCategory:atListMorph:internal:copy:
changeMessageCategoryForMethod:dstMessageCategory:srcMessageCategory:insideClassOrMeta:internal:copySemantic:
codeTextMorph
dragAnimationFor:transferMorph:
dragPassengerFor:inMorph:
dragTransferTypeForMorph:
dstCategoryDstListMorph:
dstClassDstListMorph:
dstMessageCategoryDstListMorph:
message:compileInClass:fromClass:dstMessageCategory:srcMessageCategory:internal:copySemantic:
overwriteDialogHierarchyChange:higher:sourceClassName:destinationClassName:methodSelector:
wantsDroppedMorph:event:inMorph:

  initialize-release
  addAListPane:to:at:plus:
addClassAndSwitchesTo:at:plus:
addMorphicSwitchesTo:at:
browserWindowActivated
buildClassSwitchView
buildCommentSwitchView
buildInstanceClassSwitchView
buildInstanceSwitchView
buildMorphicClassList
buildMorphicMessageCatList
buildMorphicMessageList
buildMorphicSwitches
buildMorphicSystemCatList
buildOptionalButtonsView
defaultBrowserTitle
highlightClassList:with:
highlightMessageCategoryList:with:
highlightMessageList:with:
highlightSystemCategoryList:with:
labelString
methodCategoryChanged
openAsMorphClassEditing:
openAsMorphEditing:
openAsMorphMessageEditing:
openAsMorphMsgCatEditing:
openAsMorphSysCatEditing:
openEditString:
openMessageCatEditString:
openMessageEditString:
openOnClassWithEditString:
openSystemCatEditString:
optionalAnnotationHeight
optionalButtonHeight
setClass:selector:
setSelector:
systemCatSingletonKey:from:
systemOrganizer:

  message category functions
  addCategory
alphabetizeMessageCategories
buildMessageCategoryBrowser
buildMessageCategoryBrowserEditString:
canShowMultipleMessageCategories
categoryOfCurrentMethod
changeMessageCategories:
editMessageCategories
fileOutMessageCategories
messageCategoryMenu:
printOutMessageCategories
removeEmptyCategories
removeMessageCategory
renameCategory
showHomeCategory

  message category list
  categorizeAllUncategorizedMethods
messageCatListSingleton
messageCategoryList
messageCategoryListIndex
messageCategoryListIndex:
messageCategoryListSelection
rawMessageCategoryList
selectMessageCategoryNamed:
selectOriginalCategoryForCurrentMethod
selectedMessageCategoryName
setOriginalCategoryIndexForCurrentMethod
toggleMessageCategoryListIndex:

  message functions
  addExtraShiftedItemsTo:
buildMessageBrowser
buildMessageBrowserEditString:
defineMessage:notifying:
defineMessageFrom:notifying:
inspectInstances
inspectSubInstances
messageListMenu:shifted:
removeMessage
removeMessageFromBrowser
shiftedMessageListMenu:

  message list
  messageList
messageListIndex
messageListIndex:
messageListSingleton
reformulateList
selectedMessage
selectedMessageName
selectedMessageName:
toggleMessageListIndex:

  metaclass
  classCommentIndicated
classMessagesIndicated
classOrMetaClassOrganizer
indicateClassMessages
indicateInstanceMessages
instanceMessagesIndicated
metaClassIndicated
metaClassIndicated:
selectedClassOrMetaClass
selectedClassOrMetaClassName
setClassOrganizer

  system category functions
  addSystemCategory
browseAllClasses
buildSystemCategoryBrowser
buildSystemCategoryBrowserEditString:
changeSystemCategories:
classNotFound
editSystemCategories
fileOutSystemCategory
findClass
potentialClassNames
printOutSystemCategory
removeSystemCategory
renameSystemCategory
systemCatSingletonMenu:
systemCategoryMenu:
updateSystemCategories

  system category list
  indexIsOne
indexIsOne:
selectCategoryForClass:
selectedEnvironment
selectedSystemCategoryName
systemCategoryList
systemCategoryListIndex
systemCategoryListIndex:
systemCategorySingleton
toggleSystemCategoryListIndex:

class methods
  class initialization
  initialize

  instance creation
  fullOnClass:
fullOnClass:selector:
new
newOnCategory:
newOnClass:
newOnClass:label:
newOnClass:selector:
openBrowser
openBrowserView:label:
openMessageBrowserForClass:selector:editString:
prototypicalToolWindow

instance methods
  accessing top  
 

contents

Depending on the current selection, different information is retrieved.
Answer a string description of that information. This information is the
method of the currently selected class and message.


 

contents:notifying:

The retrieved information has changed and its source must now be
updated. The information can be a variety of things, depending on
the list selections (such as templates for class or message definition,
methods) or the user menu commands (such as definition, comment,
hierarchy). Answer the result of updating the source.


 

contentsSelection

Return the interval of text in the code pane to select when I set the pane's contents


 

couldBrowseAnyClass

Answer whether the receiver is equipped to browse any class. This is in support of the system-brower feature that allows the browser to be redirected at the selected class name. This implementation is clearly ugly, but the feature it enables is handsome enough. 3/1/96 sw


 

doItReceiver

This class's classPool has been jimmied to be the classPool of the class
being browsed. A doIt in the code pane will let the user see the value of
the class variables.


 

editSelection


 

editSelection:

Set the editSelection as requested.


 

noteSelectionIndex:for:

backstop


 

request:initialAnswer:


 

spawn:

Create and schedule a fresh browser and place aString in its code pane. This method is called when the user issues the #spawn command (cmd-o) in any code pane. Whatever text was in the original code pane comes in to this method as the aString argument; the changes in the original code pane have already been cancelled by the time this method is called, so aString is the only copy of what the user had in his code pane.


 

suggestCategoryToSpawnedBrowser:

aBrowser is a message-category browser being spawned from the receiver. Tell it what it needs to know to get its category info properly set up.


  class functions top  
 

addAllMethodsToCurrentChangeSet

Add all the methods in the selected class or metaclass to the current change set. You ought to know what you're doing before you invoke this!


 

buildClassBrowser

Create and schedule a new class category browser for the current class
selection, if one exists.


 

classListMenu:

For backward compatibility with old browers stored in image segments


 

classListMenu:shifted:

Set up the menu to apply to the receiver's class list, honoring the #shifted boolean


 

copyClass


 

defineClass:notifying:

The receiver's textual content is a request to define a new class. The
source code is defString. If any errors occur in compilation, notify
aController.


 

editClass

Retrieve the description of the class definition.


 

editComment

Retrieve the description of the class comment.


 

explainSpecial:

Answer a string explaining the code pane selection if it is displaying
one of the special edit functions.


 

fetchClassDocPane

Look on servers to see if there is documentation pane for the selected class. Take into account the current update number. If not, ask the user if she wants to create one.


 

fileOutClass

Print a description of the selected class onto a file whose name is the
category name followed by .st.


 

findMethod

Pop up a list of the current class's methods, and select the one chosen by the user.
5/21/96 sw, based on a suggestion of John Maloney's.


 

hierarchy

Display the inheritance hierarchy of the receiver's selected class.


 

makeNewSubclass


 

plusButtonHit

Cycle among definition, comment, and hierachy


 

printOutClass

Print a description of the selected class onto a file whose name is the
category name followed by .html.


 

removeClass

If the user confirms the wish to delete the class, do so


 

renameClass


 

shiftedClassListMenu:

Set up the menu to apply to the receiver's class list when the shift key is down


  class list top  
 

classList

Answer an array of the class names of the selected category. Answer an
empty array if no selection exists.


 

classListIndex

Answer the index of the current class selection.


 

classListIndex:

Set anInteger to be the index of the current class selection.


 

classListSingleton


 

recent

Let the user select from a list of recently visited classes. 11/96 stp.
12/96 di: use class name, not classes themselves.
: dont fall into debugger in empty case


 

selectClass:


 

selectedClass

Answer the class that is currently selected. Answer nil if no selection
exists.


 

selectedClassName

Answer the name of the current class. Answer nil if no selection exists.


 

toggleClassListIndex:

If anInteger is the current class index, deselect it. Else make it the
current class selection.


  code pane top  
 

compileMessage:notifying:

Compile the code that was accepted by the user, placing the compiled method into an appropriate message category. Return true if the compilation succeeded, else false.


 

showBytecodes

Show or hide the bytecodes of the selected method -- an older protocol now mostly not relevant.


  copying top  
 

veryDeepInner:

Copy all of my instance variables. Some need to be not copied at all, but shared. See DeepCopier class comment.


  drag and drop top  
 

acceptDroppingMorph:event:inMorph:

Here we are fetching informations from the dropped transferMorph and
performing the correct action for this drop.


 

acceptMethod:dstMessageCategory:srcMessageCategory:dstClass:dstClassOrMeta:srcClassOrMeta:internal:copySemantic:


 

acceptMethod:messageCategory:class:atListMorph:internal:copy:


 

changeCategoryForClass:srcSystemCategory:atListMorph:internal:copy:

only move semantic


 

changeMessageCategoryForMethod:dstMessageCategory:srcMessageCategory:insideClassOrMeta:internal:copySemantic:

only move semantic


 

codeTextMorph


 

dragAnimationFor:transferMorph:

Default do nothing


 

dragPassengerFor:inMorph:


 

dragTransferTypeForMorph:


 

dstCategoryDstListMorph:


 

dstClassDstListMorph:


 

dstMessageCategoryDstListMorph:


 

message:compileInClass:fromClass:dstMessageCategory:srcMessageCategory:internal:copySemantic:


 

overwriteDialogHierarchyChange:higher:sourceClassName:destinationClassName:methodSelector:


 

wantsDroppedMorph:event:inMorph:

We are only interested in TransferMorphs as wrappers for
informations. If their content is really interesting for us, will
determined later in >>acceptDroppingMorph:event:.


  initialize-release top  
 

addAListPane:to:at:plus:


 

addClassAndSwitchesTo:at:plus:


 

addMorphicSwitchesTo:at:


 

browserWindowActivated

Called when a window whose model is the receiver is reactivated, giving the receiver an opportunity to take steps if it wishes. The default is to do nothing. 8/5/96 sw


 

buildClassSwitchView


 

buildCommentSwitchView


 

buildInstanceClassSwitchView


 

buildInstanceSwitchView


 

buildMorphicClassList


 

buildMorphicMessageCatList


 

buildMorphicMessageList

Build a morphic message list, with #messageList as its list-getter


 

buildMorphicSwitches


 

buildMorphicSystemCatList


 

buildOptionalButtonsView

Build the view for the optional buttons (mvc)


 

defaultBrowserTitle


 

highlightClassList:with:


 

highlightMessageCategoryList:with:


 

highlightMessageList:with:


 

highlightSystemCategoryList:with:


 

labelString


 

methodCategoryChanged


 

openAsMorphClassEditing:

Create a pluggable version a Browser on just a single class.


 

openAsMorphEditing:

Create a pluggable version of all the morphs for a Browser in Morphic


 

openAsMorphMessageEditing:

Create a pluggable version a Browser that shows just one message


 

openAsMorphMsgCatEditing:

Create a pluggable version a Browser on just a message category.


 

openAsMorphSysCatEditing:

Create a pluggable version of all the views for a Browser, including views and controllers.


 

openEditString:

Create a pluggable version of all the views for a Browser, including views and controllers.


 

openMessageCatEditString:

Create a pluggable version of the views for a Browser that just shows one message category.


 

openMessageEditString:

Create a pluggable version of the views for a Browser that just shows one message.


 

openOnClassWithEditString:

Create a pluggable version of all the views for a Browser, including views and controllers.


 

openSystemCatEditString:

Create a pluggable version of all the views for a Browser, including views and controllers. The top list view is of the currently selected system class category--a single item list.


 

optionalAnnotationHeight


 

optionalButtonHeight


 

setClass:selector:

Set the state of a new, uninitialized Browser.


 

setSelector:

Make the receiver point at the given selector, in the currently chosen class


 

systemCatSingletonKey:from:


 

systemOrganizer:

Initialize the receiver as a perspective on the system organizer,
aSystemOrganizer. Typically there is only one--the system variable
SystemOrganization.


  message category functions top  
 

addCategory

Present a choice of categories or prompt for a new category name and add it before the current selection, or at the end if no current selection


 

alphabetizeMessageCategories


 

buildMessageCategoryBrowser

Create and schedule a message category browser for the currently
selected message category.


 

buildMessageCategoryBrowserEditString:

Create and schedule a message category browser for the currently
selected message category. The initial text view contains the characters
in aString.


 

canShowMultipleMessageCategories

Answer whether the receiver is capable of showing multiple message categories


 

categoryOfCurrentMethod

Determine the method category associated with the receiver at the current moment, or nil if none


 

changeMessageCategories:

The characters in aString represent an edited version of the the message
categories for the selected class. Update this information in the system
and inform any dependents that the categories have been changed. This
message is invoked because the user had issued the categories command
and edited the message categories. Then the user issued the accept
command.


 

editMessageCategories

Indicate to the receiver and its dependents that the message categories of
the selected class have been changed.


 

fileOutMessageCategories

Print a description of the selected message category of the selected class
onto an external file.


 

messageCategoryMenu:


 

printOutMessageCategories

Print a description of the selected message category of the selected class
onto an external file in Html format.


 

removeEmptyCategories


 

removeMessageCategory

If a message category is selected, create a Confirmer so the user can
verify that the currently selected message category should be removed
from the system. If so, remove it.


 

renameCategory

Prompt for a new category name and add it before the
current selection, or at the end if no current selection


 

showHomeCategory

Show the home category of the selected method. This is only really useful if one is in a tool that supports the showing of categories. Thus, it's good in browsers and hierarchy browsers but not in message-list browsers


  message category list top  
 

categorizeAllUncategorizedMethods

Categorize methods by looking in parent classes for a method category.


 

messageCatListSingleton


 

messageCategoryList

Answer the selected category of messages.


 

messageCategoryListIndex

Answer the index of the selected message category.


 

messageCategoryListIndex:

Set the selected message category to be the one indexed by anInteger.


 

messageCategoryListSelection

Return the selected category name or nil.


 

rawMessageCategoryList


 

selectMessageCategoryNamed:

Given aSymbol, select the category with that name. Do nothing if
aSymbol doesn't exist.


 

selectOriginalCategoryForCurrentMethod

private - Select the message category for the current method.

Note: This should only be called when somebody tries to save
a method that they are modifying while ALL is selected.

Returns: true on success, false on failure.


 

selectedMessageCategoryName

Answer the name of the selected message category, if any. Answer nil
otherwise.


 

setOriginalCategoryIndexForCurrentMethod

private - Set the message category index for the currently selected method.

Note: This should only be called when somebody tries to save
a method that they are modifying while ALL is selected.


 

toggleMessageCategoryListIndex:

If the currently selected message category index is anInteger, deselect
the category. Otherwise select the category whose index is anInteger.


  message functions top  
 

addExtraShiftedItemsTo:

The shifted selector-list menu is being built; some menu items are appropriate only for certain kinds of browsers, and this gives a hook for them to be added as approrpiate. If any is added here, a line should be added first -- browse reimplementors of this message for examples.


 

buildMessageBrowser

Create and schedule a message browser on the currently selected
message. Do nothing if no message is selected. The initial text view
contains nothing.


 

buildMessageBrowserEditString:

Create and schedule a message browser for the receiver in which the
argument, aString, contains characters to be edited in the text view.


 

defineMessage:notifying:

Compile the expressions in aString. Notify aController if a syntax error
occurs. Install the compiled method in the selected class classified under
the currently selected message category name. Answer true if
compilation succeeds, false otherwise.


 

defineMessageFrom:notifying:

Compile the expressions in aString. Notify aController if a syntax error occurs. Install the compiled method in the selected class classified under the currently selected message category name. Answer the selector obtained if compilation succeeds, nil otherwise.


 

inspectInstances

Inspect all instances of the selected class. 1/26/96 sw


 

inspectSubInstances

Inspect all instances of the selected class and all its subclasses 1/26/96 sw


 

messageListMenu:shifted:

Answer the message-list menu


 

removeMessage

If a message is selected, create a Confirmer so the user can verify that
the currently selected message should be removed from the system. If so,
remove it. If the Preference 'confirmMethodRemoves' is set to false, the
confirmer is bypassed.


 

removeMessageFromBrowser

Our list speaks the truth and can't have arbitrary things removed


 

shiftedMessageListMenu:

Fill aMenu with the items appropriate when the shift key is held down


  message list top  
 

messageList

Answer an Array of the message selectors of the currently selected message category, provided that the messageCategoryListIndex is in proper range. Otherwise, answer an empty Array If messageCategoryListIndex is found to be larger than the number of categories (it happens!), it is reset to zero.


 

messageListIndex

Answer the index of the selected message selector into the currently
selected message category.


 

messageListIndex:

Set the selected message selector to be the one indexed by anInteger.


 

messageListSingleton


 

reformulateList

If the receiver has a way of reformulating its message list, here is a chance for it to do so


 

selectedMessage

Answer a copy of the source code for the selected message.


 

selectedMessageName

Answer the message selector of the currently selected message, if any.
Answer nil otherwise.


 

selectedMessageName:

Make the given selector be the selected message name


 

toggleMessageListIndex:

If the currently selected message index is anInteger, deselect the message
selector. Otherwise select the message selector whose index is anInteger.


  metaclass top  
 

classCommentIndicated

Answer true iff we're viewing the class comment.


 

classMessagesIndicated

Answer whether the messages to be presented should come from the
metaclass.


 

classOrMetaClassOrganizer

Answer the class organizer for the metaclass or class, depending on
which (instance or class) is indicated.


 

indicateClassMessages

Indicate that the message selection should come from the metaclass
messages.


 

indicateInstanceMessages

Indicate that the message selection should come from the class (instance)
messages.


 

instanceMessagesIndicated

Answer whether the messages to be presented should come from the
class.


 

metaClassIndicated

Answer the boolean flag that indicates which of the method dictionaries,
class or metaclass.


 

metaClassIndicated:

Indicate whether browsing instance or class messages.


 

selectedClassOrMetaClass

Answer the selected class or metaclass.


 

selectedClassOrMetaClassName

Answer the selected class name or metaclass name.


 

setClassOrganizer

Install whatever organization is appropriate


  system category functions top  
 

addSystemCategory

Prompt for a new category name and add it before the
current selection, or at the end if no current selection


 

browseAllClasses

Create and schedule a new browser on all classes alphabetically.


 

buildSystemCategoryBrowser

Create and schedule a new system category browser.


 

buildSystemCategoryBrowserEditString:

Create and schedule a new system category browser with initial textual
contents set to aString.


 

changeSystemCategories:

Update the class categories by parsing the argument aString.


 

classNotFound


 

editSystemCategories

Retrieve the description of the class categories of the system organizer.


 

fileOutSystemCategory

Print a description of each class in the selected category onto a file
whose name is the category name followed by .st.


 

findClass

Search for a class by name.


 

potentialClassNames

Answer the names of all the classes that could be viewed in this browser. This hook is provided so that HierarchyBrowsers can indicate their restricted subset. For generic Browsers, the entire list of classes known to Smalltalk is provided, though of course that really only is accurate in the case of full system browsers.


 

printOutSystemCategory

Print a description of each class in the selected category as Html.


 

removeSystemCategory

If a class category is selected, create a Confirmer so the user can
verify that the currently selected class category and all of its classes
should be removed from the system. If so, remove it.


 

renameSystemCategory

Prompt for a new category name and add it before the
current selection, or at the end if no current selection


 

systemCatSingletonMenu:


 

systemCategoryMenu:


 

updateSystemCategories

The class categories were changed in another browser. The receiver must
reorganize its lists based on these changes.


  system category list top  
 

indexIsOne

When used as a singleton list, index is always one


 

indexIsOne:

When used as a singleton list, can't change it


 

selectCategoryForClass:


 

selectedEnvironment

Answer the name of the selected system category or nil.


 

selectedSystemCategoryName

Answer the name of the selected system category or nil.


 

systemCategoryList

Answer the class categories modelled by the receiver.


 

systemCategoryListIndex

Answer the index of the selected class category.


 

systemCategoryListIndex:

Set the selected system category index to be anInteger. Update all other
selections to be deselected.


 

systemCategorySingleton


 

toggleSystemCategoryListIndex:

If anInteger is the current system category index, deselect it. Else make
it the current system category selection.


class methods
  class initialization top  
 

initialize

Browser initialize


  instance creation top  
 

fullOnClass:

Open a new full browser set to class.


 

fullOnClass:selector:

Open a new full browser set to class.


 

new

Answer a new instance of the receiver (which is a class) with no indexable variables. Fail if the class is indexable.


 

newOnCategory:

Browse the system category of the given name. 7/13/96 sw


 

newOnClass:

Open a new class browser on this class.


 

newOnClass:label:

Open a new class browser on this class.


 

newOnClass:selector:

Open a new class browser on this class.


 

openBrowser

Create and schedule a BrowserView with default browser label. The
view consists of five subviews, starting with the list view of system
categories of SystemOrganization. The initial text view part is empty.


 

openBrowserView:label:

Schedule aBrowserView, labelling the view aString.


 

openMessageBrowserForClass:selector:editString:

Create and schedule a message browser for the class, aBehavior, in
which the argument, aString, contains characters to be edited in the text
view. These characters are the source code for the message selector
aSymbol.


 

prototypicalToolWindow

Answer an example of myself seen in a tool window, for the benefit of parts-launching tools