1 /* nemo-statusbar.h
2  *
3  * This library is free software; you can redistribute it and/or
4  * modify it under the terms of the GNU Library General Public
5  * License as published by the Free Software Foundation; either
6  * version 2 of the License, or (at your option) any later version.
7  *
8  * This library is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11  * Library General Public License for more details.
12  *
13  * You should have received a copy of the GNU Library General Public
14  * License along with this library; if not, write to the
15  * Free Software Foundation, Inc., 51 Franklin Street - Suite 500,
16  * Boston, MA 02110-1335, USA.
17  *
18  *
19  */
20 
21 #ifndef NEMO_STATUSBAR_H
22 #define NEMO_STATUSBAR_H
23 
24 #include <gtk/gtk.h>
25 #include <gio/gio.h>
26 #include "nemo-window.h"
27 #include "nemo-window-slot.h"
28 #include "nemo-view.h"
29 
30 typedef struct _NemoStatusBar      NemoStatusBar;
31 typedef struct _NemoStatusBarClass NemoStatusBarClass;
32 
33 
34 #define NEMO_TYPE_STATUS_BAR                 (nemo_status_bar_get_type ())
35 #define NEMO_STATUS_BAR(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), NEMO_TYPE_STATUS_BAR, NemoStatusBar))
36 #define NEMO_STATUS_BAR_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST ((klass), NEMO_TYPE_STATUS_BAR, NemoStatusBarClass))
37 #define NEMO_IS_STATUS_BAR(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NEMO_TYPE_STATUS_BAR))
38 #define NEMO_IS_STATUS_BAR_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), NEMO_TYPE_STATUS_BAR))
39 #define NEMO_STATUS_BAR_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), NEMO_TYPE_STATUS_BAR, NemoStatusBarClass))
40 
41 #define NEMO_STATUSBAR_ICON_SIZE_NAME "statusbar-icon"
42 #define NEMO_STATUSBAR_ICON_SIZE 11
43 
44 struct _NemoStatusBar
45 {
46     GtkBox parent;
47     NemoWindow *window;
48     GtkWidget *real_statusbar;
49 
50     GtkWidget *zoom_slider;
51 
52     GtkWidget *tree_button;
53     GtkWidget *places_button;
54     GtkWidget *show_button;
55     GtkWidget *hide_button;
56     GtkWidget *separator;
57 };
58 
59 struct _NemoStatusBarClass
60 {
61     GtkBoxClass parent_class;
62 };
63 
64 GType    nemo_status_bar_get_type (void) G_GNUC_CONST;
65 
66 GtkWidget *nemo_status_bar_new (NemoWindow *window);
67 
68 GtkWidget *nemo_status_bar_get_real_statusbar (NemoStatusBar *bar);
69 
70 void       nemo_status_bar_sync_button_states (NemoStatusBar *bar);
71 
72 void       nemo_status_bar_sync_zoom_widgets (NemoStatusBar *bar);
73 
74 #endif /* NEMO_STATUSBAR_H */
75