~valavanisalex/ubuntu/precise/inkscape/fix-943984

« back to all changes in this revision

Viewing changes to inkscape-0.47pre1/src/rdf.h

  • Committer: Bazaar Package Importer
  • Author(s): Bryce Harrington
  • Date: 2009-07-02 17:09:45 UTC
  • mfrom: (1.1.9 upstream)
  • Revision ID: james.westby@ubuntu.com-20090702170945-nn6d6zswovbwju1t
Tags: 0.47~pre1-0ubuntu1
* New upstream release.
  - Don't constrain maximization on small resolution devices (pre0)
    (LP: #348842)
  - Fixes segfault on startup (pre0)
    (LP: #391149)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/** @file
 
2
 * @brief headers for RDF types
 
3
 */
 
4
/* Authors:
 
5
 *  Kees Cook <kees@outflux.net>
 
6
 *
 
7
 * Copyright (C) 2004 Authors
 
8
 * Released under GNU GPL, read the file 'COPYING' for more information
 
9
 */
 
10
#ifndef _RDF_H_
 
11
#define _RDF_H_
 
12
 
 
13
#include <glib.h>
 
14
#include <glibmm/i18n.h>
 
15
#include "document.h"
 
16
 
 
17
// yeah, it's not a triple yet...
 
18
/**
 
19
 * \brief Holds license name/resource doubles for rdf_license_t entries
 
20
 */
 
21
struct rdf_double_t {
 
22
    gchar const *name;
 
23
    gchar const *resource;
 
24
};
 
25
 
 
26
/**
 
27
 * \brief Holds license name and RDF information
 
28
 */
 
29
struct rdf_license_t {
 
30
    gchar const *name;        /* localized name of this license */
 
31
    gchar const *uri;         /* URL for the RDF/Work/license element */
 
32
    struct rdf_double_t *details; /* the license details */
 
33
//    gchar const *fragment;    /* XML contents for the RDF/License tag */
 
34
};
 
35
 
 
36
extern rdf_license_t rdf_licenses [];
 
37
 
 
38
/**
 
39
 * \brief Describes how a given RDF entity is stored in XML
 
40
 */
 
41
enum RDFType {
 
42
    RDF_CONTENT,  // direct between-XML-tags content
 
43
    RDF_AGENT,    // requires the "Agent" hierarchy before doing content
 
44
    RDF_RESOURCE, // stored in "rdf:resource" element
 
45
    RDF_XML,      // literal XML
 
46
    RDF_BAG       // rdf:Bag resources
 
47
};
 
48
 
 
49
/**
 
50
 * \brief Describes how a given RDF entity should be edited
 
51
 */
 
52
enum RDF_Format {
 
53
    RDF_FORMAT_LINE,          // uses single line data (GtkEntry)
 
54
    RDF_FORMAT_MULTILINE,     // uses multiline data (GtkTextView)
 
55
    RDF_FORMAT_SPECIAL        // uses some other edit methods
 
56
};
 
57
 
 
58
enum RDF_Editable {
 
59
    RDF_EDIT_GENERIC,       // editable via generic widgets
 
60
    RDF_EDIT_SPECIAL,       // special widgets are needed
 
61
    RDF_EDIT_HARDCODED      // isn't editable
 
62
};
 
63
 
 
64
/**
 
65
 * \brief Holds known RDF/Work tags
 
66
 */
 
67
struct rdf_work_entity_t {
 
68
    char const *name;       /* unique name of this entity for internal reference */
 
69
    gchar const *title;      /* localized title of this entity for data entry */
 
70
    gchar const *tag;        /* namespace tag for the RDF/Work element */
 
71
    RDFType datatype;   /* how to extract/inject the RDF information */
 
72
    gchar const *tip;        /* tool tip to explain the meaning of the entity */
 
73
    RDF_Format format;  /* in what format is this data edited? */
 
74
    RDF_Editable editable;/* in what way is the data editable? */
 
75
};
 
76
 
 
77
extern rdf_work_entity_t rdf_work_entities [];
 
78
 
 
79
/**
 
80
 * \brief Generic collection of RDF information for the RDF debug function
 
81
 */
 
82
struct rdf_t {
 
83
    gchar*                work_title;
 
84
    gchar*                work_date;
 
85
    gchar*                work_creator;
 
86
    gchar*                work_owner;
 
87
    gchar*                work_publisher;
 
88
    gchar*                work_type;
 
89
    gchar*                work_source;
 
90
    gchar*                work_subject;
 
91
    gchar*                work_description;
 
92
    struct rdf_license_t* license;
 
93
};
 
94
 
 
95
struct rdf_work_entity_t * rdf_find_entity(gchar const * name);
 
96
 
 
97
const gchar * rdf_get_work_entity(SPDocument * doc,
 
98
                                  struct rdf_work_entity_t * entity);
 
99
unsigned int  rdf_set_work_entity(SPDocument * doc,
 
100
                                  struct rdf_work_entity_t * entity,
 
101
                                  const gchar * text);
 
102
 
 
103
struct rdf_license_t * rdf_get_license(SPDocument * doc);
 
104
void                   rdf_set_license(SPDocument * doc,
 
105
                                       struct rdf_license_t const * license);
 
106
 
 
107
void rdf_set_defaults ( SPDocument * doc );
 
108
 
 
109
#endif // _RDF_H_
 
110
 
 
111
/*
 
112
  Local Variables:
 
113
  mode:c++
 
114
  c-file-style:"stroustrup"
 
115
  c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
 
116
  indent-tabs-mode:nil
 
117
  fill-column:99
 
118
  End:
 
119
*/
 
120
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :