DYT/Tool/3rdParty_x64/include/dcmtk/dcmsr/dsrtnant.h

127 lines
3.1 KiB
C
Raw Normal View History

2024-11-22 15:19:31 +00:00
/*
*
* Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
*
* OFFIS e.V.
* R&D Division Health
* Escherweg 2
* D-26121 Oldenburg, Germany
*
*
* Module: dcmsr
*
* Author: Joerg Riesmeier
*
* Purpose:
* classes: DSRTreeNodeAnnotation
*
*/
#ifndef DSRTNANT_H
#define DSRTNANT_H
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#include "dcmtk/dcmsr/dsdefine.h"
#include "dcmtk/dcmsr/dsrtypes.h"
/** Base class for tree node annotations.
* Currently, this class supports textual annotations only.
*/
class DSRTreeNodeAnnotation
{
public:
/** (default) constructor
** @param text optional character string that should be set as the initial value
* of the annotation text
*/
DSRTreeNodeAnnotation(const OFString &text = OFString())
: Text(text)
{
}
/** destructor
*/
virtual ~DSRTreeNodeAnnotation()
{
}
/** conversion operator that returns the currently stored annotation text
*/
operator const OFString &() const
{
return Text;
}
/** comparison operator.
* Two annotations are equal, if the internally stored character strings (text)
* have the same value.
** @param annotation annotation which should be compared to the current one
** @return OFTrue if both annotations are equal, OFFalse otherwise
*/
OFBool operator==(const DSRTreeNodeAnnotation &annotation) const
{
return (Text == annotation.Text);
}
/** comparison operator.
* Two annotations are not equal, if the internally stored character strings
* (text) have different values.
** @param annotation annotation which should be compared to the current one
** @return OFTrue if both annotations are not equal, OFFalse otherwise
*/
OFBool operator!=(const DSRTreeNodeAnnotation &annotation) const
{
return (Text != annotation.Text);
}
/** clear the currently stored annotation text
*/
inline void clear()
{
Text.clear();
}
/** check whether the annotation is empty, i.e.\ whether the internally stored
* character string (text) has an empty value
** @return OFTrue if the annotation is empty, OFFalse otherwise
*/
inline OFBool isEmpty() const
{
return Text.empty();
}
/** get annotation text, i.e.\ the internally stored character string
** @return internally stored character string (text), might be empty
*/
inline const OFString &getText() const
{
return Text;
}
/** set annotation text, i.e.\ the internally stored character string
** @param text character string that should be set as the current value of the
* annotation text. Use an empty string ("") to delete the value.
*/
inline void setText(const OFString &text)
{
Text = text;
}
private:
/// internally stored character strings (text)
OFString Text;
};
#endif