The parameters panel will be empty if:
- No block is currently selected.
- The currently selected Simulink model is not a valid LTPDA model.
- The selected block it's not a valid LTPDA block (i.e., it do not contain a proper LTPDA function which answers
the call for parameters).
Otherwise, the contents of the parameters panel will change accordingly to the user selection in the active LTPDA Simulink model.
- If a function/method block is selected, the panel will show the proper corresponding parameters.
- If a Object from list block is selected, the panel will show the referenced index (that is the only parameter accepted).
- If a Mux/Demux block is selected, the panel will show the number of inputs/outputs.
- If a From block is selected, the panel will present the 'Find origin' button.
Function/method parameters
If a valid LTPDA function or method block is selected (inside a valid LTPDA Simulink model), the GUI will first ask the inner
function or method for its required parameters; the panel then will be built accordingly.

The window is built automatically: every line corresponds to a different parameter, among those required by the selected
function.
Inside every line, then, the structure is obviously similar, so different parameters can have the same fields and boxes.
Required or added parameters
In the construction of the panel the GUI will consider whether the parameter was among those required by the function, or
if the parameter was added by the user. In this latter case it will be passed to the function, which can use it (if someway
expected, for example if it a possible optional parameter) or ignore it, if just unexpected. The GUI won't change the
behavior of the inner function, so it's up to the user to be aware of what can be passed to be used by every function.
In the parameters panel the difference among required and added parameters is shown on the far right: added parameters have a
small '-' button, which lets the user to remove it; required parameters have no such button, since the corresponding
parameter was automatically required by the function and not added by the user.
Please note that a parameter can also be disabled (see 'Enable checkbox', below): since a disabled parameter won't be passed to
the function, there's no difference in removing an added parameter or just disable it. The only difference of course is a
disabled parameter can be re-enabled in a second time, while a removed parameter has to be added and set over again.
Enable checkbox
On the left, at the beginning of every line/parameter, there is a checkbox which lets the user to enable or disable the
corresponding parameter. If it's enabled the parameter will be passed to the function, so it's up to the user to set the proper
value. If it's disabled, on the contrary, it won't be part of the plist passed to the function, which thus will use the default
value (if any is expected).
The central part of the window is built line by line to reflect each parameter, so it can differ a lot.

Parameter name
Wherever expected, the first element on the left, aside the Enable checkbox, is the parameter name.
For double/char parameters this means the parameter key; note that if the parameter was required by the function, the name is
fixed (see parameter 1,3,5,6 in the previous image), while for added parameters it can be changed (see parameter 7).
In case of an added parameter the GUI will show both a text 'Name:' and an
edit field, where the user can type in the parameter key itself.
For specwin parameters the key is fixed, so the GUI shows directly the name of the window type ('Kaiser',
'Rectangular',...).
Similarly, for Poles and Zeros parameters the key is fixed, so even for added parameters 'Poles' and 'Zeros'
are shown and cannot be altered.
Since the key is fixed also for MIIR and PZmodel parameters, the GUI shows directly the inner parameters to construct these
objects; note that this is just a way to build a MIIR object, typing in directly the plist. To build it in a different
way, for example retrieving from the Repository, must be used a proper Constructor block, setting the parameters to be
retrieved from Simulink (see 'From Simulink checkbox', below) and connection the Constructor block to the function port having
as a name the corresponding parameter's name.
Parameter value
The following field lets the user to type in the parameters value. This is true for every 'Value:' field in the
parameters panel.
Please note that often is possible to have a brief help text in the tooltip string, just moving the mouse pointer over
the edit field and waiting a second.
This will explain for example the meaning for the different edit fields in a specwin parameter, or it will explain how to type
in poles and zeros into their corresponding edit fields.
Inside an edit field the user can type in using the traditional MATLAB syntax:
- 10, will be considered a pure number. The parameter's value will be of course the number itself.
- [1 2 3], among square brackets, will be converted into a vector (or matrix). Similarly, using {} will create
a cell array. The parameter's value will be a vector, a matrix or a cell array.
- 'Hello', among quotes, will be considered a string, and it won't be evaluated. The parameter's value will be
a string.
- rand(1), without quotes, will be recognized as a command and it will be evaluated immediately. The parameter's
value will the output of the evaluated string.
Expand edit field button
The small gray button aside each parameter's value edit field, for double/char parameters, will open up a window with a bigger
edit field, where the user can type in the value more comfortably than in the small one in the panel. This is particularly
handy for those case when the parameter's value is a long and complicated command or vector, which can't fit easily in the
small space given in the panel.

From Simulink checkbox
If the parameter is not supposed to be set in the GUI's panel but it must be retrieved from Simulink (for example, using a
Constructor block for that particular type of object), the user can click on the small 'From Simulink' checkbox.

The line will be updated, showing 'From Simulink environment'. Since this parameter will be retrieved from Simulink, the user
cannot alter it anyway in the current parameters panel.
In the LTPDA Simulink model, the block will be modified with a new inport, with the same name as the parameter's key:

While the first inport must be connected to the data coming in (if any is expected), as usual, the second port must be
connected to the constructor block providing the object which will become the parameter.
In the example shown, the specwin Constructor block provide the specwin object that, inside the 'pwelch' block, will
be retrieved as a parameter and passed to the function.
If the block had no data input, i.e. no input prior to the 'From Simulink' parameter, it will present a single inport, which
must be connected to the Constructor block providing the parameter's contents.
Since it's possible to set multiple parameters coming from Simulink, the user should take care of the connections to the
block, to avoid to shuffle the connected Constructor blocks - for example, inverting a specwin object and a MIIR object.
Load button
For MIIR and PZmodel parameters the GUI will show also a 'Load' button: the purpose of course is to retrieve these
objects from a file on disk. Please note that for now this will convert the loaded object into its constructive plist, if
possible, and the GUI will show again the parameters of the loaded object into the common parameters panel.
This will be discontinued or modified after R1
Adding parameters
Immediately below the last parameter, on the left, the GUI shows a popup list containing all the parameters types which can be
added, and aside a '+' button to add a parameter of the selected type.
Since it makes no sense to pass to a function 2 specwin object, PZmodels, MIIR filters, poles and zeros lists, these types won't
be available in the popup list if any object of the same type is already shown in the parameters panel.
Reset parameter
In the lower left corner of the window the GUI draws the 'Reset parameters' button: this will reset the block to its
empty initial state. If its a function/method block the GUI will then ask again for its list of required parameters, just like
the block was just added to the model from the library.
Set name checkbox
At the bottom of the window, center line, there is the 'Set name' checkbox.
Enabling this the name of the output of the selected block will be assigned equal to the block's name (which can be altered freely
by the user, standing the limitations on the block's name posed by Simulink); this will let the user to set particular and
meaningful names instead of the automatically assigned ones, produced by the inner calculation functions.
The plot of an object assigned a particular name, for example, will show the proper name set.
Keep local result
Similarly to the 'Maintain intermediate results checkbox in the main panel, this checkbox will mark the output of
the selected block to be maintained at the end of the analysis, instead of being deleted just like any other intermediate
result of the calculation.
In the LTPDA Simulink model the block will be shown with a purple background, to mark it as a 'probe' and to make it
immediately recognizable.
Disabling the checkbox the block's background will be back to its common color, and the intermediate result produced by the
block itself will be cleared at the end of the analysis.
Help button
In the lower right corner of the window the GUI draws the '?' help button: this will recall the help associated to
the function or method contained into the selected block, and it will show it into a new window.
The help shown is exactly the same available by the MATLAB command line, typing help function_name.
'Object from list' parameter
If the user selected a 'Object from list' (input) block into the active LTPDA Simulink model, the GUI will show:

The only parameter which can be set in this case is the reference index contained into the input block selected: the index
will be used together with the Input array, so setting '1' will send to the connected block(s) the 1st element of
the Input array.
Mux/Demux parameter
Similarly to the 'Input from list' block, the GUI will answer a selected a Mux block into a valid LTPDA Simulink model with:

Changing this parameter will immediately alter the mux block in Simulink; unlike the direct setting of the number of inputs
from Simulink, the GUI will change also the size of the block, in order to make it easier to connect the blocks and to be read.
The same applies to Demux blocks.
'From' block parameter
When the user selects a 'From' block into a valid LTPDA Simulink model, the GUI answers drawing the button 'Find Origin',
which will provide a direct pointing to the address of the 'Goto' block source of that signal.

If there's more than a single 'Goto' block, or if there's none, the GUI will show a proper warning.