/** * A SettingModifier provides the means to augment the settings as they are * rendered for output. This can be used to disable certain settings are provide * additional information. * * Copyright (C) 2011 Tripwire Interactive LLC * * @author Michiel 'elmuerte' Hendriks */ interface ISettingsModifier; /** * Called before rendering the settings. Return false if this modifier does not * intent to augment any settings for the given instance. * * @return true if this modifier is going to augement the output. */ function bool modifierAppliesTo(WebAdminSettings settings); /** * Called at the end of processing the settings. Can be used to clean up local * state. Any returned content is added to the rendered content. */ function string finalizeAugmentation(WebResponse response, String path); /** * Called when a setting is being rendered. * @param renderState * The rendering state * @param index * The index of rendering subelements. This is higher than -1 when the setting * has multiple render phases for subitems (i.e. a selection list). Note that * during rendering of the subelements the renderState is not reset. * @param inContainer * True when the subelements are within a container, which means that is an * additional step (with index = -1) for rendering the container. */ function augmentSetting(SettingRendererState renderState, optional int index = -1, optional bool inContainer); /** * Called after processing submitted values. Should be used to ensure some * settings have the correct values. This function is called stand-alone. */ function ensureSettingValues(WebAdminSettings settings);