| Top |
GXPSDocumentStructure represents the structural organization of a XPS document. A GXPSDocumentStructure can contain the document outline, similar to a table of contents, containing hyperlinks. To iterate over the outline items you can use GXPSOutlineIter.
GXPSDocumentStructure objects can not be created directly, they
are retrieved from a GXPSDocument with gxps_document_get_structure().
gboolean
gxps_document_structure_has_outline (GXPSDocumentStructure *structure);
Whether structure
has an outline or not.
gboolean gxps_document_structure_outline_iter_init (GXPSOutlineIter *iter,GXPSDocumentStructure *structure);
Initializes iter
to the root item of the outline contained by structure
and a associates it with structure
.
Here is a simple example of some code that walks the full outline:
static void
walk_outline (GXPSOutlineIter *iter)
{
do {
GXPSOutlineIter child_iter;
const gchar *description = gxps_outline_iter_get_description (iter);
GXPSLinkTarget *target = gxps_outline_iter_get_target (iter);
/* Do something with description and taregt */
if (gxps_outline_iter_children (&child_iter, iter))
walk_outline (&child_iter);
} while (gxps_outline_iter_next (iter));
}
...
{
GXPSOutlineIter iter;
if (gxps_document_structure_outline_iter_init (&iter, structure))
walk_outline (&iter);
}
gboolean
gxps_outline_iter_next (GXPSOutlineIter *iter);
Advances iter
to the next item at the current level.
See gxps_document_structure_outline_iter_init() for
more details.
gboolean gxps_outline_iter_children (GXPSOutlineIter *iter,GXPSOutlineIter *parent);
Initializes iter
to the first child item of parent
.
See gxps_document_structure_outline_iter_init() for
more details.
const gchar *
gxps_outline_iter_get_description (GXPSOutlineIter *iter);
Gets the description of the outline item associated with iter
.
See gxps_document_structure_outline_iter_init() for
more details.
GXPSLinkTarget *
gxps_outline_iter_get_target (GXPSOutlineIter *iter);
Gets the GXPSLinkTarget of the outline item associated with iter
.
See gxps_document_structure_outline_iter_init() for
more details.
struct GXPSDocumentStructure;
The GXPSDocumentStructure struct contains only private fields and should not be directly accessed.
struct GXPSOutlineIter {
};
GXPSOutlineIter represents an iterator that can be used to iterate over the items of an outline contained in a GXPSDocumentStructure
“source” property“source” gchar *
The DocStructure Source File.
Flags: Write / Construct Only
Default value: NULL