update translated pane titles
[geeqie.git] / src / bar.h
1 /*
2  * Geeqie
3  * (C) 2004 John Ellis
4  * Copyright (C) 2008 - 2009 The Geeqie Team
5  *
6  * Author: Vladimir Nadvornik
7  *
8  * This software is released under the GNU General Public License (GNU GPL).
9  * Please read the included file COPYING for more information.
10  * This software comes with no warranty of any kind, use at your own risk!
11  */
12
13
14 #ifndef BAR_H
15 #define BAR_H
16
17 typedef enum {
18         PANE_UNDEF = 0,
19         PANE_COMMENT,
20         PANE_EXIF,
21         PANE_HISTOGRAM,
22         PANE_KEYWORDS
23 } PaneType;
24
25 typedef struct _PaneData PaneData;
26
27 struct _PaneData {
28         /* filled in by pane */
29         void (*pane_set_fd)(GtkWidget *pane, FileData *fd);
30         gint (*pane_event)(GtkWidget *pane, GdkEvent *event);
31         void (*pane_write_config)(GtkWidget *pane, GString *outstr, gint indent);
32         GtkWidget *title;
33         gboolean expanded;
34         gchar *id;
35         PaneType type;
36         
37         /* filled in by bar */
38         GtkWidget *bar;
39         LayoutWindow *lw;
40 };
41
42
43
44
45 GtkWidget *bar_new(LayoutWindow *lw);
46 GtkWidget *bar_new_default(LayoutWindow *lw);
47 GtkWidget *bar_new_from_config(LayoutWindow *lw, const gchar **attribute_names, const gchar **attribute_values);
48 GtkWidget *bar_update_from_config(GtkWidget *bar, const gchar **attribute_names, const gchar **attribute_values);
49
50 void bar_close(GtkWidget *bar);
51
52 void bar_write_config(GtkWidget *bar, GString *outstr, gint indent);
53
54 void bar_add(GtkWidget *bar, GtkWidget *pane);
55 GtkWidget *bar_find_pane_by_id(GtkWidget *bar, PaneType type, const gchar *id);
56
57 void bar_clear(GtkWidget *bar);
58
59 void bar_set_fd(GtkWidget *bar, FileData *fd);
60 gboolean bar_event(GtkWidget *bar, GdkEvent *event);
61
62 gint bar_get_width(GtkWidget *bar);
63
64 GtkWidget *bar_pane_expander_title(const gchar *title);
65 void bar_update_expander(GtkWidget *pane);
66 gboolean bar_pane_translate_title(PaneType type, const gchar *id, gchar **title);
67 #endif
68 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */