<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<?xml-stylesheet href="./_c74_ref.xsl" type="text/xsl"?>

<!--This is an automatically generated file. DO NOT EDIT THIS FILE DIRECTLY. Rather, use the _ref.xml files found in the 'edits' folder.-->
<c74object name="textedit" module="max" category="U/I">
	<digest>
		Enter text
	</digest>
	<description>
		Provides a user interface within a patcher which can collect typed-in text from the computer-keyboard.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Max
		</metadata>
		<metadata name="tag">
			U/I
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				bang Reports Text
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				Text Output
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
				ASCII Value of Character Typed
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="2" type="OUTLET_TYPE">
			<digest>
				Item or Character Clicked On
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="3" type="OUTLET_TYPE">
			<digest>
				Sends &amp;quot;textchanged&amp;quot; when Text is Changed While Typing
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<palette action="textedit" category="Interface" pic="textedit.svg" />
	<!--ARGUMENTS-->
	<objarglist>
		<objarg id="0" name="OBJARG_NAME" type="OBJARG_TYPE" optional="0">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</description>
		</objarg>
	</objarglist>
	<!--parameter-->
	<parameter />
	<!--MESSAGES-->
	<methodlist>
		<method name="bang">
			<arglist />
			<digest>
				Output the stored data
			</digest>
			<description>
				Outputs the typed or stored contents of the <o>textedit</o> object's buffer.
			</description>
		</method>
		<method name="int">
			<arglist>
				<arg name="input" optional="0" type="int" />
			</arglist>
			<digest>
				Enter and display value with no output
			</digest>
			<description>
				Sets the contents of the <o>textedit</o> object's buffer while causing no output.
			</description>
		</method>
		<method name="float">
			<arglist>
				<arg name="input" optional="0" type="float" />
			</arglist>
			<digest>
				Enter and display value with no output
			</digest>
			<description>
				Sets the contents of the <o>textedit</o> object's buffer while causing no output.
			</description>
		</method>
		<method name="list">
			<arglist>
				<arg name="input" optional="0" type="list" />
			</arglist>
			<digest>
				Enter and display value with no output
			</digest>
			<description>
				Sets the contents of the <o>textedit</o> object's buffer while causing no output as long as the list is comprised of numbers, otherwise, an error message is displayed.
			</description>
		</method>
		<method name="(mouse)">
			<digest>
				Output selected text
			</digest>
			<description>
				Clicking with the mouse on the <o>textedit</o> object (when the patcher window is locked) will cause the <o>textedit</o> object to send either the letter or word selected out its right outlet depending on the setting of the click mode (see the <m>clickmode</m> message).
			</description>
			<attributelist>
				<attribute name="documentable" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</method>
		<method name="(typing)">
			<arglist />
			<digest>
				Enter and display value with no output
			</digest>
			<description>
				When the <o>textedit</o> object is highlighted, typing enters text into the text display area and modifies its buffer, unless the object is set to read-only mode (see the <m>readonly</m> message). The ASCII value of the character typed is sent out the middle outlet.
			</description>
			<attributelist>
				<attribute name="documentable" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</method>
		<method name="append">
			<arglist>
				<arg name="input" optional="0" type="list" />
			</arglist>
			<digest>
				Append and display message
			</digest>
			<description>
				The word <m>append</m>, followed by a message, will append the message to the <o>textedit</o> object's buffer without causing any output.
			</description>
		</method>
		<method name="clear">
			<arglist />
			<digest>
				Clear the stored data
			</digest>
			<description>
				Erases the contents of the <o>textedit</o> object's buffer.
			</description>
		</method>
		<method name="select">
			<arglist />
			<digest>
				Highlight and target text
			</digest>
			<description>
				Causes all text (if any) to be highlighted and sets the object to be the target of keyboard events if the object is not in read-only mode.
			</description>
		</method>
		<method name="set">
			<arglist>
				<arg name="input" optional="0" type="list" />
			</arglist>
			<digest>
				Replace and display value with no output
			</digest>
			<description>
				The word <m>set</m>, followed by any message, sets the contents of the <o>textedit</o> object's buffer while causing no output.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="autoscroll" get="1" set="1" type="int" size="1">
			<digest>
				Autoscrolling
			</digest>
			<description>
				Toggles autoscrolling in the text display area. The message <m>autoscroll 1</m> lets you scroll past the amount of text displayed in the <o>textedit</o> window when the number of lines is set to 1 and the word wrapping is disabled (see the <m>wordwrap</m> message) using either the cursor or by clicking and dragging in the <o>textedit</o> window. The default is 0 (autoscroll disabled).
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Editing" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Automatic Scrolling" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="bangmode" get="1" set="1" type="int" size="1">
			<digest>
				Bang mode
			</digest>
			<description>
				When <at>bangmode</at> is set to &quot;Bang Outputs Typed Text&quot; (0 = default) then the <o>textedit</o> object will output the text currently being typed when banged. When set to &quot;Bang Outputs Entered Text&quot; (1) then the <o>textedit</o> object will output the text previously entered (will wait until text being typed is completed before sending the new value).
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Output" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="2">
					<enumlist>
						<enum name="Bang Outputs Typed Text">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="Bang Outputs Entered Text">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Bang Mode" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enumindex" />
			</attributelist>
		</attribute>
		<attribute name="bgcolor" get="1" set="1" type="float" size="4">
			<digest>
				Background color
			</digest>
			<description>
				Sets the background color of the <o>textedit</o> object in RGBA format.
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Background Color" />
				<attribute name="legacydefault" get="1" set="1" type="float" size="4" value="1. 1. 1. 1." />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="preview" get="1" set="1" type="symbol" size="1" value="rect_fill" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="set" get="1" set="1" type="pointer" size="1" value="pointer" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
			</attributelist>
		</attribute>
		<attribute name="border" get="1" set="1" type="float" size="1">
			<digest>
				Border size
			</digest>
			<description>
				Sets the size, in pixels, of the border of the <o>textedit</o> object. The default is 1.
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Appearance" />
				<attribute name="default" get="1" set="1" type="float" size="1" value="2." />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Border Size" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="bordercolor" get="1" set="1" type="float" size="4">
			<digest>
				Border color
			</digest>
			<description>
				Sets the border color of the <o>textedit</o> object in RGBA format. The <m>bordercolor</m> attribute is mapped to the <m>elementcolor</m>  <link module="core" name="maxcolor" type="vignette">style color</link>.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Border Color" />
				<attribute name="legacydefault" get="1" set="1" type="float" size="4" value="0.5 0.5 0.5 1." />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="preview" get="1" set="1" type="symbol" size="1" value="rect_frame" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="set" get="1" set="1" type="pointer" size="1" value="pointer" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
				<attribute name="stylemap" get="1" set="1" type="symbol" size="1" value="elementcolor" />
			</attributelist>
		</attribute>
		<attribute name="clickmode" get="1" set="1" type="int" size="1">
			<digest>
				Mouse click mode
			</digest>
			<description>
				Sets the way that the <o>textedit</o> object responds to mouse clicks in the text display area. The message <m>clickmode 0</m> will send an individual character clicked on out the right outlet of the <o>textedit</o> object. Setting the object with the message <m>clickmode 1</m> will send the word the user clicks on. The default is <m>0</m> (select characters).
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Output" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="2">
					<enumlist>
						<enum name="Output Character">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="Output Word">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Click Mode" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enumindex" />
			</attributelist>
		</attribute>
		<attribute name="keymode" get="1" set="1" type="int" size="1">
			<digest>
				Carriage return mode
			</digest>
			<description>
				Sets the way that the <o>textedit</o> object responds to carriage returns while typing characters into its text display area. The message <m>keymode 0</m> allows for text input, and displays carriage returns normally. Setting the object with the message <m>keymode</m>  <m>1</m> causes the carriage return to output the entire contents of the current buffer. The default is <m>0</m>.
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Editing" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Return Enters Text" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="lines" get="1" set="1" type="int" size="1">
			<digest>
				Number of display lines
			</digest>
			<description>
				Sets the number of lines in the <o>textedit</o> object display.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Editing" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Maximum Lines" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="text" />
			</attributelist>
		</attribute>
		<attribute name="outputmode" get="1" set="1" type="int" size="1">
			<digest>
				Output mode
			</digest>
			<description>
				Sets whether the <o>textedit</o> object outputs its contents as a message (0) or as a single symbol (1). The message <m>outputmode 0</m> causes the output of the object to be sent out as messages. Setting the object with the message <m>outputmode 1</m> will output the buffer contents as a single symbol. The default is <m>0</m> (output as messages).
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Output" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Output as One Symbol" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="parameter_enable" get="1" set="1" type="int" size="1">
			<digest>
				Enable parameter mode handling
			</digest>
			<description>
				Enables use of this object with <link module="core" name="live_parameters" type="vignette">Max for Live Parameters</link>.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Parameter" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Parameter Mode Enable" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="readonly" get="1" set="1" type="int" size="1">
			<digest>
				Read-only mode
			</digest>
			<description>
				Toggles the read only mode of the <o>textedit</o> object. The message <m>readonly 1</m> disables any user entry into the text box. Messages which operate on the current contents of the <o>textedit</o> buffer such as <m>clear</m>, <m>append</m>, or <m>separator</m> are not affected by the <m>readonly</m> message. The default is <m>0</m> (readonly mode off).
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Editing" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Read-Only" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="rounded" get="1" set="1" type="float" size="1">
			<digest>
				Roundness of box corners
			</digest>
			<description>
				Sets the rounding radius, in pixels, for the corners of the <o>textedit</o> object.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Appearance" />
				<attribute name="default" get="1" set="1" type="float" size="1" value="8." />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Roundness of Box Corners" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="separator" get="1" set="1" type="symbol" size="1">
			<digest>
				Line separator
			</digest>
			<description>
				Designates a symbol as a line separator. and treats it as a carriage return when the contents of the buffer are output. If the buffer contains the text &quot;red green blue&quot; and the object receives the message <m>separator green</m>, the next <m>bang</m> received by <o>textedit</o> will output <m>red</m> (carriage return) <m>blue</m>.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Output" />
				<attribute name="default" get="1" set="1" type="symbol" size="1" value="nothing" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Separator" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="style" get="1" set="1" type="symbol" size="1">
			<digest>
				Style
			</digest>
			<description>
				Sets the <link type="vignette" module="core" name="styles">style</link> to be applied to the object. Styles can be set using the <link type="vignette" module="core" name="format_palette">Format palette</link>.
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="symbol" size="1" value="Appearance" />
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Style" />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="style" />
			</attributelist>
		</attribute>
		<attribute name="tabmode" get="1" set="1" type="int" size="1">
			<digest>
				Tab key mode
			</digest>
			<description>
				Toggles the ability to cause the tab key to output the entire contents of the current buffer. The default is 1 (on).
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Editing" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Tab Enters Text" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="textcolor" get="1" set="1" type="float" size="4">
			<digest>
				Text Color
			</digest>
			<description>
				Sets the text color in RGBA format. The <m>textcolor</m> attribute is mapped to the <m>textcolor_inverse</m>  <link module="core" name="maxcolor" type="vignette">style color</link>.
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Color" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Text Color" />
				<attribute name="legacydefault" get="1" set="1" type="float" size="4" value="0. 0. 0. 1." />
				<attribute name="paint" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="preview" get="1" set="1" type="symbol" size="1" value="text_letter" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="set" get="1" set="1" type="pointer" size="1" value="pointer" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
				<attribute name="stylemap" get="1" set="1" type="symbol" size="1" value="textcolor_inverse" />
			</attributelist>
		</attribute>
		<attribute name="wordwrap" get="1" set="1" type="int" size="1">
			<digest>
				Word wrap
			</digest>
			<description>
				Sets the way that the <o>textedit</o> object displays messages which are longer than the <o>textedit</o> display area. The message <m>wordwrap 0</m> will disable text wrapping on word boundaries in the display area. <m>wordwrap</m> is enabled (set to 1) by default.
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Editing" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Word Wraparound" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
	</attributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example img="textedit.png" caption="Collect text to store in a coll object" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="dialog" />
		<seealso name="jit.cellblock" />
		<seealso name="text" />
		<seealso module="max" name="communicationschapter03" type="tutorial" />
	</seealsolist>
	<misc name="Output">
		<entry name="symbol">
			<description>
				Out left outlet: The currently stored contents of the <o>textedit</o> object's buffer preceded by the word <m>text</m> are output when the object receives a <m>bang</m> message. If the <o>textedit</o> message has been set to enter text on a carriage return using the <m>keymode 1</m> message, a carriage return will also output the typed text and the buffer contents.
			</description>
		</entry>
		<entry name="symbol">
			<description>
				Out middle outlet: The ASCII value of the typed key.
			</description>
		</entry>
		<entry name="symbol">
			<description>
				Out right outlet: The word or letter in the <o>textedit</o> object's text box that the user has clicked on.
			</description>
		</entry>
	</misc>
</c74object>
