1 /* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
7 #include <glib-object.h>
11 #define GNM_HLINK_TYPE (gnm_hlink_get_type ())
12 #define GNM_HLINK(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNM_HLINK_TYPE, GnmHLink))
13 #define GNM_IS_HLINK(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNM_HLINK_TYPE))
15 #define GNM_HLINK_URL_TYPE (gnm_hlink_url_get_type ())
16 #define GNM_HLINK_URL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNM_HLINK_URL_TYPE, GnmHLinkURL))
17 #define GNM_IS_HLINK_URL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNM_HLINK_URL_TYPE))
19 GnmHLink
*gnm_sheet_hlink_find (Sheet
const *sheet
, GnmCellPos
const *pos
);
21 GType
gnm_hlink_get_type (void);
23 GnmHLink
*gnm_hlink_new (GType typ
, Sheet
*sheet
);
24 GnmHLink
*gnm_hlink_dup (GnmHLink
*lnk
);
26 gboolean
gnm_hlink_equal (GnmHLink
const *a
, GnmHLink
const *b
, gboolean relax_sheet
);
28 gboolean
gnm_hlink_activate (GnmHLink
*lnk
, WBCGtk
*wbcg
);
30 const char *gnm_hlink_get_target (GnmHLink
const *lnk
);
31 void gnm_hlink_set_target (GnmHLink
*lnk
, gchar
const *url
);
33 const char *gnm_hlink_get_tip (GnmHLink
const *lnk
);
34 void gnm_hlink_set_tip (GnmHLink
*lnk
, gchar
const *tip
);
36 Sheet
*gnm_hlink_get_sheet (GnmHLink
*lnk
);
37 void gnm_hlink_set_sheet (GnmHLink
*lnk
, Sheet
*sheet
);
39 GType
gnm_hlink_cur_wb_get_type (void);
40 GType
gnm_hlink_url_get_type (void);
41 GType
gnm_hlink_email_get_type (void);
42 GType
gnm_hlink_external_get_type (void);
44 // For internal links only
45 gboolean
gnm_hlink_get_range_target (GnmHLink
const *lnk
, GnmSheetRange
*sr
);
46 GnmExprTop
const *gnm_hlink_get_target_expr (GnmHLink
const *lnk
);
49 void _gnm_hlink_init (void);
53 #endif /* _GNM_HLINK_H_ */