namespace tree
{
/**
- * \ingroup Model
+ * \ingroup Tree
*/
//=====================================================================
- /// Descriptor of an attribute of a node of a tree (name, dicom group/element)
+ /// Descriptor of an attribute of a node of a Tree (name, dicom group/element)
class AttributeDescriptor
{
public:
static const unsigned int IDENTIFIER;
/// The attribute enters in label constitution (for printing)
static const unsigned int LABEL;
+ /// The attribute can be edited
+ static const unsigned int EDITABLE;
+
+ /// Types
+ /// The attribute is of numeric type
+ static const int NUMBER=1;
+ /// The attribute is of string type
+ static const int STRING=2;
+ /// The attribute's type is unknown
+ static const int UNKNOWN=0;
/// Default ctor
AttributeDescriptor()
unsigned short GetElement() const { return mElement; }
/// Returns the flags of the attribute
unsigned int GetFlags() const { return mFlags; }
-
+
/// Extracts group and element from a key of the form "Dgroup_elem"
static void GetDicomGroupElementFromKey(const std::string& key,
unsigned short& group,
/// Replace simple quote by double quotes
/// Cut string at NULL chars
void CleanName(std::string& str) const;
+ ///Decodes the type of attribute into the existing ones
+ void DecodeType(unsigned int& type) const;
+
+ /// Determines if Attribute is a date
+ bool isDateEntry() const;
+
+ /// Determines if Attribute is a time
+ bool isTimeEntry() const;
+
private:
std::string mKey;
std::string mName;