]> Creatis software - gdcm.git/blobdiff - src/gdcmSQItem.h
STYLE: No DOS file, please
[gdcm.git] / src / gdcmSQItem.h
index 1cfae31f39ec33255ba5eaa25331fb9414958fcc..08cadfdb37d773b61ec4a5f058fafe4222ea744d 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmSQItem.h,v $
   Language:  C++
-  Date:      $Date: 2004/06/22 13:47:33 $
-  Version:   $Revision: 1.10 $
+  Date:      $Date: 2004/09/23 10:47:10 $
+  Version:   $Revision: 1.16 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -33,38 +33,49 @@ class GDCM_EXPORT gdcmSQItem : public gdcmDocEntrySet
 {
 public:
    gdcmSQItem(int);
-   ~gdcmSQItem(void);
+   ~gdcmSQItem();
 
    virtual void Print(std::ostream &os = std::cout); 
    virtual void Write(FILE *fp, FileType filetype);
 
    /// \brief   returns the DocEntry chained List for this SQ Item.
-   inline ListDocEntry &GetDocEntries() {return docEntries;};   
+   ListDocEntry &GetDocEntries() { return docEntries; };
    
    /// \brief   adds the passed DocEntry to the DocEntry chained List for
    /// this SQ Item.      
-   inline void AddDocEntry(gdcmDocEntry *e) {docEntries.push_back(e);};         
+   void AddDocEntry(gdcmDocEntry *e) { docEntries.push_back(e); };
 
    virtual bool AddEntry(gdcmDocEntry *Entry); // add to the List
   
-   gdcmDocEntry *GetDocEntryByNumber(guint16 group, guint16 element);
-   gdcmDocEntry *GetDocEntryByName  (std::string Name);
+   gdcmDocEntry *GetDocEntryByNumber(uint16_t group, uint16_t element);
+   // FIXME method to write
+   //gdcmDocEntry *GetDocEntryByName  (std::string Name);
    
-   bool SetEntryByNumber(std::string val,guint16 group, guint16 element);                   
+   bool SetEntryByNumber(std::string val, uint16_t group, uint16_t element);                   
     
-   virtual std::string GetEntryByNumber(guint16 group, guint16 element);
+   virtual std::string GetEntryByNumber(uint16_t group, uint16_t element);
 
-   inline int GetSQItemNumber()
-      {return SQItemNumber;};
+   /// \brief   returns the ordinal position of a given SQItem
+   int GetSQItemNumber() { return SQItemNumber; };
 
-   inline void SetSQItemNumber(int itemNumber)
-      {SQItemNumber=itemNumber;};     
+   /// \brief   Sets the ordinal position of a given SQItem
+   void SetSQItemNumber(int itemNumber) { SQItemNumber = itemNumber; };
 
-protected:
+   /// Accessor on \ref SQDepthLevel.
+   int GetDepthLevel() { return SQDepthLevel; }
+                                                                                
+   /// Accessor on \ref SQDepthLevel.
+   void SetDepthLevel(int depth) { SQDepthLevel = depth; }
+
+   /// Accessor on \ref BaseTagKey.
+   void           SetBaseTagKey( gdcmBaseTagKey key ) { BaseTagKey = key; }
+
+   /// Accessor on \ref BaseTagKey.
+   gdcmBaseTagKey GetBaseTagKey( ) { return BaseTagKey; }
 
-// DocEntry related utilities 
 
-       
+protected:
+
 // Variables
 
    /// \brief chained list of (Elementary) Doc Entries
@@ -74,11 +85,22 @@ protected:
    int SQItemNumber;
 
    ///\brief pointer to the HTable of the gdcmDocument,
-   ///       (because we don't know it within any gdcmObject nor any gdcmSQItem)
-   TagDocEntryHT *ptagHT;
+   ///       (because we don't know it within any gdcmDicomDirObject nor any gdcmSQItem)
+   TagDocEntryHT *PtagHT;
+
        
 private:
 
+   /// \brief Sequences can be nested. This \ref SQDepthLevel represents
+   ///        the level of the nesting of instances of this class.
+   ///        \ref SQDepthLevel and its \ref gdcmSeqEntry::SQDepthLevel
+   ///        counterpart are only defined on printing purposes
+   ///        (see \ref Print).
+   int SQDepthLevel;
+
+   /// \brief A TagKey of a gdcmDocEntry nested in a sequence is prepended
+   ///        with this BaseTagKey.
+   gdcmBaseTagKey BaseTagKey;
 
 };