Page History: Properties
Compare Page Revisions
Page Revision: 2013/11/18 18:12
Description
While designing experiments in EventIDE, you operate with only three classes of design objects: experiments, events and elements. The experiment is a root container for everything. The events are timeblocks that define the experiment scenario and, in turn, host child elements. The elements handle diverse functions, for example, present stimuli, register responses and communicate with hardware.
Each of design objects has a fixed list of properties that define and indicate its status. The properties are variables or fields of simple data types: string, boolean, integer and so on. For example, an event has a property called ‘Background Color’ that can be used to set the color of the event background. Another event's property: 'Elapsed time', returns the amount of milliseconds that have passed since the event's onset and therefore can be used as a local timer.
When any of the E-objects 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 simplified interface to the functions and data of the design objects. The properties can be accessed both via the GUI at design-time and in the user code at runtime. EventIDE automatically handles all necessary updates for this property change. For instance, after you change the Position property of the Text element, it will be immediately removed and redrawn at the new position on the screen. There is no need to call any drawing function for it, because the properties combine concepts of data variables and functions.
Be careful as to when you change properties during runtime. Internal update processing may degrade timing accuracy at the time when it is critical. For example, it is recommended to complete all trial preparations before the stimulus presentation is started.
Some properties can return the current runtime state of a design object at runtime. For example, you can check whether a keyboard button is in the down or up state. Such status properties can naturally be used to control the flow of your experiment.
Property types
Generic data types
=== EventIDE build-in data types ===
Action types
Property attributes
A property's 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.
- Run-time only: This attribute means 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.
- Read-only: These properties are informative values. For example, it can be the statistics relating to the timing of EventIDE collected through a experiment run. Read-only properties can be used with parameter functionality and be read in code snippets like others. However, their values cannot be set- all assignments will be ignored.
- Design-time only: The properties with this attribute can be changed only at designtime and during the running of an experiment their values are fixed or not used. Typically these properties provide supplementary information (such as an event's title) or they hold global settings such as display resolution that can not be changed in runtime. Design-time properties cannot be made into parameters.