Need sounding board for GUI library

Boyd gaboonviper at gmx.net
Sun Dec 15 08:29:57 PST 2013


On Sunday, 15 December 2013 at 15:35:19 UTC, MrSmith wrote:
>> I Have not yet uploaded it, though I would like to. Where 
>> would be a good place to put it?
> Look for github. They also have pretty convenient client for 
> Windows.
Thanks, I've already created an account. I'm currently building 
the directory structure.

> Do widgets internally hold their position and size or they are 
> recalculated every time gui is rendered?
The container of the widget is responsible for positioning and 
sizing the children. This container generally remembers where the 
widgets are, but not necessarily.

Also, the widgets cache their own last known size, which is 
needed for some events.

> When widget will relayout its children.
Layout will be redetermined if the container widget decides this.

> How are you drawing text?
I currently use ExtTextOutW if that's what you mean.

> What type of string do use for text rendering (string, wstring, 
> dstring etc)?
regular string.

> Do you plannig to do declarative markup like QML or XUL?
Yes, I'm working on a format that defines themes and I'm trying 
to figure out how to best implement multilingual information.

> Do you have any working text editing components?
Yes, a simple one. I'm also working on one that allows markup, 
but it'll take some time

> Have you looked at QTQuick/DQuick? 
> https://github.com/D-Quick/DQuick
>
>> Also Widgets don't have any positional information in them, or 
>> style information. This is one of main issues I have with the 
>> existing GUI libraries.
> Does it mean that you have one theme for the whole application. 
> Do you have any size restrictions in your widget styles or it 
> is pure appearence information? If later it is fine.

It's a bit more complicated than that. The standard widgets I'm 
working on will not allow you to specify any style information 
directly, you can't even set the text of a button. You will be 
able to specify the functional aspects of the widget and the 
name. This name is later used by the theme system to determine 
the style of the widget.

This done to get a better separation of functionality and 
presentation.

If you do want information from the application into the style, 
you will have to send the information as a parameter to the style 
which determines what to do with it.


More information about the Digitalmars-d mailing list