//Auto-generated by kalyptus. DO NOT EDIT.
namespace DOM {
	using Kimono;
	using System;
	using Qyoto;
	/// <remarks>
	///  The select element allows the selection of an option. The contained
	///  options can be directly accessed through the select element as a
	///  collection. See the <a
	///  href="http://www.w3.org/TR/REC-html40/interact/forms.html#edef-SELECT">
	///  SELECT element definition </a> in HTML 4.0.
	///  </remarks>		<short>    The select element allows the selection of an option.</short>
	[SmokeClass("DOM::HTMLSelectElement")]
	public class HTMLSelectElement : DOM.HTMLElement, IDisposable {
 		protected HTMLSelectElement(Type dummy) : base((Type) null) {}
		protected new void CreateProxy() {
			interceptor = new SmokeInvocation(typeof(HTMLSelectElement), this);
		}
		// DOM::HTMLSelectElement* HTMLSelectElement(DOM::HTMLSelectElementImpl* arg1); >>>> NOT CONVERTED
		public HTMLSelectElement() : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("HTMLSelectElement", "HTMLSelectElement()", typeof(void));
		}
		public HTMLSelectElement(DOM.HTMLSelectElement other) : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("HTMLSelectElement#", "HTMLSelectElement(const DOM::HTMLSelectElement&)", typeof(void), typeof(DOM.HTMLSelectElement), other);
		}
		public HTMLSelectElement(DOM.Node other) : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("HTMLSelectElement#", "HTMLSelectElement(const DOM::Node&)", typeof(void), typeof(DOM.Node), other);
		}
		/// <remarks>
		///  The type of control created.
		///      </remarks>		<short>    The type of control created.</short>
		public DOM.DOMString type() {
			return (DOM.DOMString) interceptor.Invoke("type", "type() const", typeof(DOM.DOMString));
		}
		/// <remarks>
		///  The ordinal index of the selected option. The value -1 is
		///  returned if no element is selected. If multiple options are
		///  selected, the index of the first selected option is returned.
		///      </remarks>		<short>    The ordinal index of the selected option.</short>
		public long SelectedIndex() {
			return (long) interceptor.Invoke("selectedIndex", "selectedIndex() const", typeof(long));
		}
		/// <remarks>
		///  see selectedIndex
		///      </remarks>		<short>    see selectedIndex      </short>
		public void SetSelectedIndex(long arg1) {
			interceptor.Invoke("setSelectedIndex$", "setSelectedIndex(long)", typeof(void), typeof(long), arg1);
		}
		/// <remarks>
		///  The current form control value.
		///      </remarks>		<short>    The current form control value.</short>
		public DOM.DOMString Value() {
			return (DOM.DOMString) interceptor.Invoke("value", "value() const", typeof(DOM.DOMString));
		}
		/// <remarks>
		///  see value
		///      </remarks>		<short>    see value      </short>
		public void SetValue(DOM.DOMString arg1) {
			interceptor.Invoke("setValue#", "setValue(const DOM::DOMString&)", typeof(void), typeof(DOM.DOMString), arg1);
		}
		/// <remarks>
		///  The number of options in this <code>SELECT</code> .
		///      </remarks>		<short>    The number of options in this <code>SELECT</code> .</short>
		public long Length() {
			return (long) interceptor.Invoke("length", "length() const", typeof(long));
		}
		/// <remarks>
		///  ### KDE 4.0: remove.
		///      </remarks>		<short>    ### KDE 4.</short>
		public new DOM.HTMLFormElement Form() {
			return (DOM.HTMLFormElement) interceptor.Invoke("form", "form() const", typeof(DOM.HTMLFormElement));
		}
		/// <remarks>
		///  The collection of <code>OPTION</code> elements contained by
		///  this element.
		///      </remarks>		<short>    The collection of <code>OPTION</code> elements contained by  this element.</short>
		public DOM.HTMLCollection Options() {
			return (DOM.HTMLCollection) interceptor.Invoke("options", "options() const", typeof(DOM.HTMLCollection));
		}
		/// <remarks>
		///  The control is unavailable in this context. See the <a
		///  href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-disabled">
		///  disabled attribute definition </a> in HTML 4.0.
		///      </remarks>		<short>    The control is unavailable in this context.</short>
		public bool Disabled() {
			return (bool) interceptor.Invoke("disabled", "disabled() const", typeof(bool));
		}
		/// <remarks>
		///  see disabled
		///      </remarks>		<short>    see disabled      </short>
		public void SetDisabled(bool arg1) {
			interceptor.Invoke("setDisabled$", "setDisabled(bool)", typeof(void), typeof(bool), arg1);
		}
		/// <remarks>
		///  If true, multiple <code>OPTION</code> elements may be
		///  selected in this <code>SELECT</code> . See the <a
		///  href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-multiple">
		///  multiple attribute definition </a> in HTML 4.0.
		///      </remarks>		<short>    If true, multiple <code>OPTION</code> elements may be  selected in this <code>SELECT</code> .</short>
		public bool Multiple() {
			return (bool) interceptor.Invoke("multiple", "multiple() const", typeof(bool));
		}
		/// <remarks>
		///  see multiple
		///      </remarks>		<short>    see multiple      </short>
		public void SetMultiple(bool arg1) {
			interceptor.Invoke("setMultiple$", "setMultiple(bool)", typeof(void), typeof(bool), arg1);
		}
		/// <remarks>
		///  Form control or object name when submitted with a form. See the
		///  <a
		///  href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-name-SELECT">
		///  name attribute definition </a> in HTML 4.0.
		///      </remarks>		<short>    Form control or object name when submitted with a form.</short>
		public DOM.DOMString Name() {
			return (DOM.DOMString) interceptor.Invoke("name", "name() const", typeof(DOM.DOMString));
		}
		/// <remarks>
		///  see name
		///      </remarks>		<short>    see name      </short>
		public void SetName(DOM.DOMString arg1) {
			interceptor.Invoke("setName#", "setName(const DOM::DOMString&)", typeof(void), typeof(DOM.DOMString), arg1);
		}
		/// <remarks>
		///  Number of visible rows. See the <a
		///  href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-size-SELECT">
		///  size attribute definition </a> in HTML 4.0.
		///      </remarks>		<short>    Number of visible rows.</short>
		public long Size() {
			return (long) interceptor.Invoke("size", "size() const", typeof(long));
		}
		/// <remarks>
		///  see size
		///      </remarks>		<short>    see size      </short>
		public void SetSize(long arg1) {
			interceptor.Invoke("setSize$", "setSize(long)", typeof(void), typeof(long), arg1);
		}
		/// <remarks>
		///  Index that represents the element's position in the tabbing
		///  order. See the <a
		///  href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-tabindex">
		///  tabindex attribute definition </a> in HTML 4.0.
		///      </remarks>		<short>    Index that represents the element's position in the tabbing  order.</short>
		public long TabIndex() {
			return (long) interceptor.Invoke("tabIndex", "tabIndex() const", typeof(long));
		}
		/// <remarks>
		///  see tabIndex
		///      </remarks>		<short>    see tabIndex      </short>
		public void SetTabIndex(long arg1) {
			interceptor.Invoke("setTabIndex$", "setTabIndex(long)", typeof(void), typeof(long), arg1);
		}
		/// <remarks>
		///  Add a new element to the collection of <code>OPTION</code>
		///  elements for this <code>SELECT</code> .
		/// <param> name="element" The element to add.
		/// </param><param> name="before" The element to insert before, or 0 for the
		///  tail of the list.
		/// </param>     </remarks>		<short>    Add a new element to the collection of <code>OPTION</code>  elements for this <code>SELECT</code> .</short>
		public void Add(DOM.HTMLElement element, DOM.HTMLElement before) {
			interceptor.Invoke("add##", "add(const DOM::HTMLElement&, const DOM::HTMLElement&)", typeof(void), typeof(DOM.HTMLElement), element, typeof(DOM.HTMLElement), before);
		}
		/// <remarks>
		///  Remove an element from the collection of <code>OPTION</code>
		///  elements for this <code>SELECT</code> . Does nothing if no
		///  element has the given index.
		/// <param> name="index" The index of the item to remove.
		/// </param>     </remarks>		<short>    Remove an element from the collection of <code>OPTION</code>  elements for this <code>SELECT</code> .</short>
		public void Remove(long index) {
			interceptor.Invoke("remove$", "remove(long)", typeof(void), typeof(long), index);
		}
		/// <remarks>
		///  Removes keyboard focus from this element.
		///      </remarks>		<short>    Removes keyboard focus from this element.</short>
		public void Blur() {
			interceptor.Invoke("blur", "blur()", typeof(void));
		}
		/// <remarks>
		///  Gives keyboard focus to this element.
		///      </remarks>		<short>    Gives keyboard focus to this element.</short>
		public void Focus() {
			interceptor.Invoke("focus", "focus()", typeof(void));
		}
		~HTMLSelectElement() {
			interceptor.Invoke("~HTMLSelectElement", "~HTMLSelectElement()", typeof(void));
		}
		public new void Dispose() {
			interceptor.Invoke("~HTMLSelectElement", "~HTMLSelectElement()", typeof(void));
		}
	}
}
