Settings Spin Control: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>DonJ
No edit summary
m (Added reverse action.)
 
(18 intermediate revisions by 9 users not shown)
Line 1: Line 1:
<section begin="main content" />
The settings spin control is used in the settings screens for when a list of options can be chosen from using up/down arrows. You can choose the position, size, and look of the spin control. It is basically a cross between the button control and a spin control. It has a label and focus and non focus textures, as well as a spin control on the right.
The settings spin control is used in the settings screens for when a list of options can be chosen from using up/down arrows. You can choose the position, size, and look of the spin control. It is basically a cross between the button control and a spin control. It has a label and focus and non focus textures, as well as a spin control on the right.
===Example===
=== Example ===
<xml>
<syntaxhighlight lang="xml" enclose="div">
<control>
<control type="spincontrolex" id="12">
       <description>My first settings spin control</description>
       <description>My first settings spin control</description>
       <type>spincontrolex</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>
      <spinposx>220</spinposx>
      <spinposy>180</spinposy>
      <spinwidth>16</spinwidth>
      <spinheight>16</spinheight>
       <visible>true</visible>
       <visible>true</visible>
       <colordiffuse>FFFFFFFF</colordiffuse>
       <colordiffuse>FFFFFFFF</colordiffuse>
Line 18: Line 21:
       <texturedown>mydowntexture.png</texturedown>
       <texturedown>mydowntexture.png</texturedown>
       <texturedownfocus>mydownfocustexture.png</texturedownfocus>
       <texturedownfocus>mydownfocustexture.png</texturedownfocus>
       <subtype>int</subtype>
       <textureupdisabled colordiffuse="AAFFAAFF">mydowntexture.png</textureupdisabled>
       <reverse>true</reverse>
       <texturedowndisabled colordiffuse="AAFFAAFF">mydownfocustexture.png</texturedowndisabled>
       <label>46</label>
       <label>46</label>
       <font>font12</font>
       <font>font12</font>
Line 29: Line 32:
       <textoffsety></textoffsety>
       <textoffsety></textoffsety>
       <pulseonselect></pulseonselect>
       <pulseonselect></pulseonselect>
      <reverse></reverse>
       <onup>2</onup>
       <onup>2</onup>
       <ondown>3</ondown>
       <ondown>3</ondown>
Line 34: Line 38:
       <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'''
| '''spinposx'''
| class="usercell" | Should be spincontrolex for a settings spin control.
| The horizontal position of the spin control for multipage lists. This is offset from the top left of the list.
|- class="userrow"
|-  
| class="usercell" | '''id'''
| '''spinposy'''
| 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.
| The vertical position of the spin control for multipage lists. This is offset from the top left of the list.
|- class="userrow"
|-  
| class="usercell" | '''posx'''
| '''spinwidth'''
| class="usercell" | Specifies where the left edge of the settings control should be drawn. This is offset from the window's coordinates (normally the left edge of the screen, or 0).
| The width of one of the spin control buttons. The textures for this spin control will be scaled to fit this width.
|- class="userrow"
|-  
| class="usercell" | '''posy'''
| '''spinheight'''
| class="usercell" | Specifies where the top edge of the settings control should be drawn. This is offset from the window's coordinates (normally the top edge of the screen, or 0).
| The height of one of the spin control buttons. The textures for this spin control will be scaled to fit this height.
|- class="userrow"
|-  
| class="usercell" | '''width'''
| '''texturefocus'''
| 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 control when it has focus. [[Texture Attributes|See here for additional information about textures.]]
|- class="userrow"
|-  
| class="usercell" | '''height'''
| '''texturenofocus'''
| 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 control when it doesn't focus.
|- class="userrow"
|-  
| class="usercell" | '''visible'''
| '''textureup'''
| class="usercell" |
| Specifies the image file which should be displayed for the up arrow when it doesn't have focus. It is displayed to the left of the down arrow.
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"
| '''textureupfocus'''
| class="usercell" | '''animation'''
| Specifies the image file which should be displayed for the up arrow when it has focus.
| class="usercell" |
|-  
Specifies the animation to be run when the control enters a particular state. [[Animating Your Skin|See here for more information.]]
| '''textureupdisabled'''
|- class="userrow"
| Specifies the image file which should be displayed for the up arrow when the button is disabled.
| class="usercell" | '''texturefocus'''
|-  
| class="usercell" |
| '''texturedown'''
Specifies the image file which should be displayed for the control when it has 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.
| Specifies the image file which should be displayed for the down arrow when it is not focused. It is displayed to the right of the up arrow so that it's right edge is <textoffsetx> pixels away from the right edge of the control.
|- class="userrow"
|-  
| class="usercell" | '''texturenofocus'''
| '''texturedownfocus'''
| class="usercell" | Specifies the image file which should be displayed for the control when it doesn't focus.
| Specifies the image file which should be displayed for the down arrow when it has focus.
|- class="userrow"
|-  
| class="usercell" | '''textureup'''
| '''texturedowndisabled'''
| class="usercell" | Specifies the image file which should be displayed for the up arrow when it doesn't have focus. It is displayed to the left of the down arrow.
| Specifies the image file which should be displayed for the up arrow when the button is disabled.
|- class="userrow"
|-  
| class="usercell" | '''textureupfocus'''
| '''label'''
| class="usercell" | Specifies the image file which should be displayed for the up arrow when it has focus.
| Either a numeric reference into strings.po (for localization), or a string that will be shown on the left of the control.
|- class="userrow"
|-  
| class="usercell" | '''texturedown'''
| '''font'''
| class="usercell" | Specifies the image file which should be displayed for the down arrow when it is not focused. It is displayed to the right of the up arrow so that it's right edge is <textoffsetx> pixels away from the right edge of the control.
| Font used for the controls label. From fonts.xml.
|- class="userrow"
|-  
| class="usercell" | '''texturedownfocus'''
| '''textcolor'''
| class="usercell" | Specifies the image file which should be displayed for the down arrow when it has focus.
| Color used for displaying the label. In AARRGGBB hex format, or a name from the [[Colour themes|colour theme.]]
|- class="userrow"
|-  
| class="usercell" | '''colordiffuse'''
| '''disabledcolor'''
| 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).
| 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" | '''label'''
| '''shadowcolor'''
| class="usercell" | Either a numeric reference into strings.xml (for localization), or a string that will be shown on the left of the control.
| Specifies the color of the drop shadow on the text. In AARRGGBB hex format, or a name from the [[Colour themes|colour theme.]]
|- class="userrow"
|-  
| class="usercell" | '''font'''
| '''align'''
| class="usercell" | Font used for the controls label. From fonts.xml.
| Label horizontal alignment on the control. Defaults to left.
|- class="userrow"
|-  
| class="usercell" | '''textcolor'''
| '''aligny'''
| class="usercell" | Color used for displaying the label. In AARRGGBB hex format.
| Label vertical alignment on the control. Defaults to top, can also be center.
|- class="userrow"
|-  
| class="usercell" | '''disabledcolor'''
| '''textoffsetx'''
| class="usercell" | Color used for the label if the control is disabled.
| Amount to offset the label from the left (or right) edge of the button when using left or right alignment.
|- class="userrow"
|-  
| class="usercell" | '''shadowcolor'''
| '''textoffsety'''
| class="usercell" | Specifies the color of the drop shadow on the text, in AARRGGBB format.
| Amount to offset the label from the top edge of the button when using top alignment.
|- class="userrow"
|-
| class="usercell" | '''subtype'''
| '''textwidth'''
| class="usercell" | Defines what type of information the spinner holds. Can be int, float or text. Defaults to text.
| Will truncate any text that's too long.
|- class="userrow"
|-
| class="usercell" | '''reverse'''
| '''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.
| Will reverse the up/down actions of the up and down textures.
|- class="userrow"
| class="usercell" | '''align'''
| class="usercell" | Label horizontal alignment on the control. Defaults to 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 11:28, 6 March 2024

The settings spin control is used in the settings screens for when a list of options can be chosen from using up/down arrows. You can choose the position, size, and look of the spin control. It is basically a cross between the button control and a spin control. It has a label and focus and non focus textures, as well as a spin control on the right.

Example

<control type="spincontrolex" id="12">
      <description>My first settings spin control</description>
      <left>80</left>
      <top>60</top>
      <width>250</width>
      <height>200</height>
      <spinposx>220</spinposx>
      <spinposy>180</spinposy>
      <spinwidth>16</spinwidth>
      <spinheight>16</spinheight>
      <visible>true</visible>
      <colordiffuse>FFFFFFFF</colordiffuse>
      <texturefocus>myfocustexture.png</texturefocus>
      <texturenofocus>mynofocustexture.png</texturenofocus>
      <textureup>myuptexture.png</textureup>
      <textureupfocus>myupfocustexture.png</textureupfocus>
      <texturedown>mydowntexture.png</texturedown>
      <texturedownfocus>mydownfocustexture.png</texturedownfocus>
      <textureupdisabled colordiffuse="AAFFAAFF">mydowntexture.png</textureupdisabled>
      <texturedowndisabled colordiffuse="AAFFAAFF">mydownfocustexture.png</texturedowndisabled>
      <label>46</label>
      <font>font12</font>
      <textcolor>FFFFFFFF</textcolor>
      <disabledcolor>80FFFFFF</disabledcolor>
      <align></align>
      <aligny></aligny>
      <textoffsetx></textoffsetx>
      <textoffsety></textoffsety>
      <pulseonselect></pulseonselect>
      <reverse></reverse>
      <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
spinposx The horizontal position of the spin control for multipage lists. This is offset from the top left of the list.
spinposy The vertical position of the spin control for multipage lists. This is offset from the top left of the list.
spinwidth The width of one of the spin control buttons. The textures for this spin control will be scaled to fit this width.
spinheight The height of one of the spin control buttons. The textures for this spin control will be scaled to fit this height.
texturefocus Specifies the image file which should be displayed for the control when it has focus. See here for additional information about textures.
texturenofocus Specifies the image file which should be displayed for the control when it doesn't focus.
textureup Specifies the image file which should be displayed for the up arrow when it doesn't have focus. It is displayed to the left of the down arrow.
textureupfocus Specifies the image file which should be displayed for the up arrow 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 arrow when it is not focused. It is displayed to the right of the up arrow so that it's right edge is <textoffsetx> pixels away from the right edge of the control.
texturedownfocus Specifies the image file which should be displayed for the down arrow when it has focus.
texturedowndisabled Specifies the image file which should be displayed for the up arrow when the button is disabled.
label Either a numeric reference into strings.po (for localization), or a string that will be shown on the left of the control.
font Font used for the controls label. From fonts.xml.
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 hex format, or a name from the colour theme.
align Label horizontal alignment on the control. Defaults to 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.
reverse Will reverse the up/down actions of the up and down textures.


See also

Development: