# HG changeset patch # User Jan Vrany # Date 1479503756 0 # Node ID 50c1bb3e9f98bce60d24c0de7e394d67b5ea5b98 # Parent f729645cc31aee44685dee96a5f3cf75e16eea3a# Parent 45bfdf4465eb5b789bbd794b3314e38465583d77 Merge diff -r f729645cc31a -r 50c1bb3e9f98 DialogBox.st --- a/DialogBox.st Fri Nov 18 21:10:35 2016 +0000 +++ b/DialogBox.st Fri Nov 18 21:15:56 2016 +0000 @@ -6255,7 +6255,10 @@ do:[self warn:warnString] " - Dialog withOptoutOption:[Transcript flash] labelled:'opt out' warn:'some warning'. + Dialog + withOptoutOption:[Transcript flash] + labelled:'opt out' + warn:'some warning'. " ! ! @@ -8010,6 +8013,7 @@ (h := (aButton heightIncludingBorder + (ViewSpacing * 2))) > buttonPanel topInset ifTrue:[ buttonPanel topInset:h negated ]. + preferredExtent := nil. needResize := true. ^ aButton @@ -9795,10 +9799,10 @@ autoAccept := true. buttonPanel := HorizontalPanelView in:self. - buttonPanel + buttonPanel origin:(0.0 @ 1.0) corner:(1.0 @ 1.0); bottomInset:ViewSpacing; - topInset:((gc font height + ViewSpacing) * 2) negated; + topInset:((gc font height + (ViewSpacing*2)) + ViewSpacing) negated; borderWidth:0; horizontalLayout:#spread. diff -r f729645cc31a -r 50c1bb3e9f98 EditField.st --- a/EditField.st Fri Nov 18 21:10:35 2016 +0000 +++ b/EditField.st Fri Nov 18 21:15:56 2016 +0000 @@ -1751,6 +1751,10 @@ "Modified: / 17-01-2011 / 11:26:08 / cg" ! +keyboardZoom:larger + "/ ignored here +! + pointerLeave:state (acceptOnPointerLeave and:[enabled and:[self modified]]) ifTrue:[ self accept @@ -1979,8 +1983,11 @@ ! initialize + |font| + super initialize. - self initialHeight:(gc font height + gc font descent + (topMargin * 2)). + font := gc font. + self initialHeight:(font height + font descent + (topMargin * 2)). nFullLinesShown := 1. nLinesShown := 1. diff -r f729645cc31a -r 50c1bb3e9f98 EditTextView.st --- a/EditTextView.st Fri Nov 18 21:10:35 2016 +0000 +++ b/EditTextView.st Fri Nov 18 21:15:56 2016 +0000 @@ -549,7 +549,10 @@ st80Mode "return true, if the st80 editing mode is turned on. This setting affects the behavior of the cursor, when positioned - beyond the end of a line or the end of the text." + beyond the end of a line or the end of the text. + This method is here for backward compatibility, when this flag was stored + in a class var. It is now in the user's settings. + Please do not call it, but go to the prefs directly, to make it easier to find those getters." ^ UserPreferences current st80EditMode @@ -563,7 +566,10 @@ st80Mode:aBoolean "turns on/off st80 behavior, where the cursor cannot be positioned - beyond the end of a line or the last line" + beyond the end of a line or the last line. + This method is here for backward compatibility, when this flag was stored + in a class var. It is now in the user's settings. + Please do not call it, but go to the prefs directly, to make it easier to find those setters." UserPreferences current st80EditMode:aBoolean. @@ -1319,7 +1325,14 @@ ^ self modifiedChannel ! -st80Mode:aBooleanOrNil +st80EditMode + "If on, the cursor wraps at the line end (like in vi or st80); + if off, we have the Rand-editor behavior (random access)" + + ^ st80Mode ? (UserPreferences current st80EditMode) +! + +st80EditMode:aBooleanOrNil "set/clear the st80Mode flag. If on, the cursor wraps at the line end (like in vi or st80); if off, we have the Rand-editor behavior (random access) @@ -1330,6 +1343,13 @@ "Created: / 09-11-2010 / 13:55:50 / cg" ! +st80Mode:aBooleanOrNil + self obsoleteMethodWarning. + self st80EditMode:aBooleanOrNil + + "Created: / 09-11-2010 / 13:55:50 / cg" +! + tabMeansNextField:aBoolean "set/clear tabbing to the next field. If true, Tab is ignored and shifts the keyboard focus. @@ -1354,6 +1374,20 @@ to allow for easier text entry" tabRequiresControl := aBoolean +! + +trimBlankLines + "If on, the blank lines are trimmed to zero size; + if nil, the setting follows the current userPref setting." + + ^ trimBlankLines ? (UserPreferences current trimBlankLines) +! + +trimBlankLines:aBooleanOrNil + "If on, the blank lines are trimmed to zero size; + if nil, the setting follows the current userPref setting." + + trimBlankLines := aBooleanOrNil. ! ! !EditTextView methodsFor:'accessing-contents'! @@ -1655,7 +1689,11 @@ accept "accept the current contents by executing the accept-action and/or - changeMessage." + changeMessage. + Historically, ST/X used a callBack (acceptAction); + and ST80/VW used the model, into which the text is stored. + We support both; if there is a mode, it gets a value: message, + If there is an acceptAction, it is called." acceptEnabled == false ifTrue:[ self beep. @@ -1679,7 +1717,7 @@ "/ "/ ST/X way of doing things - "/ as a historic (and temporary) leftover, + "/ as a historic leftover, "/ the block is called with a stringCollection "/ - not with the actual string "/ @@ -4373,7 +4411,7 @@ newLine := newLine, (line copyFrom:(stop + 1) to:lineSize) ]. - (trimBlankLines and:[newLine isBlank]) ifTrue:[ + (self trimBlankLines and:[newLine isBlank]) ifTrue:[ newLine := nil ]. @@ -4484,7 +4522,7 @@ lineSize := line size. self st80EditMode ifFalse:[ - (trimBlankLines + (self trimBlankLines and:[colNr > lineSize and:[aCharacter == Character space]]) ifTrue:[ ^ self @@ -4619,7 +4657,7 @@ ]. bothParts := leftPart , rightPart. - (trimBlankLines and:[bothParts isBlank]) ifTrue:[bothParts := nil]. + (self trimBlankLines and:[bothParts isBlank]) ifTrue:[bothParts := nil]. self basicListAt:lineNr put:bothParts. self redrawLine:lineNr. self deleteLine:nextLineNr @@ -4645,7 +4683,7 @@ line := list at:lineNr. lineSize := line size. - (trimBlankLines + (self trimBlankLines and:[colNr > lineSize and:[aCharacter == Character space]]) ifTrue:[ ^ self @@ -4765,7 +4803,7 @@ ] ]. leftRest notNil ifTrue:[ - (trimBlankLines and:[leftRest isBlank]) ifTrue:[leftRest := nil] + (self trimBlankLines and:[leftRest isBlank]) ifTrue:[leftRest := nil] ]. self basicListAt:lineNr put:leftRest. self nonUndoableDo:[ @@ -6313,7 +6351,6 @@ autoIndent := false. editMode := ValueHolder with:EditMode insertMode. learnMode := ValueHolder with:false. - trimBlankLines := self st80EditMode not. cursorMovementWhenUpdating := #beginOfText. lastReplacementInfo := LastReplacementInfo new. @@ -6418,7 +6455,8 @@ !EditTextView methodsFor:'menu & menu actions'! babelFishTranslate:fromToModeString - "translate the selected text and paste it after the selection" + "translate the selected text and paste it after the selection. + This is now obsolete, as that web service no longer exists (sigh)" |original translated| @@ -6429,7 +6467,8 @@ (HostNameLookupError , SOAP::SoapImplError) handle:[:ex | Dialog warn:('Translation failed - WEB Service error:\\%1.' bindWith:ex description allBold) withCRs ] do:[ - translated := SOAP::BabelFishClient new translate:original mode:fromToModeString. + translated := SOAP::BabelFishClient new + translate:original mode:fromToModeString. ] ]. @@ -7032,7 +7071,7 @@ |unicodePoint unicodeChar unicodeString| - unicodeString := Dialog request:'Enter unicode (U+01FF or decimal number):'. + unicodeString := Dialog request:(resources string:'Enter Unicode (U+01FF or Decimal Number):'). unicodeString size < 2 ifTrue:[ ^ self. ]. @@ -7792,13 +7831,6 @@ lastReplacementInfo lastReplaceIgnoredCase: lastReplaceIgnoredCase. ! -st80EditMode - "If on, the cursor wraps at the line end (like in vi or st80); - if off, we have the Rand-editor behavior (random access)" - - ^ st80Mode ? (UserPreferences current st80EditMode) -! - suppressEmphasisInSelection "selection is shown without emphasis" diff -r f729645cc31a -r 50c1bb3e9f98 EditTextViewCompletionSupport.st --- a/EditTextViewCompletionSupport.st Fri Nov 18 21:10:35 2016 +0000 +++ b/EditTextViewCompletionSupport.st Fri Nov 18 21:15:56 2016 +0000 @@ -245,8 +245,14 @@ "/ protect end-user applications from errors Error handle:[:ex | Smalltalk isSmalltalkDevelopmentSystem ifTrue:[ ex reject ] - ] do:[ - self computeCompletions. + ] do:[ + (editView topView isKindOf:DebugView) ifTrue:[ + ControlInterrupt ignoreIn:[ + self computeCompletions. + ]. + ] ifFalse:[ + self computeCompletions. + ]. ]. ] forkAt:(Processor activePriority - 1). @@ -296,13 +302,24 @@ openCompletionView: list "Makes sure the completion view is opened and with given `list`." - | cursorPos movePos topView limit | + | textCursorPosInTextView textCursorPosOnScreen movePos topView + screenBounds screenBoundsCorner + helpViewsExtent helpViewsWidth helpViewsHeight| - "/ move the window - cursorPos := editView device translatePoint:(editView xOfCursor @ editView yOfCursor) fromView:editView toView:nil. - cursorPos := cursorPos - (editView viewOrigin x @ 0). + "/ move the window away from the text cursor (to not cover what user types in) + "/ get the screen-relative position of the text cursor + textCursorPosInTextView := editView xOfCursor @ editView yOfCursor. + + "/ care for the scroll-offset (xOfCursor/yOFCursor gives me + textCursorPosInTextView := textCursorPosInTextView - (editView viewOrigin x @ 0). + + textCursorPosOnScreen := editView device + translatePoint:textCursorPosInTextView + fromView:editView toView:nil. + "/ currently, we have to stay away a bit, to avoid getting the focus - movePos := cursorPos + (60 @ (editView font height)). + "/ this will be somewhat to the down-right of the textCursor + movePos := textCursorPosOnScreen + (60 @ (editView font height)). completionView isNil ifTrue:[ completionView := CodeCompletionHelpMenuView new. @@ -318,19 +335,28 @@ completionView list:list. topView := completionView topView. ]. + topView ~~ completionView ifTrue:[ topView resizeToFit. -"/ movePos := editView device -"/ translatePoint:((editView right - topView width) @ (editView top)) -"/ fromView:editView toView:nil. + "/ make sure, the window is visible - limit := topView device monitorBoundsAt:topView origin. - movePos x + topView extent x > limit corner x ifTrue:[ - movePos := (cursorPos x - 60 - (topView extent x)) @ movePos y. + screenBounds := topView device monitorBoundsAt:topView origin. + screenBoundsCorner := screenBounds corner. + + helpViewsExtent := topView extent. + helpViewsWidth := helpViewsExtent x. + helpViewsHeight := helpViewsExtent y. + + "/ if it does not lie completely inside the screen, move it + (movePos x + helpViewsWidth) > screenBoundsCorner x ifTrue:[ + movePos := (textCursorPosOnScreen x - 60 - helpViewsWidth) @ movePos y. ]. - movePos y + topView extent y > limit corner y ifTrue:[ - movePos := movePos x @ (cursorPos y - (topView extent y)). + (movePos y + helpViewsHeight) > screenBoundsCorner y ifTrue:[ + movePos := movePos x @ (textCursorPosOnScreen y - helpViewsHeight). ]. + movePos y < 0 ifTrue:[ + movePos := movePos x @ 0 + ]. topView origin:movePos. ]. diff -r f729645cc31a -r 50c1bb3e9f98 EnterFieldGroup.st --- a/EnterFieldGroup.st Fri Nov 18 21:10:35 2016 +0000 +++ b/EnterFieldGroup.st Fri Nov 18 21:15:56 2016 +0000 @@ -575,7 +575,10 @@ outside. However, this info is not used by any view currently)" currentField notNil ifTrue:[ - currentField keyPress:key x:nil y:nil + "/ in case the currentFIeld was destroyed without telling me... (hack fix). + currentField device notNil ifTrue:[ + currentField keyPress:key x:nil y:nil + ] ] "Modified: / 18.9.1998 / 20:00:36 / cg" diff -r f729645cc31a -r 50c1bb3e9f98 FontPanel.st --- a/FontPanel.st Fri Nov 18 21:10:35 2016 +0000 +++ b/FontPanel.st Fri Nov 18 21:15:56 2016 +0000 @@ -17,7 +17,7 @@ instanceVariableNames:'previewField listOfEncodings allFonts fontsPerFamily familyList faceList sizeList revertButton currentFamily currentFace currentStyle currentFaceAndStyle currentSize sizeUnit - currentEncoding selectedFont nameLabel encodingFilter + currentEncoding initialFont selectedFont nameLabel encodingFilter encodingFilterField encodingLabel combinedFilter encoding sizeLabelHolder pixelPointSwitch xftFontsOnlyHolder changeFontInAllViewsHolder withChangeFontInAllViewsCheckBox @@ -162,7 +162,7 @@ defaultLatin1SampleString "return the sample latin1 preview text" - ^ (self defaultAsciiSampleString) , 'äöüÄÖÜßéèêå©' + ^ (self defaultAsciiSampleString) , '' ! defaultSampleStringForEncoding:enc @@ -206,8 +206,8 @@ |t| t := (self defaultAsciiSampleString) , ' -diaresis: äöüÄÖÜß -accent: éèêåÅ +diaresis: +accent: special: ' , #(16r20AC) asUnicodeString , ' math: ' , #(16r2200 16r2203 16r221E 16r2208 16r2209) asUnicodeString , ' cyrillic: ' , #(16r440 16r443 16r441 16r441 16r43A 16r438 16r439 16r20 16r44F 16r437 16r44B 16r43A) asUnicodeString , ' @@ -230,6 +230,37 @@ ifAbsent:'The quick brown fox jumps over the lazy dog') withCRs ! ! +!FontPanel class methodsFor:'help'! + +flyByHelpSpec + + + ^ Dictionary new + addPairsFrom:#( + +#fontName +'Shows the full name of the selected font.' + +#fontEncodingFilter +'Filter fonts by encodings.\Almost any can be used for Latin1 languages (English, German, French, Italian etc.).\For other European languages, it should be a Latin-X or Unicode font;\For most middle and far east languages, a Unicode font is required.\\Notice that although ISO10646 is Unicode, many fonts only contain a subset of the required characters.\Check the preview above.' + +#fontsEncoding +'Shows the selected font''s encoding.' + +#xftFontsOnlyHolder +'Filter to only show the nicer looking xft fonts and ignore the ugly X fonts (Linux/OSX only).\\Be aware that if X is used with remote windows via a slow communication line,\it may be preferrable to avoid xft fonts, as they require much more network bandwidth.' + +#pixelPointSwitch +'Switch between point and pixels in the size list.\A point is defined as 1/72th of an inch, and a common unit in typesetting.\Not to confuse with pixels, which are dots on your screen.\It is usually not a good idea, to specify font sizes by pixels.' + +#flushCachedListOfFonts +'Flush the cached list of fonts, and rescan the system for available fonts.\This may take a long time in some systems,\and is only needed if you install new fonts while ST/X is running.' + +#changeInAllTextViews +'If checked, your font choice is applied to all text views (in ST/X),\and will also be the default for new windows.\Otherwise, it will only affect the current textview.\\To make your choice persistent across sessions, go to the settings dialog and save the settings into your preferences file.' +) +! ! + !FontPanel class methodsFor:'menu specs'! previewMenu @@ -267,7 +298,8 @@ label: 'Show Character Set (Using xfd)' itemValue: previewShowCharacterSetUsingXFD translateLabel: true - isVisible: osIsUNIX + isVisible: osIsUNIXAndXfdIsAvailable + enabled: xfdCanBeUsed ) (MenuItem label: '-' @@ -379,6 +411,24 @@ "Modified: 10.4.1997 / 09:53:03 / cg" ! +fontFromUserInitial:initialFont title:someTitle filter:aFilterBlock encoding:encoding enabled:enabled onChangeAll:actionToChangeAll + "open a fontPanel with title and font-filter + and return the selected font, or nil if abort is pressed" + + ^ self new + fontFromUserInitial:initialFont title:someTitle + filter:aFilterBlock encoding:encoding + enabled:enabled + onChangeAll:actionToChangeAll + + " + FontPanel fontFromUserInitial:(Font family:'courier' size:12) title:'select some font' + " + + "Created: 27.2.1996 / 00:59:46 / cg" + "Modified: 10.4.1997 / 09:53:03 / cg" +! + openOn:aFont "open a fontPanel showing aFont initially. This panel is for information only - no font selection is possible." @@ -511,7 +561,7 @@ |fontEncoding| - selectedFont := aFont. + initialFont := selectedFont := aFont. currentFamily := aFont family. currentFace := aFont face. currentStyle := aFont style. @@ -586,6 +636,83 @@ !FontPanel methodsFor:'initialization'! +createFontSelectionBrowserIn:aView + |topSelectionBox fontLabelAndSizeSelectionBox + l hLabel v1 v2 v3 familyLabel faceLabel sizeLabel fH mm| + + mm := ViewSpacing. + hLabel := 30. + + l := (0@0 corner:1@1) asFractionalLayout. + l bottomInset:hLabel. + topSelectionBox := (View in:aView) layout:l. + + l := (0@1 corner:1@1) asFractionalLayout. + l topOffset:hLabel negated. + l rightInset:mm. + + fontLabelAndSizeSelectionBox := (HorizontalPanelView in:aView) layout:l. + fontLabelAndSizeSelectionBox horizontalLayout:#rightFit. + + v1 := View origin:0.0@0.0 corner:0.3@1.0 in:topSelectionBox. + + familyLabel := Label label:(resources string:'Family') in:v1. + familyLabel borderWidth:0. + familyLabel origin:(0.0 @ 0.0) extent:(1.0 @ nil). + fH := familyLabel preferredHeight. + + familyList := ScrollableView for:SelectionInListView in:v1. + familyList origin:(0.0 @ 0.0) corner:(1.0 @ 1.0). + familyList inset:mm. + familyList topInset:fH. + + familyList := familyList scrolledView. + self makeTabable:familyList. + + v2 := View origin:0.3@0.0 corner:0.8@1.0 in:topSelectionBox. + + faceLabel := Label label:(resources string:'Typeface') in:v2. + faceLabel borderWidth:0. + faceLabel origin:(0.0 @ 0.0) extent:(1.0 @ nil). + + faceList := ScrollableView for:SelectionInListView in:v2. + faceList origin:(0.0 @ 0.0) corner:(1.0 @ 1.0). + faceList inset:mm. + faceList topInset:fH. + faceList := faceList scrolledView. + self makeTabable:faceList. + + v3 := View origin:0.8@0.0 corner:1.0@1.0 in:topSelectionBox. + + sizeLabelHolder := (resources string:'Size') asValue. + sizeLabel := Label in:v3. + sizeLabel labelChannel:sizeLabelHolder. + sizeLabel borderWidth:0. + sizeLabel origin:(0.0 @ 0.0)extent:(1.0 @ nil). + + sizeList := ScrollableView for:SelectionInListView in:v3. + sizeList origin:(0.0 @ 0.0) corner:(1.0 @ 1.0). + sizeList inset:mm. + sizeList topInset:fH. + sizeList := sizeList scrolledView. + self makeTabable:sizeList. + + familyList action:[:lineNr | self familySelected:(familyList selectionValue)]. + faceList action:[:lineNr | self faceSelected:(faceList selectionValue)]. + sizeList action:[:lineNr | self sizeSelected:(sizeList selectionValue)]. + + nameLabel := Label label:'' in:fontLabelAndSizeSelectionBox. + nameLabel level:0; adjust:#left. + nameLabel helpKey:#fontName. + + pixelPointSwitch := ComboListView in:fontLabelAndSizeSelectionBox. + pixelPointSwitch level:-1. + pixelPointSwitch contents:'pt'. + pixelPointSwitch list:#(#pt #px). + pixelPointSwitch action:[:sizeUnit | self sizeUnitSelected:sizeUnit]. + pixelPointSwitch helpKey:#pixelPointSwitch. +! + enabled:aBoolean familyList enabled:aBoolean. faceList enabled:aBoolean. @@ -611,118 +738,101 @@ initialize "sigh: hand-crafted box creation; TODO: rewrite using UI painter" - |familyLabel faceLabel sizeLabel panel panel2 fontBrowserView fp v1 v2 v3 - mm fH l box1 box2 box3 box4 showFontNameLabel xftCheckBox vPanel changeInAllCheckBox + |everythingExceptOkCancelButtonsPanel fontBrowserView mm l encodingAndXFTOnlyBox box3 box4 xftCheckBox + previewAndFontSelectionPanel filterBox changeInAllCheckBox updateHeight xftFlushFontList decorativeCheckBox nonDecorativeCheckBox monospacedCheckBox nonMonospacedCheckBox| super initialize. - showFontNameLabel := device isWindowsPlatform not. + label := resources string:'Font dialog'. sizeUnit := #pt. - mm := ViewSpacing. self addAbortAndOkButtons. - panel := View origin:0.0@0.0 corner:1.0@1.0 in:self. - panel bottomInset:(buttonPanel preferredHeight - + (mm) - "+ (showFontNameLabel ifTrue:24 ifFalse:0)" ). - - vPanel := VariableVerticalPanel in:panel. - vPanel origin:0.0@0.0 corner:1.0@1.0. - - previewField := HVScrollableView for:TextView in:vPanel. - fontBrowserView := View in:vPanel. - fp := View in:fontBrowserView. - fp layout:(0.0@0.0 corner:1.0@1.0) asFractionalLayout. - fp layout bottomOffset:-150. - - label := resources string:'Font dialog'. + everythingExceptOkCancelButtonsPanel := View origin:0.0@0.0 corner:1.0@1.0 in:self. + everythingExceptOkCancelButtonsPanel bottomInset:(buttonPanel preferredHeight + (mm)). - panel2 := VerticalPanelView in:fontBrowserView. - panel2 layout:(0.0@1.0 corner:1.0@1.0) asFractionalLayout. - panel2 layout topOffset:-150. - - panel2 horizontalLayout:#fit. - panel2 verticalLayout:#top. - - box1 := HorizontalPanelView in:panel2. - box1 height:25. - box1 horizontalLayout:#rightFit. - - showFontNameLabel ifTrue:[ - nameLabel := Label label:'' in:box1. - "/ nameLabel origin:0.0@1.0 corner:1.0@1.0. - "/ nameLabel bottomInset:(buttonPanel preferredHeight + (mm*2)). - "/ nameLabel topInset:(buttonPanel preferredHeight + (mm*2) + 24) negated; horizontalInset:mm. - nameLabel level:0; adjust:#left. - ]. + previewAndFontSelectionPanel := VariableVerticalPanel in:everythingExceptOkCancelButtonsPanel. + previewAndFontSelectionPanel layout:(LayoutFrame + leftFraction:0 offset:0 + rightFraction:1 offset:0 + topFraction:0 offset:0 + bottomFraction:1 offset:-160). + + filterBox := VerticalPanelView in:everythingExceptOkCancelButtonsPanel. + filterBox layout:(LayoutFrame + leftFraction:0 offset:0 + rightFraction:1 offset:0 + topFraction:1 offset:-150 + bottomFraction:1 offset:0). + filterBox horizontalLayout:#fit verticalLayout:#top. - pixelPointSwitch := ComboListView in:box1. - "/ encodingFilter font:l font. - pixelPointSwitch level:-1. - pixelPointSwitch contents:'pt'. - pixelPointSwitch list:#(#pt #px). - pixelPointSwitch action:[:sizeUnit | self sizeUnitSelected:sizeUnit]. - "/ box2 topInset:(pixelPointSwitch preferredHeight negated-4); horizontalInset:mm. - "/ encodingFilter editor font:l font. + previewField := HVScrollableView for:TextView in:previewAndFontSelectionPanel. + previewField menuHolder:self previewMenu. + previewField autoHideScrollBars:true. + previewField := previewField scrolledView. +"/ previewField inset:mm. +"/ self is3D ifTrue:[ +"/ previewField level:-1. +"/ ] ifFalse:[ +"/ previewField borderWidth:1. +"/ ]. - panel2 add:(View new height:8). - - "/ self showEncodingFilter ifFalse:[ - "/ encodingFilter beInvisible - "/ ]. + fontBrowserView := View in:previewAndFontSelectionPanel. + self createFontSelectionBrowserIn:fontBrowserView. - box2 := HorizontalPanelView in:panel2. - box2 height:25. - box2 horizontalLayout:#leftSpace. + encodingAndXFTOnlyBox := HorizontalPanelView in:filterBox. + encodingAndXFTOnlyBox height:32. + encodingAndXFTOnlyBox horizontalLayout:#leftSpace. - l := Label label:(resources string:'Encoding:') in:box2. - l borderWidth:0. - l adjust:#left. + l := Label label:(resources string:'Encoding:') in:encodingAndXFTOnlyBox. + l borderWidth:0. + l adjust:#left. + l helpKey:#fontEncodingFilter. - encodingFilterField := ComboBoxView in:box2. - "/ encodingFilterField font:l font. - encodingFilterField level:-1. - encodingFilterField contents:'*'. - encodingFilterField list:(self listOfEncodingsInFilterCombo). - encodingFilterField action:[:pattern | self encodingFilterSelected:pattern]. - encodingFilterField immediateAccept:true. - "/ encodingFilterField editor font:l font. + encodingFilterField := ComboBoxView in:encodingAndXFTOnlyBox. + encodingFilterField level:-1. + encodingFilterField contents:'*'. + encodingFilterField list:(self listOfEncodingsInFilterCombo). + encodingFilterField action:[:pattern | self encodingFilterSelected:pattern]. + encodingFilterField immediateAccept:true. + encodingFilterField helpKey:#fontEncodingFilter. - self showEncodingFilter ifFalse:[ - encodingFilterField beInvisible - ]. - + "/ encodingFilterField acceptOnReturn:true. "/ encodingFilterField acceptOnTab:true. "/ encodingFilterField acceptOnLeave:true. "/ encodingFilterField acceptOnLostFocus:true. "/ encodingFilterField acceptOnPointerLeave:true. - encodingLabel := Label label:' ' in:box2. - - encodingLabel level:0; adjust:#left. - encodingLabel adjust:#right. - self showEncodingFilter ifFalse:[ - encodingLabel beInvisible - ]. + encodingLabel := Label label:' ' in:encodingAndXFTOnlyBox. + encodingLabel level:0; adjust:#left. + encodingLabel adjust:#right. + encodingLabel helpKey:#fontsEncoding. + + self showEncodingFilter ifFalse:[ + encodingFilterField beInvisible. + encodingLabel beInvisible + ]. - device supportsXftFonts ifTrue:[ - self xftFontsOnlyHolder value: (UserPreferences current useXftFontsOnly). - xftCheckBox := CheckBox label:(resources string:'XFT Fonts Only') in:box2. - xftCheckBox model:xftFontsOnlyHolder. - xftFontsOnlyHolder onChangeEvaluate:[ self xftFontsOnlyChanged ]. + device supportsXftFonts ifTrue:[ + self xftFontsOnlyHolder value: (UserPreferences current useXftFontsOnly). + xftCheckBox := CheckBox label:(resources string:'XFT Fonts Only') in:encodingAndXFTOnlyBox. + xftCheckBox model:xftFontsOnlyHolder. + xftCheckBox helpKey:#xftFontsOnlyHolder. + xftFontsOnlyHolder onChangeEvaluate:[ self xftFontsOnlyChanged ]. - xftFlushFontList := Button label:(resources string:'Flush Cached List of Fonts') in:box2. - xftFlushFontList action:[ self flushListOfAvailableFonts]. - ]. + xftFlushFontList := Button label:(resources string:'Flush Cached List of Fonts') in:encodingAndXFTOnlyBox. + xftFlushFontList action:[ self flushListOfAvailableFonts]. + xftFlushFontList helpKey:#flushCachedListOfFonts. + + ]. false ifTrue:[ decorativeCheckBox := CheckBox label:(resources string:'Decorative Fonts Only'). box3 := View new height:(decorativeCheckBox preferredHeight). - panel2 add:box3. + filterBox add:box3. decorativeCheckBox origin:0.0@0.0 corner:0.5@1.0. box3 add:decorativeCheckBox. @@ -736,7 +846,7 @@ monospacedCheckBox := CheckBox label:(resources string:'Monospaced Fonts Only'). box4 := View new height:(monospacedCheckBox preferredHeight). - panel2 add:box4. + filterBox add:box4. monospacedCheckBox origin:0.0@0.0 corner:0.5@1.0. box4 add:monospacedCheckBox. @@ -749,70 +859,31 @@ self nonMonospacedOnlyHolder onChangeEvaluate:[ self filterChanged ]. ]. - changeInAllCheckBox := CheckBox label:(resources string:'Change all Textviews and Default for New Views') in:panel2. + changeInAllCheckBox := CheckBox label:(resources string:'Change all Textviews and Default for New Views') in:filterBox. changeInAllCheckBox model:self changeFontInAllViewsHolder. changeInAllCheckBox visibilityChannel:self withChangeFontInAllViewsCheckBoxVisibleHolder. - - "/ previewField origin:0.0@0.0 corner:1.0@0.4. - previewField autoHideScrollBars:true. - previewField := previewField scrolledView. - previewField inset:mm. - - self is3D ifTrue:[ - previewField level:-1. - ] ifFalse:[ - previewField borderWidth:1. - ]. - - v1 := View origin:0.0@0.0 corner:0.4@1.0 in:fp. + changeInAllCheckBox helpKey:#changeInAllTextViews. - familyLabel := Label label:(resources string:'Family') in:v1. - familyLabel borderWidth:0. - familyLabel origin:(0.0 @ 0.0) extent:(1.0 @ nil). - fH := familyLabel preferredHeight. - - familyList := ScrollableView for:SelectionInListView in:v1. - familyList origin:(0.0 @ 0.0) corner:(1.0 @ 1.0). - familyList inset:mm. - familyList topInset:fH. - - familyList := familyList scrolledView. - self makeTabable:familyList. - - v2 := View origin:0.4@0.0 corner:0.8@1.0 in:fp. + updateHeight := + [ + self sensor + pushUserEvent:#value + for:[ + |filterBoxHeight| - faceLabel := Label label:(resources string:'Typeface') in:v2. - faceLabel borderWidth:0. - faceLabel origin:(0.0 @ 0.0) extent:(1.0 @ nil). - - faceList := ScrollableView for:SelectionInListView in:v2. - faceList origin:(0.0 @ 0.0) corner:(1.0 @ 1.0). - faceList inset:mm. - faceList topInset:fH. - faceList := faceList scrolledView. - self makeTabable:faceList. - - v3 := View origin:0.8@0.0 corner:1.0@1.0 in:fp. + filterBoxHeight := filterBox preferredHeight. + previewAndFontSelectionPanel layout bottomOffset:(filterBoxHeight negated - 10). + filterBox layout topOffset:(filterBoxHeight negated). - sizeLabelHolder := (resources string:'Size') asValue. - sizeLabel := Label in:v3. - sizeLabel labelChannel:sizeLabelHolder. - sizeLabel borderWidth:0. - sizeLabel origin:(0.0 @ 0.0)extent:(1.0 @ nil). - - sizeList := ScrollableView for:SelectionInListView in:v3. - sizeList origin:(0.0 @ 0.0) corner:(1.0 @ 1.0). - sizeList inset:mm. - sizeList topInset:fH. - sizeList := sizeList scrolledView. - self makeTabable:sizeList. - - familyList action:[:lineNr | self familySelected:(familyList selectionValue)]. - faceList action:[:lineNr | self faceSelected:(faceList selectionValue)]. - sizeList action:[:lineNr | self sizeSelected:(sizeList selectionValue)]. - - previewField menuHolder:self previewMenu. - + previewAndFontSelectionPanel layoutChanged. + filterBox layoutChanged. + ] + ]. + +"/ updateHeight value. + self withChangeFontInAllViewsCheckBoxVisibleHolder + onChangeEvaluate:updateHeight. + " FontPanel new showAtPointer FontPanel fontFromUser @@ -929,6 +1000,10 @@ "Modified: 29.4.1996 / 09:41:47 / cg" ! +flyByHelpSpec + ^ self class flyByHelpSpec +! + fontForPreview "get the preview font" @@ -1160,8 +1235,6 @@ |font deviceFont enc fontName| - "/ self clearPreview. - " show a wait cursor: for some fonts (kanji etc) the X-server needs quite some time to load the font @@ -1187,6 +1260,7 @@ currentEncoding := nil. fontName := nil. ]. + selectedFont := font. nameLabel notNil ifTrue:[nameLabel label:fontName]. ] @@ -1194,10 +1268,12 @@ ! showSelectedFont - |fam face faceAndStyle style sz| + |fam face faceAndStyle style sz font| - fam := selectedFont family. - currentEncoding := selectedFont encoding. + font := (selectedFont ? initialFont). + + fam := font family. + currentEncoding := font encoding. fontsPerFamily isNil ifTrue:[ self updateFamilyList @@ -1206,13 +1282,13 @@ self familySelected:fam showPreview:false. fam notNil ifTrue:[ - face := selectedFont face. - (face notNil and:[(style := selectedFont style) notNil]) ifTrue:[ + face := font face. + (face notNil and:[(style := font style) notNil]) ifTrue:[ faceAndStyle := face , '-' , style. ]. self faceSelected:faceAndStyle showPreview:false. faceAndStyle notNil ifTrue:[ - sz := sizeUnit == #px ifTrue:[selectedFont pixelSize asString,'px'] ifFalse:[selectedFont size asString]. + sz := sizeUnit == #px ifTrue:[font pixelSize asString,'px'] ifFalse:[font size asString]. pixelPointSwitch contents:sizeUnit. self sizeSelected:sz showPreview:false. ] @@ -1319,6 +1395,12 @@ "Modified: / 11-10-2006 / 21:28:59 / cg" ! +osIsUNIXAndXfdIsAvailable + ^ self osIsUNIX and:[ (OperatingSystem canExecuteCommand:'xfd')] + + "Modified: / 11-10-2006 / 21:28:59 / cg" +! + preferredExtent "return the boxes preferredExtent" @@ -1336,6 +1418,12 @@ ^ self class defaultExtent. "Modified: 19.7.1996 / 20:44:08 / cg" +! + +xfdCanBeUsed + ^ self osIsUNIXAndXfdIsAvailable + and:[ selectedFont notNil + and:[ selectedFont isXftFont not ]] ! ! !FontPanel methodsFor:'startup'! @@ -1350,6 +1438,7 @@ filter:nil encoding:nil enabled:true + withChangeAllOption:false " FontPanel fontFromUser @@ -1372,7 +1461,8 @@ filter:nil encoding:nil enabled:true - + withChangeAllOption:false + " FontPanel fontFromUserInitial:(Font family:'courier' size:12) FontPanel fontFromUserInitial:MenuPanel defaultFont @@ -1389,7 +1479,8 @@ filter:nil encoding:nil enabled:true - + withChangeAllOption:false + " FontPanel fontFromUserInitial:(Font family:'courier' size:12) title:'select some font' " @@ -1408,7 +1499,8 @@ filter:aFilterBlock encoding:nil enabled:true - + withChangeAllOption:false + " FontPanel fontFromUserInitial:(Font family:'courier' size:12) title:'select some font' " @@ -1427,7 +1519,8 @@ filter:aFilterBlock encoding:encoding enabled:true - + withChangeAllOption:false + " FontPanel fontFromUserInitial:(Font family:'courier' size:12) title:'select some font' " @@ -1437,7 +1530,27 @@ "open this fontPanel with title and font-filter and return the selected font, or nil if abort is pressed" - |selectedFont| + ^ self + fontFromUserInitial:initialFont title:someTitle filter:aFilterBlock encoding:encoding enabled:enabled + withChangeAllOption:false + + " + FontPanel fontFromUserInitial:(Font family:'courier' size:12) title:'select some font'. + + FontPanel new + withChangeFontInViewsAllCheckBox:true; + fontFromUserInitial:(Font family:'courier' size:12) title:'select some font' + " + + "Created: 27.2.1996 / 00:59:46 / cg" + "Modified: 10.4.1997 / 09:53:03 / cg" +! + +fontFromUserInitial:initialFont title:someTitle filter:aFilterBlock encoding:encoding enabled:enabled withChangeAllOption:changeAllBoolean + "open this fontPanel with title and font-filter + and return the selected font, or nil if abort is pressed" + + |selectedFont initialFontsEncoding| self encodingFilter:aFilterBlock. someTitle notNil ifTrue:[ @@ -1451,14 +1564,20 @@ self encoding:encoding. ] ifFalse:[ initialFont notNil ifTrue:[ - ((initialFont encoding = #'iso8859-1') - or:[ (initialFont encoding = #'iso10646-1') ]) ifFalse:[ - self encoding:initialFont encoding + initialFontsEncoding := initialFont encoding. + ((initialFontsEncoding = #'iso8859-1') + or:[ (initialFontsEncoding = #'iso10646-1') ]) ifFalse:[ + self encoding:initialFontsEncoding ]. ]. ]. self enabled:enabled. + + self withChangeFontInAllViewsCheckBoxVisibleHolder + setValue:(enabled and:[changeAllBoolean]); + changed. self showAtPointer. + self destroy. ^ selectedFont @@ -1733,8 +1852,15 @@ ! previewShowCharacterSetUsingXFD + |fullName| + + (fullName := selectedFont fullName) isNil ifTrue:[ + self warn:('Sorry could not figure out the X-font (aka file) name of: ', selectedFont printString). + ^ self. + ]. + [ - OperatingSystem executeCommand:'xfd -fn ' , previewField font fullName. + OperatingSystem executeCommand:'xfd -fn ' , fullName. ] fork. ! diff -r f729645cc31a -r 50c1bb3e9f98 GenericToolbarIconLibrary.st --- a/GenericToolbarIconLibrary.st Fri Nov 18 21:10:35 2016 +0000 +++ b/GenericToolbarIconLibrary.st Fri Nov 18 21:15:56 2016 +0000 @@ -540,6 +540,60 @@ ] ! +warn16x16Icon + "This resource specification was automatically generated + by the ImageEditor of ST/X." + + "Do not manually edit this!! If it is corrupted, + the ImageEditor may not be able to read the specification." + + " + self warn16x16Icon inspect + ImageEditor openOnClass:self andSelector:#warn16x16Icon + Icon flushCachedIcons + " + + + + ^Icon + constantNamed:'GenericToolbarIconLibrary class warn16x16Icon' + ifAbsentPut:[(Depth4Image width:16 height:16) bits:(ByteArray fromPackedString:' +@@@@@B@@@@@@@@@BH@@@@@@@@@H"@@@@@@@@H"H@@@@@@@@"D"@@@@@@@"DRH@@@@@@BH@D"@@@@@BHP@RH@@@@@H!!@AD"@@@@H!!D@DRH@@@@"DP@QD"@@@" +DQDQDRH@@BHQD@DQD"@BHQDP@QDRH@H"H"H"H"H"H"H"H"H"H"Hb') + colorMapFromArray:#[0 0 0 255 255 255 255 0 0] + mask:((ImageMask width:16 height:16) bits:(ByteArray fromPackedString:'@H@A @G@@<@C8@_ A?@O<@?8G? _?C? + + ^Icon + constantNamed:'GenericToolbarIconLibrary class warn32x32Icon' + ifAbsentPut:[(Depth4Image width:32 height:32) bits:(ByteArray fromPackedString:' +@@@@@@@@@@H @@@@@@@@@@@@@@@@@@@BH@@@@@@@@@@@@@@@@@@@H"H@@@@@@@@@@@@@@@@@@BH"@@@@@@@@@@@@@@@@@@H"H"@@@@@@@@@@@@@@@@@BH"H +@@@@@@@@@@@@@@@@H"H"H @@@@@@@@@@@@@@@BH"H"H@@@@@@@@@@@@@@@H"HQH"H@@@@@@@@@@@@@@BH"DRH"@@@@@@@@@@@@@@H"HQDRH"@@@@@@@@@@@@ +@BH"D@D"H @@@@@@@@@@@@H"HP@@D"H @@@@@@@@@@@BH"D@@AH"H@@@@@@@@@@@H"HQ@@@QH"H@@@@@@@@@@BH"DP@@DRH"@@@@@@@@@@H"HQD@@ADRH"@@ +@@@@@@@BH"DQ@@@QD"H @@@@@@@@H"HQDP@@DQD"H @@@@@@@BH"DQD@@ADQH"H@@@@@@@H"HQDQ@@@QDQH"H@@@@@@BH"DQDQ@ADQDRH"@@@@@@H"HQDQDQ +DQDQDRH"@@@@@BH"DQDQD@DQDQD"H @@@@H"HQDQDP@@DQDQD"H @@@BH"DQDQD@@ADQDQH"H@@@H"HQDQDQD@DQDQDQH"H@@BH"DQDQDQDQDQDQDRH"@@H" +H"H"H"H"H"H"H"H"H"@BH"H"H"H"H"H"H"H"H"H H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"Hb') + colorMapFromArray:#[0 0 0 255 255 255 255 0 0] + mask:((ImageMask width:32 height:32) bits:(ByteArray fromPackedString:' +@@F@@@@A @@@@<@@@@O@@@@G8@@@A>@@@@?0@@@O<@@@G? @@A?8@@@??@@@O?0@@G?>@@A?? @@??<@@O??@@G??8@A??>@@???0@O??<@G??? A???8@?? +??@O???0G???>A???? ???????????????????/????;????>?????/????;????>?????/????9????<_????C?? ?? ????8G???<@???>@G???@@??? @G??0@@_?0@@A?0@@@@@@@b') ; yourself); yourself] -! - -warn32x32Icon - "This resource specification was automatically generated - by the ImageEditor of ST/X." - - "Do not manually edit this!! If it is corrupted, - the ImageEditor may not be able to read the specification." - - " - self warn32x32Icon inspect - ImageEditor openOnClass:self andSelector:#warn32x32Icon - Icon flushCachedIcons - " - - - - ^Icon - constantNamed:#'GenericToolbarIconLibrary class warn32x32Icon' - ifAbsentPut:[(Depth8Image new) width: 32; height: 32; photometric:(#palette); bitsPerSample:(#(8)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' -@@@@@@@@@@@@@@@@@@@@@PD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PDA@P@@@@@@@@@@ -@@@@@@@@@@@@@@@@@@@@@@@@@@@A@PDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PDA@PDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@PDA@PD@ -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PDA@PDA@PD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@PDA@PDA@P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PDA -@PHB@PDA@P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@PDA@ HA@PDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PDA@PHB@ HA@PDA@@@@@@@@@@@@@@@@@@@@@@@@ -@@@A@PDA@ LC@ DA@PD@@@@@@@@@@@@@@@@@@@@@@@@@@PDA@PHC@0LC@ DA@PD@@@@@@@@@@@@@@@@@@@@@@@@A@PDA@ LC@0LB@PDA@P@@@@@@@@@@@@@@ -@@@@@@@@@PDA@PHB@0LC@0HB@PDA@P@@@@@@@@@@@@@@@@@@@@@A@PDA@ HC@0LC@ HA@PDA@@@@@@@@@@@@@@@@@@@@@PDA@PHB@ LC@0LB@ HA@PDA@@@@ -@@@@@@@@@@@@@@@A@PDA@ HB@0LC@0HB@ DA@PD@@@@@@@@@@@@@@@@@@PDA@PHB@ HC@0LC@ HB@ DA@PD@@@@@@@@@@@@@@@@A@PDA@ HB@ LC@0LB@ HB -@PDA@P@@@@@@@@@@@@@@@PDA@PHB@ HB@0LC@0HB@ HB@PDA@P@@@@@@@@@@@@@A@PDA@ HB@ HB@0LB@ HB@ HA@PDA@@@@@@@@@@@@@PDA@PHB@ HB@ HB -@ HB@ HB@ HA@PDA@@@@@@@@@@@A@PDA@ HB@ HB@ LC@ HB@ HB@ DA@PD@@@@@@@@@@PDA@PHB@ HB@ HC@0LC@ HB@ HB@ DA@PD@@@@@@@@A@PDA@ HB -@ HB@ LC@0LB@ HB@ HB@PDA@P@@@@@@@PDA@PHB@ HB@ HB@ LC@ HB@ HB@ HB@PDA@P@@@@@A@PDA@ HB@ HB@ HB@ HB@ HB@ HB@ HA@PDA@@@@@PDA -@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@@@A@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PD@@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA -@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@P@a') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255 0 0 0]; mask:((ImageMask new) width: 32; height: 32; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' -@@F@@@@A @@@@<@@@@O@@@@G8@@@A>@@@@?0@@@O<@@@G? @@A?8@@@??@@@O?0@@G?>@@A?? @@??<@@O??@@G??8@A??>@@???0@O??<@G??? A???8@?? -??@O???0G???>A???? ?????????????? + )> |n| (key == #PreviousPage) ifTrue: [^ self pageUp]. @@ -2386,7 +2386,6 @@ n := 1 + (self sensor compressKeyPressEventsWithKey:#ScrollDown). ^ self scrollDown:n ]. - (key == #ZoomIn or:[key == #ZoomOut]) ifTrue:[ self keyboardZoom:(key == #ZoomIn) ]. super keyPress:key x:x y:y ! @@ -2397,6 +2396,18 @@ self fontLargerOrSmaller:larger ! +keyboardZoom:larger inAllViews:inAllViews + "CTRL+/- zoom action" + + inAllViews ifTrue:[ + SimpleView allSubInstancesDo:[:each | + each keyboardZoom:larger + ]. + ] ifFalse:[ + self keyboardZoom:larger + ]. +! + mapped self stopAutoScroll. super mapped @@ -2719,8 +2730,7 @@ for fix fonts, this is easy ... " (fontIsFixedWidth - and:[lineString isNil - or:[lineString hasChangeOfEmphasis not]]) ifTrue:[ + and:[lineString isNil or:[lineString hasChangeOfEmphasis not]]) ifTrue:[ ^ (xRel // fontWidth) + 1 ]. @@ -2937,6 +2947,11 @@ "/ fontAscent := font maxAscent "ascent". "/ maxAscent. -- see SelectionInListViews selection in motif style "/ fontAscent := (font maxAscent + font ascent) // 2. "/ maxAscent. -- see SelectionInListViews selection in motif style fontWidth := newDeviceFont width. + fontWidth == 0 ifTrue:[ + "/ should not happen, but some bad fonts seem to have it + ('ListView [info]: font says, it has zero width: ', newDeviceFont printString) infoPrintCR. + fontWidth := 1. + ]. fontIsFixedWidth := newDeviceFont isFixedWidth. "Modified: 3.7.1997 / 12:24:25 / cg" @@ -3543,7 +3558,7 @@ "/ nFullLinesShown ~~ nLinesShown ifTrue:[ "/ numLines := numLines + 1 "/ ]. - ^ numLines * fontHeight "dont take font height here - think of LabelAndIcons" + ^ numLines * fontHeight "don't take font height here - think of LabelAndIcons" "/ + textStartTop - (lineSpacing // 2) + (gc deviceFont descent) @@ -4046,7 +4061,7 @@ xVis := xWant - viewOrigin x. " - dont scroll, if already visible + don't scroll, if already visible (but scroll, if not in inner 20%..80% of visible area) " "/ ((xVis >= (width // 5)) and:[xVis <= (width * 4 // 5)]) ifTrue:[ diff -r f729645cc31a -r 50c1bb3e9f98 MacOSX3ToolbarIconLibrary.st --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MacOSX3ToolbarIconLibrary.st Fri Nov 18 21:15:56 2016 +0000 @@ -0,0 +1,273 @@ +"{ Package: 'stx:libwidg' }" + +"{ NameSpace: Smalltalk }" + +MacOSX2ToolbarIconLibrary subclass:#MacOSX3ToolbarIconLibrary + instanceVariableNames:'' + classVariableNames:'' + poolDictionaries:'' + category:'Interface-Smalltalk' +! + + +!MacOSX3ToolbarIconLibrary class methodsFor:'image specs'! + +editOverlay32x32Icon + "This resource specification was automatically generated + by the ImageEditor of ST/X." + + "Do not manually edit this!! If it is corrupted, + the ImageEditor may not be able to read the specification." + + " + self editOverlay32x32Icon inspect + ImageEditor openOnClass:self andSelector:#editOverlay32x32Icon + Icon flushCachedIcons + " + + + + ^Icon + constantNamed:'MacOSX3ToolbarIconLibrary class editOverlay32x32Icon' + ifAbsentPut:[(Depth8Image width:32 height:32) bits:(ByteArray fromPackedString:' +B@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ H +B@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ H +B@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ H +B@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HTR4HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HBC]]U58HB@ HB@ HB@ H +B@ HB@ HB@ HB@ HB@ HB@!!XA3X;QPHHB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HP!!P*E!!H(U@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HBBQHS1EFBPPHB@ H +B@ HB@ HB@ HB@ HB@ HB@ HB@ KO"\)D1@@@@? @@@_0@@@O8@@@G<@@@C>@@@A?@@@@?0@@@_0@@@O8@@@G<@@@C +>@@@A?@@@@? @@@O0@@@G8@@@A<@@@@<@@@@L@@@@@@@@@@@@@@b'); yourself); yourself] +! + +help32x32Icon + "This resource specification was automatically generated + by the ImageEditor of ST/X." + + "Do not manually edit this!! If it is corrupted, + the ImageEditor may not be able to read the specification." + + " + self help32x32Icon inspect + ImageEditor openOnClass:self andSelector:#help32x32Icon + Icon flushCachedIcons + " + + + + ^Icon + constantNamed:'MacOSX3ToolbarIconLibrary class help32x32Icon' + ifAbsentPut:[(Depth8Image width:32 height:32) bits:(ByteArray fromPackedString:' +HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ N4H9K"@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@;LC=UC29NHB@ HB@ HB@ HB@ +HB@ HB@ HB@ HB@ HC,0@UTGA3$YHB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ N3@AUP\GUP$-HB@ HB@ HB@ HB@ HB@ HB@ HB@ HC0;L@EUA0]UO3$*G#8> +EAPPMDDPHB@ HB@ HB@;N38>O#,0@UTGA5T?L@1KIT CBR=XMST5MQD"HB@ TRT0F$IBN3@AUP\GUPD0BD-TJ3H0UP\GA0]UUS!!QHBAYL3=EQSX;L@EUA0]U +@SADLUP+L _????''????9????>_????''????9????>_????''????9????>_????''????9????>_????''?? +??9????>_????''????9????>_????''????8@@<@@@@@@@@@@@@@b'); yourself); yourself] +! + +osxTerminalIcon + "This resource specification was automatically generated + by the ImageEditor of ST/X." + + "Do not manually edit this!! If it is corrupted, + the ImageEditor may not be able to read the specification." + + " + self osxTerminalIcon inspect + ImageEditor openOnClass:self andSelector:#osxTerminalIcon + Icon flushCachedIcons + " + + + + ^Icon + constantNamed:'MacOSX3ToolbarIconLibrary class osxTerminalIcon' + ifAbsentPut:[(Depth8Image width:32 height:32) bits:(ByteArray fromPackedString:' +H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H5.5YZV%)ZTUEU-HRD!!HRD!!HRD!!HRD!!HRD!![!!I@#H2N?XPR4-ELB["X&YKN3,;N3,;N3,;N3,;N3 +,;L&BU\#H6U(%R?BKJMX#7410A XFA XFA XFA XFA XFA!!5W2L#EF@.L!!A0F"]CB1I7W#,;N3,;N3,;N3,;N3-^"X^AH2NYUXY9CB@ AZ^M\UKD1LSD1LSD +1LSD1LSD1K9G/@@#H;>CKR (JB""1,YNS$9NS$9NS$9NS$9NS$9NIT&7/2L# I CBC4HB@4MCP4MCP4MCP4MCP4MCP4MCP4H@9"@H2L@_#!!DR.Q?A%9^W +%9^W%9^W%9^W%9^W%4P8_ @#H5^]\2(),J,\) (FA XFA XFA XFA XFA XFIGN]U2L#*U0W[1=?,D.9(D1LSD1LSD1LSD1LSD1LSD1:E52)H2M-_$QL(A$9 +,I3IJ2,+J2,+J2,+J2,+J2,+J:QD_&4#H9M>TZ(FZ+AJTCB-+Z6-+Z6-+Z6-+Z6-+Z6-UEE>$2L#AHP?G1<_G1<_G1<_G1<_G1<_G12I)08H#H7SC%H Q"AE"X&I"X&I"X&I"X&I"X&I"X&I""ISC]BL#''#]8C*>/+:>/+:>/+:>/+:>/+:>/+:>/+:[,X*L#H2L#H2L#H2L#H2L#H2L#H2L#H2L"+F[S2L#2CX5$V]''Y6]''Y6]''Y6]'' +Y6]''Y6]''Y6]''Y6^QMS[HH2MBVZ:6.K"8.K"8.K"8.K"8.K"8.K"8.K"8.KZ.VTH#H4U2O6X]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]Y#=2QRL#+HUFGYZV%)ZV +%)ZV%)ZV%)ZV%)ZV%)ZV%)X]Q(V,H2N,L8)''PDA@PDA@PDA@PDA@PDA@PDA@PDA@PF^JL:0#H62XZ8U2\''I2\''I2\''I2\''I2\''I2\''I2\''I2!!V.X[BL#MH:= +/[6=/[6=/[6=/[6=/[6=/[6=/[6=/[6=/X84H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L# +H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H2L#H0@a') + colorMapFromArray:#[142 144 147 239 239 239 250 254 255 42 42 44 252 255 255 196 199 208 73 73 76 136 138 142 51 51 53 213 214 216 72 72 76 80 133 0 193 202 208 52 52 54 90 90 92 85 87 88 215 233 244 88 88 91 227 224 236 129 132 135 142 146 150 145 147 152 97 97 100 62 62 64 204 206 208 60 60 62 238 134 0 82 83 85 61 61 64 112 113 116 77 78 80 68 68 70 193 200 211 83 84 86 84 85 87 0 0 0 71 71 74 235 235 235 255 254 255 224 226 247 235 237 237 63 63 67 69 69 72 79 79 81 253 159 57 232 234 234 238 7 0 232 111 96 78 78 82 241 239 249 237 6 0 236 235 235 113 115 118 97 98 101 239 238 238 240 239 239 55 55 57 130 130 132 81 80 82 172 173 177 59 59 61 51 51 54 78 79 81 102 103 107 108 109 112 84 83 85 126 128 131 80 134 0 66 66 68 125 127 130 104 105 109 196 197 199 144 147 150 232 232 232 140 140 143 136 138 139 76 76 78 131 133 136 236 236 236 128 130 134 70 70 74 68 68 71 197 198 201 249 255 255 79 79 82 237 243 245 91 92 94 141 143 146 239 241 255 239 238 237 82 82 84 145 147 150 241 240 240 102 103 105 172 173 176 144 146 150 222 235 239 212 218 220 89 89 92 73 72 75 254 252 255 144 148 151 110 111 114 107 108 111 240 253 255 73 74 76 142 142 144 236 236 235 124 126 129 138 141 144 253 253 255 73 73 74 237 135 0 198 198 204 238 238 237 59 59 62 134 136 139 243 244 245 132 134 137 171 171 176 80 80 82 192 207 211 74 74 76 92 93 95 84 84 86 148 184 57 240 240 240 138 139 140 141 143 147 143 145 148 135 137 141 230 231 230 145 147 151 238 237 237 192 206 210 226 225 227 87 87 90 170 171 175 102 103 106 86 86 89 104 105 108 202 200 212 123 125 128 111 172 0 145 146 149 105 106 109 60 60 63 137 140 143 77 76 80 255 48 19 113 114 117 69 69 71 237 237 236 142 145 148 64 64 66 239 239 238 147 147 149 241 241 240 133 135 138 88 89 92 73 73 75 82 83 86 236 236 237 233 177 117 77 77 79 144 147 151 69 69 73 201 200 213 94 95 97 140 142 145 78 78 81 139 139 139 123 126 129 81 81 84 100 101 103 92 92 94 255 255 255 93 94 98 99 100 103 253 253 254 250 255 255 145 149 152 108 109 111 230 230 229 110 111 113 65 65 67 145 145 146 95 95 98 239 240 240 121 123 127 197 198 200 141 144 147 203 205 208 69 69 70 230 247 255 240 240 239 198 199 201 71 71 73 237 237 238 86 87 89 127 129 133 75 75 77] + mask:((ImageMask width:32 height:32) bits:(ByteArray fromPackedString:' +@@@@@C????1????>_????''????9????>_????''????9????>_????''????9????>_????''????9????>_????''????9????>_????''????9????>_????''?? +??9????>_????''????9????>_????''????8@@@@@@@@@@@@@@@@b'); yourself); yourself] +! + +stxHelp32x32Icon + "This resource specification was automatically generated + by the ImageEditor of ST/X." + + "Do not manually edit this!! If it is corrupted, + the ImageEditor may not be able to read the specification." + + " + self stxHelp32x32Icon inspect + ImageEditor openOnClass:self andSelector:#stxHelp32x32Icon + Icon flushCachedIcons + " + + + + ^Icon + constantNamed:'MacOSX3ToolbarIconLibrary class stxHelp32x32Icon' + ifAbsentPut:[(Depth8Image width:32 height:32) bits:(ByteArray fromPackedString:' +&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"XH"VS#)"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I!!DKEH''HV5=&I"X&I"X&I"X&I"X +&I"X&I"X&I"X&I"X&BH:ZU(/K0(U&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"XY3))@BDVI" +%VM2N7&R&I"X&I"X&I MQH^GX$P:ZP@/%0BV\4=$^(UQD !!]HI>_"#&B&I"XM#T,_E9^QC))@B>W@F$,FFPWK2]HKH2^]I"XIFBVUR8=QC))@B>W@F$,VI@WK8!!HKH1 II"XI@$,UR8=QC))@B>W@F$,VI@HK2]HKEJCII"X@69W@F$,VI@HK21RP"RX&@M._ET.OTP:ZP@/%0A)KE"POE&HHP>WK2^HKIY.II"X@8=EUR8=QB1RV"WK2]HKIY8@9"X@7"KUR8=XZA\_6Q[!! .V +FI@_????''????9????>_????''????9????>_????''????9????>_????''????9????>_????''?? +??9????>_????''????9????>_????''????8@@<@@@@@@@@@@@@@b'); yourself); yourself] +! + +stxHelpIcon + ^ self stxHelp32x32Icon +! ! + +!MacOSX3ToolbarIconLibrary class methodsFor:'image specs - tools'! + +imageEditor32x32Icon + "This resource specification was automatically generated + by the ImageEditor of ST/X." + + "Do not manually edit this!! If it is corrupted, + the ImageEditor may not be able to read the specification." + + " + self imageEditor32x32Icon inspect + ImageEditor openOnClass:self andSelector:#imageEditor32x32Icon + Icon flushCachedIcons + " + + + + ^Icon + constantNamed:'MacOSX3ToolbarIconLibrary class imageEditor32x32Icon' + ifAbsentPut:[(Depth8Image width:32 height:32) bits:(ByteArray fromPackedString:' +))3HNS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$92I2&)*Z&N\SD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSDNZZ&)*Y-1JLWE1\WE1\WE1\WE1\WE1\WE1\WE1\W +(/+:>/+:>/+:>/+:>/+:>/+:>/+7D[ZZ&)*YF1D,MCP4MCP4MCP4MCP4MCP4M +CP4MCP4MR&)*[C1E!!WU5]W +U5]WU5]WU7=W271WJE]WU5]A"<\BNM2&)+?DW"P$ 8L$IBP$IBS["[Z.UV)+ 2P$$#QD4(RBPJZ&/)@H6*GQF2 +EPVV% +D2*Z&)*XY1H IBP$IBP$IVXU0%GFM*!!4Q,!!U]B (JF,PY)*Z&)!!''D"@$IBP$IBX;!!\IPOA*(]D[HUWY*Z&))21A&&)*Z&FLRHBP$IBX:N(GCX@K*'' +GQF2$=9,[F1,[C;DFJZ&)*XX1H I#"=I[;BEI:&Q*!!4Q2YALO#8>O#8>E,PX)*Z&)!!#DG''^[Z@G!!8B^)$Y^G5IOI8"I>E!!XVE!!Y>1A"&)*Z&*LP2OI PL8D% +_ZP1D-DG2ZV;YFC#8>O#8;WD*JZ&)*Z<1LSD1LSD1LSDQ0#LN"2%1LSD1LSD1LSD1LR<)*Z&)''X=*J"(*J"(*J#F3UYJ)Z"(*J"(*J"(*J"(OWZ&)*Z&)*Z& +)*Z&)*Z&J-[@7ZZ&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*[$ JZ&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z& +)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&)*Z&) @a') + colorMapFromArray:#[223 168 39 207 144 47 207 152 208 152 152 72 208 143 32 143 95 39 192 104 24 255 183 87 240 199 119 136 136 48 168 208 255 192 192 192 199 112 31 199 200 231 199 128 32 223 183 79 199 143 32 255 191 96 255 255 240 167 167 95 224 215 208 255 151 15 151 199 255 168 183 255 184 120 32 191 127 32 160 207 255 152 152 152 255 152 8 255 247 223 151 128 39 224 231 232 119 128 120 255 223 120 152 199 255 192 223 255 191 208 255 215 159 32 184 216 255 215 167 47 192 207 255 191 200 255 128 104 72 199 111 24 208 151 79 224 175 40 176 192 199 143 136 48 184 200 208 192 151 95 191 127 23 200 144 32 208 208 215 232 216 192 167 168 111 184 207 223 192 143 200 216 151 39 255 207 128 224 175 231 192 128 32 183 119 39 152 200 255 216 167 216 200 104 152 151 159 159 199 135 32 168 168 103 231 232 231 112 112 112 208 144 39 143 96 32 207 152 48 167 136 48 159 111 40 192 199 231 160 103 40 136 136 55 192 216 255 216 160 47 191 216 240 207 207 223 191 223 255 136 135 40 208 160 48 160 160 88 239 191 111 191 207 255 184 200 255 160 143 48 216 208 216 111 120 135 255 248 215 144 95 39 184 207 255 207 120 168 176 208 255 159 96 32 168 184 168 184 199 255 215 232 255 176 199 183 175 152 48 168 215 255 200 143 47 167 167 96 168 168 111 184 200 232 159 200 255 215 144 39 136 135 47 184 144 48 215 160 47 223 175 48 159 207 255 119 119 112 151 151 71 255 223 119 184 127 47 168 136 48 224 232 247 112 111 112 191 224 255 223 128 183 168 168 119 216 167 32 144 192 255 192 208 255 103 80 55 207 152 32 184 135 192 191 215 255 200 143 200 215 159 47 152 167 120 255 248 232 128 128 39 183 200 224 184 215 255 144 152 151 208 127 184 191 104 23 135 136 48 159 159 87 255 152 16 199 111 23 151 152 159 255 151 16 216 167 40 159 168 127 175 215 255 224 184 119 192 135 32 135 135 48 167 207 255 192 136 47 224 159 47 160 168 183 223 168 47 223 208 207 183 151 48 176 184 247 208 143 39 160 176 255 223 175 32 159 111 56 0 0 0 255 216 120 183 119 32 216 168 47 255 216 119 191 216 255 215 128 184 207 200 223 135 135 40 152 144 48 208 152 47 152 160 119 255 151 23 144 159 168 175 183 143 135 184 255 143 143 64 135 135 39 207 136 32 144 144 63 192 111 24 216 232 255 183 120 39 184 192 239 191 199 239 200 135 32 104 87 63 215 207 215 208 104 152 200 136 32 255 255 255 159 167 127 120 103 72 216 160 216 216 152 39 255 152 23 192 127 32 143 144 72 255 231 168 128 119 96 160 144 48 159 159 80 199 111 16 255 223 168 128 136 135 167 167 103 255 191 95 192 224 255 72 80 95 239 223 199 216 167 47 183 191 247 152 152 79 192 215 255 200 112 159 104 72 24 151 95 40 167 160 88 208 159 47 207 152 47 167 111 48 136 191 255 119 112 104] + mask:((Depth1Image width:32 height:32) bits:(ByteArray fromPackedString:' +_???>G????!!????8_???>G????!!????8_???>G????!!????8_???>G????1????>_????''????1????8_???>G????!!????8_???>G????!!????8_???>G?? +??!!????8_???>G????!!????8_???>@@<@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); yourself); yourself] +! + +imageEditorIcon + + ^ self imageEditor32x32Icon +! + +startImageEditorIcon + + + ^ self imageEditor32x32Icon +! + +startUIPainterIcon + + + ^ self uiPainter32x32Icon +! + +uiPainter32x32Icon + "This resource specification was automatically generated + by the ImageEditor of ST/X." + + "Do not manually edit this!! If it is corrupted, + the ImageEditor may not be able to read the specification." + + " + self uiPainter32x32Icon inspect + ImageEditor openOnClass:self andSelector:#uiPainter32x32Icon + Icon flushCachedIcons + " + + + + ^Icon + constantNamed:'MacOSX3ToolbarIconLibrary class uiPainter32x32Icon' + ifAbsentPut:[(Depth8Image width:32 height:32) bits:(ByteArray fromPackedString:' +#.)@D8^G!!8^G!!8^G!!8^G!!8^G!!8^G!!8^G!!8\SPN*N#(:NPM_D]''Y6]''Y6]''Y6]''Y6]''Y6]''Y6]''Y6],SWPH:N#(9[=%H+JR$)JR$)JR$)JR$)JR$)JR$)JR$+ +T/Y[#(:N#%>PXM5GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ=5 $E>N#(:NLS+ZA)JR$)JR$)JR$)JR$)JR$)JR$)JRA-(:LX:N#(;^A6GF1,[F1,[F1,[F1,[F1,[F +1,[F1,[FXP_^#(:N#%M&.GE1\WE1\WE1\_''9>_''9>_''9>_''9>V]3Y%NN#(:NT6[5*C9)O#8>*J!!)B6JE!!XVE!!XVE!!XU"X*!!&S(:N#(9SY-QJG1<_G6M/R$*D +\''I2\''I2\''I2\''JD8J4=#(:N#%M&F2H%DG==_SM#GDM2\''I2\''I2\''I2\&W\[L^N#(:NT6YBE;.;>+TO-Q=JG7I2\''I2\''I2\''I2 -%$/*RN#(9SNA=V"++O +-W4''E:@5\''I2\''I2\''I2\''H],. --"ZN#%L8^2+H2KUVE!!X*!!)M2\''I2\''I2\''I2@+B^:U"U;H:NS$#CM5YVU,MVU#\WH!!>F!!(ZF!!(Z"9X"L"]K/(U&N#(9N +RHGA0\GA0\GA0[UAPTEAPTGHSNEIL/J''4@)*#(:N#$9H%4G:@_+:>,#H@Q&K[&9.,Y3KD"2&CMX6''WVN#(:NS$#8FE8?W%;N3+.;Z7I2\''I2\$%U)''!!P_E)2 +H8:N#(9NR@A4&A**5SU(L@"9\''I2\''J#KJY8-LT(77%K#(:N#$9H#3WX6I=0\DQ43!!Y2\''I2U<&&^ECEQ.9]ND:N#(:NS$ ;QJ,Z'':(Z*#U^QGI2\%_I)''"4 +1RA2&7QHS(:N#(9NRCV?''9Q>9I?$&%G-\''IW2ZY8-LUF\''IO]K]N#(:N#$:7/Y*Z&)*Z&)*Z&)''7(<&&^KSEUH4UOC>=-4:N#(:NT4!!7\GA0\GA0\GB%#P$, +)''"4$Z?Q&7@MCW]HT8:N#(818,Y!!XVE!!XVE!! N_+2\A8+J;M\!!:7XVE!!1.H1#(:N# P1T49NS$9NS$7J*[0/=ECBZN#(:N#(:N#(:N#(:N#(:N#(:N#(:N#(:N43QE62G&#(:N#(:N#(:N#(:N#(:N#(:N#(:N#(:N#(8NIASLG????!!????8_???>G????!!????8_???>G????!!????8_???>G????1????>_????''????1????8_???>G????!!????8_???>G????!!????8_???>G?? +??!!????8_???>@@O0@@@G8@@@A<@@@@<@@@@L@@@@@@@@@@@@@@b'); yourself); yourself] +! ! + +!MacOSX3ToolbarIconLibrary class methodsFor:'documentation'! + +version + ^ '$Header$' +! + +version_CVS + ^ '$Header$' +! ! + diff -r f729645cc31a -r 50c1bb3e9f98 MacOSXToolbarIconLibrary.st --- a/MacOSXToolbarIconLibrary.st Fri Nov 18 21:10:35 2016 +0000 +++ b/MacOSXToolbarIconLibrary.st Fri Nov 18 21:15:56 2016 +0000 @@ -152,6 +152,141 @@ S$]YC%%YK2=YVU%YK09SP2L@') colorMapFromArray:#[101 172 248 53 140 250 61 135 247 46 108 250 105 175 248 57 144 249 207 230 254 64 139 247 43 118 250 109 178 248 67 143 247 233 232 233 89 165 249 43 131 251 43 93 250 93 168 249 146 198 251 225 240 254 255 255 255 80 159 246 78 159 248 141 189 240 82 161 249 49 116 249 62 149 249 42 128 251 117 150 239 67 152 248 45 133 250 55 125 248 95 170 248 49 136 250 198 225 253 101 172 247 52 140 250 181 192 232 105 175 247 81 160 247 57 143 249 207 230 253 84 163 248 61 147 248 212 232 253 42 124 251 88 165 249 70 147 246 43 130 251 42 93 250 92 168 249 99 167 243 221 237 253 46 134 251 146 197 251 225 239 254 193 212 235 81 161 249 42 127 251 90 167 248 65 117 245 95 169 248 57 130 247 186 186 186 100 172 247 52 140 249 194 213 236 104 175 247 81 160 246 111 141 235 56 143 249 42 116 251 109 177 247 185 197 236 43 130 250 68 152 249 220 237 253 46 134 250 72 156 248 224 239 254 77 118 242 137 184 240 101 173 248 108 171 243 105 176 248 61 107 244 85 163 249 62 147 249 90 166 248 44 131 251 46 130 250 43 94 250 95 169 247 48 136 249 197 224 253 74 157 248 80 160 246 78 160 248 48 111 249 108 177 247 91 159 243 52 121 249 91 167 249 93 167 247 67 152 249 46 133 250 97 170 247 96 170 248 72 155 248 49 137 250] mask:((Depth1Image width:16 height:18) bits:(ByteArray fromPackedString:'??;????????????????????????????????????????????>'); yourself); yourself] ! +inspectView24x24Icon + "This resource specification was automatically generated + by the ImageEditor of ST/X." + + "Do not manually edit this!! If it is corrupted, + the ImageEditor may not be able to read the specification." + + " + self inspectView24x24Icon inspect + ImageEditor openOnClass:self andSelector:#inspectView24x24Icon + Icon flushCachedIcons + " + + + + ^Icon + constantNamed:'MacOSXToolbarIconLibrary class inspectView24x24Icon' + ifAbsentPut:[(Depth24Image width:24 height:24) bitsPerSample:(#(8 8 8)); bits:(ByteArray fromPackedString:' +@@@@PI#DM)WDM9SDM)SDM)SDM9SDM)SDM)SDM9SDM)SDM9SDM)SDM)SDM)SDM9SDM)SDM)SDM9SDM)SDM9WE [SN@@@@@@@@@@@@V:+SZ+W"V*;_V:;^V:;^ +V:;_V:;^V:;^V:;_V:;^V:;_V:;^V:;^V:;^V:;_V:;^V:;^V*;_VZ7^#<#+RHZ$@@@@@@@@@@@@X:7UTZ''^M)3XM93XM93XM93XM93XM93XM93XM93XM93X +M93XM93XM93XM93XM93XM93XM)3XL9+W$<+,QHR#@@@@@@@@@@@@[;SW$,#+_;?& K?& K?& K?'' K?& K?& K?'' K?& LC'' K?& K?& K?& LC'' K?& K?& + K?''_+;&/M;4P(N#@@@@@@@@@@@@!![3U:>_#9NG_9NG_9NG_9NG_9NG_9NG_9^K 9^O 9.O 9.O 9.O 9.O 9.O 9.O 9.O 9.K 9^G_>OW/PXJ#@@@@@@@@ +@@@@!!K3V6]#W3\;P3\;P3\;P3\;P3\7P3\7O1,[H+Z6-+J2,*:.+*:.+*:.+*:.+*:.+*:.++Z6-/[6=?/;>?/;>?????/;>?/;>;^;.1\WF13L3N4]KS9.[''???? +?/;>?/;>?/;>?????/;>?/;>O#86=/\=OG-PHJ#@@@@@@@@@@@@!!K/U8.G 6]+\7M7^6=3^6-/]6-/]6M+\7];_=OS4;^7.2<3M''9>!!$YFS$YJS''9>!!2<3M;^;.9^W&=_G-PHJ#@@@@@@@@ +@@@@!!K/U9NK!!6-/\6-/\6-/\6-/\6-/\6-/\6=3]4-OT*Z&+#)RY!!:N5!!Z/@!!:7@"*V5#9JU*:.-4-KT=/O/O8J#@@@@@@@@@@@@!!K/U9.S#7M7^7];_7];_ +7];_7M;_7];_5-#X*Z*+%9VT"K;!!)-+82N3>/>+?+]?8%\W %)RT-[V7=OK.PHJ#@@@@@@@@@@@@!!K/U:^[&6]''[1<_I3??0>+?-._?''>G?''K/L''I.\9>[#PHN$@@@@@@@@@@@@!!K/U:>''''5MSU+:>//+:?1<_H4]GR6=/\4MCR%9VU"<[(6/K>4>?>1./>.^''?+NW>(>O> +(]S(%)RU8NC^PXN$@@@@@@@@@@@@!!K/U;^/*3\7N#8>P6=/\)*Z'')*Z''6M#Y4]KS&)"X##?*M/+&)^X7=?^PXN$@@@@@@@@ +@@@@!!K+U;.7+:^++:./-:^+,:./,:./,:^++4=SU&9*Z&,+&/^#>-._>+^[>+>/?-^?>,^7>+=#&''I*[8NC^PXN$@@@@@@@@@@@@!!K/U<^;-:.++:.++:.++ +:>++:.++:>++8.G")*R%+;/D(M7>(>G>)NS>+.+?,.;>,^3>-K;D%INU9NS$O8N%@@@@@@@@@@@@!!+;V?O_2>/S0>/S0>/S0>/S0>/S0>/S1>/[23\''F''Y^W +/=O])]78''>O?)>''?,>_81]#^%)ZX,;R6-+V8N8N,@@@@@@@@@@@@T(*%M''2^L7*]L7*]L7*]L7*]L7*]L7*]MG.^MW6!!T''.P#H*K,+B00+>?0+>?,[B1!!(ZI +%)"\3\7N;-:<4*MY9.GY@@@@@@@@7M3\5MST4=OS4=OS4=OS4=OS4=OS4=OS4=OS4=OS4-KR-[R5#H2M (JC (JC#H2M!!(^H#8>O3J-7>\1:==VC4+^CO#7=?_7=?_8^G!!6]''Y$(6E6YX6?:0/?=NA8+142,Z?@@@@@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8>O#''YZL4ID78*UD/Y5*1,O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@9NS#'')^M%X!!7+:.&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@') + mask:((ImageMask width:24 height:24) bits:(ByteArray fromPackedString:'_??<_??<_??<_??<_??<_??<_??<_??<_??<_??<_??<_??<_??<_??<_??<_??<_??<_??<_??>_???@@_?@@@?@@@^@@@@'); yourself); yourself] +! + +inspectView32x32Icon + "This resource specification was automatically generated + by the ImageEditor of ST/X." + + "Do not manually edit this!! If it is corrupted, + the ImageEditor may not be able to read the specification." + + " + self inspectView32x32Icon inspect + ImageEditor openOnClass:self andSelector:#inspectView32x32Icon + Icon flushCachedIcons + " + + + + ^Icon + constantNamed:'MacOSXToolbarIconLibrary class inspectView32x32Icon' + ifAbsentPut:[(Depth24Image width:32 height:32) bitsPerSample:(#(8 8 8)); bits:(ByteArray fromPackedString:' +@@@@W*[KE8N8E(J7E(F7E(F7E(F7E(F7E(F7E(F7E(F7E(F7E(F7E(F7E(F7E(F7E(F7E(F7E(F7E(F7E(F7E(F7E(F7E(F7E(F7E(F7E(J7E8N8W*[K>?/; +@@@@@@@@@@@@E8J8&60.O:T*/#UZ3#U*7#U*7#U*7#U*7#U*7#U*7#U*7#U*7#U*7#U*7#U*7#U*7#U*7#U*7#U*7#U*7#U*7# +U*7#U*7#U*7#UZ3#T*/#0.O:C7>6:^'')@@@@@@@@@@@@CG66??74??_2??#2??#3??#3??#3??#3??#3??#3??#3??#3??''3??''3??''3??''3??''3??''3??''3 +??''3??''3??''3??''3??''3??#3??_2??74CG66:^'')@@@@@@@@@@@@B''66??362<''J2,+L2,+L2,+L2,+L2,+L2,+L2,+L2,+L2??9/_?5?K?1>7?*>W?$-G5%9NR#(>Q4L?O??;8B''66:^'') +@@@@@@@@@@@@BW26??/58]?!!8^G$9^W''9.[(9^W''9NS&8.K$8.K$8.G#9.W''''I:!!&Y"W#;[S%]''?=O/?8/W?4>??1>/?/.''?,>[?&M??''K;R&IZV):^(???: +B''67:^'')@@@@@@@@@@@@BW26??+49NK"9.[''ST5M$IBQ#(:O#H2M:N#)"H"I9.[&:^''*!!XVG)*N!! \;?3>??8/S?4>??2N3?/>+?-._?*NO?''>K?''^C?)JF +!!(RG???/,:N#);N3- XJE,J2* ]O?9/[?4>??2N3?0N/?.^''?+>_?)>[?).W? +(^_?+:.* 8JE???/,S$9O$IBQ;^7.#8:O$IBQ#(:O:.++;.;/_W:A.KR1 =S?5?G?1>/?/>+?.^''?,^''?+.+? ++>+?+N''?)./?-+J1_7:A???=B7:7:^'')@@@@@@@@@@@@BW26??+4:^''):^++;N7.:>7.:^/,:>3-;N7.:>3-:^++;?C0]7%;.;^5"]S?1./?/.''?-._?+._? ++^+?-^??-.??,N7?*.+?.[Z5^'')''*:N#+:^''+:^''+:^#+:^''+:^''+:^''+:^'',;>;0''I.^*JZ&)<7%).C?,>[? +*NO?).[?+>+?-.??-?G?+>??.M_%*J^''(Y>!!???2,[D +&-''=%]3?''^C?)^S?+N''?,N7?+>;?,.''=2LSD_7:A"8.N????A''>=:^'')@@@@@@@@@@@@C7>7???7??#3??_2??_2??_2??_2??_2??_2??_2??_3??''4??;: +,**''"(VE5L?K--'',''.G?''.S?)N#?*.+?0NC,4L7L 8NF):"*7>G"%YNX@G;I:^'')@@@@@@@@@@@@R9Z:C7>7B''66BW26BW26BW26BW26BW26BW26BW26BW26 +B''66B7>8B8J>R''6V!!XBA-;V56-_U7=/Y7=/Y6][U-[R5_7:A!!8"K0,SH9.+0;-253(848=#J@@@@@@@@@@@@5MST0LC@/K2^,?=%/1H8?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2?/K2?0^5?=)32IIB@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@0,KB+8ED?:P]?:$)?281YAA@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@0,KB)8AL?:P_?:4(7,BF1IAE@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@0,KB)8AL*G=K*(AI3L3L@@@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2L#H/+:>3L3L +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@') + mask:((ImageMask width:32 height:32) bits:(ByteArray fromPackedString:' +_????G????1????<_????G????1????<_????G????1????<_????G????1????<_????G????1????<_????G????1????<_????G????1????<_????G?? +??1????<_????G????0@@G?>@@@@? @@@G8@@@@>@@@@G@@@@@@b'); yourself); yourself] +! + +osxTerminalIcon + "This resource specification was automatically generated + by the ImageEditor of ST/X." + + "Do not manually edit this!! If it is corrupted, + the ImageEditor may not be able to read the specification." + + " + self osxTerminalIcon inspect + ImageEditor openOnClass:self andSelector:#osxTerminalIcon + Icon flushCachedIcons + " + + + + ^Icon + constantNamed:'MacOSXToolbarIconLibrary class osxTerminalIcon' + ifAbsentPut:[(Depth8Image width:32 height:32) bits:(ByteArray fromPackedString:' +\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\:,;-R,+J2-%YZ.X&I"X&I"X&I"X&I"X&I"+B!!Y3\7ME,UP:N*MR/''Y6-C$9NS$9NS$9NS$9NS$9 +NS%6VZ]3\;V8F7=H_B&(EPNAQ&!!(ZF!!(ZF!!(ZF!!(ZF!!(ZF#E+7M3YKA> &C@Z''^SV6KG+(.K"8.K"8.K"8.K"8..C04G\7L_)P3IWGA0UR4S0ZIJR$)JR$)J +R$)JR$)JR$RWP%A3\4TI_W!!8^G (SD2^''):^''):^''):^''):^''):^]Y$=QWM3A!!9SVH5XVE5]WU5]WU5]WU5]WU5]WU5]WU5XT18F\7MPAH"THH0XO6=GGQ4] +GQ4]GQ4]GQ4]GQ4]GYRHAEA3\:\#07)9M#E,KE)VU%YVU%YVU%YVU%YVU%YV]LL#)7M3K:1''/6O#8>O#8>O#8>O#8>O#8>O#8>O#04*YI3\9WB#;Y-[V5-[V5-[V5-[V5-[V5-[V5-[V5--(?B%WM3L .V[Q0\GA0\ +GA0\GA0\GA0\GA0\GA0\GA1-% ,2\7L2 1B7$IBP$IBP$IBP$IBP$IBP$IBP$IBP$K\P 3I3\;0^.0/B0,KB0,KB0,KB0,KB0,KB0,KB0,KBB;,^/GM3!!AQC +P4MCP4MCP4MCP4MCP4MCP4MCP4MCP4MCP1RD\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3 +\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\0@a') + colorMapFromArray:#[74 74 76 92 93 95 84 84 86 148 184 57 240 240 240 138 139 140 141 143 147 143 145 148 135 137 141 230 231 230 145 147 151 238 237 237 192 206 210 226 225 227 87 87 90 170 171 175 102 103 106 86 86 89 104 105 108 202 200 212 123 125 128 111 172 0 145 146 149 105 106 109 60 60 63 137 140 143 77 76 80 255 48 19 113 114 117 69 69 71 237 237 236 142 145 148 64 64 66 239 239 238 147 147 149 241 241 240 133 135 138 88 89 92 73 73 75 82 83 86 236 236 237 233 177 117 77 77 79 144 147 151 69 69 73 201 200 213 94 95 97 140 142 145 78 78 81 139 139 139 123 126 129 81 81 84 100 101 103 92 92 94 255 255 255 93 94 98 99 100 103 253 253 254 250 255 255 145 149 152 108 109 111 230 230 229 110 111 113 65 65 67 145 145 146 95 95 98 239 240 240 121 123 127 197 198 200 141 144 147 203 205 208 69 69 70 230 247 255 240 240 239 198 199 201 71 71 73 237 237 238 86 87 89 127 129 133 75 75 77 142 144 147 239 239 239 250 254 255 42 42 44 252 255 255 196 199 208 73 73 76 136 138 142 51 51 53 213 214 216 72 72 76 80 133 0 193 202 208 52 52 54 90 90 92 85 87 88 215 233 244 88 88 91 227 224 236 129 132 135 142 146 150 145 147 152 97 97 100 62 62 64 204 206 208 60 60 62 238 134 0 82 83 85 61 61 64 112 113 116 77 78 80 68 68 70 193 200 211 83 84 86 84 85 87 0 0 0 71 71 74 235 235 235 255 254 255 224 226 247 235 237 237 63 63 67 69 69 72 79 79 81 253 159 57 232 234 234 238 7 0 232 111 96 78 78 82 241 239 249 237 6 0 236 235 235 113 115 118 97 98 101 239 238 238 240 239 239 55 55 57 130 130 132 81 80 82 172 173 177 59 59 61 51 51 54 78 79 81 102 103 107 108 109 112 84 83 85 126 128 131 80 134 0 66 66 68 125 127 130 104 105 109 196 197 199 144 147 150 232 232 232 140 140 143 136 138 139 76 76 78 131 133 136 236 236 236 128 130 134 70 70 74 68 68 71 197 198 201 249 255 255 79 79 82 237 243 245 91 92 94 141 143 146 239 241 255 239 238 237 82 82 84 145 147 150 241 240 240 102 103 105 172 173 176 144 146 150 222 235 239 212 218 220 89 89 92 73 72 75 254 252 255 144 148 151 110 111 114 107 108 111 240 253 255 73 74 76 142 142 144 236 236 235 124 126 129 138 141 144 253 253 255 73 73 74 237 135 0 198 198 204 238 238 237 59 59 62 134 136 139 243 244 245 132 134 137 171 171 176 80 80 82 192 207 211] + mask:((ImageMask width:32 height:32) bits:(ByteArray fromPackedString:' +@@@@@C????1????>_????''????9????>_????''????9????>_????''????9????>_????''????9????>_????''????9????>_????''????9????>_????''?? +??9????>_????''????9????>_????''????8@@@@@@@@@@@@@@@@b'); yourself); yourself] +! + scrollDownDisabledIcon "This resource specification was automatically generated by the ImageEditor of ST/X." @@ -1965,12 +2100,14 @@ ^Icon - constantNamed:'MacOSXToolbarIconLibrary fileTypeTextHtmlIcon' - ifAbsentPut:[(Depth8Image new) width:18; height:18; bits:(ByteArray fromPackedString:' -@@@@@@@@@@@@@@@@@@@@@@@@@@AY $)JE75PT6%J!!@@@@@@@@@AR!!X.KFF@WU592YT4@@@@@@@BC"14(JHVIW'',\\%!!-@@@@@@BC\$92\!!6EXFP\GGJG\P@@ -@@BCU DAU"9NCF)$P&!!HTP@@@@BCX6LA"7):^'')4T7]GR0@@@@BCA''TA^(:N#(=:SD)7V @@@@BCCW2L^)BO#(>O^%Q+RP@@@@BCAW*O#7*N#)BO#7).W@@@ -@@BC_G*N$IBN#)BN#7)VW@@@@@BCAW*N$H>N#(>P#''(FW@@@@@BCHG*N#(:N$H>P#'')I!!0\GA0QDSH2HB@$UP@@@@A8QE-OS4=OS4=OS5-D P@@@@@@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[246 246 246 233 233 233 252 252 251 216 212 172 245 245 245 243 243 243 239 239 239 237 237 237 255 255 255 159 154 124 181 177 143 100 103 106 223 223 223 241 241 241 197 197 197 201 197 160 166 160 114 251 251 251 145 141 101 197 191 137 159 155 126 157 153 122 139 135 100 204 204 204 222 222 222 218 213 173 247 247 247 254 254 254 252 252 252 228 228 228 153 149 116 169 169 169 249 249 249 215 210 169 161 161 161 188 188 188 248 248 248 148 144 118 253 253 253 218 212 172 227 227 227 234 234 234 120 116 84 222 228 234 0 0 0 244 244 244 231 231 231 138 134 101 155 151 119 208 202 155 250 250 250 145 140 99 149 153 157 214 208 165 146 142 103 198 193 140 166 162 117 162 158 115 191 184 139 199 193 138 162 162 162 219 213 174 151 147 112 138 134 99 192 192 192 242 242 241 144 144 144 175 175 175 59 60 63 155 155 155 237 243 254 166 166 166 177 177 177 169 173 181 208 208 208 179 183 192 219 219 219 209 214 224 230 230 230 34 35 36 179 179 179 200 205 215 181 185 194 190 190 190 221 221 221 162 166 174 232 232 232 181 181 181 179 181 183 202 207 217 173 178 186 27 28 29 164 168 176 172 172 172 203 203 203 183 183 183 214 214 214 163 163 163 225 225 225 236 236 236 154 154 154 183 185 187 185 185 185 216 216 216 165 165 165 196 196 196 176 176 176 207 207 207 238 238 238 208 213 223 218 218 218 167 167 167 198 198 198 218 223 234 229 229 229 178 178 178 209 209 209 240 240 240 158 158 158 189 189 189 180 184 193 200 200 200 149 149 149 180 180 180 242 242 242 191 191 191 182 186 195 140 140 140 171 171 171 174 179 187 213 213 213 184 188 197 214 220 230 224 224 224 235 235 235 181 183 186 184 184 184 215 215 215 246 245 245 226 226 226 85 85 85 85 149 149 90 140 200 149 149 85 165 165 85]; mask:((ImageMask new) width:18; height:18; bits:(ByteArray fromPackedString:'@@@?O? ?O?0?O?8?O?_''9>OC0<"T)JR$*MP#0B@%UT_''9TUC0_%UUUEP< $)J +R$*MQW9UUUU>_%QU_%P; $)JR$*MQ''9UUUQ>_%QTUW9B $)JR$*MSW9UUW9>UUQTUW9E $)JR$*MSW9>UW9>UUUTUW9G $)JR$*MS4%>_''9>_''9U^T%I $)J +R$*LTT%I_'':T%G9>RT%L T)JR$*JA@PDA@PDA@PDA@PD"$)JR$)JR$)JR$)JR$)JR$)JR$)J') + colorMapFromArray:#[0 0 0 85 85 85 128 128 128 140 140 140 144 144 144 149 149 149 154 154 154 155 155 155 158 158 158 161 161 161 162 162 162 163 163 163 165 165 165 166 166 166 167 167 167 169 169 169 171 171 171 172 172 172 175 175 175 176 176 176 177 177 177 178 178 178 179 179 179 180 180 180 181 181 181 183 183 183 184 184 184 185 185 185 188 188 188 189 189 189 190 190 190 191 191 191 192 192 192 196 196 196 197 197 197 198 198 198 200 200 200 203 203 203 204 204 204 207 207 207 208 208 208 209 209 209 213 213 213 214 214 214 215 215 215 216 216 216 218 218 218 219 219 219 221 221 221 222 222 222 223 223 223 224 224 224 225 225 225 226 226 226 227 227 227 228 228 228 229 229 229 230 230 230 231 231 231 232 232 232 233 233 233 234 234 234 235 235 235 236 236 236 237 237 237 238 238 238 239 239 239 240 240 240 241 241 241 242 242 242 243 243 243 244 244 244 245 245 245 246 245 245 246 246 246 247 247 247 248 248 248 249 249 249 250 250 250 251 251 251 252 252 252 253 253 253 254 254 254 255 255 255 128 128 0 160 160 0 120 116 84 149 149 85 138 134 99 138 134 101 139 135 100 145 140 99 145 141 101 146 142 103 165 165 85 151 147 112 148 144 118 153 149 116 155 151 119 162 158 115 157 153 122 166 160 114 166 162 117 159 154 124 159 155 126 181 177 143 191 184 139 197 191 137 199 193 138 198 193 140 201 197 160 208 202 155 214 208 165 215 210 169 216 212 172 218 212 172 218 213 173 219 213 174 242 242 241 252 252 251 27 28 29 0 128 128 85 149 149 34 35 36 59 60 63 100 103 106 10 110 230 90 140 200 149 153 157 162 166 174 164 168 176 169 173 181 173 178 186 174 179 187 179 181 183 181 183 186 183 185 187 179 183 192 180 184 193 181 185 194 182 186 195 184 188 197 200 205 215 202 207 217 208 213 223 209 214 224 214 220 230 218 223 234 163 163 255] + mask:((ImageMask width:18 height:18) bits:(ByteArray fromPackedString:'@@@?O? ?O?0?O?8?O? controls horizontal layout; ignored in this - class, but used in Horizontal- and - VerticalPanelViews. See more info there. + hLayout controls horizontal layout; ignored in this + class, but used in Horizontal- and + VerticalPanelViews. See more info there. - vLayout controls vertical layout; ignored in this - class, but used in Horizontal- and - VerticalPanelViews. See more info there. + vLayout controls vertical layout; ignored in this + class, but used in Horizontal- and + VerticalPanelViews. See more info there. - horizontalSpace number of pixels to use as space between elements - defaults to ViewSpacing, which is 1mm + horizontalSpace number of pixels to use as space between elements + defaults to ViewSpacing, which is 1mm - verticalSpace number of pixels to use as space between elements - defaults to ViewSpacing, which is 1mm + verticalSpace number of pixels to use as space between elements + defaults to ViewSpacing, which is 1mm - mustRearrange internal flag, if rearrangement is needed + mustRearrange internal flag, if rearrangement is needed - elementsChangeSize - if true, the panel takes care of this situation. - By default, this is false. + elementsChangeSize + if true, the panel takes care of this situation. + By default, this is false. - ignoreInvisibleComponents - if true, invisible (i.e. hidden) views - are not considered in the layout computation. - If false, they will lead to additional space - between visible components. - The default is false. + ignoreInvisibleComponents + if true, invisible (i.e. hidden) views + are not considered in the layout computation. + If false, they will lead to additional space + between visible components. + The default is false. [author:] - Claus Gittinger + Claus Gittinger " ! @@ -201,6 +201,11 @@ ! +horizontalLayout:layoutSymbolH verticalLayout:layoutSymbolV + self horizontalLayout:layoutSymbolH. + self verticalLayout:layoutSymbolV +! + horizontalSpace "return the horizontal space between elements on pixels (default is 1mm)" @@ -479,7 +484,7 @@ setChildPositionsIfChanged "set all of my child positions - this is usually delayed, - until the panel is actually shown (since we dont know, if more + until the panel is actually shown (since we don't know, if more elements are to be added) thus avoiding repositioning the elements over and over. However, sometimes it is nescessary, to force positioning the elements, for example, before querying the relative position of @@ -487,9 +492,8 @@ pointer)." mustRearrange ifTrue:[ - self setChildPositions + self setChildPositions ]. - ! ! !PanelView methodsFor:'layout'! @@ -657,9 +661,12 @@ ignoreInvisibleComponents ifTrue:[ subViews size ~~ 0 ifTrue:[ subViews := subViews - select:[:v | realized - ifTrue:[v realized] - ifFalse:[v isHiddenOnRealize not] + select:[:v | + "/ if I am already realized, only consider realized subViews + "/ otherwise, consider subViews which will be shown when I am. + realized + ifTrue:[v realized] + ifFalse:[v isHiddenOnRealize not] ]. ]. ]. @@ -680,5 +687,9 @@ version ^ '$Header$' +! + +version_CVS + ^ '$Header$' ! ! diff -r f729645cc31a -r 50c1bb3e9f98 PopUpList.st --- a/PopUpList.st Fri Nov 18 21:10:35 2016 +0000 +++ b/PopUpList.st Fri Nov 18 21:15:56 2016 +0000 @@ -571,7 +571,7 @@ newLabel := (menuLabels at:index) printString ]. - "kludge: dont want label to resize ..." + "kludge: don't want label to resize ..." self label:newLabel suppressResize:true. @@ -822,7 +822,7 @@ ! showActive - "no need to redraw - will pop menu ontop of me anyway ..." + "no need to redraw - will pop menu on top of me anyway ..." ^ self ! diff -r f729645cc31a -r 50c1bb3e9f98 ScrollBar.st --- a/ScrollBar.st Fri Nov 18 21:10:35 2016 +0000 +++ b/ScrollBar.st Fri Nov 18 21:15:56 2016 +0000 @@ -60,7 +60,7 @@ will set it to asynchronous.) Most often scrollbars are used hidden with ScrollableView or HVScrollableView (i.e. you - dont have to care for all the details). + don't have to care for all the details). The scrollBars and scrollers protocols have been made similar enough to allow transparent use of either a scroller or a scrollBar in applications. diff -r f729645cc31a -r 50c1bb3e9f98 ScrollableView.st --- a/ScrollableView.st Fri Nov 18 21:10:35 2016 +0000 +++ b/ScrollableView.st Fri Nov 18 21:15:56 2016 +0000 @@ -2348,6 +2348,17 @@ "Modified: 6.3.1997 / 22:34:30 / cg" ! +respondsTo:aSelector + scrolledView notNil ifTrue:[ + (scrolledView respondsTo:aSelector) ifTrue:[^ true]. + ]. + ^ super respondsTo:aSelector. + + " + self new respondsTo:#isScrolling + " +! + specClass "redefined, since my subclasses also want ScrollableViewSpecs" diff -r f729645cc31a -r 50c1bb3e9f98 Scroller.st --- a/Scroller.st Fri Nov 18 21:10:35 2016 +0000 +++ b/Scroller.st Fri Nov 18 21:15:56 2016 +0000 @@ -1,5 +1,3 @@ -"{ Encoding: utf8 }" - " COPYRIGHT (c) 1989 by Claus Gittinger All Rights Reserved @@ -98,14 +96,14 @@ thumbColor color of thumb thumbFrameColor color of the frame around the thumb scrollAction 1 arg block to be evaluated when scrolled - (arg is position in percent) + (arg is position in percent) orientation #horizontal or #vertical thumbFrame frame of thumb in pixels (cached) thumbLevel level of thumb if 3d scrolling true during scroll pressOffset temporary (offset into frame when move started) - synchronousOperation true if synchronous (i.e. dont wait till release - to perform action) + synchronousOperation true if synchronous (i.e. don't wait till release + to perform action) shadowForm
bitmap of knob if any (shadow part) lightForm bitmap of knob if any (light part) inset number of pixels to inset thumb from view borders @@ -115,10 +113,10 @@ thumbHalfShadowColor used to draw smooth edges thumbHalfLightColor used to draw smooth edges thumbFrameSizeDifference number of pixels the thumb is larger than - it should be (can be negative for mswin-style) + it should be (can be negative for mswin-style) tallyLevel if not zero, specifies if tally-marks should - go into or out of the display (actually only <0/>0 is checked) - I dont know of a better word for these ... + go into or out of the display (actually only <0/>0 is checked) + I dont know of a better word for these ... tallyMarks number of tally marks fixThumbHeight perform 'wrong' height computation a la mswindows rangeStart the range of the scroller @@ -150,9 +148,9 @@ scrollerNTallyMarks number of tally-marks to draw on the thumb scrollerTallyLevel the 3D level of any tally marks scrollerSnapBack win95 behavior: snap back to original position if scrollers view - is left by mouse (with some distance) + is left by mouse (with some distance) scrollerMiddleButtonJump xterm behavior: middle button has shift-click behavior - (positions absolute to click position) + (positions absolute to click position) notice: for mswindows style, we force a WRONG thumb-frame computation, to make the thumb have constant size; @@ -160,11 +158,11 @@ set scrollerThumbFixHeight to false (in the StyleSheet). [author:] - Claus Gittinger + Claus Gittinger [see also:] - ScrollBar - ScrollableView HVScrollableView + ScrollBar + ScrollableView HVScrollableView " ! @@ -1188,7 +1186,7 @@ ]. tallyMarks > 1 ifTrue:[ - "dont draw other marks if there is not enough space" + "don't draw other marks if there is not enough space" h > (dist * (tallyMarks * 2)) ifTrue:[ self drawEdgedLineFrom:xL y:(yTop - dist) toX:xR y:(yTop - dist) level:tallyLevel lightColor:light shadowColor:shadow. @@ -1212,7 +1210,7 @@ xLeft := xRight := x. ]. tallyMarks > 1 ifTrue:[ - "dont draw other marks if there is not enough space" + "don't draw other marks if there is not enough space" w > (dist * (tallyMarks * 2)) ifTrue:[ self drawEdgedLineFrom:(xLeft - dist) y:yT toX:(xLeft - dist) y:yB level:tallyLevel lightColor:light shadowColor:shadow. diff -r f729645cc31a -r 50c1bb3e9f98 SelectionInListView.st --- a/SelectionInListView.st Fri Nov 18 21:10:35 2016 +0000 +++ b/SelectionInListView.st Fri Nov 18 21:15:56 2016 +0000 @@ -100,7 +100,7 @@ Currently, some limited form of line attributes are supported. These are kept in the instance variable lineAttributes. This may change (using mechanisms similar to MultiColListEntry), so - be prepared. (dont use the listAttributes instvar directly; if possible, + be prepared. (don't use the listAttributes instvar directly; if possible, use MultiColListEntry or subclasses of it. Although currently based on the listAttributes instVar, the implementation of @@ -3722,7 +3722,7 @@ selection notNil ifTrue:[ self multipleSelectOk ifTrue:[ selection isEmpty ifTrue:[^ self]. - "/ dont move, if any in the selection isVisible + "/ don't move, if any in the selection isVisible selection do:[:aSelectedLine | (self lineIsFullyVisible:aSelectedLine) ifTrue:[ ^ self diff -r f729645cc31a -r 50c1bb3e9f98 SequenceView.st --- a/SequenceView.st Fri Nov 18 21:10:35 2016 +0000 +++ b/SequenceView.st Fri Nov 18 21:15:56 2016 +0000 @@ -11,6 +11,8 @@ " "{ Package: 'stx:libwidg' }" +"{ NameSpace: Smalltalk }" + ScrollableView subclass:#SequenceView instanceVariableNames:'' classVariableNames:'' @@ -100,8 +102,10 @@ font:aFont "set the font for the scrolled view" + |scrolledView| + super font:aFont. - self scrolledView font:aFont. + (scrolledView := self scrolledView) notNil ifTrue:[scrolledView font:aFont]. ! invalidate @@ -137,5 +141,6 @@ !SequenceView class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libwidg/SequenceView.st,v 1.11 2008-07-18 08:58:08 stefan Exp $' + ^ '$Header$' ! ! + diff -r f729645cc31a -r 50c1bb3e9f98 TextCollector.st --- a/TextCollector.st Fri Nov 18 21:10:35 2016 +0000 +++ b/TextCollector.st Fri Nov 18 21:15:56 2016 +0000 @@ -1,5 +1,3 @@ -"{ Encoding: utf8 }" - " COPYRIGHT (c) 1989 by Claus Gittinger All Rights Reserved @@ -151,6 +149,7 @@ " TextCollector newTranscript:#T2. T2 showCR:'Hello world'. + Smalltalk removeKey:#T2 " "Modified: 17.2.1997 / 18:20:27 / cg" @@ -598,10 +597,6 @@ !TextCollector methodsFor:'queries'! -canAccept - ^ false -! - current "return the current (your screen's) transcript. In multiDisplay applications, this need NOT be the main transcript, @@ -1203,6 +1198,8 @@ |fg bg cFg cBg| + self assert:((Smalltalk includesKey:name) not + or:[ (Smalltalk at:name) isBehavior not ]). Smalltalk at:name put:self. " diff -r f729645cc31a -r 50c1bb3e9f98 TextView.st --- a/TextView.st Fri Nov 18 21:10:35 2016 +0000 +++ b/TextView.st Fri Nov 18 21:15:56 2016 +0000 @@ -14,26 +14,26 @@ "{ NameSpace: Smalltalk }" ListView subclass:#TextView - instanceVariableNames:'selectionStartLine selectionStartCol selectionEndLine - selectionEndCol clickPos clickStartLine clickStartCol clickLine - clickCol clickCount expandingTop wordStartCol wordStartLine - wordEndCol wordEndLine selectionFgColor selectionBgColor - selectStyle directoryForFileDialog defaultFileNameForFileDialog - externalEncoding contentsWasSaved searchAction lastSearchPattern - lastSearchWasMatch lastSearchIgnoredCase lastSearchDirection - lastSearchWasVariableSearch parenthesisSpecification dropSource - dragIsActive saveAction st80SelectMode searchBarActionBlock' - classVariableNames:'DefaultViewBackground DefaultSelectionForegroundColor - DefaultSelectionBackgroundColor - DefaultAlternativeSelectionForegroundColor - DefaultAlternativeSelectionBackgroundColor MatchDelayTime - WordSelectCatchesBlanks LastSearchPatterns - NumRememberedSearchPatterns LastSearchIgnoredCase - LastSearchWasMatch DefaultParenthesisSpecification - LastSearchWasMatchWithRegex LastSearchWasWrapAtEndOfText - LastSearchWasReplace LastSearchReplacedString' - poolDictionaries:'' - category:'Views-Text' + instanceVariableNames:'selectionStartLine selectionStartCol selectionEndLine + selectionEndCol clickPos clickStartLine clickStartCol clickLine + clickCol clickCount expandingTop wordStartCol wordStartLine + wordEndCol wordEndLine selectionFgColor selectionBgColor + selectStyle directoryForFileDialog defaultFileNameForFileDialog + externalEncoding contentsWasSaved searchAction lastSearchPattern + lastSearchWasMatch lastSearchIgnoredCase lastSearchDirection + lastSearchWasVariableSearch parenthesisSpecification dropSource + dragIsActive saveAction st80SelectMode searchBarActionBlock' + classVariableNames:'DefaultViewBackground DefaultSelectionForegroundColor + DefaultSelectionBackgroundColor + DefaultAlternativeSelectionForegroundColor + DefaultAlternativeSelectionBackgroundColor MatchDelayTime + WordSelectCatchesBlanks LastSearchPatterns + NumRememberedSearchPatterns LastSearchIgnoredCase + LastSearchWasMatch DefaultParenthesisSpecification + LastSearchWasMatchWithRegex LastSearchWasWrapAtEndOfText + LastSearchWasReplace LastSearchReplacedString' + poolDictionaries:'' + category:'Views-Text' ! !TextView class methodsFor:'documentation'! @@ -404,10 +404,10 @@ - ^ + ^ #(FullSpec name: searchDialogSpec - window: + window: (WindowSpec label: 'String search' name: 'String search' @@ -415,7 +415,7 @@ max: (Point 1280 1024) bounds: (Rectangle 0 0 475 376) ) - component: + component: (SpecCollection collection: ( (LabelSpec @@ -461,7 +461,7 @@ ) (ViewSpec name: 'MatchBox' - component: + component: (SpecCollection collection: ( (CheckBoxSpec @@ -484,7 +484,7 @@ translateLabel: true ) ) - + ) extent: (Point 475 24) ) @@ -577,10 +577,10 @@ acceptOnReturn: true acceptOnTab: true acceptOnPointerLeave: true - extent: (Point 297 24) + extent: (Point 318 24) ) ) - + ) extent: (Point 475 24) ) @@ -607,12 +607,12 @@ extent: (Point 475 24) ) ) - + ) ) (HorizontalPanelViewSpec name: 'horizontalPanelView' - layout: (LayoutFrame 0 0.0 -32 1.0 -16 1.0 0 1.0) + layout: (LayoutFrame 0 0.0 -36 1.0 -16 1.0 0 1.0) level: 0 horizontalLayout: fitSpace verticalLayout: center @@ -653,12 +653,12 @@ useDefaultExtent: true ) ) - + ) keepSpaceForOSXResizeHandleH: true ) ) - + ) ) ! ! @@ -1013,7 +1013,10 @@ textView "added to allow sending textView in any context, where either - a TextView or a CodeView2 can be encountered. Sigh." + a TextView or a CodeView2 can be encountered. + Sigh - all of this because CodeView2 wraps a textView, and does not forward + all messages. + Thus, the codeView2 framework always sends codeView2 textView doSomething" ^ self ! ! @@ -1083,7 +1086,7 @@ setContents:something "set the contents (either a string or a Collection of strings) - dont change the position (i.e. do not scroll) or the selection." + don't change the position (i.e. do not scroll) or the selection." |selStartLine selStartCol selEndLine selEndCol selStyle| @@ -2084,8 +2087,13 @@ self withWaitCursorDo:[ fp := FontPanel new. - fp withChangeFontInViewsAllCheckBox:true. - newFont := fp fontFromUserInitial:gc font. + newFont := + fp fontFromUserInitial:gc font + title:nil + filter:nil + encoding:nil + enabled:true + withChangeAllOption:true. ]. newFont notNil ifTrue:[ self font:newFont. @@ -2096,12 +2104,12 @@ fontPrefs := userPrefs fontPreferences. fontPrefs isNil ifTrue:[ fontPrefs := newFontPrefs := Dictionary new ]. - TextView defaultFont:newFont. fontPrefs at:#Text put:(newFont storeString). newFontPrefs notNil ifTrue:[ userPrefs fontPreferences:newFontPrefs ]. userPrefs beModified. - DebugView newDebugger. + "/ DebugView newDebugger. TextView allSubInstances do:[:v | + v class defaultFont:newFont. v font:newFont ]. ]. diff -r f729645cc31a -r 50c1bb3e9f98 Toggle.st --- a/Toggle.st Fri Nov 18 21:10:35 2016 +0000 +++ b/Toggle.st Fri Nov 18 21:15:56 2016 +0000 @@ -291,7 +291,7 @@ [exEnd] - another font (no, I dont know what it means :-): + another font (no, I don't know what it means :-): [exBegin] |v t| @@ -485,7 +485,7 @@ showLamp ifTrue:[ onLevel := offLevel. - "dont know, if I like this ..." + "don't know, if I like this ..." " activeBgColor := bgColor " diff -r f729645cc31a -r 50c1bb3e9f98 VariablePanel.st --- a/VariablePanel.st Fri Nov 18 21:10:35 2016 +0000 +++ b/VariablePanel.st Fri Nov 18 21:15:56 2016 +0000 @@ -1527,7 +1527,7 @@ y := hy + knobHeight - 2. self paint:shadowColor. self displayLineFromX:mar y:y toX:(width - mar) y:y. - "uncomment the -1 if you dont like the notch at the right end" + "uncomment the -1 if you don't like the notch at the right end" " VVV" self displayLineFromX:width-1 y:hy" "-1" " toX:width-1 y:(hy + knobHeight - 1 - 1). ]. diff -r f729645cc31a -r 50c1bb3e9f98 VerticalPanelView.st --- a/VerticalPanelView.st Fri Nov 18 21:10:35 2016 +0000 +++ b/VerticalPanelView.st Fri Nov 18 21:15:56 2016 +0000 @@ -1094,7 +1094,7 @@ |childsPreference| child realized ifTrue:[ - childsPreference := child extent. + childsPreference := child extent max:child preferredExtent. ] ifFalse:[ childsPreference := child preferredExtent. ]. diff -r f729645cc31a -r 50c1bb3e9f98 Workspace.st --- a/Workspace.st Fri Nov 18 21:10:35 2016 +0000 +++ b/Workspace.st Fri Nov 18 21:15:56 2016 +0000 @@ -1,5 +1,3 @@ -"{ Encoding: utf8 }" - " COPYRIGHT (c) 1989 by Claus Gittinger All Rights Reserved @@ -65,22 +63,22 @@ to call for another compiler/interpreter ...) Special workspace- and doIt variables: - workspaces can be configured to automatically define undefined variables - as either workspace- or doIt variables. When encountering undefined variables, - the parser asks for an action, which is responded with #workspace or doIt if a - workspace is the requestor of a doIt. Both are implemented as value holders, and - the parser will generate code sending value/value: instead of normal assignment. - Workspace variables are kept in the Workspace class and will both persist between doIts - and also be visible across workspaces. They are perfect for scripting (and therefore anabled - by default when stx is started with one of the scripting options). - DoIt variables are only valid during a single doIt. - Be aware that when you ask from the outside via workspaceVariableAt:, you'll get a valueHolder. - This is by purbose, as it allows for easy monitoring and tracing of changes. + workspaces can be configured to automatically define undefined variables + as either workspace- or doIt variables. When encountering undefined variables, + the parser asks for an action, which is responded with #workspace or doIt if a + workspace is the requestor of a doIt. Both are implemented as value holders, and + the parser will generate code sending value/value: instead of normal assignment. + Workspace variables are kept in the Workspace class and will both persist between doIts + and also be visible across workspaces. They are perfect for scripting (and therefore enabled + by default when stx is started with one of the scripting options). + DoIt variables are only valid during a single doIt. + Be aware that when you ask from the outside via workspaceVariableAt:, you'll get a valueHolder. + This is by purbose, as it allows for easy monitoring and tracing of changes. Caveat: - in this version, Workspace does not yet support doIt in MVC setups. - For now, simulate this by setting the doItAction, to notify the - model manually about the doIt. + in this version, Workspace does not yet support doIt in MVC setups. + For now, simulate this by setting the doItAction, to notify the + model manually about the doIt. [instance variables:] @@ -97,20 +95,20 @@ [styleSheet values:] codeErrorSelectionForegroundColor fg color to highlight errors - (default: selection fg) + (default: selection fg) codeErrorSelectionBackgroundColor bg color to highlight errors - (default: selection bg) + (default: selection bg) [start with:] - Workspace open + Workspace open [see also:] - Workspace EditTextView - Parser ByteCodeCompiler + Workspace EditTextView + Parser ByteCodeCompiler [author:] - Claus Gittinger + Claus Gittinger " ! ! @@ -486,6 +484,25 @@ "Created: / 20-04-2005 / 11:57:53 / cg" ! +rememberResultAsWorkspaceVariable:lastResult + "remember some last result as _0, + and shift the previous results (i.e. _0 -> _1 -> .. _9)" + + |workspaceVariables| + + workspaceVariables := self workspaceVariables. + + 9 to:1 by:-1 do:[:h| + (workspaceVariables includesKey:('_%1' bindWith:h-1)) ifTrue:[ + self workspaceVariableAt:('_%1' bindWith:h) + put:(self workspaceVariableAt:('_%1' bindWith:h-1)). + ]. + ]. + self workspaceVariableAt:'_0' put:lastResult. + + "Modified: / 08-11-2016 / 22:39:41 / cg" +! + removeAllWorkspaceVariables "delete all workspace variables" @@ -1685,7 +1702,7 @@ or - if I support syntax elements, on the syntax element at the cursor position" |selectedText selector browserClass na browser - cls node receiverNode dwim targetClass targetImplClass targetMethod| + cls node dwim targetClass targetImplClass| selectedText := self selectedTextOrSyntaxElement. selectedText notEmptyOrNil ifTrue:[ @@ -1723,13 +1740,15 @@ "/ if the type of the receiver is known, "/ select the targeted method immediately (cls := self editedClass) notNil ifTrue:[ - dwim := DoWhatIMeanSupport new. - dwim setClass:cls andContext:nil. - node := dwim + node := DoWhatIMeanSupport findNodeForInterval:(self selectionStartIndex to:self selectionStopIndex) in:self contents string. (node notNil and:[node isMessage]) ifTrue:[ + dwim := DoWhatIMeanSupport new. + dwim setClass:cls andContext:nil. + dwim setSelf: simulatedSelf. targetClass := dwim classOfNode:node receiver. + targetClass notNil ifTrue:[ targetImplClass := targetClass whichClassImplements:(node selector). targetImplClass notNil ifTrue:[ @@ -1764,7 +1783,7 @@ ] ifFalse:[ codeToEvaluate := (self selectionOrTextOfCursorLine ? '') withoutSeparators. ]. - idx := codeToEvaluate indexOf:'»'. + idx := codeToEvaluate indexOf:'»'. idx ~~ 0 ifTrue:[ selector := (codeToEvaluate copyFrom:idx+1) withoutSeparators string. (selector startsWith:'#') ifTrue:[ @@ -1897,11 +1916,10 @@ ] ifFalse:[ (cls notNil and:[ cls nameSpace notNil - and:[ cls nameSpace isNameSpace and:[ nameOfVariable knownAsSymbol and:[ (nsClass := cls nameSpace at:nameOfVariable asSymbol) notNil and:[ nsClass isBehavior - ]]]]]) ifTrue:[ + ]]]]) ifTrue:[ "/ a namespace class? browserClass browseReferendsOf:nsClass name ] ifFalse:[ @@ -2009,8 +2027,8 @@ ('Implementors of It' browseImplementorsOfIt ImplementorsOfIt ) ('References to It' browseReferencesToIt ) "/ ('Classes Containing It in Name' browseClassesContainingItInName ) -"/ ('Methods Contaníning It in Name' browseMethodsContainingItInName ) -"/ ('Methods Contaníning It in Source' browseMethodsContainingItInSource ) +"/ ('Methods Contaníning It in Name' browseMethodsContainingItInName ) +"/ ('Methods Contaníning It in Source' browseMethodsContainingItInSource ) ('-' ) ('TimeIt' timeIt ) ('SpyOnIt' spyOnIt )) diff -r f729645cc31a -r 50c1bb3e9f98 XPToolbarIconLibrary.st --- a/XPToolbarIconLibrary.st Fri Nov 18 21:10:35 2016 +0000 +++ b/XPToolbarIconLibrary.st Fri Nov 18 21:15:56 2016 +0000 @@ -6903,11 +6903,13 @@ ^Icon - constantNamed:'XPToolbarIconLibrary fileTypeTextHtmlIcon' - ifAbsentPut:[(Depth8Image new) width:16; height:16; bits:(ByteArray fromPackedString:' -@@@A@PDA@PDA@PDC@@@@@@@@@PPDA@PDA@ OBP(@@@@@@@LKB04GB04KC08OC0@@@@@ED@,KB3H3I3$ODP<@@@@@@S()J49NS$9LR44O@@@@@@<7JT9QTUER -S#9JDP@@@@@QK4=NT5IQT%INI!!D@@@@@E$9RT$9QTUMRT$8V@@@@@A]NTUMSTUESTUINE0@@@@@YS%EST%EQT%MQS!!$@@@@@HD9QTUEQT5ISTT8 @@@@@BD8 -S%EQTUESTD9HHP@@@@@!!PC5NTUEQS49IJBD@@@@@H"H"H"H"H"H"H"H"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[255 255 255 192 192 190 248 248 250 204 202 200 252 250 250 196 198 200 224 226 230 255 254 250 252 254 250 216 216 220 188 188 190 252 252 250 228 230 230 240 242 240 200 214 220 188 190 190 248 250 250 188 186 190 244 244 240 232 230 230 224 224 220 0 0 0 184 186 190 184 184 180 248 246 250 180 182 180 180 180 180 244 244 250 176 178 180 172 174 170 244 242 240 248 246 240 172 172 170 156 158 160 144 144 140 217 217 217 228 228 228 250 250 250 221 221 221 214 214 214 249 249 249 233 233 233 224 224 224 226 226 226 247 247 247 218 218 218 220 220 220 242 242 242 15 15 116 93 93 178 237 237 237 230 230 230 241 241 241 232 232 232 238 238 238 240 240 240 251 251 251 173 173 173 236 236 236 120 4 4 183 90 90 248 248 248 219 219 219 234 234 234 253 253 253 243 243 243 225 225 225 55 146 70 0 91 12 244 244 244 229 229 229 222 222 222 246 246 246 227 227 227 208 208 208 190 190 190 209 209 209 189 189 189 149 149 149 85 85 85 85 149 149 90 140 200 149 149 85 165 165 85]; mask:((ImageMask new) width:16; height:16; bits:(ByteArray fromPackedString:'O?@?>C?C?