This file describes the API for creating user-defined parameter exploration widgets. -------------------------------------------------------------------------------- User-defined parameter exploration widgets allow users to define methods for performing parameter exploration on user-defined constants. If you want to know how to define your own constants, please see doc/user_defined_constants.txt. A user-defined parameter exploration widget is simply a QtGui.QWidget subclass that respects a certain small interface. The constant class is then made aware of the (possible many) widgets, and VisTrails takes care of instantiating them correctly. This is what each of your subclasses will have to implement: - a constructor that takes the parameter exploration information - a method 'get_values' that will return a list of strings corresponding to the associated values of the exploration - a field 'exploration_name' that will store the string name to be associated with the particular type of exploration (for example, "HSV Interpolation" or "RGB Interpolation") - optionally, a method 'size_was_updated', which gets called when the parameter exploration dimension is changed. You can use this to automatically refresh your widget if necessary (the user function editor does this, for example) -------------------------------------------------------------------------------- The constructor The constructor should take two mandatory arguments. The first parameter is an instance of ParameterInfo, an object that identifies the parameter being changed. The fields you will probably care about are 'type', 'identifier', 'namespace' and 'value'. The first three will allow you to get to the constant's information in the registry, and 'value' is the string representation of the current parameter value in the pipeline (typically used as an initialization parameter for the widget). The second parameter is an integer corresponding to the 'size' of the exploration, the number of steps in that particular dimension. The constructor should also accept an optional 'parent' parameter, with default value None. -------------------------------------------------------------------------------- The get_values method The 'get_values' method should take a parameter corresponding to the size of the exploration, and should return a list of string values with length size. These values should correspond to the steps of the exploration. -------------------------------------------------------------------------------- The size_was_updated method The 'size_was_updated' method should take a parameter corresponding to the new size of the exploration.