]> www.fi.muni.cz Git - evince.git/blob - shell/ev-window.h
1173390b88e0bdc541b7d2b0ff48d02213e7cdb1
[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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21  */
22
23 #ifndef EV_WINDOW_H
24 #define EV_WINDOW_H
25
26 #include <glib.h>
27 #include <gtk/gtk.h>
28
29 #include "ev-link.h"
30
31 G_BEGIN_DECLS
32
33 typedef enum {
34         EV_WINDOW_MODE_NORMAL,
35         EV_WINDOW_MODE_FULLSCREEN,
36         EV_WINDOW_MODE_PRESENTATION
37 } EvWindowRunMode;
38
39 typedef struct {
40         gint start;
41         gint end;
42 } EvPrintRange;
43
44 typedef enum {
45         EV_PRINT_PAGE_SET_ALL,
46         EV_PRINT_PAGE_SET_EVEN,
47         EV_PRINT_PAGE_SET_ODD
48 } EvPrintPageSet;
49
50 typedef struct _EvWindow EvWindow;
51 typedef struct _EvWindowClass EvWindowClass;
52 typedef struct _EvWindowPrivate EvWindowPrivate;
53
54 #define EV_TYPE_WINDOW                  (ev_window_get_type())
55 #define EV_WINDOW(object)               (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_WINDOW, EvWindow))
56 #define EV_WINDOW_CLASS(klass)          (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_WINDOW, EvWindowClass))
57 #define EV_IS_WINDOW(object)            (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_WINDOW))
58 #define EV_IS_WINDOW_CLASS(klass)       (G_TYPE_CHECK_CLASS_TYPE((klass), EV_TYPE_WINDOW))
59 #define EV_WINDOW_GET_CLASS(object)     (G_TYPE_INSTANCE_GET_CLASS((object), EV_TYPE_WINDOW, EvWindowClass))
60
61
62 struct _EvWindow {
63         GtkWindow               base_instance;
64         EvWindowPrivate         *priv;
65 };
66
67 struct _EvWindowClass {
68         GtkWindowClass          base_class;
69 };
70
71 GType           ev_window_get_type      (void) G_GNUC_CONST;
72 GtkWidget      *ev_window_new           (void);
73 const char     *ev_window_get_uri       (EvWindow       *ev_window);
74 void            ev_window_open_uri      (EvWindow       *ev_window,
75                                          const char     *uri,
76                                          EvLinkDest     *dest,
77                                          EvWindowRunMode mode,
78                                          const gchar    *search_string);
79 void            ev_window_open_document (EvWindow       *ev_window,
80                                          EvDocument     *document,
81                                          EvLinkDest     *dest,
82                                          EvWindowRunMode mode,
83                                          const gchar    *search_string);
84 gboolean        ev_window_is_empty      (const EvWindow *ev_window);
85 void            ev_window_print_range   (EvWindow       *ev_window,
86                                          int             first_page,
87                                          int             last_page);
88 const gchar *   ev_window_get_dbus_object_path (EvWindow *ev_window);
89
90
91 G_END_DECLS
92
93 #endif /* !EV_WINDOW_H */