r4567: Get ATK headers through Zero Install.
[rox-filer/translations.git] / ROX-Filer / src / panel.h
blobe1763ac4ecf19eeadaea6cf88e562aee686cc944
1 /*
2 * ROX-Filer, filer for the ROX desktop project
3 * By Thomas Leonard, <tal197@users.sourceforge.net>.
4 */
6 #ifndef _PANEL_H
7 #define _PANEL_H
9 typedef enum {
10 PANEL_TOP,
11 PANEL_BOTTOM,
12 PANEL_LEFT,
13 PANEL_RIGHT,
15 PANEL_NUMBER_OF_SIDES, /* (goes after valid sides) */
17 PANEL_DEFAULT_SIDE /* Read from file, or use free side */
18 } PanelSide;
20 #define MENU_MARGIN(side) ((side) == PANEL_BOTTOM ? 32 : 8)
22 struct _Panel {
23 GtkWidget *window;
24 GtkAdjustment *adj; /* Scroll position of the bar */
25 PanelSide side;
26 guchar *name; /* Leaf name */
28 GtkWidget *before; /* Icons at the left/top end */
29 GtkWidget *after; /* Icons at the right/bottom end */
31 GtkWidget *gap; /* Event box between sides */
33 int autoscroll_to; /* Timeout */
34 int autoscroll_speed; /* 0 => not scrolling */
37 extern Panel *current_panel[PANEL_NUMBER_OF_SIDES];
39 void panel_init(void);
40 Panel *panel_new(const gchar *name, PanelSide side);
41 void panel_icon_may_update(Icon *icon);
42 void panel_save(Panel *panel);
44 gboolean panel_add(PanelSide side,
45 const gchar *path, const gchar *label, gboolean after, const gchar *shortcut, const gchar *args);
46 gboolean panel_remove_item(PanelSide side, const gchar *path,
47 const gchar *label);
48 void panel_mark_used(GdkRegion *used);
49 void panel_update_size(void);
50 PanelSide panel_name_to_side(gchar *side);
52 #endif /* _PANEL_H */