Download User Interface Management and Design: Proceedings of the Workshop on User Interface Management Systems and Environments Lisbon, Portugal, June 4–6, 1990 PDF

TitleUser Interface Management and Design: Proceedings of the Workshop on User Interface Management Systems and Environments Lisbon, Portugal, June 4–6, 1990
File Size11.5 MB
Total Pages316
Document Text Contents
Page 1

Tutorials and Perspectives in Computer Graphics [5
Edited by W. T. Hewitt, R. Gnatz, and D. A. Duce

Page 2

D. A. Duce M. R. Gomes
F. R.A.Hopgood IR.Lee (Eds.)

Interface Management
and Design
Proceedings of the Workshop
on User Interface Management Systems
and Environments
Lisbon, Portugal, June 4-6, 1990

With 117 Figures

Berlin Heidelberg New York
London Paris Tokyo
Hong Kong Barcelona

Page 158


To understand the usage of event methods and event streams, the example represent-
ed in figure 4 is discussed in more detail. Assume that a text file with the patbname
-sturm/ exists, which contains lines of floating point values. A file event
source is connected to this event data file. For each value in the file, an event of the
following type

typedef struct VALUE_EVENT {
int type; /* contains unique identifier for this event */
float val;

is created and--because of the connecting event stream-propagated to the semantical
method sliding average. Clicking the edit button in the iconic representation of sliding
average creates an additional window containing the C code associated to this semantical

sliding_average ( EVENT ev) {
static float current_average 0;
static n = 0;

switch (ev.type)

current_average += ev.val;

current_average / n );

The code should not be taken as fully specified, it only characterizes the behavior of
the method. For each incoming event, the method is activated and executed. In case of an
event of type VALUE_EVENT, the new sliding average is calculated and propagated to
all the methods connected to sliding average. In this example, the value events are sent to
the graphical method curve. Curve adds each value to the already represented polygon line

Semantical Method



_tin_ I Compile and Unk I

Fig. 5: A method with labeled input and outputs

by shifting the view to the left or by appropriate scaling of the x and y axes. The
corresponding code belonging to the method curve can also be accessed by simply clicking
the mouse button inside the window containing the method name. All semantical and

Page 159


graphical methods are subject to modifications and improvements. When requested by the
user, the updated methods are compiled and dynamically linked to the IUICE environment.

The example discussed above is quite simple because all methods have at most one
event input and output. No names identifying the channels are needed. In more complex
applications, where methods have multiple input and output channels, it is sometimes
necessary to address each channel individually. Consider for example the semantical
method shown in figure 5. Its purpose is to reduce the amount of events that are trans-
ferred from the input channel in to the event output out. This can be done for example by
maintaining an internal average variable. The current value of this variable will be propa-
gated to all subsequent connected event methods only when a dedicated tick event,
issued periodically by the IUICE system, arrives at the tick input. Tick events which may
also arrive at the input in should not trigger the output of events. The code for this method
must have access to the name of the input channel offering the event. Other examples are
semantical methods acting as multiplexers, where the events arriving on one input are
split and propagated to different event outputs. Thus, the IUICE system does not only
propagate the arriving event to the method; the name of the input channel is also provided.
When issuing output events, event methods can also select from a set of labeled output

When the application fulfills the requirements defined by the designer, the IUICE
system provides mechanisms to generate appropriate C source code flles. All the seman-
tics provided by IUICE the application depends o~specially in case of graphical
methods as described in the next section-are automatically added to the output flles. The
structuring into methods and the method interconnection scheme remains visible. These
source flles can be a base for further developments, they can also be fully coded by the
programmer and ready to use.

3. Additional Graphical Support in IUICE

The functionality of IUICE presented so far is sufficient for the implementation of semanti-
cal methods that have no graphical representation defined by the application. The develop-
ment of graphical methods however, needs further assistance. Currently, graphical support
in IUICE deals with two topics: enabling graphical methods to access events issued
directly by the graphics system, and specification of parent-child relations between
graphical methods. Further approaches are discussed, which try to give users direct
access to long-living graphical entities such as pixel maps, graphical contexts, and others.

Each graphical method creates a window that defines the clipping rectangle for all
subsequent graphical outputs. Only the creating method and other graphical methods that
stay in a child relation to this method are responsible for the window content. For the
delivery of graphical events, graphical methods implicitly own-besides the application-
dermed event inputs-an event input labeled graphic _in. All the graphical events
addressed to the method are provided on the graphic _in input directly by the IUICE
system. Only the semantical response to the receipt of a graphical event has to be done
by the programmer.

The mechanism of event propagation of the underlying graphics system are retained in
IUICE. The IUICE environment assumes that windows can be overlapped. In this case,
the propagation of events to the method owning the window on top of the window hierar-
chie is in some situations not sufficient. Two classes of event types must be handled
differently, whether the event is dedicated to one specific window (which corresponds to a

Page 315

Tutorials and Perspectives in Computer Graphics

Eurographics Tutorials '83. Edited by P. J. W. ten Hagen.
XI, 425 pages, 164 figs., 1984

User Interface Management Systems. Edited by G. E. pfaff.
XII, 224 pages, 65 figs., 1985

Methodology of Window Management. Edited by F.R.AHopgood, D.ADuce,
E. V. C. Fielding, K. Robinson, A S. Williams.
XV, 250 pages, 41 figs., 1985

Data Structures for Raster Graphics. Edited by L. R. A Kessener, F. J. Peters,
M.L.P. van Lierop. VII, 201 pages, 80 figs., 1986

Advances in Computer Graphics I. Edited by G.Enderle, M.Grave, F.Lillehagen.
XII, 512 pages, 168 figs., 1986

Advances in Computer Graphics II. Edited by F. R. A Hopgood, R. J. Hubbold,
D. A Duce. X, 186 pages, 96 figs., 1986

Advances in Computer Graphics Hardware I. Edited by W. StraBer.
X, 147 pages, 76 figs., 1987

GKS Theory and Practice. Edited by P. R. Bono, I. Herman.
X, 316 pages, 92 figs., 1987

Intelligent CAD Systems I. Theoretical and Methodological Aspects.
Edited by P. J. W. ten Hagen, T. Tomiyama. XIV, 360 pages, 119 figs., 1987

Advances in Computer Graphics III. Edited by M. M. de Ruiter.
Ix, 323 pages, 247 figs., 1988

Advances in Computer Graphics Hardware II. Edited by A A M. Kuijk, W. StraBer.
VIII, 258 pages, 99 figs., 1988

CGM in the Real World. Edited by AM. Mumford, M.W. Skall.
VIII, 288 pages, 23 figs., 1988

Intelligent CAD Systems II. Implementational Issues. Edited by V. Akman,
P. J. W. ten Hagen, P.J. Veerkamp. X, 324 pages, 114 figs., 1989

Advances in Computer Graphics IV. Edited by W. T. Hewitt, M. Grave, M. Roch.
XVI, 255 pages, 138 figs., 1991

Advances in Computer Graphics V. Edited by W. Purgathofer, J. Sch6nhut.
VIII,223 pages, 101 figs., 1989

Page 316

User Interface Management and Design. Edited by D.A.Duce, M.RGomes,
F. RA.Hopgood, 1.RLee. VIII, 324 pages, 117 figs., 1991

In preparation:

Advances in Computer Graphics VI. Edited by G.Garcia, I. Herman.
Approx. 465 pages, 1991

Advances in Object-Oriented Graphics I. Edited by E. Blake, P. Wisskirchen.
Approx. 225 pages, 1991

Advances in Computer Graphics Hardware III. Edited by A. A. M. Kuijk.
Approx. 225 pages, 1991

Advances in Computer Graphics Hardware N. Edited by R L. Grimsdale, W. StraBer.
Approx. 290 pages, 1991

Intelligent CAD Systems m. Practical Experience and Evaluation. Edited by
P. 1. W. ten Hagen, P. 1. Veerkamp. Approx. 280 pages, 1991

Similer Documents