]> www.fi.muni.cz Git - evince.git/blobdiff - libdocument/ev-document-links.h
[dualscreen] fix crash on ctrl+w and fix control window closing
[evince.git] / libdocument / ev-document-links.h
index 8e8f20a7dca9ca6ce5424143643362cb69d7e0fa..36fa25491baa65665994c2d36289b453797c7d54 100644 (file)
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__EV_EVINCE_DOCUMENT_H_INSIDE__) && !defined (EVINCE_COMPILATION)
+#error "Only <evince-document.h> can be included directly."
+#endif
+
 #ifndef EV_DOCUMENT_LINKS_H
 #define EV_DOCUMENT_LINKS_H
 
 
 #include "ev-document.h"
 #include "ev-link.h"
+#include "ev-mapping-list.h"
 
 G_BEGIN_DECLS
 
-
 #define EV_TYPE_DOCUMENT_LINKS           (ev_document_links_get_type ())
 #define EV_DOCUMENT_LINKS(o)             (G_TYPE_CHECK_INSTANCE_CAST ((o), EV_TYPE_DOCUMENT_LINKS, EvDocumentLinks))
-#define EV_DOCUMENT_LINKS_IFACE(k)       (G_TYPE_CHECK_CLASS_CAST((k), EV_TYPE_DOCUMENT_LINKS, EvDocumentLinksIface))
+#define EV_DOCUMENT_LINKS_IFACE(k)       (G_TYPE_CHECK_CLASS_CAST((k), EV_TYPE_DOCUMENT_LINKS, EvDocumentLinksInterface))
 #define EV_IS_DOCUMENT_LINKS(o)                  (G_TYPE_CHECK_INSTANCE_TYPE ((o), EV_TYPE_DOCUMENT_LINKS))
 #define EV_IS_DOCUMENT_LINKS_IFACE(k)    (G_TYPE_CHECK_CLASS_TYPE ((k), EV_TYPE_DOCUMENT_LINKS))
-#define EV_DOCUMENT_LINKS_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), EV_TYPE_DOCUMENT_LINKS, EvDocumentLinksIface))
+#define EV_DOCUMENT_LINKS_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), EV_TYPE_DOCUMENT_LINKS, EvDocumentLinksInterface))
 
-typedef struct _EvDocumentLinks             EvDocumentLinks;
-typedef struct _EvDocumentLinksIface EvDocumentLinksIface;
+typedef struct _EvDocumentLinks                 EvDocumentLinks;
+typedef struct _EvDocumentLinksInterface EvDocumentLinksInterface;
 
 enum {
        EV_DOCUMENT_LINKS_COLUMN_MARKUP,
        EV_DOCUMENT_LINKS_COLUMN_LINK,
        EV_DOCUMENT_LINKS_COLUMN_EXPAND,
+       EV_DOCUMENT_LINKS_COLUMN_PAGE_LABEL,
        EV_DOCUMENT_LINKS_COLUMN_NUM_COLUMNS
 };
 
-struct _EvDocumentLinksIface
+struct _EvDocumentLinksInterface
 {
        GTypeInterface base_iface;
 
        /* Methods  */
-       gboolean      (* has_document_links) (EvDocumentLinks *document_links);
-       GtkTreeModel *(* get_links_model)    (EvDocumentLinks *document_links);
-       GList        *(* get_links)          (EvDocumentLinks *document_links,
-                                             gint             page);
-       EvLinkDest   *(* find_link_dest)     (EvDocumentLinks *document_links,
-                                             const gchar     *link_name);
+       gboolean       (* has_document_links) (EvDocumentLinks *document_links);
+       GtkTreeModel  *(* get_links_model)    (EvDocumentLinks *document_links);
+       EvMappingList *(* get_links)          (EvDocumentLinks *document_links,
+                                              EvPage          *page);
+       EvLinkDest    *(* find_link_dest)     (EvDocumentLinks *document_links,
+                                              const gchar     *link_name);
+       gint           (* find_link_page)     (EvDocumentLinks *document_links,
+                                              const gchar     *link_name);
 };
 
-GType         ev_document_links_get_type           (void);
-gboolean      ev_document_links_has_document_links (EvDocumentLinks *document_links);
-GtkTreeModel *ev_document_links_get_links_model    (EvDocumentLinks *document_links);
+GType          ev_document_links_get_type            (void) G_GNUC_CONST;
+gboolean       ev_document_links_has_document_links  (EvDocumentLinks *document_links);
+GtkTreeModel  *ev_document_links_get_links_model     (EvDocumentLinks *document_links);
 
-GList        *ev_document_links_get_links          (EvDocumentLinks *document_links,
-                                                   gint             page);
-EvLinkDest   *ev_document_links_find_link_dest     (EvDocumentLinks *document_links,
-                                                   const gchar     *link_name);
+EvMappingList *ev_document_links_get_links           (EvDocumentLinks *document_links,
+                                                     EvPage          *page);
+EvLinkDest    *ev_document_links_find_link_dest      (EvDocumentLinks *document_links,
+                                                     const gchar     *link_name);
+gint           ev_document_links_find_link_page      (EvDocumentLinks *document_links,
+                                                     const gchar     *link_name);
+gint           ev_document_links_get_dest_page       (EvDocumentLinks *document_links,
+                                                     EvLinkDest      *dest);
+gchar         *ev_document_links_get_dest_page_label (EvDocumentLinks *document_links,
+                                                     EvLinkDest      *dest);
+gint           ev_document_links_get_link_page       (EvDocumentLinks *document_links,
+                                                     EvLink          *link);
+gchar         *ev_document_links_get_link_page_label (EvDocumentLinks *document_links,
+                                                     EvLink          *link);
 
 G_END_DECLS