From: Kasemir, K. <kas...@or...> - 2013-02-08 15:36:53
|
>>* Our GDA team use the window builder ... using SWT >>layouts. One thing that we briefly discussed at DLS are layouts. Programmatically created Eclipse views tend to use layouts. HTML pages use layouts. Layouts are great for panels that should re-size. Simply zooming in/out isn't quite as good as automatically wrapping around into the next line etc., i.e. having a proper layout. BOY does actually provide a layout: A basic grid layout, N columns. Fundamentally, there could be more layouts. I see layouts in a control system display tool have a strong use case for automatically created displays. On the other hand, fixed pixel positions also have a strong use case. When people casually create displays, it is MUCH easier for them to simply place the widgets in a fixed location, what-you-see-is-all-you-get. With layouts, you need to worry about layout constraints like "to-the-right-of-Š with a gap of Š resizing as follows". You need to actually play with your display, re-size it to test if it works as you intended. Takes much longer to get it right. When displays are shown in the control room, it can also be important that critical components don't "move". Operators get used to seeing the XYZ in that corner of the display. They can spot it across the room. Muscle memory takes over: If this indicator turns yellow, push the bottom that's at 19'o'clock from it. If the display layout changes depending on the panel size, the XYZ can suddenly be in an unexpected location. So there are two basic ideas, somewhat incompatible: * It has to be like (M)EDM. On login, all those displays must show up as separate windows in exactly the right location. Operators are used to this. If things move on the screen, people will die because operators miss key indicators. * It should be like a web browser. Each user can open/close displays as they want. We need layouts so widgets re-flow as panel sizes change. Thanks, Kay |