TxText: More Cleaning and Questions
Questions first: - TxModel class comment - "I don't provide a direct interface for mutating/editing my data (and this is a very important point). Instead I am modified using position(s) (TxTextPosition) and/or selection(s) (TxInterval/TxSelection), providing a rich protocol for various operations over text." That sounds intriguing, but why is that so significant? - TxForeColorAttribute - Why not TxFontColorAttribute? Is the fore/font distinction important? - TxXyzAttribute - can we remove the 'Attribute' from all but the base class? e.g. TxFontAttribute -> TxFont - TxStyle - why both #at: and #get:? Then a bit of cleaning... Issue 15475: TxText Cleanup for Pharo 5.0 #2 https://pharo.fogbugz.com/default.asp?15475 - TxXyzMorphs - Push up #openInWindowWithString:, #openInWindowWithText:, and #text, which each had two materially-identical implementations - Clean examples - TxModel - enhance class comment - TxStyle - Enhance class comment - Clean #removeAll comment - TxTextStyle - Enhance class comment - Clean #addStyle: comment - Clean #extend:with: comment ----- Cheers, Sean -- View this message in context: http://forum.world.st/TxText-More-Cleaning-and-Questions-tp4823894.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Sean P. DeNigris wrote
Questions first:
Oh I forgot these... - Why TxBasicSpan instead of just TxSpan? - TxModel has 4 nearly identical methods for selection - #newSelection, #select, #selectAll, and #selection. How do we pare that down? ----- Cheers, Sean -- View this message in context: http://forum.world.st/TxText-More-Cleaning-and-Questions-tp4823894p4823895.h... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
On 03 May 2015, at 06:27, Sean P. DeNigris <sean@clipperadams.com> wrote:
Sean P. DeNigris wrote
Questions first:
Oh I forgot these... - Why TxBasicSpan instead of just TxSpan?
TxAbstractSpan?
- TxModel has 4 nearly identical methods for selection - #newSelection, #select, #selectAll, and #selection. How do we pare that down?
Yes all of them answer a selection that cover the whole text. So #selectAll sounds like a good name and the others could be deprecated.
----- Cheers, Sean -- View this message in context: http://forum.world.st/TxText-More-Cleaning-and-Questions-tp4823894p4823895.h... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Sean P. DeNigris wrote
a bit of cleaning... Issue 15475: TxText Cleanup for Pharo 5.0 #2
Finally passed validation! Okay to include? ----- Cheers, Sean -- View this message in context: http://forum.world.st/TxText-More-Cleaning-and-Questions-tp4823894p4824054.h... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Sean P. DeNigris wrote
Sean P. DeNigris wrote
a bit of cleaning... Issue 15475: TxText Cleanup for Pharo 5.0 #2 Finally passed validation! Okay to include?
Now there are: - Issue 15475: TxText Cleanup for Pharo 5.0 #2 - Issue 15481: TxText Cleanup for Pharo 5.0 #3 Both have passed validation. They are almost entirely cleanups. The only slight API change is in #3 (with a semantic minor version bump to the config): - [ENH]: Remove TxModel>>#getAttribute:, which makes no sense - you must ask a span or position for an attribute, not a text - [ENH]: Rename TxModel>>#import: -> #replaceAllWith: Actually managing via config is pretty cool because I was able to easily build #3 on #2. So, if we like both, only #3 has to be integrated. ----- Cheers, Sean -- View this message in context: http://forum.world.st/TxText-More-Cleaning-and-Questions-tp4823894p4824261.h... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Sean P. DeNigris wrote
- Issue 15475: TxText Cleanup for Pharo 5.0 #2
Okay to include? I'd like to resume cleaning but don't want to get too deep before some of this gets integrated... ----- Cheers, Sean -- View this message in context: http://forum.world.st/TxText-More-Cleaning-and-Questions-tp4823894p4824535.h... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
yes, I will do it now :)
On 05 May 2015, at 13:22, Sean P. DeNigris <sean@clipperadams.com> wrote:
Sean P. DeNigris wrote
- Issue 15475: TxText Cleanup for Pharo 5.0 #2
Okay to include? I'd like to resume cleaning but don't want to get too deep before some of this gets integrated...
----- Cheers, Sean -- View this message in context: http://forum.world.st/TxText-More-Cleaning-and-Questions-tp4823894p4824535.h... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
EstebanLM wrote
yes, I will do it now :)
- Issue 15475: TxText Cleanup for Pharo 5.0 #2 Okay to include? I'd like to resume cleaning but don't want to get too deep before some of this gets integrated...
Thanks for integrating :) Sorry! I listed the older issue by mistake. The latest is: Issue 15481: TxText Cleanup for Pharo 5.0 #3 ----- Cheers, Sean -- View this message in context: http://forum.world.st/TxText-More-Cleaning-and-Questions-tp4823894p4824626.h... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
ha, I knew it.. ok, integrating :P
On 05 May 2015, at 16:26, Sean P. DeNigris <sean@clipperadams.com> wrote:
EstebanLM wrote
yes, I will do it now :)
- Issue 15475: TxText Cleanup for Pharo 5.0 #2 Okay to include? I'd like to resume cleaning but don't want to get too deep before some of this gets integrated...
Thanks for integrating :) Sorry! I listed the older issue by mistake. The latest is: Issue 15481: TxText Cleanup for Pharo 5.0 #3
----- Cheers, Sean -- View this message in context: http://forum.world.st/TxText-More-Cleaning-and-Questions-tp4823894p4824626.h... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
On 03 May 2015, at 06:25, Sean P. DeNigris <sean@clipperadams.com> wrote:
Questions first: - TxModel class comment - "I don't provide a direct interface for mutating/editing my data (and this is a very important point). Instead I am modified using position(s) (TxTextPosition) and/or selection(s) (TxInterval/TxSelection), providing a rich protocol for various operations over text." That sounds intriguing, but why is that so significant?
I think itâs related to TxText focus on locality: since you want that every operation takes constant time you cannot provide operations that take indexes. Instead you use positions/cursors and intervals/selections because they know to which spans they correspond.
- TxForeColorAttribute - Why not TxFontColorAttribute? Is the fore/font distinction important?
Maybe itâs just to be symmetric with TxBackColorAttribute. IMO youâre right, TxBackgroundColorAttribute and TxFontColorAttribute are more intention revealing.
- TxXyzAttribute - can we remove the 'Attribute' from all but the base class? e.g. TxFontAttribute -> TxFont
Maybe. It would be more concise, but a TxFontAttibute is not a font, it just refers to a font.
- TxStyle - why both #at: and #get:?
I guess #get: is what you want almost all the time. We should check where #at: #at:ifAbsent: is used.
Then a bit of cleaning... Issue 15475: TxText Cleanup for Pharo 5.0 #2 https://pharo.fogbugz.com/default.asp?15475 - TxXyzMorphs - Push up #openInWindowWithString:, #openInWindowWithText:, and #text, which each had two materially-identical implementations - Clean examples - TxModel - enhance class comment - TxStyle - Enhance class comment - Clean #removeAll comment - TxTextStyle - Enhance class comment - Clean #addStyle: comment - Clean #extend:with: comment
Great!!
----- Cheers, Sean -- View this message in context: http://forum.world.st/TxText-More-Cleaning-and-Questions-tp4823894.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Thanks for the answers! I'll add them to the roadmap... camille teruel wrote
you cannot provide operations that take indexes... Instead you use positions/cursors and intervals/selections because they know to which spans they correspond.
I guess it makes sense because the model can just provide generic operations that rely on the positions/intervals... ----- Cheers, Sean -- View this message in context: http://forum.world.st/TxText-More-Cleaning-and-Questions-tp4823894p4824243.h... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
participants (3)
-
Camille -
Esteban Lorenzano -
Sean P. DeNigris