Ideas for a brand new widget toolkit

Ramon spam at thanks.no
Tue Aug 20 07:56:13 PDT 2013


Front up:

As it seems nobody heftily disagrees with my groupings. While I
myself am (as probably many others) in the 1 & 3 camp (looking
for some kind of GUI-kit that is less massive than gtk, qt, etc.
and runs pretty everywhere. - and - Add a GUI toolkit to D) I
took note that there is also a not insignicant need from the 2
group (Looking for sophisticated GUI, possibly mainly for games,
video
etc.).

If I'm not badly mistaken, the 2 groups needs will basically
need/could be addressed by OpenGL. *Please, correct me, if I'm
fundamentally wrong!*


On Tuesday, 20 August 2013 at 01:28:10 UTC, Gambler wrote:
> IMO, a useful start would be choosing a moderately real-life 
> use case
> and stepping through imaginary code or markup that would be 
> required for
> it to work using each proposed approach (including data 
> binding, event
> handling and so on).

Well, yes and no. Actually I think that pretty everyone here
(i.e. people who have a gui need of whatever detail sort) does
have a pretty clear picture of "reasonable basics". Let me name
it:

- Windows (surprise! *g)
- Menus
- the "standard" controls (text boxes, lists, combos, ...)
- font handling
- supporting well established mechanisms like DragnDrop
- and - importantly - a design that allows for creation of more
complex widgets (like spreedsheats) using the basic ones.

On Tuesday, 20 August 2013 at 07:15:38 UTC, Jacob Carlborg wrote:
> On 2013-08-19 23:01, Ramon wrote:
>
>> - Whatever we come up with should use native controls where 
>> existing and
>> otherwise simulate them using other more basic native controls.
>> This sounds ugly, can, however, actually be a major chance and
>> interesting approach.
>
> If native controls are used then the first step is make sure we 
> have proper and easy to use bindings to these. For example, 
> it's a PITA to access Objective-C frameworks (needed for Mac OS 
> X) form D. So we need this:

Thanks a lot! Important point.
While there has not yet been defined a list of targets I
assume,pretty everybody can agree on "Win/X11/Mac" and possibly
Android (?) with the letter as well as other more exotic targets
being more of a "we had it in mind and ried har to not block the
road, did however not build it for the time being" kind, right?

Which brings up another important point:

Of course, it's seductive to "just get something working". At the
same time though I suspect this attitude to be a major factor for
GUI kits not having been finished or having been condemned to
insignificance.

I'd strongly suggest to not too quickly go to the "let's hack it"
phase but rather to properly develop a design that is sound,
allows for future changes and improvements (wayland, iphone, ...).

That's true for languages, DBs and other stuff, too. The good and
widely accepted ones have a clear "philosophy" and design behind
them, the insigificant or bad ones don't.
Sure, a programmers, we prefer coding but frankly, as *mature*
developers we know about the importance of thinking, discussing
and pondering before approaching the keyboard, don't we?


@Adam D. Ruppe

Thank you. I think those "etudes" can be very helpful. I suggest,
however, no matter how attractive it might be, to *not* just grab
something and hack on it but (sorry for repeating myself) to
think well and profoundly about important criteria and a
"philosophy" and only then begin to develop a sound design
(before we start to hack the beast).

One seemingly paradoxical reasoning behind my point of view is
that we (well, most of us anyway) are not in the gui and graphics
business but merely developers who need a major itching
scratched, preferably once and for all.

Thinking properly about it we will, if, say, a major new OS
target or windowing system comes up, be able to quite quickly
port our gui and be done with it.

Another issue that we might underestimate are colleagues using
completely different languages, say, Python. Shouldn't they - and
wouldn't they love to - have a chance to grok/bind our D gui into
their language, too? And wouldn't that be a major and quite
convincing advertisement for D?

Thanks everyone for your patience with my long posts - Ramon


More information about the Digitalmars-d mailing list