comparison src/bar.h @ 1469:607c60506863

added a possibility to update existing bars from config
author nadvornik
date Fri, 20 Mar 2009 21:28:31 +0000
parents 8036c5b779ca
children 65a5c27823c2
comparison
equal deleted inserted replaced
1468:e9f9d3da3f43 1469:607c60506863
12 12
13 13
14 #ifndef BAR_H 14 #ifndef BAR_H
15 #define BAR_H 15 #define BAR_H
16 16
17 typedef enum {
18 PANE_COMMENT,
19 PANE_EXIF,
20 PANE_HISTOGRAM,
21 PANE_KEYWORDS
22 } PaneType;
23
17 typedef struct _PaneData PaneData; 24 typedef struct _PaneData PaneData;
18 25
19 struct _PaneData { 26 struct _PaneData {
20 /* filled in by pane */ 27 /* filled in by pane */
21 void (*pane_set_fd)(GtkWidget *pane, FileData *fd); 28 void (*pane_set_fd)(GtkWidget *pane, FileData *fd);
22 gint (*pane_event)(GtkWidget *pane, GdkEvent *event); 29 gint (*pane_event)(GtkWidget *pane, GdkEvent *event);
23 void (*pane_write_config)(GtkWidget *pane, GString *outstr, gint indent); 30 void (*pane_write_config)(GtkWidget *pane, GString *outstr, gint indent);
24 GtkWidget *title; 31 GtkWidget *title;
25 gboolean expanded; 32 gboolean expanded;
33 gchar *id;
34 PaneType type;
26 35
27 /* filled in by bar */ 36 /* filled in by bar */
28 GtkWidget *bar; 37 GtkWidget *bar;
29 LayoutWindow *lw; 38 LayoutWindow *lw;
30 }; 39 };
31 40
32 41
33 42
43
34 GtkWidget *bar_new(LayoutWindow *lw); 44 GtkWidget *bar_new(LayoutWindow *lw);
35 GtkWidget *bar_new_default(LayoutWindow *lw); 45 GtkWidget *bar_new_default(LayoutWindow *lw);
36 GtkWidget *bar_new_from_config(LayoutWindow *lw, const gchar **attribute_names, const gchar **attribute_values); 46 GtkWidget *bar_new_from_config(LayoutWindow *lw, const gchar **attribute_names, const gchar **attribute_values);
47 GtkWidget *bar_update_from_config(GtkWidget *bar, const gchar **attribute_names, const gchar **attribute_values);
37 48
38 void bar_close(GtkWidget *bar); 49 void bar_close(GtkWidget *bar);
39 50
40 void bar_write_config(GtkWidget *bar, GString *outstr, gint indent); 51 void bar_write_config(GtkWidget *bar, GString *outstr, gint indent);
41 52
42 void bar_add(GtkWidget *bar, GtkWidget *pane); 53 void bar_add(GtkWidget *bar, GtkWidget *pane);
54 GtkWidget *bar_find_pane_by_id(GtkWidget *bar, PaneType type, const gchar *id);
43 55
56 void bar_clear(GtkWidget *bar);
44 57
45 void bar_set_fd(GtkWidget *bar, FileData *fd); 58 void bar_set_fd(GtkWidget *bar, FileData *fd);
46 gboolean bar_event(GtkWidget *bar, GdkEvent *event); 59 gboolean bar_event(GtkWidget *bar, GdkEvent *event);
47 60
48 gint bar_get_width(GtkWidget *bar); 61 gint bar_get_width(GtkWidget *bar);
49 62
50 GtkWidget *bar_pane_expander_title(const gchar *title); 63 GtkWidget *bar_pane_expander_title(const gchar *title);
51 64 void bar_update_expander(GtkWidget *pane);
52 #endif 65 #endif
53 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */ 66 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */