]> www.fi.muni.cz Git - evince.git/blobdiff - backend/ev-link.h
*** empty log message ***
[evince.git] / backend / ev-link.h
index 6ab2811be1621ceb16d8e0ec58eb7f29574042b1..b7304debfe1e9d8435f8dab7fb6fcf905ab3d5cb 100644 (file)
@@ -21,6 +21,7 @@
 #define EV_LINK_H
 
 #include <glib-object.h>
+#include "ev-link-action.h"
 
 G_BEGIN_DECLS
 
@@ -28,77 +29,22 @@ typedef struct _EvLink EvLink;
 typedef struct _EvLinkClass EvLinkClass;
 typedef struct _EvLinkPrivate EvLinkPrivate;
 
-#define EV_TYPE_LINK             (ev_link_get_type())
-#define EV_LINK(object)                  (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_LINK, EvLink))
-#define EV_LINK_CLASS(klass)     (G_TYPE_CHACK_CLASS_CAST((klass), EV_TYPE_LINK, EvLinkClass))
-#define EV_IS_LINK(object)       (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_LINK))
-#define EV_IS_LINK_CLASS(klass)          (G_TYPE_CHECK_CLASS_TYPE((klass), EV_TYPE_LINK))
+#define EV_TYPE_LINK              (ev_link_get_type())
+#define EV_LINK(object)           (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_LINK, EvLink))
+#define EV_LINK_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_LINK, EvLinkClass))
+#define EV_IS_LINK(object)        (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_LINK))
+#define EV_IS_LINK_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE((klass), EV_TYPE_LINK))
 #define EV_LINK_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), EV_TYPE_LINK, EvLinkClass))
 
-#define EV_TYPE_LINK_TYPE        (ev_link_type_get_type ())
+GType         ev_link_get_type  (void) G_GNUC_CONST;
 
+EvLink      *ev_link_new        (const gchar  *title,
+                                 EvLinkAction *action);
 
-
-typedef enum
-{
-       EV_LINK_TYPE_TITLE,
-       EV_LINK_TYPE_PAGE,
-       EV_LINK_TYPE_PAGE_XYZ,
-       EV_LINK_TYPE_PAGE_FIT,
-       EV_LINK_TYPE_PAGE_FITH,
-       EV_LINK_TYPE_PAGE_FITV,
-       EV_LINK_TYPE_PAGE_FITR,
-       EV_LINK_TYPE_EXTERNAL_URI,
-       EV_LINK_TYPE_LAUNCH
-       /* We'll probably fill this in more as we support the other types of
-        * links */
-} EvLinkType;
-
-GType           ev_link_type_get_type  (void);
-GType          ev_link_get_type        (void);
-
-EvLink        *ev_link_new_title       (const char     *title);
-EvLink        *ev_link_new_page        (const char     *title,
-                                        int             page);
-EvLink        *ev_link_new_page_xyz    (const char     *title,
-                                        int             page,
-                                        double          top,
-                                        double          left,
-                                        double          zoom);
-EvLink        *ev_link_new_page_fith   (const char     *title,
-                                        int             page,
-                                        double          top);
-EvLink        *ev_link_new_page_fitv   (const char     *title,
-                                        int             page,
-                                        double          left);
-EvLink        *ev_link_new_page_fitr   (const char     *title,
-                                        int             page,
-                                        double          left,
-                                        double          bottom,
-                                        double          right,
-                                        double          top);
-EvLink        *ev_link_new_page_fit    (const char     *title,
-                                        int             page);
-EvLink        *ev_link_new_external    (const char     *title,
-                                        const char     *uri);
-EvLink        *ev_link_new_launch      (const char     *title,
-                                        const char     *filename,
-                                        const char     *params);
-
-const char     *ev_link_get_title      (EvLink     *link);
-const char     *ev_link_get_uri                (EvLink     *link);
-EvLinkType     ev_link_get_link_type   (EvLink     *link);
-int            ev_link_get_page        (EvLink     *link);
-double         ev_link_get_top         (EvLink     *link);
-double         ev_link_get_left        (EvLink     *link);
-double         ev_link_get_bottom      (EvLink     *link);
-double         ev_link_get_right       (EvLink     *link);
-double         ev_link_get_zoom        (EvLink     *link);
-const char     *ev_link_get_filename    (EvLink     *link);
-const char     *ev_link_get_params      (EvLink     *link);
+const gchar  *ev_link_get_title  (EvLink       *self);
+EvLinkAction *ev_link_get_action (EvLink       *self);
 
 /* Link Mapping stuff */
-
 typedef struct _EvLinkMapping    EvLinkMapping;
 struct _EvLinkMapping
 {