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

#ifndef __SRC_PANEL_APPLETS_TASKLIST_TASKLISTAPPLET_H__
#define __SRC_PANEL_APPLETS_TASKLIST_TASKLISTAPPLET_H__

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

G_BEGIN_DECLS

#define MAX_BUTTON_LENGTH 200
#define MIN_BUTTON_LENGTH (MAX_BUTTON_LENGTH / 4)
#define ARROW_BUTTON_SIZE 20
#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 BUTTON_MIN_WIDTH 164

#define TYPE_TASKLIST_PLUGIN (tasklist_plugin_get_type ())
#define TASKLIST_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TASKLIST_PLUGIN, TasklistPlugin))
#define TASKLIST_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TASKLIST_PLUGIN, TasklistPluginClass))
#define IS_TASKLIST_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TASKLIST_PLUGIN))
#define IS_TASKLIST_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TASKLIST_PLUGIN))
#define TASKLIST_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TASKLIST_PLUGIN, TasklistPluginClass))

typedef struct _TasklistPlugin TasklistPlugin;
typedef struct _TasklistPluginClass TasklistPluginClass;
typedef struct _TasklistPluginPrivate TasklistPluginPrivate;

#define TYPE_TASKLIST_SETTINGS (tasklist_settings_get_type ())
#define TASKLIST_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TASKLIST_SETTINGS, TasklistSettings))
#define TASKLIST_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TASKLIST_SETTINGS, TasklistSettingsClass))
#define IS_TASKLIST_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TASKLIST_SETTINGS))
#define IS_TASKLIST_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TASKLIST_SETTINGS))
#define TASKLIST_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TASKLIST_SETTINGS, TasklistSettingsClass))

typedef struct _TasklistSettings TasklistSettings;
typedef struct _TasklistSettingsClass TasklistSettingsClass;
typedef struct _TasklistSettingsPrivate TasklistSettingsPrivate;

#define TYPE_TASKLIST_APPLET (tasklist_applet_get_type ())
#define TASKLIST_APPLET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TASKLIST_APPLET, TasklistApplet))
#define TASKLIST_APPLET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TASKLIST_APPLET, TasklistAppletClass))
#define IS_TASKLIST_APPLET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TASKLIST_APPLET))
#define IS_TASKLIST_APPLET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TASKLIST_APPLET))
#define TASKLIST_APPLET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TASKLIST_APPLET, TasklistAppletClass))

typedef struct _TasklistApplet TasklistApplet;
typedef struct _TasklistAppletClass TasklistAppletClass;
typedef struct _TasklistAppletPrivate TasklistAppletPrivate;

#define TYPE_TASKLIST_BUTTON (tasklist_button_get_type ())
#define TASKLIST_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TASKLIST_BUTTON, TasklistButton))
#define TASKLIST_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TASKLIST_BUTTON, TasklistButtonClass))
#define IS_TASKLIST_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TASKLIST_BUTTON))
#define IS_TASKLIST_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TASKLIST_BUTTON))
#define TASKLIST_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TASKLIST_BUTTON, TasklistButtonClass))

typedef struct _TasklistButton TasklistButton;
typedef struct _TasklistButtonClass TasklistButtonClass;
typedef struct _TasklistButtonPrivate TasklistButtonPrivate;

#define TYPE_TASKLIST_BUTTON_POPOVER (tasklist_button_popover_get_type ())
#define TASKLIST_BUTTON_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TASKLIST_BUTTON_POPOVER, TasklistButtonPopover))
#define TASKLIST_BUTTON_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TASKLIST_BUTTON_POPOVER, TasklistButtonPopoverClass))
#define IS_TASKLIST_BUTTON_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TASKLIST_BUTTON_POPOVER))
#define IS_TASKLIST_BUTTON_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TASKLIST_BUTTON_POPOVER))
#define TASKLIST_BUTTON_POPOVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TASKLIST_BUTTON_POPOVER, TasklistButtonPopoverClass))

typedef struct _TasklistButtonPopover TasklistButtonPopover;
typedef struct _TasklistButtonPopoverClass TasklistButtonPopoverClass;
typedef struct _TasklistButtonPopoverPrivate TasklistButtonPopoverPrivate;

struct _TasklistPlugin {
	PeasExtensionBase parent_instance;
	TasklistPluginPrivate * priv;
};

struct _TasklistPluginClass {
	PeasExtensionBaseClass parent_class;
};

struct _TasklistSettings {
	GtkGrid parent_instance;
	TasklistSettingsPrivate * priv;
};

struct _TasklistSettingsClass {
	GtkGridClass parent_class;
};

struct _TasklistApplet {
	BudgieApplet parent_instance;
	TasklistAppletPrivate * priv;
	GSettings* settings;
};

struct _TasklistAppletClass {
	BudgieAppletClass parent_class;
};

struct _TasklistButton {
	GtkToggleButton parent_instance;
	TasklistButtonPrivate * priv;
};

struct _TasklistButtonClass {
	GtkToggleButtonClass parent_class;
};

struct _TasklistButtonPopover {
	GtkPopover parent_instance;
	TasklistButtonPopoverPrivate * priv;
};

struct _TasklistButtonPopoverClass {
	GtkPopoverClass parent_class;
};

GType tasklist_plugin_register_type (GTypeModule * module);
VALA_EXTERN GType tasklist_plugin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TasklistPlugin, g_object_unref)
VALA_EXTERN TasklistPlugin* tasklist_plugin_new (void);
VALA_EXTERN TasklistPlugin* tasklist_plugin_construct (GType object_type);
GType tasklist_settings_register_type (GTypeModule * module);
VALA_EXTERN GType tasklist_settings_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TasklistSettings, g_object_unref)
VALA_EXTERN TasklistSettings* tasklist_settings_new (GSettings* settings);
VALA_EXTERN TasklistSettings* tasklist_settings_construct (GType object_type,
                                               GSettings* settings);
GType tasklist_applet_register_type (GTypeModule * module);
VALA_EXTERN GType tasklist_applet_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TasklistApplet, g_object_unref)
VALA_EXTERN TasklistApplet* tasklist_applet_new (const gchar* uuid);
VALA_EXTERN TasklistApplet* tasklist_applet_construct (GType object_type,
                                           const gchar* uuid);
VALA_EXTERN const gchar* tasklist_applet_get_uuid (TasklistApplet* self);
VALA_EXTERN void tasklist_applet_set_uuid (TasklistApplet* self,
                               const gchar* value);
VALA_EXTERN void peas_register_types (GTypeModule* module);
GType tasklist_button_register_type (GTypeModule * module);
VALA_EXTERN GType tasklist_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TasklistButton, g_object_unref)
VALA_EXTERN TasklistButton* tasklist_button_new (XfwWindow* window,
                                     BudgiePopoverManager* popover_manager,
                                     GSettings* settings);
VALA_EXTERN TasklistButton* tasklist_button_construct (GType object_type,
                                           XfwWindow* window,
                                           BudgiePopoverManager* popover_manager,
                                           GSettings* settings);
VALA_EXTERN void tasklist_button_gracefully_die (TasklistButton* self);
VALA_EXTERN BudgiePopoverManager* tasklist_button_get_popover_manager (TasklistButton* self);
VALA_EXTERN XfwWindow* tasklist_button_get_window (TasklistButton* self);
VALA_EXTERN gboolean tasklist_button_get_show_label (TasklistButton* self);
VALA_EXTERN void tasklist_button_set_show_label (TasklistButton* self,
                                     gboolean value);
VALA_EXTERN gboolean tasklist_button_get_show_icon (TasklistButton* self);
VALA_EXTERN void tasklist_button_set_show_icon (TasklistButton* self,
                                    gboolean value);
GType tasklist_button_popover_register_type (GTypeModule * module);
VALA_EXTERN GType tasklist_button_popover_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TasklistButtonPopover, g_object_unref)
VALA_EXTERN TasklistButtonPopover* tasklist_button_popover_new (TasklistButton* button,
                                                    XfwWindow* window);
VALA_EXTERN TasklistButtonPopover* tasklist_button_popover_construct (GType object_type,
                                                          TasklistButton* button,
                                                          XfwWindow* window);
VALA_EXTERN XfwWindow* tasklist_button_popover_get_window (TasklistButtonPopover* self);

VALA_EXTERN const GtkTargetEntry SOURCE_TARGETS[1];

G_END_DECLS

#endif
