summaryrefslogtreecommitdiff
path: root/mate-panel/panel-toplevel.h
diff options
context:
space:
mode:
Diffstat (limited to 'mate-panel/panel-toplevel.h')
-rw-r--r--mate-panel/panel-toplevel.h179
1 files changed, 179 insertions, 0 deletions
diff --git a/mate-panel/panel-toplevel.h b/mate-panel/panel-toplevel.h
new file mode 100644
index 00000000..2c08a4aa
--- /dev/null
+++ b/mate-panel/panel-toplevel.h
@@ -0,0 +1,179 @@
+/*
+ * panel-toplevel.h: The panel's toplevel window object.
+ *
+ * Copyright (C) 2003 Sun Microsystems, Inc.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU 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.
+
+ * Authors:
+ * Mark McLoughlin <[email protected]>
+ */
+
+#ifndef __PANEL_TOPLEVEL_H__
+#define __PANEL_TOPLEVEL_H__
+
+#include <gtk/gtk.h>
+
+#include "panel-enums.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* We need PanelWidget type but don't want to include
+ the panel-widget.h */
+#ifndef TYPEDEF_PANEL_WIDGET
+typedef struct _PanelWidget PanelWidget;
+#define TYPEDEF_PANEL_WIDGET
+#endif /* TYPEDEF_PANEL_WIDGET */
+
+#define PANEL_TYPE_TOPLEVEL (panel_toplevel_get_type ())
+#define PANEL_TOPLEVEL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PANEL_TYPE_TOPLEVEL, PanelToplevel))
+#define PANEL_TOPLEVEL_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), PANEL_TYPE_TOPLEVEL, PanelToplevelClass))
+#define PANEL_IS_TOPLEVEL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), PANEL_TYPE_TOPLEVEL))
+#define PANEL_IS_TOPLEVEL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), PANEL_TYPE_TOPLEVEL))
+#define PANEL_TOPLEVEL_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), PANEL_TYPE_TOPLEVEL, PanelToplevelClass))
+
+typedef struct _PanelToplevel PanelToplevel;
+typedef struct _PanelToplevelClass PanelToplevelClass;
+typedef struct _PanelToplevelPrivate PanelToplevelPrivate;
+
+struct _PanelToplevel {
+ GtkWindow window_instance;
+
+ PanelToplevelPrivate *priv;
+};
+
+struct _PanelToplevelClass {
+ GtkWindowClass window_class;
+
+ /* key bindings */
+ gboolean (*popup_panel_menu) (PanelToplevel *toplevel);
+ gboolean (*toggle_expand) (PanelToplevel *toplevel);
+ gboolean (*expand) (PanelToplevel *toplevel);
+ gboolean (*unexpand) (PanelToplevel *toplevel);
+ gboolean (*toggle_hidden) (PanelToplevel *toplevel);
+ gboolean (*begin_move) (PanelToplevel *toplevel);
+ gboolean (*begin_resize) (PanelToplevel *toplevel);
+
+ /* signals */
+ void (*hiding) (PanelToplevel *toplevel);
+ void (*unhiding) (PanelToplevel *toplevel);
+};
+
+GType panel_toplevel_get_type (void) G_GNUC_CONST;
+
+PanelWidget *panel_toplevel_get_panel_widget (PanelToplevel *toplevel);
+
+void panel_toplevel_set_name (PanelToplevel *toplevel,
+ const char *name);
+const char* panel_toplevel_get_name(PanelToplevel* toplevel);
+const char* panel_toplevel_get_description(PanelToplevel* toplevel);
+void panel_toplevel_set_expand (PanelToplevel *toplevel,
+ gboolean expand);
+gboolean panel_toplevel_get_expand (PanelToplevel *toplevel);
+void panel_toplevel_set_orientation (PanelToplevel *toplevel,
+ PanelOrientation orientation);
+PanelOrientation panel_toplevel_get_orientation (PanelToplevel *toplevel);
+void panel_toplevel_set_size (PanelToplevel *toplevel,
+ int size);
+int panel_toplevel_get_size (PanelToplevel *toplevel);
+void panel_toplevel_set_monitor (PanelToplevel *toplevel,
+ int monitor);
+int panel_toplevel_get_monitor (PanelToplevel *toplevel);
+void panel_toplevel_set_auto_hide_size (PanelToplevel *toplevel,
+ int autohide_size);
+int panel_toplevel_get_auto_hide_size (PanelToplevel *toplevel);
+void panel_toplevel_set_x (PanelToplevel *toplevel,
+ int x,
+ int x_right,
+ gboolean x_centered);
+void panel_toplevel_set_y (PanelToplevel *toplevel,
+ int y,
+ int y_bottom,
+ gboolean y_centered);
+void panel_toplevel_get_position (PanelToplevel *toplevel,
+ int *x,
+ int *x_right,
+ int *y,
+ int *y_bottom);
+gboolean panel_toplevel_get_x_centered (PanelToplevel *toplevel);
+gboolean panel_toplevel_get_y_centered (PanelToplevel *toplevel);
+void panel_toplevel_set_monitor (PanelToplevel *toplevel,
+ int monitor);
+int panel_toplevel_get_monitor (PanelToplevel *toplevel);
+
+void panel_toplevel_rotate (PanelToplevel *toplevel,
+ gboolean clockwise);
+
+void panel_toplevel_attach_to_widget (PanelToplevel *toplevel,
+ PanelToplevel *attach_toplevel,
+ GtkWidget *attach_widget);
+void panel_toplevel_detach (PanelToplevel *toplevel);
+gboolean panel_toplevel_get_is_attached (PanelToplevel *toplevel);
+PanelToplevel *panel_toplevel_get_attach_toplevel (PanelToplevel *toplevel);
+GtkWidget *panel_toplevel_get_attach_widget (PanelToplevel *toplevel);
+
+gboolean panel_toplevel_get_is_floating (PanelToplevel *toplevel);
+
+gboolean panel_toplevel_get_is_hidden (PanelToplevel *toplevel);
+PanelState panel_toplevel_get_state (PanelToplevel *toplevel);
+
+void panel_toplevel_hide (PanelToplevel *toplevel,
+ gboolean auto_hide,
+ GtkDirectionType direction);
+void panel_toplevel_unhide (PanelToplevel *toplevel);
+void panel_toplevel_queue_auto_hide (PanelToplevel *toplevel);
+void panel_toplevel_queue_auto_unhide (PanelToplevel *toplevel);
+void panel_toplevel_queue_initial_unhide (PanelToplevel *toplevel);
+void panel_toplevel_push_autohide_disabler (PanelToplevel *toplevel);
+void panel_toplevel_pop_autohide_disabler (PanelToplevel *toplevel);
+
+void panel_toplevel_set_auto_hide (PanelToplevel *toplevel,
+ gboolean autohide);
+gboolean panel_toplevel_get_auto_hide (PanelToplevel *toplevel);
+void panel_toplevel_set_hide_delay (PanelToplevel *toplevel,
+ int hide_delay);
+int panel_toplevel_get_hide_delay (PanelToplevel *toplevel);
+void panel_toplevel_set_unhide_delay (PanelToplevel *toplevel,
+ int unhide_delay);
+int panel_toplevel_get_unhide_delay (PanelToplevel *toplevel);
+
+void panel_toplevel_set_animate (PanelToplevel *toplevel,
+ gboolean animate);
+gboolean panel_toplevel_get_animate (PanelToplevel *toplevel);
+void panel_toplevel_set_animation_speed (PanelToplevel *toplevel,
+ PanelAnimationSpeed animation_speed);
+PanelAnimationSpeed panel_toplevel_get_animation_speed (PanelToplevel *toplevel);
+
+void panel_toplevel_set_enable_buttons (PanelToplevel *toplevel,
+ gboolean enable_buttons);
+gboolean panel_toplevel_get_enable_buttons (PanelToplevel *toplevel);
+void panel_toplevel_set_enable_arrows (PanelToplevel *toplevel,
+ gboolean enable_arrows);
+gboolean panel_toplevel_get_enable_arrows (PanelToplevel *toplevel);
+void panel_toplevel_update_edges (PanelToplevel *toplevel);
+
+gboolean panel_toplevel_is_last_unattached (PanelToplevel *toplevel);
+int panel_toplevel_get_minimum_size (PanelToplevel *toplevel);
+int panel_toplevel_get_maximum_size (PanelToplevel *toplevel);
+GSList *panel_toplevel_list_toplevels (void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __PANEL_TOPLEVEL_H__ */