- when I read the code of FTmorph I was thinking that a lot of it has not much to do with UI but looks like a model :).
this is not a question :)
I know it was more a general feeling that I wanted to share with you
in the case of rowHeight, it determines how the row looks (and not what it shows) then is UI (IMO)⦠anyway Iâm aware this is not 100% MVC but knowing the height of rows is very important to calculate in a fast way how many rows fit and get the rows from datasource (an operation that happens a lot so is convenient to have it as fast as possible (at least in a âfast tableâ). this do not supports variable height but that can be achieved by extending the table without compromising the performance of the parent(just very few use-cases need a variable height table).
So it means that you could get a default for the first computation = for exemple it tells you that you will have 2- rows then for the displays you could use the real size of each rows and the default row is smaller than the actual size then this is not a problem because you will get less rows.
- if I were about to manage the height of a row based on its actual contents where should I put it. as described, you need to extend the functionality, this is not supported in current version (reason already explained). For me, to support this you need to extend:
- rowHeight should be rowHeightFor: index - visibleRows and around need to take first visible row height, then iterate one by one asking for the each row size. - datasource needs to be extended with ârowHeight: indexâ Yes.
FTTableContainerMorph is containing what is visible but I wonder why it was asking this to the FastTable and to the elements displayed? explained above: speed needs.
Why the ContainerMorph does not ask the FTTableRowMorph for its height and it could be computed based on the font. I still did not get where the strings built. I didnât thought about, thatâs why is not calculating font size :) Also⦠I cannot know your table will contain text⦠thatâs a task for the datasource, then (to answer appropriate row height)⦠but it needs to be fast! :)
:)