/* panel-gtk.vapi generated by vapigen-0.34, do not modify. */

[CCode (cprefix = "Pnl", gir_namespace = "Pnl", gir_version = "1.0", lower_case_cprefix = "pnl_")]
namespace Pnl {
	[CCode (cheader_filename = "pnl.h", type_id = "pnl_animation_get_type ()")]
	public class Animation : GLib.InitiallyUnowned {
		[CCode (has_construct_function = false)]
		protected Animation ();
		public void add_property (GLib.ParamSpec pspec, GLib.Value value);
		public void start ();
		public void stop ();
		public uint duration { construct; }
		public Gdk.FrameClock frame_clock { construct; }
		public Pnl.AnimationMode mode { construct; }
		public GLib.Object target { construct; }
		public signal void tick ();
	}
	[CCode (cheader_filename = "pnl.h", type_id = "pnl_dock_bin_get_type ()")]
	public class DockBin : Gtk.Container, Atk.Implementor, Gtk.Buildable, Pnl.Dock, Pnl.DockItem {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public DockBin ();
		public unowned Gtk.Widget get_bottom_edge ();
		public unowned Gtk.Widget? get_center_widget ();
		public unowned Gtk.Widget get_left_edge ();
		public unowned Gtk.Widget get_right_edge ();
		public unowned Gtk.Widget get_top_edge ();
	}
	[CCode (cheader_filename = "pnl.h", type_id = "pnl_dock_bin_edge_get_type ()")]
	public class DockBinEdge : Pnl.DockRevealer, Atk.Implementor, Gtk.Buildable, Pnl.DockItem {
		[CCode (has_construct_function = false)]
		protected DockBinEdge ();
		public Gtk.PositionType get_edge ();
		public void set_edge (Gtk.PositionType bin_edge);
		public Gtk.PositionType edge { get; set; }
		public virtual signal void move_to_bin_child ();
	}
	[CCode (cheader_filename = "pnl.h", type_id = "pnl_dock_manager_get_type ()")]
	public class DockManager : GLib.Object {
		[CCode (has_construct_function = false)]
		public DockManager ();
		[HasEmitter]
		public virtual signal void register_dock (Pnl.Dock dock);
		[HasEmitter]
		public virtual signal void unregister_dock (Pnl.Dock dock);
	}
	[CCode (cheader_filename = "pnl.h", type_id = "pnl_dock_overlay_get_type ()")]
	public class DockOverlay : Gtk.EventBox, Atk.Implementor, Gtk.Buildable, Pnl.Dock, Pnl.DockItem {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public DockOverlay ();
		public virtual signal void hide_edges ();
	}
	[CCode (cheader_filename = "pnl.h", type_id = "pnl_dock_overlay_edge_get_type ()")]
	public class DockOverlayEdge : Gtk.Bin, Atk.Implementor, Gtk.Buildable, Pnl.DockItem {
		[CCode (has_construct_function = false)]
		protected DockOverlayEdge ();
		public Gtk.PositionType get_edge ();
		public int get_position ();
		public void set_edge (Gtk.PositionType edge);
		public void set_position (int position);
		public Gtk.PositionType edge { get; set; }
		public int position { get; set; }
	}
	[CCode (cheader_filename = "pnl.h", type_id = "pnl_dock_paned_get_type ()")]
	public class DockPaned : Pnl.MultiPaned, Atk.Implementor, Gtk.Buildable, Gtk.Orientable, Pnl.DockItem {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public DockPaned ();
		public void set_child_edge (Gtk.PositionType child_edge);
	}
	[CCode (cheader_filename = "pnl.h", type_id = "pnl_dock_revealer_get_type ()")]
	public class DockRevealer : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public DockRevealer ();
		public bool get_child_revealed ();
		public int get_position ();
		public bool get_position_set ();
		public bool get_reveal_child ();
		public uint get_transition_duration ();
		public Pnl.DockRevealerTransitionType get_transition_type ();
		public void set_position (int position);
		public void set_position_set (bool position_set);
		public void set_reveal_child (bool reveal_child);
		public void set_transition_duration (uint transition_duration);
		public void set_transition_type (Pnl.DockRevealerTransitionType transition_type);
		public bool child_revealed { get; }
		public int position { get; set; }
		public bool position_set { get; set; }
		public bool reveal_child { get; set; }
		public uint transition_duration { get; set; }
		public Pnl.DockRevealerTransitionType transition_type { get; set; }
	}
	[CCode (cheader_filename = "pnl.h", type_id = "pnl_dock_stack_get_type ()")]
	public class DockStack : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable, Pnl.DockItem {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public DockStack ();
		public Gtk.PositionType get_edge ();
		public void set_edge (Gtk.PositionType edge);
		public Gtk.PositionType edge { get; set; }
	}
	[CCode (cheader_filename = "pnl.h", type_id = "pnl_dock_tab_strip_get_type ()")]
	public class DockTabStrip : Pnl.TabStrip, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public DockTabStrip ();
	}
	[CCode (cheader_filename = "pnl.h", type_id = "pnl_dock_transient_grab_get_type ()")]
	public class DockTransientGrab : GLib.Object {
		[CCode (has_construct_function = false)]
		public DockTransientGrab ();
		public void acquire ();
		public void add_item (Pnl.DockItem item);
		public bool contains (Pnl.DockItem item);
		public uint get_timeout ();
		public bool is_descendant (Gtk.Widget widget);
		public void release ();
		public void remove_item (Pnl.DockItem item);
		public void set_timeout (uint timeout);
		public void steal_common_ancestors (Pnl.DockTransientGrab other);
		public uint timeout { get; set; }
	}
	[CCode (cheader_filename = "pnl.h", type_id = "pnl_dock_widget_get_type ()")]
	public class DockWidget : Gtk.Bin, Atk.Implementor, Gtk.Buildable, Pnl.DockItem {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public DockWidget ();
		public unowned string get_title ();
		public void set_title (string title);
		[NoAccessorMethod]
		public Pnl.DockManager manager { owned get; set; }
		public string title { get; set; }
	}
	[CCode (cheader_filename = "pnl.h", type_id = "pnl_dock_window_get_type ()")]
	public class DockWindow : Gtk.Window, Atk.Implementor, Gtk.Buildable, Pnl.Dock, Pnl.DockItem {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public DockWindow ();
	}
	[CCode (cheader_filename = "pnl.h", type_id = "pnl_multi_paned_get_type ()")]
	public class MultiPaned : Gtk.Container, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public MultiPaned ();
		public uint get_n_children ();
		[NoAccessorMethod]
		public Gtk.Orientation orientation { get; set construct; }
		public virtual signal void resize_drag_begin (Gtk.Widget child);
		public virtual signal void resize_drag_end (Gtk.Widget child);
	}
	[CCode (cheader_filename = "pnl.h", type_id = "pnl_tab_get_type ()")]
	public class Tab : Gtk.ToggleButton, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, Gtk.Buildable {
		[CCode (has_construct_function = false)]
		protected Tab ();
		public Gtk.PositionType get_edge ();
		public unowned string get_title ();
		public unowned Gtk.Widget? get_widget ();
		public void set_edge (Gtk.PositionType edge);
		public void set_title (string title);
		public void set_widget (Gtk.Widget widget);
		public Gtk.PositionType edge { get; set; }
		public string title { get; set; }
		public Gtk.Widget widget { get; set; }
	}
	[CCode (cheader_filename = "pnl.h", type_id = "pnl_tab_strip_get_type ()")]
	public class TabStrip : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public TabStrip ();
		public Gtk.PositionType get_edge ();
		public bool get_show_labels ();
		public unowned Gtk.Stack? get_stack ();
		public void set_edge (Gtk.PositionType edge);
		public void set_show_labels (bool show_labels);
		public void set_stack (Gtk.Stack stack);
		public Gtk.PositionType edge { get; set; }
		public Gtk.Stack stack { get; set; }
	}
	[CCode (cheader_filename = "pnl.h", type_cname = "PnlDockInterface", type_id = "pnl_dock_get_type ()")]
	public interface Dock : Gtk.Container {
		[NoAccessorMethod]
		public abstract Pnl.DockManager manager { owned get; set; }
	}
	[CCode (cheader_filename = "pnl.h", type_cname = "PnlDockItemInterface", type_id = "pnl_dock_item_get_type ()")]
	public interface DockItem : Gtk.Widget {
		public bool adopt (Pnl.DockItem child);
		public abstract bool get_child_visible (Pnl.DockItem child);
		public abstract unowned Pnl.DockManager? get_manager ();
		public unowned Pnl.DockItem? get_parent ();
		public bool has_widgets ();
		public void present ();
		public abstract void present_child (Pnl.DockItem child);
		public abstract void set_child_visible (Pnl.DockItem child, bool child_visible);
		public abstract void set_manager (Pnl.DockManager? manager);
		public abstract void update_visibility ();
		public virtual signal void manager_set (Pnl.DockManager old_manager);
	}
	[CCode (cheader_filename = "pnl.h", cprefix = "PNL_ANIMATION_", type_id = "pnl_animation_mode_get_type ()")]
	public enum AnimationMode {
		LINEAR,
		EASE_IN_QUAD,
		EASE_IN_OUT_QUAD,
		EASE_OUT_QUAD,
		EASE_IN_CUBIC,
		EASE_OUT_CUBIC,
		EASE_IN_OUT_CUBIC
	}
	[CCode (cheader_filename = "pnl.h", cprefix = "PNL_DOCK_REVEALER_TRANSITION_TYPE_", type_id = "pnl_dock_revealer_transition_type_get_type ()")]
	public enum DockRevealerTransitionType {
		NONE,
		SLIDE_RIGHT,
		SLIDE_LEFT,
		SLIDE_UP,
		SLIDE_DOWN
	}
	[CCode (cheader_filename = "pnl.h", cname = "PNL_MAJOR_VERSION")]
	public const int MAJOR_VERSION;
	[CCode (cheader_filename = "pnl.h", cname = "PNL_MICRO_VERSION")]
	public const int MICRO_VERSION;
	[CCode (cheader_filename = "pnl.h", cname = "PNL_MINOR_VERSION")]
	public const int MINOR_VERSION;
	[CCode (cheader_filename = "pnl.h", cname = "PNL_VERSION_S")]
	public const string VERSION_S;
	[CCode (cheader_filename = "pnl.h")]
	public static uint frame_source_add (uint frames_per_sec, GLib.SourceFunc callback);
	[CCode (cheader_filename = "pnl.h")]
	public static bool gtk_bin_draw (Gtk.Widget widget, Cairo.Context cr);
	[CCode (cheader_filename = "pnl.h")]
	public static void gtk_bin_size_allocate (Gtk.Widget widget, Gtk.Allocation allocation);
}
