Difference between revisions of "MythUI XML Examples"

From MythTV Official Wiki
Jump to: navigation, search
(MythUIButtonList)
Line 5: Line 5:
 
==MythUIButtonList==
 
==MythUIButtonList==
  
[[Image:mythui_buttonlist1.png|thumb|Example of how a mythui list can be styled. Not the following example.]]
+
===Tags===
 +
 
 
[[Image:mythui_buttonlist2.png|thumb|Grid layout.]]
 
[[Image:mythui_buttonlist2.png|thumb|Grid layout.]]
 
===Tags===
 
  
 
'''<area>'''
 
'''<area>'''
Line 29: Line 28:
  
 
=== Use of named textareas ===
 
=== Use of named textareas ===
 +
 +
[[Image:mythui_buttonlist1.png|thumb|Example of named textareas in a list.]]
 +
 
Every button has a default textarea, buttontext but in addition you can define an infinite number of textareas which can be referred to
 
Every button has a default textarea, buttontext but in addition you can define an infinite number of textareas which can be referred to
 
by name in SetText() e.g.
 
by name in SetText() e.g.

Revision as of 12:58, 28 August 2008

For documentation of the mythui theme format, see: MythUIThemeFormat

This page will hold a few examples of different layouts possible.

MythUIButtonList

Tags

Grid layout.

<area>

Total widget area, includes arrows which should always displayed for touchscreens

<spacing>

Spacing between entries. Zero is the default. (Optional)

<layout>

Grid, Horizontal,Vertical. Vertical is the default (Optional)

<scrollstyle>

Free, Center. Free is the default (Optional)

<buttonarea>

Area relative to the total area that the buttons may use, the rest is free for arrows

<statetype name="buttonitem">

Describes the layout, content of the buttons

Use of named textareas

Example of named textareas in a list.

Every button has a default textarea, buttontext but in addition you can define an infinite number of textareas which can be referred to by name in SetText() e.g.

m_buttonList->SetText("This is the default textarea");
m_buttonList->SetText("This is column one", "column1");
m_buttonList->SetText("This is column two", "column2");

I suggest giving them more meaningful names, i.e. If they display name and description of a video then "title", "description" would be clearer to the themer.

Examples

Simple Multi-column list

<buttonlist2 name="column_example" from="basebuttonlist2">
   <area>x,y,w,h</area>
   <spacing>2</spacing>
   <layout>vertical</layout>
   <buttonarea>x2,y2,w2,h2</buttonarea>
   <statetype name="buttonitem">
       <state name="active">
           <statetype name="buttoncheck">
               <position>2,2</position>
           </statetype>
           <textarea name="column1">
               <area>25,0,100,30</area>
               <font>fonta</font>
           </textarea>
           <textarea name="column2" from="column1">
               <area>135,0,100,30</area>
           </textarea>
       </state>
       <state name="selected" from="active">
           <textarea name="column1">
              <font>fontb</font>
           </textarea>
           <textarea name="column2" from="column1" /> <!-- Picks up font change in selected state -->
       </state>
   </statetype>
</buttonlist2>

N.B. This example inherits from basebuttonlist which saves us defining the checkbox images, fonts, arrows etc. These can all be overridden.

Image Grid

<buttonlist2 name="iamgegrid_example" from="basebuttonlist2">
   <area>x,y,w,h</area>
   <spacing>5</spacing>
   <layout>grid</layout>
   <buttonarea>x2,y2,w2,h2</buttonarea>
   <statetype name="buttonitem">
       <state name="active">
           <imagetype name="buttonimage">
               <area>10,10,150,150</area>
           </imagetype>
       </state>
       <state name="selected" from="active">
           <imagetype name="buttonimage">
               <area>-20,-20,220,220</area> <!-- Enlarged selected image, overlaps neighbouring images -->
           </imagetype>
       </state>
   </statetype>
</buttonlist2>