Reference 〉 Function

Helipad.addGoodParam( str name, str title, str type, str|bool|num|dict dflt, dict opts = {}, bool runtime = True, func callback = None, str desc = None, func(name, model, good) getter = None, func(val, name, model, good) setter = None )

Adds a parameter to the control panel that takes a separate value for each registered good. The current value of the parameter for any or all goods can be retrieved by passing an appropriate parameter identification tuple to model.param().


  • name str, required

    A slug-type string to be used to refer back to the parameter in other functions.

  • title str, required

    The title of the parameter, to be displayed in the GUI.

  • type str, required

    What type of control to display. Possible values are 'menu', 'check', 'slider', or 'hidden'.

  • dflt str|bool|num|dict, required

    The default value of the parameter. A menu should have a string here, a check a boolean, a slider a number, and a checkentry a bool, int, or string Can also take a dict, with keys corresponding to the different goods, in order to set a different default value for each good.

  • opts dict, optional

    Options for the parameter type.

    • A slider should have a dict with keys 'low', 'high', and 'step', with numeric values, corresponding to the max and min values and the slider's increment. Alternatively opts can take a list of integers for a slider that slides over defined values.
    • A menu should have key-value pairs corresponding to menu items, with the key the value returned by the parameter, and the value the label displayed in the GUI.
    • Checks, checkentries, or hidden parameters do not need an opts parameter.

    Default value: {}

  • runtime bool, optional

    Whether the parameter can be changed during the model's runtime. If set to False, the parameter will be disabled while the model is running.

    Default value: True

  • callback func, optional

    An optional function that will execute when the parameter changes. The function takes four arguments: model, the model object; var, the name of the parameter (the first argument of model.addGoodParam); good, the name of the good whose parameter was changed; and val, the new value of the parameter.

    Default value: None

  • desc str, optional

    A long description to display as a tooltip. Note that tooltips require PMW when using the Tkinter frontend.

    Default value: None

  • getter func(name, model, good), optional

    A function to replace the parameter's own getter with open-ended code. The function can return None in order to pass to the default getter.

    Default value: None

  • setter func(val, name, model, good), optional

    A function to replace the parameter's own setter with open-ended code. The function can return something besides None in order to pass to the default setter.

    Default value: None

Return Value Param

The newly created Param object.

Notes and Examples

  1. Contribute a Note

    Your email address will not be published.

    You may use limited HTML for formatting. Please embed blocks of code in <pre><code> </code></pre> tags.