Yes, you are absolutely right John and again I’m sorry that I did not initially see the relevance of your question for this list.
I do now and I like your ideas :-) > On 15 Dec 2018, at 22:06, John Hendrikx <hj...@xs4all.nl> wrote: > > > I asked here because, although not a bug, it may be a good feature to support > -- and I was looking for confirmation that this really isn't currently > possible. It's not a bug because a rotation transform is expected to not > change the layout bounds. Making use of Group fixes the layout bounds but > makes it impossible to do proper dynamic layouts with labels that have been > rotated 90 degrees. > > Questions similar like this one, without good resolutions, show up on forums > and stackoverflow, and, looking at the bug database, I think even some of the > graph components part of JavaFX that support rotated labels have similar > layout problems when texts needs to be cut-off or reflowed in such labels. > > I even looked at MigLayout already, and noticed a similar issue reported > there where rotated labels are not handled properly, probably because the > layout bounds don't take the rotation into account, which no doubt MigLayout > relies on to do its thing. > > Now, I would love to contribute a fix for this (I contributed some small > things before), however I think this might be a tough issue to resolve. The > way I see it, this cannot be solved without Label taking the rotation into > account itself and providing proper layout bounds -- this is needed because > Label decides if text reflow needs to occur depending on where it is placed, > and this information is lost when it is put in a Group. > > So I think Label(ed) would need a new Rotate property, which only supports 0, > 90, 180 and 270 degrees, or perhaps an extension to the text direction > property (left-right, right-left, top-down, down-top), but I think that it > serves a different purpose that is independent from rotation. > > With this extra information, Label can then do the proper layout calculations > with potential reflow of text and provide correct layout bounds. The actual > text rendering would also need to be rotated somehow, and I'm not quite sure > how that would be accomplished yet for Labels. > > All in all, it sounds like quite some effort that would need a good design, > especially since Label already has a short-cut property to add a Rotate > transform that cannot be re-used for this, so a new property would have to > make the difference very clear. > > --John > >> On 15/12/2018 09:18, Tom Eugelink wrote: >> It's a bit grey. If this goes towards a bug in the layout, it could be >> considered OpenJFX development. It could also go towards a patch, >> because instead of using Canvas I would suggest (John) to look at the >> HBox and see if you can figure out why it is not doing what you want. >> And if that is too complex; write a layout that does this, and >> contribute it to OpenJFX, ControlsFX or JFXtras. (I believe OpenJFX also >> is the sum of all the extending libraries, not making the suck-it-all-in >> mistake Java made.) The layout logic should be similar to when doing it >> in Canvas, only reusable. >> >> Also I have found that when rotating is involved, a lot of layouts do >> not what you expect them to do. Have you given MigLayout a try? It >> sometimes has surprising results (both positive and negative) ;-) >> >> >> >> >>> On 15-12-2018 03:14, John-Val Rose wrote: >>> My feedback would to ask this kind of question on a more appropriate >>> list or forum. >>> >>> I believe this list is exclusively to discuss issues related to the >>> development of OpenJFX itself. >>> >>> Graciously, >>> >>> John-Val >>> >>>> On 15 Dec 2018, at 12:50, John Hendrikx <hj...@xs4all.nl> wrote: >>>> >>>> >>>> (Sent this twice, first message got sent prematurely) >>>> >>>> Hi list, >>>> >>>> I get the impression that rotation of Labels needs to be something >>>> that is directly supported by Label instead of handling this with a >>>> Rotate transform (setRotate). >>>> >>>> I want to achieve something quite trivial if no rotation was >>>> involved, a layout like this, an HBox with 3 labels in it: >>>> >>>> +-HBox------------------------------------------------------------+ >>>> | | Long text that can reflow to multiple | | >>>> | Short Text | lines if needed... | Short Text | >>>> | | | | >>>> +-----------------------------------------------------------------+ >>>> >>>> The center label would be given grow Priority.ALWAYS. >>>> >>>> Now... the rotated version just goes wrong in so many ways. >>>> >>>> First, I need to use Groups in order to get the layout bounds >>>> reasonable... however, these are unaware of how much space is >>>> available and will kill the reflow in the center Label. >>>> >>>> If I put a Group around the whole HBox, the same issue occurs as the >>>> Group blocks any awareness of how big the area is where the three >>>> labels are going to appear, effectively rendering the center label as >>>> one long line. >>>> >>>> What I'm actually trying to achieve is a layout that looks like this: >>>> >>>> +----+-------------------+ >>>> | T | | >>>> | e | | >>>> | x | | >>>> | t | | >>>> +----+ | >>>> | | | >>>> | T | | >>>> | e | Image | >>>> | x | | >>>> | t | | >>>> | | | >>>> +----+ | >>>> | T | | >>>> | e | | >>>> | x | | >>>> | t | | >>>> +----+-------------------+ >>>> >>>> Except of course the left area should be the rotated HBox. >>>> >>>> Is this really not possible at the moment, without using a Canvas or >>>> something and a lot of layout calculations (to get reflow working)? >>>> >>>> Any feedback appreciated :) >>>> >>>> --John >> >>