[Cuis-dev] DSL GUI framework

Juan Vuletich juan at jvuletich.org
Thu Sep 23 13:02:48 PDT 2021


On 9/23/2021 10:15 AM, Hilaire Fernandes via Cuis-dev wrote:
> Le 10/09/2021 à 16:28, Juan Vuletich a écrit :
>> Going back not to spatial composition, but to "time composition" and, 
>> more generally, to the general arquitecture of a GUI application, 
>> this is something I wrote many years ago, and that is not currently 
>> implemented for Cuis: 
>> http://jvuletich.org/Cuis/APatternForGUIProgramming.html . 
>> LightWidgets was a set of widgets I wrote for Cuis around that time. 
>> It wasn't maintained and later abandoned. But it shouldn't be too 
>> hard to build something like that again (or simply to rescue it from 
>> some old Cuis release).
>
> It is a nice rational. If understaod correctly you need the view 
> (morph) to have a specific protocol for LightWidgets.  You can't just 
> take an arbitrary morph (let's say a clock morph as in the Cuis book) 
> and use it directly, you need to integrate it in view with a protocol 
> matching LightWidget, right? (Rule 3)

Yes. It doesn't need to be a LightWidgets specific protocol, but yes. 
This was thought as a set of UI widgets designed specifically to act as 
views on models.

I've never thought about doing this with arbitrary morphs.

For instance, how would a clock morph act as a view on a model? If it 
was to build new clock morph classes, and a new clock model, designing 
the protocol between them would be part of the application. All these 
classes would be part of a specific app, so they don't need to follow 
framework rules.

When I wrote LightWidgets and that doc, I was thinking on a regular 
widget kit, where you have maybe ten kinds of very generic widgets, and 
compose them in different ways to build UIs.

> Nevertheless, it will be tremendously helpful to rationalize the Morph 
> jungle when it comes to GUI building.

I think the first distinction to make is between general, reusable 
widgets on one hand, and app specific morphs on the other.

>> There was a cool way of doing this graphically in mTropolis 
>> (https://www.wikiwand.com/en/MTropolis) an OO multimedia IDE.
>>
>> https://web.archive.org/web/20070909041715/http://www.cbd-hq.com/articles/2000/000501gh_mtropolis.asp 
>>
>>
>> Might spark some ideas.. 
> Interesting idea for end user design of user interface. Something that 
> could be developed on top of a small core.
>
> Hilaire
>
-- 
Juan Vuletich
www.cuis-smalltalk.org
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
https://github.com/jvuletich
https://www.linkedin.com/in/juan-vuletich-75611b3
@JuanVuletich



More information about the Cuis-dev mailing list