In Graphical User Interface s a window is a region with content, mostly of rectangular shape. Drawing operations outside the defined window region are invisible –clipped .
In Tk a window appears in the window hierarchy and has a unique identifier. This identifier is called the window pathname in Tcl/Tk.
The pathname is a list of window names separated by the dot (.) character. The last term is the name of the window and the terms before its ancestors.
Tk contains a special window without a name: dot (.), the root window. The root window is automatically created by Tk whenever a new window hierarchy is established. In Example 2.1, “Tcl/Tk pathnames” ».b« is a child of the root window.
A Tk window can be implemented in either »C« Jeszra does not yet generate C-source code.
The used programming language is irrelevant for the Graphical User Interface performance. Graphical User Interface performance is defined as how quick an application respond to a request –event–, either initiated by the user or through the application. How fast an application should respond is defined by its user. A human being requires time for seeing, deciding and acting. In detail: a normal human being perceives a succession of pictures as continues when they follow within 70ms –motion pictures have 41ms. Deciding and acting require roughly the same time as seeing. Thus a Graphical User Interface is perceived without interruption, when every user initiated action is completed within 3x70ms = 210ms.
Hence the performance of an application shall be independent from its data. The related measurement for responsiveness is called complexity . Complexity defines how much the processing time increases with contents. The desired complexity, for all windows, is constant ; which means that the response is independent from contents.
The responsivness of a software is determined by the author of that software and not by the used programming language. For example: the hugelist window, written in Tcl/Tk, has a constant complexity. The Tk listbox window, written in C, has linear complexity on n–were n is the number of all listbox entries.
7 Rules for a well crafted Window
The window has to be predeterministic.
Good examples for predeterministic are the Tk window hierarchy or the stand alone geometry manager grid . Each window name is predeterministic and easily identifiable.
Implicit creation rules are the opposite to predeterministic. Here the application has to keep a cross-table for the transactions between model and view.
The identifiers, in a fully predeterministic Graphical User Interface, are derived from the model and thus a simple transformation or filter can be used to transfer data between the model and view.
The window must support on-demand data acquisition, if it displays a substantial amount of data.
The documentation must state the window´s complexity. The complexity is the contents related performance of a window.
The new window must have sufficient functionality of its own.