If layout hints are anything UI specific, they don't belong
into the core model. The core model should remain client
agnostic. It doesn't make sense to add UI specific elements that
don't have a meaning in other contexts (i.e. CLI). With regard
to this, I would prefer model elements that work across
contexts, yet allow us to cover the use cases of most clients
that work on the model. ModelType.TEXT and other suggestions
(ModelType.DATE) fall into this category.
As food for thought, we also discussed the addition of
another ModelType.TEXT.
I
kind of like that idea. If the rule is that a ModelType
is all that is provided for layout hints then we should
think long and hard about every UI type we will need.
ModelType.DATE comes to mind.
Note
that I'm not making a slippery-slope argument here. I
think the number of these we really need is finite. I
think we would need to answer two questions:
1)
What are all the types we need?
2)
Is just using ModelType enough or would we need a layout
hint attribute anyway?