b) ORC Layout (a) two flow layouts nested in a grid Figure 1: Examples of GUIs combining elements of grid and flow layouts, which can only be realized with ORC layouts. Both (a) and (b) show the results before and after resizing the window. (a) shows a traditional solution with two flow layouts nested in a grid. It looks irregular since the original sizes of the widgets in the toolbars are not the same. Using ORC layouts in (b), we can add constraints that cross-cut the GUI hierarchy, ensuring that the tool buttons all have the same size and hence consistent appearance.
ABSTRACTWe propose a novel approach for constraint-based graphical user interface (GUI) layout based on OR-constraints (ORC) in standard soft/hard linear constraint systems. ORC layout unifies grid layout and flow layout, supporting both their features as well as cases where grid and flow layouts individually fail. We describe ORC design patterns that enable designers to safely create flexible layouts that work across different screen sizes and orientations. We also present the Permission to make digital ORC Editor, a GUI editor that enables designers to apply ORC in a safe and effective manner, mixing grid, flow and new ORC layout features as appropriate. We demonstrate that our prototype can adapt layouts to screens with different aspect ratios with only a single layout specification, easing the burden of GUI maintenance. Finally, we show that ORC specifications can be modified interactively and solved efficiently at runtime.
CCS CONCEPTS• Human-centered computing User interface toolkits.
KEYWORDSGUI builder, layout manager, constraint-based layout, visual interface design, visual programming ACM Reference Format: