MDL-40759 icons: Split pix_icon from activity_icon

Activity icons always use the standard icon renderer.
This commit is contained in:
Damyon Wiese 2017-01-19 14:06:07 +08:00
parent 95b06c13c6
commit c2dde7eebc
7 changed files with 48 additions and 7 deletions

View file

@ -705,6 +705,18 @@ class pix_icon implements renderable, templatable {
}
}
/**
* Data structure representing an activity icon.
*
* The difference is that activity icons will always render with the standard icon system (no font icons).
*
* @copyright 2017 Damyon Wiese
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @package core
*/
class activity_icon extends pix_icon {
}
/**
* Data structure representing an emoticon image
*

View file

@ -2028,6 +2028,36 @@ class core_renderer extends renderer_base {
return html_writer::tag('a', $icon.$text, $attributes);
}
/**
* Return HTML for an activity_icon.
*
* Theme developers: DO NOT OVERRIDE! Please override function
* {@link core_renderer::render_activity_icon()} instead.
*
* @param string $pix short pix name
* @param string $alt mandatory alt attribute
* @param string $component standard compoennt name like 'moodle', 'mod_forum', etc.
* @param array $attributes htm lattributes
* @return string HTML fragment
*/
public function activity_icon($pix, $alt, $component='moodle', array $attributes = null) {
$icon = new activity_icon($pix, $alt, $component, $attributes);
return $this->render($icon);
}
/**
* Renders a pix_icon widget and returns the HTML to display it.
*
* @param pix_icon $icon
* @return string HTML fragment
*/
protected function render_activity_icon(activity_icon $icon) {
global $PAGE;
$system = \core\output\icon_system::instance('standard');
return $system->render_pix_icon($this, $icon);
}
/**
* Return HTML for a pix_icon.
*

View file

@ -3,11 +3,10 @@ information provided here is intended especially for developers.
=== 3.3 ===
* Moodle has support for font-awesome icons. Plugins should use the xxx_get_fontawesome_icon_map callback
to map their custom icons to one from font-awesome.
=== 3.3 ===
* The method moodleform::after_definition() has been added and can now be used to add some logic
to be performed after the form's definition was set. This is useful for intermediate subclasses.
* Activity icons have been split from standard icons. Use $OUTPUT->activity_icon instead of $OUTPUT->pix_icon for these
type of icons (the coloured main icon for each activity).
* YUI module moodle-core-formautosubmit has been removed, use jquery .change() instead (see lib/templates/url_select.mustache for
an example)
* $mform->init_javascript_enhancement() is deprecated and no longer does anything. Existing uses of smartselect enhancement