/* budgie-1.0.vapi generated by vapigen, do not modify. */

[CCode (cprefix = "Budgie", gir_namespace = "Budgie", gir_version = "1.0", lower_case_cprefix = "budgie_")]
namespace Budgie {
	[CCode (cheader_filename = "plugin.h", type_id = "budgie_applet_get_type ()")]
	public class Applet : Gtk.EventBox, Atk.Implementor, Gtk.Buildable {
		[CCode (has_construct_function = false)]
		public Applet ();
		public GLib.Settings get_applet_settings (string uuid);
		public unowned string get_settings_prefix ();
		public unowned string get_settings_schema ();
		public virtual Gtk.Widget? get_settings_ui ();
		public Budgie.PanelAction get_supported_actions ();
		public virtual void invoke_action (Budgie.PanelAction action);
		public void set_settings_prefix (string prefix);
		public void set_settings_schema (string schema);
		public virtual bool supports_settings ();
		public virtual void update_popovers (Budgie.PopoverManager? manager);
		public string settings_prefix { get; set; }
		public string settings_schema { get; set; }
		[NoAccessorMethod]
		public Budgie.PanelAction supported_actions { get; set; }
		public virtual signal void panel_position_changed (Budgie.PanelPosition position);
		public virtual signal void panel_size_changed (int panel_size, int icon_size, int small_icon_size);
	}
	[CCode (cheader_filename = "plugin.h", type_id = "budgie_applet_info_get_type ()")]
	public class AppletInfo : GLib.Object {
		[CCode (has_construct_function = false)]
		public AppletInfo (Peas.PluginInfo plugin_info, string uuid, Budgie.Applet applet, GLib.Settings settings);
		[CCode (has_construct_function = false)]
		public AppletInfo.from_uuid (string uuid);
		[NoAccessorMethod]
		public string alignment { owned get; set; }
		[NoAccessorMethod]
		public Budgie.Applet applet { owned get; set construct; }
		[NoAccessorMethod]
		public string description { owned get; set; }
		[NoAccessorMethod]
		public string icon { owned get; set; }
		[NoAccessorMethod]
		public string name { owned get; set; }
		[NoAccessorMethod]
		public int position { get; set; }
		[NoAccessorMethod]
		public GLib.Settings settings { owned get; set construct; }
		[NoAccessorMethod]
		public string uuid { owned get; set; }
	}
	[CCode (cheader_filename = "plugin.h", type_id = "budgie_popover_get_type ()")]
	public class Popover : Gtk.Window, Atk.Implementor, Gtk.Buildable {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public Popover (Gtk.Widget relative_to);
		public Budgie.PopoverPositionPolicy get_position_policy ();
		public void set_position_policy (Budgie.PopoverPositionPolicy policy);
		public Budgie.PopoverPositionPolicy position_policy { get; set; }
		[NoAccessorMethod]
		public Gtk.Widget relative_to { owned get; set; }
		public virtual signal void closed ();
	}
	[CCode (cheader_filename = "plugin.h", type_id = "budgie_popover_manager_get_type ()")]
	public class PopoverManager : GLib.Object {
		[CCode (has_construct_function = false)]
		public PopoverManager ();
		public void register_popover (Gtk.Widget parent_widget, Budgie.Popover popover);
		public void show_popover (Gtk.Widget parent_widget);
		public void unregister_popover (Gtk.Widget parent_widget);
	}
	[CCode (cheader_filename = "plugin.h", type_id = "budgie_plugin_get_type ()")]
	public interface Plugin : GLib.Object {
		public abstract Budgie.Applet get_panel_widget (string uuid);
	}
	[CCode (cheader_filename = "plugin.h", cprefix = "BUDGIE_PANEL_ACTION_", type_id = "budgie_panel_action_get_type ()")]
	[Flags]
	public enum PanelAction {
		NONE,
		MENU,
		MAX
	}
	[CCode (cheader_filename = "plugin.h", cprefix = "BUDGIE_PANEL_POSITION_", type_id = "budgie_panel_position_get_type ()")]
	[Flags]
	public enum PanelPosition {
		NONE,
		BOTTOM,
		TOP,
		LEFT,
		RIGHT
	}
	[CCode (cheader_filename = "plugin.h", cprefix = "BUDGIE_POPOVER_POSITION_", type_id = "budgie_popover_position_policy_get_type ()")]
	public enum PopoverPositionPolicy {
		AUTOMATIC,
		TOPLEVEL_HINT
	}
	[CCode (cheader_filename = "plugin.h", cname = "BUDGIE_APPLET_KEY_ALIGN")]
	public const string APPLET_KEY_ALIGN;
	[CCode (cheader_filename = "plugin.h", cname = "BUDGIE_APPLET_KEY_NAME")]
	public const string APPLET_KEY_NAME;
	[CCode (cheader_filename = "plugin.h", cname = "BUDGIE_APPLET_KEY_POS")]
	public const string APPLET_KEY_POS;
}
