question bank: MDL-17871 Possibility for tool tips on column headings.

This commit is contained in:
tjhunt 2009-01-22 02:32:39 +00:00
parent 00f5afd5bd
commit 0ff5afdfbf
2 changed files with 34 additions and 5 deletions

View file

@ -154,10 +154,13 @@ $string['questioncatsfor'] = 'Question Categories for \'$a\'';
$string['questiondoesnotexist'] = 'This question does not exist'; $string['questiondoesnotexist'] = 'This question does not exist';
$string['questionsaveerror'] = 'Errors occur during saving question - ($a)'; $string['questionsaveerror'] = 'Errors occur during saving question - ($a)';
$string['questionsmovedto'] = 'Questions still in use moved to "$a" in the parent course category.'; $string['questionsmovedto'] = 'Questions still in use moved to "$a" in the parent course category.';
$string['questionname'] = 'Question name';
$string['questionsrescuedfrom'] = 'Questions saved from context $a.'; $string['questionsrescuedfrom'] = 'Questions saved from context $a.';
$string['questionsrescuedfrominfo'] = 'These questions (some of which may be hidden) were saved when context $a was deleted because they are still used by some quizzes or other activities.'; $string['questionsrescuedfrominfo'] = 'These questions (some of which may be hidden) were saved when context $a was deleted because they are still used by some quizzes or other activities.';
$string['questiontype'] = 'Question type';
$string['questionuse'] = 'Use question in this activity'; $string['questionuse'] = 'Use question in this activity';
$string['saveflags'] = 'Save the state of the flags'; $string['saveflags'] = 'Save the state of the flags';
$string['selectquestionsforbulk'] = 'Select questions for bulk actions';
$string['shareincontext'] = 'Share in context for $a'; $string['shareincontext'] = 'Share in context for $a';
$string['tofilecategory'] = 'Write category to file'; $string['tofilecategory'] = 'Write category to file';
$string['tofilecontext'] = 'Write context to file'; $string['tofilecontext'] = 'Write context to file';

View file

@ -155,19 +155,26 @@ abstract class question_bank_column_base {
$sortable = $this->is_sortable(); $sortable = $this->is_sortable();
$name = $this->get_name(); $name = $this->get_name();
$title = $this->get_title(); $title = $this->get_title();
$tip = $this->get_tip();
if (is_array($sortable)) { if (is_array($sortable)) {
if ($title) { if ($title) {
echo '<div class="title">' . $title . '</div>'; echo '<div class="title">' . $title . '</div>';
} }
$links = array(); $links = array();
foreach ($sortable as $subsort => $details) { foreach ($sortable as $subsort => $details) {
$links[] = $this->make_sort_link($name . '_' . $subsort, $details['title'], !empty($details['reverse'])); $links[] = $this->make_sort_link($name . '_' . $subsort, $details['title'], '', !empty($details['reverse']));
} }
echo implode(' / ', $links); echo implode(' / ', $links);
} else if ($sortable) { } else if ($sortable) {
echo $this->make_sort_link($name, $this->qbank->get_sort($name), $title); echo $this->make_sort_link($name, $this->qbank->get_sort($name), $title, $tip);
} else { } else {
if ($tip) {
echo '<span title="' . $tip . '">';
}
echo $title; echo $title;
if ($tip) {
echo '</span>';
}
} }
echo "</th>\n"; echo "</th>\n";
} }
@ -177,7 +184,15 @@ abstract class question_bank_column_base {
* @param object $question the row from the $question table, augmented with extra information. * @param object $question the row from the $question table, augmented with extra information.
* @param string $rowclasses CSS class names that should be applied to this row of output. * @param string $rowclasses CSS class names that should be applied to this row of output.
*/ */
protected function get_title() { abstract protected function get_title() {
return '';
}
/**
* @return string a fuller version of the name. Use this when get_title() returns
* something very short, and you want a longer version as a tool tip.
*/
protected function get_title_tip() {
return ''; return '';
} }
@ -194,10 +209,13 @@ abstract class question_bank_column_base {
if ($currentsort) { if ($currentsort) {
$newsortreverse = $currentsort > 0; $newsortreverse = $currentsort > 0;
} }
if (!$tip) {
$tip = $title;
}
if ($newsortreverse) { if ($newsortreverse) {
$tip = get_string('sortbyxreverse', '', $title); $tip = get_string('sortbyxreverse', '', $tip);
} else { } else {
$tip = get_string('sortbyx', '', $title); $tip = get_string('sortbyx', '', $tip);
} }
echo '<a href="' . $this->qbank->new_sort_url($name, $newsortreverse) . '" title="' . $tip . '">'; echo '<a href="' . $this->qbank->new_sort_url($name, $newsortreverse) . '" title="' . $tip . '">';
echo $title; echo $title;
@ -351,6 +369,10 @@ class question_bank_checkbox_column extends question_bank_column_base {
return '<input type="checkbox" disabled="disabled" />'; return '<input type="checkbox" disabled="disabled" />';
} }
protected function get_title_tip() {
return get_string('selectquestionsforbulk', 'question');
}
protected function display_content($question, $rowclasses) { protected function display_content($question, $rowclasses) {
echo '<input title="' . $this->strselect . '" type="checkbox" name="q' . echo '<input title="' . $this->strselect . '" type="checkbox" name="q' .
$question->id . '" id="checkq' . $question->id . '" value="1" />'; $question->id . '" id="checkq' . $question->id . '" value="1" />';
@ -373,6 +395,10 @@ class question_bank_question_type_column extends question_bank_column_base {
return get_string('qtypeveryshort', 'question'); return get_string('qtypeveryshort', 'question');
} }
protected function get_title_tip() {
return get_string('questiontype', 'question');
}
protected function display_content($question, $rowclasses) { protected function display_content($question, $rowclasses) {
echo print_question_icon($question); echo print_question_icon($question);
} }