<!--
/*****************************************************************************/
/*  Copyright 2019 WSL Institute for Snow and Avalanche Research  SLF-DAVOS  */
/*****************************************************************************/
/* This file is part of INIshell.
   INIshell is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.

   INIshell is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with INIshell.  If not, see <http://www.gnu.org/licenses/>.
*/
-->

<!--
This is the developer's guide which is meant for people who want to use INIshell to control
their own simulation software. It showcases all panels and lists their options.
-->

<inishell_config>

	<!-- TOC -->

	<section name="TOC" color="sl_violet" italics="true">
		<parameter type="label" label="&lt;h3&gt;Table of contents&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="spacer" height="15"/>
		<parameter type="helptext" wrap="true">
			<help>&lt;font color="#6c71c4"&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/font&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Introduction&quot;&gt;Introduction&lt;/a&gt;</help>
		</parameter>
		<parameter type="helptext" wrap="true">
			<help>&lt;font color="#859900"&gt;&lt;strong&gt;Grouping&lt;/strong&gt;&lt;/font&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Section&quot;&gt;Section&lt;/a&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Frame&quot;&gt;Frame&lt;/a&gt;</help>
		</parameter>
		<parameter type="helptext" wrap="true">
			<help>&lt;font color="#859900"&gt;&lt;strong&gt;Help texts and labels&lt;/strong&gt;&lt;/font&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Helptext&quot;&gt;Helptext&lt;/a&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Helptext&quot;&gt;Label&lt;/a&gt;</help>
		</parameter>
		<parameter type="helptext" wrap="true">
			<help>&lt;font color="#2aa198"&gt;&lt;strong&gt;Input panels&lt;/strong&gt;&lt;/font&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Alternative&quot;&gt;Alternative&lt;/a&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Checkbox&quot;&gt;Checkbox&lt;/a&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Checklist&quot;&gt;Checklist&lt;/a&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Choice&quot;&gt;Choice&lt;/a&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Datetime&quot;&gt;Datetime&lt;/a&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Filepath&quot;&gt;Filepath&lt;/a&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Number&quot;&gt;Number&lt;/a&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Text&quot;&gt;Text&lt;/a&gt; (&lt;a href=&quot;dev://Text::dev-snippets&quot;&gt;snippets&lt;/a&gt;)</help>
		</parameter>
		<parameter type="helptext" wrap="true">
			<help>&lt;font color="#2aa198"&gt;&lt;strong&gt;Dynamic panels&lt;/strong&gt;&lt;/font&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Replicator&quot;&gt;Replicator&lt;/a&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Selector&quot;&gt;Selector&lt;/a&gt;</help>
		</parameter>
		<parameter type="helptext" wrap="true">
			<help>&lt;font color="#2aa198"&gt;&lt;strong&gt;Display panels&lt;/strong&gt;&lt;/font&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Copytext&quot;&gt;Copytext&lt;/a&gt; (&lt;a href=&quot;dev://Copytext::dev-snippets&quot;&gt;snippets&lt;/a&gt;)&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Image&quot;&gt;Image&lt;/a&gt; (&lt;a href=&quot;dev://Image::dev-snippets&quot;&gt;snippets&lt;/a&gt;)</help>
		</parameter>
		<parameter type="helptext" wrap="true">
			<help>&lt;font color="#268bd2"&gt;&lt;strong&gt;Styling&lt;/strong&gt;&lt;/font&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Rasters&quot;&gt;Rasters&lt;/a&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Style&quot;&gt;Style&lt;/a&gt;</help>
		</parameter>
		<parameter type="helptext" wrap="true">
			<help>&lt;font color="#cb4b16"&gt;&lt;strong&gt;Workflow&lt;/strong&gt;&lt;/font&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Workflow&quot;&gt;Workflow&lt;/a&gt;</help>
		</parameter>
		<parameter type="helptext" wrap="true">
			<help>&lt;font color="#d33682"&gt;&lt;strong&gt;Tools&lt;/strong&gt;&lt;/font&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Style::ref-solarized&quot;&gt;Solarized color picker&lt;/a&gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;dev://Symbols&quot;&gt;Snippets and symbols table&lt;/a&gt;</help>
		</parameter>
	</section>

	<!-- INTRODUCTION -->

	<section name="Introduction" color="sl_violet">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Principles of &lt;i&gt;INIshell&lt;/i&gt;&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>&lt;i&gt;INIshell&lt;/i&gt; aims to facilitate controlling software with text-based settings which is normally run in a terminal. With fast-changing simulation software and fast-changing requirements it needs to be flexible enough to quickly adapt to changes in the controlled program's available settings and syntax.</help>
		</parameter>
		<parameter type="helptext" wrap="true">
			<help>This is realized by reading an application's available settings at runtime from an XML file. This XML file describes to &lt;i&gt;INIshell&lt;/i&gt; which parameters the controlled model knows, and of what type they are. &lt;i&gt;INIshell&lt;/i&gt; takes this information and builds a panel the user can interact with to change the specific key. This way, if the controlled software changes, these changes only need to be reflected in the describing XML file, but not in &lt;i&gt;INIshell&lt;/i&gt;'s source code. &lt;br&gt;</help>
		</parameter>
		<frame caption="Introduction to using INIshell as developer" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>An &lt;i&gt;INIshell&lt;/i&gt; file needs an appropriate header to be identified as a file that contains an application's configuration:&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;code&gt;&amp;lt;inishell_config application=&quot;SNOWPACK&quot;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;br&gt;&amp;lt;/inishell_config&amp;gt;&lt;/code&gt;&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>Or, to indicate that this is a simulation's configuration:&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;code&gt;&amp;lt;inishell_config simulation=&quot;Weißfluhjoch&quot;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;br&gt;&amp;lt;/inishell_config&amp;gt;&lt;/code&gt;&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>There is no logical difference between applications and simulations as far as &lt;i&gt;INIshell&lt;/i&gt; is concerned; so the only thing the different identifier does is to put it in the respective &lt;font color=&quot;#268bd2&quot;&gt;Applications&lt;/font&gt; or &lt;font color=&quot;#268bd2&quot;&gt;Simulations&lt;/font&gt; workflow tab. Thus, the principles discussed here apply to both setups.</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>Within these tags reside the descriptions of the elements that &lt;i&gt;INIshell&lt;/i&gt; should display. For each text panel, number panel, help text, ..., there is an XML node for it concisely telling &lt;i&gt;INIshell&lt;/i&gt; the formatting options. For example, a simple text panel for modifying the INI key &lt;code&gt;TEXT_FIELD&lt;/code&gt; may look like this:&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;code&gt;&amp;lt;parameter key=&quot;TEXT_FIELD&quot; type=&quot;text&quot;/&amp;gt;&lt;/code&gt;&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>More complicated panels may have child panels; for example, each item of a dropdown element can display different additional panels. This can be nested indefinitely allowing for quite complex settings. See the different tabs of this help file for which options the panels support.</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>The same is true for the workflow panel (the left side of &lt;i&gt;INIshell&lt;/i&gt;). Only a few tabs are fixed, the rest is also read from XML, albeit with different panels available. See the &lt;font color=&quot;#268bd2&quot;&gt;Workflow&lt;/font&gt; section of this help.</help>
			</parameter>
		</frame>
		<frame caption="First example" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>Put the panel description in the main XML and you have a first valid inishell config file:&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;code&gt;&amp;lt;inishell_config application=&quot;my_application&quot;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;parameter key=&quot;TEXT_FIELD&quot; type=&quot;text&quot;/&amp;gt;&lt;br&gt;&amp;lt;/inishell_config&amp;gt;&lt;/code&gt;&lt;br&gt;</help>
			</parameter>
		</frame>
		<reference name="TOC_LINK"/>
	</section>

	<!-- SECTION -->

	<section name="Section" color="sl_green">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Sections&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>Sections are sections in the INI file and displayed in the main panel's tab bar. Each parameter must have a section; if none is given, it will be deafulted to &lt;code&gt;[General]&lt;/code&gt;.&lt;br&gt;</help>
		</parameter>
		<frame caption="Ways of specifying a section for the panel" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>&lt;ul&gt;
					&lt;li&gt;Each frame/parameter can have a &lt;code&gt;section&lt;/code&gt; tag as child node.&lt;/li&gt;
					&lt;li&gt;Parameters that don't have a parent section will be defaulted to the default section at the top level.&lt;/li&gt;
					&lt;li&gt;Children can not switch parents, so the parent's section counts.&lt;/li&gt;
					&lt;li&gt;But you can supply as many &lt;code&gt;parent&lt;/code&gt; sections as you like. Then each child can tell in a list of their own &lt;code&gt;section&lt;/code&gt; tags if it should be built for this specific section or not.&lt;/li&gt;
					&lt;li&gt;This is also possible for some child panel's items. For example, an &lt;code&gt;Alternative&lt;/code&gt; panel (a dropdown list) can be set to contribute both to the &lt;code&gt;[INPUT]&lt;/code&gt; and the &lt;code&gt;[OUTPUT]&lt;/code&gt; section. The individual items can be set to appear in either or both of the sections by giving &lt;code&gt;section&lt;/code&gt; child nodes.&lt;/li&gt;
					&lt;li&gt;You may alternatively supply the &lt;code&gt;section&lt;/code&gt; attribute to the panel's node itself.&lt;/li&gt;
					&lt;li&gt;And lastly, you can construct a &lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt; parent node in which you put children.&lt;/li&gt;
					&lt;li&gt;The section format (color, capitalization) is taken from the first occurrence of the &lt;code&gt;section&lt;/code&gt; tag.&lt;/li&gt;
					&lt;li&gt;(Note that currently coloring is not supported uniformly, so if it doesn't work try a different way of giving the section.)&lt;/li&gt;
					&lt;/ul&gt;</help>
			</parameter>
		</frame>
		<parameter type="helptext" wrap="true">
			<help>&lt;br&gt;Have a look at this help file's source code (&lt;code&gt;./inishell --dump_help&lt;/code&gt;, cf. command line tools). Up until now we chose the method of supplying a &lt;code&gt;section&lt;/code&gt; child node to tell the parent to go into a certain section. Starting with this frame, we sometimes supply it in the attributes. Later, we will use dedicated &amp;lt;&lt;code&gt;section&lt;/code&gt;&amp;gt; nodes.</help>
		</parameter>
		<frame caption="Dynamic sections" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>Dedicated &amp;lt;&lt;code&gt;section&lt;/code&gt;&amp;gt; nodes are required to be used for an advanced feature of sections: Like &lt;code&gt;Replicators&lt;/code&gt; they can receive a &lt;code&gt;replicate="true"&lt;/code&gt; property in which case their tab will show a plus button to duplicate the whole section (with a number appended as the new section name).</help>
			</parameter>
		</frame>
		<parameter type="helptext" wrap="true">
			<help>The following XML node will construct an Alternative panel that appears in both the &lt;code&gt;[INPUT]&lt;/code&gt; and &lt;code&gt;[OUTPUT]&lt;/code&gt; sections. But only one of &lt;code&gt;SNOWPACK_IN/OUT&lt;/code&gt; will be in each section:&lt;br&gt;</help>
		</parameter>
		<parameter type="helptext" wrap="true">
			<help>&lt;code&gt;&amp;lt;parameter key=&quot;IO_FORMAT&quot; type=&quot;alternative&quot;&amp;gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;section name=&quot;INPUT&quot;/&amp;gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;section name=&quot;OUTPUT&quot;/&amp;gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;option value=&quot;CSV&quot;/&amp;gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;option value=&quot;SNOWPACK_IN&quot;&amp;gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;section name=&quot;Input&quot;/&amp;gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/option&amp;gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;option value=&quot;SNOWPACK_OUT&quot;&amp;gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;section name=&quot;Output&quot;/&amp;gt;&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/option&amp;gt;&lt;br&gt;
				&amp;lt;/parameter&amp;gt;&lt;/code&gt;&lt;br&gt;</help>
		</parameter>
		<frame caption="References">
			<parameter type="helptext" wrap="true">
				<help>We have already encountered include files, which must be valid XML documents (they at least need a parent node). The following mechanism to reference nodes from within the document is also always available:</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>Reference to another part of the file:&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;code&gt;&amp;lt;&lt;b&gt;reference name&lt;/b&gt;=&quot;METEOPARAMETERS&quot;/&amp;gt;&lt;/code&gt;&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>The node being referenced:&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;code&gt;&amp;lt;&lt;b&gt;parametergroup name&lt;/b&gt;=&quot;METEOPARAMETERS&quot;&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;option value=&quot;TA&quot;/&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;option value=&quot;RH&quot;/&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;option value=&quot;VW&quot;/&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;option value=&quot;DW&quot;/&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;option value=&quot;P&quot;/&amp;gt;&lt;br&gt;
					&amp;lt;/parametergroup&amp;gt;&lt;/b&gt;</help>
			</parameter>
		</frame>
		<reference name="TOC_LINK"/>
	</section>

	<!-- FRAME -->

	<section name="Frame" color="sl_green">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Frames&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>&lt;b&gt;Frames&lt;/b&gt; are a visual grouping element. Most of the panels in this help file are enclosed in frames.&lt;br&gt;</help>
		</parameter>
		<frame caption="This is a frame" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>Frames can be colored with &lt;code&gt;color&lt;/code&gt; for the box and text, and &lt;code&gt;background_color&lt;/code&gt; for the background color.&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;code&gt;&amp;lt;frame caption=&quot;This is a frame&quot; color=&quot;#268bd2&quot;&amp;gt;&lt;/code&gt;</help>
			</parameter>
		</frame>
		<parameter type="helptext" wrap="true">
			<help>&lt;br&gt;With the following code a frame can be given a background color:&lt;br&gt;</help>
		</parameter>
		<frame caption="Note" color="#002b36" background_color="#657b83">
			<parameter type="helptext" wrap="true">
				<help>From now on we trust that you have an understanding of how it works and can look up the XML nodes for what is shown here in the help file XMLs (&lt;code&gt;./inishell --dump_help&lt;/code&gt;), as well as in the shipped application XMLs. If you like a panel, just look for its key in the XML to see how it's done. (This help file is written in valid application syntax, only with a strong focus on help texts.) So from now on, the notation in here is shortened a bit.&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;code&gt;&amp;lt;frame caption=&quot;Note&quot; color=&quot;#002b36&quot; background_color=&quot;#657b83&quot;&amp;gt;&lt;/code&gt;</help>
			</parameter>
		</frame>
		<parameter type="spacer" height="50"/>
		<frame caption="Options for all panels" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>The following options work with most input panels:&lt;ul&gt;
					&lt;li&gt;Setting that this parameter is non-optional with &lt;code&gt;optional=&quot;false&quot;	&lt;/code&gt;&lt;/li&gt;
					&lt;li&gt;Setting the default value via &lt;code&gt;default=&quot;default_value&quot;&lt;/code&gt;&lt;/li&gt;
					&lt;li&gt;Setting a different &lt;code&gt;caption&lt;/code&gt; and styling it&lt;/li&gt;
					&lt;/ul&gt;</help>
			</parameter>
		</frame>
		<reference name="TOC_LINK"/>
	</section>

	<!-- HELPTEXTS and LABELS -->

	<section name="Helptext" color="sl_green">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Helptext and Label elements&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>A &lt;b&gt;&amp;lt;helptext&amp;gt;&lt;/b&gt; panel displays a piece of information. So does a &lt;b&gt;&amp;lt;label&amp;gt;&lt;/b&gt;, which is usually associated with an INI key but can also be set separately. They can be used in the following ways.</help>
		</parameter>
		<parameter type="helptext" wrap="true" help="Helptexts can also have tooltips.">
			<help>&lt;br&gt;This is a standalone help text. It will also display a tool tip if you hover the mouse over it, like all panels can.&lt;br&gt;Per default, the tooltip is set to the panel's key. To add a custom tooltip to a panel, specify the &lt;code&gt;help&lt;/code&gt; attribute in the panel itself:&lt;br&gt;&lt;code&gt;key="INPUT_TEXT" type="text" help="An input text"&lt;/code&gt;</help>
		</parameter>
		<parameter key="INPUT_TEXT" type="text" size="large" help="An input text">
			<help>A parameter's help is shown to the right if a &lt;code&gt;&amp;lt;help&amp;gt;&lt;/code&gt; node is given as a child to the parameter node. It can span as many lines as you wish, and you can use HTML styling, e. g. &amp;lt;br&amp;gt; for a line break.</help>
		</parameter>
		<parameter type="helptext" nowrap="true">
			<help>For standalone help texts you can supply either &lt;code&gt;wrap=&quot;true&quot;&lt;/code&gt; to enable dynamic wrapping (like it is done in this whole help file), or disable line wrapping with &lt;code&gt;wrap=&quot;false&quot;&lt;/code&gt;.</help>
		</parameter>
		<parameter type="helptext" wrap="true">
			<help>You can use &lt;b&gt;&lt;font color=&quot;#268bd2&quot;&gt;HTML styling&lt;/font&gt;&lt;/b&gt; in all helptexts (see the &lt;font color=&quot;#268bd2&quot;&gt;Styling&lt;/font&gt; tab), otherwise they will have a uniform look.</help>
		</parameter>
		<parameter key="SOME_NAME_WE_DONT_WANT_TO_SHOW_DIRECTLY" label="Pick a name: " type="text">
			<help>It is possible to give a &lt;code&gt;&amp;lt;label&amp;gt;&lt;/code&gt; attribute to the panel node in order to display a different label than the INI key itself:&lt;br&gt;&lt;code&gt;&amp;lt;parameter key=&quot;SOME_NAME_WE_DONT_WANT_TO_SHOW_DIRECTLY&quot; caption=&quot;Pick a name: &quot; type=&quot;text&quot;&amp;gt;&lt;/code&gt;</help>
		</parameter>
		<frame caption="Label width">
			<parameter type="helptext" wrap="true">
				<help>A key label's width is either a fixed with (the first "column"), or if that is not enough it is extended to fit the content. Sometimes however you will have a list of INI keys that get scrambled together this way, alternating between a fixed and dynamic width. For this reason you can set to use the second "column" by specifying &lt;code&gt;longlabel="true"&lt;/code&gt;.</help>
				<parameter key="LONG_TEXT" type="text" label="This is a long description of an INI key:" longlabel="true">
					<help>Here we have specified long label texts.</help>
				</parameter>
				<parameter key="NORMAL_TEXT" type="text" longlabel="true">
					<help>This way the longer text can be aligned with the short one.</help>
				</parameter>
			</parameter>
		</frame>
		<reference name="TOC_LINK"/>
	</section>

	<!-- ALTERNATIVE -->

	<section name="Alternative" color="sl_cyan">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Alternative panel&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>An &lt;code&gt;&lt;b&gt;&amp;lt;alternative&amp;gt;&lt;/b&gt;&lt;/code&gt; panel is a dropdown list the user can select from. It can show child panels for each individual item.&lt;br&gt;</help>
		</parameter>
		<frame caption="Alternatives">
			<parameter key="ALTERNATIVE_MANDATORY" type="alternative" optional="false">
				<option value="TRUE"/>
				<option value="FALSE"/>
			</parameter>
			<parameter key="OPTIONAL_ALTERNATIVE" type="alternative">
				<option value="on"/>
				<option value="off"/>
			</parameter>
			<parameter key="FREE_ALTERNATIVE" type="alternative" editable="true">
				<option value="item A"/>
				<option value="item B"/>
			</parameter>
			<parameter key="DIFFERENT_ALTERNATIVE" label="A verbose list of options:" type="alternative">
				<option value="value 1" caption="This is value one"/>
				<option value="value 2" caption="This is value two"/>
				<help>A dropdown menu can have items that are labelled different to their value. Check the &lt;font color=&quot;#268bd2&quot;&gt;Preview&lt;/font&gt; to verify this.</help>
			</parameter>
			<parameter key="CHILD_ALTERNATIVE" label="Dropdown with child elements:" type="alternative">
				<option value="textbox_option">
					<parameter key="OPTION_TEXTBOX" type="text"/>
					<parameter key="OTHER_TEXTBOX" type="text"/>
				</option>
				<option value="number_option">
					<parameter key="OPTION_NUMBER" type="number"/>
				</option>
				<option value="nested_option">
					<parameter key="NESTED_ALTERNATIVE" type="alternative">
						<option value="no_child" default="true"/>
						<option value="nested_child">
							<parameter key="NESTED_NUMBER" type="number"/>
						</option>
					</parameter>
				</option>
			</parameter>
		</frame>
		<frame caption="Child options" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>An &lt;code&gt;Alternative&lt;/code&gt; panel is one of the panels that can have child panels depending on which option is selected.&lt;br&gt;</help>
			</parameter>
			<parameter key="METEO" type="alternative">
				<help>Choose your input path with meteo data</help>
				<option value="SMET">
					<parameter key="METEOPATH" type="path" mode="input"><help>Item help</help></parameter>
				</option>
				<option value="SNOWPACK"/>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;code&gt;&lt;br&gt;&amp;lt;parameter key=&quot;METEO&quot; type=&quot;alternative&quot;&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;help&amp;gt;&quot;...&quot;&amp;lt;/help&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;option value=&quot;SMET&quot;&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;parameter key=&quot;METEOPATH&quot; type=&quot;path&quot; mode=&quot;input&quot;&amp;gt;&amp;lt;help&amp;gt;...&amp;lt;/help&amp;gt;&amp;lt;/parameter&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/option&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;option value=&quot;SNOWPACK&quot;/&amp;gt;&lt;br&gt;
					&amp;lt;/parameter&amp;gt;&lt;/code&gt;</help>
			</parameter>
		</frame>
		<frame caption="Performance savings mode" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>Normally, all child panels of an Alternative panel are always built. This way, a user can switch between some different modes of operation and still keep their settings for all of them - even if currently unused.&lt;br&gt;
					Some dropdown lists however are so complex that if they control a large number of INI keys, building all child panels for each setting has a considerable impact on performance. For this reason you can use the &lt;i&gt;pre-generate=false&lt;/i&gt; mode which will tell &lt;i&gt;INIshell&lt;/i&gt; to only build child panels on first request, i. e. when the list item is first selected. This mode is best suited for:&lt;ul&gt;
					&lt;li&gt;Settings that will not change often. E. g. in &lt;i&gt;MeteoIO&lt;/i&gt; it will hardly ever be necessary to configure more than one input plugin at the same time and switch between them frequently.&lt;/li&gt;
					&lt;li&gt;Settings where it is a reasonable assumption that the parent key is always found before child settings. E. g. in &lt;i&gt;MeteoIO&lt;/i&gt; we make request that TA::FILTERS1 = MIN must be found before TA::ARG1::MIN so that the child panels are built.&lt;/li&gt;
					&lt;li&gt;Settings where you can set the default value to the parent that needs children.&lt;/li&gt;
					&lt;/ul&gt;
					Remember that unknown INI keys are transported to the output, so they will be there in any case, but they won't interact with the GUI if the pre-generate=false mode is not suitable for this setting. Enable this mode by setting &lt;code&gt;pre-generate="false"&lt;/code&gt; in the Alternative's attributes.</help>
			</parameter>
		</frame>
		<parameter type="helptext" wrap="true">
			<help>&lt;br&gt;Note: Giving a default argument to an Alternative panel, the decimals should match the given precision.</help>
		</parameter>
		<reference name="TOC_LINK"/>
	</section>

	<!-- CHECKBOX -->

	<section name="Checkbox" color="sl_cyan">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Checkbox&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>A &lt;code&gt;&lt;b&gt;&amp;lt;checkbox&amp;gt;&lt;/b&gt;&lt;/code&gt; panel stands for a &lt;code&gt;TRUE/FALSE&lt;/code&gt; choice. It will also handle &lt;code&gt;t/f&lt;/code&gt; and &lt;code&gt;0/1&lt;/code&gt; alternatively.&lt;br&gt;. It can have child panels that are displayed when the box is checked.</help>
		</parameter>
		<frame caption="Checkboxes">
			<parameter key="RESAMPLING" type="checkbox">
				<help>&amp;lt;parameter key=&quot;RESAMPLING&quot; type=&quot;checkbox&quot;&amp;gt;&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>You can set the key label and caption independently. Different to other panels if you omit a label it will be hidden, not display the key (because this is more common - supply in "label" if wanted).&lt;br&gt;</help>
			</parameter>
			<parameter key="RESAMPLING" caption="Enable resampling" type="checkbox">
				<help>&lt;code&gt;caption=&quot;Enable resampling&quot;&lt;/code&gt;</help>
			</parameter>
			<parameter key="RESAMPLING" label="Perform resampling?" caption="Enable resampling" type="checkbox">
				<help>&lt;code&gt;label=&quot;Perform resampling?&quot; caption=&quot;Enable resampling&quot;&lt;/code&gt;</help>
			</parameter>
			<parameter key="CHECKBOX_CHILD" caption="Check to view child panels" type="checkbox">
				<option>
					<parameter key="CHECKBOX_TEXT" type="text"/>
					<parameter key="CHECKBOX_NUM" type="number"/>
				</option>
				<help>A checkbox with child panels.</help>
			</parameter>
		</frame>
		<frame caption="Snippets">
			<parameter type="copytext" height="6" syntax="xml">
				<text>&lt;parameter key="CHECKBOX_CHILD" caption="Check to view child panels" type="checkbox"&gt;
	&lt;option&gt;
		&lt;parameter key="CHECKBOX_TEXT" type="text"/&gt;
		&lt;parameter key="CHECKBOX_NUM" type="number"/&gt;
	&lt;/option&gt;
&lt;/parameter&gt;</text>
				<help>A checkbox with child panels that will all be shown if the checkbox is ticked.</help>
			</parameter>
		</frame>
		<reference name="TOC_LINK"/>
	</section>

	<!-- CHECKLIST -->

	<section name="Checklist" color="sl_cyan">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Checklist&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>A &lt;code&gt;&lt;b&gt;&amp;lt;checklist&amp;gt;&lt;/b&gt;&lt;/code&gt; panel has exactly the same syntax as a &lt;code&gt;&lt;b&gt;&amp;lt;choice&amp;gt;&lt;/b&gt;&lt;/code&gt; panel. Depending on the number of options a &lt;code&gt;choice&lt;/code&gt; panel can be more compact.&lt;br&gt;</help>
		</parameter>
		<frame caption="Checklist">
			<parameter key="GENERATORS" type="checklist">
				<help>Choose a data generator</help>
				<o value="STD_PRESS"></o>
				<option value="CST">
					<parameter key="@::CST::VALUE" type="number"/>
				</option>
				<option value="SIN">
					<parameter type="horizontal">
						<option>
							<parameter key="@::SIN::TYPE" type="alternative" optional="false">
								<option value="yearly" help="Yearly period"/>
								<option value="daily" help="Daily period" default="true"/>
							</parameter>
						</option>
						<o><parameter key="@::SIN::MAX" type="number"/></o>
						<o><parameter key="@::SIN::PHASE" type="number"/></o>
					</parameter>
				</option>
			</parameter>
		</frame>
		<reference name="TOC_LINK"/>
	</section>

	<!-- CHOICE -->

	<section name="Choice" color="sl_cyan">
		<reference name="TOC_LINK"/>
		<parameter type="choice" label="&lt;h3&gt;Choice&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>A &lt;code&gt;&lt;b&gt;&amp;lt;choice&amp;gt;&lt;/b&gt;&lt;/code&gt; panel displays a list of checkboxes. Each of the checkboxes may show additional child panels, which can themselves show more options.&lt;br&gt;</help>
		</parameter>
		<frame caption="Multiple choice">
			<parameter key="GENERATORS" type="choice" label="Data generators:">
				<o value="STD_PRESS"><help>Choose from a list of options.</help></o>
				<option value="CST">
					<parameter key="@::CST::VALUE" type="number"/>
					<help>For each of them, more configuration panels may be shown.</help>
				</option>
				<option value="SIN">
					<parameter type="horizontal">
						<option>
							<parameter key="@::SIN::TYPE" type="alternative" optional="false">
								<option value="yearly" help="Yearly period"/>
								<option value="daily" help="Daily period" default="true"/>
							</parameter>
						</option>
						<o><parameter key="@::SIN::MAX" type="number"/></o>
						<o><parameter key="@::SIN::PHASE" type="number"/></o>
					</parameter>
					<help>Sinusoidal generator.</help>
				</option>
			</parameter>
		</frame>
		<frame caption="Source code" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>A &lt;code&gt;Choice&lt;/code&gt; panel has the following syntax. In each &lt;code&gt;option&lt;/code&gt; child node, you can start with a &lt;code&gt;parameter&lt;/code&gt; or &lt;code&gt;frame&lt;/code&gt; again. You can nest as many panels as you wish.&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;code&gt;&amp;lt;parameter key=&quot;CHOICE&quot; type=&quot;choice&quot;&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;option value=&quot;...&quot;&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;parameter ... /&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;parameter ... /&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/option&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;option value=&quot;...&quot;&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/option&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;....&lt;br&gt;
					&amp;lt;/parameter&amp;gt;&lt;/code&gt;</help>
			</parameter>
		</frame>
		<reference name="TOC_LINK"/>
	</section>

	<!-- DATETIME -->

	<section name="Datetime" color="sl_cyan">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Datetime&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>A &lt;code&gt;&lt;b&gt;&amp;lt;datetime&amp;gt;&lt;/b&gt;&lt;/code&gt; panel allows users to more comfortably enter a date and/or time.</help>
		</parameter>
		<parameter type="helptext" wrap="true">
			<help>It has the following options:&lt;ul&gt;
				&lt;li&gt;format=&quot;format_string&quot;&lt;/li&gt;
				&lt;/ul&gt;&lt;br&gt;</help>
		</parameter>
		<frame caption="Date / time selection">
			<parameter key="DATETIME" type="datetime">
				<help>Date and time in default ISO formatting.</help>
			</parameter>
			<parameter key="TIME" type="datetime" format="hh:mm:ss" default="12:00:00">
				<help>Time only via &lt;code&gt;format="hh:mm:ss"&lt;/code&gt;.</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>Format strings can be anything Qt recognizes, default is ISO: &lt;code&gt;yyyy-MM-ddThh:mm:ss&lt;/code&gt;</help>
			</parameter>
		</frame>
		<reference name="TOC_LINK"/>
	</section>

	<!-- FILEPATH -->

	<section name="Filepath" color="sl_cyan">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;File input&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>A &lt;b&gt;&amp;lt;file&amp;gt;&lt;/b&gt; resp. &lt;b&gt;&amp;lt;path&amp;gt;&lt;/b&gt; panel has the following options:&lt;ul&gt;
				&lt;li&gt;Calling it &lt;code&gt;file&lt;/code&gt; or &lt;code&gt;path&lt;/code&gt; will allow to either choose a file or a directory.&lt;/li&gt;
				&lt;li&gt;When the optional &lt;code&gt;mode=&quot;input/output&quot;&lt;/code&gt; attribute is given, a few more checks are enabled about the file (e. g. an input file should exist).&lt;/li&gt;
				&lt;li&gt;Remember that these are warnings only, and the INI file will save normally.&lt;/li&gt;
				&lt;li&gt;You can supply &lt;code&gt;&amp;lt;option extension=&quot;File type (*.ext)/&amp;gt;&quot;&lt;/code&gt; child nodes to filter for these file extensions.&lt;/li&gt;
				&lt;/ul&gt;&lt;br&gt;</help>
		</parameter>
		<frame caption="File input">
			<parameter key="INPUT_FILE" type="file" mode="input" default="default.txt">
				<help>&lt;code&gt;type=&quot;file&quot; mode=&quot;input&quot; default=&quot;default.txt&quot;&lt;/code&gt;</help>
			</parameter>
			<parameter key="FILE_INPUT" label="An input file with label:" type="file" mode="input" optional="false">
				<help>&lt;code&gt;type=&quot;file&quot; mode=&quot;input&quot; optional=&quot;false&quot;&lt;/code&gt;</help>
			</parameter>
			<parmeter key="OUTPUT_PATH" type="path" mode="output"/>
			<parameter key="FILE_OUTPUT" type="file" mode="output">
				<option extension="HTML files (*.html *.htm)"/>
				<option extension="Text Files (*.log *.txt *.dat)"/>
				<help>&amp;lt;parameter key=&quot;FILE_OUTPUT&quot; type=&quot;file&quot; mode=&quot;output&quot;&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;option extension=&quot;HTML files (*.html *.htm)&quot;/&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;option extension=&quot;Text Files (*.log *.txt *.dat)&quot;/&amp;gt;</help>
			</parameter>
		</frame>
		<reference name="TOC_LINK"/>
	</section>

	<!-- NUMBER -->

	<section name="Number" color="sl_cyan">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Numeric input&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>A &lt;b&gt;&amp;lt;number&amp;gt;&lt;/b&gt; panel has the following options:&lt;ul&gt;
				&lt;li&gt;format=&quot;integer/integer+/decimal&quot;&lt;/li&gt;
				&lt;li&gt;&lt;code&gt;min, max&lt;/code&gt; for minimum and maximum of the value&lt;/li&gt;
				&lt;li&gt;&lt;code&gt;sign=&quot;true&quot;&lt;/code&gt; to always show the sign of the number&lt;/li&gt;
				&lt;li&gt;&lt;code&gt;unit=&quot;my_unit&quot;&lt;/code&gt; to display a unit next to the number&lt;/li&gt;
				&lt;li&gt;&lt;code&gt;notoggle=&quot;true&quot;&lt;/code&gt; to hide the toggle button for expression evaluation&lt;/li&gt;
				&lt;li&gt;&lt;code&gt;wrap=&quot;true&quot;&lt;/code&gt; to have the arrow buttons wrap around the limits&lt;/li&gt;
				&lt;li&gt;If you set a valid expression as default value, the panel will start in this state&lt;/li&gt;
				&lt;/ul&gt;&lt;br&gt;</help>
		</parameter>
		<parameter key="INTEGER" type="number" format="integer"/>
		<parameter key="POSITIVE_INTEGER" type="number" format="integer+">
			<help>&lt;code&gt;type=&quot;number&quot; format=&quot;integer+&quot;&lt;/code&gt;</help>
		</parameter>
		<parameter key="FLOATING_POINT" type="number" format="decimal"/>
		<parameter key="EXPRESSION" type="number" default="${{60*60*24}}"/>
		<parameter key="LIMIT_INTEGER" label="Integer with limits and circular wrapping:" type="number" format="integer" min="12" max="24" wrap="true">
			<help>&lt;code&gt;label=&quot;Integer...&quot; type=&quot;number&quot; format=&quot;integer&quot; min=&quot;12&quot; max=&quot;24&quot; wrap=&quot;true&quot;&lt;/code&gt;</help>
		</parameter>
		<parameter key="ANNOTATED_DOUBLE" sign="true" unit="days" precision="1" type="number" default="1.5" notoggle="true"/>
		<reference name="TOC_LINK"/>
	</section>


	<!-- TEXTFIELD -->

	<section name="Text" color="sl_cyan">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Free text input&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>Text panels display plain text, and they optionally perform some syntax checking. Always enabled are checks against specific syntax for (arithmetic) expressions, but you can supply your own regular expression also, as well as check against coordinates. Depending on the type, the validity of the expression is denoted with an icon or button that appears.&lt;br&gt;</help>
		</parameter>
		<frame caption="Basic Text panel example" color="sl_blue">
			<parameter key="EXP_NAME" type="text" size="large" placeholder="&lt;experiment name&gt;">
				<help>Enter the name of your experiment.</help>
			</parameter>
		</frame>
		<frame caption="Options">
			<parameter type="helptext" wrap="true">
				<help>&lt;b&gt;Basic options&lt;/b&gt;:&lt;ul&gt;
				&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;size&lt;/strong&gt;&lt;/font&gt;: Horizontal size hint for the panel. Can be: "&lt;font color="#dc322f"&gt;small&lt;/font&gt;", "&lt;font color="#dc322f"&gt;medium&lt;/font&gt;" (default), or "&lt;font color="#dc322f"&gt;large&lt;/font&gt;".
				&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;validate&lt;/strong&gt;&lt;/font&gt;: Regular expression for input validation. Can be: any regular expression to match the text against or "&lt;font color="#dc322f"&gt;coordinates&lt;/font&gt;" to match geographic lat/lon coordinates.&lt;/li&gt;
				&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;placeholder&lt;/strong&gt;&lt;/font&gt;: Placeholder text to display if empty. Can be: any text.&lt;/li&gt;
				&lt;/ul&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;b&gt;Advanced options&lt;/b&gt;:&lt;ul&gt;
				&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;lenient&lt;/strong&gt;&lt;/font&gt;: This settings disables the pre- and postfix for arithmetic expressions and a formula can be entered without them (e. g. "&lt;code&gt;sin(pi)&lt;/code&gt;" instead of "&lt;code&gt;${{sin(pi)}}&lt;/code&gt;"). Can be: "&lt;font color="#dc322f"&gt;true&lt;/font&gt;" or "&lt;font color="#dc322f"&gt;false&lt;/font&gt;" (default).&lt;/li&gt;
					&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;substitution&lt;/strong&gt;&lt;/font&gt;: If your code knows symbols which the expression parser does not, you can "eliminate" these with substitutions. Substitutions are not given as options to the main panel node, but as separate &lt;font color="#dc322f"&gt;&amp;lt;substitution&amp;gt;...&amp;lt;/substitution&amp;gt;&lt;/font&gt; child nodes. These then have the &lt;font color="#859900"&gt;&lt;strong&gt;find&lt;/strong&gt;&lt;/font&gt; and &lt;font color="#859900"&gt;&lt;strong&gt;replace&lt;/strong&gt;&lt;/font&gt; options. See the snippets for an example.&lt;/li&gt;
				&lt;/ul&gt;</help>
			</parameter>
			<reference name="OPTIONS_GENERIC"/>
			<parameter type="helptext" wrap="true">
				<help>&lt;b&gt;Notes&lt;/b&gt;:
					&lt;ul&gt;&lt;li&gt;A text field will automatically parse for arithmetic expressions, environment variables and INI keys that are currently loaded.&lt;/li&gt;
				&lt;/ul&gt;</help>
			</parameter>
		</frame>
		<frame caption="Examples">
			<parameter key="SHORT_TEXT" type="text" size="small" default="WFJ2">
				<help>The &lt;font color="#859900"&gt;size&lt;/font&gt; option is used to display some very small piece of text, like a station ID.</help>
			</parameter>
			<parameter key="ENVIRONMENT_VARIABLE" type="text" default="${env:USER}">
				<help>Without needing to set any options a Text panel will check for environment variables denoted by the &lt;code&gt;${env:VAR}&lt;/code&gt; syntax. An icon denotes whether the variable has been found.</help>
			</parameter>
			<parameter key="FORMULA" label="Enter arithmetic expression:" type="text" size="large" default="${{pi+sin(10)}}">
				<help>Arithmetic expressions are checked via the &lt;code&gt;${{EXPRESSION}}&lt;/code&gt; syntax. An icon shows if the expression is parsable or not.</help>
			</parameter>
			<parameter key="INVALID_FORMULA" label="An invalid formula:" type="text" size="large" default="${{20+x-}}">
				<substitution find="x" replace="1"/>
				<help>This expression is currently ill-formatted. Remove the last &lt;code&gt;-&lt;/code&gt; or add a number afterwards to make it syntactically valid.</help>
			</parameter>
			<parameter key="FREE_FORMULA" label="Formula without pre/postfix:" type="text" size="large" lenient="true" default="60*60*24">
				<help>If &lt;font color="#859900"&gt;lenient&lt;/font&gt; is set to "&lt;font color="#dc322f"&gt;true&lt;/font&gt;" then to parse for arithmetic expressions does not need the usual "&lt;code&gt;${{...}}&lt;/code&gt;" marker.</help>
			</parameter>
			<parameter key="COORDINATES" type="text" default="latlon(46.81206, 9.84721)" validate="coordinates">
				<help>The &lt;font color="#859900"&gt;validate&lt;/font&gt; option is set to "&lt;font color="#dc322f"&gt;coordinates&lt;/font&gt;" to parse for geographic coordinates. If found, a little globe leads to an online map.</help>
			</parameter>
			<parameter key="INI_KEY_VALIDATION" label="Look for an application's INI key:" type="text" validate="^(\w+)(\d+)$" default="${SECTION::KEY_NAME}">
				<help>Loaded applications can reference INI keys by their sections and keys. An icon shows if they are indeed available.</help>
			</parameter>
			<parameter key="PLACEHOLDER_TEXT" label="Display placeholder for empty text:" type="text" placeholder="&lt;station ID&gt;">
				<help>Use the &lt;font color="#859900"&gt;placeholder&lt;/font&gt; option to set a text that is displayed if the text field is empty. Consult the &lt;a href=&quot;dev://Symbols&quot;&gt;symbols table&lt;/a&gt; for how to input special characters (like &amp;lt;&amp;gt;).</help>
			</parameter>
		</frame>
		<frame caption="Snippets" key="dev-snippets">
			<parameter type="copytext" height="3" syntax="xml">
				<text>&lt;parameter key="YOUR_KEY" type="text"&gt;
	&lt;help&gt;YOUR_HELP_TEXT&lt;/help&gt;
&lt;/parameter&gt;</text>
				<help>A simple text field with help text.</help>
			</parameter>
			<parameter type="copytext" height="3" syntax="xml">
				<text>&lt;parameter key="YOUR_KEY" type="text" validate="coordinates"&gt;
	&lt;help&gt;YOUR_HELP_TEXT&lt;/help&gt;
&lt;/parameter&gt;</text>
				<help>A text field that validates against coordinates.</help>
			</parameter>
			<parameter type="copytext" height="3" syntax="xml">
				<text>&lt;parameter key="YOUR_KEY" type="text" size="YOUR_SIZE" validate="YOUR_REGEX" placeholder="YOUR_PLACEHOLDER" lenient="YOUR_BOOLEAN" default="YOUR_DEFAULT"&gt;
	&lt;help&gt;YOUR_HELP_TEXT&lt;/help&gt;
&lt;/parameter&gt;</text>
				<help>A text field with most of its options.</help>
			</parameter>
			<parameter type="copytext" height="4" syntax="xml">
				<text>&lt;parameter key="@::OBS_MODEL_FUNCTION" label="Observation model Func:" type="text" default="xx" lenient="true" optional="false"&gt;
	&lt;substitution find="xx|kk|tt|x_km1" replace="1"/&gt;
	&lt;substitution find="meteo\(\w*\)" replace="1"/&gt;
&lt;/parameter&gt;</text>
				<help>This is a real example of a key that is used in MeteoIO which is meant to input a formula. Expression markers are turned off with the "&lt;code&gt;lenient&lt;/code&gt;" option. Furthermore two substitutions are given as regular expressions. The filter using this key for example knows the variable "&lt;code&gt;xx&lt;/code&gt;" - so for syntax checking it is simply replaced by "&lt;code&gt;1&lt;/code&gt;". The same is done for meteo parameters, which the filter can fetch from a certain notation. In effect, this Text panel will for example style the expression "&lt;code&gt;meteo(TA) + sin(xx)&lt;/code&gt;" as valid.</help>
			</parameter>
		</frame>
		<reference name="TOC_LINK"/>
	</section>

	<!-- REPLICATOR -->

	<section name="Replicator" color="sl_cyan">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Replicators&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>A &lt;code&gt;&lt;b&gt;&amp;lt;replicator&amp;gt;&lt;/b&gt;&lt;/code&gt; panel can enumerate an INI key. For example, it can construct &lt;code&gt;STATION1, STATION2, ...&lt;/code&gt; from the INI key &lt;code&gt;STATION#&lt;/code&gt;.&lt;br&gt;</help>
		</parameter>
		<frame caption="Replicator">
			<parameter type="helptext" wrap="true">
				<help>A replicator is activated by taking any other panel and adding the &lt;code&gt;&lt;b&gt;replicate=&quot;true&quot;&lt;/b&gt;&lt;/code&gt; attribute.&lt;br&gt;</help>
			</parameter>
			<parameter key="STATION#" type="text" replicate="true">
				<help>&amp;lt;parameter key=&quot;STATION#&quot; type=&quot;text&quot; replicate=&quot;true&quot;/&amp;gt;</help>
				<rephelp>Add station</rephelp>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>Note that due to being in the replicated content's namespace, for the main Replicator help ("Add station") the reserved help tag &lt;b&gt;&amp;lt;rephelp&amp;gt;&lt;/b&gt; must be used.</help>
			</parameter>
		</frame>
		<frame caption="Replicators as grouping elements">
			<parameter type="helptext" wrap="true">
				<help>With an empty key, the Replicator acts as interactive GUI element to multiply a group of settings.</help>
			</parameter>
			<parameter key="KEY#_VALUE#" label="Copy key:" type="text" replicate="true">
				<help>Add enumerated key. Also, since this Replicator is not nested, it will replace both occurrences of '#'.</help>
			</parameter>
		</frame>
		<reference name="TOC_LINK"/>
	</section>

	<!-- SELECTOR -->

	<section name="Selector" color="sl_cyan">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Selectors&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>Sometimes, you need to transport a parameter name or other text to the INI key. For example, you could need to set the INI key &lt;code&gt;TA::FILTER1 = MIN&lt;/code&gt;. We don't want an extra filter for each meteo parameter so we can use a shortcut for it: &lt;code&gt;%::FILTER1&lt;/code&gt;. This is what a &lt;code&gt;&lt;b&gt;&amp;lt;selector&amp;gt;&lt;/b&gt;&lt;/code&gt; does. If you don't disable it the user can also enter free text.&lt;br&gt;</help>
		</parameter>
		<frame caption="Parameter selector">
			<parameter label="FILTER" type="selector">
				<parameter key="%::FILTER" type="alternative" template="true">
					<o value="MIN"/>
					<o value="MAX"/>
				</parameter>
				<option value="TA"/>
				<option value="RH"/>
			</parameter>
		</frame>
		<frame caption="Source code" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>A &lt;code&gt;Selector&lt;/code&gt; panel has the following syntax. In a list of &lt;code&gt;option&lt;/code&gt; tags you supply the texts that the &lt;code&gt;Selector&lt;/code&gt; should offer. Additionally, to actually activate a panel for the parameters you must give the &lt;code&gt;&lt;b&gt;template=&quot;true&quot;&lt;/b&gt;&lt;/code&gt; attribute for the panel you want to construct with the parameter:&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;code&gt;&amp;lt;parameter key=&quot;FILTER&quot; type=&quot;selector&quot;&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;option value=&quot;TA&quot;/&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;option value=&quot;RH&quot;/&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;parameter key=&quot;%::FILTER&quot; type=&quot;alternative&quot; template=&quot;true&quot;&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;o value=&quot;MIN&quot;/&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;o value=&quot;MAX&quot;/&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/parameter&amp;gt;&lt;br&gt;
					&amp;lt;/parameter&amp;gt;&lt;/code&gt;</help>
			</parameter>
		</frame>
		<frame>
			<parameter label="FILTER" type="selector" editable="false">
				<option value="TA"/>
				<option value="RH"/>
				<parameter key="%::FILTER" type="alternative" template="true">
					<o value="MIN"/>
					<o value="MAX"/>
				</parameter>
				<help>&lt;code&gt;key=&quot;FILTER&quot; type=&quot;selector&quot; editable=&quot;false&quot;&lt;/code&gt;</help>
			</parameter>
			<parameter label="TEXTMODE" label="No dropdown, mandatory:" type="selector">
				<parameter key="%::TEXTMODE" type="text" optional="false" template="true">
					<help>If no &amp;lt;option&amp;&gt; dropdown values are given, a simple text field is displayed.</help>
				</parameter>
			</parameter>
			<parameter label="TEXTMODE2" label="Placeholder text:" type="selector" placeholder="&lt;ID&gt;">
				<parameter key="%::TEXTMODE2" type="text" template="true">
					<help>&lt;code&gt;type=&quot;selector&quot; placeholder=&quot;true&quot;/code&gt;</help>
				</parameter>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>Note: In the "help" tags of a Selector's child panels you can use the string ${text} to substitute for the current Selector text/parameter.</help>
			</parameter>
		</frame>
		<reference name="TOC_LINK"/>
	</section>
	
	<!-- COPYTEXT -->

	<section name="Copytext" color="sl_cyan">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Text snippets to copy&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>Copytext panels offer a convenient way to present small and large pieces of text the user can copy easily. They are used extensively for Inishell XML snippets for which syntax highlighting is available.&lt;br&gt;</help>
		</parameter>
		<frame caption="Basic Copytext panel example" color="sl_blue">
			<parameter type="copytext" height="3">
				<text>Here is some text
that is easily copied
with the button below.</text>
			<help>A Copytext panel with multiple text lines.</help>
			</parameter>
		</frame>
		<frame caption="Options">
			<parameter type="helptext" wrap="true">
				<help>&lt;b&gt;Basic options&lt;/b&gt;:&lt;ul&gt;
				&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;text&lt;/strong&gt;&lt;/font&gt;: The text to display is not given as an attribute, but in a separate &lt;font color="#dc322f"&gt;&amp;lt;text&amp;gt;...&amp;lt;/text&amp;gt;&lt;/font&gt; child node. See the snippets below for examples. Can be: any text.&lt;/li&gt;
				&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;height&lt;/strong&gt;&lt;/font&gt;: Number of lines the text field will show. Can be: any integral number.&lt;/li&gt;
				&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;size&lt;/strong&gt;&lt;/font&gt;: Horizontal size hint for the panel. Only available when &lt;code&gt;height&lt;/code&gt; is set to &lt;code&gt;1&lt;/code&gt;. Can be: "&lt;font color="#dc322f"&gt;small&lt;/font&gt;", "&lt;font color="#dc322f"&gt;medium&lt;/font&gt;" (default), or "&lt;font color="#dc322f"&gt;large&lt;/font&gt;".
				&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;wrap&lt;/strong&gt;&lt;/font&gt;: Enable or disable line wrapping. Can be: "&lt;font color="#dc322f"&gt;true&lt;/font&gt;" or "&lt;font color="#dc322f"&gt;false&lt;/font&gt;" (default).&lt;/li&gt;
				&lt;/ul&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;b&gt;Advanced options&lt;/b&gt;:&lt;ul&gt;
				&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;syntax&lt;/strong&gt;&lt;/font&gt;: Copytexts offer syntax highlighting. Can be: "&lt;font color="#dc322f"&gt;xml&lt;/font&gt;", "&lt;font color="#dc322f"&gt;ini&lt;/font&gt;" or "&lt;font color="#dc322f"&gt;off&lt;/font&gt;" (default).&lt;/li&gt;
				&lt;/ul&gt;</help>
			</parameter>
			<reference name="OPTIONS_GENERIC_NOVALUE"/>
		</frame>
		<frame caption="Examples">
			<parameter type="copytext" size="small" height="1">
				<text>WFJ2</text>
				<help>The &lt;font color="#859900"&gt;height&lt;/font&gt; option is set to "&lt;code&gt;1&lt;/code&gt;" to display a small piece of text.</help>
			</parameter>
			<parameter type="copytext" height="1">
				<text>snowpack -c /home/snow/simulations/my_ini.ini -e 2021-05-31T12:00:00</text>
				<help>A longer piece of text - in this case a system command to copy - will show a scroll bar.</help>
			</parameter>
			<parameter type="copytext" height="1" size="large">
				<text>snowpack -c /home/snow/simulations/my_ini.ini -e 2021-05-31T12:00:00</text>
				<help>In this case &lt;font color="#859900"&gt;size&lt;/font&gt; is set to "&lt;font color="#dc322f"&gt;large&lt;/font&gt;" and &lt;font color="#859900"&gt;height&lt;/font&gt; to "&lt;code&gt;1&lt;/code&gt;" to display the full text.</help>
			</parameter>
			<parameter type="copytext" height="3" syntax="xml">
				<text>&lt;inishell_config application="my_experiment"&gt;
	&lt;parameter key="MY_TEXT" type="text" default="some text to display"/&gt;
&lt;/inishell_config&gt;</text>
				<help>The &lt;font color="#859900"&gt;syntax&lt;/font&gt; option is set to "&lt;font color="#dc322f"&gt;xml&lt;/font&gt;" for XML syntax highlighting. &lt;font color="#859900"&gt;height&lt;/font&gt; is set to "&lt;code&gt;3&lt;/code&gt;" to display multi-line text.</help>
			</parameter>
			<parameter type="copytext" height="2" syntax="ini">
				<text>[General]
BUFFER_SIZE = 370</text>
				<help>The &lt;font color="#859900"&gt;syntax&lt;/font&gt; option is set to "&lt;font color="#dc322f"&gt;ini&lt;/font&gt;" for INI syntax highlighting.</help>
			</parameter>
		</frame>
		<frame caption="Snippets" key="dev-snippets">
			<parameter type="copytext" height="4" syntax="xml">
				<text>&lt;parameter type="copytext" height="1" size="small"&gt;
	&lt;text&gt;YOUR_TEXT_LINE&lt;/help&gt;
	&lt;help&gt;YOUR_HELP_TEXT&lt;/help&gt;
&lt;/parameter&gt;</text>
				<help>A small one-liner of copyable text.</help>
			</parameter>
			<parameter type="copytext" syntax="xml">
				<text>&lt;parameter type="copytext"&gt;
	&lt;text&gt;YOUR_FIRST_TEXT_LINE
YOUR_SECOND_TEXT_LINE
YOUR_THIRD_TEXT_LINE&lt;/text&gt;
	&lt;help&gt;YOUR_HELP_TEXT&lt;/help&gt;
&lt;/parameter&gt;</text>
				<help>A multi-line Copytext with help.</help>
			</parameter>
			<parameter type="copytext" height="YOUR_HEIGHT" size="YOUR_SIZE" wrap="YOUR_BOOLEAN" syntax="xml">
				<text>&lt;parameter type="copytext" height="YOUR_HEIGHT" size="YOUR_SIZE" wrap="YOUR_BOOLEAN" syntax="YOUR_SYNTAX"&gt;
	&lt;text&gt;YOUR_FIRST_TEXT_LINE
YOUR_SECOND_TEXT_LINE
YOUR_THIRD_TEXT_LINE&lt;/text&gt;
	&lt;help&gt;YOUR_HELP_TEXT&lt;/help&gt;
&lt;/parameter&gt;</text>
				<help>A multi-line Copytext with most of its options set and a help text.</help>
			</parameter>
		</frame>
		<reference name="TOC_LINK"/>
	</section>

	<!-- IMAGE -->

	<section name="Image" color="sl_cyan">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Display images&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>The Image panel can be used to place images onto the canvas.&lt;br&gt;</help>
		</parameter>
		<frame caption="Basic Image panel example" color="sl_blue">
			<parameter type="image" path=":icons/inishell_32.png" caption="INIshell">
				<help>An image is displayed with its caption.</help>
			</parameter>
		</frame>
		<frame caption="Options">
			<parameter type="helptext" wrap="true">
				<help>&lt;b&gt;Basic options&lt;/b&gt;:&lt;ul&gt;
				&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;path&lt;/strong&gt;&lt;/font&gt;: Path to your image file. Can be: any file path. If the path is relative, the including XML's parent folder will be prepended.&lt;/li&gt;
				&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;caption&lt;/strong&gt;&lt;/font&gt;: Image caption that is displayed below the image (in addition to the help text). Can be: any text.&lt;/li&gt;
				&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;url&lt;/strong&gt;&lt;/font&gt;: A click on the image opens this URL.&lt;/li&gt;
				&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;align&lt;/strong&gt;&lt;/font&gt;: Horizontal alignment of the image. Can be: "&lt;font color="#dc322f"&gt;left&lt;/font&gt;" (default), "&lt;font color="#dc322f"&gt;center&lt;/font&gt;" or "&lt;font color="#dc322f"&gt;right&lt;/font&gt;".&lt;/li&gt;
				&lt;/ul&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;b&gt;Advanced options&lt;/b&gt;:&lt;ul&gt;
				&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;border&lt;/strong&gt;&lt;/font&gt;: Draw a border around the image? Can be: "&lt;font color="#dc322f"&gt;true&lt;/font&gt;" (default) or "&lt;font color="#dc322f"&gt;false&lt;/font&gt;".&lt;/li&gt;
				&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;scroll&lt;/strong&gt;&lt;/font&gt;: Select whether the image is displayed in full size, or whether it is embedded into a scrollable area that fits the current canvas size. Can be: "&lt;font color="#dc322f"&gt;true&lt;/font&gt;" (default) or "&lt;font color="#dc322f"&gt;false&lt;/font&gt;".&lt;/li&gt;
				&lt;/ul&gt;</help>
			</parameter>
			<reference name="OPTIONS_GENERIC_NOVALUE"/>
		</frame>
		<frame caption="Examples">
			<parameter type="helptext" wrap="true">
				<help>Inishell's icon in an Image panel with &lt;font color="#859900"&gt;align&lt;/font&gt; set to "&lt;font color="#dc322f"&gt;center&lt;/font&gt;", &lt;font color="#859900"&gt;border&lt;/font&gt; set to "&lt;font color="#dc322f"&gt;false&lt;/font&gt;" and no help text or caption, but with &lt;font color="#859900"&gt;url&lt;/font&gt; set to a web link:</help>
			</parameter>
			<parameter type="image" path=":icons/inishell_192.ico" border="false" align="center" url="https://gitlabext.wsl.ch/snow-models/inishell"/>
			<parameter type="horizontal"> <!-- use a grid to reduce available canvas size -->
				<option>
					<parameter type="image" path=":icons/slf.svg">
						<help>Scrollable image</help>
					</parameter>
				</option>
				<option>
					<parameter type="image" path=":icons/slf.svg" scroll="false">
						<help>Image that is not scrollable</help>
					</parameter>
				</option>
				<help>Images that are larger than the currently available context can either be scrollable or not, controlled by the &lt;font color="#859900"&gt;scroll&lt;/font&gt; option.</help>
			</parameter>
		</frame>
		<frame caption="Snippets" key="dev-snippets">
			<parameter type="copytext" height="3" syntax="xml">
				<text>&lt;parameter type="image" path="YOUR_FILE_PATH" caption="YOUR_IMAGE_CAPTION"&gt;
	&lt;help&gt;YOUR_HELP_TEXT&lt;/help&gt;
&lt;/parameter&gt;</text>
				<help>Image with an image caption and help text.</help>
			</parameter>
			<parameter type="copytext" height="1" size="large" syntax="xml">
				<text>&lt;parameter type="image" path="YOUR_FILE_PATH" align="center" border="false"/&gt;</text>
				<help>A centered image without border or help text.</help>
			</parameter>
			<parameter type="copytext" height="3" syntax="xml">
				<text>&lt;parameter type="image" path="YOUR_FILE_PATH" align="YOUR_ALIGNMENT" border="YOUR_BOOLEAN" scroll="YOUR_BOOLEAN" caption="YOUR_IMAGE_CAPTION"&gt;
	&lt;help&gt;YOUR_HELP_TEXT&lt;/help&gt;
&lt;/parameter&gt;</text>
				<help>An image panel with most of its options set.</help>
			</parameter>
		</frame>
		<reference name="TOC_LINK"/>
	</section>

	<!-- RASTERS -->

	<section name="Rasters" color="sl_blue">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Rasters&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>You have the &lt;code&gt;&lt;b&gt;&amp;lt;horizontal&amp;gt;&lt;/b&gt;&lt;/code&gt; and the &lt;code&gt;&lt;b&gt;&amp;lt;grid&amp;gt;&lt;/b&gt;&lt;/code&gt; identifiers at your disposal to create rastered layouts. This is most useful if a panel such as an Alternative panel displays child panels that should not use up too much space.&lt;br&gt;</help>
		</parameter>
		<parameter type="label" label="Horizontal layout of 3 items:" color="black"/>
		<parameter type="horizontal">
			<o><frame color="black" background_color="black"/></o>
			<o><frame color="black" background_color="black"/></o>
			<o><frame color="black" background_color="black"/></o>
		</parameter>
		<parameter type="label" label="Regular 2x2 grid:" color="sl_red"/>
		<parameter type="grid">
			<option row="1" column="1">
				<frame color="sl_red" background_color="sl_red"/>
			</option>
			<o r="1" c="2"><frame color="sl_red" background_color="sl_red"/></o>
			<o r="2" c="1"><frame color="sl_red" background_color="sl_red"/></o>
			<o r="2" c="2"><frame color="sl_red" background_color="sl_red"/></o>
		</parameter>
		<parameter type="label" label="Irregular grid:" color="sl_green"/>
		<parameter type="grid">
			<o r="1" c="2"><frame color="sl_green" background_color="sl_green"/></o>
			<o r="2" c="1"><frame color="sl_green" background_color="sl_green"/></o>
			<o r="2" c="2"><frame color="sl_green" background_color="sl_green"/></o>
		</parameter>
		<parameter type="label" label="Spanning elements:" color="sl_cyan"/>
		<parameter type="grid">
			<o r="1" c="1"><frame color="sl_cyan" background_color="sl_cyan"/></o>
			<o r="1" c="2"><frame color="sl_cyan" background_color="sl_cyan"/></o>
			<option row="2" column="1" colspan="2">
				<parameter type="helptext">
					<help>This is a helptext that spans two columns. The spanning only takes action if the space is actually needed.&lt;br&gt;</help>
				</parameter>
			</option>
		</parameter>
		<frame caption="Options for all panels" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>The following options work with most input panels:&lt;ul&gt;
					&lt;li&gt;You can use &lt;b&gt;&lt;code&gt;&amp;lt;o&amp;gt;&amp;lt;/o&amp;gt;&lt;/code&gt;&lt;/b&gt; and &lt;b&gt;&lt;code&gt;&amp;lt;h&amp;gt;&amp;lt;/h&amp;gt;&lt;/code&gt;&lt;/b&gt; tags in many panels with options as a shortcut. This is mostly useful for gridded layouts; check the source for the grids above to see more shortcuts.&lt;/li&gt;
					&lt;/ul&gt;</help>
			</parameter>
			<parameter type="spacer" height="100"/>
			<parameter type="helptext" wrap="true">
				<help>There is also a &lt;b&gt;spacer&lt;/b&gt; element available with the &lt;code&gt;width&lt;/code&gt; and &lt;code&gt;height&lt;/code&gt; attributes to put some space between elements, like it was done here.</help>
			</parameter>
		</frame>
		<frame caption="Substitutions" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>You can use the &lt;code&gt;@&lt;/code&gt; sign to reference the grid's key:</help>
			</parameter>
			<parameter key="FILTER" type="horizontal">
				<option>
					<parameter key="@::MIN" type="number">
						<help>&lt;code&gt;&amp;lt;parameter key=&quot;FILTER&quot; type=&quot;horizontal&quot;&amp;gt;&lt;br&gt;
							&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;o&amp;gt;&amp;lt;parameter key=&quot;@::MIN&quot; type=&quot;number&quot;&amp;gt;&amp;lt;/parameter&amp;gt;&amp;lt;/o&amp;gt;&lt;br&gt;
							&amp;lt;/parameter&amp;gt;&lt;/code&gt;</help>
					</parameter>
				</option>
			</parameter>
		</frame>
		<reference name="TOC_LINK"/>
	</section>

	<!-- STYLE -->

	<section name="Style" color="sl_blue">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Text styling&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>Help texts and labels can be styled in various ways. The  following attributes are often available: &lt;code&gt;font, font_size, bold, italic, color, underline, background_color&lt;/code&gt;. If there is a second element to style, for example the caption of a check box (in addition to the label), this is referenced with &lt;code&gt;caption_color, caption_font, ...&lt;/code&gt;. A list of extra named colors is available in &lt;i&gt;src/main/colors.cc&lt;/i&gt; that is derived from the solarized palette.&lt;br&gt;</help>
		</parameter>
		<frame caption="Text styling" color="sl_blue">
			<parameter label="BOLD_KEY" type="text" bold="true">
				<help>&lt;code&gt;&amp;lt;parameter label=&quot;BOLD_KEY&quot; type=&quot;label&quot; bold=&quot;true&quot;&amp;gt;&lt;/code&gt;</help>
			</parameter>
			<parameter label="ITALIC_KEY" type="label" italic="true"/>
			<parameter label="COLORED_KEY" type="label" color="sl_red"/>
			<parameter label="UNDERLINED_KEY" type="label" underline="true"/>
			<parameter label="A_DIFFERENT_FONT" type="label" font="Times New Roman"/>
			<parameter type="spacer" height="50"/>
			<parameter key="CHECKBOX" type="checkbox" color="darkgreen" caption="enabled" caption_color="#00adad">
				<help>&lt;code&gt;&amp;lt;parameter key=&quot;CHECKBOX&quot; type=&quot;checkbox&quot; color=&quot;darkgreen&quot; caption=&quot;enabled&quot; caption_color=&quot;#00adad&quot;/&amp;gt;&lt;/code&gt;</help>
			</parameter>
			<parameter type="spacer" height="50"/>
			<frame key="yellow" caption="Colored frames" color="sl_red">
				<frame color="black" background_color="sl_yellow">
					<parameter key="PROMINENT_KEY" type="text"/>
				</frame>
				<parameter type="horizontal">
					<o><frame key="red" color="red"/></o>
					<o><frame key="blue" color="lightblue"/></o>
					<o><frame key="magenta" background_color="magenta"/></o>
					<o><frame key="green" background_color="green"/></o>
				</parameter>
			</frame>
			<parameter type="spacer" height="50"/>
			<parameter type="horizontal">
				<option>
					<parameter key="CHECKLIST_ITEMS" type="checklist" color="darkred">
						<option value="an item" bold="true"/>
						<option value="another item" italic="true"/>
						<option value="third item" color="red"/>
					</parameter>
				</option>
				<o><parameter type="spacer" w="50"/></o>
				<option>
					<parameter key="CHOICE" type="choice" color="darkred">
						<option value="check one" italic="true"/>
						<option value="check two" color="sl_blue"/>
						<option value="check three" underline="true"/>
					</parameter>
				</option>
				<o><parameter type="spacer" w="50"/></o>
				<option>
					<parameter key="ALTERNATIVE_ITEMS" type="alternative" color="darkred">
						<option value="first option" bold="true"/>
						<option value="second option" italic="true"/>
						<option value="third option" color="red"/>
					</parameter>
				</option>
			</parameter>
		</frame>
		<parameter type="helptext" wrap="true">
			<help>&lt;br&gt;Plus, within help texts and labels you can use HTML styling in the text itself like it is done throughout this document. Just watch out that you usually need to escape XML characters:&lt;br&gt;</help>
		</parameter>
		<frame caption="Color scheme">
			<parameter type="helptext" wrap="true">
				<help>Inishell relies on the &lt;a href=&quot;https://ethanschoonover.com/solarized/&quot;&gt;Solarized color scheme&lt;/a&gt; to ensure good visibility across different end user OS color settings.</help>
			</parameter>
			<reference name="SOLARIZED_SCHEME"/>
			<parameter type="helptext" wrap="true">
				<help>Some aliases are available for these colors within Inishell like "&lt;code&gt;normal&lt;/code&gt;", "&lt;code&gt;info&lt;/code&gt;", "&lt;code&gt;warning&lt;/code&gt;", "&lt;code&gt;error&lt;/code&gt;", ... consult the file "main/colors.cc" for an up-to-date list but be aware that they may change value depending on the user's color scheme.</help>
			</parameter>
		</frame>
		<frame caption="HTML styling">
			<parameter type="label" label="&lt;h4&gt;This is a &amp;lt;h4&amp;gt; header given in a Label&lt;/h4&lt;br&gt;and a &amp;lt;hr&amp;gt; line below&lt;br&gt;&lt;hr&gt;"/>
		</frame>
		<reference name="TOC_LINK"/>
	</section>

	<!-- WORKFLOW -->

	<section name="Workflow" color="sl_orange">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Workflow panel&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>See the user's guide under section &lt;font color=&quot;#4e81d4&quot;&gt;Configuring simulations&lt;/font&gt; for an introduction about the workflow panel. XML nodes within the parent &lt;code&gt;&amp;lt;workflow&amp;gt;&lt;/code&gt; node (must have exactly this name) are parsed with different available panels than for the main panel.&lt;br&gt;</help>
		</parameter>
		<frame caption="Structure" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>Somewhere in the XML document and its includes there must be one or more &lt;b&gt;&amp;lt;workflow&amp;gt;&lt;/b&gt; sections to add workflow panels. In there, you separate the workflow tabs by &lt;b&gt;&amp;lt;section&amp;gt;&lt;/b&gt; nodes, in which you can build &lt;b&gt;&amp;lt;element&amp;gt;&lt;/b&gt; nodes. Note that in order to remember that these sections have nothing to do with our INI sections, they have a &lt;code&gt;caption&lt;/code&gt; instead of a &lt;code&gt;name&lt;/code&gt;. The code in the next frame is a fully defined workflow tab.</help>
			</parameter>
		</frame>
		<frame caption="Buttons" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>A &lt;b&gt;button&lt;/b&gt; can have one or more system commands that it will run, specified in separate &lt;code&gt;&amp;lt;command&amp;gt;&lt;/code&gt; nodes:&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;code&gt;&amp;lt;workflow&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;section caption=&quot;My Workflow Panel&quot;&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;element caption=&quot;Run experiment&quot; type=&quot;button&quot;&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;command&amp;gt;snowpack -c %ini_wfj -e &lt;b&gt;%end_date_wfj&lt;/b&gt;&amp;lt;/command&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;command&amp;gt;setpath(&lt;b&gt;%meteo_out&lt;/b&gt;, simulations/example_simulation/output)&amp;lt;/command&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/element&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/section&amp;gt;&lt;br&gt;
					&amp;lt;/workflow&amp;gt;/code&gt;&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>A button can perform the following operations if put in a &lt;code&gt;command&lt;/code&gt;:&lt;ul&gt;
					&lt;li&gt;Run a system command like shown above&lt;/li&gt;
					&lt;li&gt;Open an URL in the browser with the following syntax: &lt;code&gt;openurl(https://www.slf.ch)&lt;/code&gt;&lt;/li&gt;
					&lt;li&gt;Click another button (e. g. for a &quot;Run all&quot; button) like so: &lt;code&gt;button(%button_id)&lt;/code&gt;&lt;/li&gt;
					&lt;li&gt;Navigate a &lt;code&gt;Path&lt;/code&gt; element (cf. the &quot;Path view&quot; segment) via &lt;code&gt;setpath(%element_id, path/to/simulation)&lt;/code&gt;&lt;/li&gt;
					&lt;li&gt;A button turns into a &quot;Stop process&quot; button when running a system command.&lt;/li&gt;
					&lt;/ul&gt;</help>
			</parameter>
		</frame>
		<frame caption="Text fields" color="sl_blue">
			<parameter type="label" label="Referencing elements:" underline="true"/>
			<parameter type="helptext" wrap="true">
				<help>Elements can be given a key to reference them. In the example above, we have referenced two other elements with the syntax &lt;code&gt;%id_of_element&lt;/code&gt;. The corresponding element to &lt;code&gt;ini_wfj&lt;/code&gt; could look like the following. See the provided Weißfluhjoch &lt;code&gt;workflow_wfj.xml&lt;/code&gt; for the full syntax.&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;code&gt;&amp;lt;element id=&quot;&lt;b&gt;ini_wfj&lt;/b&gt;&quot; type=&quot;text&quot; default=&quot;simulations/example_simulation/io_res5exp.ini&quot;/&amp;gt;&lt;/code&gt;</help>
			</parameter>
		</frame>
		<frame caption="Default arguments" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>As you can see above, you can supply default arguments for the elements you build.</help>
			</parameter>
		</frame>
		<frame caption="Substitutions" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>The following dynamic substitutions are available:</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;ul&gt;
					&lt;li&gt;&lt;code&gt;%element_id&lt;/code&gt; to reference another workflow panel element&lt;/li&gt;
					&lt;li&gt;&lt;code&gt;${inifile}&lt;/code&gt; for the INI file that is currently opened&lt;/li&gt;
					&lt;li&gt;&lt;code&gt;${key:my_ini_key}&lt;/code&gt; to reference currently known INI values&lt;/li&gt;
					&lt;/ul&gt;</help>
			</parameter>
		</frame>
		<frame caption="Date/time pickers" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>A date/time picker is avaiable via the &lt;code&gt;datetime&lt;/code&gt; identifier:</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&amp;lt;element id=&quot;&lt;b&gt;end_date_wfj&lt;/b&gt;&quot; type=&quot;datetime&quot; default=&quot;1986-12-25T18:16&quot;/&amp;gt;</help>
			</parameter>
		</frame>
		<frame caption="Path views" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>A specific folder can be set for which the contents are displayed in a folder view element called by the &lt;code&gt;path&lt;/code&gt; tag. You can either set a folder in the &lt;code&gt;path=&quot;...&quot;&lt;/code&gt; attribute, or the path can be set at runtime with a button (or you can leave it empty).&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;code&gt;&amp;lt;element type=&quot;path&quot; id=&quot;meteo_out&quot;/&amp;gt;&lt;/code&gt;&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>To change the directory to point to with a button click, use a button command like this:&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;code&gt;&amp;lt;command&amp;gt;setpath(&lt;b&gt;%meteo_out&lt;/b&gt;, simulations/example_simulation/output)&amp;lt;/command&amp;gt;&lt;/code&gt;</help>
			</parameter>
		</frame>
		<frame caption="Checkboxes" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>Show checkbox to get a boolean value from. Example:</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&amp;lt;element id="workflow_checkbox" type="checkbox" caption="A checkbox can return &lt;code&gt;TRUE&lt;/code&gt; or &lt;code&gt;FALSE&lt;/code&gt;."/&amp;gt;&lt;br&gt;
					&amp;lt;element caption="Test checkbox" type="button"&amp;gt;&lt;br&gt;
					&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;command&amp;gt;echo Checkbox state: %workflow_checkbox&amp;lt;/command&amp;gt;&lt;br&gt;
					&amp;lt;/element&amp;gt;</help>
			</parameter>
		</frame>
		<frame caption="Labels" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>Info labels can be shown via a &lt;code&gt;label&lt;/code&gt; node and can be colored / styled with HTML syntax:&lt;br&gt;</help>
			</parameter>
			<parameter type="helptext" wrap="true">
				<help>&lt;code&gt;&amp;lt;element type=&quot;label&quot; caption=&quot;Weißfluhjoch 1996&quot;/&amp;gt;&lt;/code&gt;</help>
			</parameter>
		</frame>
		<frame caption="Working directory" color="sl_blue">
			<parameter type="helptext" wrap="true">
				<help>If the workflow incorporates actions such as running programs, a dropdown menu to set the current working directory will be generated automatically.</help>
			</parameter>
		</frame>
		<reference name="TOC_LINK"/>
	</section>

	<!-- SYMBOLS -->

	<section name="Symbols" color="sl_magenta">
		<reference name="TOC_LINK"/>
		<parameter type="label" label="&lt;h3&gt;Snippets and symbols table&lt;/h3&gt;" color="sl_blue"/>
		<parameter type="helptext" wrap="true">
			<help>Getting special characters into a help text or label can be tricky, because the raw text is first scanned with an XML parser and then fed to an HTML parser for styling and they both depend on similar notation. Depending on the level, you may have to escape characters and make the code for them more verbose. Here is a list of commonly used text snippets and their XML representations for Inishell.&lt;br&gt;</help>
		</parameter>
		<reference name="SYMBOL_TABLE"/>
		<reference name="TOC_LINK"/>
	</section>

	<!-- SOLARIZED COLOR SCHEME -->

	<parametergroup name="SOLARIZED_SCHEME">
		<parameter key="ref-solarized" label="Solarized color scheme:" type="alternative" editable="false">
			<option value="base03" color="sl_base03">
				<parameter type="horizontal">
					<o><frame color="sl_base03" background_color="sl_base03"/></o>
					<option>
						<parameter type="copytext" height="1">
							<text>sl_base03</text>
							<help>Internal name</help>
						</parameter>
					</option>
					<option>
						<parameter type="copytext" height="1">
							<text>#002b36</text>
							<help>Hex code</help>
						</parameter>
					</option>
				</parameter>
			</option>
			<option value="base02" color="sl_base02">
				<parameter type="horizontal">
					<o><frame color="sl_base02" background_color="sl_base02"/></o>
					<option>
						<parameter type="copytext" height="1">
							<text>sl_base02</text>
							<help>Internal name</help>
						</parameter>
					</option>
					<option>
						<parameter type="copytext" height="1">
							<text>#073642</text>
							<help>Hex code</help>
						</parameter>
					</option>
				</parameter>
			</option>
			<option value="base01" color="sl_base01">
				<parameter type="horizontal">
					<o><frame color="sl_base01" background_color="sl_base01"/></o>
					<option>
						<parameter type="copytext" height="1">
							<text>sl_base01</text>
							<help>Internal name</help>
						</parameter>
					</option>
					<option>
						<parameter type="copytext" height="1">
							<text>#586e75</text>
							<help>Hex code</help>
						</parameter>
					</option>
				</parameter>
			</option>
			<option value="base00" color="sl_base00">
				<parameter type="horizontal">
					<o><frame color="sl_base00" background_color="sl_base00"/></o>
					<option>
						<parameter type="copytext" height="1">
							<text>sl_base00</text>
							<help>Internal name</help>
						</parameter>
					</option>
					<option>
						<parameter type="copytext" height="1">
							<text>#657b83</text>
							<help>Hex code</help>
						</parameter>
					</option>
				</parameter>
			</option>
			<option value="base0" color="sl_base0">
				<parameter type="horizontal">
					<o><frame color="sl_base0" background_color="sl_base0"/></o>
					<option>
						<parameter type="copytext" height="1">
							<text>sl_base0</text>
							<help>Internal name</help>
						</parameter>
					</option>
					<option>
						<parameter type="copytext" height="1">
							<text>#839496</text>
							<help>Hex code</help>
						</parameter>
					</option>
				</parameter>
			</option>
			<option value="base1" color="sl_base1">
				<parameter type="horizontal">
					<o><frame color="sl_base1" background_color="sl_base1"/></o>
					<option>
						<parameter type="copytext" height="1">
							<text>sl_base1</text>
							<help>Internal name</help>
						</parameter>
					</option>
					<option>
						<parameter type="copytext" height="1">
							<text>#93a1a1</text>
							<help>Hex code</help>
						</parameter>
					</option>
				</parameter>
			</option>
			<option value="base2" color="sl_base2">
				<parameter type="horizontal">
					<o><frame color="sl_base2" background_color="sl_base2"/></o>
					<option>
						<parameter type="copytext" height="1">
							<text>sl_base2</text>
							<help>Internal name</help>
						</parameter>
					</option>
					<option>
						<parameter type="copytext" height="1">
							<text>#eee8d5</text>
							<help>Hex code</help>
						</parameter>
					</option>
				</parameter>
			</option>
			<option value="base3" color="sl_base3">
				<parameter type="horizontal">
					<o><frame color="sl_base3" background_color="sl_base3"/></o>
					<option>
						<parameter type="copytext" height="1">
							<text>sl_base3</text>
							<help>Internal name</help>
						</parameter>
					</option>
					<option>
						<parameter type="copytext" height="1">
							<text>#fdf6e3</text>
							<help>Hex code</help>
						</parameter>
					</option>
				</parameter>
			</option>
			<option value="yellow" color="sl_yellow">
				<parameter type="horizontal">
					<o><frame color="sl_yellow" background_color="sl_yellow"/></o>
					<option>
						<parameter type="copytext" height="1">
							<text>sl_yellow</text>
							<help>Internal name</help>
						</parameter>
					</option>
					<option>
						<parameter type="copytext" height="1">
							<text>#b58900</text>
							<help>Hex code</help>
						</parameter>
					</option>
				</parameter>
			</option>
			<option value="orange" color="sl_orange">
				<parameter type="horizontal">
					<o><frame color="sl_orange" background_color="sl_orange"/></o>
					<option>
						<parameter type="copytext" height="1">
							<text>sl_orange</text>
							<help>Internal name</help>
						</parameter>
					</option>
					<option>
						<parameter type="copytext" height="1">
							<text>#cb4b16</text>
							<help>Hex code</help>
						</parameter>
					</option>
				</parameter>
			</option>
			<option value="red" color="sl_red">
				<parameter type="horizontal">
					<o><frame color="sl_red" background_color="sl_red"/></o>
					<option>
						<parameter type="copytext" height="1">
							<text>sl_red</text>
							<help>Internal name</help>
						</parameter>
					</option>
					<option>
						<parameter type="copytext" height="1">
							<text>#dc322f</text>
							<help>Hex code</help>
						</parameter>
					</option>
				</parameter>
			</option>
			<option value="magenta" color="sl_magenta">
				<parameter type="horizontal">
					<o><frame color="sl_magenta" background_color="sl_magenta"/></o>
					<option>
						<parameter type="copytext" height="1">
							<text>sl_magenta</text>
							<help>Internal name</help>
						</parameter>
					</option>
					<option>
						<parameter type="copytext" height="1">
							<text>#d33682</text>
							<help>Hex code</help>
						</parameter>
					</option>
				</parameter>
			</option>
			<option value="violet" color="sl_violet">
				<parameter type="horizontal">
					<o><frame color="sl_violet" background_color="sl_violet"/></o>
					<option>
						<parameter type="copytext" height="1">
							<text>sl_violet</text>
							<help>Internal name</help>
						</parameter>
					</option>
					<option>
						<parameter type="copytext" height="1">
							<text>#6c71c4</text>
							<help>Hex code</help>
						</parameter>
					</option>
				</parameter>
			</option>
			<option value="blue" color="sl_blue">
				<parameter type="horizontal">
					<o><frame color="sl_blue" background_color="sl_blue"/></o>
					<option>
						<parameter type="copytext" height="1">
							<text>sl_blue</text>
							<help>Internal name</help>
						</parameter>
					</option>
					<option>
						<parameter type="copytext" height="1">
							<text>#268bd2</text>
							<help>Hex code</help>
						</parameter>
					</option>
				</parameter>
			</option>
			<option value="cyan" color="sl_cyan">
				<parameter type="horizontal">
					<o><frame color="sl_cyan" background_color="sl_cyan"/></o>
					<option>
						<parameter type="copytext" height="1">
							<text>sl_cyan</text>
							<help>Internal name</help>
						</parameter>
					</option>
					<option>
						<parameter type="copytext" height="1">
							<text>#2aa198</text>
							<help>Hex code</help>
						</parameter>
					</option>
				</parameter>
			</option>
			<option value="green" color="sl_green">
				<parameter type="horizontal">
					<o><frame color="sl_green" background_color="sl_green"/></o>
					<option>
						<parameter type="copytext" height="1">
							<text>sl_green</text>
							<help>Internal name</help>
						</parameter>
					</option>
					<option>
						<parameter type="copytext" height="1">
							<text>#859900</text>
							<help>Hex code</help>
						</parameter>
					</option>
				</parameter>
			</option>
		</parameter>
	</parametergroup>

	<!-- SYMBOL TABLE -->

	<parametergroup name="SYMBOL_TABLE">
		<frame caption="Font">
			<parameter type="copytext" height="1">
				<text>&amp;lt;i&amp;gt;INIshell&amp;lt;/i&amp;gt;</text>
				<help>&lt;i&gt;INIshell&lt;/i&gt;</help>
			</parameter>
			<parameter type="copytext" height="1">
				<text>&amp;lt;i&amp;gt;YOUR_ITALIC_TEXT&amp;lt;/i&amp;gt;</text>
				<help>&lt;i&gt;YOUR_ITALIC_TEXT&lt;/i&gt;</help>
			</parameter>
			<parameter type="copytext" height="1">
				<text>&amp;lt;b&amp;gt;YOUR_BOLD_TEXT&amp;lt;/b&amp;gt;</text>
				<help>&lt;b&gt;YOUR_BOLD_TEXT&lt;/b&gt;</help>
			</parameter>
			<parameter type="copytext" height="1">
				<text>&amp;lt;font color="#dc322f"&amp;gt;YOUR_RED_TEXT&amp;lt;/font&amp;gt;</text>
				<help>&lt;font color="#dc322f"&gt;YOUR_RED_TEXT&lt;/font&gt;</help>
			</parameter>
			<parameter type="copytext" height="1">
				<text>&amp;lt;font color="#dc322f"&amp;gt;&amp;lt;strong&amp;gt;YOUR_RED_STRONG_TEXT&amp;lt;/strong&amp;gt;&amp;lt;/font&amp;gt;</text>
				<help>&lt;font color="#dc322f"&gt;&lt;strong&gt;YOUR_RED_STRONG_TEXT&lt;/strong&gt;&lt;/font&gt;</help>
			</parameter>
		</frame>
		<frame caption="Links">
			<parameter type="copytext" height="1" size="large">
				<text>&amp;lt;a href=&amp;quot;YOUR_URL&amp;quot;&amp;gt;YOUR_LINK_LABEL&amp;lt;/a&amp;gt;</text>
				<help>&lt;a href=&quot;YOUR_URL&quot;&gt;YOUR_LINK_LABEL&lt;/a&gt; (external link)</help>
			</parameter>
			<parameter type="copytext" height="1" size="large">
				<text>&amp;lt;a href=&amp;quot;app://YOUR_SECTION::YOUR_KEY&amp;quot;&amp;gt;YOUR_KEY_LABEL&amp;lt;/a&amp;gt;</text>
				<help>&lt;a href=&quot;app://YOUR_SECTION::YOUR_KEY&quot;&gt;YOUR_KEY_LABEL&lt;/a&gt; (link to an INI section or key)</help>
			</parameter>
			<parameter type="copytext" height="1" size="large">
				<text>&amp;lt;a href=&amp;quot;doc://YOUR_SECTION::YOUR_KEY&amp;quot;&amp;gt;YOUR_DOC_LABEL&amp;lt;/a&amp;gt;</text>
				<help>&lt;a href=&quot;doc://YOUR_SECTION::YOUR_KEY&quot;&gt;YOUR_DOC_LABEL&lt;/a&gt; (link to help document)</help>
			</parameter>
			<parameter type="copytext" height="1" size="large">
				<text>&amp;lt;a href=&amp;quot;dev://YOUR_SECTION::YOUR_KEY&amp;quot;&amp;gt;YOUR_DEV_LABEL&amp;lt;/a&amp;gt;</text>
				<help>&lt;a href=&quot;dev://YOUR_SECTION::YOUR_KEY&quot;&gt;YOUR_DEV_LABEL&lt;/a&gt; (link to developer's help topic)</help>
			</parameter>
		</frame>
		<frame caption="Special characters">
			<parameter type="copytext" height="1" size="small">
				<text>&amp;lt;</text>
				<help>&amp;lt;</help>
			</parameter>
			<parameter type="copytext" height="1" size="small">
				<text>&amp;gt;</text>
				<help>&amp;gt;</help>
			</parameter>
			<parameter type="copytext" height="1" size="small">
				<text>&amp;amp;nbsp;</text>
				<help>(space)</help>
			</parameter>
			<parameter type="copytext" height="1" size="small">
				<text>&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;</text>
				<help>(4 spaces)</help>
			</parameter>
			<parameter type="copytext" height="1" size="small">
				<text>&amp;lt;br&amp;gt;</text>
				<help>(line break)</help>
			</parameter>
		</frame>
		<frame caption="Code">
			<parameter type="copytext" height="1">
				<text>&amp;lt;code&amp;gt;YOUR_CODE&amp;lt;/code&amp;gt;</text>
				<help>&lt;code&gt;YOUR_CODE&lt;/code&gt;</help>
			</parameter>
			<parameter type="copytext" height="3">
				<text>&amp;lt;code&amp;gt;&amp;lt;br&amp;gt;
YOUR_FIRST_LINE&amp;lt;br&amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;YOUR_FIRST_INDENTED_LINE&amp;lt;br&amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;YOUR_SECOND_INDENTED_LINE&amp;lt;br&amp;gt;
YOUR_SECOND_LINE&amp;lt;br&amp;gt;
&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;</text>
				<help>&lt;code&gt;&lt;br&gt;
				YOUR_FIRST_LINE&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;YOUR_FIRST_INDENTED_LINE&lt;br&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;YOUR_SECOND_INDENTED_LINE&lt;br&gt;
				YOUR_SECOND_LINE&lt;br&gt;
				&lt;/code&gt;&lt;br&gt;</help>
			</parameter>
		</frame>
		<frame caption="Lists">
			<parameter type="copytext">
				<text>&amp;lt;ul&amp;gt;
	&amp;lt;li&amp;gt;YOUR_FIRST_ITEM&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;YOUR_SECOND_ITEM&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;YOUR_THIRD_ITEM&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;</text>
				<help>&lt;ul&gt;
&lt;li&gt;YOUR_FIRST_ITEM&lt;/li&gt;
&lt;li&gt;YOUR_SECOND_ITEM&lt;/li&gt;
&lt;li&gt;YOUR_THIRD_ITEM&lt;/li&gt;
&lt;/ul&gt;</help>
			</parameter>
			<parameter type="copytext">
				<text>&amp;lt;ol&amp;gt;
	&amp;lt;li&amp;gt;YOUR_FIRST_ITEM&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;YOUR_SECOND_ITEM&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;YOUR_THIRD_ITEM&amp;lt;/li&amp;gt;
&amp;lt;/ol&amp;gt;</text>
				<help>&lt;ol&gt;
&lt;li&gt;YOUR_FIRST_ITEM&lt;/li&gt;
&lt;li&gt;YOUR_SECOND_ITEM&lt;/li&gt;
&lt;li&gt;YOUR_THIRD_ITEM&lt;/li&gt;
&lt;/ol&gt;</help>
			</parameter>
		</frame>
	</parametergroup>

	<!-- GENERIC PARAMETERGROUPS -->

	<parametergroup name="TOC_LINK">
		<parameter type="helptext" wrap="true">
			<help>&lt;p style=&quot;text-align:right;&quot;&gt;&lt;a href=&quot;dev://TOC&quot;&gt;Table of contents&lt;/a&gt;&lt;/p&gt;</help>
		</parameter>
	</parametergroup>

	<parametergroup name="OPTIONS_GENERIC">
		<parameter type="helptext" wrap="true">
			<help>&lt;b&gt;Generic options&lt;/b&gt;:</help>
		</parameter>
		<reference name="OPTIONS_VALUE"/>
		<reference name="OPTIONS_GENERIC_STYLE_HELP"/>
	</parametergroup>

	<parametergroup name="OPTIONS_GENERIC_NOVALUE">
		<parameter type="helptext" wrap="true">
			<help>&lt;b&gt;Generic options&lt;/b&gt;:</help>
		</parameter>
		<reference name="OPTIONS_GENERIC_STYLE_HELP"/>
	</parametergroup>

	<parametergroup name="OPTIONS_VALUE">
		<parameter type="helptext" wrap="true">
			<help>&lt;ul&gt;
			&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;key&lt;/strong&gt;&lt;/font&gt;: The corresponding INI key this panel sets. Can be: any string, but special characters are limited.&lt;/li&gt;
			&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;default&lt;/strong&gt;&lt;/font&gt;: The default value to display. Can be: any value suiting the panel.&lt;/li&gt;
			&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;optional&lt;/strong&gt;&lt;/font&gt;: Mark parameters as optional or mandatory. Can be: "&lt;font color="#dc322f"&gt;true&lt;/font&gt;" (default) or "&lt;font color="#dc322f"&gt;false&lt;/font&gt;".&lt;/li&gt;
			&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;label&lt;/strong&gt;&lt;/font&gt;: Overwrite the key label with this text. Can be: any text.&lt;/li&gt;
			&lt;/ul&gt;</help>
		</parameter>
	</parametergroup>

	<parametergroup name="OPTIONS_GENERIC_STYLE_HELP">
		<parameter type="helptext" wrap="true">
			<help>&lt;ul&gt;
			&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;help&lt;/strong&gt;&lt;/font&gt;: See the &lt;a href=&quot;dev://Helptext&quot;&gt;Helptext&lt;/a&gt; section for methods to provide help texts.&lt;/li&gt;
			&lt;li&gt;&lt;font color="#859900"&gt;&lt;strong&gt;style&lt;/strong&gt;&lt;/font&gt;: See the section for &lt;a href=&quot;dev://Style&quot;&gt;generic styling&lt;/a&gt;.&lt;/li&gt;
			&lt;/ul&gt;</help>
		</parameter>
	</parametergroup>

</inishell_config>
