[squeak-dev] Change in LazyListMorph breaks MulticolumnLazyListMorph.

Christopher Oliver current.input.port at gmail.com
Thu Dec 15 21:23:04 UTC 2011


On Thu, 15 Dec 2011 13:39:13 -0600
Chris Muller <asqueaker at gmail.com> wrote:

> Hmm, I guess I'm still left with no clue how to see the problem you saw...   :(

Ok.  Once more with feeling.

>From the eIRC walkback:

FormCanvas sends MulticolumnLazyListMorph a drawOn:

This is handled via superclass LazyListMorph: which send itself
	self display: (self item: row) asStringOrText atRow: row on: aCanvas.

MulticolumnLazyIRCListMorph gets the display:atRow:on:, but there is no longer a way to
distinguish the individuals column items because it's all one string now.  McLILM blindly
sends the ByteString a with:do: hoping to iterate over the column items, but instead
iterates over characters.  BTW: this method is a copy of the parent method in McLLM, but
that shouldn't be of significance; there is no super send, so this is merely redundant.

Do you see the difficulty now?  McLLM and its subclasses expect a collection of things
to display in the columns to method display:atRow:on:, and LLM's flattened this collection
to a single string destroying necessary information.  Not good!

-- 
Christopher Oliver <current.input.port at gmail.com>



More information about the Squeak-dev mailing list