1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
<title>Ipelib: IpeDocument Class Reference</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
7
<!-- Generated by Doxygen 1.5.1 -->
10
<li><a href="index.html"><span>Main Page</span></a></li>
11
<li><a href="modules.html"><span>Modules</span></a></li>
12
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
16
<li><a href="annotated.html"><span>Class List</span></a></li>
17
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
18
<li><a href="functions.html"><span>Class Members</span></a></li>
20
<h1>IpeDocument Class Reference<br>
22
[<a class="el" href="group__doc.html">Ipe Document</a>]</small>
23
</h1><!-- doxytag: class="IpeDocument" -->The model for an Ipe document.
24
<a href="#_details">More...</a>
26
<a href="class_ipe_document-members.html">List of all members.</a><h2>Public Types</h2>
28
<li>enum <a class="el" href="class_ipe_document.html#303e66ca1922104f8ea07fa683c80265">TFormat</a> { <br>
29
<a class="el" href="class_ipe_document.html#303e66ca1922104f8ea07fa683c8026578ffb27aaf1d7acd67741c93d6a92908">EXml</a>,
30
<a class="el" href="class_ipe_document.html#303e66ca1922104f8ea07fa683c802654c1afc2a1ea944935dbc0302580be5a8">EPdf</a>,
31
<a class="el" href="class_ipe_document.html#303e66ca1922104f8ea07fa683c80265bcedc5c66fd2f19687a81c1803203a63">EEps</a>,
32
<a class="el" href="class_ipe_document.html#303e66ca1922104f8ea07fa683c802653a6ff3144bc14dc5067aa0cf5ea9f7ab">EIpe5</a>,
34
<a class="el" href="class_ipe_document.html#303e66ca1922104f8ea07fa683c80265ebba01cb1d3ffe1aebdeb1515c0b7bc4">EUnknown</a>
38
<a class="el" href="class_ipe_document.html#ab233af348efb730014b86e17b39908e640d7817fcd58e6665503643c76d7702">ESaveNormal</a> = 0,
39
<a class="el" href="class_ipe_document.html#ab233af348efb730014b86e17b39908e6bd8a42d686472a6269b5e9f1a1107b4">EExport</a> = 1,
40
<a class="el" href="class_ipe_document.html#ab233af348efb730014b86e17b39908e37ccaaaf91e67832072a9ca10c35117f">ENoShading</a> = 2,
41
<a class="el" href="class_ipe_document.html#ab233af348efb730014b86e17b39908e9b20184ed619763b0efbfb1639d1cd95">ELastView</a> = 4,
43
<a class="el" href="class_ipe_document.html#ab233af348efb730014b86e17b39908ef38034d8f86d13e0caf5ab3421a92dbb">ENoColor</a> = 8
47
<h2>Public Member Functions</h2>
49
<li><a class="el" href="class_ipe_document.html#269995933a1bdc3ad228e88fb3ed0f8e">IpeDocument</a> ()
50
<li><a class="el" href="class_ipe_document.html#668009a14ce574cc3f8f905ace8f8e59">~IpeDocument</a> ()
51
<li>bool <a class="el" href="class_ipe_document.html#cb74e27a632d84fb4572ef3858f8b0d7">Save</a> (<a class="el" href="class_ipe_tell_stream.html">IpeTellStream</a> &stream, <a class="el" href="class_ipe_string.html">IpeString</a> creator, <a class="el" href="class_ipe_document.html#303e66ca1922104f8ea07fa683c80265">TFormat</a> format, uint flags, int fromPage, int toPage, int compressLevel=9) const
52
<li><a class="anchor" name="abaa13c8a5f7807c823778748e2b2900"></a><!-- doxytag: member="IpeDocument::Save" ref="abaa13c8a5f7807c823778748e2b2900" args="(const char *fname, IpeString creator, TFormat format, uint flags, int fromPage=-1, int toPage=-1, int compressLevel=9) const" -->
53
bool <b>Save</b> (const char *fname, <a class="el" href="class_ipe_string.html">IpeString</a> creator, <a class="el" href="class_ipe_document.html#303e66ca1922104f8ea07fa683c80265">TFormat</a> format, uint flags, int fromPage=-1, int toPage=-1, int compressLevel=9) const
54
<li>void <a class="el" href="class_ipe_document.html#dd5584945e0a5867f6104469d53b78a4">SaveAsXml</a> (<a class="el" href="class_ipe_stream.html">IpeStream</a> &stream, <a class="el" href="class_ipe_string.html">IpeString</a> creator, bool usePdfBitmaps=false) const
55
<li>bool <a class="el" href="class_ipe_document.html#e1d1b6c99ee2c34692c6c934072cad52">AddStyleSheet</a> (<a class="el" href="class_ipe_data_source.html">IpeDataSource</a> &source)
56
<li><a class="anchor" name="7db7d69fa0962bc55963925beef95f31"></a><!-- doxytag: member="IpeDocument::pages" ref="7db7d69fa0962bc55963925beef95f31" args="() const" -->
57
int <b>pages</b> () const
58
<li>int <a class="el" href="class_ipe_document.html#eab73384bbd0a9542472feea3d779ff2">totalViews</a> () const
59
<li>const <a class="el" href="class_ipe_page.html">IpePage</a> * <a class="el" href="class_ipe_document.html#e843928e9cbe703161a6645bdaf6a468">page</a> (int no) const
60
<li><a class="el" href="class_ipe_page.html">IpePage</a> * <a class="el" href="class_ipe_document.html#b931ad13393c93f6d5b1f8bf84e417d1">page</a> (int no)
61
<li><a class="el" href="class_ipe_page.html">IpePage</a> * <a class="el" href="class_ipe_document.html#decb87dee7920327f35219cffcba5724">setPage</a> (int no, <a class="el" href="class_ipe_page.html">IpePage</a> *page)
62
<li><a class="el" href="class_ipe_page.html">IpePage</a> * <a class="el" href="class_ipe_document.html#be0efe38a4f942f8c3bcfc61b48f817a">newPage</a> (int gridSize)
63
<li>void <a class="el" href="class_ipe_document.html#535057349f9f802becbf6cf2889acb94">addPage</a> (int no, <a class="el" href="class_ipe_page.html">IpePage</a> *page)
64
<li><a class="el" href="class_ipe_page.html">IpePage</a> * <a class="el" href="class_ipe_document.html#c4893c9948788af11fbbe7d8711c9b8a">removePage</a> (int no)
65
<li><a class="el" href="struct_ipe_document_1_1_s_properties.html">SProperties</a> <a class="el" href="class_ipe_document.html#e85affb9834ba35e527b1c17e40621ae">Properties</a> () const
66
<li>void <a class="el" href="class_ipe_document.html#e532feb0293e0edec8435e15e10fdd0b">SetProperties</a> (const <a class="el" href="struct_ipe_document_1_1_s_properties.html">SProperties</a> &info)
67
<li><a class="el" href="struct_ipe_layout.html">IpeLayout</a> <a class="el" href="class_ipe_document.html#62e8d124b652e52a5d4dcc1a0ff38303">layout</a> () const
68
<li>void <a class="el" href="class_ipe_document.html#caf3d0be351976b8c2355cc11d7d01a1">SetStyleSheet</a> (<a class="el" href="class_ipe_style_sheet.html">IpeStyleSheet</a> *sheet)
69
<li>const <a class="el" href="class_ipe_style_sheet.html">IpeStyleSheet</a> * <a class="el" href="class_ipe_document.html#627711e1c7d603b4f824ad521a691a32">StyleSheet</a> () const
70
<li><a class="el" href="class_ipe_style_sheet.html">IpeStyleSheet</a> * <a class="el" href="class_ipe_document.html#4b5f1b6e45785158554a282c4c42cc16">GetStyleSheet</a> ()
71
<li>bool <a class="el" href="class_ipe_document.html#84111dd8e4c0f37d09cb6c5aaf026f9c">IsEdited</a> () const
72
<li>void <a class="el" href="class_ipe_document.html#8ca0937154fdcd9b5cdd60bcca9d90ba">SetEdited</a> (bool edited)
73
<li>void <a class="el" href="class_ipe_document.html#c431bf35c371269cc3ad5492bf22d5ab">SetFontPool</a> (<a class="el" href="class_ipe_font_pool.html">IpeFontPool</a> *fontPool)
74
<li>const <a class="el" href="class_ipe_font_pool.html">IpeFontPool</a> * <a class="el" href="class_ipe_document.html#7e30fd9b2cfa125ec43f802ffaf4249e">FontPool</a> () const
75
<li><a class="anchor" name="78264a81169e0b68924b495d61981176"></a><!-- doxytag: member="IpeDocument::HasTrueTypeFonts" ref="78264a81169e0b68924b495d61981176" args="() const" -->
76
bool <b>HasTrueTypeFonts</b> () const
77
<li>void <a class="el" href="class_ipe_document.html#4faf10dea94c9fce934eb67433b904d2">FindBitmaps</a> (<a class="el" href="class_ipe_bitmap_finder.html">IpeBitmapFinder</a> &bm) const
78
<li>bool <a class="el" href="class_ipe_document.html#bb63e107aec1c7a4a87d7cf0ca84b96d">CheckStyle</a> (<a class="el" href="group__attr.html#g8592bdde9e4ad7b2ad81f5dd2638e43c">IpeAttributeSeq</a> &seq) const
79
<li><a class="el" href="class_ipe_repository.html">IpeRepository</a> * <a class="el" href="class_ipe_document.html#b7a4de5167bce088441df5629b71e6be">Repository</a> ()
80
<li>const <a class="el" href="class_ipe_repository.html">IpeRepository</a> * <a class="el" href="class_ipe_document.html#463f023687c21c741326441f98a399ec">Repository</a> () const
82
<h2>Static Public Member Functions</h2>
84
<li>static <a class="el" href="class_ipe_document.html#303e66ca1922104f8ea07fa683c80265">TFormat</a> <a class="el" href="class_ipe_document.html#3bfb6843b8945d0a4fd0d077c190fa3c">FileFormat</a> (<a class="el" href="class_ipe_data_source.html">IpeDataSource</a> &source)
85
<li>static <a class="el" href="class_ipe_document.html">IpeDocument</a> * <a class="el" href="class_ipe_document.html#ddf24d97cc59e975d7dc8261fce396e4">New</a> (<a class="el" href="class_ipe_data_source.html">IpeDataSource</a> &source, <a class="el" href="class_ipe_document.html#303e66ca1922104f8ea07fa683c80265">TFormat</a> format, int &reason)
86
<li><a class="anchor" name="956e23b3e0715699e378f7ba90415f42"></a><!-- doxytag: member="IpeDocument::New" ref="956e23b3e0715699e378f7ba90415f42" args="(const char *fname, int &reason)" -->
87
static <a class="el" href="class_ipe_document.html">IpeDocument</a> * <b>New</b> (const char *fname, int &reason)
89
<h2>Protected Attributes</h2>
91
<li><a class="anchor" name="13c6220a8f1e75747019aef2cf0cdce4"></a><!-- doxytag: member="IpeDocument::iPages" ref="13c6220a8f1e75747019aef2cf0cdce4" args="" -->
92
std::vector< <a class="el" href="class_ipe_page.html">IpePage</a> * > <b>iPages</b>
93
<li><a class="anchor" name="e91e3c125dfcb52dd9c0536b8f89cf58"></a><!-- doxytag: member="IpeDocument::iStyleSheet" ref="e91e3c125dfcb52dd9c0536b8f89cf58" args="" -->
94
<a class="el" href="class_ipe_style_sheet.html">IpeStyleSheet</a> * <b>iStyleSheet</b>
95
<li><a class="anchor" name="f77aaf45f0321efa06bbbc09ee01528b"></a><!-- doxytag: member="IpeDocument::iProperties" ref="f77aaf45f0321efa06bbbc09ee01528b" args="" -->
96
<a class="el" href="struct_ipe_document_1_1_s_properties.html">SProperties</a> <b>iProperties</b>
97
<li><a class="anchor" name="5d0dbbecf98a5c7549fd585c96f51ee6"></a><!-- doxytag: member="IpeDocument::iEdited" ref="5d0dbbecf98a5c7549fd585c96f51ee6" args="" -->
99
<li><a class="anchor" name="306b7491cefcf0b6f31d9e6366e1564a"></a><!-- doxytag: member="IpeDocument::iRepository" ref="306b7491cefcf0b6f31d9e6366e1564a" args="" -->
100
<a class="el" href="class_ipe_repository.html">IpeRepository</a> <b>iRepository</b>
101
<li><a class="anchor" name="2a3ce3c1ff32ace31d0b2c50d4ac1db6"></a><!-- doxytag: member="IpeDocument::iFontPool" ref="2a3ce3c1ff32ace31d0b2c50d4ac1db6" args="" -->
102
<a class="el" href="class_ipe_font_pool.html">IpeFontPool</a> * <b>iFontPool</b>
106
<li>struct <a class="el" href="struct_ipe_document_1_1_s_properties.html">SProperties</a>
107
<dl class="el"><dd class="mdescRight">Properties of a document. <a href="struct_ipe_document_1_1_s_properties.html#_details">More...</a><br></dl></ul>
108
<hr><a name="_details"></a><h2>Detailed Description</h2>
109
The model for an Ipe document.
111
The <a class="el" href="class_ipe_document.html">IpeDocument</a> class is the engine behind the Ipe program. It represents the contents of an Ipe document, and all the methods necessary to load, save, and edit it. It is independent of a specific user interface.<p>
112
IpeDocument's cannot be copied or assigned.<p>
113
Note that the <a class="el" href="class_ipe_document.html">IpeDocument</a> owns the <a class="el" href="class_ipe_repository.html">IpeRepository</a> that defines the meaning of all object's attributes. Therefore, the document is the largest extent where IpeObject's make sense. You can have several documents at once, but you cannot move IpeObject's (or IpeStyleSheet's) from one to the other. If you need to do so, you'll have to externalize them to XML and internalize them into the other document.
115
<hr><h2>Member Enumeration Documentation</h2>
116
<a class="anchor" name="303e66ca1922104f8ea07fa683c80265"></a><!-- doxytag: member="IpeDocument::TFormat" ref="303e66ca1922104f8ea07fa683c80265" args="" -->
117
<div class="memitem">
118
<div class="memproto">
119
<table class="memname">
121
<td class="memname">enum <a class="el" href="class_ipe_document.html#303e66ca1922104f8ea07fa683c80265">IpeDocument::TFormat</a> </td>
128
There are several Ipe document save formats.
130
<dl compact><dt><b>Enumerator: </b></dt><dd>
131
<table border="0" cellspacing="2" cellpadding="0">
132
<tr><td valign="top"><em><a class="anchor" name="303e66ca1922104f8ea07fa683c8026578ffb27aaf1d7acd67741c93d6a92908"></a><!-- doxytag: member="EXml" ref="303e66ca1922104f8ea07fa683c8026578ffb27aaf1d7acd67741c93d6a92908" args="" -->EXml</em> </td><td>
133
Save as XML. </td></tr>
134
<tr><td valign="top"><em><a class="anchor" name="303e66ca1922104f8ea07fa683c802654c1afc2a1ea944935dbc0302580be5a8"></a><!-- doxytag: member="EPdf" ref="303e66ca1922104f8ea07fa683c802654c1afc2a1ea944935dbc0302580be5a8" args="" -->EPdf</em> </td><td>
135
Save as PDF. </td></tr>
136
<tr><td valign="top"><em><a class="anchor" name="303e66ca1922104f8ea07fa683c80265bcedc5c66fd2f19687a81c1803203a63"></a><!-- doxytag: member="EEps" ref="303e66ca1922104f8ea07fa683c80265bcedc5c66fd2f19687a81c1803203a63" args="" -->EEps</em> </td><td>
137
Save as Encapsulated Postscript. </td></tr>
138
<tr><td valign="top"><em><a class="anchor" name="303e66ca1922104f8ea07fa683c802653a6ff3144bc14dc5067aa0cf5ea9f7ab"></a><!-- doxytag: member="EIpe5" ref="303e66ca1922104f8ea07fa683c802653a6ff3144bc14dc5067aa0cf5ea9f7ab" args="" -->EIpe5</em> </td><td>
139
Old Ipe format. </td></tr>
140
<tr><td valign="top"><em><a class="anchor" name="303e66ca1922104f8ea07fa683c80265ebba01cb1d3ffe1aebdeb1515c0b7bc4"></a><!-- doxytag: member="EUnknown" ref="303e66ca1922104f8ea07fa683c80265ebba01cb1d3ffe1aebdeb1515c0b7bc4" args="" -->EUnknown</em> </td><td>
141
Unknown file format. </td></tr>
147
<a class="anchor" name="ab233af348efb730014b86e17b39908e"></a><!-- doxytag: member="IpeDocument::@3" ref="ab233af348efb730014b86e17b39908e" args="" -->
148
<div class="memitem">
149
<div class="memproto">
150
<table class="memname">
152
<td class="memname">anonymous enum </td>
159
Options for saving Ipe documents (to PDF and Postscript).
161
<dl compact><dt><b>Enumerator: </b></dt><dd>
162
<table border="0" cellspacing="2" cellpadding="0">
163
<tr><td valign="top"><em><a class="anchor" name="ab233af348efb730014b86e17b39908e640d7817fcd58e6665503643c76d7702"></a><!-- doxytag: member="ESaveNormal" ref="ab233af348efb730014b86e17b39908e640d7817fcd58e6665503643c76d7702" args="" -->ESaveNormal</em> </td><td>
164
Nothing special. </td></tr>
165
<tr><td valign="top"><em><a class="anchor" name="ab233af348efb730014b86e17b39908e6bd8a42d686472a6269b5e9f1a1107b4"></a><!-- doxytag: member="EExport" ref="ab233af348efb730014b86e17b39908e6bd8a42d686472a6269b5e9f1a1107b4" args="" -->EExport</em> </td><td>
166
Don't include Ipe markup. </td></tr>
167
<tr><td valign="top"><em><a class="anchor" name="ab233af348efb730014b86e17b39908e37ccaaaf91e67832072a9ca10c35117f"></a><!-- doxytag: member="ENoShading" ref="ab233af348efb730014b86e17b39908e37ccaaaf91e67832072a9ca10c35117f" args="" -->ENoShading</em> </td><td>
168
Don't shade background in PDF documents. </td></tr>
169
<tr><td valign="top"><em><a class="anchor" name="ab233af348efb730014b86e17b39908e9b20184ed619763b0efbfb1639d1cd95"></a><!-- doxytag: member="ELastView" ref="ab233af348efb730014b86e17b39908e9b20184ed619763b0efbfb1639d1cd95" args="" -->ELastView</em> </td><td>
170
Create last view of each page only. </td></tr>
171
<tr><td valign="top"><em><a class="anchor" name="ab233af348efb730014b86e17b39908ef38034d8f86d13e0caf5ab3421a92dbb"></a><!-- doxytag: member="ENoColor" ref="ab233af348efb730014b86e17b39908ef38034d8f86d13e0caf5ab3421a92dbb" args="" -->ENoColor</em> </td><td>
172
No color commands in EPS output. </td></tr>
178
<hr><h2>Constructor & Destructor Documentation</h2>
179
<a class="anchor" name="269995933a1bdc3ad228e88fb3ed0f8e"></a><!-- doxytag: member="IpeDocument::IpeDocument" ref="269995933a1bdc3ad228e88fb3ed0f8e" args="()" -->
180
<div class="memitem">
181
<div class="memproto">
182
<table class="memname">
184
<td class="memname">IpeDocument::IpeDocument </td>
186
<td class="paramname"> </td>
187
<td> ) </td>
188
<td width="100%"></td>
195
Construct an empty document for filling by a client.
197
As constructed, it has no pages, A4 media, and only the standard style sheet.
200
<a class="anchor" name="668009a14ce574cc3f8f905ace8f8e59"></a><!-- doxytag: member="IpeDocument::~IpeDocument" ref="668009a14ce574cc3f8f905ace8f8e59" args="()" -->
201
<div class="memitem">
202
<div class="memproto">
203
<table class="memname">
205
<td class="memname">IpeDocument::~IpeDocument </td>
207
<td class="paramname"> </td>
208
<td> ) </td>
209
<td width="100%"></td>
221
<hr><h2>Member Function Documentation</h2>
222
<a class="anchor" name="3bfb6843b8945d0a4fd0d077c190fa3c"></a><!-- doxytag: member="IpeDocument::FileFormat" ref="3bfb6843b8945d0a4fd0d077c190fa3c" args="(IpeDataSource &source)" -->
223
<div class="memitem">
224
<div class="memproto">
225
<table class="memname">
227
<td class="memname"><a class="el" href="class_ipe_document.html#303e66ca1922104f8ea07fa683c80265">IpeDocument::TFormat</a> IpeDocument::FileFormat </td>
229
<td class="paramtype"><a class="el" href="class_ipe_data_source.html">IpeDataSource</a> & </td>
230
<td class="paramname"> <em>source</em> </td>
231
<td> ) </td>
232
<td width="100%"><code> [static]</code></td>
239
Determine format of file in <em>source</em>.
244
<a class="anchor" name="ddf24d97cc59e975d7dc8261fce396e4"></a><!-- doxytag: member="IpeDocument::New" ref="ddf24d97cc59e975d7dc8261fce396e4" args="(IpeDataSource &source, TFormat format, int &reason)" -->
245
<div class="memitem">
246
<div class="memproto">
247
<table class="memname">
249
<td class="memname"><a class="el" href="class_ipe_document.html">IpeDocument</a> * IpeDocument::New </td>
251
<td class="paramtype"><a class="el" href="class_ipe_data_source.html">IpeDataSource</a> & </td>
252
<td class="paramname"> <em>source</em>, </td>
255
<td class="paramkey"></td>
257
<td class="paramtype"><a class="el" href="class_ipe_document.html#303e66ca1922104f8ea07fa683c80265">TFormat</a> </td>
258
<td class="paramname"> <em>format</em>, </td>
261
<td class="paramkey"></td>
263
<td class="paramtype">int & </td>
264
<td class="paramname"> <em>reason</em></td><td> </td>
269
<td></td><td></td><td width="100%"><code> [static]</code></td>
276
Construct a document from an input stream.
278
Returns 0 if the stream couldn't be parsed, and a reason explaining that in <em>reason</em>. If <em>reason</em> is positive, it is a file (stream) offset where parsing failed. If <em>reason</em> is negative, it is an error code. If it is smaller than -60000, then it is the negative value of the Ipe version that created that file (and which exceeds the version of this Ipe).
281
<a class="anchor" name="cb74e27a632d84fb4572ef3858f8b0d7"></a><!-- doxytag: member="IpeDocument::Save" ref="cb74e27a632d84fb4572ef3858f8b0d7" args="(IpeTellStream &stream, IpeString creator, TFormat format, uint flags, int fromPage, int toPage, int compressLevel=9) const" -->
282
<div class="memitem">
283
<div class="memproto">
284
<table class="memname">
286
<td class="memname">bool IpeDocument::Save </td>
288
<td class="paramtype"><a class="el" href="class_ipe_tell_stream.html">IpeTellStream</a> & </td>
289
<td class="paramname"> <em>stream</em>, </td>
292
<td class="paramkey"></td>
294
<td class="paramtype"><a class="el" href="class_ipe_string.html">IpeString</a> </td>
295
<td class="paramname"> <em>creator</em>, </td>
298
<td class="paramkey"></td>
300
<td class="paramtype"><a class="el" href="class_ipe_document.html#303e66ca1922104f8ea07fa683c80265">TFormat</a> </td>
301
<td class="paramname"> <em>format</em>, </td>
304
<td class="paramkey"></td>
306
<td class="paramtype">uint </td>
307
<td class="paramname"> <em>flags</em>, </td>
310
<td class="paramkey"></td>
312
<td class="paramtype">int </td>
313
<td class="paramname"> <em>fromPage</em>, </td>
316
<td class="paramkey"></td>
318
<td class="paramtype">int </td>
319
<td class="paramname"> <em>toPage</em>, </td>
322
<td class="paramkey"></td>
324
<td class="paramtype">int </td>
325
<td class="paramname"> <em>compressLevel</em> = <code>9</code></td><td> </td>
330
<td></td><td></td><td width="100%"> const</td>
339
Returns true if sucessful.<p>
340
Does not reset <a class="el" href="class_ipe_document.html#84111dd8e4c0f37d09cb6c5aaf026f9c">IsEdited()</a>.
343
<a class="anchor" name="dd5584945e0a5867f6104469d53b78a4"></a><!-- doxytag: member="IpeDocument::SaveAsXml" ref="dd5584945e0a5867f6104469d53b78a4" args="(IpeStream &stream, IpeString creator, bool usePdfBitmaps=false) const" -->
344
<div class="memitem">
345
<div class="memproto">
346
<table class="memname">
348
<td class="memname">void IpeDocument::SaveAsXml </td>
350
<td class="paramtype"><a class="el" href="class_ipe_stream.html">IpeStream</a> & </td>
351
<td class="paramname"> <em>stream</em>, </td>
354
<td class="paramkey"></td>
356
<td class="paramtype"><a class="el" href="class_ipe_string.html">IpeString</a> </td>
357
<td class="paramname"> <em>creator</em>, </td>
360
<td class="paramkey"></td>
362
<td class="paramtype">bool </td>
363
<td class="paramname"> <em>usePdfBitmaps</em> = <code>false</code></td><td> </td>
368
<td></td><td></td><td width="100%"> const</td>
375
Save in XML format into an <a class="el" href="class_ipe_stream.html">IpeStream</a>.
377
You can set <em>creator</em> to set the <code>creator</code> attribute in the <code></code> <ipe> tag.
380
<a class="anchor" name="e1d1b6c99ee2c34692c6c934072cad52"></a><!-- doxytag: member="IpeDocument::AddStyleSheet" ref="e1d1b6c99ee2c34692c6c934072cad52" args="(IpeDataSource &source)" -->
381
<div class="memitem">
382
<div class="memproto">
383
<table class="memname">
385
<td class="memname">bool IpeDocument::AddStyleSheet </td>
387
<td class="paramtype"><a class="el" href="class_ipe_data_source.html">IpeDataSource</a> & </td>
388
<td class="paramname"> <em>source</em> </td>
389
<td> ) </td>
390
<td width="100%"></td>
397
Load a style sheet and add at top of cascade.
402
<a class="anchor" name="eab73384bbd0a9542472feea3d779ff2"></a><!-- doxytag: member="IpeDocument::totalViews" ref="eab73384bbd0a9542472feea3d779ff2" args="() const" -->
403
<div class="memitem">
404
<div class="memproto">
405
<table class="memname">
407
<td class="memname">int IpeDocument::totalViews </td>
409
<td class="paramname"> </td>
410
<td> ) </td>
411
<td width="100%"> const</td>
418
Return total number of views in all pages.
423
<a class="anchor" name="e843928e9cbe703161a6645bdaf6a468"></a><!-- doxytag: member="IpeDocument::page" ref="e843928e9cbe703161a6645bdaf6a468" args="(int no) const" -->
424
<div class="memitem">
425
<div class="memproto">
426
<table class="memname">
428
<td class="memname">const <a class="el" href="class_ipe_page.html">IpePage</a>* IpeDocument::page </td>
430
<td class="paramtype">int </td>
431
<td class="paramname"> <em>no</em> </td>
432
<td> ) </td>
433
<td width="100%"> const<code> [inline]</code></td>
440
Return page (const version).
442
The first page is no 0.
445
<a class="anchor" name="b931ad13393c93f6d5b1f8bf84e417d1"></a><!-- doxytag: member="IpeDocument::page" ref="b931ad13393c93f6d5b1f8bf84e417d1" args="(int no)" -->
446
<div class="memitem">
447
<div class="memproto">
448
<table class="memname">
450
<td class="memname"><a class="el" href="class_ipe_page.html">IpePage</a>* IpeDocument::page </td>
452
<td class="paramtype">int </td>
453
<td class="paramname"> <em>no</em> </td>
454
<td> ) </td>
455
<td width="100%"><code> [inline]</code></td>
464
The first page is no 0.
467
<a class="anchor" name="decb87dee7920327f35219cffcba5724"></a><!-- doxytag: member="IpeDocument::setPage" ref="decb87dee7920327f35219cffcba5724" args="(int no, IpePage *page)" -->
468
<div class="memitem">
469
<div class="memproto">
470
<table class="memname">
472
<td class="memname"><a class="el" href="class_ipe_page.html">IpePage</a> * IpeDocument::setPage </td>
474
<td class="paramtype">int </td>
475
<td class="paramname"> <em>no</em>, </td>
478
<td class="paramkey"></td>
480
<td class="paramtype"><a class="el" href="class_ipe_page.html">IpePage</a> * </td>
481
<td class="paramname"> <em>page</em></td><td> </td>
486
<td></td><td></td><td width="100%"></td>
495
Returns the old page.
498
<a class="anchor" name="be0efe38a4f942f8c3bcfc61b48f817a"></a><!-- doxytag: member="IpeDocument::newPage" ref="be0efe38a4f942f8c3bcfc61b48f817a" args="(int gridSize)" -->
499
<div class="memitem">
500
<div class="memproto">
501
<table class="memname">
503
<td class="memname"><a class="el" href="class_ipe_page.html">IpePage</a> * IpeDocument::newPage </td>
505
<td class="paramtype">int </td>
506
<td class="paramname"> <em>gridSize</em> </td>
507
<td> ) </td>
508
<td width="100%"></td>
515
Create a new empty page with standard settings.
517
The page is not added to the document, use addPage to do that.
520
<a class="anchor" name="535057349f9f802becbf6cf2889acb94"></a><!-- doxytag: member="IpeDocument::addPage" ref="535057349f9f802becbf6cf2889acb94" args="(int no, IpePage *page)" -->
521
<div class="memitem">
522
<div class="memproto">
523
<table class="memname">
525
<td class="memname">void IpeDocument::addPage </td>
527
<td class="paramtype">int </td>
528
<td class="paramname"> <em>no</em>, </td>
531
<td class="paramkey"></td>
533
<td class="paramtype"><a class="el" href="class_ipe_page.html">IpePage</a> * </td>
534
<td class="paramname"> <em>page</em></td><td> </td>
539
<td></td><td></td><td width="100%"></td>
551
<a class="anchor" name="c4893c9948788af11fbbe7d8711c9b8a"></a><!-- doxytag: member="IpeDocument::removePage" ref="c4893c9948788af11fbbe7d8711c9b8a" args="(int no)" -->
552
<div class="memitem">
553
<div class="memproto">
554
<table class="memname">
556
<td class="memname"><a class="el" href="class_ipe_page.html">IpePage</a> * IpeDocument::removePage </td>
558
<td class="paramtype">int </td>
559
<td class="paramname"> <em>no</em> </td>
560
<td> ) </td>
561
<td width="100%"></td>
570
Returns the page that has been removed.
573
<a class="anchor" name="e85affb9834ba35e527b1c17e40621ae"></a><!-- doxytag: member="IpeDocument::Properties" ref="e85affb9834ba35e527b1c17e40621ae" args="() const" -->
574
<div class="memitem">
575
<div class="memproto">
576
<table class="memname">
578
<td class="memname"><a class="el" href="struct_ipe_document_1_1_s_properties.html">SProperties</a> IpeDocument::Properties </td>
580
<td class="paramname"> </td>
581
<td> ) </td>
582
<td width="100%"> const<code> [inline]</code></td>
589
Return document properties.
594
<a class="anchor" name="e532feb0293e0edec8435e15e10fdd0b"></a><!-- doxytag: member="IpeDocument::SetProperties" ref="e532feb0293e0edec8435e15e10fdd0b" args="(const SProperties &info)" -->
595
<div class="memitem">
596
<div class="memproto">
597
<table class="memname">
599
<td class="memname">void IpeDocument::SetProperties </td>
601
<td class="paramtype">const <a class="el" href="struct_ipe_document_1_1_s_properties.html">SProperties</a> & </td>
602
<td class="paramname"> <em>info</em> </td>
603
<td> ) </td>
604
<td width="100%"></td>
611
Set document properties.
616
<a class="anchor" name="62e8d124b652e52a5d4dcc1a0ff38303"></a><!-- doxytag: member="IpeDocument::layout" ref="62e8d124b652e52a5d4dcc1a0ff38303" args="() const" -->
617
<div class="memitem">
618
<div class="memproto">
619
<table class="memname">
621
<td class="memname"><a class="el" href="struct_ipe_layout.html">IpeLayout</a> IpeDocument::layout </td>
623
<td class="paramname"> </td>
624
<td> ) </td>
625
<td width="100%"> const</td>
632
Return document page layout.
637
<a class="anchor" name="caf3d0be351976b8c2355cc11d7d01a1"></a><!-- doxytag: member="IpeDocument::SetStyleSheet" ref="caf3d0be351976b8c2355cc11d7d01a1" args="(IpeStyleSheet *sheet)" -->
638
<div class="memitem">
639
<div class="memproto">
640
<table class="memname">
642
<td class="memname">void IpeDocument::SetStyleSheet </td>
644
<td class="paramtype"><a class="el" href="class_ipe_style_sheet.html">IpeStyleSheet</a> * </td>
645
<td class="paramname"> <em>sheet</em> </td>
646
<td> ) </td>
647
<td width="100%"></td>
654
Replace the style sheet cascade.
656
The previous contents is not deleted (because this function is often used to insert style sheets into the cascade).<p>
657
Sets the edited flag.
660
<a class="anchor" name="627711e1c7d603b4f824ad521a691a32"></a><!-- doxytag: member="IpeDocument::StyleSheet" ref="627711e1c7d603b4f824ad521a691a32" args="() const" -->
661
<div class="memitem">
662
<div class="memproto">
663
<table class="memname">
665
<td class="memname">const <a class="el" href="class_ipe_style_sheet.html">IpeStyleSheet</a>* IpeDocument::StyleSheet </td>
667
<td class="paramname"> </td>
668
<td> ) </td>
669
<td width="100%"> const<code> [inline]</code></td>
676
Return const pointer to topmost stylesheet.
681
<a class="anchor" name="4b5f1b6e45785158554a282c4c42cc16"></a><!-- doxytag: member="IpeDocument::GetStyleSheet" ref="4b5f1b6e45785158554a282c4c42cc16" args="()" -->
682
<div class="memitem">
683
<div class="memproto">
684
<table class="memname">
686
<td class="memname"><a class="el" href="class_ipe_style_sheet.html">IpeStyleSheet</a>* IpeDocument::GetStyleSheet </td>
688
<td class="paramname"> </td>
689
<td> ) </td>
690
<td width="100%"><code> [inline]</code></td>
697
Return modifiable stylesheet.
702
<a class="anchor" name="84111dd8e4c0f37d09cb6c5aaf026f9c"></a><!-- doxytag: member="IpeDocument::IsEdited" ref="84111dd8e4c0f37d09cb6c5aaf026f9c" args="() const" -->
703
<div class="memitem">
704
<div class="memproto">
705
<table class="memname">
707
<td class="memname">bool IpeDocument::IsEdited </td>
709
<td class="paramname"> </td>
710
<td> ) </td>
711
<td width="100%"> const</td>
718
Return true if document has been edited since last save.
723
<a class="anchor" name="8ca0937154fdcd9b5cdd60bcca9d90ba"></a><!-- doxytag: member="IpeDocument::SetEdited" ref="8ca0937154fdcd9b5cdd60bcca9d90ba" args="(bool edited)" -->
724
<div class="memitem">
725
<div class="memproto">
726
<table class="memname">
728
<td class="memname">void IpeDocument::SetEdited </td>
730
<td class="paramtype">bool </td>
731
<td class="paramname"> <em>edited</em> </td>
732
<td> ) </td>
733
<td width="100%"></td>
740
Set whether document has been edited.
742
Methods that can modify the document already set the flag, so you only need to call this when inserting or deleting pages, etc. When modifying an <a class="el" href="class_ipe_page.html">IpePage</a>, rather call IpePage::SetEdited(true).<p>
743
Clients need to manually reset the edited flag when they save the document, or after constructing it during loading.<p>
744
Calling this with <code>edited</code> == <code>false</code> will call IpePage::SetEdited(false) for all pages.
747
<a class="anchor" name="c431bf35c371269cc3ad5492bf22d5ab"></a><!-- doxytag: member="IpeDocument::SetFontPool" ref="c431bf35c371269cc3ad5492bf22d5ab" args="(IpeFontPool *fontPool)" -->
748
<div class="memitem">
749
<div class="memproto">
750
<table class="memname">
752
<td class="memname">void IpeDocument::SetFontPool </td>
754
<td class="paramtype"><a class="el" href="class_ipe_font_pool.html">IpeFontPool</a> * </td>
755
<td class="paramname"> <em>fontPool</em> </td>
756
<td> ) </td>
757
<td width="100%"></td>
764
Update the font pool (after running Pdflatex).
766
Takes ownership of the font pool.
769
<a class="anchor" name="7e30fd9b2cfa125ec43f802ffaf4249e"></a><!-- doxytag: member="IpeDocument::FontPool" ref="7e30fd9b2cfa125ec43f802ffaf4249e" args="() const" -->
770
<div class="memitem">
771
<div class="memproto">
772
<table class="memname">
774
<td class="memname">const <a class="el" href="class_ipe_font_pool.html">IpeFontPool</a>* IpeDocument::FontPool </td>
776
<td class="paramname"> </td>
777
<td> ) </td>
778
<td width="100%"> const<code> [inline]</code></td>
785
Return the current <a class="el" href="class_ipe_font_pool.html">IpeFontPool</a>.
790
<a class="anchor" name="4faf10dea94c9fce934eb67433b904d2"></a><!-- doxytag: member="IpeDocument::FindBitmaps" ref="4faf10dea94c9fce934eb67433b904d2" args="(IpeBitmapFinder &bm) const " -->
791
<div class="memitem">
792
<div class="memproto">
793
<table class="memname">
795
<td class="memname">void IpeDocument::FindBitmaps </td>
797
<td class="paramtype"><a class="el" href="class_ipe_bitmap_finder.html">IpeBitmapFinder</a> & </td>
798
<td class="paramname"> <em>bm</em> </td>
799
<td> ) </td>
800
<td width="100%"> const</td>
807
Create a list of all bitmaps in the document.
812
<a class="anchor" name="bb63e107aec1c7a4a87d7cf0ca84b96d"></a><!-- doxytag: member="IpeDocument::CheckStyle" ref="bb63e107aec1c7a4a87d7cf0ca84b96d" args="(IpeAttributeSeq &seq) const " -->
813
<div class="memitem">
814
<div class="memproto">
815
<table class="memname">
817
<td class="memname">bool IpeDocument::CheckStyle </td>
819
<td class="paramtype"><a class="el" href="group__attr.html#g8592bdde9e4ad7b2ad81f5dd2638e43c">IpeAttributeSeq</a> & </td>
820
<td class="paramname"> <em>seq</em> </td>
821
<td> ) </td>
822
<td width="100%"> const</td>
829
Check all symbolic attributes in the document.
831
This function verifies that all symbolic attributes in the document are defined in the style sheet. It appends to <em>seq</em> all symbolic attributes (in no particular order, but without duplicates) that are NOT defined.<p>
832
Returns <code>true</code> if there are no undefined symbolic attributes in the document.
835
<a class="anchor" name="b7a4de5167bce088441df5629b71e6be"></a><!-- doxytag: member="IpeDocument::Repository" ref="b7a4de5167bce088441df5629b71e6be" args="()" -->
836
<div class="memitem">
837
<div class="memproto">
838
<table class="memname">
840
<td class="memname"><a class="el" href="class_ipe_repository.html">IpeRepository</a>* IpeDocument::Repository </td>
842
<td class="paramname"> </td>
843
<td> ) </td>
844
<td width="100%"><code> [inline]</code></td>
851
Return attribute repository.
856
<a class="anchor" name="463f023687c21c741326441f98a399ec"></a><!-- doxytag: member="IpeDocument::Repository" ref="463f023687c21c741326441f98a399ec" args="() const" -->
857
<div class="memitem">
858
<div class="memproto">
859
<table class="memname">
861
<td class="memname">const <a class="el" href="class_ipe_repository.html">IpeRepository</a>* IpeDocument::Repository </td>
863
<td class="paramname"> </td>
864
<td> ) </td>
865
<td width="100%"> const<code> [inline]</code></td>
872
Return attribute repository (const version).
877
<hr>The documentation for this class was generated from the following files:<ul>
878
<li>ipedoc.h<li>ipedoc.cpp</ul>