top of page

Understanding Properties


In this article:

In EventIDE, experiment design revolves around three main types of objects: Experiments, Events, and Elements — collectively referred to as E-objects.

  • Experiment: The root container for all other objects in the design.

  • Events: Define the timeline or flow of your experiment and host elements.

  • Elements: Control the presentation of stimuli, capture responses, or interact with hardware.

Each E-object comes with a predefined set of properties—named fields or variables of simple data types like strings, Booleans, integers, etc.—that determine its behavior or indicate its status. For instance:

  • The Background Color property of an event allows you to set the background color.

  • The Elapsed Time property returns how many milliseconds have passed since the event’s onset.


Accessing and Editing Properties

The Property Panel is used to view and edit properties:

  • Experiment Properties: Click the Experiment ribbon tab. The Property Panel will automatically display experiment-level properties.

  • Event Properties: Click the Event ribbon tab. The first event will be auto-selected, and its properties will be shown. Use the Event Bar to switch events.

  • Element Properties: Click on an element in the Element Panel to show its properties in the Property Panel.

Tip: Important properties are marked in orange. Click “Show All Properties” at the bottom of the Property Panel to reveal advanced options.

Properties Panel.
Properties Panel.

Property Classes

Every property in EventIDE belongs to one of the following classes, which define how and when the property can be accessed or modified:

Property Class

Description

Example

General

Read/write at design-time and runtime. Can assign proxy variables.

Background Color of an Event

Design

Read/write only at design-time. Cannot be changed at runtime.

Device Type of a Button Element

Status

Read-only at runtime. Use proxy variables to monitor values.

Triggering Time of a Button

Runtime Command

Write-only at runtime. Used to trigger runtime commands via proxy variable.

Send Marker Now on LSL Marker Element

Hover your mouse over a property’s name in the panel to see its type and class in a tooltip.

Property's tooltip.
Property's tooltip.

How Properties Work

Properties in EventIDE merge the functionality of variables and procedures found in traditional programming.

For example, to move a visual stimulus at runtime, you only need to update its position through the code:

myStimulusPosition.X = Xnew;
myStimulusPosition.Y = Ynew;

EventIDE will automatically update and redraw the stimulus in the new location.

Key Concepts

  • All object functionality and data access happen through properties.

  • Reactive Design: Changing a property triggers internal update processes (e.g., redrawing a stimulus).

  • Caution at Runtime: Changing properties during stimulus presentation can impact timing precision. It’s best to prepare everything in advance.

  • Flow Control: You can use status properties to check runtime states—e.g., whether a key is pressed—and guide experiment logic.

Structural Properties

Some properties in EventIDE are not simple values but structs—objects that bundle related fields.


Examples of Struct Types

Struct Type

Description

Access Pattern (dot syntax)

stColor

RGBA color components

TextColor.R = 127;

clPoint

2D coordinate or polar position

Position.X = 512; or

TextPosition.Theta = 90;

clSize

Object dimensions

StimSize.Width = 200; or

 TextAreaSize.aWidth = 5.5f;



bottom of page