]> www.fi.muni.cz Git - evince.git/blob - shell/ev-window.h
Add a command line option for search. Fixes bug #497710.
[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 #include <gtk/gtkscrolledwindow.h>
29
30 #include "ev-link.h"
31 #include "ev-page-cache.h"
32
33 G_BEGIN_DECLS
34
35 typedef enum {
36         EV_WINDOW_MODE_NORMAL,
37         EV_WINDOW_MODE_FULLSCREEN,
38         EV_WINDOW_MODE_PRESENTATION,
39         EV_WINDOW_MODE_PREVIEW
40 } EvWindowRunMode;
41
42 typedef struct {
43         gint start;
44         gint end;
45 } EvPrintRange;
46
47 typedef enum {
48         EV_PRINT_PAGE_SET_ALL,
49         EV_PRINT_PAGE_SET_EVEN,
50         EV_PRINT_PAGE_SET_ODD
51 } EvPrintPageSet;
52
53 typedef struct _EvWindow EvWindow;
54 typedef struct _EvWindowClass EvWindowClass;
55 typedef struct _EvWindowPrivate EvWindowPrivate;
56
57 #define EV_TYPE_WINDOW                  (ev_window_get_type())
58 #define EV_WINDOW(object)               (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_WINDOW, EvWindow))
59 #define EV_WINDOW_CLASS(klass)          (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_WINDOW, EvWindowClass))
60 #define EV_IS_WINDOW(object)            (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_WINDOW))
61 #define EV_IS_WINDOW_CLASS(klass)       (G_TYPE_CHECK_CLASS_TYPE((klass), EV_TYPE_WINDOW))
62 #define EV_WINDOW_GET_CLASS(object)     (G_TYPE_INSTANCE_GET_CLASS((object), EV_TYPE_WINDOW, EvWindowClass))
63
64
65 struct _EvWindow {
66         GtkWindow               base_instance;
67         EvWindowPrivate         *priv;
68 };
69
70 struct _EvWindowClass {
71         GtkWindowClass          base_class;
72 };
73
74 GType           ev_window_get_type        (void);
75 GtkWidget      *ev_window_new             (void);
76 const char     *ev_window_get_uri         (EvWindow       *ev_window);
77 void            ev_window_open_uri        (EvWindow       *ev_window,
78                                            const char     *uri,
79                                            EvLinkDest     *dest,
80                                            EvWindowRunMode mode,
81                                            const gchar    *search_string,
82                                            gboolean        unlink_temp_file,
83                                            const gchar    *print_settings);
84 gboolean        ev_window_is_empty        (const EvWindow *ev_window);
85
86 #ifdef WITH_PRINT
87 void            ev_window_print_range     (EvWindow       *ev_window,
88                                            int             first_page,
89                                            int             last_page);
90 #endif
91 G_END_DECLS
92
93 #endif /* !EV_WINDOW_H */