Perhaps the header bar should be a part of a new top-level container? We may or may not need EXTENDED, if for example, the stage can examine whether the scene contains that particular type of container and drops the native title bar, or something like that? (Do we really support setting a different Scene to an existing Stage?)
Maybe is it asking too much, and it's not worth it. -andy From: openjfx-dev <openjfx-dev-r...@openjdk.org> on behalf of Kevin Rushforth <kevin.rushfo...@oracle.com> Date: Thursday, October 24, 2024 at 15:18 To: openjfx-dev@openjdk.org <openjfx-dev@openjdk.org> Subject: Re: [External] : Re: JEP: JavaFX controls in the title bar If you want arbitrary content in it, then it should be a container in the scene graph. The idea of a layout container added directly to the stage doesn't seem clean to me. -- Kevin On 10/24/2024 3:14 PM, Andy Goryachev wrote: Continuing this line of thought, maybe when .initHeaderBar() is called the DECORATED stage loses its native title bar and gets the FX one, without the need to introduce the EXTENDED style? Also it becomes impossible to create more than one header bar, or place it in a weird location? -andy From: Thiago Milczarek Sayão <thiago.sa...@gmail.com><mailto:thiago.sa...@gmail.com> Date: Thursday, October 24, 2024 at 13:06 To: Andy Goryachev <andy.goryac...@oracle.com><mailto:andy.goryac...@oracle.com> Cc: Michael Strauß <michaelstr...@gmail.com><mailto:michaelstr...@gmail.com>, openjfx-dev <openjfx-dev@openjdk.org><mailto:openjfx-dev@openjdk.org> Subject: [External] : Re: JEP: JavaFX controls in the title bar Correcting the idea, it should be stage.initHeaderBar(), because it must know the window would be undecorated and have resize grips "installed". Em qui., 24 de out. de 2024 às 16:09, Thiago Milczarek Sayão <thiago.sa...@gmail.com<mailto:thiago.sa...@gmail.com>> escreveu: Em qui., 24 de out. de 2024 às 12:11, Andy Goryachev <andy.goryac...@oracle.com<mailto:andy.goryac...@oracle.com>> escreveu: Thank you. One suggestion: in the "what is the EXTENDED stage style?" section, is it possible to provide a table showing which elements are provided by the OS and which are provided by FX, and which are not provided, per platform? That is, columns: Feature | Linux | macOS | Windows | iOS | Android Rows: Open/Close/... buttons, application title, dragging window using title, double click to maximize, rounded corners, resize borders, etc. Also, since the JEP mentions that platform buttons are "superimposed", does it mean FX can style and place things underneath the platform decorations? Is the platform title bar background used in the area occupied by the platform buttons, or only the buttons are superimposed? HeaderBar: I think the requirements / rules for this component need to be further explained/clarified. Can an app add two HeaderBars? What happens when the HeaderBar is added at the bottom? Or maybe the EXTENDED style needs to create the top level container automatically so there is only one header bar which is on top? When the header bar is empty, does it have the minimum height - maybe determined by the platform buttons or a typical platform title bar height? As an alternative, maybe we should, instead of inventing a new stage style, provide a Region that hosts the native open/close/system menu/... buttons? Or do we actually need the EXTENDED style for its borders and shadows? Sounds like a good idea, maybe stage.setHeaderBar(), which can be the HeaderBar provided or a custom Control (any control, or that extends HeaderBar, because the reserved space on Mac). This also limits the control usage on the top. Thank you -andy From: openjfx-dev <openjfx-dev-r...@openjdk.org<mailto:openjfx-dev-r...@openjdk.org>> on behalf of Michael Strauß <michaelstr...@gmail.com<mailto:michaelstr...@gmail.com>> Date: Tuesday, October 22, 2024 at 16:55 To: openjfx-dev <openjfx-dev@openjdk.org<mailto:openjfx-dev@openjdk.org>> Subject: JEP: JavaFX controls in the title bar Hi everyone, the discussion in PR #1605 has shown that the proposed feature needs a better presentation in a JEP-like format, so here it is: https://gist.github.com/mstr2/0befc541ee7297b6db2865cc5e4dbd09<https://urldefense.com/v3/__https:/gist.github.com/mstr2/0befc541ee7297b6db2865cc5e4dbd09__;!!ACWV5N9M2RV99hQ!OMBgTxEFnkDxpPEvwvaxENaKJtvsfosjT-QEULoNnd2Gm40uBslpmCh7L_n21jZM7mBr_UCf5b3S-bHEw5fDp_HHxdA$>