12.08.2013 Views

Master's Thesis - Computer Graphics and Visualization - TU Delft

Master's Thesis - Computer Graphics and Visualization - TU Delft

Master's Thesis - Computer Graphics and Visualization - TU Delft

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.5.2 Various widgets to display a module’s parameters<br />

In the design of the Culgi GPE, we use different types of widgets to display different parameters in a<br />

module. The purpose is to reduce the user’s errors. This design is explained in three aspects.<br />

.<br />

1) Using different widgets for different parameter types.<br />

The widget type used for a parameter is determined by the data type of this parameter. There are three<br />

advantages. First, the widget type of a parameter could hint the users what kind of value is expected in<br />

this parameter. So the users’ underst<strong>and</strong>ing could be increased. Second, each widget type can have its<br />

own bound checking function. When users make errors when typing, the system will warn the users by<br />

showing the background in different color (pink in this prototype) or by some sound. This could reduce<br />

some errors such as the value is out of range or the value is not of the expected type. Third, some<br />

widget type itself can reduce typos. For example, the widget combobox generally used in single<br />

selection is used when the data type of the parameter is “enum”. So the users can choose one valid<br />

selection by clicking instead of typing in.<br />

2) Use selection other than typing in some cases<br />

One feature of the Culgi comm<strong>and</strong>s is that some comm<strong>and</strong>s take the same arguments, as pointed out as<br />

one feature of the Culgi library in Chapter 2. So it is possible that the value of a parameter in a module<br />

refers to the value of a parameter in another module. It will be h<strong>and</strong>y if users can select the value of this<br />

parameter instead of typing in (because the value has been defined in another module). Selection can<br />

not only reduce typing errors, but also hint the users that what should the value be in this parameter.<br />

Figure 3-5 shows two types of selection. As shown in Figure 3-5 (a), the value of parameter<br />

DPDMolecules in module AddDPDMoleculesViewable, determines which molecules will be shown on<br />

the screen. It needs the values from Parameter Name of CreateDPDMolecules. Users can choose one,<br />

both or none of these two types of molecules to be visible. So the system just supplies checkbox for<br />

multi selection widget. But Figure 3-5 (b) is a different case. It is a single selection Case. That is to say,<br />

users can <strong>and</strong> only can select one. So the system just supplies a widget for single selection.<br />

3) keep consistent automatically<br />

Suppose, in the case of Figure 3-5 a user selected box1 first. Then the user changed the value ‘box1’<br />

into another value like ‘box3’ in module ‘Box’. If the user forget to change the corresponding value in<br />

Module CreateDPDMolecules, an error would happened when the program starts running.<br />

Thus the system should keep the name consistent automatically. That is to say, the system will make<br />

sure that if the definition is changed, the reference will also be changed. This mechanism is hidden for<br />

users.<br />

- 23 -

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

Saved successfully!

Ooh no, something went wrong!