OB-Morphic

OBButtonBar
An OBButtonBar is xxxxxxxxx.
Instance Variables
model: <Object>
model
- xxxxx
addButtonFor:
adoptPaneColor:
buttonFor:
initGeometry
model
model:
noteNewOwner:
I have just been added as a submorph of aMorph
on:
styleWith:
update:
Receive a change notice from an object of whom the receiver is a
dependent. The default behavior is to do nothing; a subclass might want
to change itself in some way.
updateCommands
OBButtonModel
An OBButtonModel serves as a model for PluggableButtonMorphs used OBRadioButtonBar. OBRadioButtonBar cannot be a direct model for its PBMs, since it can contain a variable number of buttons.
iVars:
bar - the OBRadioButton bar to which this button belongs
label - the label of the button
bar:
buildOn:
isEnabled
isSelected
label
label:
labelMorph
longDescription
longDescription:
offColor
onColor
push
selectionChanged
withLabel:inBar:
withLabel:inBar:longDescription:
OBGroupingMorph
An OBGroupingMorph is xxxxxxxxx.
Instance Variables
addBorders
addMorph:frame:
Stole this from SystemWindow
initialize
initialize the state of the receiver
OBLazyListMorph
I am an adapted version of LazyListMorph. I can display icons and colors for my elements.
display:atRow:on:
Display the given item at row row.
OBMorphBuilder
An OBMorphBuilder is xxxxxxxxx.
Instance Variables
button:with:
fixedButtonBar:with:
horizontalGroupWith:
layoutPanels
listMorphForColumn:
mercuryMorphFor:
open:
pane:with:
radioButtonBar:with:
scroller:with:
shouldUseSpecialLayoutFor:
style39
styleButton:
styleButtonBar:
styleHorizontalDivider:
styleVerticalDivider:
textMorphClass
textarea:with:
see CodeHolder>>buildMorphicCodePaneWith:
textfield:with:
verticalGroupWith:
window:with:
OBMorphicIcons
Most of these icons come from http://www.famfamfam.com/lab/icons. They are licensed under the Creative Commons Attribution 3.0 License by Mark James.
announcement
arrowDown
arrowUp
arrowUpAndDown
blank
breakpoint
collection
default
exception
flag
iconHeight
iconNamed:
iconWidth
initialize
Subclasses should redefine this method to perform initializations on instance creation
magnitude
morph
string
testGray
testGreen
testOrange
testRed
OBMorphicPlatform
An OBMorphicPlatform is xxxxxxxxx.
Instance Variables
builder
default
enableGently:
handleBrowseRequest:
handleChoiceRequest:
handleCloseRequest:
handleConfirmationRequest:
handleDirectoryRequest:
handleInformRequest:
handleMultiLineTextRequest:
handleMultipleChoiceRequest:
handleTextRequest:
handleWaitRequest:
initialize
Subclasses should redefine this method to perform initializations on instance creation
menuWithIcons
optionalButtons
setPreference:toValue:
OBPane
An OBPane is the visual representation of a column in a browser. It contains a morph to display nodes (typically a PluggableListMorph) and (optionally) a morph for communicating with the column's filter. It's main responsibility is to lay out its submorphs as the filter controls are added and removed.
iVars:
model - the OBColumn that controls the node list displayed in this pane
list - the morph which displays the node list, usually a PluggableListMorph
button - the morph which controls the column's filter, usually an OBRadioButtonBar.
addButton:
addList:
adjustButton
adjustList
bounds:
button
buttonFor:
buttonHeight
defaultButtonHeight
hasButton
initGeometry
list
model:
Set my model and make me me a dependent of the given object.
noteNewOwner:
I have just been added as a submorph of aMorph
removeButton
update:
Receive a change notice from an object of whom the receiver is a
dependent. The default behavior is to do nothing; a subclass might want
to change itself in some way.
OBPaneScroller
Instances of OBPaneScroller contain the panes which represent columns in a browser. Their primary responsibilities are laying out panes to fit the space available and scrolling them horizontally when there isn't sufficient space.
iVars:
sizing - The number of panes which should exactly fit the available space.
During layout, the width of the panes is determined accordingly.
transform - A TransformMorph used for scrolling
scrollBar - An OBHorizontalScrollBar used for scrolling
adjustPaneHeight
This gets called after the scrollbar has been shown or hidden, to move the bottom
of the panes to the right place.
adoptPaneColor:
basicUpdatePanes
basicUpdateSizing
bounds:
clearPanes
computeMorphWidths
doLayout
hideOrShowScrollBar
hideScrollBar
initialize
initialize the state of the receiver
initializeScrollbar
initializeTransform
innerBounds
Return the inner rectangle enclosed by the bounds of this morph excluding the space taken by its borders. For an unbordered morph, this is just its bounds.
isScrollable
layoutPanes
layoutWidgets
leftoverScrollRange
model
model:
noteNewOwner:
I have just been added as a submorph of aMorph
paneCount
paneHeight
paneWidthsToFit:
panes
popPanes:
pushPane:
resizeScrollBar
scrollBarHeight
scrollBarIsVisible
scrollBarMenuButtonPressed:
Ignore the menu button...
scrollBarValue:
scrollDeltaWidth
scrollToRight
separator
separatorWidth
setScrollDeltas
showScrollBar
sizing
totalPaneWidth
totalScrollRange
update:
Receive a change notice from an object of whom the receiver is a
dependent. The default behavior is to do nothing; a subclass might want
to change itself in some way.
updatePanes
updateSizing
withModel:
OBPluggableListMorph
I am a special kind of PluggableListMorph and provides methods to access icons for list elements. I use OBLazyListMorph as listMorphClass
iconAt:
listMorphClass
mouseUp:
Override a change in PLM that breaks OmniBrowser. This version of the method
is from Squeak 3.7 and was originally stamped: 'ls 6/22/2001 22:49'
OBPluggableTextMorph
This is a trivial subclass of PluggableTextMorph. It overrides initialization methods to use an OBTextMorph rather than a regular TextMorph
getMenu:
Answer the menu for this text view, supplying an empty menu to be filled in. If the menu selector takes an extra argument, pass in the current state of the shift key.
keyStroke:
A keystroke was hit while the receiver had keyboard focus. Pass the keywtroke on to my textMorph, and and also, if I have an event handler, pass it on to that handler
noteNewOwner:
I have just been added as a submorph of aMorph
selectionNode
setText:
OBRadioButtonBar
An OBRadioButtonBar is similar to a PluggableListMorph except that it displays a row of buttons rather than a vertical list. Clicking on a button selects it.
model - the model for this button bar
buttons - a collection of OBButtonModels, which are derived from the model's list
selection - the index of the currently selected button
getListSelector - the message for getting the list of labels for the buttons
getSelectionSelector - the message for getting the index of the currently selected item
setSelectionSelector - the message for informing the model that a button has been clicked
adoptPaneColor:
getLabels
getLongDescriptions
getSelectionIndex
initGeometry
isEnabled:
isSelected:
list
model:
noteNewOwner:
I have just been added as a submorph of aMorph
on:list:selected:changeSelected:
push:
styleWith:
update:
Receive a change notice from an object of whom the receiver is a
dependent. The default behavior is to do nothing; a subclass might want
to change itself in some way.
updateButtons
updateList
updateMorphs
updateSelection
updateSubmorphColor
updateSubmorphs
withButtonAt:do:
withSelectedButtonDo:
OBTextMorph
This is a trivial subclass of TextMorph. It overrides editor creation to use OBTextMorphEditor rather than a regular TextMorphEditor.
installEditorToReplace:
Install an editor for my paragraph. This constitutes 'hasFocus'.
If priorEditor is not nil, then initialize the new editor from its state.
We may want to rework this so it actually uses the prior editor.
OBTextMorphEditor
OBTextMorphEditor overrides the TextMorphEditors handling of command keys, passing them along to its model for processing, rather than hard-coding their implementations.
browseIt
Launch a browser for the class indicated by the
current selection.
If multiple classes matching the selection exist, let
the user choose among them.
implementorsOfIt
Open a senders browser on the selected selector
referencesToIt
Open a references browser on the selected symbol
send:toModelWith:orDo:
sendersOfIt
Open a senders browser on the selected selector