/libdocument/ev-link-action.h

https://github.com/mate-desktop/atril · C Header · 80 lines · 47 code · 12 blank · 21 comment · 1 complexity · c4ea1bca1d8c98356ebe6842dd637c4f MD5 · raw file

  1. /* this file is part of atril, a mate document viewer
  2. *
  3. * Copyright (C) 2006 Carlos Garcia Campos <carlosgc@gnome.org>
  4. * Copyright (C) 2005 Red Hat, Inc.
  5. *
  6. * Atril is free software; you can redistribute it and/or modify it
  7. * under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation; either version 2 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * Atril is distributed in the hope that it will be useful, but
  12. * WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. * General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License
  17. * along with this program; if not, write to the Free Software
  18. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  19. */
  20. #if !defined (__EV_ATRIL_DOCUMENT_H_INSIDE__) && !defined (ATRIL_COMPILATION)
  21. #error "Only <atril-document.h> can be included directly."
  22. #endif
  23. #ifndef EV_LINK_ACTION_H
  24. #define EV_LINK_ACTION_H
  25. #include <glib-object.h>
  26. #include "ev-link-dest.h"
  27. G_BEGIN_DECLS
  28. typedef struct _EvLinkAction EvLinkAction;
  29. typedef struct _EvLinkActionClass EvLinkActionClass;
  30. typedef struct _EvLinkActionPrivate EvLinkActionPrivate;
  31. #define EV_TYPE_LINK_ACTION (ev_link_action_get_type())
  32. #define EV_LINK_ACTION(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_LINK_ACTION, EvLinkAction))
  33. #define EV_LINK_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_LINK_ACTION, EvLinkActionClass))
  34. #define EV_IS_LINK_ACTION(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_LINK_ACTION))
  35. #define EV_IS_LINK_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EV_TYPE_LINK_ACTION))
  36. #define EV_LINK_ACTION_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), EV_TYPE_LINK_ACTION, EvLinkActionClass))
  37. typedef enum {
  38. EV_LINK_ACTION_TYPE_GOTO_DEST,
  39. EV_LINK_ACTION_TYPE_GOTO_REMOTE,
  40. EV_LINK_ACTION_TYPE_EXTERNAL_URI,
  41. EV_LINK_ACTION_TYPE_LAUNCH,
  42. EV_LINK_ACTION_TYPE_NAMED,
  43. EV_LINK_ACTION_TYPE_LAYERS_STATE
  44. /* We'll probably fill this in more as we support the other types of
  45. * actions */
  46. } EvLinkActionType;
  47. GType ev_link_action_get_type (void) G_GNUC_CONST;
  48. EvLinkActionType ev_link_action_get_action_type (EvLinkAction *self);
  49. EvLinkDest *ev_link_action_get_dest (EvLinkAction *self);
  50. const gchar *ev_link_action_get_uri (EvLinkAction *self);
  51. const gchar *ev_link_action_get_filename (EvLinkAction *self);
  52. const gchar *ev_link_action_get_params (EvLinkAction *self);
  53. const gchar *ev_link_action_get_name (EvLinkAction *self);
  54. GList *ev_link_action_get_show_list (EvLinkAction *self);
  55. GList *ev_link_action_get_hide_list (EvLinkAction *self);
  56. GList *ev_link_action_get_toggle_list (EvLinkAction *self);
  57. EvLinkAction *ev_link_action_new_dest (EvLinkDest *dest);
  58. EvLinkAction *ev_link_action_new_remote (EvLinkDest *dest,
  59. const gchar *filename);
  60. EvLinkAction *ev_link_action_new_external_uri (const gchar *uri);
  61. EvLinkAction *ev_link_action_new_launch (const gchar *filename,
  62. const gchar *params);
  63. EvLinkAction *ev_link_action_new_named (const gchar *name);
  64. EvLinkAction *ev_link_action_new_layers_state (GList *show_list,
  65. GList *hide_list,
  66. GList *toggle_list);
  67. G_END_DECLS
  68. #endif /* EV_LINK_ACTION_H */