Full text: XVIIIth Congress (Part B4)

e.g., 
It is, 
sses 
sary 
5 as 
such 
the 
Ising 
ries. 
ond, 
ime" 
5 the 
such 
le in 
Kes), 
id in 
al of 
ding 
ailed 
or a 
GUI 
ul to 
tem) 
r by 
/isor 
to it 
the 
and 
nain 
user 
5 via 
the 
ing, 
the 
UX 
ser; 
ther 
'brid 
ser. 
rver 
ation 
ning 
the 
ges, 
d by 
xDL 
L is 
  
specified and created for UX. It has a syntax similar to that 
of C++. Semantically, it is kept as far as possible 
independent of any current GUI in describing the 
functionality requested in abstract terms such as 'Main', 
’numVal’, ’analogVal’, 'label', 'stateSwitch', RGB. DIGITAL 
etc. There is a series of operators provided for agents to 
add or to subtract an element to/from the GUI, to modify it, 
to make it accessible/nonaccessible, for inquiry, and so on. 
uxDL statements carry detailed specifications for relative 
and absolute object positioning, for events to cause 
messages to be sent, a string for short help and an entry 
in the help database, initial value(s) to be set, etc. 
UX builds up a database of these specifications, and it 
keeps it up-to-date with regard to agent and user actions. 
The part of UX to display the GUI objects on the screen is 
doing this via driver-objects dependent on some cross- 
platform GUI library - at this point from Zinc Software Inc. 
Displayed is a native GUI, i.e. one looking as OSF Motif, 
as WINDOWS 95, or as OS/2 etc., depending on the 
platform for the version of SCOP (or of some other 
application created using XX). 
There are two more specifics we would like to mention: 
stateSwitches, and commandLine. 
StateSwitches are GUI buttons specialized to switch object 
states. There goes the saying that constructs not having 
states are no objects. There is much truth to this: just 
functions do not have states. On the contrary, objects - i.e. 
data with corresponding methods (member functions) to 
manipulate them - can be, e.g., 'not yet read in', "not yet 
displayed', 'displayed' etc. And the functionality inherent in 
objects can be configured - 'set up'. With OS/2 and with 
WINDOWS 95, GUIs appeared on the market using this 
type of user controls (there used to be others earlier, 
naturally); they set the standards how to do it, and users 
will get used to it: a right mouse click 'opens' the object for 
to be set up (i.e. for parameter specification), and different 
other actions (carriage return on the active object, left 
double mouse click) will ’activate’ the object according to 
the current setup specifications. This second action can 
switch just two states, and only in one direction: off-to-on. 
This shortcomming is still rooting in procedural thinking: 
they say they are "running the object" - a contradiction in 
itself, not without humour. So we have been forced to 
create the ’stateSwitch’, an element doing more than 
Tunning the object": it is capable to swith back-and-fort 
among object states via keyboard arrows, via pop-up 
menue, or via hitting carriage return versus blank "over" 
the current stateSwitch; and, naturally, stateSwitches are 
capable of opening the object on right mouse-click or as 
choice from the pop-up menue. 
Shading understood as a large array of pixels (i.e. as data, 
as object) yields a good example for switching states. This 
complex object is controlled on the screen by a 
StateSwitch. A right mouse click at it will open a 'subLevel' 
(à window) with parameters for setting up the computation; 
in most cases, however, the default setup will suffice, and 
therefore, the opening (setup) action will not be needed. 
The states allowed for this switch are: OFF, DISPLAYED, 
571 
FROZEN, EDIT ( OFF and DISPLAYED are self- 
explanatory; FROZEN means, that while editing the terrain 
data by interactive graphics, the shading should remain 
displayed but not re-computed on every change; EDIT 
means that pixels of the shading can be interactively 
identified and edited). 
Concerning the commandLine: it yields the always-present 
option of command entries. These are composed of 
(shorthands) of the labels written onto/at the different 
objects on the screen. To take the above example for 
shading, the actions described there could be replaced by 
typing 
shd, zenDist 30, dsp;//or the similar 
This allows for fast and special ways for expert users, for 
batch capability, and for writing command procedures. 
2.5 Graphics 
The graphics component of XX: GX is realizing a subset of 
CAD funcionality, and at the same time a superset of it 
concerning the special needs of geocoded data. GX can 
overlap, edit, and in certain special respects also process 
both vector and raster (pixel) type data. 
To facilitate fast identification of on-screen objects for 
interactive graphics, GX is building up a database of its 
own for the addresses and graphical characteristics of 
these objects. Otherwise, data are managed by interface 
objects - a solution coherent with strict distributed object 
technology (see chapter 3). Interface objects are derived 
from an abstract interface class specified by GX thus 
declaring (and in certain aspects also defining) functionality 
as needed by it - such as ‘identify closest to (x,y), ‘data 
within area of interest’, 'register/commit alteration by the 
user’, etc. To perform such tasks, the interface object can 
access, e.g., some database via any network - or, at the 
other extreme of the scale, its own separate excerpt from 
it. The most primitive examples of such databases are 
intermediate (ZWIFT') files; for them, as far as possible, 
the methods are written as declared in the abstract GX 
interface class. Naturally, based on ZWIFI files this 
solution is inefficient and not really capable of any active 
graphics functionality. A much more versatile case is some 
interface class based on TOPDB tables [Lo91]: here, 
manysided selection operations, and efficient identification 
are granted, thus allowing for editing the contents of tables 
without being forced to duplicate them in another form. 
GX has the capability to refresh screen graphics locally, 
i.e. to re-draw only those screen regions effected by 
changes. This is very important for following in real time 
(or at least near-real time) any data editing actions by the 
user: re-calculating and updating the currently active 
screen contents (e.g. contour lines drawn over hill shading) 
should be done only within the area affected by the 
change(s). - To solve this, there is much to be done yet in 
the (hybrid) SCOP server components. 
Beyond interactive graphics, GX is responsible for plotter 
and metafile related functionality. 
International Archives of Photogrammetry and Remote Sensing. Vol. XXXI, Part B4. Vienna 1996 
 
	        
Waiting...

Note to user

Dear user,

In response to current developments in the web technology used by the Goobi viewer, the software no longer supports your browser.

Please use one of the following browsers to display this page correctly.

Thank you.