00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef DSRCONTN_H
00032 #define DSRCONTN_H
00033
00034 #include "dcmtk/config/osconfig.h"
00035
00036 #include "dcmtk/dcmsr/dsrdoctr.h"
00037
00038
00039
00040
00041
00042
00045 class DSRContainerTreeNode
00046 : public DSRDocumentTreeNode
00047 {
00048
00049 public:
00050
00057 DSRContainerTreeNode(const E_RelationshipType relationshipType,
00058 const E_ContinuityOfContent continuityOfContent = COC_Separate);
00059
00062 virtual ~DSRContainerTreeNode();
00063
00067 virtual void clear();
00068
00074 virtual OFBool isValid() const;
00075
00081 virtual OFBool isShort(const size_t flags) const;
00082
00090 virtual OFCondition print(STD_NAMESPACE ostream &stream,
00091 const size_t flags) const;
00092
00098 virtual OFCondition writeXML(STD_NAMESPACE ostream &stream,
00099 const size_t flags) const;
00100
00114 virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream,
00115 STD_NAMESPACE ostream &annexStream,
00116 const size_t nestingLevel,
00117 size_t &annexNumber,
00118 const size_t flags) const;
00119
00125 inline E_ContinuityOfContent getContinuityOfContent() const
00126 {
00127 return ContinuityOfContent;
00128 }
00129
00136 OFCondition setContinuityOfContent(const E_ContinuityOfContent continuityOfContent);
00137
00138
00139 protected:
00140
00145 virtual OFCondition readContentItem(DcmItem &dataset);
00146
00151 virtual OFCondition writeContentItem(DcmItem &dataset) const;
00152
00158 virtual OFCondition readXMLContentItem(const DSRXMLDocument &doc,
00159 DSRXMLCursor cursor);
00160
00170 virtual OFCondition renderHTMLContentItem(STD_NAMESPACE ostream &docStream,
00171 STD_NAMESPACE ostream &annexStream,
00172 const size_t nestingLevel,
00173 size_t &annexNumber,
00174 const size_t flags) const;
00175
00176
00177 private:
00178
00180 E_ContinuityOfContent ContinuityOfContent;
00181
00182
00183
00184
00185 DSRContainerTreeNode();
00186 DSRContainerTreeNode(const DSRContainerTreeNode &);
00187 DSRContainerTreeNode &operator=(const DSRContainerTreeNode &);
00188 };
00189
00190
00191 #endif
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244
00245
00246
00247