<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_ref.xsl" type="text/xsl"?>

<c74object name="icst.listui" module="ICST Ambisonics">

    <digest>
	A graphical user interface for lists.
    </digest>

    <description>
		A graphical user interface for lists of values or symbols with extended graphical elements: borders, reset, prefix and more. A convenient way to display and edit compound lists.<br/>
	</description>

    <!--METADATA-->
    <metadatalist>
	<metadata name="author">ICST | Zurich University of the Arts</metadata>
	<metadata name="tag">ICST Ambisonics</metadata>
	<metadata name="copyright">
	 © 2009 - 2021 ICST | Zurich University of the Arts
	</metadata>
	<metadata name="version">
	1.2 (Build 02/2021)
	</metadata>
    </metadatalist>

    <!--DISCUSSION-->
    <discussion>

    </discussion>

    <!--INLETS-->
    <!--do not use-->
    <inletlist>
    </inletlist>

    <!--OUTLETS-->
    <!--do not use-->
    <outletlist>
    </outletlist>

    <!--ARGUMENTS-->
    <!-- <objarglist>
    </objarglist> -->

    <!--MESSAGES-->
    <methodlist>
	<method name="bang">
	    <description>
			Outputs internal state value.
	    </description>
	</method>
	
	<method name="int">
	    <description>
			<p>Sets internal state values, outputs and draws.</p>
	    </description>
	</method>	

	<method name="float">
	    <description>
			<p>Sets internal state values, outputs and draws.</p>
	    </description>
	</method>		

	<method name="list">
	    <description>
			<p>Sets internal state values, outputs and draws.</p>

	    </description>
	</method>
	
	<method name="set">
	    <description>
			<p>Sets internal state values and draws them without output.</p>
	    </description>
	</method>
	
	<method name="reset">
	    <description>
			<p>Resets internal state values to <m>Default Values</m>, outputs and draws them.</p>
	    </description>
	</method>
	
	<method name="select">
	    <description>
			<p>Selects first cell and highlights it, makes it ready to be typed into, step incremented or tabbed through. Tab-key steps through remaining cells, at final cell. sends <m>select</m> message out 2nd outlet to be connected to further <m>listuis</m>.</p>
	    </description>
	</method>
	
	<method name="select_last">
	    <description>
			<p>Selects last cell and highlights it, makes it ready to be typed into, step incremented or tabbed through. Tab-key sends <m>select</m> message out 2nd outlet to be connected to further <m>listuis</m>.</p>
	    </description>
	</method>
	
	<method name="version">
	    <description>
			Print version information to Max' console window.
	    </description>
	</method>
	<method name="report">
	    <description>
			Print version information to Max' console window.
	    </description>
	</method>
    </methodlist>

    <!--ATTRIBUTES-->
    <attributelist>
	
	<!-- Border-->
	<attribute name="borderstyle" get="0" set="0" type="int" size="1" value="Border Style">
	    <description>
			<p>The style for the border in <i>default</i> state (default: Rectangle).</p>
			<p>Options are:</p>
			<ul>
				<li>Off</li>
				<li>Rectangle</li>
				<li>Rounded Rectangle</li>
				<li>Brackets Vertical</li>
				<li>Brackets Horizontal</li>
				<li>Brackets Horizontal</li>
				<li>Corners</li>
				<li>Triangles</li>
				<li>Dots</li>
			</ul>
	    </description>
	</attribute>
	
	<attribute name="focusborderstyle" get="0" set="0" type="int" size="1" value="Border Style On">
	    <description>
			<p>The style for the border in <bi>focused</bi> state (default: Rectangle).</p>
			<p>Options are:</p>
			<ul>
				<li>Off</li>
				<li>Rectangle</li>
				<li>Rounded Rectangle</li>
				<li>Brackets Vertical</li>
				<li>Brackets Horizontal</li>
				<li>Brackets Horizontal</li>
				<li>Corners</li>
				<li>Triangles</li>
				<li>Dots</li>
			</ul>
	    </description>
	</attribute>
	
	<attribute name="borderwidth" get="0" set="0" type="float" size="1" value="Border Style">
	    <description>
			<p>The width of the border in <i>default</i> state (default: 1.0).</p>
	    </description>
	</attribute>
	
	<attribute name="focusborderwidth" get="0" set="0" type="float" size="1" value="Border Style Focus">
	    <description>
			<p>The width of the border in <bi>focused</bi> state (default: 2.0).</p>
	    </description>
	</attribute>
	
	<attribute name="bordersize" get="0" set="0" type="float" size="1" value="Border Element Size">
	    <description>
			<p>The size of the border element in <i>default</i> state (default: 4.0).</p>
	    </description>
	</attribute>
	
	<attribute name="focusbordersize" get="0" set="0" type="float" size="1" value="Border Element Size Focus">
	    <description>
			<p>The size of the border element in <bi>focused</bi> state (default: 4.0).</p>
	    </description>
	</attribute>
	
	<attribute name="bordercode" get="0" set="0" type="int" size="1" value="Border Code">
	    <description>
			<p>The code for the painting the border elements in <i>default</i> state (default: 15).</p>
			<p>Binary code to activate brackets, corners, triangles and dots.</p>
	    </description>
	</attribute>
	
	<attribute name="focusbordercode" get="0" set="0" type="int" size="1" value="Border Element Size Focus">
	    <description>
			<p>The code for the painting the border elements in <bi>focused</bi> state (default: 15).</p>
			<p>Binary code to activate brackets, corners, triangles and dots.</p>
	    </description>
	</attribute>
	
	<!-- Reset -->	
	<attribute name="resetboxsize" get="0" set="0" type="float" size="1" value="Reset Button Size">
	    <description>
			<p>Sets the size of the reset widget's box (default: 8.).</p>
	    </description>
	</attribute>
	
	<attribute name="resetwidth" get="0" set="0" type="float" size="1" value="Reset Line Width">
	    <description>
			<p>Sets the line width of the reset widget's icon (default: 1).</p>
	    </description>
	</attribute>
	
	<attribute name="resetstyle" get="0" set="0" type="int" size="1" value="Reset Button">
	    <description>
			<p>Sets the style for the reset widget icon.</p> 
			<p>Options are: <m>Off</m>, <m>Crossed Square</m>, <m>Crossed Circle</m>, <m>Revert Arrow</m> (default: Off).</p>
	    </description>
	</attribute>

	<!-- Value-->
	<attribute name="minimum" get="0" set="0" type="int" size="1" value="Minimum">
	    <description>
			<p>Sets the clipping minimum value (default: 0).</p>
	    </description>
	</attribute>	
	
	<attribute name="maximum" get="0" set="0" type="int" size="1" value="Maximum">
	    <description>
			<p>Sets the clipping maximum value (default: 1).</p>
	    </description>
	</attribute>
	
	<attribute name="usemin" get="0" set="0" type="int" size="1" value="Clip Value at Minimum">
	    <description>
			<p>Activate clipping at minimum (default: off).</p>
	    </description>
	</attribute>	
	
	<attribute name="usemax" get="0" set="0" type="int" size="1" value="Clip Value at Maximum">
	    <description>
			<p>Activate clipping at maximum (default: off).</p>
	    </description>
	</attribute>
	
	<attribute name="defaultvalue" get="0" set="0" type="int" size="1" value="Reset Value">
	    <description>
			<p>Set default value to reset to (default: 0).</p>
	    </description>
	</attribute>	
		
	<!-- Text-->	
	<attribute name="textalignment" get="0" set="0" type="int" size="1" value="Text Alignment">
	    <description>
			<p>Sets the text-alignment used. Options: <m>left</m>, <m>centered</m>, <m>right</m> (default: right).</p>
	    </description>
	</attribute>
	
	<attribute name="focusfontstyle" get="0" set="0" type="float" size="1" value="Font Style Focus">
	    <description>
			<p>Sets the type style used in the <bi>focused</bi> state. Options: <m>regular</m>, <m>bold</m>, <m>italic</m>, <m>bold italic</m> (default: bold).</p>
	    </description>
	</attribute>
	
	<attribute name="pviewfontsize" get="0" set="0" type="float" size="1" value="Presentation Font Size">
	    <description>
			<p>Sets the objects presentation font size [different from the patching font-size] (default: 12).</p>
	    </description>
	</attribute>
	
	<!-- Image-->
	<attribute name="usesvg" get="0" set="0" type="int" size="1" value="Image Background Enabled">
	    <description>
			<p>Enable/Disable the use of an SVG image as background (default: 0/off).</p>
			<bluebox>
				<p>See image format in help-patcher, re: format of four states in a single image file.</p>
			</bluebox>
	    </description>
	</attribute>
	
	<attribute name="svgfile" get="0" set="0" type="file" size="1" value="SVG Background File">
	    <description>
			<p>The selected SVG image file.</p> 
	    </description>
	</attribute>
		
	<!-- Colors -->
	<attribute name="textcolor" get="0" set="0" type="rgba" size="1" value="Text Color">
	    <description>
			<p>Text colour in <i>default</i> state (default: 0.0 0.0 0.0 1.0).</p>
	    </description>
	</attribute>			
	
	<attribute name="bordercolor" get="0" set="0" type="rgba" size="1" value="Border Color">
	    <description>
			<p>Border colour in <i>default</i> state (default: 0.5 0.5 0.5 1.0).</p>
	    </description>
	</attribute>	
	
	<attribute name="bgcolor" get="0" set="0" type="rgba" size="1" value="Background Color">
	    <description>
			<p>Background colour in <i>default</i> state (default: 1.0 1.0 1.0 0.25).</p>
	    </description>
	</attribute>	
	
	
	<attribute name="focusfgcolor" get="0" set="0" type="rgba" size="1" value="Hilighted Text Color">
	    <description>
			<p>Highlighted text colour in <bi>focused</bi> state (default: 0.0 0.0 0.0 1.0).</p>
	    </description>
	</attribute>
	
	<attribute name="focusbordercolor" get="0" set="0" type="rgba" size="1" value="Hilighted Border Color">
	    <description>
			<p>Highlighted border colour in <bi>focused</bi> state (default: 1.0 0.5 0.0 1.0).</p>
	    </description>
	</attribute>	
	
	<attribute name="focusbgcolor" get="0" set="0" type="rgba" size="1" value="Off Up Text">
	    <description>
			<p>Highlighted background colour in <bi>focused</bi> state (default: 1.0 1.0 1.0 0.5).</p>
	    </description>
	</attribute>	
	
	<attribute name="scrollfgcolor" get="0" set="0" type="rgba" size="1" value="Scrolling Text Color">
	    <description>
			<p>Scrolling Text Color (default: 0.0 0.0 0.0 1.0).</p>
	    </description>
	</attribute>
	
	<attribute name="scrollbgcolor" get="0" set="0" type="rgba" size="1" value="Scrolling Background Color">
	    <description>
			<p>Scrolling Background Color (default: 1.0 1.0 1.0 0.75).</p>
	    </description>
	</attribute>	
	
	<attribute name="typingfgcolor" get="0" set="0" type="rgba" size="1" value="Typing Text Color">
	    <description>
			<p>Typing Text Color (default: 1.0 1.0 1.0 1.0).</p>
	    </description>
	</attribute>
	
	<attribute name="typingbgcolor" get="0" set="0" type="rgba" size="1" value="Typing Background Color">
	    <description>
			<p>Typing Background Color (default: 0.0 0.0 0.0 1.0).</p>
	    </description>
	</attribute>		
	
	<attribute name="resetfgcolor" get="0" set="0" type="rgba" size="1" value="Reset Button Foreground Color">
	    <description>
			<p>Reset Widget Foreground Color (default: 1.0 1.0 1.0 1.0).</p>
	    </description>
	</attribute>
	
	<attribute name="resetbgcolor" get="0" set="0" type="rgba" size="1" value="Reset Button Background Color">
	    <description>
			<p>Reset Widget Background Color (default: 0 0 0 0.5).</p>
	    </description>
	</attribute>	


	<attribute name="clickedresetfgcolor" get="0" set="0" type="rgba" size="1" value="Clicked Reset Button Foreground Color">
	    <description>
			<p>Clicked Reset Widget Foreground Color (default: 0.75 0.75 0.75 1.0).</p>
	    </description>
	</attribute>				

	<attribute name="clickedresetbgcolor" get="0" set="0" type="rgba" size="1" value="Clicked Reset Button Background Color">
	    <description>
			<p>Clicked Reset Widget Background Color (default: 0 0 0 0.75).</p>
	    </description>
	</attribute>
    </attributelist>
	
	
    <misc name = "Input">
	<entry name ="Inlet 1 [bang, int, float, list, anything]">
	    <description>
			<p>Value for setting internal states and output; other messages.</p>
	    </description>
	</entry>
    </misc>

    <misc name = "Output">
	<entry name ="Outlet 1 [int]">
	    <description>
			<p>Output of internal state values.</p>

	    </description>
	</entry>
	<entry name ="Outlet 2 [symbol]">
	    <description>
			<p>Output <m>select</m> message when tabbed or receiving <m>select</m>.</p>
	    </description>
	</entry>
	
	<entry name ="Outlet 3 [symbol]">
	    <description>
			<p>Output <m>reset</m> message when reset through widget, cmd-click or <m>reset</m> message.</p>
	    </description>
	</entry>
    </misc>
	
    <misc name = "Pattr">
	<entry name ="">
	    <description>
			<p>Object is exposed to the pattr-system when its scripting name is set and it is attached via a <m>pattr</m> or <m>autopattr</m>.</p>
			<p>Setvalueof propagates state-change to a connected <m>pattrstorage</m> when storing in a preset slot.</p>
			<p>Getvalueof receives state-change when affected in connected <m>pattrstorage</m> by recalling a preset slot.</p>  
			<bluebox>
				See corresponding tab in help-patcher.
			</bluebox>
	    </description>
	</entry>
    </misc>

    <misc name = "Keywords">
	<entry name ="">
	    <description>
		icst.floatui, graphics, reset, clip, default, borders
	    </description>
	</entry>
    </misc>
	
    <!--SEEALSO-->
	<seealsolist>

		<seealso name="icst.button"/>
		<seealso name="icst.intui"/>
		<seealso name="icst.floatui"/>
		<!-- <seealso name="icst.listui"/> -->
		
		<seealso name="icst.map"/>
		<seealso name="icst.random"/>
		<seealso name="icst.spline"/>
		<!-- <seealso name="splines"/> -->
		
		<seealso name="ambimonitor"/>
		<seealso name="ambicontrol"/>
		<seealso name="ambipoint"/>

		<seealso name="ambiencode~"/>
		<seealso name="ambidecode~"/>
		<seealso name="ambipanning~"/>
				
		<seealso name="mc.ambiencode~"/>
		<seealso name="mc.ambidecode~"/>
		<seealso name="mc.ambipanning~"/>
		
	</seealsolist>

</c74object>
