Context Sensitive Gui Library

Rashad Vinshy via Digitalmars-d digitalmars-d at puremagic.com
Fri Apr 10 22:43:12 PDT 2015


CSGL:

I would like to announce the release of my beta library for D!

What is the best plan of action at this point to contribute it to 
the D community? (the library still needs debugging and 
optimization support, I've only tested it on my machine)

For those interested the library hast he following features 
currently supported:


1. CSGL exists on a series of overlays over the workspace - by 
simply design one can simulate traditional gui's.

2. CSGL has context sensitive capabilities - Allows one to change 
the gui depending on what actions have previously taken place.

3. CSGL is intelligent and can find optimal patterns in your work 
flow. You are presented with what you need at that point. The 
self modifying gui can adapt not only visual elements but also 
context sensitive hotkeys, mouse interact, and even things such 
as MIDI, OSC, COM, etc.

4. CSGL has a built in fully capable scripting editor. One can 
not only write their on wrappers around the gui elements but also 
design commonly used macros to reduce complex gui interaction 
tasks. One can even do such things as animation using the 
scripting language

5. CSGL has pluggable modules that can be freely used by any gui 
that recognizes them. One can also access them through scripting.

6. The visual template of the gui can be easily changed through 
the gui template library. (your apps can be reskinned by a few 
clicks)

7. Full multi-monitor support, including automatically tracking 
usage patterns to present the user with the best possible 
scenario.

8. Full User-Edit mode. By a special hotkey the user can go into 
edit mode and configure and edit the different gui elements. The 
same editor is used to the design the gui.


Features to come: Full GUI editor(not done yet). Something like 
Blend.


--

Next week I will be able to upload a working demo that shows off 
some of the capabilities; Some of the graphics treats such as 
alpha channel tricks, along with how context sensitive gui's work.

The demo is a graphics program that essentially changes the gui 
as you change your working actions. If you use the paintbrush 
tool, not only do the other tools reorder themselves, they also 
can(but not necessarily) configure themselves to present to you 
similar choices that were used before in similar contexts. In 
this case(of a new user) a circular swatch is present to the user 
that surrounds the canvas for easy color access that is on it's 
own overlay along with the right mouse button becoming a 
different function(from a secondary drawing tool function to an 
eraser. This was done by scripting side to show how it can be 
used).

Also, If anyone is interested in helping with this project please 
let me know.

Thanks,

RV


More information about the Digitalmars-d mailing list