<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.fightorder.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Chili-Classes</id>
	<title>Chili-Classes - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.fightorder.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Chili-Classes"/>
	<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=Chili-Classes&amp;action=history"/>
	<updated>2026-04-21T04:15:29Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.fightorder.net/wiki/index.php?title=Chili-Classes&amp;diff=668&amp;oldid=prev</id>
		<title>Qrow: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=Chili-Classes&amp;diff=668&amp;oldid=prev"/>
		<updated>2025-11-14T05:22:17Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:22, 13 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Qrow</name></author>
	</entry>
	<entry>
		<id>https://www.fightorder.net/wiki/index.php?title=Chili-Classes&amp;diff=667&amp;oldid=prev</id>
		<title>Interwiki&gt;Flozi: /* Control */ use proper subtitles</title>
		<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=Chili-Classes&amp;diff=667&amp;oldid=prev"/>
		<updated>2016-06-12T20:55:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Control: &lt;/span&gt; use proper subtitles&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Gamedev:Main|Development]] &amp;lt; [[Chili]] &amp;lt; {{FULLPAGENAME}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
Chili classes are the elements (panels, grids, etc.) that make up the game GUI. The .lua .lua files are stored in the directory &amp;lt;code&amp;gt;LuaUI/Widgets/Chili/controls&amp;lt;/code&amp;gt;. Displayed elements such as window, as distinct from non-control classes (specifically, font objects and the screen) are referred to as &amp;#039;&amp;#039;&amp;#039;controls&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
The default Chili classes can be found [https://github.com/jk3064/chiliui/tree/master/chili/controls here].&lt;br /&gt;
&lt;br /&gt;
==Data Types==&lt;br /&gt;
Tags may be one of the following data types:&lt;br /&gt;
* &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - A number with or without decimals.&lt;br /&gt;
* &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt; - A value which can be &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - Text, or more precisely a string of alphanumeric characters.&lt;br /&gt;
* &amp;lt;code&amp;gt;color&amp;lt;/code&amp;gt; - An array of colors, in RGBA format.&lt;br /&gt;
* &amp;lt;code&amp;gt;number[4]&amp;lt;/code&amp;gt; - An array of numbers; used for positioning, etc.&lt;br /&gt;
==Details==&lt;br /&gt;
Chili classes use OOP with inheritance, with the following hierarchy:&lt;br /&gt;
 object&lt;br /&gt;
 |_font&lt;br /&gt;
 |_screen&lt;br /&gt;
 |_control&lt;br /&gt;
  |_button&lt;br /&gt;
    |_image&lt;br /&gt;
  |_checkbox&lt;br /&gt;
  |_colorbars&lt;br /&gt;
  |_label&lt;br /&gt;
  |_layoutpanel&lt;br /&gt;
    |_imagelistview&lt;br /&gt;
    |_grid&lt;br /&gt;
    |_stackpanel&lt;br /&gt;
    |_treeview&lt;br /&gt;
  |_panel&lt;br /&gt;
  |_progressbar&lt;br /&gt;
  |_scrollpanel&lt;br /&gt;
  |_textbox&lt;br /&gt;
  |_trackbar&lt;br /&gt;
  |_treeview&lt;br /&gt;
   |_treeviewnode&lt;br /&gt;
  |_window&lt;br /&gt;
&lt;br /&gt;
Consequently, it is possible for widgets to define their own Chili classes (discussed below).&lt;br /&gt;
&lt;br /&gt;
Each Chili control has one parent (&amp;lt;code&amp;gt;Chili.screen0&amp;lt;/code&amp;gt; or another Chili control) and any non-negative number of children. Position is specified relative to the parent, taking into account the parent&amp;#039;s &amp;lt;code&amp;gt;padding&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;itemMargin&amp;lt;/code&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
==Classes==&lt;br /&gt;
===Object===&lt;br /&gt;
The base Chili object class. It should &amp;#039;&amp;#039;not&amp;#039;&amp;#039; be used directly.&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = classname&lt;br /&gt;
|type = string&lt;br /&gt;
|default = &amp;quot;object&amp;quot;&lt;br /&gt;
|description = The class name.}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = hidden&lt;br /&gt;
|type = bool&lt;br /&gt;
|default = false&lt;br /&gt;
|description = Is the object hidden?}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = disableChildrenHitTest&lt;br /&gt;
|type = bool&lt;br /&gt;
|default = false&lt;br /&gt;
|description = If true, this object&amp;#039;s children are not clickable, draggable, etc. - their mouse events are not processed.}}&lt;br /&gt;
&lt;br /&gt;
===Control===&lt;br /&gt;
This is the base class for all Chili controls, specifying common properties. It should &amp;#039;&amp;#039;not&amp;#039;&amp;#039; be used directly.&lt;br /&gt;
&lt;br /&gt;
====General====&lt;br /&gt;
{{tag&lt;br /&gt;
|name = tooltip&lt;br /&gt;
|type = string&lt;br /&gt;
|default = nil&lt;br /&gt;
|description = The control&amp;#039;s tooltip.}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = skinName&lt;br /&gt;
|type = string&lt;br /&gt;
|default = nil&lt;br /&gt;
|description = Specifies the control to use a skin other than the default one.}}&lt;br /&gt;
&lt;br /&gt;
====Size====&lt;br /&gt;
{{tag&lt;br /&gt;
|name = width&lt;br /&gt;
|type = number OR string&lt;br /&gt;
|description = The width of the control. This can be a number of pixels, or a percentage value enclosed in a string, e.g. &amp;quot;50%&amp;quot; means half as wide as the parent.}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = height&lt;br /&gt;
|type = number OR string&lt;br /&gt;
|description = The height of the control. This can be a number of pixels, or a percentage value enclosed in a string, e.g. &amp;quot;50%&amp;quot; means half as wide as the parent.}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = minWidth&lt;br /&gt;
|type = number&lt;br /&gt;
|default = 10 (50 for windows)&lt;br /&gt;
|description = The control&amp;#039;s minimum width.}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = minHeight&lt;br /&gt;
|type = number&lt;br /&gt;
|default = 10 (50 for windows)&lt;br /&gt;
|description = The control&amp;#039;s minimum height.}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = maxWidth&lt;br /&gt;
|type = number&lt;br /&gt;
|default = 1e9&lt;br /&gt;
|description = The control&amp;#039;s maximum width.}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = maxHeight&lt;br /&gt;
|type = number&lt;br /&gt;
|default = 1e9&lt;br /&gt;
|description = The control&amp;#039;s maximum height.}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = autosize&lt;br /&gt;
|type = bool&lt;br /&gt;
|default = false&lt;br /&gt;
|description = Does the control automatically resize to fit its children?}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = savespace&lt;br /&gt;
|type = bool&lt;br /&gt;
|default = false&lt;br /&gt;
|description = If &amp;lt;code&amp;gt;autosize&amp;lt;/code&amp;gt; is enabled, it shrinks the control to the minimum needed space; if disabled &amp;lt;code&amp;gt;autosize&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;normally&amp;#039;&amp;#039; only enlarges the control.}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = fixedratio&lt;br /&gt;
|type = bool&lt;br /&gt;
|default = false&lt;br /&gt;
|description = Does this control attempt to maintain its original aspect ratio when resized?}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = resizable&lt;br /&gt;
|type = bool&lt;br /&gt;
|default = false&lt;br /&gt;
|description = Can this control be resized outside of tweakmode?}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = tweakResizable&lt;br /&gt;
|type = bool&lt;br /&gt;
|default = true&lt;br /&gt;
|description = Can this control be resized in tweakmode?}}&lt;br /&gt;
&lt;br /&gt;
====Positioning====&lt;br /&gt;
These tags can be combined in different ways with each other and the width/height tags to precisely define the bounds of the element.&lt;br /&gt;
{{tag&lt;br /&gt;
|name = x&lt;br /&gt;
|type = number&lt;br /&gt;
|description = The distance between the left edge of the control and that of its parent.}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = y&lt;br /&gt;
|type = number&lt;br /&gt;
|description = The distance between the top edge of the control and that of its parent.}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = right&lt;br /&gt;
|type = number&lt;br /&gt;
|description = The distance between the right edge of the control and that of its parent.}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = bottom&lt;br /&gt;
|type = number&lt;br /&gt;
|description = The distance between the bottom edge of the control and that of its parent.}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = draggable&lt;br /&gt;
|type = bool&lt;br /&gt;
|default = false&lt;br /&gt;
|description = Can this control be dragged around outside of tweakmode?}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = tweakDraggable&lt;br /&gt;
|type = bool&lt;br /&gt;
|default = true&lt;br /&gt;
|description = Can this control be dragged around in tweakmode?}}&lt;br /&gt;
&lt;br /&gt;
====Drawing====&lt;br /&gt;
{{tag&lt;br /&gt;
|name = padding&lt;br /&gt;
|type = number[4]&lt;br /&gt;
|default = {5, 5, 5, 5}&lt;br /&gt;
|description = How much space there is between the borders of the control and its children. Numbers are for left, top, right and bottom.}}&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = backgroundColor&lt;br /&gt;
|type = color&lt;br /&gt;
|default = {0.8, 0.8, 1.0, 0.4} (can be overridden by skin)&lt;br /&gt;
|description = This is the background color of certain controls, particularly Windows.}}&lt;br /&gt;
&lt;br /&gt;
===Window===&lt;br /&gt;
This is the basic container for all other controls. It is the only one that can be moved around by the user and responds to the docking widget. It can be made invisible for a borderless element, or to allow another control such as a Panel to draw the background.&lt;br /&gt;
&lt;br /&gt;
===Panel===&lt;br /&gt;
A background element, similar to Window but drawn differently and without the resize/drag functions.&lt;br /&gt;
&lt;br /&gt;
===Button===&lt;br /&gt;
Does things when clicked. Comes with its own implementation of &amp;lt;code&amp;gt;HitTest&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MouseDown&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;MouseUp&amp;lt;/code&amp;gt;, making it readily usable for this purpose.&lt;br /&gt;
&lt;br /&gt;
{{tag&lt;br /&gt;
|name = caption&lt;br /&gt;
|type = string&lt;br /&gt;
|default = &amp;quot;button&amp;quot;&lt;br /&gt;
|description = A caption written on the button.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Libraries]]&lt;/div&gt;</summary>
		<author><name>Interwiki&gt;Flozi</name></author>
	</entry>
</feed>