// This file was generated by the Gtk# code generator.
// Any changes made will be lost if regenerated.

namespace Poppler {

	using System;
	using System.Collections;
	using System.Runtime.InteropServices;

#region Autogenerated code
	public class FormField : GLib.Object {

		[Obsolete]
		protected FormField(GLib.GType gtype) : base(gtype) {}
		public FormField(IntPtr raw) : base(raw) {}

		protected FormField() : base(IntPtr.Zero)
		{
			CreateNativeObject (new string [0], new GLib.Value [0]);
		}

		[DllImport("poppler-glib")]
		static extern IntPtr poppler_form_field_get_type();

		public static new GLib.GType GType { 
			get {
				IntPtr raw_ret = poppler_form_field_get_type();
				GLib.GType ret = new GLib.GType(raw_ret);
				return ret;
			}
		}

		[DllImport("poppler-glib")]
		static extern bool poppler_form_field_choice_do_spell_check(IntPtr raw);

		public bool ChoiceDoSpellCheck() {
			bool raw_ret = poppler_form_field_choice_do_spell_check(Handle);
			bool ret = raw_ret;
			return ret;
		}

		[DllImport("poppler-glib")]
		static extern double poppler_form_field_get_font_size(IntPtr raw);

		public double FontSize { 
			get {
				double raw_ret = poppler_form_field_get_font_size(Handle);
				double ret = raw_ret;
				return ret;
			}
		}

		[DllImport("poppler-glib")]
		static extern int poppler_form_field_text_get_max_len(IntPtr raw);

		public int TextGetMaxLen() {
			int raw_ret = poppler_form_field_text_get_max_len(Handle);
			int ret = raw_ret;
			return ret;
		}

		[DllImport("poppler-glib")]
		static extern bool poppler_form_field_choice_commit_on_change(IntPtr raw);

		public bool ChoiceCommitOnChange() {
			bool raw_ret = poppler_form_field_choice_commit_on_change(Handle);
			bool ret = raw_ret;
			return ret;
		}

		[DllImport("poppler-glib")]
		static extern IntPtr poppler_form_field_choice_get_item(IntPtr raw, int index);

		public string ChoiceGetItem(int index) {
			IntPtr raw_ret = poppler_form_field_choice_get_item(Handle, index);
			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
			return ret;
		}

		[DllImport("poppler-glib")]
		static extern int poppler_form_field_text_get_text_type(IntPtr raw);

		public Poppler.FormTextType TextGetTextType() {
			int raw_ret = poppler_form_field_text_get_text_type(Handle);
			Poppler.FormTextType ret = (Poppler.FormTextType) raw_ret;
			return ret;
		}

		[DllImport("poppler-glib")]
		static extern bool poppler_form_field_choice_is_item_selected(IntPtr raw, int index);

		public bool ChoiceIsItemSelected(int index) {
			bool raw_ret = poppler_form_field_choice_is_item_selected(Handle, index);
			bool ret = raw_ret;
			return ret;
		}

		[DllImport("poppler-glib")]
		static extern int poppler_form_field_choice_get_choice_type(IntPtr raw);

		public Poppler.FormChoiceType ChoiceGetChoiceType() {
			int raw_ret = poppler_form_field_choice_get_choice_type(Handle);
			Poppler.FormChoiceType ret = (Poppler.FormChoiceType) raw_ret;
			return ret;
		}

		[DllImport("poppler-glib")]
		static extern void poppler_form_field_button_set_state(IntPtr raw, bool state);

		public void ButtonSetState(bool state) {
			poppler_form_field_button_set_state(Handle, state);
		}

		[DllImport("poppler-glib")]
		static extern bool poppler_form_field_text_do_spell_check(IntPtr raw);

		public bool TextDoSpellCheck() {
			bool raw_ret = poppler_form_field_text_do_spell_check(Handle);
			bool ret = raw_ret;
			return ret;
		}

		[DllImport("poppler-glib")]
		static extern int poppler_form_field_get_id(IntPtr raw);

		public int Id { 
			get {
				int raw_ret = poppler_form_field_get_id(Handle);
				int ret = raw_ret;
				return ret;
			}
		}

		[DllImport("poppler-glib")]
		static extern IntPtr poppler_form_field_text_get_text(IntPtr raw);

		public string TextGetText() {
			IntPtr raw_ret = poppler_form_field_text_get_text(Handle);
			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
			return ret;
		}

		[DllImport("poppler-glib")]
		static extern void poppler_form_field_text_set_text(IntPtr raw, IntPtr text);

		public void TextSetText(string text) {
			IntPtr native_text = GLib.Marshaller.StringToPtrGStrdup (text);
			poppler_form_field_text_set_text(Handle, native_text);
			GLib.Marshaller.Free (native_text);
		}

		[DllImport("poppler-glib")]
		static extern bool poppler_form_field_choice_can_select_multiple(IntPtr raw);

		public bool ChoiceCanSelectMultiple() {
			bool raw_ret = poppler_form_field_choice_can_select_multiple(Handle);
			bool ret = raw_ret;
			return ret;
		}

		[DllImport("poppler-glib")]
		static extern void poppler_form_field_choice_select_item(IntPtr raw, int index);

		public void ChoiceSelectItem(int index) {
			poppler_form_field_choice_select_item(Handle, index);
		}

		[DllImport("poppler-glib")]
		static extern int poppler_form_field_choice_get_n_items(IntPtr raw);

		public int ChoiceGetNItems() {
			int raw_ret = poppler_form_field_choice_get_n_items(Handle);
			int ret = raw_ret;
			return ret;
		}

		[DllImport("poppler-glib")]
		static extern bool poppler_form_field_is_read_only(IntPtr raw);

		public bool IsReadOnly { 
			get {
				bool raw_ret = poppler_form_field_is_read_only(Handle);
				bool ret = raw_ret;
				return ret;
			}
		}

		[DllImport("poppler-glib")]
		static extern int poppler_form_field_get_field_type(IntPtr raw);

		public Poppler.FormFieldType FieldType { 
			get {
				int raw_ret = poppler_form_field_get_field_type(Handle);
				Poppler.FormFieldType ret = (Poppler.FormFieldType) raw_ret;
				return ret;
			}
		}

		[DllImport("poppler-glib")]
		static extern void poppler_form_field_choice_unselect_all(IntPtr raw);

		public void ChoiceUnselectAll() {
			poppler_form_field_choice_unselect_all(Handle);
		}

		[DllImport("poppler-glib")]
		static extern int poppler_form_field_button_get_button_type(IntPtr raw);

		public Poppler.FormButtonType ButtonGetButtonType() {
			int raw_ret = poppler_form_field_button_get_button_type(Handle);
			Poppler.FormButtonType ret = (Poppler.FormButtonType) raw_ret;
			return ret;
		}

		[DllImport("poppler-glib")]
		static extern bool poppler_form_field_text_is_password(IntPtr raw);

		public bool TextIsPassword() {
			bool raw_ret = poppler_form_field_text_is_password(Handle);
			bool ret = raw_ret;
			return ret;
		}

		[DllImport("poppler-glib")]
		static extern bool poppler_form_field_text_do_scroll(IntPtr raw);

		public bool TextDoScroll() {
			bool raw_ret = poppler_form_field_text_do_scroll(Handle);
			bool ret = raw_ret;
			return ret;
		}

		[DllImport("poppler-glib")]
		static extern bool poppler_form_field_choice_is_editable(IntPtr raw);

		public bool ChoiceIsEditable() {
			bool raw_ret = poppler_form_field_choice_is_editable(Handle);
			bool ret = raw_ret;
			return ret;
		}

		[DllImport("poppler-glib")]
		static extern IntPtr poppler_form_field_choice_get_text(IntPtr raw);

		public string ChoiceGetText() {
			IntPtr raw_ret = poppler_form_field_choice_get_text(Handle);
			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
			return ret;
		}

		[DllImport("poppler-glib")]
		static extern bool poppler_form_field_text_is_rich_text(IntPtr raw);

		public bool TextIsRichText() {
			bool raw_ret = poppler_form_field_text_is_rich_text(Handle);
			bool ret = raw_ret;
			return ret;
		}

		[DllImport("poppler-glib")]
		static extern void poppler_form_field_choice_toggle_item(IntPtr raw, int index);

		public void ChoiceToggleItem(int index) {
			poppler_form_field_choice_toggle_item(Handle, index);
		}

		[DllImport("poppler-glib")]
		static extern void poppler_form_field_choice_set_text(IntPtr raw, IntPtr text);

		public void ChoiceSetText(string text) {
			IntPtr native_text = GLib.Marshaller.StringToPtrGStrdup (text);
			poppler_form_field_choice_set_text(Handle, native_text);
			GLib.Marshaller.Free (native_text);
		}

		[DllImport("poppler-glib")]
		static extern bool poppler_form_field_button_get_state(IntPtr raw);

		public bool ButtonGetState() {
			bool raw_ret = poppler_form_field_button_get_state(Handle);
			bool ret = raw_ret;
			return ret;
		}

#endregion
	}
}
