Using wxWidgets as a platform aware layer for a new UI paradigm

78 views
Skip to first unread message

rohit agarwal

unread,
May 7, 2021, 11:11:56 AM5/7/21
to wx-...@googlegroups.com
Hi.

I am designing a new UI paradigm for PCs that is a based on a hexagonal (not-cartesian) grid.
The UI does not require mouse input. Instead on-screen selection is done
via a map of the typewriter keys (trapezoid shaped) to an on-screen hex-grid.
All drawing is done on the hex-grid using new drawing techniques designed for this grid.
This means the only graphics function this UI needs is Blit.
On the input side, mouse events.

I’m writing an app for an Mi chip based Mac for drawing on a hex-grid.
I find I only need a very small subset of the functionality offered by wxWidgets for my purpose.
Therefore, I would like to create a subset of wxWidgets that meets all the requirements of this new UI
that can be deployed on multiple platforms
And that would give a me a better understanding of the code below me.

I have running code on a MacMini(M1) connected to an HP keyboard and a 20” 1600x900 HP monitor
That would give an idea of how the UI would work and what a hex-grid looks like.

I’m looking for a sub-system level description of wxWidgets so I can start pruning out from there.

Thanks.

Rohit Agarwal

http://www.hex-draw.com

rohit agarwal

unread,
May 8, 2021, 2:47:58 AM5/8/21
to wx-...@googlegroups.com
What this means is adding a layer above wxWidgets’s current UI layer
(which is the commonly used WIMP UI)
that provides access to this new simplified UI paradigm.
This new layer could be an add-on to wxWidgets like say “wxHexMap'
It would pick and choose which parts of wxWidgets’s WIMP UI it would use.

In the previous message first paragraph,
'On the input side, mouse events.’
should be
> On the input side, keyboard events.
> --
> To unsubscribe, send email to wx-dev+un...@googlegroups.com
> or visit http://groups.google.com/group/wx-dev
>
> ---
> You received this message because you are subscribed to the Google Groups "wx-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to wx-dev+un...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/wx-dev/BDF83744-4001-4C1D-9ECE-F73B5462B824%40khitchdee.net.

rohit agarwal

unread,
May 18, 2021, 4:19:50 AM5/18/21
to wx-...@googlegroups.com
The goodness of wxWidgets lies in the abstractions it provides through C++
to access platform functionality across platforms.
The language matters, since MS has gone towards C# and Apple towards ObjectiveC/Swift.
The result being even if you want to do simple things on either platform,
you have to learn a new language first.
Having said that, setting aside some of the more common things
and how they are dealt with across platforms,
the UI is the primary thing that a developer starts with.
All current platforms use WIMP, Windows, Icons, Menus and Pointers.
Therefore wxWidgets in providing a WIMP based UI library got the job done well.

I’m proposing a UI layer that is not command-line, it is graphic
and it does not use W,I,M or P.
All apps are full-screen,
icons are not canned, but application specific,
there are no canned menus
and the mouse is not a pointer for selecting stuff on screen.

This UI is an extension of the idea of keyboard short-cuts
with the ability to select space on screen through a keyboard-screen map.
It leads to far greater usage efficiency since there’s one less thing to manipulate in the interface (the mouse)
It would be specially useful in the design of CAD tools and engineering apps
that have a higher and more complex interaction requirements between the user and the app.
> To view this discussion on the web visit https://groups.google.com/d/msgid/wx-dev/3F02F2EA-CCBE-4CE2-A7AB-2557C7C7B662%40khitchdee.net.

Reply all
Reply to author
Forward
0 new messages