[squeak-dev] The Inbox: Morphic-ct.1586.mcz
Marcel Taeumel
marcel.taeumel at hpi.de
Tue Nov 12 13:05:23 UTC 2019
Is it because you do not append "emphasisHere" after your custom emphasis?
Am 12.11.2019 13:15:43 schrieb Thiede, Christoph <christoph.thiede at student.hpi.uni-potsdam.de>:
Only drawback: If you copy the result to use it for another computation, you spread the link formatting all over your code ...
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Taeumel, Marcel
Gesendet: Dienstag, 12. November 2019 10:36:07
An: John Pfersich via Squeak-dev
Betreff: Re: [squeak-dev] The Inbox: Morphic-ct.1586.mcz
+1
Best,
Marcel
Am 10.11.2019 16:07:23 schrieb Thiede, Christoph <christoph.thiede at student.hpi.uni-potsdam.de>:
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von commits at source.squeak.org <commits at source.squeak.org>
Gesendet: Sonntag, 10. November 2019 16:06:26
An: squeak-dev at lists.squeakfoundation.org
Betreff: [squeak-dev] The Inbox: Morphic-ct.1586.mcz
A new version of Morphic was added to project The Inbox:
http://source.squeak.org/inbox/Morphic-ct.1586.mcz [http://source.squeak.org/inbox/Morphic-ct.1586.mcz]
==================== Summary ====================
Name: Morphic-ct.1586
Author: ct
Time: 10 November 2019, 4:06:17.228559 pm
UUID: d752eb23-2116-0945-b043-aff08fed94fd
Ancestors: Morphic-mt.1584
Proposal: Style printIt results as a pluggable link that can be clicked to inspect the result.
To enable this behavior, this commit also extends #insertAndSelect:at: to allow for inserting both strings and texts.
=============== Diff against Morphic-mt.1584 ===============
Item was changed:
----- Method: PluggableTextMorph>>printIt (in category 'menu commands') -----
printIt
| oldEditor |
textMorph editor selectFrom: selectionInterval first to: selectionInterval last;
model: model. "For, eg, evaluateSelection"
textMorph handleEdit: [(oldEditor := textMorph editor) evaluateSelectionAndDo:
[:result |
selectionInterval := oldEditor selectionInterval.
textMorph installEditorToReplace: oldEditor.
+ textMorph handleEdit: [ oldEditor afterSelectionInsertAndSelect:
+ (oldEditor printTextFor: result)].
- textMorph handleEdit: [oldEditor afterSelectionInsertAndSelect: result printString].
selectionInterval := oldEditor selectionInterval.
textMorph editor selectFrom: selectionInterval first to: selectionInterval last.
self scrollSelectionIntoView]]!
Item was changed:
----- Method: TextEditor>>afterSelectionInsertAndSelect: (in category 'new selection') -----
+ afterSelectionInsertAndSelect: aStringOrText
- afterSelectionInsertAndSelect: aString
+ self insertAndSelect: aStringOrText at: self stopIndex !
- self insertAndSelect: aString at: self stopIndex !
Item was changed:
----- Method: TextEditor>>insertAndSelect:at: (in category 'new selection') -----
+ insertAndSelect: aStringOrText at: anInteger
- insertAndSelect: aString at: anInteger
+ aStringOrText isString ifTrue: [
+ ^ self
+ insertAndSelect: (Text string: aStringOrText attributes: emphasisHere)
+ at: anInteger].
- self closeTypeIn.
+ self closeTypeIn.
self selectInvisiblyFrom: anInteger to: anInteger - 1.
self openTypeIn.
self
replace: self selectionInterval
+ with: (Text string: ' ' attributes: emphasisHere), aStringOrText
- with: (Text string: (' ', aString) attributes: emphasisHere)
and: [].
-
self closeTypeIn.!
Item was changed:
----- Method: TextEditor>>printIt (in category 'do-its') -----
printIt
self evaluateSelectionAndDo: [:result |
(model respondsTo: #printIt:result:)
ifTrue: [model
perform: #printIt:result:
with: self selection
with: result]
+ ifFalse: [self afterSelectionInsertAndSelect: (self printTextFor: result)]]!
- ifFalse: [self afterSelectionInsertAndSelect: result printString]]!
Item was added:
+ ----- Method: TextEditor>>printTextFor: (in category 'do-its') -----
+ printTextFor: anObject
+
+ ^ Text
+ string: anObject printString
+ attributes: {PluggableTextAttribute evalBlock: [anObject inspect]}!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20191112/34a5f50d/attachment.html>
More information about the Squeak-dev
mailing list
|