End-user composition of graphical user interfaces by composite pattern
Jean M. Vanderdonckt, Donatien Grolaux · 2019
We present ComPat, an open source visual editor enabling end users to compose graphical user interfaces based on the composite pattern, a common software engineering design pattern: any widget or group of widgets is treated the same way as a single instance of the same type of widget. ComPat exploits a grid of rows and columns, where each cell, regulated by layout constraints, is populated either by direct import of widgets from a palette or by pattern application. In order to compose graphical user interfaces, any portion could be cut, copied, pasted, and treated as a single object thanks to the composite pattern, thus facilitating reusability. Any portion becomes a pattern that can be applied either by direct instantiation or by rewriting. ComPat automatically generates a Java Swing graphical user interface corresponding to the composition and stores its definition in a User Interface Description Language based on a XML Schema.