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

namespace Gtk {

	using System;
	using System.Collections;
	using System.Collections.Generic;
	using System.Runtime.InteropServices;
	using static GLib.AbiStructExtension;

#region Autogenerated code
	public partial class ToolPalette : Gtk.Container, Gtk.IOrientable, Gtk.IScrollable {

		public ToolPalette (IntPtr raw) : base(raw) {}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_tool_palette_new();
		static d_gtk_tool_palette_new gtk_tool_palette_new = FuncLoader.LoadFunction<d_gtk_tool_palette_new>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_new"));

		public ToolPalette () : base (IntPtr.Zero)
		{
			if (GetType () != typeof (ToolPalette)) {
				CreateNativeObject (Array.Empty<string> (), Array.Empty<GLib.Value> ());
				return;
			}
			Raw = gtk_tool_palette_new();
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate int d_gtk_tool_palette_get_icon_size(IntPtr raw);
		static d_gtk_tool_palette_get_icon_size gtk_tool_palette_get_icon_size = FuncLoader.LoadFunction<d_gtk_tool_palette_get_icon_size>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_get_icon_size"));

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_tool_palette_set_icon_size(IntPtr raw, int icon_size);
		static d_gtk_tool_palette_set_icon_size gtk_tool_palette_set_icon_size = FuncLoader.LoadFunction<d_gtk_tool_palette_set_icon_size>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_set_icon_size"));

		[GLib.Property ("icon-size")]
		public Gtk.IconSize IconSize {
			get  {
				int raw_ret = gtk_tool_palette_get_icon_size(Handle);
				Gtk.IconSize ret = (Gtk.IconSize) raw_ret;
				return ret;
			}
			set  {
				gtk_tool_palette_set_icon_size(Handle, (int) value);
			}
		}

		[GLib.Property ("icon-size-set")]
		public bool IconSizeSet {
			get {
				GLib.Value val = GetProperty ("icon-size-set");
				bool ret = (bool) val;
				val.Dispose ();
				return ret;
			}
			set {
				GLib.Value val = new GLib.Value(value);
				SetProperty("icon-size-set", val);
				val.Dispose ();
			}
		}

		[GLib.Property ("toolbar-style")]
		public Gtk.ToolbarStyle ToolbarStyle {
			get {
				GLib.Value val = GetProperty ("toolbar-style");
				Gtk.ToolbarStyle ret = (Gtk.ToolbarStyle) (Enum) val;
				val.Dispose ();
				return ret;
			}
			set {
				GLib.Value val = new GLib.Value((Enum) value);
				SetProperty("toolbar-style", val);
				val.Dispose ();
			}
		}

		public class ToolPaletteChild : Gtk.Container.ContainerChild {
			protected internal ToolPaletteChild (Gtk.Container parent, Gtk.Widget child) : base (parent, child) {}

			[Gtk.ChildProperty ("exclusive")]
			public bool Exclusive {
				get {
					GLib.Value val = parent.ChildGetProperty (child, "exclusive");
					bool ret = (bool) val;
					val.Dispose ();
					return ret;
				}
				set {
					GLib.Value val = new GLib.Value(value);
					parent.ChildSetProperty(child, "exclusive", val);
					val.Dispose ();
				}
			}

			[Gtk.ChildProperty ("expand")]
			public new bool Expand {
				get {
					GLib.Value val = parent.ChildGetProperty (child, "expand");
					bool ret = (bool) val;
					val.Dispose ();
					return ret;
				}
				set {
					GLib.Value val = new GLib.Value(value);
					parent.ChildSetProperty(child, "expand", val);
					val.Dispose ();
				}
			}

		}

		public override Gtk.Container.ContainerChild this [Gtk.Widget child] {
			get {
				return new ToolPaletteChild (this, child);
			}
		}


		// Internal representation of the wrapped structure ABI.
		static GLib.AbiStruct _class_abi = null;
		static public unsafe new GLib.AbiStruct class_abi {
			get {
				if (_class_abi == null)
					_class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
						new GLib.AbiField("_gtk_reserved1"
							, Gtk.Container.class_abi.Fields
							, (uint) sizeof( IntPtr ) // _gtk_reserved1
							, null
							, "_gtk_reserved2"
							, (uint) sizeof(IntPtr)
							, 0
							),
						new GLib.AbiField("_gtk_reserved2"
							, -1
							, (uint) sizeof( IntPtr ) // _gtk_reserved2
							, "_gtk_reserved1"
							, "_gtk_reserved3"
							, (uint) sizeof(IntPtr)
							, 0
							),
						new GLib.AbiField("_gtk_reserved3"
							, -1
							, (uint) sizeof( IntPtr ) // _gtk_reserved3
							, "_gtk_reserved2"
							, "_gtk_reserved4"
							, (uint) sizeof(IntPtr)
							, 0
							),
						new GLib.AbiField("_gtk_reserved4"
							, -1
							, (uint) sizeof( IntPtr ) // _gtk_reserved4
							, "_gtk_reserved3"
							, null
							, (uint) sizeof(IntPtr)
							, 0
							),
					});

				return _class_abi;
			}
		}


		// End of the ABI representation.

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_tool_palette_add_drag_dest(IntPtr raw, IntPtr widget, int flags, int targets, int actions);
		static d_gtk_tool_palette_add_drag_dest gtk_tool_palette_add_drag_dest = FuncLoader.LoadFunction<d_gtk_tool_palette_add_drag_dest>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_add_drag_dest"));

		public void AddDragDest(Gtk.Widget widget, Gtk.DestDefaults flags, Gtk.ToolPaletteDragTargets targets, Gdk.DragAction actions) {
			gtk_tool_palette_add_drag_dest(Handle, widget == null ? IntPtr.Zero : widget.Handle, (int) flags, (int) targets, (int) actions);
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_tool_palette_get_drag_item(IntPtr raw, IntPtr selection);
		static d_gtk_tool_palette_get_drag_item gtk_tool_palette_get_drag_item = FuncLoader.LoadFunction<d_gtk_tool_palette_get_drag_item>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_get_drag_item"));

		public Gtk.Widget GetDragItem(Gtk.SelectionData selection) {
			IntPtr raw_ret = gtk_tool_palette_get_drag_item(Handle, selection == null ? IntPtr.Zero : selection.Handle);
			Gtk.Widget ret = GLib.Object.GetObject(raw_ret) as Gtk.Widget;
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_tool_palette_get_drag_target_group();
		static d_gtk_tool_palette_get_drag_target_group gtk_tool_palette_get_drag_target_group = FuncLoader.LoadFunction<d_gtk_tool_palette_get_drag_target_group>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_get_drag_target_group"));

		public static Gtk.TargetEntry DragTargetGroup { 
			get {
				IntPtr raw_ret = gtk_tool_palette_get_drag_target_group();
				Gtk.TargetEntry ret = Gtk.TargetEntry.New (raw_ret);
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_tool_palette_get_drag_target_item();
		static d_gtk_tool_palette_get_drag_target_item gtk_tool_palette_get_drag_target_item = FuncLoader.LoadFunction<d_gtk_tool_palette_get_drag_target_item>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_get_drag_target_item"));

		public static Gtk.TargetEntry DragTargetItem { 
			get {
				IntPtr raw_ret = gtk_tool_palette_get_drag_target_item();
				Gtk.TargetEntry ret = Gtk.TargetEntry.New (raw_ret);
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_tool_palette_get_drop_group(IntPtr raw, int x, int y);
		static d_gtk_tool_palette_get_drop_group gtk_tool_palette_get_drop_group = FuncLoader.LoadFunction<d_gtk_tool_palette_get_drop_group>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_get_drop_group"));

		public Gtk.ToolItemGroup GetDropGroup(int x, int y) {
			IntPtr raw_ret = gtk_tool_palette_get_drop_group(Handle, x, y);
			Gtk.ToolItemGroup ret = GLib.Object.GetObject(raw_ret) as Gtk.ToolItemGroup;
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_tool_palette_get_drop_item(IntPtr raw, int x, int y);
		static d_gtk_tool_palette_get_drop_item gtk_tool_palette_get_drop_item = FuncLoader.LoadFunction<d_gtk_tool_palette_get_drop_item>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_get_drop_item"));

		public Gtk.ToolItem GetDropItem(int x, int y) {
			IntPtr raw_ret = gtk_tool_palette_get_drop_item(Handle, x, y);
			Gtk.ToolItem ret = GLib.Object.GetObject(raw_ret) as Gtk.ToolItem;
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_tool_palette_get_exclusive(IntPtr raw, IntPtr group);
		static d_gtk_tool_palette_get_exclusive gtk_tool_palette_get_exclusive = FuncLoader.LoadFunction<d_gtk_tool_palette_get_exclusive>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_get_exclusive"));

		public bool GetExclusive(Gtk.ToolItemGroup group) {
			bool raw_ret = gtk_tool_palette_get_exclusive(Handle, group == null ? IntPtr.Zero : group.Handle);
			bool ret = raw_ret;
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_tool_palette_get_expand(IntPtr raw, IntPtr group);
		static d_gtk_tool_palette_get_expand gtk_tool_palette_get_expand = FuncLoader.LoadFunction<d_gtk_tool_palette_get_expand>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_get_expand"));

		public bool GetExpand(Gtk.ToolItemGroup group) {
			bool raw_ret = gtk_tool_palette_get_expand(Handle, group == null ? IntPtr.Zero : group.Handle);
			bool ret = raw_ret;
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate int d_gtk_tool_palette_get_group_position(IntPtr raw, IntPtr group);
		static d_gtk_tool_palette_get_group_position gtk_tool_palette_get_group_position = FuncLoader.LoadFunction<d_gtk_tool_palette_get_group_position>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_get_group_position"));

		public int GetGroupPosition(Gtk.ToolItemGroup group) {
			int raw_ret = gtk_tool_palette_get_group_position(Handle, group == null ? IntPtr.Zero : group.Handle);
			int ret = raw_ret;
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate int d_gtk_tool_palette_get_style(IntPtr raw);
		static d_gtk_tool_palette_get_style gtk_tool_palette_get_style = FuncLoader.LoadFunction<d_gtk_tool_palette_get_style>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_get_style"));

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_tool_palette_set_style(IntPtr raw, int style);
		static d_gtk_tool_palette_set_style gtk_tool_palette_set_style = FuncLoader.LoadFunction<d_gtk_tool_palette_set_style>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_set_style"));

		public new Gtk.ToolbarStyle Style { 
			get {
				int raw_ret = gtk_tool_palette_get_style(Handle);
				Gtk.ToolbarStyle ret = (Gtk.ToolbarStyle) raw_ret;
				return ret;
			}
			set {
				gtk_tool_palette_set_style(Handle, (int) value);
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_tool_palette_get_type();
		static d_gtk_tool_palette_get_type gtk_tool_palette_get_type = FuncLoader.LoadFunction<d_gtk_tool_palette_get_type>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_get_type"));

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

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_tool_palette_set_drag_source(IntPtr raw, int targets);
		static d_gtk_tool_palette_set_drag_source gtk_tool_palette_set_drag_source = FuncLoader.LoadFunction<d_gtk_tool_palette_set_drag_source>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_set_drag_source"));

		public Gtk.ToolPaletteDragTargets DragSource { 
			set {
				gtk_tool_palette_set_drag_source(Handle, (int) value);
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_tool_palette_set_exclusive(IntPtr raw, IntPtr group, bool exclusive);
		static d_gtk_tool_palette_set_exclusive gtk_tool_palette_set_exclusive = FuncLoader.LoadFunction<d_gtk_tool_palette_set_exclusive>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_set_exclusive"));

		public void SetExclusive(Gtk.ToolItemGroup group, bool exclusive) {
			gtk_tool_palette_set_exclusive(Handle, group == null ? IntPtr.Zero : group.Handle, exclusive);
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_tool_palette_set_expand(IntPtr raw, IntPtr group, bool expand);
		static d_gtk_tool_palette_set_expand gtk_tool_palette_set_expand = FuncLoader.LoadFunction<d_gtk_tool_palette_set_expand>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_set_expand"));

		public void SetExpand(Gtk.ToolItemGroup group, bool expand) {
			gtk_tool_palette_set_expand(Handle, group == null ? IntPtr.Zero : group.Handle, expand);
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_tool_palette_set_group_position(IntPtr raw, IntPtr group, int position);
		static d_gtk_tool_palette_set_group_position gtk_tool_palette_set_group_position = FuncLoader.LoadFunction<d_gtk_tool_palette_set_group_position>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_set_group_position"));

		public void SetGroupPosition(Gtk.ToolItemGroup group, int position) {
			gtk_tool_palette_set_group_position(Handle, group == null ? IntPtr.Zero : group.Handle, position);
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_tool_palette_unset_icon_size(IntPtr raw);
		static d_gtk_tool_palette_unset_icon_size gtk_tool_palette_unset_icon_size = FuncLoader.LoadFunction<d_gtk_tool_palette_unset_icon_size>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_unset_icon_size"));

		public void UnsetIconSize() {
			gtk_tool_palette_unset_icon_size(Handle);
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_tool_palette_unset_style(IntPtr raw);
		static d_gtk_tool_palette_unset_style gtk_tool_palette_unset_style = FuncLoader.LoadFunction<d_gtk_tool_palette_unset_style>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_tool_palette_unset_style"));

		public void UnsetStyle() {
			gtk_tool_palette_unset_style(Handle);
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate int d_gtk_orientable_get_orientation(IntPtr raw);
		static d_gtk_orientable_get_orientation gtk_orientable_get_orientation = FuncLoader.LoadFunction<d_gtk_orientable_get_orientation>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_orientable_get_orientation"));

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_orientable_set_orientation(IntPtr raw, int orientation);
		static d_gtk_orientable_set_orientation gtk_orientable_set_orientation = FuncLoader.LoadFunction<d_gtk_orientable_set_orientation>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_orientable_set_orientation"));

		[GLib.Property ("orientation")]
		public Gtk.Orientation Orientation {
			get  {
				int raw_ret = gtk_orientable_get_orientation(Handle);
				Gtk.Orientation ret = (Gtk.Orientation) raw_ret;
				return ret;
			}
			set  {
				gtk_orientable_set_orientation(Handle, (int) value);
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate bool d_gtk_scrollable_get_border(IntPtr raw, IntPtr border);
		static d_gtk_scrollable_get_border gtk_scrollable_get_border = FuncLoader.LoadFunction<d_gtk_scrollable_get_border>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_scrollable_get_border"));

		public bool GetBorder(out Gtk.Border border) {
			IntPtr native_border = Marshal.AllocHGlobal (Marshal.SizeOf<Gtk.Border>());
			bool raw_ret = gtk_scrollable_get_border(Handle, native_border);
			bool ret = raw_ret;
			border = Gtk.Border.New (native_border);
			Marshal.FreeHGlobal (native_border);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_scrollable_get_hadjustment(IntPtr raw);
		static d_gtk_scrollable_get_hadjustment gtk_scrollable_get_hadjustment = FuncLoader.LoadFunction<d_gtk_scrollable_get_hadjustment>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_scrollable_get_hadjustment"));

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_scrollable_set_hadjustment(IntPtr raw, IntPtr hadjustment);
		static d_gtk_scrollable_set_hadjustment gtk_scrollable_set_hadjustment = FuncLoader.LoadFunction<d_gtk_scrollable_set_hadjustment>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_scrollable_set_hadjustment"));

		[GLib.Property ("hadjustment")]
		public Gtk.Adjustment Hadjustment {
			get  {
				IntPtr raw_ret = gtk_scrollable_get_hadjustment(Handle);
				Gtk.Adjustment ret = GLib.Object.GetObject(raw_ret) as Gtk.Adjustment;
				return ret;
			}
			set  {
				gtk_scrollable_set_hadjustment(Handle, value == null ? IntPtr.Zero : value.Handle);
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_gtk_scrollable_get_vadjustment(IntPtr raw);
		static d_gtk_scrollable_get_vadjustment gtk_scrollable_get_vadjustment = FuncLoader.LoadFunction<d_gtk_scrollable_get_vadjustment>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_scrollable_get_vadjustment"));

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_scrollable_set_vadjustment(IntPtr raw, IntPtr vadjustment);
		static d_gtk_scrollable_set_vadjustment gtk_scrollable_set_vadjustment = FuncLoader.LoadFunction<d_gtk_scrollable_set_vadjustment>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_scrollable_set_vadjustment"));

		[GLib.Property ("vadjustment")]
		public Gtk.Adjustment Vadjustment {
			get  {
				IntPtr raw_ret = gtk_scrollable_get_vadjustment(Handle);
				Gtk.Adjustment ret = GLib.Object.GetObject(raw_ret) as Gtk.Adjustment;
				return ret;
			}
			set  {
				gtk_scrollable_set_vadjustment(Handle, value == null ? IntPtr.Zero : value.Handle);
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate int d_gtk_scrollable_get_hscroll_policy(IntPtr raw);
		static d_gtk_scrollable_get_hscroll_policy gtk_scrollable_get_hscroll_policy = FuncLoader.LoadFunction<d_gtk_scrollable_get_hscroll_policy>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_scrollable_get_hscroll_policy"));

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_scrollable_set_hscroll_policy(IntPtr raw, int policy);
		static d_gtk_scrollable_set_hscroll_policy gtk_scrollable_set_hscroll_policy = FuncLoader.LoadFunction<d_gtk_scrollable_set_hscroll_policy>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_scrollable_set_hscroll_policy"));

		[GLib.Property ("hscroll-policy")]
		public Gtk.ScrollablePolicy HscrollPolicy {
			get  {
				int raw_ret = gtk_scrollable_get_hscroll_policy(Handle);
				Gtk.ScrollablePolicy ret = (Gtk.ScrollablePolicy) raw_ret;
				return ret;
			}
			set  {
				gtk_scrollable_set_hscroll_policy(Handle, (int) value);
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate int d_gtk_scrollable_get_vscroll_policy(IntPtr raw);
		static d_gtk_scrollable_get_vscroll_policy gtk_scrollable_get_vscroll_policy = FuncLoader.LoadFunction<d_gtk_scrollable_get_vscroll_policy>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_scrollable_get_vscroll_policy"));

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_gtk_scrollable_set_vscroll_policy(IntPtr raw, int policy);
		static d_gtk_scrollable_set_vscroll_policy gtk_scrollable_set_vscroll_policy = FuncLoader.LoadFunction<d_gtk_scrollable_set_vscroll_policy>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Gtk), "gtk_scrollable_set_vscroll_policy"));

		[GLib.Property ("vscroll-policy")]
		public Gtk.ScrollablePolicy VscrollPolicy {
			get  {
				int raw_ret = gtk_scrollable_get_vscroll_policy(Handle);
				Gtk.ScrollablePolicy ret = (Gtk.ScrollablePolicy) raw_ret;
				return ret;
			}
			set  {
				gtk_scrollable_set_vscroll_policy(Handle, (int) value);
			}
		}


		// Internal representation of the wrapped structure ABI.
		static GLib.AbiStruct _abi_info = null;
		static public unsafe new GLib.AbiStruct abi_info {
			get {
				if (_abi_info == null)
					_abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
						new GLib.AbiField("priv"
							, Gtk.Container.abi_info.Fields
							, (uint) sizeof( IntPtr ) // priv
							, null
							, null
							, (uint) sizeof(IntPtr)
							, 0
							),
					});

				return _abi_info;
			}
		}


		// End of the ABI representation.

#endregion
	}
}
