<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=KBenoit</id>
	<title>Inkscape Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=KBenoit"/>
	<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/Special:Contributions/KBenoit"/>
	<updated>2026-05-23T22:42:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=User_talk:Moini&amp;diff=117735</id>
		<title>User talk:Moini</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=User_talk:Moini&amp;diff=117735"/>
		<updated>2020-04-11T15:59:53Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: Embed video&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== User rename ==&lt;br /&gt;
&lt;br /&gt;
Hi Maren,&lt;br /&gt;
&lt;br /&gt;
I remember you got bureaucrat permissions during the hack-fest. Could you rename my Wiki user (see [[Special:RenameUser]]) to either &amp;quot;Patrick&amp;quot; or &amp;quot;Patrick87&amp;quot; (depending on whether you want to remove the unused user [[Special:Contributions/Patrick]] or not)?&lt;br /&gt;
&lt;br /&gt;
Cheers, [[User:Eduard|Eduard]] ([[User talk:Eduard|talk]]) 18:25, 23 November 2018 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Patrick,&lt;br /&gt;
&lt;br /&gt;
done. I can't remove users, only rename - and who knows, maybe that unknown Patrick will some day come back and claim his account. So you're Patrick87 now.&lt;br /&gt;
&lt;br /&gt;
[[User:Moini|Moini]] ([[User talk:Moini|talk]])&lt;br /&gt;
&lt;br /&gt;
: Danke! [[User:Patrick87|Patrick87]] ([[User talk:Patrick87|talk]]) 14:13, 24 November 2018 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Moini, I cleaned the discussion on INX Parameter as I did not realized you answered. We should add at the end, not inline the discussion. Like an email thread and sign our addition with four ~&lt;br /&gt;
[[User:KBenoit|KBenoit]] ([[User talk:KBenoit|talk]]) 14:59, 9 April 2020 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Moini, I see that you are probably the wiki maintainer? I tried to put a Youtube video on a page using template, seems hard/impossible. I saw found this [https://stackoverflow.com/questions/8374709/embedding-iframe-in-wikimedia-based-wiki/40921449 way of doing it], but that probably give us a lot much control. Another solution seems to be with [https://www.mediawiki.org/wiki/Extension:Widgets widgets]. [[User:KBenoit|KBenoit]] ([[User talk:KBenoit|talk]]) 15:59, 11 April 2020 (UTC)&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Template_talk:YouTube&amp;diff=117730</id>
		<title>Template talk:YouTube</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Template_talk:YouTube&amp;diff=117730"/>
		<updated>2020-04-10T20:30:12Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Did not work, please delete this page ...&lt;br /&gt;
[[User:KBenoit|KBenoit]] ([[User talk:KBenoit|talk]]) 20:30, 10 April 2020 (UTC)&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Template_talk:YouTube&amp;diff=117729</id>
		<title>Template talk:YouTube</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Template_talk:YouTube&amp;diff=117729"/>
		<updated>2020-04-10T20:29:50Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: Created page with &amp;quot;Did not work, please delete this page ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Did not work, please delete this page ...&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Inkcards&amp;diff=117727</id>
		<title>Inkcards</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Inkcards&amp;diff=117727"/>
		<updated>2020-04-10T19:04:47Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* Summary of an inkcards SVG */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Basic description=&lt;br /&gt;
Inkcards is an extension to create cards using layers, I say cards, but could be any tiles, like tokens, origami instructions, etc. The basic idea is you activate only the layers used by a specific card and save the information of which layers are visible for this card. By reusing the layers, it's much easier to customize your deck than copy/paste elements. With it, you can make modifications to the list/deck of cards by adding/removing cards, activating/deactivating the layers to show a specific card, or reordering the card list. ''It could be used to create video games?'', but the main idea is that once your cards are designed, you can tile them on a different document size in order to print them, read this [https://boardgamegeek.com/thread/490643/making-cards-youll-never-use-your-old-method-again thread] to know what I'm talking about. Rachel summarize her learning from the thread in a [https://www.youtube.com/watch?v=K5y3xeMN6Rs&amp;amp;feature=youtu.be video] which was also greatly inspired by this [https://www.youtube.com/watch?v=n_8q4V3TAzc video] from the Dinning Table (probably more pertinent).&lt;br /&gt;
&lt;br /&gt;
=Design evolution=&lt;br /&gt;
For this my design is being updated for 1.0. I think of placing the cards in a card sized &amp;lt;code&amp;gt;rect&amp;lt;/code&amp;gt; in which you draw the cards. From an extension, you manage the deck content by adding/removing cards which are using the visible layers perhaps under a &amp;quot;&amp;lt;code&amp;gt;cards&amp;lt;/code&amp;gt;&amp;quot; named layer? Adding a card imply adding a &amp;lt;code&amp;gt;&amp;lt;g&amp;gt;&amp;lt;/code&amp;gt; of multiple &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; of all layers used by this card in &amp;lt;code&amp;gt;defs&amp;lt;/code&amp;gt;. Then adding another &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; of the &amp;lt;code&amp;gt;&amp;lt;g&amp;gt;&amp;lt;/code&amp;gt; (card) entry just made in &amp;lt;code&amp;gt;&amp;lt;defs&amp;gt;&amp;lt;/code&amp;gt;, inside the document's &amp;lt;code&amp;gt;viewBox&amp;lt;/code&amp;gt;, more than one &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; if your deck has more than one instance of a card. This &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; of the card would be in a &amp;quot;&amp;lt;code&amp;gt;page X&amp;lt;/code&amp;gt;&amp;quot; layer (where X is the floor of the card number divided by the number of card that fit in a page).&lt;br /&gt;
&lt;br /&gt;
==Extensions needed==&lt;br /&gt;
&lt;br /&gt;
*    For this I think I should use an extension to initialize an Inkcards document by adding a &amp;lt;code&amp;gt;&amp;quot;Inkcards:cards&amp;quot;&amp;lt;/code&amp;gt; named &amp;lt;code&amp;gt;rect&amp;lt;/code&amp;gt; outside the &amp;lt;code&amp;gt;viewBox&amp;lt;/code&amp;gt;. That &amp;lt;code&amp;gt;rect&amp;lt;/code&amp;gt; would be the size of a card. Knowing the card size, in this extension I could reserve the place to tile the cards?&lt;br /&gt;
*    If the user adjust the size of the card &amp;lt;code&amp;gt;rect&amp;lt;/code&amp;gt;, he could use an extension (a second &amp;lt;code&amp;gt;inx&amp;lt;/code&amp;gt;) to recalculate the tiles position in the document. Perhaps instead of a &amp;lt;code&amp;gt;rect&amp;lt;/code&amp;gt;, it could be a &amp;lt;code&amp;gt;circle&amp;lt;/code&amp;gt; and the extension could adjust the tiling to imbricate them with an optimize option, else it would align them.&lt;br /&gt;
*    One extension to be able to move the card document (set &amp;lt;code&amp;gt;inkscape:groupmode=&amp;quot;layer&amp;quot;&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;sodipodi:insensitive=&amp;quot;false&amp;quot;&amp;lt;/code&amp;gt;. It would automatically set it back on the next use of the extension.&lt;br /&gt;
*    An extension should save one SVG for every page layers and convert that into a single PDF using image magick convert.&lt;br /&gt;
&lt;br /&gt;
==Summary of an inkcards SVG==&lt;br /&gt;
I wrote it as ideas where popping in my mind, so is useful documentation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;svg viewBox=&amp;quot;0 0 279.4 215.9&amp;quot; width=&amp;quot;11in&amp;quot; height=&amp;quot;8.5in&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;defs&amp;gt;&lt;br /&gt;
    &amp;lt;g id=&amp;quot;card1&amp;quot; inkscape:groupmode=&amp;quot;inkcards:card&amp;quot; inkcards:name=&amp;quot;fireball&amp;quot; inkcards:nbCopy=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#layer1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#layer2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#layer3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;g id=&amp;quot;card2&amp;quot; inkscape:groupmode=&amp;quot;inkcards:card&amp;quot; inkcards:name=&amp;quot;dragon&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#layer1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
  &amp;lt;/defs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;g inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;Base card layers&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;g inkscape:groupmode=&amp;quot;inkcards:cardFramingSize&amp;quot; sodipodi:insensitive=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;rect id=&amp;quot;inkcards:cards&amp;quot; x=&amp;quot;-100&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;80&amp;quot; height=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;g id=&amp;quot;layer1&amp;quot; inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;background1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... Generic background for all cards content ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;g id=&amp;quot;layer2&amp;quot; inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;spell&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... Specific elements to all spell cards ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;g id=&amp;quot;layer3&amp;quot; inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;fireball&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... Fireball card specific content ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
  &amp;lt;/g&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;g inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;pages&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;g inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;page1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#card1&amp;quot; x=&amp;quot;20&amp;quot; y=&amp;quot;20&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#card1&amp;quot; x=&amp;quot;120&amp;quot; y=&amp;quot;20&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#card2&amp;quot; x=&amp;quot;220&amp;quot; y=&amp;quot;20&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;g inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;page2&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
  &amp;lt;/g&amp;gt;&lt;br /&gt;
&amp;lt;/svg&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
*    I use the &amp;lt;code&amp;gt;inkscape:groupmode=&amp;quot;inkcards:card&amp;quot;&amp;lt;/code&amp;gt;, is it something I can do for an inkscape extension or it's reserved for internal use ?&lt;br /&gt;
*    The &amp;lt;code&amp;gt;inkscape:groupmode=&amp;quot;inkcards:cardFramingSize&amp;quot;&amp;lt;/code&amp;gt; is a way I think of having sort a dual document, the user could manage/resize it with an extension, perhaps be able to set it to layer for the resizing and the next time he uses any inkcards extension his &amp;lt;code&amp;gt;inkscape:groupmode&amp;lt;/code&amp;gt; get back to &amp;lt;code&amp;gt;inkcards:cardFramingSize&amp;lt;/code&amp;gt; so he could not play with it like he want, as it would move the cards. I also thought of using a group so that the cards layers are at origin, just moved by an underlying group.&lt;br /&gt;
*    Is there a way to add a layer content, but not for other (sub)layers ? The problem is that layers are a tree and if i add a branch, all sub-branches are added. One way I thought to get around this is for a parent layer, have the content in a content sublayer which as all, but the sublayers, so that if I &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; it, it does not &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; all the sublayers. Perhaps inkscape could have an optional mode to separate the content from layers in a special layer with &amp;lt;code&amp;gt;inkscape:groupmode=&amp;quot;layer-content&amp;quot;&amp;lt;/code&amp;gt;?&lt;br /&gt;
*    More will be added ...&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
You can see an svg example of what [https://media.inkscape.org/media/resources/file/smiley-new2.svg inkcards could generate].&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Inkcards&amp;diff=117726</id>
		<title>Inkcards</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Inkcards&amp;diff=117726"/>
		<updated>2020-04-10T19:02:01Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: Define sections&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Basic description=&lt;br /&gt;
Inkcards is an extension to create cards using layers, I say cards, but could be any tiles, like tokens, origami instructions, etc. The basic idea is you activate only the layers used by a specific card and save the information of which layers are visible for this card. By reusing the layers, it's much easier to customize your deck than copy/paste elements. With it, you can make modifications to the list/deck of cards by adding/removing cards, activating/deactivating the layers to show a specific card, or reordering the card list. ''It could be used to create video games?'', but the main idea is that once your cards are designed, you can tile them on a different document size in order to print them, read this [https://boardgamegeek.com/thread/490643/making-cards-youll-never-use-your-old-method-again thread] to know what I'm talking about. Rachel summarize her learning from the thread in a [https://www.youtube.com/watch?v=K5y3xeMN6Rs&amp;amp;feature=youtu.be video] which was also greatly inspired by this [https://www.youtube.com/watch?v=n_8q4V3TAzc video] from the Dinning Table (probably more pertinent).&lt;br /&gt;
&lt;br /&gt;
=Design evolution=&lt;br /&gt;
For this my design is being updated for 1.0. I think of placing the cards in a card sized &amp;lt;code&amp;gt;rect&amp;lt;/code&amp;gt; in which you draw the cards. From an extension, you manage the deck content by adding/removing cards which are using the visible layers perhaps under a &amp;quot;&amp;lt;code&amp;gt;cards&amp;lt;/code&amp;gt;&amp;quot; named layer? Adding a card imply adding a &amp;lt;code&amp;gt;&amp;lt;g&amp;gt;&amp;lt;/code&amp;gt; of multiple &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; of all layers used by this card in &amp;lt;code&amp;gt;defs&amp;lt;/code&amp;gt;. Then adding another &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; of the &amp;lt;code&amp;gt;&amp;lt;g&amp;gt;&amp;lt;/code&amp;gt; (card) entry just made in &amp;lt;code&amp;gt;&amp;lt;defs&amp;gt;&amp;lt;/code&amp;gt;, inside the document's &amp;lt;code&amp;gt;viewBox&amp;lt;/code&amp;gt;, more than one &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; if your deck has more than one instance of a card. This &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; of the card would be in a &amp;quot;&amp;lt;code&amp;gt;page X&amp;lt;/code&amp;gt;&amp;quot; layer (where X is the floor of the card number divided by the number of card that fit in a page).&lt;br /&gt;
&lt;br /&gt;
==Extensions needed==&lt;br /&gt;
&lt;br /&gt;
*    For this I think I should use an extension to initialize an Inkcards document by adding a &amp;lt;code&amp;gt;&amp;quot;Inkcards:cards&amp;quot;&amp;lt;/code&amp;gt; named &amp;lt;code&amp;gt;rect&amp;lt;/code&amp;gt; outside the &amp;lt;code&amp;gt;viewBox&amp;lt;/code&amp;gt;. That &amp;lt;code&amp;gt;rect&amp;lt;/code&amp;gt; would be the size of a card. Knowing the card size, in this extension I could reserve the place to tile the cards?&lt;br /&gt;
*    If the user adjust the size of the card &amp;lt;code&amp;gt;rect&amp;lt;/code&amp;gt;, he could use an extension (a second &amp;lt;code&amp;gt;inx&amp;lt;/code&amp;gt;) to recalculate the tiles position in the document. Perhaps instead of a &amp;lt;code&amp;gt;rect&amp;lt;/code&amp;gt;, it could be a &amp;lt;code&amp;gt;circle&amp;lt;/code&amp;gt; and the extension could adjust the tiling to imbricate them with an optimize option, else it would align them.&lt;br /&gt;
*    One extension to be able to move the card document (set &amp;lt;code&amp;gt;inkscape:groupmode=&amp;quot;layer&amp;quot;&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;sodipodi:insensitive=&amp;quot;false&amp;quot;&amp;lt;/code&amp;gt;. It would automatically set it back on the next use of the extension.&lt;br /&gt;
*    An extension should save one SVG for every page layers and convert that into a single PDF using image magick convert.&lt;br /&gt;
&lt;br /&gt;
==Summary of an inkcards SVG==&lt;br /&gt;
Written as ideas are coming to my mind, so will be useful documentation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;svg viewBox=&amp;quot;0 0 279.4 215.9&amp;quot; width=&amp;quot;11in&amp;quot; height=&amp;quot;8.5in&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;defs&amp;gt;&lt;br /&gt;
    &amp;lt;g id=&amp;quot;card1&amp;quot; inkscape:groupmode=&amp;quot;inkcards:card&amp;quot; inkcards:name=&amp;quot;fireball&amp;quot; inkcards:nbCopy=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#layer1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#layer2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#layer3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;g id=&amp;quot;card2&amp;quot; inkscape:groupmode=&amp;quot;inkcards:card&amp;quot; inkcards:name=&amp;quot;dragon&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#layer1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
  &amp;lt;/defs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;g inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;Base card layers&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;g inkscape:groupmode=&amp;quot;inkcards:cardFramingSize&amp;quot; sodipodi:insensitive=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;rect id=&amp;quot;inkcards:cards&amp;quot; x=&amp;quot;-100&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;80&amp;quot; height=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;g id=&amp;quot;layer1&amp;quot; inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;background1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... Generic background for all cards content ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;g id=&amp;quot;layer2&amp;quot; inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;spell&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... Specific elements to all spell cards ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;g id=&amp;quot;layer3&amp;quot; inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;fireball&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... Fireball card specific content ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
  &amp;lt;/g&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;g inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;pages&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;g inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;page1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#card1&amp;quot; x=&amp;quot;20&amp;quot; y=&amp;quot;20&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#card1&amp;quot; x=&amp;quot;120&amp;quot; y=&amp;quot;20&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#card2&amp;quot; x=&amp;quot;220&amp;quot; y=&amp;quot;20&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;g inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;page2&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
  &amp;lt;/g&amp;gt;&lt;br /&gt;
&amp;lt;/svg&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
*    I use the &amp;lt;code&amp;gt;inkscape:groupmode=&amp;quot;inkcards:card&amp;quot;&amp;lt;/code&amp;gt;, is it something I can do for an inkscape extension or it's reserved for internal use ?&lt;br /&gt;
*    The &amp;lt;code&amp;gt;inkscape:groupmode=&amp;quot;inkcards:cardFramingSize&amp;quot;&amp;lt;/code&amp;gt; is a way I think of having sort a dual document, the user could manage/resize it with an extension, perhaps be able to set it to layer for the resizing and the next time he uses any inkcards extension his &amp;lt;code&amp;gt;inkscape:groupmode&amp;lt;/code&amp;gt; get back to &amp;lt;code&amp;gt;inkcards:cardFramingSize&amp;lt;/code&amp;gt; so he could not play with it like he want, as it would move the cards. I also thought of using a group so that the cards layers are at origin, just moved by an underlying group.&lt;br /&gt;
*    Is there a way to add a layer content, but not for other (sub)layers ? The problem is that layers are a tree and if i add a branch, all sub-branches are added. One way I thought to get around this is for a parent layer, have the content in a content sublayer which as all, but the sublayers, so that if I &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; it, it does not &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; all the sublayers. Perhaps inkscape could have an optional mode to separate the content from layers in a special layer with &amp;lt;code&amp;gt;inkscape:groupmode=&amp;quot;layer-content&amp;quot;&amp;lt;/code&amp;gt;?&lt;br /&gt;
*    More will be added ...&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
You can see an svg example of what [https://media.inkscape.org/media/resources/file/smiley-new2.svg inkcards could generate].&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Inkcards&amp;diff=117725</id>
		<title>Inkcards</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Inkcards&amp;diff=117725"/>
		<updated>2020-04-10T16:38:42Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: Switch inkcards development description / perhaps discussion to the wiki instead of the forum.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Inkcards is an extension to create cards using layers, I say cards, but could be any tiles, like tokens, origami instructions, etc. The basic idea is you activate only the layers used by a specific card and save the information of which layers are visible for this card. By reusing the layers, it's much easier to customize your deck than copy/paste elements. With it, you can make modifications to the list/deck of cards by adding/removing cards, activating/deactivating the layers to show a specific card, or reordering the card list. ''It could be used to create video games?'', but the main idea is that once your cards are designed, you can tile them on a different document size in order to print them, read this [https://boardgamegeek.com/thread/490643/making-cards-youll-never-use-your-old-method-again thread] to know what I'm talking about. Rachel summarize her learning from the thread in a [https://www.youtube.com/watch?v=K5y3xeMN6Rs&amp;amp;feature=youtu.be video] which was also greatly inspired by this [https://www.youtube.com/watch?v=n_8q4V3TAzc video] from the Dinning Table (probably more pertinent).&lt;br /&gt;
&lt;br /&gt;
For this my design is being updated for 1.0. I think of placing the cards in a card sized &amp;lt;code&amp;gt;rect&amp;lt;/code&amp;gt; in which you draw the cards. From an extension, you manage the deck content by adding/removing cards which are using the visible layers perhaps under a &amp;quot;&amp;lt;code&amp;gt;cards&amp;lt;/code&amp;gt;&amp;quot; named layer? Adding a card imply adding a &amp;lt;code&amp;gt;&amp;lt;g&amp;gt;&amp;lt;/code&amp;gt; of multiple &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; of all layers used by this card in &amp;lt;code&amp;gt;defs&amp;lt;/code&amp;gt;. Then adding another &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; of the &amp;lt;code&amp;gt;&amp;lt;g&amp;gt;&amp;lt;/code&amp;gt; (card) entry just made in &amp;lt;code&amp;gt;&amp;lt;defs&amp;gt;&amp;lt;/code&amp;gt;, inside the document's &amp;lt;code&amp;gt;viewBox&amp;lt;/code&amp;gt;, more than one &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; if your deck has more than one instance of a card. This &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; of the card would be in a &amp;quot;&amp;lt;code&amp;gt;page X&amp;lt;/code&amp;gt;&amp;quot; layer (where X is the floor of the card number divided by the number of card that fit in a page).&lt;br /&gt;
&lt;br /&gt;
Extensions needed:&lt;br /&gt;
&lt;br /&gt;
*    For this I think I should use an extension to initialize an Inkcards document by adding a &amp;lt;code&amp;gt;&amp;quot;Inkcards:cards&amp;quot;&amp;lt;/code&amp;gt; named &amp;lt;code&amp;gt;rect&amp;lt;/code&amp;gt; outside the &amp;lt;code&amp;gt;viewBox&amp;lt;/code&amp;gt;. That &amp;lt;code&amp;gt;rect&amp;lt;/code&amp;gt; would be the size of a card. Knowing the card size, in this extension I could reserve the place to tile the cards?&lt;br /&gt;
*    If the user adjust the size of the card &amp;lt;code&amp;gt;rect&amp;lt;/code&amp;gt;, he could use an extension (a second &amp;lt;code&amp;gt;inx&amp;lt;/code&amp;gt;) to recalculate the tiles position in the document. Perhaps instead of a &amp;lt;code&amp;gt;rect&amp;lt;/code&amp;gt;, it could be a &amp;lt;code&amp;gt;circle&amp;lt;/code&amp;gt; and the extension could adjust the tiling to imbricate them with an optimize option, else it would align them.&lt;br /&gt;
*    One extension to be able to move the card document (set &amp;lt;code&amp;gt;inkscape:groupmode=&amp;quot;layer&amp;quot;&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;sodipodi:insensitive=&amp;quot;false&amp;quot;&amp;lt;/code&amp;gt;. It would automatically set it back on the next use of the extension.&lt;br /&gt;
*    An extension should save one SVG for every page layers and convert that into a single PDF using image magick convert.&lt;br /&gt;
&lt;br /&gt;
Here's a summary of an inkcards SVG ... written as ideas are coming to my mind, so will be useful documentation:&lt;br /&gt;
&amp;lt;source lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;svg viewBox=&amp;quot;0 0 279.4 215.9&amp;quot; width=&amp;quot;11in&amp;quot; height=&amp;quot;8.5in&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;defs&amp;gt;&lt;br /&gt;
    &amp;lt;g id=&amp;quot;card1&amp;quot; inkscape:groupmode=&amp;quot;inkcards:card&amp;quot; inkcards:name=&amp;quot;fireball&amp;quot; inkcards:nbCopy=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#layer1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#layer2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#layer3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;g id=&amp;quot;card2&amp;quot; inkscape:groupmode=&amp;quot;inkcards:card&amp;quot; inkcards:name=&amp;quot;dragon&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#layer1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
  &amp;lt;/defs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;g inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;Base card layers&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;g inkscape:groupmode=&amp;quot;inkcards:cardFramingSize&amp;quot; sodipodi:insensitive=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;rect id=&amp;quot;inkcards:cards&amp;quot; x=&amp;quot;-100&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;80&amp;quot; height=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;g id=&amp;quot;layer1&amp;quot; inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;background1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... Generic background for all cards content ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;g id=&amp;quot;layer2&amp;quot; inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;spell&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... Specific elements to all spell cards ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;g id=&amp;quot;layer3&amp;quot; inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;fireball&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... Fireball card specific content ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
  &amp;lt;/g&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;g inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;pages&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;g inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;page1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#card1&amp;quot; x=&amp;quot;20&amp;quot; y=&amp;quot;20&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#card1&amp;quot; x=&amp;quot;120&amp;quot; y=&amp;quot;20&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;use xlink:href=&amp;quot;#card2&amp;quot; x=&amp;quot;220&amp;quot; y=&amp;quot;20&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;g inkscape:groupmode=&amp;quot;layer&amp;quot; inkscape:label=&amp;quot;page2&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
  &amp;lt;/g&amp;gt;&lt;br /&gt;
&amp;lt;/svg&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Questions:&lt;br /&gt;
&lt;br /&gt;
*    I use the &amp;lt;code&amp;gt;inkscape:groupmode=&amp;quot;inkcards:card&amp;quot;&amp;lt;/code&amp;gt;, is it something I can do for an inkscape extension or it's reserved for internal use ?&lt;br /&gt;
*    The &amp;lt;code&amp;gt;inkscape:groupmode=&amp;quot;inkcards:cardFramingSize&amp;quot;&amp;lt;/code&amp;gt; is a way I think of having sort a dual document, the user could manage/resize it with an extension, perhaps be able to set it to layer for the resizing and the next time he uses any inkcards extension his &amp;lt;code&amp;gt;inkscape:groupmode&amp;lt;/code&amp;gt; get back to &amp;lt;code&amp;gt;inkcards:cardFramingSize&amp;lt;/code&amp;gt; so he could not play with it like he want, as it would move the cards. I also thought of using a group so that the cards layers are at origin, just moved by an underlying group.&lt;br /&gt;
*    Is there a way to add a layer content, but not for other (sub)layers ? The problem is that layers are a tree and if i add a branch, all sub-branches are added. One way I thought to get around this is for a parent layer, have the content in a content sublayer which as all, but the sublayers, so that if I &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; it, it does not &amp;lt;code&amp;gt;&amp;lt;use&amp;gt;&amp;lt;/code&amp;gt; all the sublayers. Perhaps inkscape could have an optional mode to separate the content from layers in a special layer with &amp;lt;code&amp;gt;inkscape:groupmode=&amp;quot;layer-content&amp;quot;&amp;lt;/code&amp;gt;?&lt;br /&gt;
*    More will be added ...&lt;br /&gt;
&lt;br /&gt;
Example of what [https://media.inkscape.org/media/resources/file/smiley-new2.svg inkcards could generate].&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extension_reference&amp;diff=117724</id>
		<title>Extension reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extension_reference&amp;diff=117724"/>
		<updated>2020-04-10T15:05:05Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: Adding an inkcards link/page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Other languages|en=Extension reference}}&lt;br /&gt;
&lt;br /&gt;
''A page with info about the extensions and particularly some PNGs / screenshots. (some parts may be outdated)&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
This page is '''partially outdated''' and needs an overhaul. If you can help with updating the page, please contact the [https://inkscape.org/en/community/mailing-lists/ Inkscape developers mailing list, or the docs mailing list].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For '''alternative information sources''', also see:&lt;br /&gt;
&lt;br /&gt;
* [http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Extensions.html The comprehensive guide by Tavmjong Bah (refers to Inkscape 0.48)]&lt;br /&gt;
&lt;br /&gt;
* More info about other, user-created extensions can be found &lt;br /&gt;
** [https://inkscape.org/en/download/addons/ in our website's addon gallery] &lt;br /&gt;
** and in the [[Extension_repository | Extension Repository page]] of the Wiki.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Color=&lt;br /&gt;
&lt;br /&gt;
==Brighter==&lt;br /&gt;
Brightens the color(s) by dividing each RGB channel by 0.9. Channels with a value of 0 remain unaffected. Although brighter and darker are inverse operations, the results of a series of invocations will cause inconstancies due to rounding errors. Use '''More Light''' if you want to brighten up black areas as well.&lt;br /&gt;
&lt;br /&gt;
==Custom...==&lt;br /&gt;
&lt;br /&gt;
Allows you to evaluate different functions for each channel. '''r''', '''g''' and '''b''' are the ''normalized'' values of the red, green and blue channels. The resulting RGB values are automatically clamped.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This effect is half broken in 0.45! The original values are overwritten by the new ones, which means things like the last example won't work as expected.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Default (doesn't change anything):&lt;br /&gt;
:Red Function:'''r'''&lt;br /&gt;
:Green Function:'''g'''&lt;br /&gt;
:Blue Function:'''b'''&lt;br /&gt;
&lt;br /&gt;
Half the red, swap green and blue:&lt;br /&gt;
:Red Function:'''r*0.5'''&lt;br /&gt;
:Green Function:'''b'''&lt;br /&gt;
:Blue Function:'''g'''&lt;br /&gt;
&lt;br /&gt;
ITU-R Recommendation BT.709 for grayscale:&lt;br /&gt;
:Red Function:'''0.2125 * r + 0.7154 * g + 0.0721 * b'''&lt;br /&gt;
:Green Function:'''0.2125 * r + 0.7154 * g + 0.0721 * b'''&lt;br /&gt;
:Blue Function:'''0.2125 * r + 0.7154 * g + 0.0721 * b'''&lt;br /&gt;
&lt;br /&gt;
==Darker==&lt;br /&gt;
&lt;br /&gt;
Darkens the color(s) by multiplying each RGB channel with 0.9. Although brighter and darker are inverse operations, the results of a series of invocations will cause inconstancies due to rounding errors. '''Less Light''' is usually a better option, because it operates in the HSL color space.&lt;br /&gt;
&lt;br /&gt;
==Desaturate==&lt;br /&gt;
&lt;br /&gt;
Desaturates the color(s) by dividing the sum of the minimum and maximum channel values by two. Use '''Grayscale''' if you want something closer to the human perception of luminance.&lt;br /&gt;
&lt;br /&gt;
==Grayscale==&lt;br /&gt;
&lt;br /&gt;
Creates a grayscale version of the color(s) via the PAL/NTSC formula (0.299 * RED + 0.587 * GREEN + 0.114 * BLUE).&lt;br /&gt;
&lt;br /&gt;
==Less Hue==&lt;br /&gt;
&lt;br /&gt;
Converts to HSL color space, subtracts 0.05 from the hue, wraps if necessary, and converts it back to RGB again.&lt;br /&gt;
&lt;br /&gt;
==Less Light==&lt;br /&gt;
&lt;br /&gt;
Converts to HSL color space, subtracts 0.05 from the lightness, clamps if necessary, and converts it back to RGB again.&lt;br /&gt;
&lt;br /&gt;
==Less Saturation==&lt;br /&gt;
&lt;br /&gt;
Converts to HSL color space, subtracts 0.05 from the saturation, clamps if necessary, and converts it back to RGB again.&lt;br /&gt;
&lt;br /&gt;
==More Hue==&lt;br /&gt;
&lt;br /&gt;
Converts to HSL color space, adds 0.05 from to hue, wraps if necessary, and converts it back to RGB again.&lt;br /&gt;
&lt;br /&gt;
==More Light==&lt;br /&gt;
&lt;br /&gt;
Converts to HSL color space, adds 0.05 from to lightness, clamps if necessary, and converts it back to RGB again.&lt;br /&gt;
&lt;br /&gt;
==More Saturation==&lt;br /&gt;
&lt;br /&gt;
Converts to HSL color space, adds 0.05 from to saturation, clamps if necessary, and converts it back to RGB again.&lt;br /&gt;
&lt;br /&gt;
==Negative==&lt;br /&gt;
&lt;br /&gt;
Inverts each RGB channel (255-value).&lt;br /&gt;
&lt;br /&gt;
==Randomize==&lt;br /&gt;
&lt;br /&gt;
Converts to HSL, randomizes hue and/or saturation and/or lightness and converts it back to RGB.&lt;br /&gt;
&lt;br /&gt;
==Remove Blue==&lt;br /&gt;
&lt;br /&gt;
Sets the blue channel to 0.&lt;br /&gt;
&lt;br /&gt;
==Remove Green==&lt;br /&gt;
&lt;br /&gt;
Sets the green channel to 0.&lt;br /&gt;
&lt;br /&gt;
==Remove Red==&lt;br /&gt;
&lt;br /&gt;
Sets the red channel to 0.&lt;br /&gt;
&lt;br /&gt;
==Replace Color...==&lt;br /&gt;
&lt;br /&gt;
Replaces a specific color with another one.&lt;br /&gt;
&lt;br /&gt;
==RGB Barrel==&lt;br /&gt;
&lt;br /&gt;
Rotates the RGB channels (RGB-&amp;gt;BRG-&amp;gt;GBR-&amp;gt;RGB...).&lt;br /&gt;
&lt;br /&gt;
=Developer Examples=&lt;br /&gt;
&lt;br /&gt;
=Export=&lt;br /&gt;
==Groups to PNGs==&lt;br /&gt;
&lt;br /&gt;
=Generate from Path=&lt;br /&gt;
==Inset/Outset Halo==&lt;br /&gt;
&lt;br /&gt;
[[Image:InsetOutsetExample.png]]&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
; Width: 20&lt;br /&gt;
; Number of steps: 5&lt;br /&gt;
&lt;br /&gt;
Creates translucent copies of the path inside and outside the path.&lt;br /&gt;
&lt;br /&gt;
==Extrude==&lt;br /&gt;
[[Image:ExtrudeExample.png]]&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
; Magnitude: 20&lt;br /&gt;
; Angle: 45&lt;br /&gt;
&lt;br /&gt;
==Interpolate==&lt;br /&gt;
===Outline===&lt;br /&gt;
Iterpolate does a linear interpolation between 2 or more paths. It basically means that it &amp;quot;fills in the gaps&amp;quot; between the paths according to the number of steps given. &lt;br /&gt;
&lt;br /&gt;
===Basic Usage===&lt;br /&gt;
To use the interpolation effect, select the paths that you wish to interpolate, and go to Effects &amp;gt; Generate From Path &amp;gt; Interpolate. Choose your options, and Click OK.&lt;br /&gt;
&lt;br /&gt;
===Basic Example===&lt;br /&gt;
View figure 1 below, where there are 2 identical paths.&lt;br /&gt;
&lt;br /&gt;
[[Image:Interpolate1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is the result when the interpolation effect is called with a &amp;quot;Steps&amp;quot; value of 6.&lt;br /&gt;
&lt;br /&gt;
[[Image:Interpolate2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Options===&lt;br /&gt;
One of the great features of the inkscape interpolation is &amp;quot;transform style&amp;quot;, which transforms the  &lt;br /&gt;
&lt;br /&gt;
It appears that you need to convert an object to a path first (Path &amp;gt; Object to path ; Shift-Ctrl-c). You can alter the number of steps used and choose one of two methods.&lt;br /&gt;
&lt;br /&gt;
[[Image:interpolate_blueSquare-redCircle.png]]&lt;br /&gt;
==Pattern along Path==&lt;br /&gt;
&lt;br /&gt;
Star pattern and a line path:&lt;br /&gt;
&lt;br /&gt;
[[Image:PatternAlongPathExample1.png]]&lt;br /&gt;
&lt;br /&gt;
Pattern along path:&lt;br /&gt;
&lt;br /&gt;
[[Image:PatternAlongPathExample2.png]]&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
; Copies of the pattern: repeated&lt;br /&gt;
; Deformation type: snake&lt;br /&gt;
; Space between copies: 0&lt;br /&gt;
; Normal offset: 0&lt;br /&gt;
; Tangential offset: 0&lt;br /&gt;
; Pattern is vertical: unchecked&lt;br /&gt;
; Duplicate the pattern before deformation: checked&lt;br /&gt;
&lt;br /&gt;
[[Image:PatternAlongPathExample3.png]]&lt;br /&gt;
&lt;br /&gt;
Modified parameter:&lt;br /&gt;
; Deformation type: ribbon&lt;br /&gt;
&lt;br /&gt;
=Images=&lt;br /&gt;
&lt;br /&gt;
=Modify Path=&lt;br /&gt;
==Envelope==&lt;br /&gt;
==Add Nodes==&lt;br /&gt;
&lt;br /&gt;
Adds extra nodes to the segments of a shape according to the options set.&lt;br /&gt;
&lt;br /&gt;
[[File:AddNodes.png]]&lt;br /&gt;
&lt;br /&gt;
==Color Markers to Match Stroke==&lt;br /&gt;
==Flatten Beziers==&lt;br /&gt;
[[Image:FlattenBeziersExample.png]]&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
; Flatness: 10&lt;br /&gt;
&lt;br /&gt;
==Fractalize==&lt;br /&gt;
[[Image:FractalizeExample.png]]&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
; Subdivisions: 6&lt;br /&gt;
; Smoothness: 4.0&lt;br /&gt;
&lt;br /&gt;
==Jitter nodes==&lt;br /&gt;
[[Image:JitterNodesExample.png]]&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
; Maximum Displacement: 50.0&lt;br /&gt;
; Shift Nodes: checked&lt;br /&gt;
; Shift Node Handles: checked&lt;br /&gt;
; Use Normal Distribution: checked&lt;br /&gt;
&lt;br /&gt;
==Perspective==&lt;br /&gt;
==Straighten Segments==&lt;br /&gt;
[[Image:StraightenSegmentsExample.png]]&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
; Percent: 50&lt;br /&gt;
; Behavior: 1&lt;br /&gt;
&lt;br /&gt;
=Render=&lt;br /&gt;
&lt;br /&gt;
==3D polyhedron==&lt;br /&gt;
&lt;br /&gt;
'''3D polyhedron''' draws polyhedra stored in OBJ files. A selection of polygons are provided with Inkscape, and others can be used by selection &amp;lt;tt&amp;gt;Load From File...&amp;lt;/tt&amp;gt; in the extension dialogue.&lt;br /&gt;
&lt;br /&gt;
[[image:3D_polyhedron_-_snub_dodecahedron.png|thumb|Drawing faces]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Alphabet soup==&lt;br /&gt;
&lt;br /&gt;
'''Alphabet Soup''' generates a series of shapes that resemble a given text string.&lt;br /&gt;
&lt;br /&gt;
[[file:Alphabet_soup_-_Inkscape.png‎|thumb|250px|Output for &amp;quot;Inkscape&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
==Barcode==&lt;br /&gt;
&lt;br /&gt;
Renders a data string as various types of barcode. Choices are:&lt;br /&gt;
*EAN8&lt;br /&gt;
*EAN13&lt;br /&gt;
*UPC-A&lt;br /&gt;
*UPC-E&lt;br /&gt;
*Code39&lt;br /&gt;
*Code39Ext&lt;br /&gt;
*Code93&lt;br /&gt;
*Code128&lt;br /&gt;
*RM4CC/RM4SCC&lt;br /&gt;
&lt;br /&gt;
[[File:BarcodeEffect.png]]&lt;br /&gt;
&lt;br /&gt;
==Calendar==&lt;br /&gt;
&lt;br /&gt;
Generates a rather impressive calendar according to your own colours, month/day names etc.&lt;br /&gt;
&lt;br /&gt;
[[File:CalendarEffect.png]]&lt;br /&gt;
&lt;br /&gt;
==Cartesian grid==&lt;br /&gt;
&lt;br /&gt;
Generates a Cartesian Grid according to your parameters. The default looks like this:&lt;br /&gt;
&lt;br /&gt;
[[File:CartesianGridEffect.png]]&lt;br /&gt;
&lt;br /&gt;
==Draw from triangle==&lt;br /&gt;
&lt;br /&gt;
Draws various shapes based on a triangle you have selected.&lt;br /&gt;
&lt;br /&gt;
[[File:DrawfromtriangleEffect.png]]&lt;br /&gt;
&lt;br /&gt;
==Foldable box==&lt;br /&gt;
&lt;br /&gt;
Produces a net that you could print out and fold &amp;amp; stick into a box. Nets look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:FoldableBoxEffect.png]]&lt;br /&gt;
&lt;br /&gt;
==Function plotter==&lt;br /&gt;
&lt;br /&gt;
Generates the plot of a function using a selected rectangle as the grid. Can cope with Cartesian and Polar coordinates, uses [http://docs.python.org/library/math.html Python's maths functions].&lt;br /&gt;
&lt;br /&gt;
::I can't get this to work properly; for example y=x (Cartesian) produces this:&lt;br /&gt;
&lt;br /&gt;
::[[File:FunctionPlotterFailure.png]]&lt;br /&gt;
&lt;br /&gt;
::Is this an error in the settings (so I can add information on using the effect) or a problem with the script itself? [[User:Legio noctis|Legio noctis]] 20:54, 11 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::I get the expected function plot (straight diagonal line) by either activating the checkbox for 'Calculate first derivative numerically' or setting the first derivative to '1' (the slope of the curve '''f(x)=x''' is '''f’(x) = 1''') --[[User:~suv|~suv]] 18:09, 12 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Gear==&lt;br /&gt;
&lt;br /&gt;
Produces a gear/cog shape with a chosen number of teeth, pitch and pressure angle.&lt;br /&gt;
&lt;br /&gt;
[[File:GearEffect.png]]&lt;br /&gt;
&lt;br /&gt;
==Grid==&lt;br /&gt;
&lt;br /&gt;
Generates a grid similar to the [[Effect_reference#Cartesian_grid|Cartesian grid]] but without the bolded lines (which could be used for axes etc.).&lt;br /&gt;
&lt;br /&gt;
[[File:GridEffect.png]]&lt;br /&gt;
&lt;br /&gt;
==Guides==&lt;br /&gt;
Allows you to render guides onto the page at regular positions horizontally and vertically.&lt;br /&gt;
&lt;br /&gt;
For example, choosing Vertical 1/3 and Horizontal 1/3 renders 'rule of thirds' guides&amp;amp;mdash;three horizontal and three vertical, equally spaced.&lt;br /&gt;
&lt;br /&gt;
==LaTeX formula==&lt;br /&gt;
Renders a string as a formula in [[LaTeX]]. You probably need a TeX distribution installed to do this (is it included? I don't know, I already have MiKTeX). If you do not have one, try installing [http://miktex.org/ MiKTeX] or the [http://www.lyx.org/ LyX] bundle (which includes TeX and LaTeX configured).&lt;br /&gt;
&lt;br /&gt;
[[File:LatexFormulaEffect.png]]&lt;br /&gt;
&lt;br /&gt;
==L-system==&lt;br /&gt;
&lt;br /&gt;
Produces this sort of thing:&lt;br /&gt;
&lt;br /&gt;
[[File:LSystemEffect.png]]&lt;br /&gt;
&lt;br /&gt;
==Parametric curves==&lt;br /&gt;
&lt;br /&gt;
==Perfect-bound cover template==&lt;br /&gt;
&lt;br /&gt;
==Polar grid==&lt;br /&gt;
&lt;br /&gt;
==Printing marks==&lt;br /&gt;
&lt;br /&gt;
==Random tree==&lt;br /&gt;
&lt;br /&gt;
==Sequential labels==&lt;br /&gt;
&lt;br /&gt;
==Spirograph==&lt;br /&gt;
&lt;br /&gt;
==Triangle==&lt;br /&gt;
Renders a certain size triangle. Also achievable (although to a less fine degree) with the &amp;lt;tt&amp;gt;Create stars and polygons&amp;lt;/tt&amp;gt; tool set up correctly.&lt;br /&gt;
&lt;br /&gt;
==Wireframe sphere==&lt;br /&gt;
&lt;br /&gt;
=Visualise Path=&lt;br /&gt;
&lt;br /&gt;
==Number Nodes==&lt;br /&gt;
[[Image:NumberNodesExample.png]]&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
; Font Size: 20&lt;br /&gt;
; Dot Size: 10px&lt;br /&gt;
&lt;br /&gt;
==Kochify==&lt;br /&gt;
To use, select one path consisting of only line segments and apply the effect.  Kochify will replace the given path with a path that has a copy of the original path in between each two adjacent nodes in the original path.  If the original path input has bezier curves, the effect will effectively replace them with lines and then apply the effect.  For more information about Kochify from a developers perspective, look [http://www.ekips.org/comp/inkscape/koch.php here].  Requires: python.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;br /&gt;
&lt;br /&gt;
=In developpement=&lt;br /&gt;
* [[inkcards]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Talk:Extensions:_INX_widgets_and_parameters&amp;diff=117722</id>
		<title>Talk:Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Talk:Extensions:_INX_widgets_and_parameters&amp;diff=117722"/>
		<updated>2020-04-09T16:30:36Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== User [[User:Moini|Moini]] Added this talk into the page : ==&lt;br /&gt;
To document:&lt;br /&gt;
* Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
* type &amp;quot;description&amp;quot;&lt;br /&gt;
* translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
* implements-custom-gui &lt;br /&gt;
[[User:Moini|Moini]] ([[User talk:Moini|talk]]) 23:53, 23 March 2020‎ (UTC)&lt;br /&gt;
&lt;br /&gt;
# Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
#*    I could not figure out how to set the height to something else than one row ?&lt;br /&gt;
# type &amp;quot;description&amp;quot;&lt;br /&gt;
#*    A param of type description is replaced by label. The old format (still supported) should be put in another section.&lt;br /&gt;
# translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
#*    Have to be done, but I'm not certain how it works. In some cases, the translatable element is the tag value and in other, it's an attribute.&lt;br /&gt;
# implements-custom-gui &lt;br /&gt;
#*    Never used it, what is it ?&lt;br /&gt;
[[User:KBenoit|KBenoit]] ([[User talk:KBenoit|talk]]) 01:01, 26 March 2020 (UTC)&lt;br /&gt;
&lt;br /&gt;
# Hi :) Here's a screenshot:&lt;br /&gt;
#: https://imgur.com/Sn6B1UZ.png&lt;br /&gt;
#: and here's the corresponding inx file:&lt;br /&gt;
#: https://wiki.inkscape.org/wiki/index.php?title=Updating_your_Extension_for_1.0#Changes_to_parameter_definitions (click on 'Expand')&lt;br /&gt;
# Right! Sorry about the wrong info.&lt;br /&gt;
# I don't know any more than what is written here: https://wiki.inkscape.org/wiki/index.php?title=Updating_your_Extension_for_1.0#Changes_to_parameter_definitions - ask ede123 / Patrick if there's anything else that you need to know.&lt;br /&gt;
# See https://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.0#Extension_dialogs (last item)&lt;br /&gt;
[[User:Moini|Moini]] ([[User talk:Moini|talk]]) 23:43, 27 March 2020‎ (UTC)&lt;br /&gt;
&lt;br /&gt;
For (1) what I dont get is how to set the height to a minumum of more than one line ? Does it has to be done by other (side) elements and cover the extra left automatically ? Is there other way? For (4), there's no reference to custom-gui?&lt;br /&gt;
[[User:KBenoit|KBenoit]] ([[User talk:KBenoit|talk]]) 15:31, 9 April 2020 (UTC)&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Talk:Extensions:_INX_widgets_and_parameters&amp;diff=117721</id>
		<title>Talk:Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Talk:Extensions:_INX_widgets_and_parameters&amp;diff=117721"/>
		<updated>2020-04-09T16:17:42Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* User Moini Added this talk into the page : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== User [[User:Moini|Moini]] Added this talk into the page : ==&lt;br /&gt;
To document:&lt;br /&gt;
* Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
* type &amp;quot;description&amp;quot;&lt;br /&gt;
* translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
* implements-custom-gui &lt;br /&gt;
[[User:Moini|Moini]] ([[User talk:Moini|talk]]) 23:53, 23 March 2020‎ (UTC)&lt;br /&gt;
&lt;br /&gt;
# Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
#*    I could not figure out how to set the height to something else than one row ?&lt;br /&gt;
# type &amp;quot;description&amp;quot;&lt;br /&gt;
#*    A param of type description is replaced by label. The old format (still supported) should be put in another section.&lt;br /&gt;
# translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
#*    Have to be done, but I'm not certain how it works. In some cases, the translatable element is the tag value and in other, it's an attribute.&lt;br /&gt;
# implements-custom-gui &lt;br /&gt;
#*    Never used it, what is it ?&lt;br /&gt;
[[User:KBenoit|KBenoit]] ([[User talk:KBenoit|talk]]) 01:01, 26 March 2020 (UTC)&lt;br /&gt;
&lt;br /&gt;
# Hi :) Here's a screenshot:&lt;br /&gt;
#: https://imgur.com/Sn6B1UZ.png&lt;br /&gt;
#: and here's the corresponding inx file:&lt;br /&gt;
#: https://wiki.inkscape.org/wiki/index.php?title=Updating_your_Extension_for_1.0#Changes_to_parameter_definitions (click on 'Expand')&lt;br /&gt;
# Right! Sorry about the wrong info.&lt;br /&gt;
# I don't know any more than what is written here: https://wiki.inkscape.org/wiki/index.php?title=Updating_your_Extension_for_1.0#Changes_to_parameter_definitions - ask ede123 / Patrick if there's anything else that you need to know.&lt;br /&gt;
# See https://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.0#Extension_dialogs (last item)&lt;br /&gt;
[[User:Moini|Moini]] ([[User talk:Moini|talk]]) 23:43, 27 March 2020‎ (UTC)&lt;br /&gt;
&lt;br /&gt;
For (1) what I dont get is how to set the height to a minumum of more than one line ? Does it has to be done by other (side) elements and cover the extra left automatically ? Is there other way? For 4, there's no reference to custom-gui?&lt;br /&gt;
[[User:KBenoit|KBenoit]] ([[User talk:KBenoit|talk]]) 15:31, 9 April 2020 (UTC)&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Updating_your_Extension_for_1.0&amp;diff=117720</id>
		<title>Updating your Extension for 1.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Updating_your_Extension_for_1.0&amp;diff=117720"/>
		<updated>2020-04-09T16:09:29Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: Add syntax highlighting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a preliminary and incomplete list of actions to take for updating Python extensions for Inkscape 1.0:&lt;br /&gt;
&lt;br /&gt;
== Adjusting folder structure ==&lt;br /&gt;
&lt;br /&gt;
For easier extension 'installation' by users and for having a better overview about the installed extensions, you can now put extensions into their own subfolders of the &amp;lt;code&amp;gt;extensions&amp;lt;/code&amp;gt; directory. This is optional.&lt;br /&gt;
&lt;br /&gt;
When specifying the command in the .inx file, you can use the new parameter 'location'.&lt;br /&gt;
&lt;br /&gt;
* If you set &amp;lt;code&amp;gt;location=&amp;quot;extensions&amp;quot;&amp;lt;/code&amp;gt; (de-facto default in 0.92.x), it will assume the path is relative to either user or system extensions folder.&lt;br /&gt;
* If it's &amp;lt;code&amp;gt;location=&amp;quot;inx&amp;quot;&amp;lt;/code&amp;gt; (new and recommended in 1.0), it will assume the path is relative to the .inx file location. &lt;br /&gt;
&lt;br /&gt;
An extension that uses the following snippet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
    &amp;lt;command location=&amp;quot;inx&amp;quot; interpreter=&amp;quot;python&amp;quot;&amp;gt;hello.py&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
can be put into any subfolder in &amp;lt;code&amp;gt;extensions&amp;lt;/code&amp;gt; or into the &amp;lt;code&amp;gt;extensions&amp;lt;/code&amp;gt; folder itself, as long as the file &amp;lt;code&amp;gt;hello.py&amp;lt;/code&amp;gt; is in that same folder, at the same hierarchy level.&lt;br /&gt;
&lt;br /&gt;
The old parameter &amp;lt;code&amp;gt;reldir&amp;lt;/code&amp;gt; is deprecated. It is recommended to use Unix style path separators (i.e. &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;), if your script file is located in a nested subdirectory (should be a very rare case).&lt;br /&gt;
&lt;br /&gt;
== Updating *.inx files ==&lt;br /&gt;
&lt;br /&gt;
=== Remove dependency listings ===&lt;br /&gt;
&lt;br /&gt;
Remove the dependency listings for the following modules:&lt;br /&gt;
&lt;br /&gt;
* bezmisc.py&lt;br /&gt;
* coloreffect.py&lt;br /&gt;
* cspsubdiv.py&lt;br /&gt;
* cubicsuperpath.py&lt;br /&gt;
* ffgeom.py&lt;br /&gt;
* inkex.py (removal not strictly required)&lt;br /&gt;
* pathmodifier.py&lt;br /&gt;
* simplepath.py&lt;br /&gt;
* simplestyle.py&lt;br /&gt;
* simpletransform.py&lt;br /&gt;
* more?&lt;br /&gt;
&lt;br /&gt;
This change is backwards compatible (as long as the user has a fully functioning Inkscape installation).&lt;br /&gt;
Not removing these will result in the extension not being selectable (disabled) in Inkscape 1.0 or higher.&lt;br /&gt;
&lt;br /&gt;
=== Changes to parameter definitions ===&lt;br /&gt;
&lt;br /&gt;
There are also some updates to the parameter definitions in .inx files. While these are intended to be backwards compatible to 0.92, you may wish to review the changes below:&lt;br /&gt;
&lt;br /&gt;
* '''Underscores''' in inx parameter tags and attributes for translation '''can be dropped''' entirely. Use &amp;lt;code&amp;gt;translatable=&amp;quot;no&amp;quot;&amp;lt;/code&amp;gt; to make an item (e.g.e a unit name) untranslatable.&lt;br /&gt;
* &amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; can be renamed to &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;param type=&amp;quot;enum&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; is deprecated, instead use optiongroups for dropdown selections (comboboxes) and radio buttons (e.g. &amp;lt;code&amp;gt;&amp;lt;param type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;combo&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;&amp;lt;param type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;radio&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;). &lt;br /&gt;
* Appearance value &amp;lt;code&amp;gt;minimal&amp;lt;/code&amp;gt; is deprecated&lt;br /&gt;
* Choosing files / folders with &amp;lt;code&amp;gt;&amp;lt;param type=&amp;quot;path&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; (these return the path as a string to the Python script):&lt;br /&gt;
** Files:&lt;br /&gt;
*** Choose a file, with file type restriction (optional): &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;my_file&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;file&amp;quot; filetypes=&amp;quot;png,jpg&amp;quot; gui-text=&amp;quot;A file:&amp;quot;&amp;gt;my/path/to/file.png&amp;lt;/param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Choose multiple files (file type restriction possible, too): &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;my_files&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;files&amp;quot; gui-text=&amp;quot;Multiple files:&amp;quot;&amp;gt;my/path/to/file.png&amp;lt;/param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Create a new file: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;my_new_file&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;file_new&amp;quot; filetypes=&amp;quot;png&amp;quot; gui-text=&amp;quot;A new file:&amp;quot;&amp;gt;my/path/to/file.png&amp;lt;/param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
** Folders:&lt;br /&gt;
*** Choose a folder: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;my_folder&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;folder&amp;quot; gui-text=&amp;quot;A folder:&amp;quot;&amp;gt;my/path/&amp;lt;/param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Choose multiple folders: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;my_folders&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;folders&amp;quot; gui-text=&amp;quot;Folders:&amp;quot;&amp;gt;my/path/&amp;lt;/param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Create a new folder: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;my_new_folder&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;folder_new&amp;quot;  filetypes=&amp;quot;png&amp;quot; gui-text=&amp;quot;A new folder:&amp;quot;&amp;gt;my/path/&amp;lt;/param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* Color choosers: make them more compact with &amp;lt;code&amp;gt;appearance=&amp;quot;colorbutton&amp;quot;&amp;lt;/code&amp;gt; for parameters of type &amp;lt;code&amp;gt;color&amp;lt;/code&amp;gt;&lt;br /&gt;
* Multiline text entry fields are available with &amp;lt;code&amp;gt;appearance=&amp;quot;multiline&amp;quot;&amp;lt;/code&amp;gt; for parameters of type &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
* The following new widgets (static, do not need to be read in by the .py file's option parser anymore):&lt;br /&gt;
** &amp;lt;code&amp;gt;label&amp;lt;/code&amp;gt;: (&amp;lt;code&amp;gt;&amp;lt;label&amp;gt;Some text&amp;lt;/label&amp;gt;&amp;lt;/code&amp;gt;), replaces parameters of type &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; (which never really were parameters in the actual sense), optionally with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;hbox&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;vbox&amp;lt;/code&amp;gt;: for layouting purposes (allow to pack child widgets into horizontally/vertically oriented boxes)&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;spacer/&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;separator/&amp;gt;&amp;lt;/code&amp;gt;: which add a variable space or separating line between child widgets.&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;image&amp;gt;my_image.svg&amp;lt;/image&amp;gt;&amp;lt;/code&amp;gt;: which allows to display an image in the extension UI&lt;br /&gt;
&lt;br /&gt;
Example file with many of the new features (click on Expand on the right to show, requires an image in the extensions directory with the correct name):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inkscape-extension xmlns=&amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Layout Demo&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;org.inkscape.test.layout_demo&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;dependency type=&amp;quot;executable&amp;quot; location=&amp;quot;extensions&amp;quot;&amp;gt;pathmodifier.py&amp;lt;/dependency&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;hbox&amp;gt;&lt;br /&gt;
        &amp;lt;vbox&amp;gt;&lt;br /&gt;
            &amp;lt;label appearance=&amp;quot;header&amp;quot;&amp;gt;Multiple vboxes packed into an hbox&amp;lt;/label&amp;gt;&lt;br /&gt;
            &amp;lt;hbox&amp;gt;&lt;br /&gt;
                &amp;lt;vbox&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;Vertical stack&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_bool&amp;quot; type=&amp;quot;bool&amp;quot; gui-text=&amp;quot;Boolean&amp;quot;&amp;gt;true&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_int&amp;quot; type=&amp;quot;int&amp;quot; gui-text=&amp;quot;Int:&amp;quot; &amp;gt;12345&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_float&amp;quot; type=&amp;quot;float&amp;quot; gui-text=&amp;quot;Float:&amp;quot;&amp;gt;1.2345&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_color&amp;quot; type=&amp;quot;color&amp;quot; appearance=&amp;quot;colorbutton&amp;quot; gui-text=&amp;quot;Color:&amp;quot;&amp;gt;0x12345678&amp;lt;/param&amp;gt;&lt;br /&gt;
                &amp;lt;/vbox&amp;gt;&lt;br /&gt;
                &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                &amp;lt;vbox&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;Vertical stack with separators&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_string&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Single line string:&amp;quot;&amp;gt;a string value&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;separator&amp;gt;&amp;lt;/separator&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_string_empty&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Empty single line:&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;separator&amp;gt;&amp;lt;/separator&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_string_multiline&amp;quot; type=&amp;quot;string&amp;quot; appearance=&amp;quot;multiline&amp;quot; gui-text=&amp;quot;Multiline string:&amp;quot;&amp;gt;a\nmultiline\nstring\nvalue&amp;lt;/param&amp;gt;&lt;br /&gt;
                &amp;lt;/vbox&amp;gt;&lt;br /&gt;
                &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                &amp;lt;vbox&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;Vertical stack with spacers&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_file_new&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;file_new&amp;quot;  filetypes=&amp;quot;png&amp;quot; gui-text=&amp;quot;A new file:&amp;quot;&amp;gt;my/path/to/file.png&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_file&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;file&amp;quot; filetypes=&amp;quot;png,jpg&amp;quot; gui-text=&amp;quot;A file:&amp;quot;&amp;gt;my/path/to/file.png&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_files&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;files&amp;quot; gui-text=&amp;quot;Multiple files:&amp;quot;&amp;gt;my/path/to/file.png&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                &amp;lt;/vbox&amp;gt;&lt;br /&gt;
                &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                &amp;lt;vbox&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;Vertical stack with expanding spacer&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;spacer size=&amp;quot;expand&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_folder&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;folder&amp;quot; gui-text=&amp;quot;A folder:&amp;quot;&amp;gt;my/path/&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_folders&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;folders&amp;quot; gui-text=&amp;quot;Folders:&amp;quot;&amp;gt;my/path/to/file.png&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_folder_new&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;folder_new&amp;quot; gui-text=&amp;quot;A new folder:&amp;quot;&amp;gt;my/path/&amp;lt;/param&amp;gt;&lt;br /&gt;
                &amp;lt;/vbox&amp;gt;&lt;br /&gt;
                &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                &amp;lt;vbox&amp;gt;&lt;br /&gt;
                  &amp;lt;label appearance=&amp;quot;header&amp;quot;&amp;gt;An image!&amp;lt;/label&amp;gt;&lt;br /&gt;
                  &amp;lt;image&amp;gt;ink_icon.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
                  &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                  &amp;lt;label appearance=&amp;quot;header&amp;quot; indent=&amp;quot;1&amp;quot;&amp;gt;Indented header&amp;lt;/label&amp;gt;&lt;br /&gt;
                  &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                  &amp;lt;label&amp;gt;For details please refer to&amp;lt;/label&amp;gt;&lt;br /&gt;
                  &amp;lt;label appearance=&amp;quot;url&amp;quot; indent=&amp;quot;1&amp;quot;&amp;gt;https://clickable.url&amp;lt;/label&amp;gt;&lt;br /&gt;
                &amp;lt;/vbox&amp;gt;&lt;br /&gt;
            &amp;lt;/hbox&amp;gt;&lt;br /&gt;
        &amp;lt;/vbox&amp;gt;&lt;br /&gt;
    &amp;lt;/hbox&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;effect needs-live-preview=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;object-type&amp;gt;all&amp;lt;/object-type&amp;gt;&lt;br /&gt;
        &amp;lt;effects-menu&amp;gt;&lt;br /&gt;
            &amp;lt;submenu _name=&amp;quot;Test&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/effects-menu&amp;gt;&lt;br /&gt;
    &amp;lt;/effect&amp;gt;&lt;br /&gt;
    &amp;lt;script&amp;gt;&lt;br /&gt;
        &amp;lt;command reldir=&amp;quot;extensions&amp;quot; interpreter=&amp;quot;python&amp;quot;&amp;gt;do_nothing.py&amp;lt;/command&amp;gt;&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/inkscape-extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating *.py files ==&lt;br /&gt;
&lt;br /&gt;
=== Collecting the options of the extension ===&lt;br /&gt;
&lt;br /&gt;
# Instead of &amp;lt;code&amp;gt;inkex.Effect.OptionParser.add_option&amp;lt;/code&amp;gt;, your extension should now use &amp;lt;code&amp;gt;inkex.Effect.arg_parser.add_argument&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The 'type' option now works with variables instead of strings. Use &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;&amp;quot;int&amp;quot;&amp;lt;/code&amp;gt; (same for float,...).&lt;br /&gt;
# The 'inkbool' type is now &amp;lt;code&amp;gt;inkex.Boolean&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;action=&amp;quot;store&amp;quot;&amp;lt;/code&amp;gt; can be removed.&lt;br /&gt;
&lt;br /&gt;
These changes are not backwards compatible. The old options will still work, but are deprecated and should no longer be used when you develop your extension for Inkscape 1.0 or higher.&lt;br /&gt;
&lt;br /&gt;
=== Replace specific functions ===&lt;br /&gt;
&lt;br /&gt;
When the .inx file is valid and not greyed out (meaning: a dependency is missing), you can start building the .py file up again.&lt;br /&gt;
&lt;br /&gt;
In the Inkscape extensions refactoring process for Inkscape 1.0, many inkex functions have been removed, or renamed, or moved, or options have changed. Wherever possible, Inkscape will try to replace the old function by the new one, and will give you a deprecation warning, with instructions what to replace them by.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;code&amp;gt;inkex.Effect.selected&amp;lt;/code&amp;gt; is replaced by &amp;lt;code&amp;gt;inkex.Effect.svg.selected&amp;lt;/code&amp;gt; - however, most replacements do not follow this naming scheme translation.&lt;br /&gt;
&lt;br /&gt;
These changes are not backwards compatible.&lt;br /&gt;
&lt;br /&gt;
'''The full Python API documentation is available on [https://inkscape.gitlab.io/extensions/documentation/ GitLab].'''&lt;br /&gt;
&lt;br /&gt;
=== Python 3 / Python 2 compatibility ===&lt;br /&gt;
&lt;br /&gt;
Test your extension with both Python 2 and Python 3, if you want it to work for as many users as possible. With the updated extensions, Inkscape does no longer require Python 2, so some users will probably be using Python 3, and may no longer have Python 2 installed on their system. See [[Extension_Interpreters]] for how to set the Python version for your extension in the preferences file (for testing).&lt;br /&gt;
&lt;br /&gt;
== Getting your extension added to Inkscape's stock extensions ==&lt;br /&gt;
&lt;br /&gt;
Inkscape now has a [https://gitlab.com/inkscape/extensions separate repository for its Python extensions], which is included into Inkscape proper by using a Git submodule.&lt;br /&gt;
&lt;br /&gt;
=== Writing tests ===&lt;br /&gt;
&lt;br /&gt;
Previously Inkscape didn't require any unit testing for code. You should now write test code, if you expect your module to be included into the Inkscape extensions repository and included in the shipped Inkscape release. In this case, a test suite file should be made in the tests directory for your extension. It should test each aspect of your extension and exercise all assumptions.&lt;br /&gt;
&lt;br /&gt;
If you are writing a standalone extension that users will install themselves, there is no strict requirement for tests. But having them will greatly improve your code and your ability to upgrade the code later. You can have tests in your own folders and use the extension's setup.py as a harness to run them (a setup.py file is also useful for installing your python code as a non-inkscape related python module, which might be useful too). See Python documentation for creating packages.&lt;br /&gt;
&lt;br /&gt;
=== Documenting your extension ===&lt;br /&gt;
&lt;br /&gt;
== Docstrings ==&lt;br /&gt;
&lt;br /&gt;
Include docstrings in your extension, so documentation can be built from them automatically (see [https://inkscape.gitlab.io/extensions/documentation/ inkex API documentation]) collects the inline documentation comments into a single document.&lt;br /&gt;
&lt;br /&gt;
== Submitting your extension for inclusion ==&lt;br /&gt;
&lt;br /&gt;
Visit https://gitlab.com/inkscape/extensions, fork the repository, and create a merge request on GitLab.&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Updating_your_Extension_for_1.0&amp;diff=117719</id>
		<title>Updating your Extension for 1.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Updating_your_Extension_for_1.0&amp;diff=117719"/>
		<updated>2020-04-09T16:06:33Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: Highlight the source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a preliminary and incomplete list of actions to take for updating Python extensions for Inkscape 1.0:&lt;br /&gt;
&lt;br /&gt;
== Adjusting folder structure ==&lt;br /&gt;
&lt;br /&gt;
For easier extension 'installation' by users and for having a better overview about the installed extensions, you can now put extensions into their own subfolders of the &amp;lt;code&amp;gt;extensions&amp;lt;/code&amp;gt; directory. This is optional.&lt;br /&gt;
&lt;br /&gt;
When specifying the command in the .inx file, you can use the new parameter 'location'.&lt;br /&gt;
&lt;br /&gt;
* If you set &amp;lt;code&amp;gt;location=&amp;quot;extensions&amp;quot;&amp;lt;/code&amp;gt; (de-facto default in 0.92.x), it will assume the path is relative to either user or system extensions folder.&lt;br /&gt;
* If it's &amp;lt;code&amp;gt;location=&amp;quot;inx&amp;quot;&amp;lt;/code&amp;gt; (new and recommended in 1.0), it will assume the path is relative to the .inx file location. &lt;br /&gt;
&lt;br /&gt;
An extension that uses the following snippet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
    &amp;lt;command location=&amp;quot;inx&amp;quot; interpreter=&amp;quot;python&amp;quot;&amp;gt;hello.py&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
can be put into any subfolder in &amp;lt;code&amp;gt;extensions&amp;lt;/code&amp;gt; or into the &amp;lt;code&amp;gt;extensions&amp;lt;/code&amp;gt; folder itself, as long as the file &amp;lt;code&amp;gt;hello.py&amp;lt;/code&amp;gt; is in that same folder, at the same hierarchy level.&lt;br /&gt;
&lt;br /&gt;
The old parameter &amp;lt;code&amp;gt;reldir&amp;lt;/code&amp;gt; is deprecated. It is recommended to use Unix style path separators (i.e. &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;), if your script file is located in a nested subdirectory (should be a very rare case).&lt;br /&gt;
&lt;br /&gt;
== Updating *.inx files ==&lt;br /&gt;
&lt;br /&gt;
=== Remove dependency listings ===&lt;br /&gt;
&lt;br /&gt;
Remove the dependency listings for the following modules:&lt;br /&gt;
&lt;br /&gt;
* bezmisc.py&lt;br /&gt;
* coloreffect.py&lt;br /&gt;
* cspsubdiv.py&lt;br /&gt;
* cubicsuperpath.py&lt;br /&gt;
* ffgeom.py&lt;br /&gt;
* inkex.py (removal not strictly required)&lt;br /&gt;
* pathmodifier.py&lt;br /&gt;
* simplepath.py&lt;br /&gt;
* simplestyle.py&lt;br /&gt;
* simpletransform.py&lt;br /&gt;
* more?&lt;br /&gt;
&lt;br /&gt;
This change is backwards compatible (as long as the user has a fully functioning Inkscape installation).&lt;br /&gt;
Not removing these will result in the extension not being selectable (disabled) in Inkscape 1.0 or higher.&lt;br /&gt;
&lt;br /&gt;
=== Changes to parameter definitions ===&lt;br /&gt;
&lt;br /&gt;
There are also some updates to the parameter definitions in .inx files. While these are intended to be backwards compatible to 0.92, you may wish to review the changes below:&lt;br /&gt;
&lt;br /&gt;
* '''Underscores''' in inx parameter tags and attributes for translation '''can be dropped''' entirely. Use &amp;lt;code&amp;gt;translatable=&amp;quot;no&amp;quot;&amp;lt;/code&amp;gt; to make an item (e.g.e a unit name) untranslatable.&lt;br /&gt;
* &amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; can be renamed to &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;param type=&amp;quot;enum&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; is deprecated, instead use optiongroups for dropdown selections (comboboxes) and radio buttons (e.g. &amp;lt;code&amp;gt;&amp;lt;param type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;combo&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;&amp;lt;param type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;radio&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;). &lt;br /&gt;
* Appearance value &amp;lt;code&amp;gt;minimal&amp;lt;/code&amp;gt; is deprecated&lt;br /&gt;
* Choosing files / folders with &amp;lt;code&amp;gt;&amp;lt;param type=&amp;quot;path&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; (these return the path as a string to the Python script):&lt;br /&gt;
** Files:&lt;br /&gt;
*** Choose a file, with file type restriction (optional): &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;my_file&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;file&amp;quot; filetypes=&amp;quot;png,jpg&amp;quot; gui-text=&amp;quot;A file:&amp;quot;&amp;gt;my/path/to/file.png&amp;lt;/param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Choose multiple files (file type restriction possible, too): &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;my_files&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;files&amp;quot; gui-text=&amp;quot;Multiple files:&amp;quot;&amp;gt;my/path/to/file.png&amp;lt;/param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Create a new file: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;my_new_file&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;file_new&amp;quot; filetypes=&amp;quot;png&amp;quot; gui-text=&amp;quot;A new file:&amp;quot;&amp;gt;my/path/to/file.png&amp;lt;/param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
** Folders:&lt;br /&gt;
*** Choose a folder: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;my_folder&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;folder&amp;quot; gui-text=&amp;quot;A folder:&amp;quot;&amp;gt;my/path/&amp;lt;/param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Choose multiple folders: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;my_folders&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;folders&amp;quot; gui-text=&amp;quot;Folders:&amp;quot;&amp;gt;my/path/&amp;lt;/param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Create a new folder: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;my_new_folder&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;folder_new&amp;quot;  filetypes=&amp;quot;png&amp;quot; gui-text=&amp;quot;A new folder:&amp;quot;&amp;gt;my/path/&amp;lt;/param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* Color choosers: make them more compact with &amp;lt;code&amp;gt;appearance=&amp;quot;colorbutton&amp;quot;&amp;lt;/code&amp;gt; for parameters of type &amp;lt;code&amp;gt;color&amp;lt;/code&amp;gt;&lt;br /&gt;
* Multiline text entry fields are available with &amp;lt;code&amp;gt;appearance=&amp;quot;multiline&amp;quot;&amp;lt;/code&amp;gt; for parameters of type &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
* The following new widgets (static, do not need to be read in by the .py file's option parser anymore):&lt;br /&gt;
** &amp;lt;code&amp;gt;label&amp;lt;/code&amp;gt;: (&amp;lt;code&amp;gt;&amp;lt;label&amp;gt;Some text&amp;lt;/label&amp;gt;&amp;lt;/code&amp;gt;), replaces parameters of type &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; (which never really were parameters in the actual sense), optionally with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;hbox&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;vbox&amp;lt;/code&amp;gt;: for layouting purposes (allow to pack child widgets into horizontally/vertically oriented boxes)&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;spacer/&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;separator/&amp;gt;&amp;lt;/code&amp;gt;: which add a variable space or separating line between child widgets.&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;image&amp;gt;my_image.svg&amp;lt;/image&amp;gt;&amp;lt;/code&amp;gt;: which allows to display an image in the extension UI&lt;br /&gt;
&lt;br /&gt;
Example file with many of the new features (click on Expand on the right to show, requires an image in the extensions directory with the correct name):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inkscape-extension xmlns=&amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Layout Demo&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;org.inkscape.test.layout_demo&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;dependency type=&amp;quot;executable&amp;quot; location=&amp;quot;extensions&amp;quot;&amp;gt;pathmodifier.py&amp;lt;/dependency&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;hbox&amp;gt;&lt;br /&gt;
        &amp;lt;vbox&amp;gt;&lt;br /&gt;
            &amp;lt;label appearance=&amp;quot;header&amp;quot;&amp;gt;Multiple vboxes packed into an hbox&amp;lt;/label&amp;gt;&lt;br /&gt;
            &amp;lt;hbox&amp;gt;&lt;br /&gt;
                &amp;lt;vbox&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;Vertical stack&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_bool&amp;quot; type=&amp;quot;bool&amp;quot; gui-text=&amp;quot;Boolean&amp;quot;&amp;gt;true&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_int&amp;quot; type=&amp;quot;int&amp;quot; gui-text=&amp;quot;Int:&amp;quot; &amp;gt;12345&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_float&amp;quot; type=&amp;quot;float&amp;quot; gui-text=&amp;quot;Float:&amp;quot;&amp;gt;1.2345&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_color&amp;quot; type=&amp;quot;color&amp;quot; appearance=&amp;quot;colorbutton&amp;quot; gui-text=&amp;quot;Color:&amp;quot;&amp;gt;0x12345678&amp;lt;/param&amp;gt;&lt;br /&gt;
                &amp;lt;/vbox&amp;gt;&lt;br /&gt;
                &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                &amp;lt;vbox&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;Vertical stack with separators&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_string&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Single line string:&amp;quot;&amp;gt;a string value&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;separator&amp;gt;&amp;lt;/separator&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_string_empty&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Empty single line:&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;separator&amp;gt;&amp;lt;/separator&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_string_multiline&amp;quot; type=&amp;quot;string&amp;quot; appearance=&amp;quot;multiline&amp;quot; gui-text=&amp;quot;Multiline string:&amp;quot;&amp;gt;a\nmultiline\nstring\nvalue&amp;lt;/param&amp;gt;&lt;br /&gt;
                &amp;lt;/vbox&amp;gt;&lt;br /&gt;
                &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                &amp;lt;vbox&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;Vertical stack with spacers&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_file_new&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;file_new&amp;quot;  filetypes=&amp;quot;png&amp;quot; gui-text=&amp;quot;A new file:&amp;quot;&amp;gt;my/path/to/file.png&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_file&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;file&amp;quot; filetypes=&amp;quot;png,jpg&amp;quot; gui-text=&amp;quot;A file:&amp;quot;&amp;gt;my/path/to/file.png&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_files&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;files&amp;quot; gui-text=&amp;quot;Multiple files:&amp;quot;&amp;gt;my/path/to/file.png&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                &amp;lt;/vbox&amp;gt;&lt;br /&gt;
                &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                &amp;lt;vbox&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;Vertical stack with expanding spacer&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;spacer size=&amp;quot;expand&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_folder&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;folder&amp;quot; gui-text=&amp;quot;A folder:&amp;quot;&amp;gt;my/path/&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_folders&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;folders&amp;quot; gui-text=&amp;quot;Folders:&amp;quot;&amp;gt;my/path/to/file.png&amp;lt;/param&amp;gt;&lt;br /&gt;
                    &amp;lt;param name=&amp;quot;param_folder_new&amp;quot; type=&amp;quot;path&amp;quot; mode=&amp;quot;folder_new&amp;quot; gui-text=&amp;quot;A new folder:&amp;quot;&amp;gt;my/path/&amp;lt;/param&amp;gt;&lt;br /&gt;
                &amp;lt;/vbox&amp;gt;&lt;br /&gt;
                &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                &amp;lt;vbox&amp;gt;&lt;br /&gt;
                  &amp;lt;label appearance=&amp;quot;header&amp;quot;&amp;gt;An image!&amp;lt;/label&amp;gt;&lt;br /&gt;
                  &amp;lt;image&amp;gt;ink_icon.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
                  &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                  &amp;lt;label appearance=&amp;quot;header&amp;quot; indent=&amp;quot;1&amp;quot;&amp;gt;Indented header&amp;lt;/label&amp;gt;&lt;br /&gt;
                  &amp;lt;spacer /&amp;gt;&lt;br /&gt;
                  &amp;lt;label&amp;gt;For details please refer to&amp;lt;/label&amp;gt;&lt;br /&gt;
                  &amp;lt;label appearance=&amp;quot;url&amp;quot; indent=&amp;quot;1&amp;quot;&amp;gt;https://clickable.url&amp;lt;/label&amp;gt;&lt;br /&gt;
                &amp;lt;/vbox&amp;gt;&lt;br /&gt;
            &amp;lt;/hbox&amp;gt;&lt;br /&gt;
        &amp;lt;/vbox&amp;gt;&lt;br /&gt;
    &amp;lt;/hbox&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;effect needs-live-preview=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;object-type&amp;gt;all&amp;lt;/object-type&amp;gt;&lt;br /&gt;
        &amp;lt;effects-menu&amp;gt;&lt;br /&gt;
            &amp;lt;submenu _name=&amp;quot;Test&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/effects-menu&amp;gt;&lt;br /&gt;
    &amp;lt;/effect&amp;gt;&lt;br /&gt;
    &amp;lt;script&amp;gt;&lt;br /&gt;
        &amp;lt;command reldir=&amp;quot;extensions&amp;quot; interpreter=&amp;quot;python&amp;quot;&amp;gt;do_nothing.py&amp;lt;/command&amp;gt;&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/inkscape-extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating *.py files ==&lt;br /&gt;
&lt;br /&gt;
=== Collecting the options of the extension ===&lt;br /&gt;
&lt;br /&gt;
# Instead of &amp;lt;code&amp;gt;inkex.Effect.OptionParser.add_option&amp;lt;/code&amp;gt;, your extension should now use &amp;lt;code&amp;gt;inkex.Effect.arg_parser.add_argument&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The 'type' option now works with variables instead of strings. Use &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;&amp;quot;int&amp;quot;&amp;lt;/code&amp;gt; (same for float,...).&lt;br /&gt;
# The 'inkbool' type is now &amp;lt;code&amp;gt;inkex.Boolean&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;action=&amp;quot;store&amp;quot;&amp;lt;/code&amp;gt; can be removed.&lt;br /&gt;
&lt;br /&gt;
These changes are not backwards compatible. The old options will still work, but are deprecated and should no longer be used when you develop your extension for Inkscape 1.0 or higher.&lt;br /&gt;
&lt;br /&gt;
=== Replace specific functions ===&lt;br /&gt;
&lt;br /&gt;
When the .inx file is valid and not greyed out (meaning: a dependency is missing), you can start building the .py file up again.&lt;br /&gt;
&lt;br /&gt;
In the Inkscape extensions refactoring process for Inkscape 1.0, many inkex functions have been removed, or renamed, or moved, or options have changed. Wherever possible, Inkscape will try to replace the old function by the new one, and will give you a deprecation warning, with instructions what to replace them by.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;code&amp;gt;inkex.Effect.selected&amp;lt;/code&amp;gt; is replaced by &amp;lt;code&amp;gt;inkex.Effect.svg.selected&amp;lt;/code&amp;gt; - however, most replacements do not follow this naming scheme translation.&lt;br /&gt;
&lt;br /&gt;
These changes are not backwards compatible.&lt;br /&gt;
&lt;br /&gt;
'''The full Python API documentation is available on [https://inkscape.gitlab.io/extensions/documentation/ GitLab].'''&lt;br /&gt;
&lt;br /&gt;
=== Python 3 / Python 2 compatibility ===&lt;br /&gt;
&lt;br /&gt;
Test your extension with both Python 2 and Python 3, if you want it to work for as many users as possible. With the updated extensions, Inkscape does no longer require Python 2, so some users will probably be using Python 3, and may no longer have Python 2 installed on their system. See [[Extension_Interpreters]] for how to set the Python version for your extension in the preferences file (for testing).&lt;br /&gt;
&lt;br /&gt;
== Getting your extension added to Inkscape's stock extensions ==&lt;br /&gt;
&lt;br /&gt;
Inkscape now has a [https://gitlab.com/inkscape/extensions separate repository for its Python extensions], which is included into Inkscape proper by using a Git submodule.&lt;br /&gt;
&lt;br /&gt;
=== Writing tests ===&lt;br /&gt;
&lt;br /&gt;
Previously Inkscape didn't require any unit testing for code. You should now write test code, if you expect your module to be included into the Inkscape extensions repository and included in the shipped Inkscape release. In this case, a test suite file should be made in the tests directory for your extension. It should test each aspect of your extension and exercise all assumptions.&lt;br /&gt;
&lt;br /&gt;
If you are writing a standalone extension that users will install themselves, there is no strict requirement for tests. But having them will greatly improve your code and your ability to upgrade the code later. You can have tests in your own folders and use the extension's setup.py as a harness to run them (a setup.py file is also useful for installing your python code as a non-inkscape related python module, which might be useful too). See Python documentation for creating packages.&lt;br /&gt;
&lt;br /&gt;
=== Documenting your extension ===&lt;br /&gt;
&lt;br /&gt;
== Docstrings ==&lt;br /&gt;
&lt;br /&gt;
Include docstrings in your extension, so documentation can be built from them automatically (see [https://inkscape.gitlab.io/extensions/documentation/ inkex API documentation]) collects the inline documentation comments into a single document.&lt;br /&gt;
&lt;br /&gt;
== Submitting your extension for inclusion ==&lt;br /&gt;
&lt;br /&gt;
Visit https://gitlab.com/inkscape/extensions, fork the repository, and create a merge request on GitLab.&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Talk:Extensions:_INX_widgets_and_parameters&amp;diff=117718</id>
		<title>Talk:Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Talk:Extensions:_INX_widgets_and_parameters&amp;diff=117718"/>
		<updated>2020-04-09T15:31:20Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: Question about multiline&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== User [[User:Moini|Moini]] Added this talk into the page : ==&lt;br /&gt;
To document:&lt;br /&gt;
* Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
* type &amp;quot;description&amp;quot;&lt;br /&gt;
* translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
* implements-custom-gui &lt;br /&gt;
[[User:Moini|Moini]] ([[User talk:Moini|talk]]) 23:53, 23 March 2020‎ (UTC)&lt;br /&gt;
&lt;br /&gt;
# Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
#*    I could not figure out how to set the height to something else than one row ?&lt;br /&gt;
# type &amp;quot;description&amp;quot;&lt;br /&gt;
#*    A param of type description is replaced by label. The old format (still supported) should be put in another section.&lt;br /&gt;
# translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
#*    Have to be done, but I'm not certain how it works. In some cases, the translatable element is the tag value and in other, it's an attribute.&lt;br /&gt;
# implements-custom-gui &lt;br /&gt;
#*    Never used it, what is it ?&lt;br /&gt;
[[User:KBenoit|KBenoit]] ([[User talk:KBenoit|talk]]) 01:01, 26 March 2020 (UTC)&lt;br /&gt;
&lt;br /&gt;
# Hi :) Here's a screenshot:&lt;br /&gt;
#: https://imgur.com/Sn6B1UZ.png&lt;br /&gt;
#: and here's the corresponding inx file:&lt;br /&gt;
#: https://wiki.inkscape.org/wiki/index.php?title=Updating_your_Extension_for_1.0#Changes_to_parameter_definitions (click on 'Expand')&lt;br /&gt;
# Right! Sorry about the wrong info.&lt;br /&gt;
# I don't know any more than what is written here: https://wiki.inkscape.org/wiki/index.php?title=Updating_your_Extension_for_1.0#Changes_to_parameter_definitions - ask ede123 / Patrick if there's anything else that you need to know.&lt;br /&gt;
# See https://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.0#Extension_dialogs (last item)&lt;br /&gt;
[[User:Moini|Moini]] ([[User talk:Moini|talk]]) 23:43, 27 March 2020‎ (UTC)&lt;br /&gt;
&lt;br /&gt;
For (1) what I dont get is how to set the height to a minumum of more than one line ? It has to be done by other (side) elements and cover the extra left automatically ? Is there other way ?&lt;br /&gt;
[[User:KBenoit|KBenoit]] ([[User talk:KBenoit|talk]]) 15:31, 9 April 2020 (UTC)&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=User_talk:Moini&amp;diff=117717</id>
		<title>User talk:Moini</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=User_talk:Moini&amp;diff=117717"/>
		<updated>2020-04-09T14:59:29Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: How to use wiki discussion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== User rename ==&lt;br /&gt;
&lt;br /&gt;
Hi Maren,&lt;br /&gt;
&lt;br /&gt;
I remember you got bureaucrat permissions during the hack-fest. Could you rename my Wiki user (see [[Special:RenameUser]]) to either &amp;quot;Patrick&amp;quot; or &amp;quot;Patrick87&amp;quot; (depending on whether you want to remove the unused user [[Special:Contributions/Patrick]] or not)?&lt;br /&gt;
&lt;br /&gt;
Cheers, [[User:Eduard|Eduard]] ([[User talk:Eduard|talk]]) 18:25, 23 November 2018 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Patrick,&lt;br /&gt;
&lt;br /&gt;
done. I can't remove users, only rename - and who knows, maybe that unknown Patrick will some day come back and claim his account. So you're Patrick87 now.&lt;br /&gt;
&lt;br /&gt;
[[User:Moini|Moini]] ([[User talk:Moini|talk]])&lt;br /&gt;
&lt;br /&gt;
: Danke! [[User:Patrick87|Patrick87]] ([[User talk:Patrick87|talk]]) 14:13, 24 November 2018 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Moini, I cleaned the discussion on INX Parameter as I did not realized you answered. We should add at the end, not inline the discussion. Like an email thread and sign our addition with four ~&lt;br /&gt;
[[User:KBenoit|KBenoit]] ([[User talk:KBenoit|talk]]) 14:59, 9 April 2020 (UTC)&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Talk:Extensions:_INX_widgets_and_parameters&amp;diff=117716</id>
		<title>Talk:Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Talk:Extensions:_INX_widgets_and_parameters&amp;diff=117716"/>
		<updated>2020-04-09T14:51:12Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: Cleanup the discussion to be able to see the flow of conversation.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== User [[User:Moini|Moini]] Added this talk into the page : ==&lt;br /&gt;
To document:&lt;br /&gt;
* Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
* type &amp;quot;description&amp;quot;&lt;br /&gt;
* translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
* implements-custom-gui &lt;br /&gt;
[[User:Moini|Moini]] ([[User talk:Moini|talk]]) 23:53, 23 March 2020‎ (UTC)&lt;br /&gt;
&lt;br /&gt;
# Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
#*    I could not figure out how to set the height to something else than one row ?&lt;br /&gt;
# type &amp;quot;description&amp;quot;&lt;br /&gt;
#*    A param of type description is replaced by label. The old format (still supported) should be put in another section.&lt;br /&gt;
# translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
#*    Have to be done, but I'm not certain how it works. In some cases, the translatable element is the tag value and in other, it's an attribute.&lt;br /&gt;
# implements-custom-gui &lt;br /&gt;
#*    Never used it, what is it ?&lt;br /&gt;
[[User:KBenoit|KBenoit]] ([[User talk:KBenoit|talk]]) 01:01, 26 March 2020 (UTC)&lt;br /&gt;
&lt;br /&gt;
# Hi :) Here's a screenshot:&lt;br /&gt;
#: https://imgur.com/Sn6B1UZ.png&lt;br /&gt;
#: and here's the corresponding inx file:&lt;br /&gt;
#: https://wiki.inkscape.org/wiki/index.php?title=Updating_your_Extension_for_1.0#Changes_to_parameter_definitions (click on 'Expand')&lt;br /&gt;
# Right! Sorry about the wrong info.&lt;br /&gt;
# I don't know any more than what is written here: https://wiki.inkscape.org/wiki/index.php?title=Updating_your_Extension_for_1.0#Changes_to_parameter_definitions - ask ede123 / Patrick if there's anything else that you need to know.&lt;br /&gt;
# See https://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.0#Extension_dialogs (last item)&lt;br /&gt;
[[User:Moini|Moini]] ([[User talk:Moini|talk]]) 23:43, 27 March 2020‎ (UTC)&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117633</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117633"/>
		<updated>2020-03-28T20:04:34Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* Tags for the parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Editing INX Parameters in 1.0 =&lt;br /&gt;
&lt;br /&gt;
In this section:&lt;br /&gt;
* When an attribute is in square brackets (&amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;), it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is optional.&lt;br /&gt;
* The 1 in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; is the indentation level that you want.&lt;br /&gt;
&lt;br /&gt;
== Tags for the layout ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;url&amp;quot;]&amp;gt;http://some/url&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tags for the parameters ==&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of tag &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; means the name of the argument (&amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt;) your command will get.&lt;br /&gt;
* Parameter values (when opening the dialog) are set to the last used value, which is saved in the user's preferences file (~/.config/inkscape/preferences.xml):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;inkscape&amp;gt;&lt;br /&gt;
  &amp;lt;group id=&amp;quot;extensions&amp;quot; com.attrib.id.param_name=&amp;quot;param value&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/inkscape&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The (default) values in the inx file are visible only when the user first uses the extension.&lt;br /&gt;
&lt;br /&gt;
=== Notebook ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Multiple views/options in the same dialog window.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | It helps with layouting, and allows you to retrieve the active page (tab) name.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-notebook.png|border]]&lt;br /&gt;
| It defaults to the first page.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page go here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;!-- You can add as many pages as you like --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
*The value of the selected &amp;lt;code&amp;gt;&amp;lt;page name&amp;gt;&amp;lt;/code&amp;gt; attribute will be passed as an argument to your extension.&lt;br /&gt;
**The default value is the name of the first page.&lt;br /&gt;
*If the same &amp;lt;code&amp;gt;&amp;lt;param name&amp;gt;&amp;lt;/code&amp;gt; is used in multiple tabs, its value will be taken from the last &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; it appears on.&lt;br /&gt;
**This means that it's best to use different names if the same parameter is used on multiple pages.&lt;br /&gt;
&lt;br /&gt;
=== Checkbox ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a boolean value &lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-boolean.png]]&lt;br /&gt;
| The default value is &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;bool&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;false&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
=== Numeric spinner ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get numbers, int or float&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-int.png]]&lt;br /&gt;
| The default value is 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;margin: auto;&amp;quot;&lt;br /&gt;
|+ With &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt;, you get a full width slider.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;border: 1px solid #a2a9b1; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float_full.png|center]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;labal&amp;quot; [min=&amp;quot;1&amp;quot;]   [max=&amp;quot;10&amp;quot;]  [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [min=&amp;quot;0.5&amp;quot;] [max=&amp;quot;5.0&amp;quot;] [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The widget has a precision of 0.1 for float.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; value is &amp;quot;0&amp;quot;.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; value is &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Text fields ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get text input&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-string.png]]&lt;br /&gt;
| The default value is the empty string and with such a value, the parameter is omitted.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] [max-length=&amp;quot;5&amp;quot; | appearance=&amp;quot;multiline&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can provide an integer to the attribute &amp;lt;code&amp;gt;max-lenght&amp;lt;/code&amp;gt; to limit the number of characters you can get.&lt;br /&gt;
&lt;br /&gt;
=== File chooser ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a path, either a file or a directory&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX path.png|none]] || Default's to the path of the folder containing the script&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Use one of:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file&amp;quot;     filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;files&amp;quot;    filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file_new&amp;quot; filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folders&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder_new&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The attribute &amp;lt;code&amp;gt;mode&amp;lt;/code&amp;gt; with a value of:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;quot;file&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;folder&amp;quot;&amp;lt;/code&amp;gt; (without &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;) open a file browser for selecting 1 object.&lt;br /&gt;
** The versions ending with a &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; open a file browser for selecting multiple objects.&lt;br /&gt;
** And the ones ending with &amp;lt;code&amp;gt;_new&amp;lt;/code&amp;gt; are for creating new objects.&lt;br /&gt;
* The &amp;lt;code&amp;gt;filetype&amp;lt;/code&amp;gt; attribute contains a list of file extensions to look for. In this example only svg or png files will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== A combobox or radio buttons ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a choice of predefined values&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup.png]]&lt;br /&gt;
| Default value is the first item&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;combo&amp;quot;|appearance=&amp;quot;radio&amp;quot;] [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The default &amp;lt;code&amp;gt;appearance&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;&amp;quot;radio&amp;quot;&amp;lt;/code&amp;gt;. The appearance &amp;lt;code&amp;gt;&amp;quot;combo&amp;quot;&amp;lt;/code&amp;gt; is also valid.&lt;br /&gt;
&lt;br /&gt;
=== Color ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a hex color value&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-color.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; height: 35px; background-color:#f0f0f0;&amp;quot; | [[File:INX color-btn.png]]&lt;br /&gt;
| Default value is &amp;lt;code&amp;gt;#000000FF&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: top;&amp;quot; |&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;padding-left: 6em;&amp;quot; | &amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;↑&amp;lt;/b&amp;gt;With&amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;↑&amp;lt;/b&amp;gt; the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;colorbutton&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height: 100px;&amp;quot; | &amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;⇇&amp;lt;/b&amp;gt; Without &amp;lt;code&amp;gt;appearance=&amp;quot;colorbutton&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;color&amp;quot; name=&amp;quot;varname&amp;quot; [appearance=&amp;quot;colorbutton&amp;quot; gui-text=&amp;quot;label&amp;quot;] [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The parameter value is an RGBA value in hexadecimal notation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To document:&lt;br /&gt;
&lt;br /&gt;
* Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
* type &amp;quot;description&amp;quot;&lt;br /&gt;
* translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
* implements-custom-gui&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Talk:Extensions:_INX_widgets_and_parameters&amp;diff=117625</id>
		<title>Talk:Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Talk:Extensions:_INX_widgets_and_parameters&amp;diff=117625"/>
		<updated>2020-03-26T01:03:09Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;User [[User:Moini|Moini]] Added this talk into the page :&lt;br /&gt;
&lt;br /&gt;
To document:&lt;br /&gt;
* Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
    I could not figure out how to set the height to something else than one row ?&lt;br /&gt;
* type &amp;quot;description&amp;quot;&lt;br /&gt;
    A param of type description is replaced by label. The old format (still supported) should be put in another section.&lt;br /&gt;
* translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
    Have to be done, but I'm not certain how it works. In some cases, the translatable element is the tag value and in other, it's an attribute.&lt;br /&gt;
* implements-custom-gui &lt;br /&gt;
    Never used it, what is it ?&lt;br /&gt;
[[User:KBenoit|KBenoit]] ([[User talk:KBenoit|talk]]) 01:01, 26 March 2020 (UTC)&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Talk:Extensions:_INX_widgets_and_parameters&amp;diff=117624</id>
		<title>Talk:Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Talk:Extensions:_INX_widgets_and_parameters&amp;diff=117624"/>
		<updated>2020-03-26T01:01:37Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: Discussion about Moini's comment&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;User [[User:Moini|Moini]] :&lt;br /&gt;
&lt;br /&gt;
To document:&lt;br /&gt;
* Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
    I could not figure out how to set the height to something else than one row ?&lt;br /&gt;
* type &amp;quot;description&amp;quot;&lt;br /&gt;
    A param of type description is replaced by label. The old format (still supported) should be put in another section.&lt;br /&gt;
* translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
    Have to be done, but I'm not certain how it works. In some cases, the translatable element is the tag value and in other, it's an attribute.&lt;br /&gt;
* implements-custom-gui &lt;br /&gt;
    Never used it, what is it ?&lt;br /&gt;
[[User:KBenoit|KBenoit]] ([[User talk:KBenoit|talk]]) 01:01, 26 March 2020 (UTC)&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117623</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117623"/>
		<updated>2020-03-25T19:53:09Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* A combobox or radio buttons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Editing INX Parameters in 1.0 =&lt;br /&gt;
&lt;br /&gt;
In this section:&lt;br /&gt;
* When an attribute is in square brackets (&amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;), it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is optional.&lt;br /&gt;
* The 1 in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; is the indentation level that you want.&lt;br /&gt;
&lt;br /&gt;
== Tags for the layout ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;url&amp;quot;]&amp;gt;http://some/url&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tags for the parameters ==&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of tag &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; means the name of the argument (&amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt;) your command will get.&lt;br /&gt;
* Parameter values (when opening the dialog) are set to the last used value, which is saved in the user's preferences file. The values in the inx file are visible only when the user first uses the extension.&lt;br /&gt;
&lt;br /&gt;
=== Notebook ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Multiple views/options in the same dialog window.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | It helps with layouting, and allows you to retrieve the active page (tab) name.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-notebook.png|border]]&lt;br /&gt;
| It defaults to the first page.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page go here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;!-- You can add as many pages as you like --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
*The value of the selected &amp;lt;code&amp;gt;&amp;lt;page name&amp;gt;&amp;lt;/code&amp;gt; attribute will be passed as an argument to your extension.&lt;br /&gt;
**The default value is the name of the first page.&lt;br /&gt;
*If the same &amp;lt;code&amp;gt;&amp;lt;param name&amp;gt;&amp;lt;/code&amp;gt; is used in multiple tabs, its value will be taken from the last &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; it appears on.&lt;br /&gt;
**This means that it's best to use different names if the same parameter is used on multiple pages.&lt;br /&gt;
&lt;br /&gt;
=== Checkbox ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a boolean value &lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-boolean.png]]&lt;br /&gt;
| The default value is &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;bool&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;false&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
=== Numeric spinner ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get numbers, int or float&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-int.png]]&lt;br /&gt;
| The default value is 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;margin: auto;&amp;quot;&lt;br /&gt;
|+ With &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt;, you get a full width slider.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;border: 1px solid #a2a9b1; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float_full.png|center]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;labal&amp;quot; [min=&amp;quot;1&amp;quot;]   [max=&amp;quot;10&amp;quot;]  [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [min=&amp;quot;0.5&amp;quot;] [max=&amp;quot;5.0&amp;quot;] [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The widget has a precision of 0.1 for float.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; value is &amp;quot;0&amp;quot;.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; value is &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Text fields ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get text input&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-string.png]]&lt;br /&gt;
| The default value is the empty string and with such a value, the parameter is omitted.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] [max-length=&amp;quot;5&amp;quot; | appearance=&amp;quot;multiline&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can provide an integer to the attribute &amp;lt;code&amp;gt;max-lenght&amp;lt;/code&amp;gt; to limit the number of characters you can get.&lt;br /&gt;
&lt;br /&gt;
=== File chooser ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a path, either a file or a directory&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX path.png|none]] || Default's to the path of the folder containing the script&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Use one of:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file&amp;quot;     filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;files&amp;quot;    filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file_new&amp;quot; filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folders&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder_new&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The attribute &amp;lt;code&amp;gt;mode&amp;lt;/code&amp;gt; with a value of:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;quot;file&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;folder&amp;quot;&amp;lt;/code&amp;gt; (without &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;) open a file browser for selecting 1 object.&lt;br /&gt;
** The versions ending with a &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; open a file browser for selecting multiple objects.&lt;br /&gt;
** And the ones ending with &amp;lt;code&amp;gt;_new&amp;lt;/code&amp;gt; are for creating new objects.&lt;br /&gt;
* The &amp;lt;code&amp;gt;filetype&amp;lt;/code&amp;gt; attribute contains a list of file extensions to look for. In this example only svg or png files will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== A combobox or radio buttons ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a choice of predefined values&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup.png]]&lt;br /&gt;
| Default value is the first item&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;combo&amp;quot;|appearance=&amp;quot;radio&amp;quot;] [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The default &amp;lt;code&amp;gt;appearance&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;&amp;quot;radio&amp;quot;&amp;lt;/code&amp;gt;. The appearance &amp;lt;code&amp;gt;&amp;quot;combo&amp;quot;&amp;lt;/code&amp;gt; is also valid.&lt;br /&gt;
&lt;br /&gt;
=== Color ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a hex color value&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-color.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; height: 35px; background-color:#f0f0f0;&amp;quot; | [[File:INX color-btn.png]]&lt;br /&gt;
| Default value is &amp;lt;code&amp;gt;#000000FF&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: top;&amp;quot; |&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;padding-left: 6em;&amp;quot; | &amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;↑&amp;lt;/b&amp;gt;With&amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;↑&amp;lt;/b&amp;gt; the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;colorbutton&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height: 100px;&amp;quot; | &amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;⇇&amp;lt;/b&amp;gt; Without &amp;lt;code&amp;gt;appearance=&amp;quot;colorbutton&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;color&amp;quot; name=&amp;quot;varname&amp;quot; [appearance=&amp;quot;colorbutton&amp;quot; gui-text=&amp;quot;label&amp;quot;] [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The parameter value is an RGBA value in hexadecimal notation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To document:&lt;br /&gt;
&lt;br /&gt;
* Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
* type &amp;quot;description&amp;quot;&lt;br /&gt;
* translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
* implements-custom-gui&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117622</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117622"/>
		<updated>2020-03-25T19:50:20Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* File chooser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Editing INX Parameters in 1.0 =&lt;br /&gt;
&lt;br /&gt;
In this section:&lt;br /&gt;
* When an attribute is in square brackets (&amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;), it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is optional.&lt;br /&gt;
* The 1 in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; is the indentation level that you want.&lt;br /&gt;
&lt;br /&gt;
== Tags for the layout ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;url&amp;quot;]&amp;gt;http://some/url&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tags for the parameters ==&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of tag &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; means the name of the argument (&amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt;) your command will get.&lt;br /&gt;
* Parameter values (when opening the dialog) are set to the last used value, which is saved in the user's preferences file. The values in the inx file are visible only when the user first uses the extension.&lt;br /&gt;
&lt;br /&gt;
=== Notebook ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Multiple views/options in the same dialog window.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | It helps with layouting, and allows you to retrieve the active page (tab) name.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-notebook.png|border]]&lt;br /&gt;
| It defaults to the first page.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page go here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;!-- You can add as many pages as you like --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
*The value of the selected &amp;lt;code&amp;gt;&amp;lt;page name&amp;gt;&amp;lt;/code&amp;gt; attribute will be passed as an argument to your extension.&lt;br /&gt;
**The default value is the name of the first page.&lt;br /&gt;
*If the same &amp;lt;code&amp;gt;&amp;lt;param name&amp;gt;&amp;lt;/code&amp;gt; is used in multiple tabs, its value will be taken from the last &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; it appears on.&lt;br /&gt;
**This means that it's best to use different names if the same parameter is used on multiple pages.&lt;br /&gt;
&lt;br /&gt;
=== Checkbox ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a boolean value &lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-boolean.png]]&lt;br /&gt;
| The default value is &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;bool&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;false&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
=== Numeric spinner ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get numbers, int or float&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-int.png]]&lt;br /&gt;
| The default value is 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;margin: auto;&amp;quot;&lt;br /&gt;
|+ With &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt;, you get a full width slider.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;border: 1px solid #a2a9b1; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float_full.png|center]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;labal&amp;quot; [min=&amp;quot;1&amp;quot;]   [max=&amp;quot;10&amp;quot;]  [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [min=&amp;quot;0.5&amp;quot;] [max=&amp;quot;5.0&amp;quot;] [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The widget has a precision of 0.1 for float.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; value is &amp;quot;0&amp;quot;.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; value is &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Text fields ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get text input&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-string.png]]&lt;br /&gt;
| The default value is the empty string and with such a value, the parameter is omitted.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] [max-length=&amp;quot;5&amp;quot; | appearance=&amp;quot;multiline&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can provide an integer to the attribute &amp;lt;code&amp;gt;max-lenght&amp;lt;/code&amp;gt; to limit the number of characters you can get.&lt;br /&gt;
&lt;br /&gt;
=== File chooser ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a path, either a file or a directory&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX path.png|none]] || Default's to the path of the folder containing the script&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Use one of:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file&amp;quot;     filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;files&amp;quot;    filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file_new&amp;quot; filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folders&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder_new&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The attribute &amp;lt;code&amp;gt;mode&amp;lt;/code&amp;gt; with a value of:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;quot;file&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;folder&amp;quot;&amp;lt;/code&amp;gt; (without &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;) open a file browser for selecting 1 object.&lt;br /&gt;
** The versions ending with a &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; open a file browser for selecting multiple objects.&lt;br /&gt;
** And the ones ending with &amp;lt;code&amp;gt;_new&amp;lt;/code&amp;gt; are for creating new objects.&lt;br /&gt;
* The &amp;lt;code&amp;gt;filetype&amp;lt;/code&amp;gt; attribute contains a list of file extensions to look for. In this example only svg or png files will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== A combobox or radio buttons ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a choice of predefined values&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup.png]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;combo&amp;quot;|appearance=&amp;quot;radio&amp;quot;] [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The default &amp;lt;code&amp;gt;appearance&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;&amp;quot;radio&amp;quot;&amp;lt;/code&amp;gt;. The appearance &amp;lt;code&amp;gt;&amp;quot;combo&amp;quot;&amp;lt;/code&amp;gt; is also valid.&lt;br /&gt;
&lt;br /&gt;
=== Color ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a hex color value&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-color.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; height: 35px; background-color:#f0f0f0;&amp;quot; | [[File:INX color-btn.png]]&lt;br /&gt;
| Default value is &amp;lt;code&amp;gt;#000000FF&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: top;&amp;quot; |&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;padding-left: 6em;&amp;quot; | &amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;↑&amp;lt;/b&amp;gt;With&amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;↑&amp;lt;/b&amp;gt; the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;colorbutton&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height: 100px;&amp;quot; | &amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;⇇&amp;lt;/b&amp;gt; Without &amp;lt;code&amp;gt;appearance=&amp;quot;colorbutton&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;color&amp;quot; name=&amp;quot;varname&amp;quot; [appearance=&amp;quot;colorbutton&amp;quot; gui-text=&amp;quot;label&amp;quot;] [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The parameter value is an RGBA value in hexadecimal notation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To document:&lt;br /&gt;
&lt;br /&gt;
* Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
* type &amp;quot;description&amp;quot;&lt;br /&gt;
* translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
* implements-custom-gui&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117621</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117621"/>
		<updated>2020-03-25T17:44:14Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* Editing INX Parameters in 1.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Editing INX Parameters in 1.0 =&lt;br /&gt;
&lt;br /&gt;
In this section:&lt;br /&gt;
* When an attribute is in square brackets (&amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;), it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is optional.&lt;br /&gt;
* The 1 in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; is the indentation level that you want.&lt;br /&gt;
&lt;br /&gt;
== Tags for the layout ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;url&amp;quot;]&amp;gt;http://some/url&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tags for the parameters ==&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of tag &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; means the name of the argument (&amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt;) your command will get.&lt;br /&gt;
* Parameter values (when opening the dialog) are set to the last used value, which is saved in the user's preferences file. The values in the inx file are visible only when the user first uses the extension.&lt;br /&gt;
&lt;br /&gt;
=== Notebook ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Multiple views/options in the same dialog window.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | It helps with layouting, and allows you to retrieve the active page (tab) name.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-notebook.png|border]]&lt;br /&gt;
| It defaults to the first page.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page go here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;!-- You can add as many pages as you like --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
*The value of the selected &amp;lt;code&amp;gt;&amp;lt;page name&amp;gt;&amp;lt;/code&amp;gt; attribute will be passed as an argument to your extension.&lt;br /&gt;
**The default value is the name of the first page.&lt;br /&gt;
*If the same &amp;lt;code&amp;gt;&amp;lt;param name&amp;gt;&amp;lt;/code&amp;gt; is used in multiple tabs, its value will be taken from the last &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; it appears on.&lt;br /&gt;
**This means that it's best to use different names if the same parameter is used on multiple pages.&lt;br /&gt;
&lt;br /&gt;
=== Checkbox ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a boolean value &lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-boolean.png]]&lt;br /&gt;
| The default value is &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;bool&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;false&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
=== Numeric spinner ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get numbers, int or float&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-int.png]]&lt;br /&gt;
| The default value is 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;margin: auto;&amp;quot;&lt;br /&gt;
|+ With &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt;, you get a full width slider.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;border: 1px solid #a2a9b1; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float_full.png|center]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;labal&amp;quot; [min=&amp;quot;1&amp;quot;]   [max=&amp;quot;10&amp;quot;]  [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [min=&amp;quot;0.5&amp;quot;] [max=&amp;quot;5.0&amp;quot;] [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The widget has a precision of 0.1 for float.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; value is &amp;quot;0&amp;quot;.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; value is &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Text fields ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get text input&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-string.png]]&lt;br /&gt;
| The default value is the empty string and with such a value, the parameter is omitted.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] [max-length=&amp;quot;5&amp;quot; | appearance=&amp;quot;multiline&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can provide an integer to the attribute &amp;lt;code&amp;gt;max-lenght&amp;lt;/code&amp;gt; to limit the number of characters you can get.&lt;br /&gt;
&lt;br /&gt;
=== File chooser ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a path, either a file or a directory&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX path.png|none]] ||&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Use one of:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file&amp;quot;     filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;files&amp;quot;    filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file_new&amp;quot; filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folders&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder_new&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The attribute &amp;lt;code&amp;gt;mode&amp;lt;/code&amp;gt; with a value of:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;quot;file&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;folder&amp;quot;&amp;lt;/code&amp;gt; (without &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;) open a file browser for selecting 1 object.&lt;br /&gt;
** The versions ending with a &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; open a file browser for selecting multiple objects.&lt;br /&gt;
** And the ones ending with &amp;lt;code&amp;gt;_new&amp;lt;/code&amp;gt; are for creating new objects.&lt;br /&gt;
* The &amp;lt;code&amp;gt;filetype&amp;lt;/code&amp;gt; attribute contains a list of file extensions to look for. In this example only svg or png files will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== A combobox or radio buttons ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a choice of predefined values&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup.png]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;combo&amp;quot;|appearance=&amp;quot;radio&amp;quot;] [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The default &amp;lt;code&amp;gt;appearance&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;&amp;quot;radio&amp;quot;&amp;lt;/code&amp;gt;. The appearance &amp;lt;code&amp;gt;&amp;quot;combo&amp;quot;&amp;lt;/code&amp;gt; is also valid.&lt;br /&gt;
&lt;br /&gt;
=== Color ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a hex color value&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-color.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; height: 35px; background-color:#f0f0f0;&amp;quot; | [[File:INX color-btn.png]]&lt;br /&gt;
| Default value is &amp;lt;code&amp;gt;#000000FF&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: top;&amp;quot; |&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;padding-left: 6em;&amp;quot; | &amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;↑&amp;lt;/b&amp;gt;With&amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;↑&amp;lt;/b&amp;gt; the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;colorbutton&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height: 100px;&amp;quot; | &amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;⇇&amp;lt;/b&amp;gt; Without &amp;lt;code&amp;gt;appearance=&amp;quot;colorbutton&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;color&amp;quot; name=&amp;quot;varname&amp;quot; [appearance=&amp;quot;colorbutton&amp;quot; gui-text=&amp;quot;label&amp;quot;] [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The parameter value is an RGBA value in hexadecimal notation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To document:&lt;br /&gt;
&lt;br /&gt;
* Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
* type &amp;quot;description&amp;quot;&lt;br /&gt;
* translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
* implements-custom-gui&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117619</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117619"/>
		<updated>2020-03-25T04:53:07Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* File chooser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Editing INX Parameters in 1.0 =&lt;br /&gt;
&lt;br /&gt;
In this section:&lt;br /&gt;
* When an attribute is in square brackets (&amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;), it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is optional.&lt;br /&gt;
* The 1 in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; is the indentation level that you want.&lt;br /&gt;
&lt;br /&gt;
== Tags for the layout ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;url&amp;quot;]&amp;gt;http://some/url&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tags for the parameters ==&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of tag &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; means the name of the argument (&amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt;) your command will get.&lt;br /&gt;
* Parameter values (when opening the dialog) are set to the last used value, which is saved in the user's preferences file. The values in the inx file are visible only when the user first uses the extension.&lt;br /&gt;
&lt;br /&gt;
=== Notebook ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Multiple views/options in the same dialog window.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | It helps with layouting, and allows you to retrieve the active page (tab) name.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-notebook.png|border]]&lt;br /&gt;
| It defaults to the first page.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page go here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;!-- You can add as many pages as you like --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
*The value of the selected &amp;lt;code&amp;gt;&amp;lt;page name&amp;gt;&amp;lt;/code&amp;gt; attribute will be passed as an argument to your extension.&lt;br /&gt;
**The default value is the name of the first page.&lt;br /&gt;
*If the same &amp;lt;code&amp;gt;&amp;lt;param name&amp;gt;&amp;lt;/code&amp;gt; is used in multiple tabs, its value will be taken from the last &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; it appears on.&lt;br /&gt;
**This means that it's best to use different names if the same parameter is used on multiple pages.&lt;br /&gt;
&lt;br /&gt;
=== Checkbox ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a boolean value &lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-boolean.png]]&lt;br /&gt;
| The default value is &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;bool&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;false&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
=== Numeric spinner ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get numbers, int or float&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-int.png]]&lt;br /&gt;
| The default value is 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;margin: auto;&amp;quot;&lt;br /&gt;
|+ With &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt;, you get a full width slider.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;border: 1px solid #a2a9b1; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float_full.png|center]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;labal&amp;quot; [min=&amp;quot;1&amp;quot;]   [max=&amp;quot;10&amp;quot;]  [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [min=&amp;quot;0.5&amp;quot;] [max=&amp;quot;5.0&amp;quot;] [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The widget has a precision of 0.1 for float.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; value is &amp;quot;0&amp;quot;.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; value is &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Text fields ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get text input&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-string.png]]&lt;br /&gt;
| The default value is the empty string and with such a value, the parameter is omitted.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== File chooser ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a path, either a file or a directory&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX path.png|none]] ||&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Use one of:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file&amp;quot;     filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;files&amp;quot;    filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file_new&amp;quot; filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folders&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder_new&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The attribute &amp;lt;code&amp;gt;mode&amp;lt;/code&amp;gt; with a value of:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;quot;file&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;folder&amp;quot;&amp;lt;/code&amp;gt; (without &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;) open a file browser for selecting 1 object.&lt;br /&gt;
** The versions ending with a &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; open a file browser for selecting multiple objects.&lt;br /&gt;
** And the ones ending with &amp;lt;code&amp;gt;_new&amp;lt;/code&amp;gt; are for creating new objects.&lt;br /&gt;
* The &amp;lt;code&amp;gt;filetype&amp;lt;/code&amp;gt; attribute contains a list of file extensions to look for. In this example only svg or png files will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== A combobox or radio buttons ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a choice of predefined values&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup.png]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;combo&amp;quot;|appearance=&amp;quot;radio&amp;quot;] [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The default &amp;lt;code&amp;gt;appearance&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;&amp;quot;radio&amp;quot;&amp;lt;/code&amp;gt;. The appearance &amp;lt;code&amp;gt;&amp;quot;combo&amp;quot;&amp;lt;/code&amp;gt; is also valid.&lt;br /&gt;
&lt;br /&gt;
=== Color ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a hex color value&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-color.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; height: 35px; background-color:#f0f0f0;&amp;quot; | [[File:INX color-btn.png]]&lt;br /&gt;
| Default value is &amp;lt;code&amp;gt;#000000FF&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: top;&amp;quot; |&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;padding-left: 6em;&amp;quot; | &amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;↑&amp;lt;/b&amp;gt;With&amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;↑&amp;lt;/b&amp;gt; the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;colorbutton&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height: 100px;&amp;quot; | &amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;⇇&amp;lt;/b&amp;gt; Without &amp;lt;code&amp;gt;appearance=&amp;quot;colorbutton&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;color&amp;quot; name=&amp;quot;varname&amp;quot; [appearance=&amp;quot;colorbutton&amp;quot; gui-text=&amp;quot;label&amp;quot;] [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The parameter value is an RGBA value in hexadecimal notation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To document:&lt;br /&gt;
&lt;br /&gt;
* Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
* Links: appearance=&amp;quot;url&amp;quot; for INX Parameters of type &amp;quot;description&amp;quot;&lt;br /&gt;
* New color chooser option: appearance=&amp;quot;colorbutton&amp;quot;&lt;br /&gt;
* translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
* implements-custom-gui&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:INX_path.png&amp;diff=117618</id>
		<title>File:INX path.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:INX_path.png&amp;diff=117618"/>
		<updated>2020-03-25T04:47:45Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Widget (button) to choose a file/folder name&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117617</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117617"/>
		<updated>2020-03-25T04:30:23Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* Color */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Editing INX Parameters in 1.0 =&lt;br /&gt;
&lt;br /&gt;
In this section:&lt;br /&gt;
* When an attribute is in square brackets (&amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;), it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is optional.&lt;br /&gt;
* The 1 in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; is the indentation level that you want.&lt;br /&gt;
&lt;br /&gt;
== Tags for the layout ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;url&amp;quot;]&amp;gt;http://some/url&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tags for the parameters ==&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of tag &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; means the name of the argument (&amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt;) your command will get.&lt;br /&gt;
* Parameter values (when opening the dialog) are set to the last used value, which is saved in the user's preferences file. The values in the inx file are visible only when the user first uses the extension.&lt;br /&gt;
&lt;br /&gt;
=== Notebook ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Multiple views/options in the same dialog window.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | It helps with layouting, and allows you to retrieve the active page (tab) name.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-notebook.png|border]]&lt;br /&gt;
| It defaults to the first page.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page go here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;!-- You can add as many pages as you like --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
*The value of the selected &amp;lt;code&amp;gt;&amp;lt;page name&amp;gt;&amp;lt;/code&amp;gt; attribute will be passed as an argument to your extension.&lt;br /&gt;
**The default value is the name of the first page.&lt;br /&gt;
*If the same &amp;lt;code&amp;gt;&amp;lt;param name&amp;gt;&amp;lt;/code&amp;gt; is used in multiple tabs, its value will be taken from the last &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; it appears on.&lt;br /&gt;
**This means that it's best to use different names if the same parameter is used on multiple pages.&lt;br /&gt;
&lt;br /&gt;
=== Checkbox ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a boolean value &lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-boolean.png]]&lt;br /&gt;
| The default value is &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;bool&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;false&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
=== Numeric spinner ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get numbers, int or float&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-int.png]]&lt;br /&gt;
| The default value is 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;margin: auto;&amp;quot;&lt;br /&gt;
|+ With &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt;, you get a full width slider.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;border: 1px solid #a2a9b1; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float_full.png|center]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;labal&amp;quot; [min=&amp;quot;1&amp;quot;]   [max=&amp;quot;10&amp;quot;]  [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [min=&amp;quot;0.5&amp;quot;] [max=&amp;quot;5.0&amp;quot;] [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The widget has a precision of 0.1 for float.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; value is &amp;quot;0&amp;quot;.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; value is &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Text fields ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get text input&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-string.png]]&lt;br /&gt;
| The default value is the empty string and with such a value, the parameter is omitted.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== File chooser ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a path, either a file or a directory&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | No image yet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Use one of:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file&amp;quot;     filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;files&amp;quot;    filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file_new&amp;quot; filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folders&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder_new&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The attribute &amp;lt;code&amp;gt;mode&amp;lt;/code&amp;gt; with a value of:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;quot;file&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;folder&amp;quot;&amp;lt;/code&amp;gt; (without &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;) open a file browser for selecting 1 object.&lt;br /&gt;
** The versions ending with a &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; open a file browser for selecting multiple objects.&lt;br /&gt;
** And the ones ending with &amp;lt;code&amp;gt;_new&amp;lt;/code&amp;gt; are for creating new objects.&lt;br /&gt;
* The &amp;lt;code&amp;gt;filetype&amp;lt;/code&amp;gt; attribute contains a list of file extensions to look for. In this example only svg or png files will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== A combobox or radio buttons ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a choice of predefined values&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup.png]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;combo&amp;quot;|appearance=&amp;quot;radio&amp;quot;] [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The default &amp;lt;code&amp;gt;appearance&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;&amp;quot;radio&amp;quot;&amp;lt;/code&amp;gt;. The appearance &amp;lt;code&amp;gt;&amp;quot;combo&amp;quot;&amp;lt;/code&amp;gt; is also valid.&lt;br /&gt;
&lt;br /&gt;
=== Color ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a hex color value&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-color.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; height: 35px; background-color:#f0f0f0;&amp;quot; | [[File:INX color-btn.png]]&lt;br /&gt;
| Default value is &amp;lt;code&amp;gt;#000000FF&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: top;&amp;quot; |&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;padding-left: 6em;&amp;quot; | &amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;↑&amp;lt;/b&amp;gt;With&amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;↑&amp;lt;/b&amp;gt; the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;colorbutton&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height: 100px;&amp;quot; | &amp;lt;b style=&amp;quot;font-size:18px;&amp;quot;&amp;gt;⇇&amp;lt;/b&amp;gt; Without &amp;lt;code&amp;gt;appearance=&amp;quot;colorbutton&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;color&amp;quot; name=&amp;quot;varname&amp;quot; [appearance=&amp;quot;colorbutton&amp;quot; gui-text=&amp;quot;label&amp;quot;] [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The parameter value is an RGBA value in hexadecimal notation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To document:&lt;br /&gt;
&lt;br /&gt;
* Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
* Links: appearance=&amp;quot;url&amp;quot; for INX Parameters of type &amp;quot;description&amp;quot;&lt;br /&gt;
* New color chooser option: appearance=&amp;quot;colorbutton&amp;quot;&lt;br /&gt;
* translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
* implements-custom-gui&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:INX_color-btn.png&amp;diff=117616</id>
		<title>File:INX color-btn.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:INX_color-btn.png&amp;diff=117616"/>
		<updated>2020-03-25T01:30:58Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Example of &amp;lt;param type=&amp;quot;color&amp;quot; appearance=&amp;quot;colorbutton&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117613</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117613"/>
		<updated>2020-03-25T00:55:09Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* Color */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Editing INX Parameters in 1.0 =&lt;br /&gt;
&lt;br /&gt;
In this section:&lt;br /&gt;
* When an attribute is in square brackets (&amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;), it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is optional.&lt;br /&gt;
* The 1 in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; is the indentation level that you want.&lt;br /&gt;
&lt;br /&gt;
== Tags for the layout ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;url&amp;quot;]&amp;gt;http://some/url&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tags for the parameters ==&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of tag &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; means the name of the argument (&amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt;) your command will get.&lt;br /&gt;
* Parameter values (when opening the dialog) are set to the last used value, which is saved in the user's preferences file. The values in the inx file are visible only when the user first uses the extension.&lt;br /&gt;
&lt;br /&gt;
=== Notebook ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Multiple view/options in the same window.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | It can help with layout, but give you the active page name.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-notebook.png|border]]&lt;br /&gt;
| It defaults to the first page.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page go here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;!-- You can add as many pages as you like --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
*The value of the selected &amp;lt;code&amp;gt;&amp;lt;page name&amp;gt;&amp;lt;/code&amp;gt; attribute will be passed as an argument to your extension.&lt;br /&gt;
**The default value is the name of the first page.&lt;br /&gt;
*For the same &amp;lt;code&amp;gt;&amp;lt;param name&amp;gt;&amp;lt;/code&amp;gt; used on multiple pages, you get the value from the last &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; it appear.&lt;br /&gt;
**This means that it's best to use a different names for the same parameter used on multiple pages.&lt;br /&gt;
&lt;br /&gt;
=== Checkbox ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a boolean value &lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-boolean.png]]&lt;br /&gt;
| The default value is &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;bool&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;false&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
=== Numeric spinner ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get numbers, int or float&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-int.png]]&lt;br /&gt;
| The default value is 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;margin: auto;&amp;quot;&lt;br /&gt;
|+ With &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt;, you get a full width slider.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;border: 1px solid #a2a9b1; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float_full.png|center]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;labal&amp;quot; [min=&amp;quot;1&amp;quot;]   [max=&amp;quot;10&amp;quot;]  [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [min=&amp;quot;0.5&amp;quot;] [max=&amp;quot;5.0&amp;quot;] [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The widget has a precision of 0.1 for float.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; value is &amp;quot;0&amp;quot;.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; value is &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Text fields ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get text input&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-string.png]]&lt;br /&gt;
| The default value is the empty string and with such a value, the parameter is omitted.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== File chooser ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a path, either a file or a directory&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | No image yet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Use one of:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file&amp;quot;     filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;files&amp;quot;    filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file_new&amp;quot; filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folders&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder_new&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The attribute &amp;lt;code&amp;gt;mode&amp;lt;/code&amp;gt; with a value of:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;quot;file&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;folder&amp;quot;&amp;lt;/code&amp;gt; (without &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;) open a file browser for selecting 1 object.&lt;br /&gt;
** The versions ending with a &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; open a file browser for selecting multiple objects.&lt;br /&gt;
** And the ones ending with &amp;lt;code&amp;gt;_new&amp;lt;/code&amp;gt; are for creating new objects.&lt;br /&gt;
* The &amp;lt;code&amp;gt;filetype&amp;lt;/code&amp;gt; attribute contains a list of file extensions to look for. In this example only svg or png files will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== A combobox or radio buttons ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a choice of predefined values&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup.png]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;combo&amp;quot;|appearance=&amp;quot;radio&amp;quot;] [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The default &amp;lt;code&amp;gt;appearance&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;&amp;quot;radio&amp;quot;&amp;lt;/code&amp;gt;. The appearance &amp;lt;code&amp;gt;&amp;quot;combo&amp;quot;&amp;lt;/code&amp;gt; is also valid.&lt;br /&gt;
&lt;br /&gt;
=== Color ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a hex color value&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-color.png]]|| Default value is &amp;lt;code&amp;gt;#000000FF&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=2 |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;color&amp;quot; name=&amp;quot;varname&amp;quot; [appearance=&amp;quot;colorbutton&amp;quot; gui-text=&amp;quot;label&amp;quot;] [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You get an RGBA value in hexadecimal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To document:&lt;br /&gt;
&lt;br /&gt;
* Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
* Links: appearance=&amp;quot;url&amp;quot; for INX Parameters of type &amp;quot;description&amp;quot;&lt;br /&gt;
* New color chooser option: appearance=&amp;quot;colorbutton&amp;quot;&lt;br /&gt;
* translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
* implements-custom-gui&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117612</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117612"/>
		<updated>2020-03-24T22:46:29Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* Color */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Editing INX Parameters in 1.0 =&lt;br /&gt;
&lt;br /&gt;
In this section:&lt;br /&gt;
* When an attribute is in square brackets (&amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;), it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is optional.&lt;br /&gt;
* The 1 in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; is the indentation level that you want.&lt;br /&gt;
&lt;br /&gt;
== Tags for the layout ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;url&amp;quot;]&amp;gt;http://some/url&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tags for the parameters ==&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of tag &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; means the name of the argument (&amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt;) your command will get.&lt;br /&gt;
* Parameter values (when opening the dialog) are set to the last used value, which is saved in the user's preferences file. The values in the inx file are visible only when the user first uses the extension.&lt;br /&gt;
&lt;br /&gt;
=== Notebook ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Multiple view/options in the same window.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | It can help with layout, but give you the active page name.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-notebook.png|border]]&lt;br /&gt;
| It defaults to the first page.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page go here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;!-- You can add as many pages as you like --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
*The value of the selected &amp;lt;code&amp;gt;&amp;lt;page name&amp;gt;&amp;lt;/code&amp;gt; attribute will be passed as an argument to your extension.&lt;br /&gt;
**The default value is the name of the first page.&lt;br /&gt;
*For the same &amp;lt;code&amp;gt;&amp;lt;param name&amp;gt;&amp;lt;/code&amp;gt; used on multiple pages, you get the value from the last &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; it appear.&lt;br /&gt;
**This means that it's best to use a different names for the same parameter used on multiple pages.&lt;br /&gt;
&lt;br /&gt;
=== Checkbox ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a boolean value &lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-boolean.png]]&lt;br /&gt;
| The default value is &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;bool&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;false&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
=== Numeric spinner ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get numbers, int or float&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-int.png]]&lt;br /&gt;
| The default value is 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;margin: auto;&amp;quot;&lt;br /&gt;
|+ With &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt;, you get a full width slider.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;border: 1px solid #a2a9b1; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float_full.png|center]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;labal&amp;quot; [min=&amp;quot;1&amp;quot;]   [max=&amp;quot;10&amp;quot;]  [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [min=&amp;quot;0.5&amp;quot;] [max=&amp;quot;5.0&amp;quot;] [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The widget has a precision of 0.1 for float.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; value is &amp;quot;0&amp;quot;.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; value is &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Text fields ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get text input&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-string.png]]&lt;br /&gt;
| The default value is the empty string and with such a value, the parameter is omitted.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== File chooser ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a path, either a file or a directory&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | No image yet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Use one of:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file&amp;quot;     filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;files&amp;quot;    filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file_new&amp;quot; filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folders&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder_new&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The attribute &amp;lt;code&amp;gt;mode&amp;lt;/code&amp;gt; with a value of:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;quot;file&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;folder&amp;quot;&amp;lt;/code&amp;gt; (without &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;) open a file browser for selecting 1 object.&lt;br /&gt;
** The versions ending with a &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; open a file browser for selecting multiple objects.&lt;br /&gt;
** And the ones ending with &amp;lt;code&amp;gt;_new&amp;lt;/code&amp;gt; are for creating new objects.&lt;br /&gt;
* The &amp;lt;code&amp;gt;filetype&amp;lt;/code&amp;gt; attribute contains a list of file extensions to look for. In this example only svg or png files will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== A combobox or radio buttons ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a choice of predefined values&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup.png]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;combo&amp;quot;|appearance=&amp;quot;radio&amp;quot;] [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The default &amp;lt;code&amp;gt;appearance&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;&amp;quot;radio&amp;quot;&amp;lt;/code&amp;gt;. The appearance &amp;lt;code&amp;gt;&amp;quot;combo&amp;quot;&amp;lt;/code&amp;gt; is also valid.&lt;br /&gt;
&lt;br /&gt;
=== Color ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a hex color value&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | No image yet.|| Default value is &amp;lt;code&amp;gt;#000000FF&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=2 |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;color&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You get an RGBA value in hexadecimal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To document:&lt;br /&gt;
&lt;br /&gt;
* Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
* Links: appearance=&amp;quot;url&amp;quot; for INX Parameters of type &amp;quot;description&amp;quot;&lt;br /&gt;
* New color chooser option: appearance=&amp;quot;colorbutton&amp;quot;&lt;br /&gt;
* translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
* implements-custom-gui&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117611</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117611"/>
		<updated>2020-03-24T22:37:10Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* A combobox or radio buttons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Editing INX Parameters in 1.0 =&lt;br /&gt;
&lt;br /&gt;
In this section:&lt;br /&gt;
* When an attribute is in square brackets (&amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;), it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is optional.&lt;br /&gt;
* The 1 in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; is the indentation level that you want.&lt;br /&gt;
&lt;br /&gt;
== Tags for the layout ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;url&amp;quot;]&amp;gt;http://some/url&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tags for the parameters ==&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of tag &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; means the name of the argument (&amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt;) your command will get.&lt;br /&gt;
* Parameter values (when opening the dialog) are set to the last used value, which is saved in the user's preferences file. The values in the inx file are visible only when the user first uses the extension.&lt;br /&gt;
&lt;br /&gt;
=== Notebook ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Multiple view/options in the same window.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | It can help with layout, but give you the active page name.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-notebook.png|border]]&lt;br /&gt;
| It defaults to the first page.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page go here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;!-- You can add as many pages as you like --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
*The value of the selected &amp;lt;code&amp;gt;&amp;lt;page name&amp;gt;&amp;lt;/code&amp;gt; attribute will be passed as an argument to your extension.&lt;br /&gt;
**The default value is the name of the first page.&lt;br /&gt;
*For the same &amp;lt;code&amp;gt;&amp;lt;param name&amp;gt;&amp;lt;/code&amp;gt; used on multiple pages, you get the value from the last &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; it appear.&lt;br /&gt;
**This means that it's best to use a different names for the same parameter used on multiple pages.&lt;br /&gt;
&lt;br /&gt;
=== Checkbox ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a boolean value &lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-boolean.png]]&lt;br /&gt;
| The default value is &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;bool&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;false&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
=== Numeric spinner ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get numbers, int or float&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-int.png]]&lt;br /&gt;
| The default value is 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;margin: auto;&amp;quot;&lt;br /&gt;
|+ With &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt;, you get a full width slider.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;border: 1px solid #a2a9b1; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float_full.png|center]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;labal&amp;quot; [min=&amp;quot;1&amp;quot;]   [max=&amp;quot;10&amp;quot;]  [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [min=&amp;quot;0.5&amp;quot;] [max=&amp;quot;5.0&amp;quot;] [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The widget has a precision of 0.1 for float.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; value is &amp;quot;0&amp;quot;.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; value is &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Text fields ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get text input&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-string.png]]&lt;br /&gt;
| The default value is the empty string and with such a value, the parameter is omitted.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== File chooser ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a path, either a file or a directory&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | No image yet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Use one of:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file&amp;quot;     filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;files&amp;quot;    filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file_new&amp;quot; filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folders&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder_new&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The attribute &amp;lt;code&amp;gt;mode&amp;lt;/code&amp;gt; with a value of:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;quot;file&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;folder&amp;quot;&amp;lt;/code&amp;gt; (without &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;) open a file browser for selecting 1 object.&lt;br /&gt;
** The versions ending with a &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; open a file browser for selecting multiple objects.&lt;br /&gt;
** And the ones ending with &amp;lt;code&amp;gt;_new&amp;lt;/code&amp;gt; are for creating new objects.&lt;br /&gt;
* The &amp;lt;code&amp;gt;filetype&amp;lt;/code&amp;gt; attribute contains a list of file extensions to look for. In this example only svg or png files will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== A combobox or radio buttons ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a choice of predefined values&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup.png]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;combo&amp;quot;|appearance=&amp;quot;radio&amp;quot;] [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The default &amp;lt;code&amp;gt;appearance&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;&amp;quot;radio&amp;quot;&amp;lt;/code&amp;gt;. The appearance &amp;lt;code&amp;gt;&amp;quot;combo&amp;quot;&amp;lt;/code&amp;gt; is also valid.&lt;br /&gt;
&lt;br /&gt;
=== Color ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a hex color value&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | No image yet.||&lt;br /&gt;
|-&lt;br /&gt;
| colspan=2 |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
To document:&lt;br /&gt;
&lt;br /&gt;
* Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
* Links: appearance=&amp;quot;url&amp;quot; for INX Parameters of type &amp;quot;description&amp;quot;&lt;br /&gt;
* New color chooser option: appearance=&amp;quot;colorbutton&amp;quot;&lt;br /&gt;
* translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
* implements-custom-gui&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117610</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117610"/>
		<updated>2020-03-24T22:13:58Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* Editing INX Parameters in 1.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Editing INX Parameters in 1.0 =&lt;br /&gt;
&lt;br /&gt;
In this section:&lt;br /&gt;
* When an attribute is in square brackets (&amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;), it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is optional.&lt;br /&gt;
* The 1 in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; is the indentation level that you want.&lt;br /&gt;
&lt;br /&gt;
== Tags for the layout ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;url&amp;quot;]&amp;gt;http://some/url&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tags for the parameters ==&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of tag &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; means the name of the argument (&amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt;) your command will get.&lt;br /&gt;
* Parameter values (when opening the dialog) are set to the last used value, which is saved in the user's preferences file. The values in the inx file are visible only when the user first uses the extension.&lt;br /&gt;
&lt;br /&gt;
=== Notebook ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Multiple view/options in the same window.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | It can help with layout, but give you the active page name.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-notebook.png|border]]&lt;br /&gt;
| It defaults to the first page.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page go here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;!-- You can add as many pages as you like --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
*The value of the selected &amp;lt;code&amp;gt;&amp;lt;page name&amp;gt;&amp;lt;/code&amp;gt; attribute will be passed as an argument to your extension.&lt;br /&gt;
**The default value is the name of the first page.&lt;br /&gt;
*For the same &amp;lt;code&amp;gt;&amp;lt;param name&amp;gt;&amp;lt;/code&amp;gt; used on multiple pages, you get the value from the last &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; it appear.&lt;br /&gt;
**This means that it's best to use a different names for the same parameter used on multiple pages.&lt;br /&gt;
&lt;br /&gt;
=== Checkbox ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a boolean value &lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-boolean.png]]&lt;br /&gt;
| The default value is &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;bool&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;false&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
=== Numeric spinner ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get numbers, int or float&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-int.png]]&lt;br /&gt;
| The default value is 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;margin: auto;&amp;quot;&lt;br /&gt;
|+ With &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt;, you get a full width slider.&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;border: 1px solid #a2a9b1; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-float_full.png|center]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;labal&amp;quot; [min=&amp;quot;1&amp;quot;]   [max=&amp;quot;10&amp;quot;]  [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [min=&amp;quot;0.5&amp;quot;] [max=&amp;quot;5.0&amp;quot;] [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The widget has a precision of 0.1 for float.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; value is &amp;quot;0&amp;quot;.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; value is &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Text fields ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get text input&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-string.png]]&lt;br /&gt;
| The default value is the empty string and with such a value, the parameter is omitted.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== File chooser ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Get a path, either a file or a directory&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | No image yet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Use one of:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file&amp;quot;     filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;files&amp;quot;    filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file_new&amp;quot; filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folders&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder_new&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The attribute &amp;lt;code&amp;gt;mode&amp;lt;/code&amp;gt; with a value of:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;quot;file&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;folder&amp;quot;&amp;lt;/code&amp;gt; (without &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;) open a file browser for selecting 1 object.&lt;br /&gt;
** The versions ending with a &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; open a file browser for selecting multiple objects.&lt;br /&gt;
** And the ones ending with &amp;lt;code&amp;gt;_new&amp;lt;/code&amp;gt; are for creating new objects.&lt;br /&gt;
* The &amp;lt;code&amp;gt;filetype&amp;lt;/code&amp;gt; attribute contains a list of file extensions to look for. In this example only svg or png files will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== A combobox or radio buttons ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ To get a choice of predefined values&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 240px; background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup.png]]&lt;br /&gt;
| scope=&amp;quot;col&amp;quot; style=&amp;quot;background-color:#f0f0f0;&amp;quot; | [[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;combo&amp;quot;|appearance=&amp;quot;radio&amp;quot;] [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* The default &amp;lt;code&amp;gt;appearance&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;&amp;quot;radio&amp;quot;&amp;lt;/code&amp;gt;. The appearance &amp;lt;code&amp;gt;&amp;quot;combo&amp;quot;&amp;lt;/code&amp;gt; is also valid.&lt;br /&gt;
&lt;br /&gt;
To document:&lt;br /&gt;
&lt;br /&gt;
* Multiline text fields: appearance=&amp;quot;multiline&amp;quot;&lt;br /&gt;
* Links: appearance=&amp;quot;url&amp;quot; for INX Parameters of type &amp;quot;description&amp;quot;&lt;br /&gt;
* New color chooser option: appearance=&amp;quot;colorbutton&amp;quot;&lt;br /&gt;
* translatable=&amp;quot;no&amp;quot;&lt;br /&gt;
* implements-custom-gui&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117605</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117605"/>
		<updated>2020-03-23T22:50:31Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Editing INX Parameters in 1.0 =&lt;br /&gt;
&lt;br /&gt;
In this section:&lt;br /&gt;
* When an attribute is in square brackets (&amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;), it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is optional.&lt;br /&gt;
* The 1 in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; is the indentation level that you want.&lt;br /&gt;
&lt;br /&gt;
== Tags for the layout ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;url&amp;quot;]&amp;gt;http://some/url&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tags for the parameters ==&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of tag &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; means the name of the argument (&amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt;) your command will get.&lt;br /&gt;
* Defaults values are set to the last used value, the defaults values in the inx file are for the first use.&lt;br /&gt;
&lt;br /&gt;
=== Notebook ===&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| These can help with layout. The default value is the name of the first page.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:INX_sample-notebook.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page goes here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;!-- You can add as many pages as you like --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
*You get the value of the selected &amp;lt;code&amp;gt;&amp;lt;page name&amp;gt;&amp;lt;/code&amp;gt; attribute as an argument to your extension.&lt;br /&gt;
&lt;br /&gt;
*For a &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; used on multiple pages, you get the value of the &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; from the last &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
** You better give them different parameter names.&lt;br /&gt;
&lt;br /&gt;
=== Checkbox ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| The Default value is &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [[File:INX_sample-boolean.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;bool&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;false&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Numerical input spinner ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The default value is 0&lt;br /&gt;
|-&lt;br /&gt;
| [[File:INX_sample-float.png]]&lt;br /&gt;
|-&lt;br /&gt;
| With &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; use a full width slider.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:INX_sample-float_full.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;labal&amp;quot; [min=&amp;quot;1&amp;quot;] [max=&amp;quot;10&amp;quot;] [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [min=&amp;quot;0.5&amp;quot;] [max=&amp;quot;5.0&amp;quot;] [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The widget has a precision of 0.1 for float.&lt;br /&gt;
*&lt;br /&gt;
* The default &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; is &amp;quot;0&amp;quot;&lt;br /&gt;
* The default &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; is &amp;quot;10&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Textbox ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| The default value is the empty string and with such a value, the parameter is omited.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:INX_sample-string.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File chooser ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| To get a path, either a file or a directory&lt;br /&gt;
|-&lt;br /&gt;
| No image yet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file&amp;quot;     filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;files&amp;quot;    filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file_new&amp;quot; filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folders&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder_new&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The attribute &amp;lt;code&amp;gt;mode&amp;lt;/code&amp;gt; with a value of:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;quot;file&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;folder&amp;quot;&amp;lt;/code&amp;gt; (without &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;) means to use a file chooser for 1 object.&lt;br /&gt;
** The versions ending with a &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; mean to use a file chooser for multiple objects.&lt;br /&gt;
** And the ones ending with &amp;lt;code&amp;gt;_new&amp;lt;/code&amp;gt; are for creating new objects.&lt;br /&gt;
* The &amp;lt;code&amp;gt;filetype&amp;lt;/code&amp;gt; attribute contains a list of file extensions to look for. In this example only svg or png files will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== A combobox or radio buttons ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | To get a choice of predefined values&lt;br /&gt;
|-&lt;br /&gt;
| [[File:INX_sample-optiongroup.png]]&lt;br /&gt;
| [[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;combo&amp;quot;|appearance=&amp;quot;radio&amp;quot;] [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* The default &amp;lt;code&amp;gt;appearance&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;&amp;quot;radio&amp;quot;&amp;lt;/code&amp;gt;. The appearance &amp;lt;code&amp;gt;&amp;quot;combo&amp;quot;&amp;lt;/code&amp;gt; is also valid.&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117604</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117604"/>
		<updated>2020-03-23T20:06:59Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Editing INX Parameters in 1.0 =&lt;br /&gt;
&lt;br /&gt;
In this section:&lt;br /&gt;
* When an attribute is in square brackets (&amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;), it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is optional.&lt;br /&gt;
* The 1 in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; is the indentation level that you want.&lt;br /&gt;
&lt;br /&gt;
== Tags for the layout ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;url&amp;quot;]&amp;gt;http://some/url&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tags for the parameters ==&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of tag &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; means the name of the argument (&amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt;) your command will get.&lt;br /&gt;
* Defaults values are set to the last used value, the defaults values in the inx file are for the first use.&lt;br /&gt;
&lt;br /&gt;
=== Tab view of pages ===&lt;br /&gt;
These can help with layout.&lt;br /&gt;
* You get the value of the selected &amp;lt;code&amp;gt;&amp;lt;page name&amp;gt;&amp;lt;/code&amp;gt; attribute as an argument to your extension.&lt;br /&gt;
* For a &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; used on multiple pages, you get the value of the &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; from the last &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
** You better give them different parameter names.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page goes here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;!-- You can add as many pages as you like --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Checkbox ===&lt;br /&gt;
&lt;br /&gt;
Default value is &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;bool&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;false&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Numerical input spinner ===&lt;br /&gt;
The widget has a precision of 0.1 for float.&lt;br /&gt;
* With &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; also use a full width slider.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; is &amp;quot;0&amp;quot;&lt;br /&gt;
* The default &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; is &amp;quot;10&amp;quot;&lt;br /&gt;
* The default value is 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;labal&amp;quot; [min=&amp;quot;1&amp;quot;] [max=&amp;quot;10&amp;quot;] [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [min=&amp;quot;0.5&amp;quot;] [max=&amp;quot;5.0&amp;quot;] [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Textbox ===&lt;br /&gt;
&lt;br /&gt;
The default value is the empty string and with such a value, the parameter is omited.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File chooser ===&lt;br /&gt;
* The attribute &amp;lt;code&amp;gt;mode&amp;lt;/code&amp;gt; with a value of:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;quot;file&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;folder&amp;quot;&amp;lt;/code&amp;gt; (without &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;) means to use a file chooser for 1 object.&lt;br /&gt;
** The versions ending with a &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; mean to use a file chooser for multiple objects.&lt;br /&gt;
** And the ones ending with &amp;lt;code&amp;gt;_new&amp;lt;/code&amp;gt; are for creating new objects.&lt;br /&gt;
* The &amp;lt;code&amp;gt;filetype&amp;lt;/code&amp;gt; attribute contains a list of file extensions to look for. In this example only svg or png files will be displayed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file&amp;quot;     filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;files&amp;quot;    filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file_new&amp;quot; filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folders&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder_new&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== A choice in a list ===&lt;br /&gt;
* The default &amp;lt;code&amp;gt;appearance&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;&amp;quot;radio&amp;quot;&amp;lt;/code&amp;gt;, but can be also be &amp;lt;code&amp;gt;&amp;quot;combo&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;combo&amp;quot;|appearance=&amp;quot;radio&amp;quot;] [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117603</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117603"/>
		<updated>2020-03-23T17:37:26Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== INX Documentation for 1.0 ==&lt;br /&gt;
&lt;br /&gt;
It the following sections, When you see &amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;, it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is an optional attribute. &amp;lt;code&amp;gt;att=&amp;quot;val1&amp;quot;|&amp;quot;val2&amp;quot;&amp;lt;/code&amp;gt; means eithe &amp;lt;code&amp;gt;&amp;quot;val1&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;val2&amp;lt;/code&amp;gt; are valid values for &amp;lt;code&amp;gt;att&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; attributes can be changed by the indentation level you want.&lt;br /&gt;
&lt;br /&gt;
=== Tags for the layout ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;|&amp;quot;url&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tags for the parameters ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of tag &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; means the name of the argument (&amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt;) your command will get. Defaults are set to the last used value, the defaults in the inx file are for the first use.&lt;br /&gt;
&lt;br /&gt;
==== Tab view of pages ====&lt;br /&gt;
These can help with layout.&lt;br /&gt;
* You get the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; as an argument to your extension.&lt;br /&gt;
* You get the &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; arguments of last &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; containing it. You better give them different parameter names.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page goes here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;!-- You can add as many pages as you like --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Checkbox. ====&lt;br /&gt;
&lt;br /&gt;
Default's to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;boolean&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;false&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== Numerical input spinner ====&lt;br /&gt;
The widget has a precision of 0.1 for float.&lt;br /&gt;
* With &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; also use a full width slider.&lt;br /&gt;
* The default &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; is &amp;quot;0&amp;quot;&lt;br /&gt;
* The default &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; is &amp;quot;10&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; [min=&amp;quot;1&amp;quot;] [max=&amp;quot;10&amp;quot;] gui-text=&amp;quot;labal&amp;quot; [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; [min=&amp;quot;0.5&amp;quot;] [max=&amp;quot;5.0&amp;quot;] gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Textbox ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== File chooser ====&lt;br /&gt;
* The attribute &amp;lt;code&amp;gt;mode&amp;lt;/code&amp;gt; with a value of:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;quot;file&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;folder&amp;quot;&amp;lt;/code&amp;gt; (without &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;) means to use a file chooser for 1 object.&lt;br /&gt;
** The versions ending with a &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; mean to use a file chooser for multiple objects.&lt;br /&gt;
** And the ones ending with &amp;lt;code&amp;gt;_new&amp;lt;/code&amp;gt; are for creating new objects.&lt;br /&gt;
* The &amp;lt;code&amp;gt;filetype&amp;lt;/code&amp;gt; attribute contains a list of file extensions to look for. In this example only svg or png files will be displayed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file&amp;quot;     filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;files&amp;quot;    filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file_new&amp;quot; filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folders&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder_new&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== A choice in a list ====&lt;br /&gt;
* The default &amp;lt;code&amp;gt;appearance&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;&amp;quot;radio&amp;quot;&amp;lt;/code&amp;gt;, but can be also be &amp;lt;code&amp;gt;&amp;quot;combo&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;combo&amp;quot;|appearance=&amp;quot;radio&amp;quot;] [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117602</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117602"/>
		<updated>2020-03-23T13:55:13Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* Path chooser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== INX Documentation for 1.0 ==&lt;br /&gt;
&lt;br /&gt;
It the following sections, When you see &amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;, it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is an optional attribute. &amp;lt;code&amp;gt;att=&amp;quot;val1&amp;quot;|&amp;quot;val2&amp;quot;&amp;lt;/code&amp;gt; means eithe &amp;lt;code&amp;gt;&amp;quot;val1&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;val2&amp;lt;/code&amp;gt; are valid values for &amp;lt;code&amp;gt;att&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; attributes can be changed by the indentation level you want.&lt;br /&gt;
&lt;br /&gt;
=== Tags for the layout ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;|&amp;quot;url&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tags for the parameters ===&lt;br /&gt;
&lt;br /&gt;
The attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; of tag &amp;lt;code&amp;gt;param&amp;lt;/code&amp;gt; means the name of the argument &amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt; your command will get.&lt;br /&gt;
&lt;br /&gt;
==== Tab view of pages ====&lt;br /&gt;
These can help with layout, but give the info of which &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; was selected as an argument to your extension. At the same time, it give you arguments of the &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; of each &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;. This mean that having the same &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute for &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; on 2 or more pages, get in conflict. So if you have an argument that repeat on multiple pages, you need to give different names.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page goes here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;!-- You can add as many pages as you like --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== For checkbox. ====&lt;br /&gt;
&lt;br /&gt;
You can set a default 1 as true or 0 as false value:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;boolean&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;{text}&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;1&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== For numerical input spinner. ====&lt;br /&gt;
&lt;br /&gt;
With the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; also use a full width slider. The min and max take numeric values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;10&amp;quot; gui-text=&amp;quot;labal&amp;quot; [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; min=&amp;quot;0.5&amp;quot; max=&amp;quot;5.0&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Textbox ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== File chooser ====&lt;br /&gt;
* The attribute &amp;lt;code&amp;gt;mode&amp;lt;/code&amp;gt; with a value of:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;quot;file&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;folder&amp;quot;&amp;lt;/code&amp;gt; (without &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;) means to use a file chooser for 1 object.&lt;br /&gt;
** The versions ending with a &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; mean to use a file chooser for multiple objects.&lt;br /&gt;
** And the ones ending with &amp;lt;code&amp;gt;_new&amp;lt;/code&amp;gt; are for creating new objects.&lt;br /&gt;
* The &amp;lt;code&amp;gt;filetype&amp;lt;/code&amp;gt; attribute contains a list of file extensions to look for. In this example only svg or png files will be displayed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file&amp;quot;     filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;files&amp;quot;    filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;file_new&amp;quot; filetypes=&amp;quot;svg,png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folders&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;] mode=&amp;quot;folder_new&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== A choise in a list ====&lt;br /&gt;
Presented as combobox or radio buttons.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; appearance=&amp;quot;combo&amp;quot;|&amp;quot;radio&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117596</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117596"/>
		<updated>2020-03-23T00:36:56Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* Tab view of pages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== INX Documentation for 1.0 ==&lt;br /&gt;
&lt;br /&gt;
It the following sections, When you see &amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;, it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is an optional attribute. &amp;lt;code&amp;gt;att=&amp;quot;val1&amp;quot;|&amp;quot;val2&amp;quot;&amp;lt;/code&amp;gt; means eithe &amp;lt;code&amp;gt;&amp;quot;val1&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;val2&amp;lt;/code&amp;gt; are valid values for &amp;lt;code&amp;gt;att&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; attributes can be changed by the indentation level you want.&lt;br /&gt;
&lt;br /&gt;
=== Tags for the layout ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;|&amp;quot;url&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tags for the parameters ===&lt;br /&gt;
&lt;br /&gt;
The attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; of tag &amp;lt;code&amp;gt;param&amp;lt;/code&amp;gt; means the name of the argument &amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt; your command will get.&lt;br /&gt;
&lt;br /&gt;
==== Tab view of pages ====&lt;br /&gt;
These can help with layout, but give the info of which &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; was selected as an argument to your extension. At the same time, it give you arguments of the &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; of each &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;. This mean that having the same &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute for &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt; on 2 or more pages, get in conflict. So if you have an argument that repeat on multiple pages, you need to give different names.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page goes here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;!-- You can add as many pages as you like --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== For checkbox. ====&lt;br /&gt;
&lt;br /&gt;
You can set a default 1 as true or 0 as false value:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;boolean&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;{text}&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;1&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== For numerical input spinner. ====&lt;br /&gt;
&lt;br /&gt;
With the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; also use a full width slider. The min and max take numeric values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;10&amp;quot; gui-text=&amp;quot;labal&amp;quot; [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; min=&amp;quot;0.5&amp;quot; max=&amp;quot;5.0&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Textbox ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Path chooser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; mode=&amp;quot;file&amp;quot;|&amp;quot;files&amp;quot;|&amp;quot;file_new&amp;quot; filename=&amp;quot;fileExt,moreExt&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;/some/path.ext&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; mode=&amp;quot;folder&amp;quot;|&amp;quot;folders&amp;quot;|&amp;quot;folder_new&amp;quot; filename=&amp;quot;fileExt,moreExt&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;/some/path.ext&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== A choise in a list ====&lt;br /&gt;
Presented as combobox or radio buttons.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; appearance=&amp;quot;combo&amp;quot;|&amp;quot;radio&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117595</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117595"/>
		<updated>2020-03-23T00:28:07Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* INX Documentation for 1.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== INX Documentation for 1.0 ==&lt;br /&gt;
&lt;br /&gt;
It the following sections, When you see &amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;, it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is an optional attribute. &amp;lt;code&amp;gt;att=&amp;quot;val1&amp;quot;|&amp;quot;val2&amp;quot;&amp;lt;/code&amp;gt; means eithe &amp;lt;code&amp;gt;&amp;quot;val1&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;val2&amp;lt;/code&amp;gt; are valid values for &amp;lt;code&amp;gt;att&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; attributes can be changed by the indentation level you want.&lt;br /&gt;
&lt;br /&gt;
=== Tags for the layout ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;|&amp;quot;url&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tags for the parameters ===&lt;br /&gt;
&lt;br /&gt;
The attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; of tag &amp;lt;code&amp;gt;param&amp;lt;/code&amp;gt; means the name of the argument &amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt; your command will get.&lt;br /&gt;
&lt;br /&gt;
==== Tab view of pages ====&lt;br /&gt;
These can help with layout, but give the info of which page was selected as an argument to your extension. At the same time, it give you arguments of the &amp;lt;code&amp;gt;param&amp;lt;/code&amp;gt; on each page and having the same name for &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page goes here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;!-- You can add as many pages as you like --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== For checkbox. ====&lt;br /&gt;
&lt;br /&gt;
You can set a default 1 as true or 0 as false value:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;boolean&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;{text}&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;1&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== For numerical input spinner. ====&lt;br /&gt;
&lt;br /&gt;
With the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; also use a full width slider. The min and max take numeric values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;10&amp;quot; gui-text=&amp;quot;labal&amp;quot; [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; min=&amp;quot;0.5&amp;quot; max=&amp;quot;5.0&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Textbox ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Path chooser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; mode=&amp;quot;file&amp;quot;|&amp;quot;files&amp;quot;|&amp;quot;file_new&amp;quot; filename=&amp;quot;fileExt,moreExt&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;/some/path.ext&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; mode=&amp;quot;folder&amp;quot;|&amp;quot;folders&amp;quot;|&amp;quot;folder_new&amp;quot; filename=&amp;quot;fileExt,moreExt&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;/some/path.ext&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== A choise in a list ====&lt;br /&gt;
Presented as combobox or radio buttons.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; appearance=&amp;quot;combo&amp;quot;|&amp;quot;radio&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117594</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117594"/>
		<updated>2020-03-23T00:26:49Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* INX Documentation for 1.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== INX Documentation for 1.0 ==&lt;br /&gt;
&lt;br /&gt;
It the following sections, When you see &amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;, it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is an optional attribute. &amp;lt;code&amp;gt;att=&amp;quot;val1&amp;quot;|&amp;quot;val2&amp;quot;&amp;lt;/code&amp;gt; means eithe &amp;lt;code&amp;gt;&amp;quot;val1&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;val2&amp;lt;/code&amp;gt; are valid values for &amp;lt;code&amp;gt;att&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; attributes can be changed by the indentation level you want.&lt;br /&gt;
&lt;br /&gt;
=== Tags for the layout ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;|&amp;quot;url&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tags for the parameters ===&lt;br /&gt;
&lt;br /&gt;
The attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; of tag &amp;lt;code&amp;gt;param&amp;lt;/code&amp;gt; means the name of the argument &amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt; your command will get.&lt;br /&gt;
&lt;br /&gt;
==== Tab view of pages ====&lt;br /&gt;
These can help with layout, but give the info of which page was selected as an argument to your extension. At the same time, it give you arguments of the &amp;lt;code&amp;gt;param&amp;lt;/code&amp;gt; on each page and having the same name for &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page goes here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;!-- You can add as many pages as you like --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== For checkbox. ====&lt;br /&gt;
&lt;br /&gt;
You can set a default 1 as true or 0 as false value:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;boolean&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;{text}&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;1&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== For numerical input spinner. ====&lt;br /&gt;
&lt;br /&gt;
With the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; also use a full width slider. The min and max take numeric values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;10&amp;quot; gui-text=&amp;quot;labal&amp;quot; [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; min=&amp;quot;0.5&amp;quot; max=&amp;quot;5.0&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Textbox ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Path chooser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; mode=&amp;quot;file&amp;quot;|&amp;quot;files&amp;quot;|&amp;quot;file_new&amp;quot; filename=&amp;quot;fileExt,moreExt&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;/some/path.ext&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; mode=&amp;quot;folder&amp;quot;|&amp;quot;folders&amp;quot;|&amp;quot;folder_new&amp;quot; filename=&amp;quot;fileExt,moreExt&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;/some/path.ext&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== A choise in a list ====&lt;br /&gt;
Presented as combobox or radio buttons.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; appearance=&amp;quot;combo&amp;quot;|&amp;quot;radio&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117593</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117593"/>
		<updated>2020-03-22T22:22:02Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* For textbox */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== INX Documentation for 1.0 ==&lt;br /&gt;
&lt;br /&gt;
It the following sections, When you see &amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;, it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is an optional attribute. &amp;lt;code&amp;gt;att=&amp;quot;val1&amp;quot;|&amp;quot;val2&amp;quot;&amp;lt;/code&amp;gt; means eithe &amp;lt;code&amp;gt;&amp;quot;val1&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;val2&amp;lt;/code&amp;gt; are valid values for &amp;lt;code&amp;gt;att&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; attributes can be changed by the indentation level you want.&lt;br /&gt;
&lt;br /&gt;
=== Tags for the layout ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;|&amp;quot;url&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tags for the parameters ===&lt;br /&gt;
&lt;br /&gt;
The attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; of tag &amp;lt;code&amp;gt;param&amp;lt;/code&amp;gt; means the name of the argument &amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt; your command will get.&lt;br /&gt;
&lt;br /&gt;
==== For checkbox. ====&lt;br /&gt;
&lt;br /&gt;
You can set a default 1 as true or 0 as false value:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;boolean&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;{text}&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;1&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== For numerical input spinner. ====&lt;br /&gt;
&lt;br /&gt;
With the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; also use a full width slider. The min and max take numeric values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;10&amp;quot; gui-text=&amp;quot;labal&amp;quot; [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; min=&amp;quot;0.5&amp;quot; max=&amp;quot;5.0&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Textbox ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Path chooser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; mode=&amp;quot;file&amp;quot;|&amp;quot;files&amp;quot;|&amp;quot;file_new&amp;quot; filename=&amp;quot;fileExt,moreExt&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;/some/path.ext&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; mode=&amp;quot;folder&amp;quot;|&amp;quot;folders&amp;quot;|&amp;quot;folder_new&amp;quot; filename=&amp;quot;fileExt,moreExt&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;/some/path.ext&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tab view of pages ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page goes here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== A choise in a list ====&lt;br /&gt;
Presented as combobox or radio buttons.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; appearance=&amp;quot;combo&amp;quot;|&amp;quot;radio&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117592</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117592"/>
		<updated>2020-03-22T21:24:53Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* Localization of parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== INX Documentation for 1.0 ==&lt;br /&gt;
&lt;br /&gt;
It the following sections, When you see &amp;lt;code&amp;gt;[name=&amp;quot;value&amp;quot;]&amp;lt;/code&amp;gt;, it means that &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is an optional attribute. &amp;lt;code&amp;gt;att=&amp;quot;val1&amp;quot;|&amp;quot;val2&amp;quot;&amp;lt;/code&amp;gt; means eithe &amp;lt;code&amp;gt;&amp;quot;val1&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;val2&amp;lt;/code&amp;gt; are valid values for &amp;lt;code&amp;gt;att&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt; attributes can be changed by the indentation level you want.&lt;br /&gt;
&lt;br /&gt;
=== Tags for the layout ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label [indent=&amp;quot;1&amp;quot;] [appearance=&amp;quot;header&amp;quot;|&amp;quot;url&amp;quot;]&amp;gt;Some text&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;image&amp;gt;some/inx/relative/path/to/img.svg&amp;lt;/image&amp;gt;&lt;br /&gt;
&amp;lt;spacer/&amp;gt;&lt;br /&gt;
&amp;lt;separator [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;hbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/hbox&amp;gt;&lt;br /&gt;
&amp;lt;vbox [indent=&amp;quot;1&amp;quot;]&amp;gt;&amp;lt;/vbox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tags for the parameters ===&lt;br /&gt;
&lt;br /&gt;
The attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; of tag &amp;lt;code&amp;gt;param&amp;lt;/code&amp;gt; means the name of the argument &amp;lt;code&amp;gt;--name=&amp;lt;/code&amp;gt; your command will get.&lt;br /&gt;
&lt;br /&gt;
==== For checkbox. ====&lt;br /&gt;
&lt;br /&gt;
You can set a default 1 as true or 0 as false value:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;boolean&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;{text}&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;1&amp;lt;/param&amp;gt;                                             &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== For numerical input spinner. ====&lt;br /&gt;
&lt;br /&gt;
With the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; also use a full width slider. The min and max take numeric values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;int&amp;quot;   name=&amp;quot;varname&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;10&amp;quot; gui-text=&amp;quot;labal&amp;quot; [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;float&amp;quot; name=&amp;quot;varname&amp;quot; min=&amp;quot;0.5&amp;quot; max=&amp;quot;5.0&amp;quot; gui-text=&amp;quot;label&amp;quot; [appearance=&amp;quot;full&amp;quot;]  [indent=&amp;quot;1&amp;quot;]/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== For textbox ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;string&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;some text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Files&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;path&amp;quot; name=&amp;quot;varname&amp;quot; mode=&amp;quot;file&amp;quot;|&amp;quot;files&amp;quot;|&amp;quot;file_new&amp;quot;|&amp;quot;folder&amp;quot;|&amp;quot;folders&amp;quot;|&amp;quot;folder_new&amp;quot; filename=&amp;quot;fileExt,moreExt&amp;quot; gui-text=&amp;quot;label&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;/some/path.ext&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tab view of pages&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;notebook&amp;quot; name=&amp;quot;varname&amp;quot; [indent=&amp;quot;1&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;value&amp;quot; gui-text=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Any elements contained in the page goes here --&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A choise in a list, presented as combobox or radio buttons.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param type=&amp;quot;optiongroup&amp;quot; name=&amp;quot;varname&amp;quot; gui-text=&amp;quot;label&amp;quot; appearance=&amp;quot;combo|radio&amp;quot; [indent=&amp;quot;{int}&amp;quot;]&amp;gt;&lt;br /&gt;
    &amp;lt;item value=&amp;quot;value&amp;quot;&amp;gt;Some text&amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other choices --&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117591</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117591"/>
		<updated>2020-03-22T19:38:37Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* type */  The type is available for param&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (for tags &amp;lt;code&amp;gt;&amp;lt;param&amp;gt;&amp;lt;/code&amp;gt;) (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117590</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=117590"/>
		<updated>2020-03-22T19:31:24Z</updated>

		<summary type="html">&lt;p&gt;KBenoit: /* Introduction */ Set highlighting to XML&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
== Common attributes ==&lt;br /&gt;
&lt;br /&gt;
=== gui-description ===&lt;br /&gt;
Tooltip of the parameter, which is shown when the user hovers the mouse cursor over the active area of the parameter in question.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-description &amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== gui-hidden ===&lt;br /&gt;
If the value is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the parameter is hidden from the GUI (defaults to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== gui-text ===&lt;br /&gt;
Label of the parameter.&lt;br /&gt;
&lt;br /&gt;
To enable translations for this string use the underscore variant (&amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt;, see [[#Localization of parameters|localization of parameters]] below for details).&lt;br /&gt;
&lt;br /&gt;
=== indent ===&lt;br /&gt;
Sets indentation level of the parameter (e.g. &amp;lt;code&amp;gt;indent=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== name ===&lt;br /&gt;
The value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute is used as an identifier of the parameter. It has to be unique since the value of this attribute is used to save and transmit parameter values internally!&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
The &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute determines the type of the parameter (possible values are &amp;lt;code&amp;gt;boolean, int, float, string, enum, optiongroup, color, notebook, description&amp;lt;/code&amp;gt;), see the extensive description of [[#Available types|available types]] below.&lt;br /&gt;
&lt;br /&gt;
== Available types ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
! Description / Code&lt;br /&gt;
! Result&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
|Creates a checkbox input to set a '''boolean value'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;boolean&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-boolean.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! color&lt;br /&gt;
|Creates a control to select a '''color value'''.&lt;br /&gt;
The '''returned value''' is an RGBA-value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-color.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! description&lt;br /&gt;
|Creates a text element. Specifying the attribute &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; preserves whitespace in the text content  of the description and enables multiline text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When additionally setting the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt; the text is styled as a heading and can be used as another possibility to group parameters.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;description&amp;quot; appearance=&amp;quot;header&amp;quot;&amp;gt;Header&amp;lt;/param&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type parameters are purely informational (they do not return any value). They are intended to be used to provide additional information / help on other parameters (Consider using the &amp;lt;code&amp;gt;gui-description&amp;lt;/code&amp;gt; attribute for short help texts that are specific to a single parameter, though).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|[[File:INX_sample-description.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;default appearance&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:INX_sample-description_header.png]]&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;with &amp;lt;code&amp;gt;appearance=&amp;quot;header&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! enum&lt;br /&gt;
|Creates a drop-down list from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;enum&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-enum.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
|Creates a textbox input to enter a '''floating point number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes; set the number of decimal places with the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;precision=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the floating point value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-float.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-float_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
|Creates a textbox input to enter an '''integer number'''. Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. (Default: &amp;lt;code&amp;gt;min=&amp;quot;0&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max=&amp;quot;10&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;full&amp;quot;&amp;lt;/code&amp;gt; to create a slider with which the integer value can be adjusted dynamically over the full range.&lt;br /&gt;
|[[File:INX_sample-int.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-int_full.png|240px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! notebook&lt;br /&gt;
|Creates a set of pages (aka tab control). The user can switch between individual pages, each page can contain an arbitrary set of other parameters. Individual pages are created with the &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_1&amp;quot; gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;page_2&amp;quot; gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-notebook.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! optiongroup&lt;br /&gt;
|Creates a set of radio buttons from which '''one predefined value''' can be chosen. The different choices are created with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; is selected by default.&lt;br /&gt;
The '''returned value''' for &amp;lt;code&amp;gt;optiongroup&amp;lt;/code&amp;gt; type parameters is the value of the &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; attribute of the selected &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;optiongroup&amp;quot;&lt;br /&gt;
gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/option&amp;gt;&lt;br /&gt;
   &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop-down list instead of radio buttons.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;''The option group will occupy the minimum space on the right hand side of the dialog. Versus the Enum, which expands to fill available space.''&amp;lt;/small&amp;gt;&lt;br /&gt;
|[[File:INX_sample-optiongroup.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:INX_sample-optiongroup-minimal.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! string&lt;br /&gt;
|Creates a textbox input to enter a '''character string'''. Limit the number of characters the user is allowed to enter with the &amp;lt;code&amp;gt;max_length&amp;lt;/code&amp;gt; attribute. (Default: no limit)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;name&amp;quot; type=&amp;quot;string&amp;quot; gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|[[File:INX_sample-string.png]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Localization of parameters ==&lt;br /&gt;
&lt;br /&gt;
To mark parameters to be included into the translation files (this is done automatically during the build process) there exist special variants of all relevant attributes and tag names that start with an underscore.&lt;br /&gt;
&lt;br /&gt;
* Labels and tooltips can be marked for translation by simply using the attribute names &amp;lt;code&amp;gt;_gui-text&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;_gui-description&amp;lt;/code&amp;gt; instead of their counterparts without underscore.&lt;br /&gt;
* For &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt;s and &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt;s (both of which do not use the attributes just explained) add an underscore to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;Localized item name&amp;lt;/_item&amp;gt;&amp;lt;/code&amp;gt; and&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;Localized option name&amp;lt;/_option&amp;gt;&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* Also for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type (and ''only'' for &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; type!) parameters an underscore is added to the tag name itself:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;_param type=&amp;quot;description&amp;quot;&amp;gt;Localized text here.&amp;lt;/_param&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>KBenoit</name></author>
	</entry>
</feed>