Welcome Guest, you are in: Login

EventIDE Wiki

RSSRSS

Navigation




Search the wiki


PoweredBy

Page History: Properties

Compare Page Revisions



« Older Revision - Back to Page History - Newer Revision »


Page Revision: 2013/12/15 01:20



Description

While designing experiments in EventIDE, you operate with only three classes of design objects: experiments, events and elements. The experiment object is a root container for everything. The events are time blocks that define the experiment scenario and, in turn, host child elements. The elements handle various functions, for example, they represent stimuli, register responses and communicate with hardware.

Each of design objects has a fixed list of properties that define or indicate object's status. The properties are always variables (fields) of simple data types, e.g: string, boolean, integer and so on. For example, the event has a property called ‘Background Color’, which can be used to set a color of the event background. Another event's property, 'Elapsed time', returns the amount of milliseconds that have passed since the event's onset. This property can be used as a local timer in code. When a design object is selected in the GUI at design-time, its properties are shown in the property grid (on the right of the main window) and can be modified there (see the screenshots below). The most relevant properties are marked in orange.

Property Interface





The properties provide a simple and unified interface to the data AND functions of the design objects. The properties can be accessed both in the designer and in the user code at runtime. EventIDE automatically handles all necessary updates for every property change. For instance, after you change the Position property of the Text element, the associated text block will be immediately removed and redrawn at the new position on the screen. There is no need to call any drawing function for this operation, because the properties combine concepts of data variables and functions. However, be careful as to when you change properties at runtime. Property update processing can be time consuming, which can harm timing accuracy at critical moments. For example, it is recommended to complete all trial preparations (via the properties) before the stimulus presentation is started.

Some properties are designed to return the current state of a design object at runtime. For example, you can check whether a keyboard button is in the down or up state by reading the boolean IsDown property of the Button element. The status properties can be naturally used as flags to control the flow of your experiment.

Property types

Normal proprties

Status properties

Runtime-action properties



Designtime-action properties



Generic data types

Most of the properties of EventIDE design objects have standard data type, such as boolean, int, double, string.

EventIDE build-in data types

There are several special data type that are defined by EventIDE itself. For example, the Position property has a type, called clPoint. clPoint is a csutom struct that provide screen coordinates in the three coordinate systems: pixel, visual degrees and proportion to the screen size.

Property attributes

Property attributes determine how it can be accessed. Although most properties are available for use in code snippets through the parameters functionality,the property attributes can impose certain restictions on such interactions.
  1. Not attributed: The most of the properties has no access attributes, which means that they can be changed both at design and run-time.
  2. Run-time: This attribute indicates that the property can be accessed only in the run-time. Such a property can be used only in conjunction with parameters functionality with property values to be read and written in code snippets.
  3. Status: The status properties returns status information. For example, it can be timing statistics collected through a experiment run. The status properties are typically read-only and can not be changed.
  4. Design-time: The design-time properties can be adjusted only at design-time. When the experiment is run, their values are fixed or not accessible. The design-time properties include, for example, an event titles or some settings, such as the display resolution. Design-time properties cannot be turn into proxy variables.

ScrewTurn Wiki version 5.2.0.8. Some of the icons created by FamFamFam.