Spin Control: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>DonJ
No edit summary
 
(20 intermediate revisions by 9 users not shown)
Line 1: Line 1:
<section begin="main content" />
The spin control is used for when a list of options can be chosen (such as a page up/down control). You can choose the position, size, and look of the spin control.
The spin control is used for when a list of options can be chosen (such as a page up/down control). You can choose the position, size, and look of the spin control.
===Example===
=== Example ===
<xml>
<syntaxhighlight lang="XML" enclose="div">
<control>
<control type="spincontrol" id="14">
       <description>My first spin control</description>
       <description>My first spin control</description>
       <type>spincontrol</type>
       <left>80</left>
      <id>1</id>
       <top>60</top>
      <posx>80</posx>
       <posy>60</posy>
       <width>250</width>
       <width>250</width>
       <height>200</height>
       <height>200</height>
       <visible>true</visible>
       <visible>true</visible>
       <colordiffuse>FFFFFFFF</colordiffuse>
       <colordiffuse>FFFFFFFF</colordiffuse>
       <textureup>myuptexture.png</textureup>
       <textureup colordiffuse="FFFFAAFF">myuptexture.png</textureup>
       <textureupfocus>myupfocustexture.png</textureupfocus>
       <textureupfocus colordiffuse="FFFFAAFF">myupfocustexture.png</textureupfocus>
       <texturedown>mydowntexture.png</texturedown>
       <texturedown colordiffuse="FFFFAAFF">mydowntexture.png</texturedown>
       <texturedownfocus>mydownfocustexture.png</texturedownfocus>
       <texturedownfocus colordiffuse="FFFFAAFF">mydownfocustexture.png</texturedownfocus>
       <subtype>int</subtype>
       <textureupdisabled colordiffuse="AAFFAAFF">mydowntexture.png</textureupdisabled>
       <range>0,50,5</range>
       <texturedowndisabled colordiffuse="AAFFAAFF">mydownfocustexture.png</texturedowndisabled>
       <reverse>true</reverse>
       <subtype>page</subtype>
       <font>font12</font>
       <font>font12</font>
       <textcolor>FFFFFFFF</textcolor>
       <textcolor>FFFFFFFF</textcolor>
Line 32: Line 31:
       <onright>1</onright>
       <onright>1</onright>
</control>
</control>
</xml>
</syntaxhighlight>
===Available Tags===
 
Note that each tag is '''lower case only.''' This is important, as xml tags are case-sensitive.
=== Available tags ===
{| class="dtable"
In addition to the [[Default Control Tags]] the following tags are available. Note that each tag is '''lower case''' only. This is important, as xml tags are case-sensitive.
|- class="userrow"
 
| class="usercell" | '''description'''
{| class="prettytable"
| class="usercell" | Only used to make things clear for the skinner. Not read by XBMC at all.
! Tag !! Description
|- class="userrow"
|-  
| class="usercell" | '''type'''
| '''textureup'''
| class="usercell" | Should be spincontrol for a spin control.
| Specifies the image file which should be displayed for the up arrow when it doesn't have focus. [[Texture Attributes|See here for additional information about textures.]]
|- class="userrow"
|-  
| class="usercell" | '''id'''
| '''textureupfocus'''
| class="usercell" | Specifies the control's id. The value this takes depends on the control type, and the window that you are using the control on. There are special control id's that must be present in each window. As the contents of the control is filled and controlled by XBMC, a spincontrol's id is unique.
| Specifies the image file which should be displayed for the up button when it has focus.
|- class="userrow"
|-  
| class="usercell" | '''posx'''
| '''textureupdisabled'''
| class="usercell" | Specifies where the left edge of the down button of the spin control should be drawn. If <align> is set to “left”, then this specifies where the label is drawn, and the down button is positioned 5 pixels after the label finishes. This is offset from the window's coordinates (normally the left edge of the screen, or 0).
| Specifies the image file which should be displayed for the up arrow when the button is disabled.
|- class="userrow"
|-  
| class="usercell" | '''posy'''
| '''texturedown'''
| class="usercell" | Specifies where the top edge of the down button of the spin control should be drawn. This is offset from the window's coordinates (normally the top edge of the screen, or 0).
| Specifies the image file which should be displayed for the down button when it is not focused.
|- class="userrow"
|-  
| class="usercell" | '''width'''
| '''texturedownfocus'''
| class="usercell" | Specifies the width of the up and down buttons. The texture images for the up and down buttons will be resized to fit into this width.
| Specifies the image file which should be displayed for the down button when it has focus.
|- class="userrow"
|-  
| class="usercell" | '''height'''
| '''texturedowndisabled'''
| class="usercell" | Specifies the height of the up and down buttons. The texture images for the up and down buttons will be resized to fit into this height.
| Specifies the image file which should be displayed for the up arrow when the button is disabled.
|- class="userrow"
|-  
| class="usercell" | '''visible'''
| '''font'''
| class="usercell" |
| Font used for the button label. From fonts.xml.
Specifies a condition as to when this control will be visible. Can be true, false, or a condition. [[Conditional Visibility|See here for more information.]] Defaults to true.
|-  
|- class="userrow"
| '''spincolor'''
| class="usercell" | '''animation'''
|  The colour of the text used for this spin control. In AARRGGBB hex format. ''As of Helix, this doesn't actually get processed, use textcolor''
| class="usercell" |
|-
Specifies the animation to be run when the control enters a particular state. [[Animating Your Skin|See here for more information.]]
| '''textcolor'''
|- class="userrow"
| Color used for displaying the label. In AARRGGBB hex format, or a name from the [[Colour themes|colour theme.]].
| class="usercell" | '''textureup'''
|-  
| class="usercell" |
| '''disabledcolor'''
Specifies the image file which should be displayed for the up arrow when it doesn't have focus. You can use animated gif's, jpgs, pngs, or bmps. This should be the path to the image file from the media/ folder of your skin directory. XBMC will first look inside the compresses Textures.xpr file, and if not found, will look inside the media/ folder for the actual skin file. Compressing textures into Textures.xpr means far faster loading times.
| Color used for the label if the control is disabled. In AARRGGBB hex format, or a name from the [[Colour themes|colour theme.]]
|- class="userrow"
|-  
| class="usercell" | '''textureupfocus'''
| '''shadowcolor'''
| class="usercell" | Specifies the image file which should be displayed for the up button when it has focus.
| Specifies the color of the drop shadow on the text. In AARRGGBB format, or a name from the [[Colour themes|colour theme.]]
|- class="userrow"
|-  
| class="usercell" | '''texturedown'''
| '''subtype'''
| class="usercell" | Specifies the image file which should be displayed for the down button when it is not focused.
| Defines what type of information the spinner holds. Can be int, float, text or page. Defaults to text. Make sure you use page for a page control.
|- class="userrow"
|-  
| class="usercell" | '''texturedownfocus'''
| '''align'''
| class="usercell" | Specifies the image file which should be displayed for the down button when it has focus.
| Label horizontal alignment on the control. Defaults to right, can also be left.
|- class="userrow"
|-  
| class="usercell" | '''colordiffuse'''
| '''aligny'''
| class="usercell" | This specifies the color to be used for the texture basis. It's in hex AARRGGBB format. If you define <colordiffuse>FFFF00FF</colordiffuse> (magenta), the image will be given a magenta tint when rendered. Defaults to FFFFFFFF (no tint).
| Label vertical alignment on the control. Defaults to top, can also be center.
|- class="userrow"
|-  
| class="usercell" | '''font'''
| '''textoffsetx'''
| class="usercell" | Font used for the button label. From fonts.xml.
| Amount to offset the label from the left (or right) edge of the button when using left or right alignment.
|- class="userrow"
|-  
| class="usercell" | '''textcolor'''
| '''textoffsety'''
| class="usercell" | Color used for displaying the label. In AARRGGBB hex format.
| Amount to offset the label from the top edge of the button when using top alignment.
|- class="userrow"
|-
| class="usercell" | '''disabledcolor'''
| '''textwidth'''
| class="usercell" | Color used for the label if the control is disabled.
| Will truncate any text that's too long.
|- class="userrow"
| class="usercell" | '''shadowcolor'''
| class="usercell" | Specifies the color of the drop shadow on the text, in AARRGGBB format.
|- class="userrow"
| class="usercell" | '''subtype'''
| class="usercell" | Defines what type of information the spinner holds. Can be int, float or text. Defaults to text.
|- class="userrow"
| class="usercell" | '''reverse'''
| class="usercell" | Whether the spin buttons should work forwards or backwards. If true, the “up” button will increment the value. If false, the “down” button increments the value. Defaults to false.
|- class="userrow"
| class="usercell" | '''range'''
| class="usercell" | Only valid if <subtype> is int or float. Format is min,max,interval. eg <range>0,50,5</range> will fill the spin control with 0, 5, 10, ..., 45, 50 as values.
|- class="userrow"
| class="usercell" | '''align'''
| class="usercell" | Label horizontal alignment on the control. Defaults to right, can also be left.
|- class="userrow"
| class="usercell" | '''aligny'''
| class="usercell" | Label vertical alignment on the control. Defaults to top, can also be center.
|- class="userrow"
| class="usercell" | '''textoffsetx'''
| class="usercell" | Amount to offset the label from the left (or right) edge of the button when using left or right alignment.
|- class="userrow"
| class="usercell" | '''textoffsety'''
| class="usercell" | Amount to offset the label from the top edge of the button when using top alignment.
|- class="userrow"
| class="usercell" | '''pulseonselect'''
| class="usercell" | Specifies whether the button should pulse when it's selected. Defaults to true.
|- class="userrow"
| class="usercell" | '''onup'''
| class="usercell" | Control id to move to when the user moves up off this control.
|- class="userrow"
| class="usercell" | '''ondown'''
| class="usercell" | Control id to move to when the user moves down off this control.
|- class="userrow"
| class="usercell" | '''onleft'''
| class="usercell" | Control id to move to when the user moves left off this control.
|- class="userrow"
| class="usercell" | '''onright'''
| class="usercell" | Control id to move to when the user moves right off this control.
|}
|}
[[category:Skin Development]]
 
<section end="main content" />
 
== See also ==
'''Development:'''
* [[Add-on development]]
* [[Skinning]]
 
[[Category:Skin development]]

Latest revision as of 00:36, 13 July 2020

The spin control is used for when a list of options can be chosen (such as a page up/down control). You can choose the position, size, and look of the spin control.

Example

<control type="spincontrol" id="14">
      <description>My first spin control</description>
      <left>80</left>
      <top>60</top>
      <width>250</width>
      <height>200</height>
      <visible>true</visible>
      <colordiffuse>FFFFFFFF</colordiffuse>
      <textureup colordiffuse="FFFFAAFF">myuptexture.png</textureup>
      <textureupfocus colordiffuse="FFFFAAFF">myupfocustexture.png</textureupfocus>
      <texturedown colordiffuse="FFFFAAFF">mydowntexture.png</texturedown>
      <texturedownfocus colordiffuse="FFFFAAFF">mydownfocustexture.png</texturedownfocus>
      <textureupdisabled colordiffuse="AAFFAAFF">mydowntexture.png</textureupdisabled>
      <texturedowndisabled colordiffuse="AAFFAAFF">mydownfocustexture.png</texturedowndisabled>
      <subtype>page</subtype>
      <font>font12</font>
      <textcolor>FFFFFFFF</textcolor>
      <disabledcolor>80FFFFFF</disabledcolor>
      <align></align>
      <aligny></aligny>
      <textoffsetx></textoffsetx>
      <textoffsety></textoffsety>
      <pulseonselect></pulseonselect>
      <onup>2</onup>
      <ondown>3</ondown>
      <onleft>1</onleft>
      <onright>1</onright>
</control>

Available tags

In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive.

Tag Description
textureup Specifies the image file which should be displayed for the up arrow when it doesn't have focus. See here for additional information about textures.
textureupfocus Specifies the image file which should be displayed for the up button when it has focus.
textureupdisabled Specifies the image file which should be displayed for the up arrow when the button is disabled.
texturedown Specifies the image file which should be displayed for the down button when it is not focused.
texturedownfocus Specifies the image file which should be displayed for the down button when it has focus.
texturedowndisabled Specifies the image file which should be displayed for the up arrow when the button is disabled.
font Font used for the button label. From fonts.xml.
spincolor The colour of the text used for this spin control. In AARRGGBB hex format. As of Helix, this doesn't actually get processed, use textcolor
textcolor Color used for displaying the label. In AARRGGBB hex format, or a name from the colour theme..
disabledcolor Color used for the label if the control is disabled. In AARRGGBB hex format, or a name from the colour theme.
shadowcolor Specifies the color of the drop shadow on the text. In AARRGGBB format, or a name from the colour theme.
subtype Defines what type of information the spinner holds. Can be int, float, text or page. Defaults to text. Make sure you use page for a page control.
align Label horizontal alignment on the control. Defaults to right, can also be left.
aligny Label vertical alignment on the control. Defaults to top, can also be center.
textoffsetx Amount to offset the label from the left (or right) edge of the button when using left or right alignment.
textoffsety Amount to offset the label from the top edge of the button when using top alignment.
textwidth Will truncate any text that's too long.


See also

Development: