Radio button control

From Official Kodi Wiki
Revision as of 10:28, 14 May 2007 by >Gamester17
Jump to navigation Jump to search

The radio button control is used for creating push button on/off settings in XBMC. You can choose the position, size, and look of the button. When the user clicks on the radio button, the state will change, toggling the extra textures (textureradiofocus and textureradionofocus). Used for settings controls.

Example

<xml> <control>

     <description>My first radiobutton control</description>
     <type>radiobutton</type>
     <id>1</id>
     <posx>80</posx>
     <posy>60</posy>
     <width>250</width>
     <height>200</height>
     <visible>true</visible>
     <colordiffuse>FFFFFFFF</colordiffuse>
     <texturefocus>myfocustexture.png</texturefocus>
     <texturenofocus>mynormaltexture.png</texturenofocus>
     <textureradiofocus>myradiobutton.png</textureradiofocus>
     <textureradionofocus>myradiobutton_nf.png</textureradionofocus>
     <selected>Player.Paused</selected>
     <onclick>PlayerControls(Pause)</onclick>
     <label>29</label>
     font12
     <textcolor>FFFFFFFF</textcolor>
     <disabledcolor>80FFFFFF</disabledcolor>
     <align>left</align>
     <aligny>center</aligny>
     <textoffsetx>4</textoffsetx>
     <textoffsety>5</textoffsety>
     <pulseonselect>false</pulseonselect>
     <onup>2</onup>
     <ondown>3</ondown>
     <onleft>1</onleft>
     <onright>1</onright>

</control> </xml>

Available Tags

Note that each tag is lower case only. This is important, as xml tags are case-sensitive.

description Only used to make things clear for the skinner. Not read by XBMC at all.
type Should be radiobutton for a radio button control.
id 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. Any other controls that the skinner adds can be any id they like. Obviously they should be unique for buttons, given that they are navigatible, and you want the onup, onleft etc. to make sense.
posx Specifies where the left edge of the button should be drawn. This is offset from the window's coordinates (normally the left edge of the screen, or 0).
posy Specifies where the top edge of the button should be drawn. This is offset from the window's coordinates (normally the top edge of the screen, or 0).
width Specifies the width of the button. The texturefocus and texturenofocus images will be resized to fit into this width.
height Specifies the height of the button. The texturefocus and texturenofocus images will be resized to fit into this height.
visible Specifies a condition as to when this control will be visible. Can be true, false, or a condition. See here for more information. Defaults to true.
animation Specifies the animation to be run when the control enters a particular state. See here for more information
texturefocus

Specifies the image file which should be displayed when the button 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.

texturenofocus Specifies the image file which should be displayed when the button does not have focus.
textureradiofocus Specifies the image file which should be displayed for the radio button portion when it's the button is on and focused. This texture is positioned on the right of the button – it's positioned 24 pixels from the right edge of the button, and 8 pixels above the center vertically. As it's not displayed when the button is off, you may wish to have the off-state look rendered into the texturefocus and texturenofocus images.
textureradionofocus Specifies the image file which should be displayed for the radio button portion when the button is on but does not have focus.
colordiffuse 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 The label used on the button. It can be a link into strings.xml, or an actual text label.
font Font used for the button label. From fonts.xml.
textcolor Color used for displaying the button label. In AARRGGBB hex format.
disabledcolor Color used for the button label if the button is disabled.
shadowcolor Specifies the color of the drop shadow on the text, in AARRGGBB format.
align Label horizontal alignment on the button. Defaults to left, can also be center or right.
aligny Label vertical alignment on the button. 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.
pulseonselect Specifies whether the button should pulse when it's selected. Defaults to true.
selected The boolean condition that when met will cause the control to become selected. see here for more information.
onclick The function to perform when the radio button is clicked. Should be a built in function.
onup Control id to move to when the user moves up off this control.
ondown Control id to move to when the user moves down off this control.
onleft Control id to move to when the user moves left off this control.
onright Control id to move to when the user moves right off this control.