r3768: Updated years.
[rox-filer.git] / ROX-Filer / src / panel.h
blobecf3829dd415098867a49016b0ac2677064939b8
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 /* This goes last! */
16 } PanelSide;
18 #define MENU_MARGIN(side) ((side) == PANEL_BOTTOM ? 32 : 8)
20 struct _Panel {
21 GtkWidget *window;
22 GtkAdjustment *adj; /* Scroll position of the bar */
23 PanelSide side;
24 guchar *name; /* Leaf name */
26 GtkWidget *before; /* Icons at the left/top end */
27 GtkWidget *after; /* Icons at the right/bottom end */
29 GtkWidget *gap; /* Event box between sides */
31 int autoscroll_to; /* Timeout */
32 int autoscroll_speed; /* 0 => not scrolling */
35 extern Panel *current_panel[PANEL_NUMBER_OF_SIDES];
37 void panel_init(void);
38 Panel *panel_new(const gchar *name, PanelSide side);
39 void panel_icon_may_update(Icon *icon);
40 void panel_save(Panel *panel);
42 gboolean panel_add(PanelSide side,
43 const gchar *path, const gchar *label, gboolean after);
44 gboolean panel_remove_item(PanelSide side, const gchar *path,
45 const gchar *label);
46 void panel_mark_used(GdkRegion *used);
47 void panel_update_size(void);
49 #endif /* _PANEL_H */