2 //-----------------------------------------------------------------------------
8 #include "gdcmDocEntry.h"
9 #include "gdcmDocEntrySet.h"
10 #include "gdcmDocument.h"
11 //-----------------------------------------------------------------------------
12 typedef std::list<gdcmDocEntry *> ListDocEntry;
13 //-----------------------------------------------------------------------------
14 class GDCM_EXPORT gdcmSQItem : public gdcmDocEntrySet
20 virtual void Print(std::ostream &os = std::cout);
22 /// \brief returns the DocEntry chained List for this SQ Item.
23 inline ListDocEntry &GetDocEntries()
26 /// \brief adds the passed DocEntry to the DocEntry chained List for this SQ Item.
27 inline void AddDocEntry(gdcmDocEntry *e)
28 {docEntries.push_back(e);};
30 virtual bool AddEntry(gdcmDocEntry *Entry); // add to the List
32 gdcmDocEntry *GetDocEntryByNumber(guint16 group,
34 gdcmDocEntry *GetDocEntryByName (std::string Name);
36 bool SetEntryByNumber(std::string val,guint16 group,
39 std::string GetEntryByNumber(guint16 group, guint16 element);
40 std::string GetEntryByName(TagName name);
42 inline int GetSQItemNumber()
43 { return SQItemNumber;};
45 inline void SetSQItemNumber(int itemNumber)
46 { SQItemNumber=itemNumber;};
49 // DocEntry related utilities
51 virtual gdcmDocEntry *NewDocEntryByNumber(guint16 group,
52 guint16 element); // TODO
53 virtual gdcmDocEntry *NewDocEntryByName (std::string Name); //TODO
57 /// \brief chained list of (Elementary) Doc Entries
58 ListDocEntry docEntries;
60 /// \brief SQ Item ordinal number
64 ///\brief pointer to the HTable of the gdcmDocument,
65 /// (because we don't know it within any gdcmObject nor any gdcmSQItem)
66 TagDocEntryHT *ptagHT;
74 //-----------------------------------------------------------------------------