00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
#ifndef __DVPSGAL_H__
00035
#define __DVPSGAL_H__
00036
00037
#include "osconfig.h"
00038
#include "oflist.h"
00039
#include "dctk.h"
00040
#include "dvpstyp.h"
00041
00042
class DVPSGraphicAnnotation;
00043
class DVPSTextObject;
00044
class DVPSGraphicObject;
00045
00051 class DVPSGraphicAnnotation_PList
00052 {
00053
public:
00055
DVPSGraphicAnnotation_PList();
00056
00058
DVPSGraphicAnnotation_PList(
const DVPSGraphicAnnotation_PList& copy);
00059
00064 DVPSGraphicAnnotation_PList *
clone() {
return new DVPSGraphicAnnotation_PList(*
this); }
00065
00067
virtual ~DVPSGraphicAnnotation_PList();
00068
00078
OFCondition read(
DcmItem &dset);
00079
00086
OFCondition write(
DcmItem &dset);
00087
00092
void clear();
00093
00101
void renameLayer(
const char *oldName,
const char *newName);
00102
00107
void removeLayer(
const char *name);
00108
00112
void cleanupLayers();
00113
00119 OFBool
usesLayerName(
const char *name);
00120
00128 size_t
getNumberOfTextObjects(
const char *layer,
const char *instanceUID,
unsigned long frame);
00129
00139
DVPSTextObject *
getTextObject(
const char *layer,
const char *instanceUID,
unsigned long frame, size_t idx);
00140
00156
DVPSTextObject *
addTextObject(
00157
const char *layer,
00158
const char *sopclassUID,
00159
const char *instanceUID,
00160
unsigned long frame,
00161 DVPSObjectApplicability applicability,
00162
DVPSTextObject *text=NULL);
00163
00172
OFCondition removeTextObject(
const char *layer,
const char *instanceUID,
unsigned long frame, size_t idx);
00173
00185
OFCondition moveTextObject(
00186
const char *old_layer,
00187
const char *sopclassUID,
00188
const char *instanceUID,
00189
unsigned long frame,
00190 size_t idx,
00191 DVPSObjectApplicability applicability,
00192
const char *new_layer);
00193
00201 size_t
getNumberOfGraphicObjects(
const char *layer,
const char *instanceUID,
unsigned long frame);
00202
00212
DVPSGraphicObject *
getGraphicObject(
const char *layer,
const char *instanceUID,
unsigned long frame, size_t idx);
00213
00228
DVPSGraphicObject *
addGraphicObject(
00229
const char *layer,
00230
const char *sopclassUID,
00231
const char *instanceUID,
00232
unsigned long frame,
00233 DVPSObjectApplicability applicability,
00234
DVPSGraphicObject *graphic=NULL);
00235
00244
OFCondition removeGraphicObject(
const char *layer,
const char *instanceUID,
unsigned long frame, size_t idx);
00245
00257
OFCondition moveGraphicObject(
00258
const char *old_layer,
00259
const char *sopclassUID,
00260
const char *instanceUID,
00261
unsigned long frame,
00262 size_t idx,
00263 DVPSObjectApplicability applicability,
00264
const char *new_layer);
00265
00271
void setLog(
OFConsole *stream, OFBool verbMode, OFBool dbgMode);
00272
00273
private:
00274
00276
DVPSGraphicAnnotation_PList&
operator=(
const DVPSGraphicAnnotation_PList&);
00277
00280 OFList<DVPSGraphicAnnotation *> list_;
00281
00284 OFConsole *
logstream;
00285
00288 OFBool
verboseMode;
00289
00292 OFBool
debugMode;
00293
00294 };
00295
00296
#endif
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306
00307
00308
00309
00310
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327