Window manipulations

Discuss GUI programming with the RapaGUI plugin here
Post Reply
User avatar
mrupp
Posts: 147
Joined: Sun Jan 31, 2021 7:44 pm
Location: Switzerland
Contact:

Window manipulations

Post by mrupp »

Hi there

I'm implementing an Arexx port for my RapaGUI based "SonosController" and am trying to follow these guidelines here:
https://wiki.amigaos.net/wiki/UI_Style_ ... x_Commands

Just to make sure that I'm not missing something, could you please confirm that the following analysis is correct:

MOVEWINDOW --> not possbile, Window.Left and .Top are readonly
SIZEWINDOW --> not possbile, window.Width and .Height are readonly
CHANGEWINDOW --> not possbile, same reasons
WINDOWTOFRONT --> not possible (or is it?)
WINDOWTOBACK --> not possible (or is it?)
ACTIVATEWINDOW --> possible: moai.Set("mainWindow", "activate", True)
ZOOMWINDOW --> not possible (or is it?)
UNZOOMWINDOWS --> not possible (or is it?)

Also there are no means to iconify or uniconify a window, correct?

Thanks for your help,
Michael
User avatar
airsoftsoftwair
Posts: 5626
Joined: Fri Feb 12, 2010 2:33 pm
Location: Germany
Contact:

Re: Window manipulations

Post by airsoftsoftwair »

mrupp wrote: Mon Jan 15, 2024 1:21 pm MOVEWINDOW --> not possbile, Window.Left and .Top are readonly
Yes, but it's on my to do list, see here: viewtopic.php?t=3742
mrupp wrote: Mon Jan 15, 2024 1:21 pm SIZEWINDOW --> not possbile, window.Width and .Height are readonly
CHANGEWINDOW --> not possbile, same reasons
WINDOWTOFRONT --> not possible (or is it?)
WINDOWTOBACK --> not possible (or is it?)
ZOOMWINDOW --> not possible (or is it?)
UNZOOMWINDOWS --> not possible (or is it?)

Also there are no means to iconify or uniconify a window, correct?
Yes, looks like those aren't possible. Feel free to file feature requests :)
User avatar
mrupp
Posts: 147
Joined: Sun Jan 31, 2021 7:44 pm
Location: Switzerland
Contact:

Re: Window manipulations

Post by mrupp »

Yes, looks like those aren't possible. Feel free to file feature requests :)
Yes, please consider this a feature request to allow the following window manipulations for some next version of RapaGUI:

- make Window.Left, .Top, .Width and .Height settable
- method to bring a window to the front
- method to send a window to the back
- method to zoom a window (like clicking a window's zoom gadget)
- method to unzoom a window (like clicking a window's zoom gadget once more)
- method to get a window's zoom state (not sure if there exists something like this)
- method to iconify a window
- method to uniconify a window
- method to get a window's iconification state

Sidenote: most of these methods are needed to create proper default functions when implementing an ARexx port according to these guidelines:
https://wiki.amigaos.net/wiki/UI_Style_ ... x_Commands

Cheers,
Michael
User avatar
airsoftsoftwair
Posts: 5626
Joined: Fri Feb 12, 2010 2:33 pm
Location: Germany
Contact:

Re: Window manipulations

Post by airsoftsoftwair »

Ok, I'll see what I can do.
User avatar
airsoftsoftwair
Posts: 5626
Joined: Fri Feb 12, 2010 2:33 pm
Location: Germany
Contact:

Re: Window manipulations

Post by airsoftsoftwair »

Is that enough?

Code: Select all

- New: Added Window.ToFront() and Window.ToBack() methods to move a window to the front or to the back of
  the window stack
- New [Amiga]: Added Window.Zoom [SG] attribute; this can be used to programmatically (un)zoom a window 
  and you can also query the current zoom state; additionally, there are the new attributes Window.AltLeft,
  Window.AltTop, Window.AltWidth, and Window.AltHeight (applicability for them all is IG) that allow you
  to set the alternate dimensions and position for the window when it is in zoomed state 
- New: Added Window.Move [N] attribute; you can use this attribute to get notified whenever the user moves
  a window
- New: Added Window.Minimize [SGN] attribute; this allows you to programmatically minimize (iconify) your
  window or restore it from minimized state 
- New [Windows/macOS/Linux]: Added Window.Maximize [SGN] attribute; this allows you to programmatically
  (de)maximize a window, query the maximize state and get notified when a window is maximized
- New: The Window.Left, Window.Top, Window.Width, and Window.Height attributes can now also be set so the
  applicability of them is ISG now; note that if you set those attributes, you must always specify a
  numeric value; the special values like "Centered" are only supported at initialization time
Post Reply