2 //-----------------------------------------------------------------------------
4 #include "gdcmSeqEntry.h"
5 #include "gdcmSQItem.h"
7 #include "gdcmGlobal.h"
12 //-----------------------------------------------------------------------------
13 // Constructor / Destructor
15 * \ingroup gdcmSeqEntry
16 * \brief Constructor from a given gdcmSeqEntry
18 gdcmSeqEntry::gdcmSeqEntry(gdcmDictEntry* e, int depth)
21 delimitor_mode = false;
27 * \ingroup gdcmSeqEntry
28 * \brief Canonical destructor.
30 gdcmSeqEntry::~gdcmSeqEntry() {
31 for(ListSQItem::iterator cc = items.begin();cc != items.end();++cc)
39 //-----------------------------------------------------------------------------
42 * \ingroup gdcmSeqEntry
43 * \brief canonical Printer
45 void gdcmSeqEntry::Print(std::ostream &os){
47 std::ostringstream s,s2;
49 unsigned short int g, e;
52 char greltag[10]; //group element tag
55 // First, Print the Dicom Element itself.
61 // Then, Print each SQ Item
62 for(ListSQItem::iterator cc = items.begin();cc != items.end();++cc)
65 std::cout << "SQItemNumber " << (*cc)->GetSQItemNumber() << std::endl;
69 // at end, print the sequence terminator item, if any
72 s2 << " | " ; // FIXME : cout the right number of | !
74 if (seq_term != NULL) {
79 << " -------------- should have a sequence terminator item"
84 //-----------------------------------------------------------------------------
87 /// \brief adds the passed ITEM to the ITEM chained List for this SeQuence.
88 void gdcmSeqEntry::AddEntry(gdcmSQItem *sqItem, int itemNumber) {
89 sqItem->SetSQItemNumber(itemNumber);
90 items.push_back(sqItem);
93 /// \brief Sets the depth level of a Sequence Entry embedded in a SeQuence
94 void gdcmSeqEntry::SetDepthLevel(int depth) {
98 //-----------------------------------------------------------------------------
102 //-----------------------------------------------------------------------------
105 // end-user intended : the guy *wants* to create his own SeQuence ?!?
107 /// \brief to be written, if really usefull
108 gdcmDocEntry *gdcmSeqEntry::NewDocEntryByNumber(guint16 group,
111 std::cout << "TODO : gdcmSeqEntry::NewDocEntryByNumber " << std::endl;
116 /// \brief to be written, if really usefull
117 gdcmDocEntry *gdcmSeqEntry::NewDocEntryByName (std::string Name) {
119 std::cout << "TODO : gdcmSeqEntry::NewDocEntryByName " << std::endl;
124 /// \brief to be written, if really usefull
125 gdcmDocEntry *gdcmSeqEntry::GetDocEntryByNumber(guint16 group,
128 std::cout << "TODO : gdcmSeqEntry::GetDocEntryByNumber " << std::endl;
132 //-----------------------------------------------------------------------------