Slicer  5.1
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
vtkTagTable.h
Go to the documentation of this file.
1 #ifndef __vtkTagTable_h
2 #define __vtkTagTable_h
3 
4 // MRML includes
5 #include "vtkMRML.h"
6 
7 // VTK includes
8 #include <vtkObject.h>
9 
10 // STD includes
11 #include <string>
12 #include <map>
13 
14 class VTK_MRML_EXPORT vtkTagTable : public vtkObject
15 {
16  public:
18  static vtkTagTable *New();
19  vtkTypeMacro(vtkTagTable, vtkObject);
20  void PrintSelf(ostream& os, vtkIndent indent) override;
21 
24  vtkGetStringMacro ( Name );
25  vtkSetStringMacro ( Name );
26 
27  vtkGetMacro ( RestoreSelectionState, int);
28  vtkSetMacro ( RestoreSelectionState, int);
29 
33  virtual void Initialize() { };
34 
37  virtual void AddOrUpdateTag ( const char *attribute, const char *value );
40  virtual void AddOrUpdateTag ( const char *attribute, const char *value, int selected );
43  virtual void AddUniqueTag ( const char *attribute, const char *value );
46  virtual int UpdateTag ( const char *attribute, const char *value );
47  virtual int UpdateTag ( const char *attribute, const char *value, int selected );
48 
51  virtual const char *GetTagAttribute ( int index);
52 
55  virtual const char *GetTagValue ( int index );
56 
59  virtual const char *GetTagValue ( const char* attribute);
60 
64  virtual int CheckTableForTag ( const char *attribute, const char *value );
65 
68  virtual int CheckTableForTag ( const char *attribute );
69 
70  virtual void SelectTag ( const char *attribute );
71  virtual void DeselectTag ( const char *attribute );
72  virtual int IsTagSelected ( const char *attribute );
73 
74 
77  virtual void DeleteTag ( const char *attribute );
78 
81  virtual void ClearTagTable ( );
82 
85  virtual int GetNumberOfTags ( );
86 
88  virtual void Copy( vtkTagTable *t);
89 
91  std::map<std::string, std::string> TagTable;
93  std::map<std::string, int > TagSelectionTable;
94 
95  private:
96  char *Name;
97  int RestoreSelectionState;
98 
99  protected:
100  vtkTagTable();
101  ~vtkTagTable() override;
102  vtkTagTable(const vtkTagTable&);
103  void operator=(const vtkTagTable&);
104 
105 };
106 
107 #endif
virtual void Initialize()
Definition: vtkTagTable.h:33
std::map< std::string, int > TagSelectionTable
describes whether each attribute is selected or not.
Definition: vtkTagTable.h:93
std::map< std::string, std::string > TagTable
describes attribute value pairs
Definition: vtkTagTable.h:91