questionnaire. */ interface QuestionType { /** * Returns a specific icon for this type of question. Note this is not bound to the * object but called staticly. * @return Icon the specific icon for this type of question */ static public function getIcon($active = false, $add = false); /** * Returns the name of the type of question like "Frage" or "Test" or "Dateiablage" * This name is not showed to the participant of the questionnaire, but to the editor. * It might get displayed like "add another Frage to questionnaire", where 'Frage' * is the name of the type. * @return string : the name of this type of question. */ static public function getName(); /** * Returns a template that is used to edit or create the question. Note that * $this['data'] might already be filled with data, when the user is editing an * existing question. * @return Flexi_Template */ public function getEditingTemplate(); /** * Called right before the questionnaire and the question is stored or when the user * needs to refresh the editing-window, This method is called to store the * request-values into $this['data']. You get them from the Request-class as usual. */ public function createDataFromRequest(); /** * Display the question to the user. This template will be embedded into a * html