A good name for a GUI library?

Abdulhaq alynch4047 at gmail.com
Mon Mar 15 12:40:38 UTC 2021


On Sunday, 14 March 2021 at 23:57:26 UTC, Mark Lagodych wrote:

> My roadmap is:
>
> 1. Create a framework with event-driven programming and a nice 
> OOP entry point. (Reimplantation of QApplication class and 
> event-flavoured C++).
>
> 2. Create a module called "platform". It will be a middle-level 
> abstract interface to a system API. No pretty widget class 
> hierarchy/string translations/advanced resource loading. Plain 
> functions for creating, destroying, modifying widgets and some 
> capabilities of drawing with OpenGL or whatever.
> Porting my library to a new platform might be as simple/hard as 
> reimplementing "platform.d"
>
> I target:
> - easy use of both native and owner-drawn gui
> - easy use of native features (system notifications (as a sort 
> of message boxes), window transparency, drag-and-drop)
> - Linux and Windows because I have them installed on my PC
>
> 3. Pretty widget class hierarchy that basically just glues up 
> high-level (1) and middle-level (2) parts of the library.
>
> I target:
> - high extensibility (what about implementation of QML? 
> MsExcel-like widget? Syntax highlighting in TextEdit? I 
> probably won't do that, but I'll leave an opportunity for 
> somebody else)
> - string translations, theming.

that should keep you busy for a while :-). When you say "native" 
GUI I'm guessing you mean Win32 for Windows / GTK for linux? Do 
you see OpenGL fitting in anywhere? I confess I'm out of touch 
for desktop GUI libraries because I'm currently working in the 
mobile platform arena with Flutter, and previously for all my 
desktop oriented work I've reached for Qt.

It's exciting launching a big project like this and I wish you 
well. Please keep us updated, it would be very interesting to 
hear of the challenges you face as you go along, and the 
solutions you employ to get past them. If you write a blog I'd 
definitely follow along.


More information about the Digitalmars-d mailing list