summaryrefslogtreecommitdiff
path: root/libs/xfce-panel-window.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/xfce-panel-window.h')
-rw-r--r--libs/xfce-panel-window.h143
1 files changed, 143 insertions, 0 deletions
diff --git a/libs/xfce-panel-window.h b/libs/xfce-panel-window.h
new file mode 100644
index 00000000..cd2d3ee4
--- /dev/null
+++ b/libs/xfce-panel-window.h
@@ -0,0 +1,143 @@
+/* vim: set expandtab ts=8 sw=4: */
+
+/* $Id$
+ *
+ * Copyright © 2004-2005 Jasper Huijsmans <jasper@xfce.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as published
+ * by the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef _XFCE_PANEL_WINDOW_H
+#define _XFCE_PANEL_WINDOW_H
+
+#include <gtk/gtkenums.h>
+#include <gtk/gtkwindow.h>
+
+#define XFCE_TYPE_PANEL_WINDOW (xfce_panel_window_get_type ())
+#define XFCE_PANEL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XFCE_TYPE_PANEL_WINDOW, XfcePanelWindow))
+#define XFCE_PANEL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XFCE_TYPE_PANEL_WINDOW, XfcePanelWindowClass))
+#define XFCE_IS_PANEL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XFCE_TYPE_PANEL_WINDOW))
+#define XFCE_IS_PANEL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XFCE_TYPE_PANEL_WINDOW))
+#define XFCE_PANEL_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XFCE_TYPE_PANEL_WINDOW, XfcePanelWindowClass))
+
+
+G_BEGIN_DECLS
+
+typedef enum /*<enum,prefix=XFCE_HANDLE_STYLE >*/
+{
+ XFCE_HANDLE_STYLE_NONE,
+ XFCE_HANDLE_STYLE_BOTH,
+ XFCE_HANDLE_STYLE_START,
+ XFCE_HANDLE_STYLE_END
+}
+XfceHandleStyle;
+
+
+typedef struct _XfcePanelWindow XfcePanelWindow;
+
+typedef struct _XfcePanelWindowClass XfcePanelWindowClass;
+
+
+typedef void (*XfcePanelWindowMoveFunc) (GtkWidget * widget,
+ gpointer data,
+ int *x,
+ int *y);
+
+typedef void (*XfcePanelWindowResizeFunc) (GtkWidget * widget,
+ gpointer data,
+ GtkAllocation * previous,
+ GtkAllocation * allocation,
+ int *x,
+ int *y);
+
+struct _XfcePanelWindow
+{
+ GtkWindow window;
+};
+
+struct _XfcePanelWindowClass
+{
+ GtkWindowClass parent_class;
+
+ /* signals */
+ void (*orientation_changed) (GtkWidget * widget,
+ GtkOrientation orientation);
+
+ void (*move_start) (GtkWidget * widget);
+
+ void (*move) (GtkWidget * widget,
+ gint new_x,
+ gint new_y);
+
+ void (*move_end) (GtkWidget * widget,
+ gint new_x,
+ gint new_y);
+
+ /* Padding for future expansion */
+ void (*_xfce_reserved1) (void);
+ void (*_xfce_reserved2) (void);
+ void (*_xfce_reserved3) (void);
+};
+
+
+GType xfce_panel_window_get_type (void) G_GNUC_CONST;
+
+GtkWidget *xfce_panel_window_new (void);
+
+
+GtkOrientation xfce_panel_window_get_orientation (XfcePanelWindow * window);
+
+void xfce_panel_window_set_orientation (XfcePanelWindow * window,
+ GtkOrientation orientation);
+
+
+XfceHandleStyle xfce_panel_window_get_handle_style (XfcePanelWindow * window);
+
+void xfce_panel_window_set_handle_style (XfcePanelWindow * window,
+ XfceHandleStyle style);
+
+
+void xfce_panel_window_get_show_border (XfcePanelWindow * window,
+ gboolean * top,
+ gboolean * bottom,
+ gboolean * left,
+ gboolean * right);
+
+void xfce_panel_window_set_show_border (XfcePanelWindow * window,
+ gboolean top,
+ gboolean bottom,
+ gboolean left,
+ gboolean right);
+
+
+void xfce_panel_window_set_move_function (XfcePanelWindow * window,
+ XfcePanelWindowMoveFunc
+ function,
+ gpointer data);
+
+void xfce_panel_window_set_resize_function (XfcePanelWindow * window,
+ XfcePanelWindowResizeFunc
+ function,
+ gpointer data);
+
+
+gboolean xfce_panel_window_get_moveable (XfcePanelWindow * window);
+
+void xfce_panel_window_set_moveable (XfcePanelWindow * window,
+ gboolean moveable);
+
+G_END_DECLS
+
+#endif /* _XFCE_PANEL_WINDOW_H */