Circle Drawer

===================================================================================================================================================================

Challenge:

Understanding the basic ideas of a language/toolkit.

Criteria:

Circle Drawer’s goal is, among other things, to test how good the common challenge of implementing an undo/redo functionality for a GUI application can be solved. In an ideal solution the undo/redo functionality comes for free resp. just comes out as a natural consequence of the language / toolkit / paradigm. Moreover, Circle Drawer tests how dialog control*, i.e. keeping the relevant context between several successive GUI interaction steps, is achieved in the source code. Last but not least, the ease of custom drawing is tested.

Dialog control is explained in more detail in the paper Developing GUI Applications: Architectural Patterns Revisited starting on page seven. The term describes the challenge of retaining context between successive GUI operations.

Dialog control is explained in more detail in the paper Developing GUI Applications: Architectural Patterns Revisited starting on page seven. The term describes the challenge of retaining context between successive GUI operations.

A dialogue box with multiple circles (some filled, some empty), 2 buttons; undo and redo & a range control.

Circle Drawer

Assumptions:

Code:

After opening a code link below, hit the '.' key to open GitHub's browser editor for improved reading experience.