Hello there!
I have been tasked with creating an installer for our monitoring solution. Unfortunately, WiX Toolset is one hell of a burden to work with, so I want to attempt to do so with Go/Gio instead and see if that is any better.
However, due to my visual impairment, my sense of layout and distance is very bad – so there are a few things that I am looking for:
* Is there a grid/layout system? I did see the widgets and a link to layout - but so far have not found exactly what I am after. Basically, in webdev, we have grid layouts with flexbox and friends. Is there something similar with Gio that I could use to worry less about placement of widgets?
* What is the most central place to read up on all the components?
* I had initially thought of just spawning each "page" of the installer as a new window. Is there potentially a better approach I am overlooking?
The last time I worked with a GUI library was with FLTK in C++ about a decade ago... apologies if I overlooked something :). (Webdev is by far not the same as something like FLTK, nuclear, LVGL and friends).
Mit freundlichen Gruß / Kind regards,
Kevin Ingwersen
Technik
Mailkevin.ingwersen@senpro.it
Telefon+49 6404 6580351
Webwww.senpro.de
Besuchen Sie uns auf LinkedIn!
Senpro IT GmbH • An der Kirche 2 • 35463 Fernwald • Deutschland
Geschäftsführer: Andrea Bartunek & Carsten Jockel
Handelsregister: Amtsgericht Gießen - HRB 6814
Ust.-IdNr. DE260155735
Datenschutzerklärung: https://www.senpro.de/datenschutz.html
This message is confidential. It may also be privileged or otherwise protected by work product immunity or other legal rules. If you have received it by mistake, please let us know by e-mail reply and delete it from your system; you may not copy this message or disclose its contents to anyone. Please send us by fax any message containing deadlines as incoming e-mails are not screened for response deadlines. The integrity and security of this message cannot be guaranteed on the Internet.
On Tue, Sep 17, 2024 at 8:42 AM Kevin Ingwersen
<Kevin.Ingwersen@senpro.it> wrote:
>
> Hello there!
Hi!
> I have been tasked with creating an installer for our monitoring solution. Unfortunately, WiX Toolset is one hell of a burden to work with, so I want to attempt to do so with Go/Gio instead and see if that is any better.
>
> However, due to my visual impairment, my sense of layout and distance is very bad – so there are a few things that I am looking for:
>
> * Is there a grid/layout system? I did see the widgets and a link to layout - but so far have not found exactly what I am after. Basically, in webdev, we have grid layouts with flexbox and friends. Is there something similar with Gio that I could use to worry less about placement of widgets?
There's not a CSS-style grid, but we have a layout primitive similar
to a flexbox called layout.Flex. It can partition space in either a
row or a column between rigidly-sized or flexibly-sized children, and
it can handle cross-axis alignment and allocating leftover space as
well.
> * What is the most central place to read up on all the components?
Hmm. Well, we have this page to discuss the layout primitives:
https://gioui.org/doc/architecture/layout
As for individual widgets, the package docs here may be the best
place: https://pkg.go.dev/gioui.org/widget/material
> * I had initially thought of just spawning each "page" of the installer as a new window. Is there potentially a better approach I am overlooking?
Gio layout is just function calls. You can define a enum-like variable
for which page you're on that is updated by the UI. At the top-level
layout function, you can switch on this variable to invoke completely
different layout functions implementing each of your pages. This will
be much less jarring that opening and closing many windows.
Cheers,
Chris