/* workspacesapplet.h generated by valac 0.56.18-dirty, the Vala compiler, do not modify */

#ifndef __SRC_PANEL_APPLETS_WORKSPACES_WORKSPACESAPPLET_H__
#define __SRC_PANEL_APPLETS_WORKSPACES_WORKSPACESAPPLET_H__

#include <glib-object.h>
#include <libpeas.h>
#include "plugin.h"
#include <gtk/gtk.h>
#include <gio/gio.h>
#include <glib.h>
#include <libxfce4windowing/libxfce4windowing.h>
#include <stdlib.h>
#include <string.h>
#include <float.h>
#include <math.h>
#include <gdk/gdk.h>

G_BEGIN_DECLS

#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif
#define WORKSPACES_WORKSPACE_ICON_SIZE 16
#define WORKSPACES_FALLBACK_ICON_NAME "image-missing"

typedef enum  {
	WORKSPACES_ADD_BUTTON_VISIBILITY_NEVER = 1 << 0,
	WORKSPACES_ADD_BUTTON_VISIBILITY_HOVER = 1 << 1,
	WORKSPACES_ADD_BUTTON_VISIBILITY_ALWAYS = 1 << 2
} WorkspacesAddButtonVisibility;

#define WORKSPACES_TYPE_ADD_BUTTON_VISIBILITY (workspaces_add_button_visibility_get_type ())

#define WORKSPACES_TYPE_WORKSPACES_PLUGIN (workspaces_workspaces_plugin_get_type ())
#define WORKSPACES_WORKSPACES_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WORKSPACES_TYPE_WORKSPACES_PLUGIN, WorkspacesWorkspacesPlugin))
#define WORKSPACES_WORKSPACES_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WORKSPACES_TYPE_WORKSPACES_PLUGIN, WorkspacesWorkspacesPluginClass))
#define WORKSPACES_IS_WORKSPACES_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WORKSPACES_TYPE_WORKSPACES_PLUGIN))
#define WORKSPACES_IS_WORKSPACES_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WORKSPACES_TYPE_WORKSPACES_PLUGIN))
#define WORKSPACES_WORKSPACES_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WORKSPACES_TYPE_WORKSPACES_PLUGIN, WorkspacesWorkspacesPluginClass))

typedef struct _WorkspacesWorkspacesPlugin WorkspacesWorkspacesPlugin;
typedef struct _WorkspacesWorkspacesPluginClass WorkspacesWorkspacesPluginClass;
typedef struct _WorkspacesWorkspacesPluginPrivate WorkspacesWorkspacesPluginPrivate;

#define WORKSPACES_TYPE_WORKSPACES_APPLET_SETTINGS (workspaces_workspaces_applet_settings_get_type ())
#define WORKSPACES_WORKSPACES_APPLET_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WORKSPACES_TYPE_WORKSPACES_APPLET_SETTINGS, WorkspacesWorkspacesAppletSettings))
#define WORKSPACES_WORKSPACES_APPLET_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WORKSPACES_TYPE_WORKSPACES_APPLET_SETTINGS, WorkspacesWorkspacesAppletSettingsClass))
#define WORKSPACES_IS_WORKSPACES_APPLET_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WORKSPACES_TYPE_WORKSPACES_APPLET_SETTINGS))
#define WORKSPACES_IS_WORKSPACES_APPLET_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WORKSPACES_TYPE_WORKSPACES_APPLET_SETTINGS))
#define WORKSPACES_WORKSPACES_APPLET_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WORKSPACES_TYPE_WORKSPACES_APPLET_SETTINGS, WorkspacesWorkspacesAppletSettingsClass))

typedef struct _WorkspacesWorkspacesAppletSettings WorkspacesWorkspacesAppletSettings;
typedef struct _WorkspacesWorkspacesAppletSettingsClass WorkspacesWorkspacesAppletSettingsClass;
typedef struct _WorkspacesWorkspacesAppletSettingsPrivate WorkspacesWorkspacesAppletSettingsPrivate;

#define WORKSPACES_TYPE_WORKSPACES_APPLET (workspaces_workspaces_applet_get_type ())
#define WORKSPACES_WORKSPACES_APPLET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WORKSPACES_TYPE_WORKSPACES_APPLET, WorkspacesWorkspacesApplet))
#define WORKSPACES_WORKSPACES_APPLET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WORKSPACES_TYPE_WORKSPACES_APPLET, WorkspacesWorkspacesAppletClass))
#define WORKSPACES_IS_WORKSPACES_APPLET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WORKSPACES_TYPE_WORKSPACES_APPLET))
#define WORKSPACES_IS_WORKSPACES_APPLET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WORKSPACES_TYPE_WORKSPACES_APPLET))
#define WORKSPACES_WORKSPACES_APPLET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WORKSPACES_TYPE_WORKSPACES_APPLET, WorkspacesWorkspacesAppletClass))

typedef struct _WorkspacesWorkspacesApplet WorkspacesWorkspacesApplet;
typedef struct _WorkspacesWorkspacesAppletClass WorkspacesWorkspacesAppletClass;
typedef struct _WorkspacesWorkspacesAppletPrivate WorkspacesWorkspacesAppletPrivate;

#define WORKSPACES_TYPE_WORKSPACE_ITEM (workspaces_workspace_item_get_type ())
#define WORKSPACES_WORKSPACE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WORKSPACES_TYPE_WORKSPACE_ITEM, WorkspacesWorkspaceItem))
#define WORKSPACES_WORKSPACE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WORKSPACES_TYPE_WORKSPACE_ITEM, WorkspacesWorkspaceItemClass))
#define WORKSPACES_IS_WORKSPACE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WORKSPACES_TYPE_WORKSPACE_ITEM))
#define WORKSPACES_IS_WORKSPACE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WORKSPACES_TYPE_WORKSPACE_ITEM))
#define WORKSPACES_WORKSPACE_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WORKSPACES_TYPE_WORKSPACE_ITEM, WorkspacesWorkspaceItemClass))

typedef struct _WorkspacesWorkspaceItem WorkspacesWorkspaceItem;
typedef struct _WorkspacesWorkspaceItemClass WorkspacesWorkspaceItemClass;
typedef struct _WorkspacesWorkspaceItemPrivate WorkspacesWorkspaceItemPrivate;

#define WORKSPACES_TYPE_WINDOW_ICON (workspaces_window_icon_get_type ())
#define WORKSPACES_WINDOW_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WORKSPACES_TYPE_WINDOW_ICON, WorkspacesWindowIcon))
#define WORKSPACES_WINDOW_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WORKSPACES_TYPE_WINDOW_ICON, WorkspacesWindowIconClass))
#define WORKSPACES_IS_WINDOW_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WORKSPACES_TYPE_WINDOW_ICON))
#define WORKSPACES_IS_WINDOW_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WORKSPACES_TYPE_WINDOW_ICON))
#define WORKSPACES_WINDOW_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WORKSPACES_TYPE_WINDOW_ICON, WorkspacesWindowIconClass))

typedef struct _WorkspacesWindowIcon WorkspacesWindowIcon;
typedef struct _WorkspacesWindowIconClass WorkspacesWindowIconClass;
typedef struct _WorkspacesWindowIconPrivate WorkspacesWindowIconPrivate;

struct _WorkspacesWorkspacesPlugin {
	PeasExtensionBase parent_instance;
	WorkspacesWorkspacesPluginPrivate * priv;
};

struct _WorkspacesWorkspacesPluginClass {
	PeasExtensionBaseClass parent_class;
};

struct _WorkspacesWorkspacesAppletSettings {
	GtkGrid parent_instance;
	WorkspacesWorkspacesAppletSettingsPrivate * priv;
};

struct _WorkspacesWorkspacesAppletSettingsClass {
	GtkGridClass parent_class;
};

struct _WorkspacesWorkspacesApplet {
	BudgieApplet parent_instance;
	WorkspacesWorkspacesAppletPrivate * priv;
};

struct _WorkspacesWorkspacesAppletClass {
	BudgieAppletClass parent_class;
};

struct _WorkspacesWorkspaceItem {
	GtkEventBox parent_instance;
	WorkspacesWorkspaceItemPrivate * priv;
};

struct _WorkspacesWorkspaceItemClass {
	GtkEventBoxClass parent_class;
};

struct _WorkspacesWindowIcon {
	GtkButton parent_instance;
	WorkspacesWindowIconPrivate * priv;
};

struct _WorkspacesWindowIconClass {
	GtkButtonClass parent_class;
};

VALA_EXTERN GType workspaces_add_button_visibility_get_type (void) G_GNUC_CONST ;
GType workspaces_workspaces_plugin_register_type (GTypeModule * module);
VALA_EXTERN GType workspaces_workspaces_plugin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WorkspacesWorkspacesPlugin, g_object_unref)
VALA_EXTERN WorkspacesWorkspacesPlugin* workspaces_workspaces_plugin_new (void);
VALA_EXTERN WorkspacesWorkspacesPlugin* workspaces_workspaces_plugin_construct (GType object_type);
GType workspaces_workspaces_applet_settings_register_type (GTypeModule * module);
VALA_EXTERN GType workspaces_workspaces_applet_settings_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WorkspacesWorkspacesAppletSettings, g_object_unref)
VALA_EXTERN WorkspacesWorkspacesAppletSettings* workspaces_workspaces_applet_settings_new (GSettings* settings);
VALA_EXTERN WorkspacesWorkspacesAppletSettings* workspaces_workspaces_applet_settings_construct (GType object_type,
                                                                                     GSettings* settings);
GType workspaces_workspaces_applet_register_type (GTypeModule * module);
VALA_EXTERN GType workspaces_workspaces_applet_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WorkspacesWorkspacesApplet, g_object_unref)
VALA_EXTERN BudgiePanelPosition workspaces_workspaces_applet_panel_position;
VALA_EXTERN gint workspaces_workspaces_applet_panel_size;
VALA_EXTERN BudgiePopoverManager* workspaces_workspaces_applet_manager;
VALA_EXTERN XfwScreen* workspaces_workspaces_applet_xfce_screen;
VALA_EXTERN XfwWorkspaceManager* workspaces_workspaces_applet_workspace_manager;
VALA_EXTERN XfwWorkspaceGroup* workspaces_workspaces_applet_workspace_group;
VALA_EXTERN gboolean workspaces_workspaces_applet_dragging;
VALA_EXTERN WorkspacesWorkspacesApplet* workspaces_workspaces_applet_new (const gchar* uuid);
VALA_EXTERN WorkspacesWorkspacesApplet* workspaces_workspaces_applet_construct (GType object_type,
                                                                    const gchar* uuid);
VALA_EXTERN GtkOrientation workspaces_workspaces_applet_get_orientation (void);
VALA_EXTERN const gchar* workspaces_workspaces_applet_get_uuid (WorkspacesWorkspacesApplet* self);
VALA_EXTERN void workspaces_workspaces_applet_set_uuid (WorkspacesWorkspacesApplet* self,
                                            const gchar* value);
VALA_EXTERN void peas_register_types (GTypeModule* module);
GType workspaces_workspace_item_register_type (GTypeModule * module);
VALA_EXTERN GType workspaces_workspace_item_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WorkspacesWorkspaceItem, g_object_unref)
VALA_EXTERN WorkspacesWorkspaceItem* workspaces_workspace_item_new (XfwWorkspace* space,
                                                        gfloat multiplier);
VALA_EXTERN WorkspacesWorkspaceItem* workspaces_workspace_item_construct (GType object_type,
                                                              XfwWorkspace* space,
                                                              gfloat multiplier);
VALA_EXTERN void workspaces_workspace_item_update_windows (WorkspacesWorkspaceItem* self,
                                               GList* window_list);
VALA_EXTERN void workspaces_workspace_item_set_size_multiplier (WorkspacesWorkspaceItem* self,
                                                    gfloat multiplier);
VALA_EXTERN XfwWorkspace* workspaces_workspace_item_get_workspace (WorkspacesWorkspaceItem* self);
GType workspaces_window_icon_register_type (GTypeModule * module);
VALA_EXTERN GType workspaces_window_icon_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WorkspacesWindowIcon, g_object_unref)
VALA_EXTERN WorkspacesWindowIcon* workspaces_window_icon_new (XfwWindow* window);
VALA_EXTERN WorkspacesWindowIcon* workspaces_window_icon_construct (GType object_type,
                                                        XfwWindow* window);
VALA_EXTERN void workspaces_window_icon_on_drag_data_get (WorkspacesWindowIcon* self,
                                              GtkWidget* widget,
                                              GdkDragContext* context,
                                              GtkSelectionData* selection_data,
                                              guint target_type,
                                              guint time);
VALA_EXTERN XfwWindow* workspaces_window_icon_get_window (WorkspacesWindowIcon* self);

G_END_DECLS

#endif
