ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
ilTestQuestionsTableGUI Class Reference
+ Inheritance diagram for ilTestQuestionsTableGUI:
+ Collaboration diagram for ilTestQuestionsTableGUI:

Public Member Functions

 __construct ($a_parent_obj, $a_parent_cmd, $parentRefId)
 Constructor. More...
 
 getSelectableColumns ()
 
 init ()
 
 fillRow ($data)
 fill row More...
 
 isQuestionManagingEnabled ()
 
 setQuestionManagingEnabled (bool $questionManagingEnabled)
 
 isPositionInsertCommandsEnabled ()
 
 setPositionInsertCommandsEnabled (bool $positionInsertCommandsEnabled)
 
 isQuestionPositioningEnabled ()
 
 setQuestionPositioningEnabled (bool $questionPositioningEnabled)
 
 isObligatoryQuestionsHandlingEnabled ()
 
 setObligatoryQuestionsHandlingEnabled (bool $obligatoryQuestionsHandlingEnabled)
 
 getTotalPoints ()
 
 setTotalPoints (float $totalPoints)
 
 getTotalWorkingTime ()
 
 setTotalWorkingTime (string $totalWorkingTime)
 
 isQuestionRemoveRowButtonEnabled ()
 
 setQuestionRemoveRowButtonEnabled (bool $questionRemoveRowButtonEnabled)
 
- Public Member Functions inherited from ilTable2GUI
 __construct ($a_parent_obj, $a_parent_cmd="", $a_template_context="")
 ilTable2GUI constructor. More...
 
 setOpenFormTag ($a_val)
 Set open form tag. More...
 
 getOpenFormTag ()
 Get open form tag. More...
 
 setCloseFormTag ($a_val)
 Set close form tag. More...
 
 getCloseFormTag ()
 Get close form tag. More...
 
 determineLimit ()
 Determine the limit. More...
 
 getSelectableColumns ()
 Get selectable columns. More...
 
 determineSelectedColumns ()
 Determine selected columns. More...
 
 isColumnSelected ($a_col)
 Is given column selected? More...
 
 getSelectedColumns ()
 Get selected columns. More...
 
 executeCommand ()
 Execute command. More...
 
 resetOffset ($a_in_determination=false)
 Reset offset. More...
 
 initFilter ()
 Init filter. More...
 
 getParentObject ()
 Get parent object. More...
 
 getParentCmd ()
 Get parent command. More...
 
 setTopAnchor ($a_val)
 Set top anchor. More...
 
 getTopAnchor ()
 Get top anchor. More...
 
 setNoEntriesText ($a_text)
 Set text for an empty table. More...
 
 getNoEntriesText ()
 Get text for an empty table. More...
 
 setIsDataTable ($a_val)
 Set is data table. More...
 
 getIsDataTable ()
 Get is data table. More...
 
 setEnableTitle ($a_enabletitle)
 Set Enable Title. More...
 
 getEnableTitle ()
 Get Enable Title. More...
 
 setEnableHeader ($a_enableheader)
 Set Enable Header. More...
 
 getEnableHeader ()
 Get Enable Header. More...
 
 setEnableNumInfo ($a_val)
 Set enable num info. More...
 
 getEnableNumInfo ()
 Get enable num info. More...
 
 setTitle ($a_title, $a_icon=0, $a_icon_alt=0)
 Set title and title icon. More...
 
 setDescription ($a_val)
 Set description. More...
 
 getDescription ()
 Get description. More...
 
 setOrderField ($a_order_field)
 set order column More...
 
 getOrderField ()
 
 setData ($a_data)
 
 getData ()
 
 dataExists ()
 
 setPrefix ($a_prefix)
 
 getPrefix ()
 
 addFilterItem ($a_input_item, $a_optional=false)
 Add filter item. More...
 
 addFilterItemByMetaType ($id, $type=self::FILTER_TEXT, $a_optional=false, $caption=null)
 Add filter by standard type. More...
 
 getFilterItems ($a_optionals=false)
 Get filter items. More...
 
 getFilterItemByPostVar ($a_post_var)
 
 setFilterCols ($a_val)
 Set filter columns. More...
 
 getFilterCols ()
 Get filter columns. More...
 
 setDisableFilterHiding ($a_val=true)
 Set disable filter hiding. More...
 
 getDisableFilterHiding ()
 Get disable filter hiding. More...
 
 isFilterSelected ($a_col)
 Is given filter selected? More...
 
 getSelectedFilters ()
 Get selected filters. More...
 
 determineSelectedFilters ()
 Determine selected filters. More...
 
 setCustomPreviousNext ($a_prev_link, $a_next_link)
 Set custom previous/next links. More...
 
 setFormAction ($a_form_action, $a_multipart=false)
 Set Form action parameter. More...
 
 getFormAction ()
 Get Form action parameter. More...
 
 setFormName ($a_formname="")
 Set Form name. More...
 
 getFormName ()
 Get Form name. More...
 
 setId ($a_val)
 Set id. More...
 
 getId ()
 Get element id. More...
 
 setDisplayAsBlock ($a_val)
 Set display as block. More...
 
 getDisplayAsBlock ()
 Get display as block. More...
 
 getSelectAllCheckbox ()
 Get the name of the checkbox that should be toggled with a select all button. More...
 
 setSelectAllCheckbox ($a_select_all_checkbox, $a_select_all_on_top=false)
 Set the name of the checkbox that should be toggled with a select all button. More...
 
 setExternalSorting ($a_val)
 Set external sorting. More...
 
 getExternalSorting ()
 Get external sorting. More...
 
 setFilterCommand ($a_val, $a_caption=null)
 Set filter command. More...
 
 getFilterCommand ()
 Get filter command. More...
 
 setResetCommand ($a_val, $a_caption=null)
 Set reset filter command. More...
 
 getResetCommand ()
 Get reset filter command. More...
 
 setExternalSegmentation ($a_val)
 Set external segmentation. More...
 
 getExternalSegmentation ()
 Get external segmentation. More...
 
 setRowTemplate ($a_template, $a_template_dir="")
 Set row template. More...
 
 setDefaultOrderField ($a_defaultorderfield)
 Set Default order field. More...
 
 getDefaultOrderField ()
 Get Default order field. More...
 
 setDefaultOrderDirection ($a_defaultorderdirection)
 Set Default order direction. More...
 
 getDefaultOrderDirection ()
 Get Default order direction. More...
 
 setDefaultFilterVisiblity ($a_status)
 Set default filter visiblity. More...
 
 getDefaultFilterVisibility ()
 Get default filter visibility. More...
 
 clearCommandButtons ()
 
 addCommandButton ($a_cmd, $a_text, $a_onclick='', $a_id="", $a_class=null)
 Add Command button. More...
 
 addCommandButtonInstance (ilButtonBase $a_button)
 Add Command button instance. More...
 
 addSelectionButton ($a_sel_var, $a_options, $a_cmd, $a_text, $a_default_selection='')
 Add Selection List + Command button. More...
 
 addMultiItemSelectionButton ($a_sel_var, $a_options, $a_cmd, $a_text, $a_default_selection='')
 Add Selection List + Command button for selected items. More...
 
 setCloseCommand ($a_link)
 Add command for closing table. More...
 
 addMultiCommand ($a_cmd, $a_text)
 Add Command button. More...
 
 addHiddenInput ($a_name, $a_value)
 Add Hidden Input field. More...
 
 addHeaderCommand ($a_href, $a_text, $a_target="", $a_img="")
 Add Header Command (Link) (Image needed for now) More...
 
 setTopCommands ($a_val)
 Set top commands (display command buttons on top of table, too) More...
 
 getTopCommands ()
 Get top commands (display command buttons on top of table, too) More...
 
 addColumn ( $a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
 Add a column to the header. More...
 
 getNavParameter ()
 
 setOrderLink ($sort_field, $order_dir)
 
 fillHeader ()
 
 determineOffsetAndOrder ($a_omit_offset=false)
 Determine offset and order. More...
 
 storeNavParameter ()
 
 getHTML ()
 Get HTML. More...
 
 numericOrdering ($a_field)
 Should this field be sorted numeric? More...
 
 render ()
 render table public More...
 
 writeFilterToSession ()
 Write filter values to session. More...
 
 resetFilter ()
 Reset filter. More...
 
 fillFooter ()
 Fill footer row. More...
 
 getLinkbar ($a_num)
 Get previous/next linkbar. More...
 
 fillHiddenRow ()
 
 fillActionRow ()
 Fill Action Row. More...
 
 setHeaderHTML ($html)
 set header html More...
 
 storeProperty ($type, $value)
 Store table property. More...
 
 loadProperty ($type)
 Load table property. More...
 
 getCurrentState ()
 get current settings for order, limit, columns and filter More...
 
 setContext ($id)
 Set context. More...
 
 getContext ()
 Get context. More...
 
 setShowRowsSelector ($a_value)
 Toggle rows-per-page selector. More...
 
 getShowRowsSelector ()
 Get rows-per-page selector state. More...
 
 setShowTemplates ($a_value)
 Toggle templates. More...
 
 getShowTemplates ()
 Get template state. More...
 
 restoreTemplate ($a_name)
 Restore state from template. More...
 
 saveTemplate ($a_name)
 Save current state as template. More...
 
 deleteTemplate ($a_name)
 Delete template. More...
 
 getLimit ()
 Get limit. More...
 
 getOffset ()
 Get offset. More...
 
 setExportFormats (array $formats)
 Set available export formats. More...
 
 setPrintMode ($a_value=false)
 Toogle print mode. More...
 
 getPrintMode ()
 Get print mode. More...
 
 getExportMode ()
 Was export activated? More...
 
 exportData ($format, $send=false)
 Export and optionally send current table data. More...
 
 setEnableAllCommand ($a_value)
 Enable actions for all entries in current result. More...
 
 setRowSelectorLabel ($row_selector_label)
 
 getRowSelectorLabel ()
 
 setPreventDoubleSubmission ($a_val)
 Set prevent double submission. More...
 
 getPreventDoubleSubmission ()
 Get prevent double submission. More...
 
 setLimit ($a_limit=0, $a_default_limit=0)
 
- Public Member Functions inherited from ilTableGUI
 __construct ($a_data=0, $a_global_tpl=true)
 Constructor. More...
 
 setTemplate ($a_tpl)
 set template public More...
 
getTemplateObject ()
 
 setData ($a_data)
 set table data public More...
 
 getData ()
 
 setTitle ($a_title, $a_icon=0, $a_icon_alt=0)
 set table title public More...
 
 setHelp ($a_help_page, $a_help_icon, $a_help_icon_alt=0)
 set table help page public More...
 
 setHeaderNames ($a_header_names)
 set table header names public More...
 
 getColumnCount ()
 Returns the column count based on the number of the header row columns public. More...
 
 setHeaderVars ($a_header_vars, $a_header_params=0)
 set table header vars public More...
 
 setColumnWidth ($a_column_width)
 set table column widths public More...
 
 setOneColumnWidth ($a_column_width, $a_column_number)
 set one table column width public More...
 
 setMaxCount ($a_max_count)
 set max. More...
 
 setLimit ($a_limit=0, $a_default_limit=0)
 set max. More...
 
 getLimit ()
 Get limit. More...
 
 setPrefix ($a_prefix)
 set prefix for sort and offset fields (if you have two or more tables on a page that you want to sort separately) public More...
 
 setOffset ($a_offset)
 set dataset offset public More...
 
 getOffset ()
 Get offset. More...
 
 setOrderColumn ($a_order_column=0, $a_default_column=0)
 set order column public More...
 
 getOrderColumn ()
 Get order column. More...
 
 setOrderDirection ($a_order_direction)
 set order direction public More...
 
 getOrderDirection ()
 Get order direction. More...
 
 setFooter ($a_style, $a_previous=0, $a_next=0)
 set order direction public More...
 
 enable ($a_module_name)
 enables particular modules of table More...
 
 disable ($a_module_name)
 diesables particular modules of table More...
 
 sortData ()
 
 render ()
 render table public More...
 
 renderHeader ()
 
 setOrderLink ($key, $order_dir)
 
 setStyle ($a_element, $a_style)
 
 getStyle ($a_element)
 
 setBase ($a_base)
 Set Base script name (deprecated, only use this for workarounds). More...
 
 getBase ()
 Get Base script name (deprecated, only use this for workarounds). More...
 
 getFormName ()
 
 setFormName ($a_name="cmd")
 
 getSelectAllCheckbox ()
 
 setSelectAllCheckbox ($a_select_all_checkbox)
 
 clearActionButtons ()
 
 addActionButton ($btn_name, $btn_value)
 

Protected Member Functions

 initColumns ()
 
 initCommands ()
 
 buildQuestionRemoveButton (array $rowData)
 
 buildQuestionTitleLink (array $rowData)
 
 getPreviewLink (array $rowData)
 
 getEditLink (array $rowData, string $target_class, string $cmd)
 
 buildObligatoryColumnContent (array $rowData)
 
 buildPositionInput ($questionId, $position)
 
 buildTableSaveCommandLabel ()
 
 buildPointsHeader ()
 
 buildWorkingTimeHeader ()
 
 isTableSaveCommandRequired ()
 
 isCheckboxColumnRequired ()
 
- Protected Member Functions inherited from ilTable2GUI
 prepareOutput ()
 Anything that must be done before HTML is generated. More...
 
 isFilterVisible ()
 Check if filter is visible: manually shown (session, db) or default value set. More...
 
 isAdvMDFilter (ilAdvancedMDRecordGUI $a_gui, $a_element)
 Check if filter element is based on adv md. More...
 
 fillRow ($a_set)
 Standard Version of Fill Row. More...
 
 getFilterValue (ilFormPropertyGUI $a_item)
 Get current filter value. More...
 
 SetFilterValue (ilFormPropertyGUI $a_item, $a_value)
 Set current filter value. More...
 
 fillMetaExcel (ilExcel $a_excel, &$a_row)
 Add meta information to excel export. More...
 
 fillHeaderExcel (ilExcel $a_excel, &$a_row)
 Excel Version of Fill Header. More...
 
 fillRowExcel (ilExcel $a_excel, &$a_row, $a_set)
 Excel Version of Fill Row. More...
 
 fillMetaCSV ($a_csv)
 Add meta information to csv export. More...
 
 fillHeaderCSV ($a_csv)
 CSV Version of Fill Header. More...
 
 fillRowCSV ($a_csv, $a_set)
 CSV Version of Fill Row. More...
 

Protected Attributes

 $questionRemoveRowButtonEnabled = false
 
 $questionManagingEnabled = false
 
 $positionInsertCommandsEnabled = false
 
 $questionPositioningEnabled = false
 
 $obligatoryQuestionsHandlingEnabled = false
 
 $totalPoints = 0
 
 $totalWorkingTime = ''
 
 $renderer
 
 $factory
 
- Protected Attributes inherited from ilTable2GUI
 $ctrl
 
 $tpl
 
 $parent_obj
 
 $parent_cmd
 
 $close_command = ""
 
 $top_anchor = "il_table_top"
 
 $filters = array()
 
 $optional_filters = array()
 
 $filter_cmd = 'applyFilter'
 
 $reset_cmd = 'resetFilter'
 
 $filter_cols = 5
 
 $ext_sort = false
 
 $ext_seg = false
 
 $context = ""
 
 $mi_sel_buttons = []
 
 $disable_filter_hiding = false
 
 $selected_filter = false
 
 $top_commands = true
 
 $selectable_columns = array()
 
 $selected_column = array()
 
 $show_templates = false
 
 $show_rows_selector = true
 
 $rows_selector_off = false
 
 $nav_determined = false
 
 $limit_determined = false
 
 $filters_determined = false
 
 $columns_determined = false
 
 $open_form_tag = true
 
 $close_form_tag = true
 
 $export_formats = []
 
 $export_mode
 
 $print_mode
 
 $enable_command_for_all
 
 $restore_filter
 
 $restore_filter_values
 
 $default_filter_visibility = false
 
 $sortable_fields = array()
 
 $prevent_double_submission = true
 
 $row_selector_label
 
 $select_all_on_top = false
 
 $sel_buttons = []
 
- Protected Attributes inherited from ilTableGUI
 $tpl
 
 $lng
 

Private Attributes

const CLASS_PATH_FOR_EDIT_LINKS = [ilRepositoryGUI::class, ilObjQuestionPoolGUI::class]
 
 $access
 
 $position = 0
 

Additional Inherited Members

- Static Public Member Functions inherited from ilTable2GUI
static getAllCommandLimit ()
 Get maximum number of entries to enable actions for all. More...
 
- Data Fields inherited from ilTable2GUI
const FILTER_TEXT = 1
 
const FILTER_SELECT = 2
 
const FILTER_DATE = 3
 
const FILTER_LANGUAGE = 4
 
const FILTER_NUMBER_RANGE = 5
 
const FILTER_DATE_RANGE = 6
 
const FILTER_DURATION_RANGE = 7
 
const FILTER_DATETIME_RANGE = 8
 
const FILTER_CHECKBOX = 9
 
const EXPORT_EXCEL = 1
 
const EXPORT_CSV = 2
 
const ACTION_ALL_LIMIT = 1000
 
- Data Fields inherited from ilTableGUI
 $title
 
 $icon
 
 $icon_alt
 
 $help_page
 
 $help_icon
 
 $help_icon_alt
 
 $header_names
 
 $header_vars
 
 $linkbar_vars
 
 $data
 
 $column_count
 
 $column_width
 
 $max_count
 
 $limit
 
 $max_limit = false
 
 $offset
 
 $order_column
 
 $order_direction
 
 $footer_style
 
 $footer_previous
 
 $footer_next
 
 $lang_support = true
 
 $global_tpl
 
 $form_name
 
 $select_all_checkbox
 
 $action_buttons
 
 $prefix
 
 $base = ""
 
 $enabled
 
 $styles
 

Detailed Description

Author
Helmut Schottmüller ilias.nosp@m.@aur.nosp@m.ealis.nosp@m..de
Björn Heyser bheys.nosp@m.er@d.nosp@m.ataba.nosp@m.y.de
Version
$Id$

Definition at line 18 of file class.ilTestQuestionsTableGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilTestQuestionsTableGUI::__construct (   $a_parent_obj,
  $a_parent_cmd,
  $parentRefId 
)

Constructor.

public

Parameters

Definition at line 73 of file class.ilTestQuestionsTableGUI.php.

References $DIC, ILIAS\GlobalScreen\Provider\__construct(), ilTableGUI\disable(), ilTableGUI\enable(), ilTable2GUI\setExternalSegmentation(), ilTable2GUI\setFormAction(), ilTable2GUI\setFormName(), ilTable2GUI\setId(), ilTable2GUI\setRowTemplate(), ilTable2GUI\setShowRowsSelector(), and ilTableGUI\setStyle().

74  {
75  global $DIC;
76 
77  $this->renderer = $DIC->ui()->renderer();
78  $this->factory = $DIC->ui()->factory();
79  $this->access = $DIC['ilAccess'];
80 
81  $this->setId('tst_qst_lst_' . $parentRefId);
82 
83  parent::__construct($a_parent_obj, $a_parent_cmd);
84 
85  $this->setFormName('questionbrowser');
86  $this->setStyle('table', 'fullwidth');
87 
88  $this->setExternalSegmentation(true);
89 
90  $this->setRowTemplate("tpl.il_as_tst_questions_row.html", "Modules/Test");
91 
92  $this->setFormAction($this->ctrl->getFormAction($a_parent_obj, $a_parent_cmd));
93 
94  $this->disable('sort');
95  $this->enable('header');
96 
97  $this->setShowRowsSelector(false);
98  }
setStyle($a_element, $a_style)
setExternalSegmentation($a_val)
Set external segmentation.
setId($a_val)
Set id.
global $DIC
Definition: goto.php:24
enable($a_module_name)
enables particular modules of table
setRowTemplate($a_template, $a_template_dir="")
Set row template.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
disable($a_module_name)
diesables particular modules of table
setFormName($a_formname="")
Set Form name.
__construct(Container $dic, ilPlugin $plugin)
setShowRowsSelector($a_value)
Toggle rows-per-page selector.
+ Here is the call graph for this function:

Member Function Documentation

◆ buildObligatoryColumnContent()

ilTestQuestionsTableGUI::buildObligatoryColumnContent ( array  $rowData)
protected
Parameters
array$data
Returns
string

Definition at line 417 of file class.ilTestQuestionsTableGUI.php.

References ilGlyphGUI\EXCLAMATION, ilGlyphGUI\get(), and isQuestionManagingEnabled().

Referenced by fillRow().

417  : string
418  {
419  if (!$rowData['obligationPossible']) {
420  return ' ';
421  }
422 
423  if ($rowData['obligatory'] && !$this->isQuestionManagingEnabled()) {
424  // obligatory icon
425  return ilGlyphGUI::get(ilGlyphGUI::EXCLAMATION, $this->lng->txt('question_obligatory'));
426  }
427 
428  $checkedAttr = $rowData['obligatory'] ? 'checked="checked"' : '';
429  return '<input type="checkbox" name="obligatory[' . $rowData['question_id'] . ']" value="1" ' . $checkedAttr . ' />';
430  }
static get($a_glyph, $a_text="")
Get glyph html.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildPointsHeader()

ilTestQuestionsTableGUI::buildPointsHeader ( )
protected
Returns
string

Definition at line 465 of file class.ilTestQuestionsTableGUI.php.

References getTotalPoints().

Referenced by initColumns().

465  : string
466  {
467  if ($this->getTotalPoints()) {
468  return $this->lng->txt('points') . ' (' . $this->getTotalPoints() . ')';
469  }
470 
471  return $this->lng->txt('points');
472  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildPositionInput()

ilTestQuestionsTableGUI::buildPositionInput (   $questionId,
  $position 
)
protected
Parameters
$questionId
$position
Returns
string

Definition at line 437 of file class.ilTestQuestionsTableGUI.php.

References $position.

Referenced by fillRow().

437  : string
438  {
439  return '<input type="text" name="order[q_' . $questionId . ']" value="' . $position . '" maxlength="4" size="4" />';
440  }
+ Here is the caller graph for this function:

◆ buildQuestionRemoveButton()

ilTestQuestionsTableGUI::buildQuestionRemoveButton ( array  $rowData)
protected

Definition at line 320 of file class.ilTestQuestionsTableGUI.php.

References ilLinkButton\getInstance(), ilTable2GUI\getParentCmd(), and ilTable2GUI\getParentObject().

Referenced by fillRow().

320  : string
321  {
322  $this->ctrl->setParameter($this->getParentObject(), 'removeQid', $rowData['question_id']);
323  $removeUrl = $this->ctrl->getLinkTarget($this->getParentObject(), $this->getParentCmd());
324  $this->ctrl->setParameter($this->getParentObject(), 'removeQid', '');
325 
326  $button = ilLinkButton::getInstance();
327  $button->setCaption('remove_question');
328  $button->setUrl($removeUrl);
329 
330  return $button->render();
331  }
getParentCmd()
Get parent command.
getParentObject()
Get parent object.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildQuestionTitleLink()

ilTestQuestionsTableGUI::buildQuestionTitleLink ( array  $rowData)
protected

Definition at line 333 of file class.ilTestQuestionsTableGUI.php.

References getPreviewLink().

Referenced by fillRow().

333  : string
334  {
335  return '<a href="' . $this->getPreviewLink($rowData) . '">' . $rowData["title"] . '</a>';
336  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildTableSaveCommandLabel()

ilTestQuestionsTableGUI::buildTableSaveCommandLabel ( )
protected
Returns
string

Definition at line 445 of file class.ilTestQuestionsTableGUI.php.

References isObligatoryQuestionsHandlingEnabled(), and isQuestionPositioningEnabled().

Referenced by initCommands().

445  : string
446  {
448  return $this->lng->txt('saveOrderAndObligations');
449  }
450 
452  return $this->lng->txt('saveObligations');
453  }
454 
455  if ($this->isQuestionPositioningEnabled()) {
456  return $this->lng->txt('saveOrder');
457  }
458 
459  return $this->lng->txt('save');
460  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildWorkingTimeHeader()

ilTestQuestionsTableGUI::buildWorkingTimeHeader ( )
protected
Returns
string

Definition at line 477 of file class.ilTestQuestionsTableGUI.php.

References getTotalWorkingTime().

Referenced by initColumns().

477  : string
478  {
479  if (strlen($this->getTotalWorkingTime())) {
480  return $this->lng->txt('working_time') . ' (' . $this->getTotalWorkingTime() . ')';
481  }
482 
483  return $this->lng->txt('working_time');
484  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fillRow()

ilTestQuestionsTableGUI::fillRow (   $data)

fill row

public

Parameters

Definition at line 203 of file class.ilTestQuestionsTableGUI.php.

References ilTableGUI\$data, Vendor\Package\$e, assQuestion\_getQuestionTypeName(), ilObject\_lookupTitle(), buildObligatoryColumnContent(), buildPositionInput(), buildQuestionRemoveButton(), buildQuestionTitleLink(), ilAssQuestionFeedbackEditingGUI\CMD_SHOW, ilAssQuestionHintsGUI\CMD_SHOW_LIST, ilAssQuestionPreviewGUI\CMD_STATISTICS, getEditLink(), ilUtil\getImagePath(), ilAssQuestionLifecycle\getInstance(), ilTable2GUI\getParentObject(), getPreviewLink(), isCheckboxColumnRequired(), ilTable2GUI\isColumnSelected(), isObligatoryQuestionsHandlingEnabled(), isQuestionManagingEnabled(), isQuestionPositioningEnabled(), and isQuestionRemoveRowButtonEnabled().

204  {
205  if ($this->isCheckboxColumnRequired()) {
206  $this->tpl->setVariable("CHECKBOX_QID", $data['question_id']);
207  }
208 
209  if ($this->isQuestionPositioningEnabled()) {
210  $this->position += 10;
211  $inputField = $this->buildPositionInput($data['question_id'], $this->position);
212 
213  $this->tpl->setVariable("QUESTION_POSITION", $inputField);
214  $this->tpl->setVariable("POSITION_QID", $data['question_id']);
215  }
216 
217  if ($this->isColumnSelected('qid')) {
218  $this->tpl->setVariable("QUESTION_ID_PRESENTATION", $data['question_id']);
219  }
220 
221  $this->tpl->setVariable("QUESTION_TITLE", $this->buildQuestionTitleLink($data));
222 
223  if (!$data['complete']) {
224  $this->tpl->setVariable("IMAGE_WARNING", ilUtil::getImagePath("icon_alert.svg"));
225  $this->tpl->setVariable("ALT_WARNING", $this->lng->txt("warning_question_not_complete"));
226  $this->tpl->setVariable("TITLE_WARNING", $this->lng->txt("warning_question_not_complete"));
227  }
228 
230  $this->tpl->setVariable("QUESTION_OBLIGATORY", $this->buildObligatoryColumnContent($data));
231  }
232 
233  if ($this->isColumnSelected('description')) {
234  $this->tpl->setVariable("QUESTION_COMMENT", $data["description"] ? $data["description"] : '&nbsp;');
235  }
236 
237  $this->tpl->setVariable("QUESTION_TYPE", assQuestion::_getQuestionTypeName($data["type_tag"]));
238  $this->tpl->setVariable("QUESTION_POINTS", $data["points"]);
239 
240  if ($this->isColumnSelected('author')) {
241  $this->tpl->setVariable("QUESTION_AUTHOR", $data["author"]);
242  }
243 
244  if ($this->isColumnSelected('lifecycle')) {
245  try {
246  $lifecycle = ilAssQuestionLifecycle::getInstance($data['lifecycle'])->getTranslation($this->lng);
247  $this->tpl->setVariable("QUESTION_LIFECYCLE", $lifecycle);
249  $this->tpl->setVariable("QUESTION_LIFECYCLE", '');
250  }
251  }
252 
253  if ($this->isColumnSelected('working_time')) {
254  $this->tpl->setVariable("QUESTION_WORKING_TIME", $data["working_time"]);
255  }
256 
257  $question_pool_title = $this->lng->txt('tst_question_not_from_pool_info');
258 
259  if (isset($data['orig_obj_fi']) && ilObject::_lookupTitle($data['orig_obj_fi']) !== null) {
260  $question_pool_title = $this->buildPossiblyLinkedQuestonPoolTitle(
261  $this->ctrl,
262  $this->access,
263  $this->lng,
264  $this->factory,
265  $this->renderer,
266  $data["orig_obj_fi"],
267  ilObject::_lookupTitle($data["orig_obj_fi"])
268  );
269  }
270 
271  $this->tpl->setVariable(
272  "QUESTION_POOL",
273  $question_pool_title
274  );
275 
277  $actions->setId('qst' . $data["question_id"]);
278  $actions->setListTitle($this->lng->txt('actions'));
279 
280  $actions->addItem(
281  $this->lng->txt('preview'),
282  '',
283  $this->getPreviewLink($data)
284  );
285 
286  $actions->addItem(
287  $this->lng->txt('statistics'),
288  '',
289  $this->getEditLink($data, 'ilAssQuestionPreviewGUI', ilAssQuestionPreviewGUI::CMD_STATISTICS)
290  );
291 
292  if ($this->isQuestionManagingEnabled()) {
293  $editHref = $this->getEditLink($data, $data['type_tag'] . 'GUI', 'editQuestion');
294  $actions->addItem($this->lng->txt('edit_question'), '', $editHref);
295 
296  $editPageHref = $this->getEditLink($data, 'ilAssQuestionPageGUI', 'edit');
297  $actions->addItem($this->lng->txt('edit_page'), '', $editPageHref);
298 
299  $moveHref = $this->getEditLink($data, get_class($this->getParentObject()), 'moveQuestions');
300  $actions->addItem($this->lng->txt('move'), '', $moveHref);
301 
302  $copyHref = $this->getEditLink($data, get_class($this->getParentObject()), 'copyQuestion');
303  $actions->addItem($this->lng->txt('copy'), '', $copyHref);
304 
305  $deleteHref = $this->getEditLink($data, get_class($this->getParentObject()), 'removeQuestions');
306  $actions->addItem($this->lng->txt('delete'), '', $deleteHref);
307 
308  $feedbackHref = $this->getEditLink($data, 'ilAssQuestionFeedbackEditingGUI', ilAssQuestionFeedbackEditingGUI::CMD_SHOW);
309  $actions->addItem($this->lng->txt('tst_feedback'), '', $feedbackHref);
310 
311  $hintsHref = $this->getEditLink($data, 'ilAssQuestionHintsGUI', ilAssQuestionHintsGUI::CMD_SHOW_LIST);
312  $actions->addItem($this->lng->txt('tst_question_hints_tab'), '', $hintsHref);
313  }
314  $this->tpl->setVariable('ROW_ACTIONS', $actions->getHTML());
315  if ($this->isQuestionRemoveRowButtonEnabled()) {
316  $this->tpl->setVariable('ROW_ACTIONS', $this->buildQuestionRemoveButton($data));
317  }
318  }
static _getQuestionTypeName($type_tag)
Return the translation for a given question type tag.
static _lookupTitle($a_id)
lookup object title
getParentObject()
Get parent object.
const CMD_SHOW_LIST
command constants
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
buildPositionInput($questionId, $position)
isColumnSelected($a_col)
Is given column selected?
getEditLink(array $rowData, string $target_class, string $cmd)
+ Here is the call graph for this function:

◆ getEditLink()

ilTestQuestionsTableGUI::getEditLink ( array  $rowData,
string  $target_class,
string  $cmd 
)
protected

Definition at line 383 of file class.ilTestQuestionsTableGUI.php.

References $_GET, and ilObject\_getAllReferences().

Referenced by fillRow().

383  : string
384  {
385  $this->ctrl->setParameterByClass(
386  $target_class,
387  'ref_id',
388  current(ilObject::_getAllReferences($rowData['obj_fi']))
389  );
390 
391  $this->ctrl->setParameterByClass(
392  $target_class,
393  'q_id',
394  $rowData['question_id']
395  );
396  $this->ctrl->setParameterByClass(
397  $target_class,
398  'calling_test',
399  $_GET['ref_id']
400  );
401 
402  $link = $this->ctrl->getLinkTargetByClass(array_merge(
403  self::CLASS_PATH_FOR_EDIT_LINKS,
404  [$target_class]
405  ), $cmd);
406 
407  $this->ctrl->setParameterByClass($target_class, 'ref_id', '');
408  $this->ctrl->setParameterByClass($target_class, 'q_id', '');
409  $this->ctrl->setParameterByClass($target_class, 'calling_test', '');
410  return $link;
411  }
$_GET["client_id"]
static _getAllReferences($a_id)
get all reference ids of object
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPreviewLink()

ilTestQuestionsTableGUI::getPreviewLink ( array  $rowData)
protected

Definition at line 338 of file class.ilTestQuestionsTableGUI.php.

References $_GET, ilObject\_getAllReferences(), ilTable2GUI\getParentCmd(), and ilTable2GUI\getParentObject().

Referenced by buildQuestionTitleLink(), and fillRow().

338  : string
339  {
340  $target_class = get_class($this->getParentObject());
341  $this->ctrl->setParameterByClass(
342  $target_class,
343  'ref_id',
344  current(ilObject::_getAllReferences($rowData['obj_fi']))
345  );
346 
347  $this->ctrl->setParameterByClass(
348  $target_class,
349  'eqpl',
350  current(ilObject::_getAllReferences($rowData['obj_fi']))
351  );
352 
353  $this->ctrl->setParameterByClass(
354  $target_class,
355  'eqid',
356  $rowData['question_id']
357  );
358 
359  $this->ctrl->setParameterByClass(
360  $target_class,
361  'q_id',
362  $rowData['question_id']
363  );
364 
365  $this->ctrl->setParameterByClass(
366  $target_class,
367  'calling_test',
368  $_GET['ref_id']
369  );
370 
371  $question_href = $this->ctrl->getLinkTargetByClass(
372  $target_class,
373  $this->getParentCmd()
374  );
375  $this->ctrl->setParameterByClass($target_class, 'eqpl', '');
376  $this->ctrl->setParameterByClass($target_class, 'eqid', '');
377  $this->ctrl->setParameterByClass($target_class, 'q_id', '');
378  $this->ctrl->setParameterByClass($target_class, 'calling_test', '');
379 
380  return $question_href;
381  }
$_GET["client_id"]
getParentCmd()
Get parent command.
getParentObject()
Get parent object.
static _getAllReferences($a_id)
get all reference ids of object
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSelectableColumns()

ilTestQuestionsTableGUI::getSelectableColumns ( )
Returns
array

Definition at line 103 of file class.ilTestQuestionsTableGUI.php.

References $cols.

104  {
105  $cols = array(
106  'qid' => array('txt' => $this->lng->txt('question_id'), 'default' => true),
107  'description' => array('txt' => $this->lng->txt('description'), 'default' => false),
108  'author' => array('txt' => $this->lng->txt('author'), 'default' => false),
109  'lifecycle' => array('txt' => $this->lng->txt('qst_lifecycle'), 'default' => true),
110  'working_time' => array('txt' => $this->lng->txt('working_time'), 'default' => false)
111  );
112 
113  return $cols;
114  }
$cols
Definition: xhr_table.php:11

◆ getTotalPoints()

ilTestQuestionsTableGUI::getTotalPoints ( )
Returns
float

Definition at line 573 of file class.ilTestQuestionsTableGUI.php.

References $totalPoints.

Referenced by buildPointsHeader().

573  : float
574  {
575  return $this->totalPoints;
576  }
+ Here is the caller graph for this function:

◆ getTotalWorkingTime()

ilTestQuestionsTableGUI::getTotalWorkingTime ( )
Returns
string

Definition at line 589 of file class.ilTestQuestionsTableGUI.php.

References $totalWorkingTime.

Referenced by buildWorkingTimeHeader().

589  : string
590  {
592  }
+ Here is the caller graph for this function:

◆ init()

ilTestQuestionsTableGUI::init ( )

Definition at line 119 of file class.ilTestQuestionsTableGUI.php.

References initColumns(), initCommands(), isQuestionManagingEnabled(), and ilTable2GUI\setSelectAllCheckbox().

120  {
121  $this->initColumns();
122  $this->initCommands();
123 
124  if ($this->isQuestionManagingEnabled()) {
125  $this->setSelectAllCheckbox('q_id');
126  }
127  }
setSelectAllCheckbox($a_select_all_checkbox, $a_select_all_on_top=false)
Set the name of the checkbox that should be toggled with a select all button.
+ Here is the call graph for this function:

◆ initColumns()

ilTestQuestionsTableGUI::initColumns ( )
protected

Definition at line 132 of file class.ilTestQuestionsTableGUI.php.

References ilTable2GUI\addColumn(), buildPointsHeader(), buildWorkingTimeHeader(), isCheckboxColumnRequired(), ilTable2GUI\isColumnSelected(), isObligatoryQuestionsHandlingEnabled(), and isQuestionPositioningEnabled().

Referenced by init().

133  {
134  if ($this->isCheckboxColumnRequired()) {
135  $this->addColumn('', 'f', '1%', true);
136  }
137 
138  if ($this->isQuestionPositioningEnabled()) {
139  $this->addColumn($this->lng->txt('order'), 'f', '1%');
140  }
141 
142  if ($this->isColumnSelected('qid')) {
143  $this->addColumn($this->lng->txt('question_id'), 'qid', '');
144  }
145 
146  $this->addColumn($this->lng->txt("tst_question_title"), 'title', '');
147 
149  $this->addColumn($this->lng->txt("obligatory"), 'obligatory', '');
150  }
151 
152  if ($this->isColumnSelected('description')) {
153  $this->addColumn($this->lng->txt('description'), 'description', '');
154  }
155 
156  $this->addColumn($this->lng->txt("tst_question_type"), 'type', '');
157  $this->addColumn($this->buildPointsHeader(), '', '');
158 
159  if ($this->isColumnSelected('author')) {
160  $this->addColumn($this->lng->txt('author'), 'author', '');
161  }
162  if ($this->isColumnSelected('lifecycle')) {
163  $this->addColumn($this->lng->txt('qst_lifecycle'), 'lifecycle', '');
164  }
165  if ($this->isColumnSelected('working_time')) {
166  $this->addColumn($this->buildWorkingTimeHeader(), 'working_time', '');
167  }
168 
169  $this->addColumn($this->lng->txt('qpl'), 'qpl', '');
170 
171  $this->addColumn($this->lng->txt('actions'), '', '1%');
172  }
isColumnSelected($a_col)
Is given column selected?
addColumn( $a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initCommands()

ilTestQuestionsTableGUI::initCommands ( )
protected

Definition at line 174 of file class.ilTestQuestionsTableGUI.php.

References ilTable2GUI\addCommandButton(), ilTable2GUI\addMultiCommand(), buildTableSaveCommandLabel(), isPositionInsertCommandsEnabled(), isQuestionManagingEnabled(), and isTableSaveCommandRequired().

Referenced by init().

175  {
176  if ($this->isQuestionManagingEnabled()) {
177  $this->addMultiCommand('removeQuestions', $this->lng->txt('remove_question'));
178  $this->addMultiCommand('moveQuestions', $this->lng->txt('move'));
179  }
180 
181  if ($this->isPositionInsertCommandsEnabled()) {
182  $this->addMultiCommand('insertQuestionsBefore', $this->lng->txt('insert_before'));
183  $this->addMultiCommand('insertQuestionsAfter', $this->lng->txt('insert_after'));
184  }
185 
186  if ($this->isQuestionManagingEnabled()) {
187  $this->addMultiCommand('copyQuestion', $this->lng->txt('copy'));
188  $this->addMultiCommand('copyAndLinkToQuestionpool', $this->lng->txt('copy_and_link_to_questionpool'));
189  }
190 
191  if ($this->isTableSaveCommandRequired()) {
192  $this->addCommandButton('saveOrderAndObligations', $this->buildTableSaveCommandLabel());
193  }
194  }
addCommandButton($a_cmd, $a_text, $a_onclick='', $a_id="", $a_class=null)
Add Command button.
addMultiCommand($a_cmd, $a_text)
Add Command button.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isCheckboxColumnRequired()

ilTestQuestionsTableGUI::isCheckboxColumnRequired ( )
protected
Returns
bool

Definition at line 501 of file class.ilTestQuestionsTableGUI.php.

References isPositionInsertCommandsEnabled(), and isQuestionManagingEnabled().

Referenced by fillRow(), and initColumns().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isObligatoryQuestionsHandlingEnabled()

ilTestQuestionsTableGUI::isObligatoryQuestionsHandlingEnabled ( )
Returns
bool

Definition at line 557 of file class.ilTestQuestionsTableGUI.php.

References $obligatoryQuestionsHandlingEnabled.

Referenced by buildTableSaveCommandLabel(), fillRow(), initColumns(), and isTableSaveCommandRequired().

557  : bool
558  {
560  }
+ Here is the caller graph for this function:

◆ isPositionInsertCommandsEnabled()

ilTestQuestionsTableGUI::isPositionInsertCommandsEnabled ( )
Returns
bool

Definition at line 525 of file class.ilTestQuestionsTableGUI.php.

References $positionInsertCommandsEnabled.

Referenced by initCommands(), and isCheckboxColumnRequired().

525  : bool
526  {
528  }
+ Here is the caller graph for this function:

◆ isQuestionManagingEnabled()

ilTestQuestionsTableGUI::isQuestionManagingEnabled ( )
Returns
bool

Definition at line 509 of file class.ilTestQuestionsTableGUI.php.

References $questionManagingEnabled.

Referenced by buildObligatoryColumnContent(), fillRow(), init(), initCommands(), isCheckboxColumnRequired(), and isTableSaveCommandRequired().

509  : bool
510  {
512  }
+ Here is the caller graph for this function:

◆ isQuestionPositioningEnabled()

ilTestQuestionsTableGUI::isQuestionPositioningEnabled ( )
Returns
bool

Definition at line 541 of file class.ilTestQuestionsTableGUI.php.

References $questionPositioningEnabled.

Referenced by buildTableSaveCommandLabel(), fillRow(), initColumns(), and isTableSaveCommandRequired().

541  : bool
542  {
544  }
+ Here is the caller graph for this function:

◆ isQuestionRemoveRowButtonEnabled()

ilTestQuestionsTableGUI::isQuestionRemoveRowButtonEnabled ( )
Returns
bool

Definition at line 605 of file class.ilTestQuestionsTableGUI.php.

References $questionRemoveRowButtonEnabled.

Referenced by fillRow().

605  : bool
606  {
608  }
+ Here is the caller graph for this function:

◆ isTableSaveCommandRequired()

ilTestQuestionsTableGUI::isTableSaveCommandRequired ( )
protected
Returns
bool

Definition at line 489 of file class.ilTestQuestionsTableGUI.php.

References isObligatoryQuestionsHandlingEnabled(), isQuestionManagingEnabled(), and isQuestionPositioningEnabled().

Referenced by initCommands().

489  : bool
490  {
491  if (!$this->isQuestionManagingEnabled()) {
492  return false;
493  }
494 
496  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setObligatoryQuestionsHandlingEnabled()

ilTestQuestionsTableGUI::setObligatoryQuestionsHandlingEnabled ( bool  $obligatoryQuestionsHandlingEnabled)
Parameters
bool$obligatoryQuestionsHandlingEnabled

Definition at line 565 of file class.ilTestQuestionsTableGUI.php.

References $obligatoryQuestionsHandlingEnabled.

566  {
567  $this->obligatoryQuestionsHandlingEnabled = $obligatoryQuestionsHandlingEnabled;
568  }

◆ setPositionInsertCommandsEnabled()

ilTestQuestionsTableGUI::setPositionInsertCommandsEnabled ( bool  $positionInsertCommandsEnabled)
Parameters
bool$positionInsertCommandsEnabled

Definition at line 533 of file class.ilTestQuestionsTableGUI.php.

References $positionInsertCommandsEnabled.

Referenced by ilObjTestGUI\questionsObject().

534  {
535  $this->positionInsertCommandsEnabled = $positionInsertCommandsEnabled;
536  }
+ Here is the caller graph for this function:

◆ setQuestionManagingEnabled()

ilTestQuestionsTableGUI::setQuestionManagingEnabled ( bool  $questionManagingEnabled)
Parameters
bool$questionManagingEnabled

Definition at line 517 of file class.ilTestQuestionsTableGUI.php.

References $questionManagingEnabled.

518  {
519  $this->questionManagingEnabled = $questionManagingEnabled;
520  }

◆ setQuestionPositioningEnabled()

ilTestQuestionsTableGUI::setQuestionPositioningEnabled ( bool  $questionPositioningEnabled)
Parameters
bool$questionPositioningEnabled

Definition at line 549 of file class.ilTestQuestionsTableGUI.php.

References $questionPositioningEnabled.

550  {
551  $this->questionPositioningEnabled = $questionPositioningEnabled;
552  }

◆ setQuestionRemoveRowButtonEnabled()

ilTestQuestionsTableGUI::setQuestionRemoveRowButtonEnabled ( bool  $questionRemoveRowButtonEnabled)
Parameters
bool$questionRemoveRowButtonEnabled

Definition at line 613 of file class.ilTestQuestionsTableGUI.php.

References $questionRemoveRowButtonEnabled.

Referenced by ilTestCorrectionsGUI\showQuestionList().

614  {
615  $this->questionRemoveRowButtonEnabled = $questionRemoveRowButtonEnabled;
616  }
+ Here is the caller graph for this function:

◆ setTotalPoints()

ilTestQuestionsTableGUI::setTotalPoints ( float  $totalPoints)
Parameters
float$totalPoints

Definition at line 581 of file class.ilTestQuestionsTableGUI.php.

References $totalPoints.

582  {
583  $this->totalPoints = $totalPoints;
584  }

◆ setTotalWorkingTime()

ilTestQuestionsTableGUI::setTotalWorkingTime ( string  $totalWorkingTime)
Parameters
string$totalWorkingTime

Definition at line 597 of file class.ilTestQuestionsTableGUI.php.

References $totalWorkingTime.

598  {
599  $this->totalWorkingTime = $totalWorkingTime;
600  }

Field Documentation

◆ $access

ilTestQuestionsTableGUI::$access
private

Definition at line 59 of file class.ilTestQuestionsTableGUI.php.

◆ $factory

ilTestQuestionsTableGUI::$factory
protected

Definition at line 58 of file class.ilTestQuestionsTableGUI.php.

◆ $obligatoryQuestionsHandlingEnabled

ilTestQuestionsTableGUI::$obligatoryQuestionsHandlingEnabled = false
protected

◆ $position

ilTestQuestionsTableGUI::$position = 0
private

Definition at line 64 of file class.ilTestQuestionsTableGUI.php.

Referenced by buildPositionInput().

◆ $positionInsertCommandsEnabled

ilTestQuestionsTableGUI::$positionInsertCommandsEnabled = false
protected

◆ $questionManagingEnabled

ilTestQuestionsTableGUI::$questionManagingEnabled = false
protected

◆ $questionPositioningEnabled

ilTestQuestionsTableGUI::$questionPositioningEnabled = false
protected

◆ $questionRemoveRowButtonEnabled

ilTestQuestionsTableGUI::$questionRemoveRowButtonEnabled = false
protected

◆ $renderer

ilTestQuestionsTableGUI::$renderer
protected

Definition at line 57 of file class.ilTestQuestionsTableGUI.php.

◆ $totalPoints

ilTestQuestionsTableGUI::$totalPoints = 0
protected

Definition at line 51 of file class.ilTestQuestionsTableGUI.php.

Referenced by getTotalPoints(), and setTotalPoints().

◆ $totalWorkingTime

ilTestQuestionsTableGUI::$totalWorkingTime = ''
protected

Definition at line 56 of file class.ilTestQuestionsTableGUI.php.

Referenced by getTotalWorkingTime(), and setTotalWorkingTime().

◆ CLASS_PATH_FOR_EDIT_LINKS

const ilTestQuestionsTableGUI::CLASS_PATH_FOR_EDIT_LINKS = [ilRepositoryGUI::class, ilObjQuestionPoolGUI::class]
private

Definition at line 21 of file class.ilTestQuestionsTableGUI.php.


The documentation for this class was generated from the following file: