]> www.fi.muni.cz Git - evince.git/blob - shell/ev-window.h
Add preview toolbar (hidden by default)
[evince.git] / shell / ev-window.h
1 /* this file is part of evince, a gnome document viewer
2  *
3  *  Copyright (C) 2004 Martin Kretzschmar
4  *
5  *  Author:
6  *    Martin Kretzschmar <martink@gnome.org>
7  *
8  * Evince is free software; you can redistribute it and/or modify it
9  * under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * Evince is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
21  */
22
23 #ifndef EV_WINDOW_H
24 #define EV_WINDOW_H
25
26 #include <glib-object.h>
27 #include <gtk/gtkwindow.h>
28
29 #include "ev-link.h"
30 #include "ev-page-cache.h"
31
32 G_BEGIN_DECLS
33
34 typedef enum {
35         EV_WINDOW_MODE_NORMAL,
36         EV_WINDOW_MODE_FULLSCREEN,
37         EV_WINDOW_MODE_PRESENTATION,
38         EV_WINDOW_MODE_PREVIEW
39 } EvWindowRunMode;
40
41 typedef struct _EvWindow EvWindow;
42 typedef struct _EvWindowClass EvWindowClass;
43 typedef struct _EvWindowPrivate EvWindowPrivate;
44
45 #define EV_TYPE_WINDOW                  (ev_window_get_type())
46 #define EV_WINDOW(object)               (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_WINDOW, EvWindow))
47 #define EV_WINDOW_CLASS(klass)          (G_TYPE_CHACK_CLASS_CAST((klass), EV_TYPE_WINDOW, EvWindowClass))
48 #define EV_IS_WINDOW(object)            (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_WINDOW))
49 #define EV_IS_WINDOW_CLASS(klass)       (G_TYPE_CHECK_CLASS_TYPE((klass), EV_TYPE_WINDOW))
50 #define EV_WINDOW_GET_CLASS(object)     (G_TYPE_INSTANCE_GET_CLASS((object), EV_TYPE_WINDOW, EvWindowClass))
51
52
53 struct _EvWindow {
54         GtkWindow               base_instance;
55         EvWindowPrivate         *priv;
56 };
57
58 struct _EvWindowClass {
59         GtkWindowClass          base_class;
60 };
61
62 GType           ev_window_get_type        (void);
63 GtkWidget      *ev_window_new             (void);
64 const char     *ev_window_get_uri         (EvWindow       *ev_window);
65 void            ev_window_open_uri        (EvWindow       *ev_window,
66                                            const char     *uri,
67                                            EvLinkDest     *dest,
68                                            EvWindowRunMode mode);
69 void            ev_window_goto_dest       (EvWindow       *ev_window,
70                                            EvLinkDest     *dest);
71 gboolean        ev_window_is_empty        (const EvWindow *ev_window);
72 #ifdef WITH_GNOME_PRINT
73 void            ev_window_print_range     (EvWindow       *ev_window,
74                                            int             first_page,
75                                            int             last_page);
76 #endif
77 G_END_DECLS
78
79 #endif /* !EV_WINDOW_H */
80