summaryrefslogtreecommitdiff
path: root/mate-panel/drawer-private.h
diff options
context:
space:
mode:
Diffstat (limited to 'mate-panel/drawer-private.h')
-rw-r--r--mate-panel/drawer-private.h146
1 files changed, 146 insertions, 0 deletions
diff --git a/mate-panel/drawer-private.h b/mate-panel/drawer-private.h
new file mode 100644
index 00000000..b71ef818
--- /dev/null
+++ b/mate-panel/drawer-private.h
@@ -0,0 +1,146 @@
+/*
+ * MATE panel drawer module.
+ *
+ * List static function prototypes separate
+ * to prevent errors when compiling panel.c
+ *
+ * Authors: [email protected]
+ */
+
+
+#ifndef DRAWER_PRIVATE_H
+#define DRAWER_PRIVATE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Internal functions */
+/* event handlers */
+
+static void drawer_click (GtkWidget *widget,
+ Drawer *drawer);
+
+static void drawer_focus_panel_widget (Drawer *drawer,
+ GtkDirectionType direction);
+
+static gboolean key_press_drawer (GtkWidget *widget,
+ GdkEventKey *event,
+ Drawer *drawer);
+
+static gboolean key_press_drawer_widget (GtkWidget *widget,
+ GdkEventKey *event,
+ Drawer *drawer);
+
+ /* drag and drop handlers */
+
+static void drag_data_get_cb (GtkWidget *widget,
+ GdkDragContext *context,
+ GtkSelectionData *selection_data,
+ guint info,
+ guint time,
+ Drawer *drawer);
+
+static gboolean drag_motion_cb (GtkWidget *widget,
+ GdkDragContext *context,
+ int x,
+ int y,
+ guint time_,
+ Drawer *drawer);
+
+static gboolean drag_drop_cb (GtkWidget *widget,
+ GdkDragContext *context,
+ int x,
+ int y,
+ guint time_,
+ Drawer *drawer);
+
+static void drag_data_received_cb (GtkWidget *widget,
+ GdkDragContext *context,
+ gint x,
+ gint y,
+ GtkSelectionData *selection_data,
+ guint info,
+ guint time_,
+ Drawer *drawer);
+
+static gboolean close_drawer_in_idle (gpointer data);
+
+static void queue_drawer_close_for_drag (Drawer *drawer);
+
+static void drag_leave_cb (GtkWidget *widget,
+ GdkDragContext *context,
+ guint time_,
+ Drawer *drawer);
+
+ /* load_drawer_applet handlers */
+
+static void drawer_button_size_allocated (GtkWidget *widget,
+ GtkAllocation *alloc,
+ Drawer *drawer);
+
+static gboolean drawer_changes_enabled (void);
+
+ /* gsettings handlers */
+
+static void panel_drawer_custom_icon_changed (GSettings *settings,
+ gchar *key,
+ Drawer *drawer);
+
+static void panel_drawer_tooltip_changed (GSettings *settings,
+ gchar *key,
+ Drawer *drawer);
+
+ /* destroy handlers */
+
+static void toplevel_destroyed (GtkWidget *widget,
+ Drawer *drawer);
+
+static void destroy_drawer (GtkWidget *widget,
+ Drawer *drawer);
+
+static void drawer_deletion_response (GtkWidget *dialog,
+ int response,
+ Drawer *drawer);
+
+/* end event handlers */
+
+static PanelToplevel *create_drawer_toplevel (const char *drawer_id,
+ GSettings *settings);
+
+static void set_tooltip_and_name (Drawer *drawer,
+ const char *tooltip);
+
+static Drawer *create_drawer_applet (PanelToplevel *toplevel,
+ PanelToplevel *parent_toplevel,
+ const char *tooltip,
+ const char *custom_icon,
+ gboolean use_custom_icon,
+ PanelOrientation orientation);
+
+static void panel_drawer_connect_to_gsettings (Drawer *drawer);
+
+static void load_drawer_applet (char *toplevel_id,
+ GSettings *settings,
+ const char *custom_icon,
+ gboolean use_custom_icon,
+ const char *tooltip,
+ PanelToplevel *parent_toplevel,
+ gboolean locked,
+ int pos,
+ gboolean exactpos,
+ const char *id);
+
+static void panel_drawer_prepare (const char *drawer_id,
+ const char *custom_icon,
+ gboolean use_custom_icon,
+ const char *tooltip,
+ char **attached_toplevel_id);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* DRAWER_PRIVATE_H */