31.05.2013 Views

think-cell technical report TC2003/01 A GUI-based Interaction ...

think-cell technical report TC2003/01 A GUI-based Interaction ...

think-cell technical report TC2003/01 A GUI-based Interaction ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.2 Computer Supported Layout STATE OF THE ART<br />

specified using on-screen buttons. Both, buttons and constraint visualizations, use<br />

iconic representations of the supported constraints.<br />

3.2.2 Automated Layout<br />

As opposed to interactive drawing aids, by automated layout I mean a “specify-<br />

then-solve” approach. In such systems, the user describes the model by declaring<br />

relationships that must hold true and the system configures the model to meet these<br />

requirements. This approach allows a user to specify the important aspects of the<br />

design and have the system resolve the details.<br />

A nested tabular layout can be seen as a set of spatial constraints. Typical<br />

UI toolkits and layout managers, widely deployed examples being Sun JFC/Swing<br />

[Sun02] and Microsoft Foundation Classes [Mic97], are <strong>based</strong> on this idea. These<br />

systems for development and presentation of window <strong>based</strong> user interfaces are de-<br />

signed to present the same UI widgets on different screen resolutions. Sizes and<br />

positions of the widgets are chosen at runtime, <strong>based</strong> on a simple built-in layout<br />

policy and a set of parameters specified by the programmer. Typical layout policies<br />

include row-major vs column-major, regular grid, or border layout, that can be<br />

combined in a hierarchical manner. Parameters specify details like minimum and<br />

maximum sizes. Hence, the layout as such is not automated; rather, the layout<br />

that was specified by the programmer is instantiated with respect to the conditions<br />

(screen resolution, window size, etc.) that prevail at runtime.<br />

While the popular UI toolkits are merely <strong>based</strong> on spatial constraints, for more<br />

general applications it is favorable to be able to specify abstract constraints, too.<br />

Techniques that use markup tags, such as L ATEX [LaT] or HTML [W3Cb], present<br />

simple examples for spatial (e. g., vspace{lineheight}) and abstract (e. g., level-1-<br />

heading) constraints. A frequently used vehicle to achieve a rectilinear layout in<br />

L ATEX or HTML are tables. Tables in markup languages have similar characteristics<br />

as a grid: Table <strong>cell</strong>s follow a strictly horizontal and vertical layout, but in contrast<br />

to a regular grid, the table’s row heights and column widths are in general irregular.<br />

Cell sizes are dynamically adapted to meet the requirements of the contained objects<br />

on the one hand and the window or paper size on the other hand.<br />

Cascading style sheets (CSS) are an extension to HTML that allows clean<br />

separation of structural markup and actual appearance. Badros et al. noted in<br />

[BBMS99] that the procedural specification of CSS 2.0 [W3Ca] is complex and<br />

sometimes vague, in any case not easy to understand and implement. They propose<br />

a constraint-<strong>based</strong> extension to CSS 2.0, which is backwards compatible and has<br />

the advantage to declaratively specify the standard. Badros et al. argue that a<br />

constraint-<strong>based</strong> approach to style sheets would greatly simplify the implementa-<br />

tion of rendering engines as well as the web designers’ use of cascading style sheets.<br />

Moreover, they suggest some more general and flexible style specification syntax<br />

that can easily be implemented using constraints, but is not easy to implement<br />

using the procedural approach of current CSS.<br />

31

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!