Wiki Navigation
- Loading...
Purpose
- Required: No
- Type of Change: Feature
This patch allows to display additional info about the currently selected item during scrolling through a listview. One example is to show the first letter of the item in a popup (See first image below) although the plugin that implements the list can freely decide what to show. Other possible scenarios are to show the year when browsing through lists with dates or genres/groups if the list is sorted this way. The idea originated from this forum thread and was further discussed and finally implemented in this thread.
Description of Change
To implement this feature the skin properties #scrolling.up and #scrolling.down were added to indicate if the list is currently scrolling. Skin designers can use these properties to dynamically show information (e.g. popups) only when the user is scrolling. Also the property #selecteditem.scrolllabel was added where the values are stored that should be shown. By default the first letter of the currently selected item is shown but this might not be the most suitable text in all situations, which is why the plugin that implements the listcontrol can override this with the event GetFirstLetterScrollText (GUIListControl).
If the plugin doesn't explicitly enable this feature the skin designer has the possibility to enable this anyhow by setting the listcontrol property explicitlyEnableFirstLetterScroll to yes.
Additional Information and References
Mantis Issue |
|
---|---|
Related xml(s) |
|
Windows IDs |
|
Related GUI Control |
GUIListControl(listcontrol), GUIFacadeViewControl (facadeview) |
GUI Properties |
|
Author |
diebagger |
Date added |
Wed, 01 Dec 2010 |
XML/Code Samples
How plugins can set the value shown during scrolling
private void SetupListScrolling() { if (null != facadeLayout && null != facadeLayout.ListLayout) { facadeLayout.ListLayout.GetScrollLabel += new GUIListControl.GetScrollLabelDelegate(ListLayout_GetScrollLabel); } } string ListLayout_GetScrollLabel(GUIListItem item) { return item.Label3; }
How skins can enable the feature by default
<control> <description>listcontrol</description> <type>listcontrol</type> <id>50</id> <onleft>2</onleft> <onright>2</onright> <scrollOffset>2</scrollOffset> <explicitlyEnableScrollLabel>yes</explicitlyEnableScrollLabel> </control>
Screenshots
This page has no comments.