# FrAid Variable Controller

## Introduction

FrAid has the unique capability to constantly listen for changes in all defined functions and variables. When any function or variable
is changed all objects which depend on it (these could be other functions and variables or graphical objects whose plugin algorithms are currently using it)
are then notified and the changes are being appopriately reflected throughout the listeners.

Using the Variable Controller you can change groups or individual variables interactively.

## Working with the Variable Controller

An instance of the Variable Controller can be opened using the controlVar(...) function which takes as parameters one or more variables.

For example:
a=1;
b=2;
controlVar(a,b);
will open window like the one shown in the picture which lets you change the value of any of the controlled variables
(note that the function doesn't take the variables by value but by reference using the ' operator).

Move the sliders left or right and check the values of the variables in the console or change the
value of a variable in the console and watch what the Varible Controller shows.
The numbers on the left and right of the sliders tell with how much will the variable value be increased or decresed if that slider moves
to the most right or left. These values are editable (note that the left one is negative.

Try this for a more complete example:

a=1; b=2; controlVar(a,1,b,1); //note the step values given after each variable f(x)=sin(x*a)*(x/b); plot(f);