More auto-completion-model integration
[ephy-soc.git] / embed / ephy-embed-find.h
blobf535424b95e8a6c180d84f4061f8ccb8ce6b24c5
1 /*
2 * Copyright © 2005 Christian Persch
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2, or (at your option)
7 * any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 * $Id: ephy-embed-find.h 6952 2007-03-11 19:42:02Z chpe $
21 #ifndef EPHY_EMBED_FIND_H
22 #define EPHY_EMBED_FIND_H
24 #include <glib-object.h>
25 #include <glib.h>
27 #include "ephy-embed.h"
28 #include <gdk/gdktypes.h>
30 G_BEGIN_DECLS
32 #define EPHY_TYPE_EMBED_FIND (ephy_embed_find_get_type ())
33 #define EPHY_EMBED_FIND(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EPHY_TYPE_EMBED_FIND, EphyEmbedFind))
34 #define EPHY_EMBED_FIND_IFACE(k) (G_TYPE_CHECK_CLASS_CAST((k), EPHY_TYPE_EMBED_FIND, EphyEmbedFindIface))
35 #define EPHY_IS_EMBED_FIND(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EPHY_TYPE_EMBED_FIND))
36 #define EPHY_IS_EMBED_FIND_IFACE(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EPHY_TYPE_EMBED_FIND))
37 #define EPHY_EMBED_FIND_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), EPHY_TYPE_EMBED_FIND, EphyEmbedFindIface))
39 typedef struct _EphyEmbedFind EphyEmbedFind;
40 typedef struct _EphyEmbedFindIface EphyEmbedFindIface;
42 /* Keep these the same as in nsITypeAheadFind */
43 typedef enum
45 EPHY_EMBED_FIND_FOUND = 0,
46 EPHY_EMBED_FIND_NOTFOUND = 1,
47 EPHY_EMBED_FIND_FOUNDWRAPPED = 2
48 } EphyEmbedFindResult;
50 struct _EphyEmbedFindIface
52 GTypeInterface base_iface;
54 /* Methods */
55 void (* set_embed) (EphyEmbedFind *find,
56 EphyEmbed *embed);
57 void (* set_properties) (EphyEmbedFind *find,
58 const char *search_string,
59 gboolean case_sensitive);
60 EphyEmbedFindResult (* find) (EphyEmbedFind *find,
61 const char *search_string,
62 gboolean links_only);
63 EphyEmbedFindResult (* find_again) (EphyEmbedFind *find,
64 gboolean forward,
65 gboolean links_only);
66 void (* set_selection) (EphyEmbedFind *find,
67 gboolean attention);
68 gboolean (* activate_link) (EphyEmbedFind *find,
69 GdkModifierType mask);
72 GType ephy_embed_find_get_type (void);
74 void ephy_embed_find_set_embed (EphyEmbedFind *find,
75 EphyEmbed *embed);
77 void ephy_embed_find_set_properties (EphyEmbedFind *find,
78 const char *search_string,
79 gboolean case_sensitive);
81 EphyEmbedFindResult ephy_embed_find_find (EphyEmbedFind *find,
82 const char *search_string,
83 gboolean links_only);
85 EphyEmbedFindResult ephy_embed_find_find_again (EphyEmbedFind *find,
86 gboolean forward,
87 gboolean links_only);
89 void ephy_embed_find_set_selection (EphyEmbedFind *find,
90 gboolean attention);
92 gboolean ephy_embed_find_activate_link (EphyEmbedFind *find,
93 GdkModifierType mask);
95 G_END_DECLS
97 #endif