-
Notifications
You must be signed in to change notification settings - Fork 1
/
_group__control.html
183 lines (181 loc) · 10.6 KB
/
_group__control.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Kodi Development: Group Control</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="kodi-dev.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Kodi Development
 <span id="projectnumber">20.0</span>
</div>
<div id="projectbrief">for Binary and Script based Add-Ons</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.svg"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_group__control.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">Group Control </div> </div>
</div><!--header-->
<div class="contents">
<div class="toc"><h3>Table of Contents</h3>
<ul><li class="level1"><a href="#Group_Control_sect1">Example</a></li>
<li class="level1"><a href="#Group_Control_sect2">Available tags</a></li>
<li class="level1"><a href="#Group_Control_sect3">Notes on positioning of controls within groups</a></li>
<li class="level1"><a href="#Group_Control_sect4">See also</a></li>
</ul>
</div>
<div class="textblock"><p><b>Used to group controls together.</b></p>
<p>The group control is one of the most important controls. It allows you to group controls together, applying attributes to all of them at once. It also remembers the last navigated button in the group, so you can set the <b><code><onup></code></b> of a control to a group of controls to have it always go back to the one you were at before. It also allows you to position controls more accurately relative to each other, as any controls within a group take their coordinates from the group's top left corner (or from elsewhere if you use the "r" attribute). You can have as many groups as you like within the skin, and groups within groups are handled with no issues.</p>
<hr />
<h1><a class="anchor" id="Group_Control_sect1"></a>
Example</h1>
<div class="fragment"><div class="line"><control type=<span class="stringliteral">"group"</span> <span class="keywordtype">id</span>=<span class="stringliteral">"17"</span>></div>
<div class="line"> <description>My first group control</description></div>
<div class="line"> <posx>80</posx></div>
<div class="line"> <posy>60</posy></div>
<div class="line"> <width>250</width></div>
<div class="line"> <height>30</height></div>
<div class="line"> <defaultcontrol>2</defaultcontrol></div>
<div class="line"> <visible><span class="keyword">true</span></visible></div>
<div class="line"> <onup>2</onup></div>
<div class="line"> <ondown>3</ondown></div>
<div class="line"> <onleft>1</onleft></div>
<div class="line"> <onright>1</onright></div>
<div class="line"> ... more controls go here ...</div>
<div class="line"></control></div>
</div><!-- fragment --><hr />
<h1><a class="anchor" id="Group_Control_sect2"></a>
Available tags</h1>
<p>In addition to the <a href="http://kodi.wiki/view/Default_Control_Tags">Default Control Tags</a> the following tags are available. Note that each tag is <b>lower case</b> only. This is important, as <code>xml</code> tags are case-sensitive.</p>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadRight">Tag </th><th class="markdownTableHeadLeft">Description </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyRight">defaultcontrol </td><td class="markdownTableBodyLeft">Specifies the default control that will be focused within the group when the group receives focus. Note that the group remembers it's previously focused item and will return to it. </td></tr>
</table>
<hr />
<h1><a class="anchor" id="Group_Control_sect3"></a>
Notes on positioning of controls within groups</h1>
<p>All controls within a group take their positions relative to the group's placement. Thus, the group always requires its <b><code><posx></code></b>, <b><code><posy></code></b>, <b><code><width></code></b>, and <b><code><height></code></b> attributes to be defined. As this can be a pain to remember, anything that you don't specify will be inherited from it's parent group (or the main window).</p>
<p>By way of example, consider the first group within a PAL full screen window (720x576), and suppose we have</p>
<div class="fragment"><div class="line"><control type=<span class="stringliteral">"group"</span> <span class="keywordtype">id</span>=<span class="stringliteral">"15"</span>></div>
<div class="line"> <posx>30</posx></div>
<div class="line"> <posy>70</posy></div>
<div class="line"> <width>400</width></div>
<div class="line"> ... more controls go here ...</div>
<div class="line"></control></div>
</div><!-- fragment --><p>so that the <b><code><height></code></b> hasn't been defined. Then Kodi will automatically set the <b><code><height></code></b> equal to 506 by inheriting this from the window's height of 576, less the <b><code><posy></code></b> amount.</p>
<p>You can align controls within a group to the right edge of the group, by using the <b>"r"</b> modifier to the <b><code><posx></code></b> and <b><code><posy></code></b> fields</p>
<div class="fragment"><div class="line"><control type=<span class="stringliteral">"group"</span> <span class="keywordtype">id</span>=<span class="stringliteral">"20"</span>></div>
<div class="line"> <control type=<span class="stringliteral">"button"</span> <span class="keywordtype">id</span>=2></div>
<div class="line"> <posx>180r</posx></div>
<div class="line"> <width>180</width></div>
<div class="line"> </control></div>
<div class="line"> <control type=<span class="stringliteral">"button"</span> <span class="keywordtype">id</span>=3></div>
<div class="line"> <posx>180r</posx></div>
<div class="line"> <width>180</width></div>
<div class="line"> </control></div>
<div class="line"> <control type=<span class="stringliteral">"button"</span> <span class="keywordtype">id</span>=4></div>
<div class="line"> <posx>180r</posx></div>
<div class="line"> <width>180</width></div>
<div class="line"> </control></div>
<div class="line"></control></div>
</div><!-- fragment --><p>All the buttons have width 180, and are aligned 180 pixels from the right edge of the group they're within.</p>
<hr />
<h1><a class="anchor" id="Group_Control_sect4"></a>
See also</h1>
<h4>Development:</h4>
<ul>
<li><a href="http://kodi.wiki/view/Add-on_development">Add-on development</a></li>
<li><a href="http://kodi.wiki/view/Skinning">Skinning</a> </li>
</ul>
</div></div><!-- contents -->
</div><!-- PageDoc -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
</ul>
</div>
</body>
</html>