[med-svn] r2919 - in trunk/packages/dicomscope/trunk/debian: . patches
malat-guest at alioth.debian.org
malat-guest at alioth.debian.org
Wed Jan 7 17:27:31 UTC 2009
Author: malat-guest
Date: 2009-01-07 17:27:31 +0000 (Wed, 07 Jan 2009)
New Revision: 2919
Added:
trunk/packages/dicomscope/trunk/debian/patches/DVPresentationState.patch
trunk/packages/dicomscope/trunk/debian/patches/dsgui_351_360_changes.patch
Modified:
trunk/packages/dicomscope/trunk/debian/get-orig-source
trunk/packages/dicomscope/trunk/debian/patches/cmakelists.txt.patch
trunk/packages/dicomscope/trunk/debian/patches/series
trunk/packages/dicomscope/trunk/debian/rules
Log:
Update dicomscope to 3.6.0 version
Modified: trunk/packages/dicomscope/trunk/debian/get-orig-source
===================================================================
--- trunk/packages/dicomscope/trunk/debian/get-orig-source 2009-01-07 12:08:28 UTC (rev 2918)
+++ trunk/packages/dicomscope/trunk/debian/get-orig-source 2009-01-07 17:27:31 UTC (rev 2919)
@@ -26,6 +26,10 @@
mv "$UPSTREAMDIR" "$DISTDIR"
# How do I make tofrodos package compulsary ?
find "$DISTDIR" -name *.java -exec dos2unix {} \;
+find "$DISTDIR" -name *.html -exec dos2unix {} \;
+find "$DISTDIR" -name *.h -exec dos2unix {} \;
+find "$DISTDIR" -name *.cpp -exec dos2unix {} \;
+find "$DISTDIR" -name *.txt -exec dos2unix {} \;
GZIP=-9 tar -czf "$NAME"_"$VERSION".orig.tar.gz "$DISTDIR"
Added: trunk/packages/dicomscope/trunk/debian/patches/DVPresentationState.patch
===================================================================
--- trunk/packages/dicomscope/trunk/debian/patches/DVPresentationState.patch (rev 0)
+++ trunk/packages/dicomscope/trunk/debian/patches/DVPresentationState.patch 2009-01-07 17:27:31 UTC (rev 2919)
@@ -0,0 +1,22 @@
+fix comp
+
+--- dsgui351/interface/libsrc/DVPresentationState.cpp 2009-01-07 17:53:32.279185000 +0100
++++ dsgui360/interface/libsrc/DVPresentationState.cpp 2009-01-07 17:53:07.074405000 +0100
+@@ -979,7 +979,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- long tx, ty, bx, by;
++ Sint32 tx, ty, bx, by;
+
+ OFCondition res = ps->getStandardDisplayedArea (tx, ty, bx, by);
+
+@@ -1014,7 +1014,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- long tx, ty, bx, by;
++ Sint32 tx, ty, bx, by;
+
+ OFCondition res = ps->getImageRelativeDisplayedArea (tx, ty, bx, by);
+
Property changes on: trunk/packages/dicomscope/trunk/debian/patches/DVPresentationState.patch
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Modified: trunk/packages/dicomscope/trunk/debian/patches/cmakelists.txt.patch
===================================================================
--- trunk/packages/dicomscope/trunk/debian/patches/cmakelists.txt.patch 2009-01-07 12:08:28 UTC (rev 2918)
+++ trunk/packages/dicomscope/trunk/debian/patches/cmakelists.txt.patch 2009-01-07 17:27:31 UTC (rev 2919)
@@ -30,7 +30,7 @@
+SUBDIRS(tkgui)
--- /tmp/dicomscope/dsgui351/interface/libsrc/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100
+++ dsgui351/interface/libsrc/CMakeLists.txt 2008-12-23 16:10:17.385621000 +0100
-@@ -0,0 +1,55 @@
+@@ -0,0 +1,60 @@
+SET(dsgui_SRCS
+DSRCodeValue.cpp
+DSRCompositeValue.cpp
@@ -62,6 +62,11 @@
+ ${DCMTK_DIR}/dcmpstat/include
+ ${DCMTK_DIR}/include/dcmpstat
+)
++# /usr/include/dcmtk/dcmjpeg/djdecode.h
++FIND_PATH( DCMTK_dcmjpeg_INCLUDE_DIR djdecode.h
++ ${DCMTK_DIR}/dcmjpeg/include
++ ${DCMTK_DIR}/include/dcmjpeg
++)
+# /usr/include/dcmtk/dcmsr/dsrdoc.h
+FIND_PATH( DCMTK_dcmsr_INCLUDE_DIR dsrdoc.h
+ ${DCMTK_DIR}/dcmsr/include
@@ -72,7 +77,7 @@
+INCLUDE_DIRECTORIES(
+ ${DCMTK_INCLUDE_DIR}
+ ${DCMTK_dcmpstat_INCLUDE_DIR}
-+ ${DCMTK_dcmsr_INCLUDE_DIR}
++ ${DCMTK_dcmsr_INCLUDE_DIR} ${DCMTK_dcmjpeg_INCLUDE_DIR}
+)
+
+ADD_DEFINITIONS(-DHAVE_CONFIG_H -DNDEBUG -DHAVE_STRSTREAM_H)
@@ -99,7 +104,7 @@
+
+ADD_CUSTOM_COMMAND(
+ OUTPUT ${DICOMSCOPE_SOURCE_DIR}/DICOMscope/DICOMscope.class
-+ COMMAND ${JAVA_COMPILE} ARGS -d ../DICOMscope -classpath . DICOMscope.java
++ COMMAND ${JAVA_COMPILE} ARGS -d ../DICOMscope -classpath . dicomscope/DICOMscope.java
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ DEPENDS ${javafiles}
+ COMMENT "javac *.java"
@@ -107,7 +112,7 @@
+
+ADD_CUSTOM_COMMAND(
+ OUTPUT ${LIBRARY_OUTPUT_PATH}/DICOMscope.jar
-+ COMMAND ${JAVA_ARCHIVE} ARGS cfm ${LIBRARY_OUTPUT_PATH}/DICOMscope.jar ${DICOMSCOPE_SOURCE_DIR}/tkgui/Manifest.txt ./
++ COMMAND ${JAVA_ARCHIVE} ARGS cfm ${LIBRARY_OUTPUT_PATH}/DICOMscope.jar ${DICOMSCOPE_SOURCE_DIR}/MANIFEST.MF ./
+ # manifest thingy
+ #COMMAND ${JAVA_ARCHIVE} ARGS i ${LIBRARY_OUTPUT_PATH}/DICOMscope.jar
+ WORKING_DIRECTORY ${DICOMSCOPE_SOURCE_DIR}/DICOMscope
Added: trunk/packages/dicomscope/trunk/debian/patches/dsgui_351_360_changes.patch
===================================================================
--- trunk/packages/dicomscope/trunk/debian/patches/dsgui_351_360_changes.patch (rev 0)
+++ trunk/packages/dicomscope/trunk/debian/patches/dsgui_351_360_changes.patch 2009-01-07 17:27:31 UTC (rev 2919)
@@ -0,0 +1,9219 @@
+The following patch is the actual diff in between dsgui351 and dsgui360.
+Great big thanks to Joerg Riesmeier from OFFIS DICOM Team for providing it.
+
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/DICOMscope/dcmpsdmp.tcl dsgui360/DICOMscope/dcmpsdmp.tcl
+--- dsgui351/DICOMscope/dcmpsdmp.tcl 2001-03-28 11:10:06.000000000 +0200
++++ dsgui360/DICOMscope/dcmpsdmp.tcl 2003-10-07 18:33:58.000000000 +0200
+@@ -36,7 +36,7 @@
+ set sp1 [string first ")" $s]
+ $w insert end [string range $s 0 $sp1] tag_tag
+ set sp1 [expr int ($sp1 + 1)]
+- set sp2 [expr int ($sp1 + 6)]
++ set sp2 [expr int ($sp1 + 3)]
+ $w insert end [string range $s $sp1 $sp2] tag_vr
+ set sp3 [string last "#" $s]
+ set sp1 [expr int ($sp2 + 1)]
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/DICOMscope/DICOMscope.cfg dsgui360/DICOMscope/DICOMscope.cfg
+--- dsgui351/DICOMscope/DICOMscope.cfg 2001-06-21 10:29:34.000000000 +0200
++++ dsgui360/DICOMscope/DICOMscope.cfg 2003-12-18 11:51:46.000000000 +0100
+@@ -1,5 +1,5 @@
+ #
+-# Copyright (C) 1998-2001, OFFIS
++# Copyright (C) 1998-2003, OFFIS
+ #
+ # This software and supporting documentation were developed by
+ #
+@@ -21,9 +21,9 @@
+ # Purpose: Sample configuration file for DCMTK "dcmpstat" tools and the
+ # DICOMscope application
+ #
+-# Last Update: $Author: joergr $
+-# Update Date: $Date: 2001/02/23 13:32:09 $
+-# CVS/RCS Revision: $Revision: 1.42 $
++# Last Update: $Author: meichel $
++# Update Date: $Date: 2003/09/05 16:30:17 $
++# CVS/RCS Revision: $Revision: 1.48 $
+ # Status: $State: Exp $
+ #
+
+@@ -254,7 +254,7 @@
+ # Path to the DICOM query/retrieve server (Q/R SCP) to be used.
+ # The configuration filename is created from this entry by adding the file
+ # extension ".cfg".
+-#Server = imagectn
++Server = imagectn
+
+ # IP Port number on which the server listens for new connections.
+ # On Unix platforms, the receiver must be started with setuid root
+@@ -275,6 +275,10 @@
+ # the fork() command which is used for this purpose.
+ MaxAssociations = 16
+
++# Timeout (in seconds) for outgoing connection requests, must be larger
++# than zero. Optional setting, default is Unlimited (wait for TCP/IP timeout).
++# Timeout = 5
++
+ # ----------------------------------------------------------------------------
+ # This section contains the settings for the graphical user interface (GUI).
+ [GUI]
+@@ -296,27 +300,27 @@
+ #Default: If HighResolutionGraphics, the default is 0\0\0 otherwise 255\255\255
+ #BackgroundColor = 255\255\255
+
+-# Sets the size of the fonts used in all GUI components.
++# Sets the size of the fonts used in all GUI components
+ # Default: If HighResolutionGraphics, the default is 30 otherwise 12
+ #FontSize = 30
+
+-# Sets the name of the fonts uesed in all GUI components.
++# Sets the name of the fonts uesed in all GUI components
+ # Default value: SansSerif
+ #FontName = SansSerif
+
+-# Sets the size of the fonts used for textual annotations.
++# Sets the size of the fonts used for textual annotations
+ # Default: If HighResolutionGraphics, the default is 48 otherwise 16
+ #FontSizeText = 16
+
+-# Sets the name of the fonts used for textual annotations.
++# Sets the name of the fonts used for textual annotations
+ # Default value: SansSerif
+ #FontNameText = SansSerif
+
+-# Sets the size of the font used for the process log.
++# Sets the size of the fonts used for the process log
+ # Default: If HighResolutionGraphics, the default is 30 otherwise 12
+ #FontSizeLog = 30
+
+-# Sets the name of the font used for the process log.
++# Sets the name of the fonts uesed for the process log
+ # Default value: Monospaced
+ #FontNameLog = Monospaced
+
+@@ -442,20 +446,10 @@
+ #
+ # ----------------------------------------------------------------------------
+ #
+-# ============================================================================
+-# The next nine settings described below are only used with entries of type
+-# STORAGE and RECEIVER and have no meaning for PRINTER or LOCALPRINTER.
+-# ============================================================================
++# Timeout (in seconds) for outgoing connection requests, must be larger
++# than zero. Optional setting, default is Unlimited (wait for TCP/IP timeout).
+ #
+-# Receive data in "bit preserving mode". In this mode, data is stored
+-# to file directly as read from network. Transfer syntax in file is
+-# identical to transfer syntax used for network transmission.
+-# If this mode is switched off (default), images are converted to explicit VR
+-# Little Endian format before storing in file, which makes it easier
+-# to burn images on CD-R in "General Purpose Image Exchange Profile" format.
+-# Optional entry, default is: false
+-#
+-# BitPreservingMode = false
++# Timeout = 5
+ #
+ # ----------------------------------------------------------------------------
+ #
+@@ -471,12 +465,12 @@
+ # The file should be located in the directory specified by
+ # GENERAL/TLS/TLSDIRECTORY.
+ #
+-# Store SCP usage: The TLS protocol requires that a TLS server
++# SCP usage: The TLS protocol requires that a TLS server
+ # must have a certificate. Therefore, this parameter is mandatory.
+ # If absent, the certificate file is loaded from "sitecert.pem" in the
+ # TLS directory.
+ #
+-# Store SCU usage: For a TLS client the certificate is optional.
++# SCU usage: For a TLS client the certificate is optional.
+ # Therefore, this setting is optional for Store SCUs. If absent, no
+ # TLS authentication is performed for the client. Warning: Anonymous TLS
+ # may be susceptible to man-in-the-middle attacks.
+@@ -489,12 +483,12 @@
+ # to be used for TLS authentication. The file should be located in the
+ # directory specified by GENERAL/TLS/TLSDIRECTORY.
+ #
+-# Store SCP usage: The TLS protocol requires that a TLS server
++# SCP usage: The TLS protocol requires that a TLS server
+ # must have a certificate. Therefore, this parameter is mandatory.
+ # If absent, the certificate file is loaded from "sitekey.pem" in the
+ # TLS directory.
+ #
+-# Store SCU usage: For a TLS client the certificate is optional.
++# SCU usage: For a TLS client the certificate is optional.
+ # Therefore, this setting is optional for Store SCUs. If absent, no
+ # TLS authentication is performed for the client. Warning: Anonymous TLS
+ # may be susceptible to man-in-the-middle attacks.
+@@ -569,8 +563,30 @@
+ #
+ # RandomSeed = random.dat
+ #
++#
++# ============================================================================
++# The next two settings described below are only used with entries of type
++# STORAGE and RECEIVER and have no meaning for PRINTER or LOCALPRINTER.
++# ============================================================================
++#
++# Receive data in "bit preserving mode". In this mode, data is stored
++# to file directly as read from network. Transfer syntax in file is
++# identical to transfer syntax used for network transmission.
++# If this mode is switched off (default), images are converted to explicit VR
++# Little Endian format before storing in file, which makes it easier
++# to burn images on CD-R in "General Purpose Image Exchange Profile" format.
++# Optional entry, default is: false
++#
++# BitPreservingMode = false
++#
+ # ----------------------------------------------------------------------------
+ #
++# Silently ignore space padded SOP Class and SOP Instance UIDs in incoming
++# images. Optional setting, default is: false.
++#
++# CorrectUIDPadding = false
++#
++#
+ # ============================================================================
+ # The remaining settings described below are only used with entries of type
+ # PRINTER and LOCALPRINTER and have no meaning for STORAGE or RECEIVER.
+@@ -996,15 +1012,56 @@
+ Certificate = sitecert.pem
+ PrivateKey = sitekey.pem
+
++# ----------------------------------------------------------------------------
++# Print SCP that supports most options of the DICOM Print protocol and
++# the IHE technical framework requirements for Print Server actors:
++# - supports Presentation LUT and 12-bit image transmission
++# - layouts: 1x1, 1x2, 2x2, 2x3, 3x3, 3x4, 3x5, 4x4, 4x5
++# - supports typical defined terms for empty image density, film
++# destination, film size ID, magnification type, medium type, resolution
++# ID, requested decimate/crop behaviour, image size and trim.
++# ----------------------------------------------------------------------------
++
++[IHEFULL]
++Aetitle = IHEFULL
++Description = IHE Full Print SCP
++Hostname = localhost
++Port = 10005
++Type = LOCALPRINTER
++
++BorderDensity = 150\20\BLACK\WHITE
++DisableNewVRs = false
++DisplayFormat=1,1\1,2\2,2\2,3\3,3\3,4\3,5\4,4\4,5
++EmptyImageDensity = 20\BLACK\WHITE
++FilmDestination = MAGAZINE\PROCESSOR\BIN_1\BIN_2
++FilmSizeID = 8INX10IN\10INX12IN\10INX14IN\11INX14IN\14INX14IN\14INX17IN\24CMX24CM\24CMX30CM
++ImplicitOnly = false
++MagnificationType = REPLICATE\BILINEAR\CUBIC\NONE
++MaxDensity = 320
++MaxPDU = 32768
++MediumType = PAPER\CLEAR FILM\BLUE FILM
++MinDensity = 20
++OmitSOPClassUIDFromCreateResponse = false
++PresentationLUTMatchRequired = false
++PresentationLUTinFilmSession = false
++ResolutionID = STANDARD\HIGH
++SmoothingType = NONE
++Supports12Bit = true
++SupportsDecimateCrop = true
++SupportsImageSize = true
++SupportsPresentationLUT = true
++SupportsTrim = true
+
+ # ----------------------------------------------------------------------------
+-# this is a Print SCP running on the same machine as DICOMscope, accepting
+-# associations on port 10006.
++# Print SCP that only supports the absolute minimum that is required by
++# the IHE technical framework for Print Server actors:
++# - supports Presentation LUT and 12-bit image transmission
++# - supports STANDARD\1,1 layout only
+ # ----------------------------------------------------------------------------
+
+-[PRINTSCP]
+-Aetitle = PRINTSCP
+-Description = IHE Print SCP
++[IHERESTRICTED]
++Aetitle = IHERESTRICTED
++Description = IHE Restricted Print SCP
+ Hostname = localhost
+ Port = 10006
+ Type = LOCALPRINTER
+@@ -1019,11 +1077,101 @@
+ MediumType = STOREDPRINT
+ OmitSOPClassUIDFromCreateResponse = true
+ PresentationLUTMatchRequired = true
+-PresentationLUTPreferSCPRendering = true
+ PresentationLUTinFilmSession = false
+ Supports12Bit = true
+ SupportsPresentationLUT = true
+
++
++# ----------------------------------------------------------------------------
++# Print SCP that supports most options of the DICOM Print protocol and
++# the IHE technical framework requirements for Print Server actors:
++# - supports Presentation LUT and 12-bit image transmission
++# - layouts: 1x1, 1x2, 2x2, 2x3, 3x3, 3x4, 3x5, 4x4, 4x5
++# - supports typical defined terms for empty image density, film
++# destination, film size ID, magnification type, medium type, resolution
++# ID, requested decimate/crop behaviour, image size and trim.
++# This Print SCP communicates over TLS and requires peer authentication.
++# ----------------------------------------------------------------------------
++
++[IHEFULL_TLS]
++Aetitle = IHEFULL_TLS
++Description = IHE Full Print SCP
++Hostname = localhost
++# in the IHE Year 2 MESA release, this printer listened on port 10005
++Port = 10012
++Type = LOCALPRINTER
++
++BorderDensity = 150\20\BLACK\WHITE
++DisableNewVRs = false
++DisplayFormat=1,1\1,2\2,2\2,3\3,3\3,4\3,5\4,4\4,5
++EmptyImageDensity = 20\BLACK\WHITE
++FilmDestination = MAGAZINE\PROCESSOR\BIN_1\BIN_2
++FilmSizeID = 8INX10IN\10INX12IN\10INX14IN\11INX14IN\14INX14IN\14INX17IN\24CMX24CM\24CMX30CM
++ImplicitOnly = false
++MagnificationType = REPLICATE\BILINEAR\CUBIC\NONE
++MaxDensity = 320
++MaxPDU = 32768
++MediumType = PAPER\CLEAR FILM\BLUE FILM
++MinDensity = 20
++OmitSOPClassUIDFromCreateResponse = false
++PresentationLUTMatchRequired = false
++PresentationLUTinFilmSession = false
++ResolutionID = STANDARD\HIGH
++SmoothingType = NONE
++Supports12Bit = true
++SupportsDecimateCrop = true
++SupportsImageSize = true
++SupportsPresentationLUT = true
++SupportsTrim = true
++
++# TLS settings
++UseTLS = true
++CipherSuites = TLS_RSA_WITH_3DES_EDE_CBC_SHA\TLS_RSA_WITH_NULL_SHA
++RandomSeed = iheprt1.rnd
++PeerAuthentication = REQUIRE
++Certificate = sitecert.pem
++PrivateKey = sitekey.pem
++
++
++# ----------------------------------------------------------------------------
++# Print SCP that only supports the absolute minimum that is required by
++# the IHE technical framework for Print Server actors:
++# - supports Presentation LUT and 12-bit image transmission
++# - supports STANDARD\1,1 layout only
++# This Print SCP communicates over TLS and requires peer authentication.
++# ----------------------------------------------------------------------------
++
++[IHERESTRICT_TLS]
++Aetitle = IHERESTRICT_TLS
++Description = IHE Restricted Print SCP
++Hostname = localhost
++Port = 10013
++Type = LOCALPRINTER
++
++DisableNewVRs = true
++DisplayFormat=1,1
++FilmDestination = STOREDPRINT
++FilmSizeID = 8INX10IN\11INX14IN\14INX17IN
++ImplicitOnly = true
++MagnificationType = REPLICATE\BILINEAR\CUBIC\NONE
++MaxDensity = 320
++MaxPDU = 16384
++MediumType = STOREDPRINT
++OmitSOPClassUIDFromCreateResponse = true
++PresentationLUTMatchRequired = true
++PresentationLUTinFilmSession = false
++Supports12Bit = true
++SupportsPresentationLUT = true
++
++# TLS settings
++UseTLS = true
++CipherSuites = TLS_RSA_WITH_3DES_EDE_CBC_SHA\TLS_RSA_WITH_NULL_SHA
++RandomSeed = iheprt2.rnd
++PeerAuthentication = REQUIRE
++Certificate = sitecert.pem
++PrivateKey = sitekey.pem
++
++
+ # ============================================================================
+ # Logins and Certificates for Digital Signature purposes
+ # are defined in the following section.
+@@ -1112,9 +1260,9 @@
+ Name = Default User
+ DicomName = User^Default^^^
+ Organization = Kuratorium OFFIS e.V.
+-Code = 99_OFFIS_DCMTK\\USR.000001\DICOMscope 3.5 Default User
+-Certificate = dsuscert.pem
+-PrivateKey = dsuskey.pem
++Code = 99_OFFIS_DCMTK\\USR.000001\DICOMscope 3.6.0 Default User
++Certificate = usercert.pem
++PrivateKey = userkey.pem
+
+ # ============================================================================
+ # Print Presentation LUT files are defined in the following section.
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/DICOMscope/icons/about.html dsgui360/DICOMscope/icons/about.html
+--- dsgui351/DICOMscope/icons/about.html 2009-01-07 17:53:29.208297000 +0100
++++ dsgui360/DICOMscope/icons/about.html 2009-01-07 17:53:10.040397000 +0100
+@@ -54,7 +54,7 @@
+ Institute for Microtherapy<br>
+ Universitaetsstr. 142<br>
+ D-44799 Bochum; Germany<br>
+- <a href="http://www.microtherapy.de/go/cs/">http://www.microtherapy.de/go/cs/</a><br>
++ <a href="http://www.microtherapy.de/">http://www.microtherapy.de/</a><br>
+ - Graphical User Interface -<br>
+ </td>
+ </tr>
+@@ -63,8 +63,7 @@
+ <b>Feel free and have a look at our web pages:</b>
+
+ <br>
+- <a href="http://www.microtherapy.de/go/dicomscope/">http://www.microtherapy.de/go/dicomscope/</a>
+- and <a href="http://www.offis.de/projekte/dicom/">http://www.offis.de/projekte/dicom/</a>
++ <a href="http://dicom.offis.de/dscope">http://dicom.offis.de/dscope</a>
+
+ </td>
+
+Binary files dsgui351/DICOMscope/tls/iheprt1.rnd and dsgui360/DICOMscope/tls/iheprt1.rnd differ
+Binary files dsgui351/DICOMscope/tls/iheprt2.rnd and dsgui360/DICOMscope/tls/iheprt2.rnd differ
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/DICOMscope/tls/sitecert.pem dsgui360/DICOMscope/tls/sitecert.pem
+--- dsgui351/DICOMscope/tls/sitecert.pem 2001-06-01 18:47:40.000000000 +0200
++++ dsgui360/DICOMscope/tls/sitecert.pem 2003-12-18 12:19:52.000000000 +0100
+@@ -1,35 +1,26 @@
+ Certificate:
+ Data:
+ Version: 3 (0x2)
+- Serial Number: 1 (0x1)
++ Serial Number: 8 (0x8)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=DE, ST=Niedersachsen, L=Oldenburg, O=OFFIS, OU=Healthcare Information and Communication Systems, CN=DCMTK Certification Authority/Email=dicom at offis.de
+ Validity
+- Not Before: Jun 1 16:29:40 2001 GMT
+- Not After : Jun 1 16:29:40 2003 GMT
+- Subject: C=DE, ST=Niedersachsen, L=Oldenburg, O=OFFIS, OU=Healthcare Information and Communication Systems, CN=DICOMscope 3.5 Default Site Certificate/Email=dicom at offis.de
++ Not Before: Sep 5 10:18:54 2003 GMT
++ Not After : Sep 5 10:18:54 2006 GMT
++ Subject: C=DE, ST=Niedersachsen, L=Oldenburg, O=OFFIS, OU=Healthcare Information and Communication Systems, CN=DICOMscope 3.6.0 Default Site Certificate/Email=dicom at offis.de
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+- RSA Public Key: (2048 bit)
+- Modulus (2048 bit):
+- 00:cf:70:7d:33:a1:6e:69:74:76:a3:2d:ce:d8:4f:
+- 16:b9:6d:6b:c6:ac:62:fa:e2:4a:b4:37:78:c7:76:
+- 0d:66:ee:b3:a5:1c:25:37:8d:a2:48:80:60:97:36:
+- 00:37:85:60:9f:5b:9e:0d:0e:02:29:21:31:26:9d:
+- 92:bc:5c:7c:b6:63:17:e9:c6:5f:37:8b:0f:a6:c6:
+- 73:18:30:5b:24:65:cc:2c:d6:3c:41:47:e9:65:97:
+- c0:1c:32:4f:1f:2f:1b:47:a9:9c:02:7c:70:66:ff:
+- c2:6a:28:c9:7d:8c:94:cd:06:95:58:f5:d1:d2:83:
+- f1:d2:89:8a:0c:97:04:2b:49:07:d8:1e:ba:16:7b:
+- a6:95:a8:86:cc:d5:bc:1c:cc:38:fb:54:0f:00:ad:
+- 6f:d7:4f:2c:f8:f5:70:99:73:68:a0:bb:de:fc:d2:
+- 71:60:7e:eb:fe:c7:b9:2d:4a:19:51:c7:77:24:a7:
+- 46:ba:c6:6e:56:c5:89:2c:eb:4d:59:9a:cd:71:b0:
+- a3:85:00:d1:3d:55:26:47:34:c9:34:42:6a:82:09:
+- 0e:eb:00:1d:d6:39:49:cf:4d:29:97:d8:8d:8d:84:
+- be:f7:7f:ba:83:9b:eb:0b:b7:a8:66:96:f3:99:df:
+- e5:53:73:4b:71:47:b3:d3:17:99:21:d5:47:26:14:
+- 8a:1f
++ RSA Public Key: (1024 bit)
++ Modulus (1024 bit):
++ 00:b0:49:ff:02:09:58:00:a3:b9:9a:ea:ff:b8:ac:
++ a5:a4:2c:c0:3f:c1:dc:95:3b:ad:48:fa:bb:1b:12:
++ 16:de:18:2d:c5:62:85:38:13:88:81:ba:b9:9c:9e:
++ 60:e1:1f:5f:da:5f:4f:e4:32:d2:12:40:ee:e7:12:
++ 3c:69:1f:d4:aa:08:cf:d4:07:14:9a:e2:3c:58:5d:
++ b7:69:71:d4:25:bd:e1:cb:81:b8:d1:56:80:94:ec:
++ ad:b3:29:8f:67:b3:c4:c7:3a:34:c9:6c:d0:4e:45:
++ e3:0a:fa:75:dd:e6:41:91:26:c8:0d:53:9c:6b:28:
++ 25:32:84:e8:4e:9d:97:aa:67
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+@@ -37,76 +28,73 @@
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+- 3B:C7:89:7D:D9:5B:FD:13:44:0E:D5:2E:79:E2:F8:57:5E:1A:FE:FE
++ BA:3D:8D:37:AB:83:45:3A:2B:E5:01:3A:2A:7D:7E:CA:C9:41:87:A7
+ X509v3 Authority Key Identifier:
+ keyid:0B:78:42:72:95:51:24:6D:D0:E5:16:78:B1:71:88:BB:3F:A3:DF:D5
+ DirName:/C=DE/ST=Niedersachsen/L=Oldenburg/O=OFFIS/OU=Healthcare Information and Communication Systems/CN=DCMTK Certification Authority/Email=dicom at offis.de
+ serial:00
+
+ Signature Algorithm: md5WithRSAEncryption
+- 5c:3d:86:88:37:aa:a1:8e:2e:fa:e2:bc:35:c5:01:40:12:11:
+- a8:2d:d5:3d:3f:36:47:36:75:d5:c0:ae:93:d3:69:77:a5:07:
+- a3:5a:8c:a2:6f:a1:9f:9d:5a:72:e8:fc:a2:d3:b0:87:fd:71:
+- 25:2c:80:ef:05:14:54:6b:c2:82:ff:a2:01:fe:ce:93:7e:e9:
+- d5:85:96:21:95:25:fe:15:11:c4:ab:25:c2:de:5f:29:52:6f:
+- 8e:ea:ed:4d:12:76:60:af:97:dc:aa:ed:d1:7d:f4:bc:eb:04:
+- 25:f6:2c:6d:e2:a4:0e:a0:f0:e3:2b:78:41:21:5a:3f:b5:81:
+- de:dd:68:52:f6:2c:51:ff:80:2f:44:89:68:53:43:18:e3:fe:
+- 88:f4:5d:38:ea:df:e2:a8:f6:36:66:cc:5a:ee:fa:fe:dc:13:
+- c6:af:df:e0:48:b2:ad:7d:2d:83:e5:5f:24:f7:17:d7:96:db:
+- 92:22:ca:ab:23:85:bc:5a:a3:b2:a2:fe:fc:97:7c:96:59:ec:
+- cf:1a:1e:32:0b:4d:d2:95:1d:f7:9a:10:47:02:ee:66:27:13:
+- 7a:8f:67:1a:69:19:f4:ad:c8:3e:cd:1d:44:a5:26:f6:a6:db:
+- 20:5b:44:ac:b8:55:13:44:f1:dd:2d:6c:ab:41:22:78:63:6e:
+- 28:49:a9:8a:eb:f3:c3:ec:20:50:06:28:aa:d1:1c:2c:a9:f3:
+- 32:e6:e3:10:8a:3f:f1:84:0f:d7:61:c0:9c:21:f9:e9:02:33:
+- d1:74:e9:c4:4f:69:48:a8:7d:72:2f:06:26:c5:1c:f6:4f:d2:
+- 29:f8:60:56:65:db:84:bc:6b:b7:fa:a4:88:0b:1c:33:7f:42:
+- 22:37:43:d0:e5:49:d3:19:50:5d:0c:2d:2f:a9:02:76:07:bd:
+- d4:82:cf:15:37:d0:10:ed:62:d6:4c:67:82:69:bc:e2:67:fd:
+- c7:c8:05:ef:78:c9:a2:29:e2:07:27:07:2d:71:d0:e0:b9:fa:
+- ea:03:00:74:bd:b7:c6:9e:07:6c:dd:45:94:80:4c:9f:d8:35:
+- 78:08:4c:73:93:6a:3d:34:8e:ad:86:bf:9a:a8:fe:37:dd:d6:
+- 8a:65:42:9b:56:cf:7a:bf:92:82:27:0b:d2:12:0e:37:7f:df:
+- af:98:e1:15:fd:ad:4c:2a:21:2e:57:77:35:aa:38:c6:6b:b2:
+- b3:bf:f0:aa:dc:66:81:b6:11:8e:c9:f9:a0:9d:38:51:85:42:
+- 34:db:eb:96:49:09:97:61:dc:78:3b:a6:cb:25:a7:c6:c0:1b:
+- cd:b6:3b:d3:04:a2:a4:c1:a2:b7:cf:4e:06:a8:23:8c:85:ad:
+- 39:3c:5d:a1:8a:26:f1:b6
++ 9c:22:35:9f:bb:70:a4:6f:f0:28:7e:d0:a9:2f:24:eb:27:c3:
++ ed:44:c2:49:19:c2:68:c6:c0:ca:83:a8:ce:55:a6:b8:cb:e9:
++ fa:44:1e:18:a8:b3:47:0d:c4:8b:90:13:ca:39:69:1c:1b:1b:
++ b3:87:e9:8d:bf:75:27:c6:5b:17:3e:6f:20:ec:0d:fb:5d:11:
++ b4:9d:a5:87:39:15:43:f6:8f:e1:fd:06:05:f3:6e:b0:66:5e:
++ 66:27:75:15:63:d6:17:ba:9d:a3:9e:97:fc:03:c6:06:a1:15:
++ 16:f0:6f:5a:8f:66:05:6c:fb:78:20:15:24:a3:0a:9d:77:f7:
++ 76:1a:33:61:05:49:a9:82:77:0b:50:57:e6:7f:c4:12:74:57:
++ 3a:70:a9:08:9e:d6:1d:2f:d2:a9:a8:fd:ba:6f:78:74:16:cd:
++ 76:05:fd:56:05:4e:19:25:75:90:fb:97:23:9f:1c:a7:05:d5:
++ ce:e5:0b:33:80:cf:82:9c:be:d1:50:9f:1e:13:cc:62:c2:13:
++ 20:ff:02:1d:8e:05:df:e2:e0:e5:3b:99:0e:48:53:61:d2:5b:
++ ea:be:fe:bf:82:bb:97:be:ac:e0:32:ab:d5:bd:10:00:f7:f2:
++ bb:7f:61:d9:b6:6f:b1:db:d8:96:a3:1f:46:9e:29:e9:43:b9:
++ 76:cc:04:90:50:67:ab:11:59:0d:6d:44:1f:ff:21:15:9f:3f:
++ cb:f6:f2:dc:64:47:88:fc:68:c4:60:20:00:d1:b1:8d:f6:d0:
++ 2a:1f:e8:b7:36:eb:fd:48:d6:c0:90:af:0a:93:7c:fc:b6:4b:
++ 39:3b:87:7d:e3:10:d9:b9:c4:bb:33:f2:a2:8e:05:81:ec:25:
++ 2c:cf:73:65:76:04:d5:67:e0:c0:de:a9:a1:16:eb:96:f3:de:
++ 1d:db:df:cc:63:0a:38:96:d6:eb:d9:86:c6:b7:82:ff:d1:48:
++ b8:f9:81:c4:f0:43:a2:39:54:c7:ad:8c:36:e9:8d:72:cc:c2:
++ 60:ec:29:94:04:35:ff:58:14:02:65:63:89:a6:b9:ff:96:84:
++ 04:f6:56:7f:7e:39:18:8c:44:95:b7:25:2a:2f:96:34:bb:cb:
++ f3:b8:f7:db:eb:87:e6:74:a9:45:88:97:8f:32:07:a8:11:d3:
++ e9:77:52:21:48:cc:43:e7:e5:c3:c3:06:53:7a:df:c1:1d:41:
++ 2b:b5:57:b2:2b:35:52:0f:a1:e9:50:7f:73:98:aa:02:9c:b5:
++ 91:89:69:94:c4:48:5c:ff:a3:6d:2e:f2:b8:9e:10:73:ca:73:
++ 6d:d4:2f:54:6d:a2:4f:1b:a8:46:d6:50:c1:ed:94:3e:c1:c2:
++ ea:52:c3:5e:11:11:bc:0b
+ -----BEGIN CERTIFICATE-----
+-MIIGdjCCBF6gAwIBAgIBATANBgkqhkiG9w0BAQQFADCByzELMAkGA1UEBhMCREUx
++MIIF9DCCA9ygAwIBAgIBCDANBgkqhkiG9w0BAQQFADCByzELMAkGA1UEBhMCREUx
+ FjAUBgNVBAgTDU5pZWRlcnNhY2hzZW4xEjAQBgNVBAcTCU9sZGVuYnVyZzEOMAwG
+ A1UEChMFT0ZGSVMxOTA3BgNVBAsTMEhlYWx0aGNhcmUgSW5mb3JtYXRpb24gYW5k
+ IENvbW11bmljYXRpb24gU3lzdGVtczEmMCQGA1UEAxMdRENNVEsgQ2VydGlmaWNh
+ dGlvbiBBdXRob3JpdHkxHTAbBgkqhkiG9w0BCQEWDmRpY29tQG9mZmlzLmRlMB4X
+-DTAxMDYwMTE2Mjk0MFoXDTAzMDYwMTE2Mjk0MFowgdUxCzAJBgNVBAYTAkRFMRYw
++DTAzMDkwNTEwMTg1NFoXDTA2MDkwNTEwMTg1NFowgdcxCzAJBgNVBAYTAkRFMRYw
+ FAYDVQQIEw1OaWVkZXJzYWNoc2VuMRIwEAYDVQQHEwlPbGRlbmJ1cmcxDjAMBgNV
+ BAoTBU9GRklTMTkwNwYDVQQLEzBIZWFsdGhjYXJlIEluZm9ybWF0aW9uIGFuZCBD
+-b21tdW5pY2F0aW9uIFN5c3RlbXMxMDAuBgNVBAMTJ0RJQ09Nc2NvcGUgMy41IERl
+-ZmF1bHQgU2l0ZSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYOZGljb21Ab2Zm
+-aXMuZGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPcH0zoW5pdHaj
+-Lc7YTxa5bWvGrGL64kq0N3jHdg1m7rOlHCU3jaJIgGCXNgA3hWCfW54NDgIpITEm
+-nZK8XHy2Yxfpxl83iw+mxnMYMFskZcws1jxBR+lll8AcMk8fLxtHqZwCfHBm/8Jq
+-KMl9jJTNBpVY9dHSg/HSiYoMlwQrSQfYHroWe6aVqIbM1bwczDj7VA8ArW/XTyz4
+-9XCZc2igu9780nFgfuv+x7ktShlRx3ckp0a6xm5WxYks601Zms1xsKOFANE9VSZH
+-NMk0QmqCCQ7rAB3WOUnPTSmX2I2NhL73f7qDm+sLt6hmlvOZ3+VTc0txR7PTF5kh
+-1UcmFIofAgMBAAGjggFXMIIBUzAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1P
+-cGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUO8eJfdlb/RNE
+-DtUueeL4V14a/v4wgfgGA1UdIwSB8DCB7YAUC3hCcpVRJG3Q5RZ4sXGIuz+j39Wh
+-gdGkgc4wgcsxCzAJBgNVBAYTAkRFMRYwFAYDVQQIEw1OaWVkZXJzYWNoc2VuMRIw
+-EAYDVQQHEwlPbGRlbmJ1cmcxDjAMBgNVBAoTBU9GRklTMTkwNwYDVQQLEzBIZWFs
+-dGhjYXJlIEluZm9ybWF0aW9uIGFuZCBDb21tdW5pY2F0aW9uIFN5c3RlbXMxJjAk
+-BgNVBAMTHURDTVRLIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR0wGwYJKoZIhvcN
+-AQkBFg5kaWNvbUBvZmZpcy5kZYIBADANBgkqhkiG9w0BAQQFAAOCAgEAXD2GiDeq
+-oY4u+uK8NcUBQBIRqC3VPT82RzZ11cCuk9Npd6UHo1qMom+hn51acuj8otOwh/1x
+-JSyA7wUUVGvCgv+iAf7Ok37p1YWWIZUl/hURxKslwt5fKVJvjurtTRJ2YK+X3Krt
+-0X30vOsEJfYsbeKkDqDw4yt4QSFaP7WB3t1oUvYsUf+AL0SJaFNDGOP+iPRdOOrf
+-4qj2NmbMWu76/twTxq/f4EiyrX0tg+VfJPcX15bbkiLKqyOFvFqjsqL+/Jd8llns
+-zxoeMgtN0pUd95oQRwLuZicTeo9nGmkZ9K3IPs0dRKUm9qbbIFtErLhVE0Tx3S1s
+-q0EieGNuKEmpiuvzw+wgUAYoqtEcLKnzMubjEIo/8YQP12HAnCH56QIz0XTpxE9p
+-SKh9ci8GJsUc9k/SKfhgVmXbhLxrt/qkiAscM39CIjdD0OVJ0xlQXQwtL6kCdge9
+-1ILPFTfQEO1i1kxngmm84mf9x8gF73jJoiniBycHLXHQ4Ln66gMAdL23xp4HbN1F
+-lIBMn9g1eAhMc5NqPTSOrYa/mqj+N93WimVCm1bPer+SgicL0hION3/fr5jhFf2t
+-TCohLld3Nao4xmuys7/wqtxmgbYRjsn5oJ04UYVCNNvrlkkJl2HceDumyyWnxsAb
+-zbY70wSipMGit89OBqgjjIWtOTxdoYom8bY=
++b21tdW5pY2F0aW9uIFN5c3RlbXMxMjAwBgNVBAMTKURJQ09Nc2NvcGUgMy42LjAg
++RGVmYXVsdCBTaXRlIENlcnRpZmljYXRlMR0wGwYJKoZIhvcNAQkBFg5kaWNvbUBv
++ZmZpcy5kZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAsEn/AglYAKO5mur/
++uKylpCzAP8HclTutSPq7GxIW3hgtxWKFOBOIgbq5nJ5g4R9f2l9P5DLSEkDu5xI8
++aR/UqgjP1AcUmuI8WF23aXHUJb3hy4G40VaAlOytsymPZ7PExzo0yWzQTkXjCvp1
++3eZBkSbIDVOcayglMoToTp2XqmcCAwEAAaOCAVcwggFTMAkGA1UdEwQCMAAwLAYJ
++YIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1Ud
++DgQWBBS6PY03q4NFOivlAToqfX7KyUGHpzCB+AYDVR0jBIHwMIHtgBQLeEJylVEk
++bdDlFnixcYi7P6Pf1aGB0aSBzjCByzELMAkGA1UEBhMCREUxFjAUBgNVBAgTDU5p
++ZWRlcnNhY2hzZW4xEjAQBgNVBAcTCU9sZGVuYnVyZzEOMAwGA1UEChMFT0ZGSVMx
++OTA3BgNVBAsTMEhlYWx0aGNhcmUgSW5mb3JtYXRpb24gYW5kIENvbW11bmljYXRp
++b24gU3lzdGVtczEmMCQGA1UEAxMdRENNVEsgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
++dHkxHTAbBgkqhkiG9w0BCQEWDmRpY29tQG9mZmlzLmRlggEAMA0GCSqGSIb3DQEB
++BAUAA4ICAQCcIjWfu3Ckb/AoftCpLyTrJ8PtRMJJGcJoxsDKg6jOVaa4y+n6RB4Y
++qLNHDcSLkBPKOWkcGxuzh+mNv3UnxlsXPm8g7A37XRG0naWHORVD9o/h/QYF826w
++Zl5mJ3UVY9YXup2jnpf8A8YGoRUW8G9aj2YFbPt4IBUkowqdd/d2GjNhBUmpgncL
++UFfmf8QSdFc6cKkIntYdL9KpqP26b3h0Fs12Bf1WBU4ZJXWQ+5cjnxynBdXO5Qsz
++gM+CnL7RUJ8eE8xiwhMg/wIdjgXf4uDlO5kOSFNh0lvqvv6/gruXvqzgMqvVvRAA
++9/K7f2HZtm+x29iWox9GninpQ7l2zASQUGerEVkNbUQf/yEVnz/L9vLcZEeI/GjE
++YCAA0bGN9tAqH+i3Nuv9SNbAkK8Kk3z8tks5O4d94xDZucS7M/KijgWB7CUsz3Nl
++dgTVZ+DA3qmhFuuW894d29/MYwo4ltbr2YbGt4L/0Ui4+YHE8EOiOVTHrYw26Y1y
++zMJg7CmUBDX/WBQCZWOJprn/loQE9lZ/fjkYjESVtyUqL5Y0u8vzuPfb64fmdKlF
++iJePMgeoEdPpd1IhSMxD5+XDwwZTet/BHUErtVeyKzVSD6HpUH9zmKoCnLWRiWmU
++xEhc/6NtLvK4nhBzynNt1C9UbaJPG6hG1lDB7ZQ+wcLqUsNeERG8Cw==
+ -----END CERTIFICATE-----
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/DICOMscope/tls/sitekey.pem dsgui360/DICOMscope/tls/sitekey.pem
+--- dsgui351/DICOMscope/tls/sitekey.pem 2001-06-01 18:47:40.000000000 +0200
++++ dsgui360/DICOMscope/tls/sitekey.pem 2003-12-18 12:19:52.000000000 +0100
+@@ -1,27 +1,15 @@
+ -----BEGIN RSA PRIVATE KEY-----
+-MIIEogIBAAKCAQEAz3B9M6FuaXR2oy3O2E8WuW1rxqxi+uJKtDd4x3YNZu6zpRwl
+-N42iSIBglzYAN4Vgn1ueDQ4CKSExJp2SvFx8tmMX6cZfN4sPpsZzGDBbJGXMLNY8
+-QUfpZZfAHDJPHy8bR6mcAnxwZv/CaijJfYyUzQaVWPXR0oPx0omKDJcEK0kH2B66
+-FnumlaiGzNW8HMw4+1QPAK1v108s+PVwmXNooLve/NJxYH7r/se5LUoZUcd3JKdG
+-usZuVsWJLOtNWZrNcbCjhQDRPVUmRzTJNEJqggkO6wAd1jlJz00pl9iNjYS+93+6
+-g5vrC7eoZpbzmd/lU3NLcUez0xeZIdVHJhSKHwIDAQABAoIBACW/nKkGmWcLUIOF
+-VHy8d7Aqn1A6EpEBGQMOjSYO74Vprrs/Ee64EW4MHoelxghUdy7Ip0xM3kvJxH34
+-crlgQzmVcsaR2MXswl5hApTGR++prqwCGFjw0yIvqT/4T7mnAtnZnZA+QN4dcK2M
+-2o3ERVfB+O+FXDdo11quuLZtzM5rWbQnngA3AKS9L6lM9LEf++Fczy31453krq5n
+-J8A5J2GJ+pxk+wXvY2P+2CjPqWZQSOLRorHSWY6rOjLHkh0fiI+QjjrzfPVHvDoe
+-DQkI5vX/W70T+/4nURsghGtG/WVRglgj5u+s5aEN28zNGoQyamoj9eTVJnK5A6MX
+-VgT4AJECgYEA9zeWsK4Lm1nR2ral4PIHHKVAexpBfUkKPTOvCXgVZB3SK3p7ghVg
+-gINWGiVNqJTaWbrOVvSHABW6Jv5MBE0SvVbv6ra9PlJEpXMzXFqryR+UgvQkkh+2
+-ETfPjokFwsMcJlLyInEYxydSVrLdXon9Fin3oEIr6V1DLDmVIfm29MsCgYEA1s8g
+-ZaDT+EN76BgmBmWzRcdxiv8rjzeVl6btDy1eXpwKoFqNCnMJROZsglFGGy0c3y6i
+-QKA7Jp9kD6r03xRPRXzTvrKqRI1JkdUHqx7AkxGxxciVX3KcIx3UxCXN7SwO4Hl8
+-0+KEvlxFchnh3diHAj0NP5S0bW4+EmfSY4DPqX0CgYAUTzTJ/wJlGNPsq+Skvj1n
+-VQwfEOEgccetj3lpxbu8JdcGS2GqJidvZ1rDex0OJGxrwrUA38XXc/F/EpUcJVjM
+-xT+ggLK7U/bfwL8Pb0N9mmKQ/42hk4lZkMQ0aX1Xqr+9RkMuISxv8AMLrFYTVjK8
+-h2YYfFcvLMI/99sQl3s4UQKBgCEbmX2wdRs9o3pZRnsT77agj9KBk8AmLAtMshr1
+-vibM3CJs8nIa2uHgtfa7+hc0M8/+Swm06IkCZhS4H7fGVJV8MNKijPW15RHyCJWK
+-TtocDw9R5Bvq+T+8WE/HF98nPD/C2cd6kUUZyaZVcOeVePGSYVlcXRbEuBJ0KAwo
+-DVmtAoGAecjcPqbLXpzxxxYb40tOmLfildwwqg5vLddFH8i6AMU2KvqjUdaHktEv
+-N8/wdUmWpe2C3FWDEltd4MNVYD/HHWcqUy3q6+Ep42zQM20G0mZXGiMItJ373tyL
+-rflVfa4RY6Zbb6KMzQXq0UuHYFvusgOcXnc4jirvT0zqi9CrlZQ=
++MIICXAIBAAKBgQCwSf8CCVgAo7ma6v+4rKWkLMA/wdyVO61I+rsbEhbeGC3FYoU4
++E4iBurmcnmDhH1/aX0/kMtISQO7nEjxpH9SqCM/UBxSa4jxYXbdpcdQlveHLgbjR
++VoCU7K2zKY9ns8THOjTJbNBOReMK+nXd5kGRJsgNU5xrKCUyhOhOnZeqZwIDAQAB
++AoGADRuja3pYYcvKvDsnAotL0bZGITd/+FS0oM2L5gplSuRPWvLlZvME3miM7plU
++KMkVbn5RyW0B87uCSAoyFbr5K//FyqcoWA7PR4RYRq63MiqLzWVVfuExX+Ju2sY/
++BFo8Um6DTDvJ0olvE8/yDI0rdyLqxvX3JMM9RtRvqmvbDhkCQQDlk6p/dGJyxgdd
++yvIEocIF//R5JER0Cd0DY6x8lD5a6vaCz8d1PvSeM0arQ14KAdVa0uT+CSkwzp7L
++pJP6sggjAkEAxJQ9cWdrYrsr+5L/wPFpJJPUWNvGlW9cCe09TmCt01NYQ4SYGxP8
++chG7AnOrIx3wGdFwyu54vUkf5oXuCkJ27QJBAI7TI0tP2L+Wu5Z6X77J869P4YRM
++L9oRGNK2++Q1ReXCL8KKCYjDteOF+v0pWCPZqCZs9dGlWV7n7Jq8tONORwkCQHkZ
++bWSQNmpDLgwz+ZQt4/zhiN4YvhRO3t9KpArFqi/WVzh41Y9Q16KZ45/WC+Z9Se1N
++xfNtxzmsc5d6iDMP0N0CQHOiZs/nT5GYSFETaCAFg26OsGvgQicB+QvbGBYubbuL
++Sh3Mp4wX3Poa+Xs31q7YqS3WLt+TIXziOYT3plAYVr0=
+ -----END RSA PRIVATE KEY-----
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/DICOMscope/usrcerts/dsuscert.pem dsgui360/DICOMscope/usrcerts/dsuscert.pem
+--- dsgui351/DICOMscope/usrcerts/dsuscert.pem 2001-06-01 18:53:26.000000000 +0200
++++ dsgui360/DICOMscope/usrcerts/dsuscert.pem 1970-01-01 01:00:00.000000000 +0100
+@@ -1,112 +0,0 @@
+-Certificate:
+- Data:
+- Version: 3 (0x2)
+- Serial Number: 2 (0x2)
+- Signature Algorithm: md5WithRSAEncryption
+- Issuer: C=DE, ST=Niedersachsen, L=Oldenburg, O=OFFIS, OU=Healthcare Information and Communication Systems, CN=DCMTK Certification Authority/Email=dicom at offis.de
+- Validity
+- Not Before: Jun 1 16:38:08 2001 GMT
+- Not After : Jun 1 16:38:08 2003 GMT
+- Subject: C=DE, ST=Niedersachsen, L=Oldenburg, O=OFFIS, OU=Healthcare Information and Communication Systems, CN=DICOMscope 3.5 Default User/Email=dicom at offis.de
+- Subject Public Key Info:
+- Public Key Algorithm: rsaEncryption
+- RSA Public Key: (2048 bit)
+- Modulus (2048 bit):
+- 00:c9:b5:e3:8e:90:36:3e:a0:dc:12:eb:30:0e:7b:
+- df:fb:54:5e:df:dc:b9:bf:46:d0:19:98:b5:25:d2:
+- f6:c6:87:2c:3e:14:3f:5f:e2:e0:d5:32:bc:6e:27:
+- 9a:34:f0:2f:8a:0c:c9:e3:1c:2e:36:e3:b0:0b:20:
+- 0d:6e:6f:bf:db:22:18:aa:2c:af:66:85:d2:3b:95:
+- 07:9e:38:ac:af:2b:0b:a8:e8:52:10:93:d5:a1:7c:
+- 7b:a2:41:ff:c5:5d:0e:1f:c7:6b:7e:c3:0e:f3:cd:
+- b9:89:b1:3c:95:f8:30:d4:cc:2f:d2:d9:d6:d6:dc:
+- e3:01:1a:50:70:c4:83:0e:d1:97:2f:74:7e:57:f3:
+- 87:fc:9b:37:eb:a7:94:e5:0b:bc:b7:83:90:0c:a0:
+- 06:4d:eb:b3:02:36:5f:5e:db:4e:0f:60:33:63:9e:
+- f3:e4:f0:91:a2:08:07:f2:50:3a:95:63:4d:7d:a5:
+- f6:87:aa:2f:e8:04:76:40:6c:a5:83:f0:2f:55:c5:
+- c6:aa:ba:87:1a:dc:02:f7:61:5a:67:bc:b3:d1:a9:
+- f3:2a:81:bb:b2:44:d9:ca:2e:46:3d:d9:60:68:e1:
+- d4:91:f4:18:f7:a1:05:a2:cc:59:12:f6:a8:df:15:
+- 7d:f8:29:6c:3b:1c:c0:ee:75:4d:f1:d8:de:2f:d5:
+- 7a:cb
+- Exponent: 65537 (0x10001)
+- X509v3 extensions:
+- X509v3 Basic Constraints:
+- CA:FALSE
+- Netscape Comment:
+- OpenSSL Generated Certificate
+- X509v3 Subject Key Identifier:
+- 69:41:2B:34:A0:CE:55:50:CF:82:2F:60:F6:88:4A:7B:C6:3E:90:13
+- X509v3 Authority Key Identifier:
+- keyid:0B:78:42:72:95:51:24:6D:D0:E5:16:78:B1:71:88:BB:3F:A3:DF:D5
+- DirName:/C=DE/ST=Niedersachsen/L=Oldenburg/O=OFFIS/OU=Healthcare Information and Communication Systems/CN=DCMTK Certification Authority/Email=dicom at offis.de
+- serial:00
+-
+- Signature Algorithm: md5WithRSAEncryption
+- 36:ec:a3:5b:fa:11:6b:83:fa:89:69:d6:40:ea:05:8c:b9:c6:
+- fc:b6:97:53:02:3a:64:b3:49:e5:32:5b:f1:49:c7:0d:c8:c0:
+- c7:ef:95:7a:83:da:cd:53:23:2a:d2:c2:37:31:76:c0:52:dc:
+- e4:b2:80:3a:79:e8:fd:f1:71:54:01:db:99:df:38:19:6f:14:
+- ad:fd:b1:f0:20:0c:bd:5f:55:40:4c:ca:58:74:8f:81:4c:53:
+- eb:c0:61:c4:5c:00:37:39:9b:f2:08:e7:de:73:c3:ac:46:bf:
+- d5:77:19:a2:42:1c:0e:e3:ec:2a:4a:c3:99:21:ed:50:d2:c0:
+- ac:fb:44:0e:0d:e2:0f:55:10:b7:d2:6a:73:33:ee:c3:c8:8e:
+- 19:4e:1f:bd:be:a2:23:a9:db:8c:ae:37:31:d5:c0:49:a3:83:
+- f9:74:00:35:6a:35:03:cb:20:19:3c:52:2a:17:cd:dd:d0:dd:
+- 06:72:75:5c:9f:ee:6e:cb:a0:c3:54:79:29:2f:0e:44:24:3b:
+- 6f:a5:d1:73:3f:c6:1c:01:13:49:17:84:f8:a5:7c:6d:34:1c:
+- d9:c5:c2:7a:ab:a0:fc:3e:76:58:87:b0:2f:43:4e:b8:63:7c:
+- 8c:28:8b:a1:46:ec:0e:99:eb:f4:7a:db:75:b6:37:4d:5a:34:
+- b2:e0:53:ad:12:68:c8:27:4f:72:53:38:fb:ab:03:1e:26:f1:
+- 59:12:9e:0e:42:94:6f:cb:fc:7d:dd:5e:e1:82:24:5f:02:e8:
+- 40:f5:7b:81:59:8f:1a:e9:e6:b9:f0:c5:81:e7:68:f3:32:1e:
+- fa:6a:38:77:8f:5b:5e:94:de:4c:38:ae:7a:75:1e:00:94:69:
+- ee:71:f2:db:61:da:98:0b:6f:43:6b:3c:a5:cd:5f:23:a9:ad:
+- 5c:2d:3c:5c:92:c8:5c:cf:9d:a0:27:a2:7a:1c:9f:30:aa:a2:
+- 16:8d:38:ef:06:af:27:0f:8e:c0:61:cf:b2:76:b0:96:1c:ae:
+- d8:da:b0:9b:cd:0d:5c:5a:53:42:fd:41:f7:d9:5c:b7:72:cc:
+- 0c:7d:6a:e8:64:2b:cf:dd:9f:8e:e1:a3:bc:45:7c:f7:75:a1:
+- 22:13:f5:fe:7b:3f:a5:c9:bb:fb:01:d5:28:04:1f:cd:e2:9c:
+- 3d:2f:a1:b9:24:3d:a4:e4:0a:25:f1:2d:72:eb:e3:bc:4b:8e:
+- 39:18:29:3e:2f:a2:c3:40:d9:6c:63:74:f6:e7:9d:2f:2b:77:
+- 22:cd:c5:47:18:70:5d:91:d9:82:80:b7:b1:67:a6:f4:b7:33:
+- d2:fb:d2:37:6b:e5:9e:1c:24:9e:3f:37:94:ac:7a:8d:40:ff:
+- ae:05:68:60:6f:4c:97:72
+------BEGIN CERTIFICATE-----
+-MIIGajCCBFKgAwIBAgIBAjANBgkqhkiG9w0BAQQFADCByzELMAkGA1UEBhMCREUx
+-FjAUBgNVBAgTDU5pZWRlcnNhY2hzZW4xEjAQBgNVBAcTCU9sZGVuYnVyZzEOMAwG
+-A1UEChMFT0ZGSVMxOTA3BgNVBAsTMEhlYWx0aGNhcmUgSW5mb3JtYXRpb24gYW5k
+-IENvbW11bmljYXRpb24gU3lzdGVtczEmMCQGA1UEAxMdRENNVEsgQ2VydGlmaWNh
+-dGlvbiBBdXRob3JpdHkxHTAbBgkqhkiG9w0BCQEWDmRpY29tQG9mZmlzLmRlMB4X
+-DTAxMDYwMTE2MzgwOFoXDTAzMDYwMTE2MzgwOFowgckxCzAJBgNVBAYTAkRFMRYw
+-FAYDVQQIEw1OaWVkZXJzYWNoc2VuMRIwEAYDVQQHEwlPbGRlbmJ1cmcxDjAMBgNV
+-BAoTBU9GRklTMTkwNwYDVQQLEzBIZWFsdGhjYXJlIEluZm9ybWF0aW9uIGFuZCBD
+-b21tdW5pY2F0aW9uIFN5c3RlbXMxJDAiBgNVBAMTG0RJQ09Nc2NvcGUgMy41IERl
+-ZmF1bHQgVXNlcjEdMBsGCSqGSIb3DQEJARYOZGljb21Ab2ZmaXMuZGUwggEiMA0G
+-CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJteOOkDY+oNwS6zAOe9/7VF7f3Lm/
+-RtAZmLUl0vbGhyw+FD9f4uDVMrxuJ5o08C+KDMnjHC4247ALIA1ub7/bIhiqLK9m
+-hdI7lQeeOKyvKwuo6FIQk9WhfHuiQf/FXQ4fx2t+ww7zzbmJsTyV+DDUzC/S2dbW
+-3OMBGlBwxIMO0ZcvdH5X84f8mzfrp5TlC7y3g5AMoAZN67MCNl9e204PYDNjnvPk
+-8JGiCAfyUDqVY019pfaHqi/oBHZAbKWD8C9Vxcaquoca3AL3YVpnvLPRqfMqgbuy
+-RNnKLkY92WBo4dSR9Bj3oQWizFkS9qjfFX34KWw7HMDudU3x2N4v1XrLAgMBAAGj
+-ggFXMIIBUzAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
+-YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUaUErNKDOVVDPgi9g9ohKe8Y+kBMw
+-gfgGA1UdIwSB8DCB7YAUC3hCcpVRJG3Q5RZ4sXGIuz+j39WhgdGkgc4wgcsxCzAJ
+-BgNVBAYTAkRFMRYwFAYDVQQIEw1OaWVkZXJzYWNoc2VuMRIwEAYDVQQHEwlPbGRl
+-bmJ1cmcxDjAMBgNVBAoTBU9GRklTMTkwNwYDVQQLEzBIZWFsdGhjYXJlIEluZm9y
+-bWF0aW9uIGFuZCBDb21tdW5pY2F0aW9uIFN5c3RlbXMxJjAkBgNVBAMTHURDTVRL
+-IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR0wGwYJKoZIhvcNAQkBFg5kaWNvbUBv
+-ZmZpcy5kZYIBADANBgkqhkiG9w0BAQQFAAOCAgEANuyjW/oRa4P6iWnWQOoFjLnG
+-/LaXUwI6ZLNJ5TJb8UnHDcjAx++VeoPazVMjKtLCNzF2wFLc5LKAOnno/fFxVAHb
+-md84GW8Urf2x8CAMvV9VQEzKWHSPgUxT68BhxFwANzmb8gjn3nPDrEa/1XcZokIc
+-DuPsKkrDmSHtUNLArPtEDg3iD1UQt9JqczPuw8iOGU4fvb6iI6nbjK43MdXASaOD
+-+XQANWo1A8sgGTxSKhfN3dDdBnJ1XJ/ubsugw1R5KS8ORCQ7b6XRcz/GHAETSReE
+-+KV8bTQc2cXCequg/D52WIewL0NOuGN8jCiLoUbsDpnr9HrbdbY3TVo0suBTrRJo
+-yCdPclM4+6sDHibxWRKeDkKUb8v8fd1e4YIkXwLoQPV7gVmPGunmufDFgedo8zIe
+-+mo4d49bXpTeTDiuenUeAJRp7nHy22HamAtvQ2s8pc1fI6mtXC08XJLIXM+doCei
+-ehyfMKqiFo047wavJw+OwGHPsnawlhyu2Nqwm80NXFpTQv1B99lct3LMDH1q6GQr
+-z92fjuGjvEV893WhIhP1/ns/pcm7+wHVKAQfzeKcPS+huSQ9pOQKJfEtcuvjvEuO
+-ORgpPi+iw0DZbGN09uedLyt3Is3FRxhwXZHZgoC3sWem9Lcz0vvSN2vlnhwknj83
+-lKx6jUD/rgVoYG9Ml3I=
+------END CERTIFICATE-----
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/DICOMscope/usrcerts/dsuskey.pem dsgui360/DICOMscope/usrcerts/dsuskey.pem
+--- dsgui351/DICOMscope/usrcerts/dsuskey.pem 2001-06-01 18:53:26.000000000 +0200
++++ dsgui360/DICOMscope/usrcerts/dsuskey.pem 1970-01-01 01:00:00.000000000 +0100
+@@ -1,27 +0,0 @@
+------BEGIN RSA PRIVATE KEY-----
+-MIIEpAIBAAKCAQEAybXjjpA2PqDcEuswDnvf+1Re39y5v0bQGZi1JdL2xocsPhQ/
+-X+Lg1TK8bieaNPAvigzJ4xwuNuOwCyANbm+/2yIYqiyvZoXSO5UHnjisrysLqOhS
+-EJPVoXx7okH/xV0OH8drfsMO8825ibE8lfgw1Mwv0tnW1tzjARpQcMSDDtGXL3R+
+-V/OH/Js366eU5Qu8t4OQDKAGTeuzAjZfXttOD2AzY57z5PCRoggH8lA6lWNNfaX2
+-h6ov6AR2QGylg/AvVcXGqrqHGtwC92FaZ7yz0anzKoG7skTZyi5GPdlgaOHUkfQY
+-96EFosxZEvao3xV9+ClsOxzA7nVN8djeL9V6ywIDAQABAoIBAQCRGBt2I1pBtqhX
+-m4HYCVdWjJwqX7XlV2S95ND5QkVtDTLP/PSRXrvn4DUW77nHNrabkRNwIIdFyIaL
+-miTPOedCE8a2MqqBDuXpIgx2zcG5xzb96w+NCSp0nPy5/MulBojwZxx19I2+5k7+
+-MtWn8v39NFt6SmR17jIESw9t7o1vjCDnsxYuqypjllWFV7cGCfUaoW2qGNQq7jSo
+-ntzfJC+IjlxIThAm+ezrQLPejzAK3PCqK6jQ2jkpQSCOSA8ngLRbQT3kxzKXukBO
+-uJxm8R2y3PneFR5udg1buWNAbpkUmRq5OLj1n5P9zM3gaV9QKE7qj3sy+K4AGp5D
+-U5GOJapBAoGBAO7Mos1OSKPomlh1LLgDvnPlCwr6ux33xbFI/GrC8HMU4NzH+soN
+-HQWAUkbUgJ9dK3Qr/WxzT/3qORJiIl3FdiXqAOTwMPc54ayt0HMpu6LDphhk4zkc
+-bnwoiwFhU/S9PK8ipf04OjQOZfhuX1gNyTU1su7GOF39EnvCmLuDEmzxAoGBANg9
+-WXD+MPNxLKAECG5wGvMEw6c6zdwIVCrZUpn2+sB+70PkJWePMyJGoL5USHODIXIU
+-vQR6XLnMNp6uyuLWtTqcGhFSEnzS7iarF098k2xfW9sPN61eSB9uy1cN4mRHVW5+
+-Xz7pvredaPmZkknkFBAYFlc2mGCXvNKQo+irOVN7AoGABercPeoqsqUY7gg5S3YM
+-SiLq2yLLcDqrk3ETkDG0c6WYzN/HvyoEBhbf8xFg/pH4ebB9XyqcWNZtA5+a6mfy
+-PY5G52VsUTQF+5lzCOeH1siyXPhjCQ9DTaBTkX0v72ihEFXzdwrlplSVAkr54dy1
+-l7P08yXGT83tn1N7JWpiEoECgYAIKOB8JAti1E1zyFMtH6vUqcRcRhrIh8PtTgAQ
+-8UHrC58pt601qDCsxW+BXxrQyQz1ChVL2vYuyKby+/OJ9cIm8QcGyksKTMdRzDj3
+-9eJ2P27u6DcYoqskDIE9yrdVQ1/U6I3diOJ6eUUhzgq4IRQku1P0fInpczBb3bth
+-pzxliwKBgQC4gDQJ9NsjkaQ+HEoXxZLVPkAK6rB+yfLT7KAOhZZZDG++JQCGITKO
+-XvgInzMXGmVdIN/EDSSPIhI/6bsLsO+WMmuIoOpvjTKaxnvJsF62TmxJTHNJkd7z
+-aH6ZSryOQtOsaewNvA54m8M3Hk9od0Q3WeqByTbcYjmLHHB5fIXF2g==
+------END RSA PRIVATE KEY-----
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/DICOMscope/usrcerts/usercert.pem dsgui360/DICOMscope/usrcerts/usercert.pem
+--- dsgui351/DICOMscope/usrcerts/usercert.pem 1970-01-01 01:00:00.000000000 +0100
++++ dsgui360/DICOMscope/usrcerts/usercert.pem 2003-12-18 12:19:46.000000000 +0100
+@@ -0,0 +1,100 @@
++Certificate:
++ Data:
++ Version: 3 (0x2)
++ Serial Number: 9 (0x9)
++ Signature Algorithm: md5WithRSAEncryption
++ Issuer: C=DE, ST=Niedersachsen, L=Oldenburg, O=OFFIS, OU=Healthcare Information and Communication Systems, CN=DCMTK Certification Authority/Email=dicom at offis.de
++ Validity
++ Not Before: Sep 5 10:20:16 2003 GMT
++ Not After : Sep 5 10:20:16 2006 GMT
++ Subject: C=DE, ST=Niedersachsen, L=Oldenburg, O=OFFIS, OU=Healthcare Information and Communication Systems, CN=DICOMscope 3.6.0 Default User Certificate/Email=dicom at offis.de
++ Subject Public Key Info:
++ Public Key Algorithm: rsaEncryption
++ RSA Public Key: (1024 bit)
++ Modulus (1024 bit):
++ 00:d5:19:d8:d9:bf:a0:61:48:29:37:ee:0f:d1:45:
++ 28:42:10:bd:41:b7:04:50:46:11:bd:f0:8d:1f:3c:
++ c1:50:77:51:5d:5c:f1:0a:bd:50:49:00:2e:22:19:
++ e4:a6:14:6a:24:31:67:6d:b1:28:ae:76:60:37:c4:
++ 9a:0f:5d:2f:9f:c0:99:f1:c5:31:9e:1a:0a:a3:18:
++ 0e:8b:01:fc:ef:94:d5:7c:0b:26:28:3b:28:e1:69:
++ 2e:62:f0:19:35:13:7a:f1:16:df:ae:0d:60:e4:99:
++ 4b:dd:bc:ee:64:c1:5a:02:68:27:c8:64:98:03:b7:
++ 4e:f8:99:97:3c:d8:d0:d5:c1
++ Exponent: 65537 (0x10001)
++ X509v3 extensions:
++ X509v3 Basic Constraints:
++ CA:FALSE
++ Netscape Comment:
++ OpenSSL Generated Certificate
++ X509v3 Subject Key Identifier:
++ 7C:15:D6:6A:A2:EC:0F:56:BD:55:D2:82:16:B6:07:37:83:C2:5D:3A
++ X509v3 Authority Key Identifier:
++ keyid:0B:78:42:72:95:51:24:6D:D0:E5:16:78:B1:71:88:BB:3F:A3:DF:D5
++ DirName:/C=DE/ST=Niedersachsen/L=Oldenburg/O=OFFIS/OU=Healthcare Information and Communication Systems/CN=DCMTK Certification Authority/Email=dicom at offis.de
++ serial:00
++
++ Signature Algorithm: md5WithRSAEncryption
++ 75:ea:21:18:77:58:8a:5f:40:9c:88:e8:29:ae:57:5b:77:f1:
++ 1b:d7:26:05:3d:03:14:0d:32:6c:ee:3a:ed:12:29:01:32:87:
++ ac:36:43:3e:e2:05:c2:f3:d0:1b:fc:f5:5c:cf:0c:7f:56:64:
++ 64:ee:f2:7d:37:3e:62:7d:57:f0:ea:91:7c:44:f9:55:46:6c:
++ 31:5c:01:7c:2f:3d:e4:d7:9d:fe:7c:09:50:a4:42:9b:d7:cd:
++ f1:07:9e:87:19:40:b2:d4:7e:ba:2e:f3:54:15:0b:ec:96:cb:
++ 97:62:95:65:9d:28:e9:58:d3:8f:d2:0a:8b:94:a9:3a:56:c5:
++ 33:2d:f7:91:f1:44:ce:0a:d1:95:5c:d5:52:b6:c6:1b:77:bc:
++ 43:99:a3:b8:92:01:b0:76:b5:b2:4d:07:6d:36:e5:6d:a7:6a:
++ c8:93:d4:70:66:2e:ad:41:7a:da:0a:1d:38:61:a8:60:c8:7e:
++ a4:32:62:f2:a6:82:3d:e7:14:b4:f3:8e:13:71:a4:df:90:76:
++ 21:69:50:ea:41:c3:16:7b:a5:90:a0:94:f9:5b:82:0e:ce:a2:
++ ef:30:3e:1d:b6:50:97:db:37:b0:02:3a:cf:de:ca:35:2a:8c:
++ ae:68:92:14:f7:e5:8c:b7:e1:7b:1f:5a:15:a8:62:02:e1:1c:
++ 55:7a:7a:fb:a7:75:e0:4d:32:70:7c:ee:a8:3f:26:be:0c:3f:
++ c3:5d:5c:bf:f3:d7:91:8b:ec:4e:d7:90:06:22:28:58:fb:4f:
++ cd:ae:78:cd:36:e1:87:c1:3f:a9:47:57:e3:51:1a:10:bd:6f:
++ 7f:33:52:ab:7b:44:10:a7:02:d3:e5:a7:99:e6:ff:20:62:e9:
++ d8:52:4a:8a:7a:40:22:b3:a4:af:3f:36:49:97:bd:2d:74:4d:
++ 7a:32:5d:b8:cf:6c:49:03:11:e1:b9:21:7a:ee:70:bb:cf:5c:
++ 4a:bf:32:f0:bf:b9:61:84:ba:f9:a9:39:b2:7a:ac:e5:84:bd:
++ fc:97:5e:06:f8:d2:40:0f:f6:02:3a:f4:80:82:08:78:7e:46:
++ bb:f7:7b:5a:bb:e0:31:3b:c1:1e:43:c5:0c:e6:14:98:a8:e0:
++ 89:8e:84:de:36:39:f8:dc:b1:be:07:3f:07:fb:e0:b5:45:64:
++ 5e:a2:39:9a:66:19:9f:3b:46:44:51:b1:df:bf:1c:df:84:63:
++ fe:c3:85:f1:ee:a4:9c:65:ee:04:72:c4:3c:14:3f:dd:ea:18:
++ 3e:e7:ff:4b:d5:53:a8:5a:33:b5:ca:55:14:3a:f3:94:18:0a:
++ ab:80:57:5c:25:4e:e1:47:f2:c3:e7:35:cd:1f:1a:b9:4a:b9:
++ 50:d6:8a:5f:c8:2f:b4:96
++-----BEGIN CERTIFICATE-----
++MIIF9DCCA9ygAwIBAgIBCTANBgkqhkiG9w0BAQQFADCByzELMAkGA1UEBhMCREUx
++FjAUBgNVBAgTDU5pZWRlcnNhY2hzZW4xEjAQBgNVBAcTCU9sZGVuYnVyZzEOMAwG
++A1UEChMFT0ZGSVMxOTA3BgNVBAsTMEhlYWx0aGNhcmUgSW5mb3JtYXRpb24gYW5k
++IENvbW11bmljYXRpb24gU3lzdGVtczEmMCQGA1UEAxMdRENNVEsgQ2VydGlmaWNh
++dGlvbiBBdXRob3JpdHkxHTAbBgkqhkiG9w0BCQEWDmRpY29tQG9mZmlzLmRlMB4X
++DTAzMDkwNTEwMjAxNloXDTA2MDkwNTEwMjAxNlowgdcxCzAJBgNVBAYTAkRFMRYw
++FAYDVQQIEw1OaWVkZXJzYWNoc2VuMRIwEAYDVQQHEwlPbGRlbmJ1cmcxDjAMBgNV
++BAoTBU9GRklTMTkwNwYDVQQLEzBIZWFsdGhjYXJlIEluZm9ybWF0aW9uIGFuZCBD
++b21tdW5pY2F0aW9uIFN5c3RlbXMxMjAwBgNVBAMTKURJQ09Nc2NvcGUgMy42LjAg
++RGVmYXVsdCBVc2VyIENlcnRpZmljYXRlMR0wGwYJKoZIhvcNAQkBFg5kaWNvbUBv
++ZmZpcy5kZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1RnY2b+gYUgpN+4P
++0UUoQhC9QbcEUEYRvfCNHzzBUHdRXVzxCr1QSQAuIhnkphRqJDFnbbEornZgN8Sa
++D10vn8CZ8cUxnhoKoxgOiwH875TVfAsmKDso4WkuYvAZNRN68Rbfrg1g5JlL3bzu
++ZMFaAmgnyGSYA7dO+JmXPNjQ1cECAwEAAaOCAVcwggFTMAkGA1UdEwQCMAAwLAYJ
++YIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1Ud
++DgQWBBR8FdZqouwPVr1V0oIWtgc3g8JdOjCB+AYDVR0jBIHwMIHtgBQLeEJylVEk
++bdDlFnixcYi7P6Pf1aGB0aSBzjCByzELMAkGA1UEBhMCREUxFjAUBgNVBAgTDU5p
++ZWRlcnNhY2hzZW4xEjAQBgNVBAcTCU9sZGVuYnVyZzEOMAwGA1UEChMFT0ZGSVMx
++OTA3BgNVBAsTMEhlYWx0aGNhcmUgSW5mb3JtYXRpb24gYW5kIENvbW11bmljYXRp
++b24gU3lzdGVtczEmMCQGA1UEAxMdRENNVEsgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
++dHkxHTAbBgkqhkiG9w0BCQEWDmRpY29tQG9mZmlzLmRlggEAMA0GCSqGSIb3DQEB
++BAUAA4ICAQB16iEYd1iKX0CciOgprldbd/Eb1yYFPQMUDTJs7jrtEikBMoesNkM+
++4gXC89Ab/PVczwx/VmRk7vJ9Nz5ifVfw6pF8RPlVRmwxXAF8Lz3k153+fAlQpEKb
++183xB56HGUCy1H66LvNUFQvslsuXYpVlnSjpWNOP0gqLlKk6VsUzLfeR8UTOCtGV
++XNVStsYbd7xDmaO4kgGwdrWyTQdtNuVtp2rIk9RwZi6tQXraCh04YahgyH6kMmLy
++poI95xS0844TcaTfkHYhaVDqQcMWe6WQoJT5W4IOzqLvMD4dtlCX2zewAjrP3so1
++KoyuaJIU9+WMt+F7H1oVqGIC4RxVenr7p3XgTTJwfO6oPya+DD/DXVy/89eRi+xO
++15AGIihY+0/NrnjNNuGHwT+pR1fjURoQvW9/M1Kre0QQpwLT5aeZ5v8gYunYUkqK
++ekAis6SvPzZJl70tdE16Ml24z2xJAxHhuSF67nC7z1xKvzLwv7lhhLr5qTmyeqzl
++hL38l14G+NJAD/YCOvSAggh4fka793tau+AxO8EeQ8UM5hSYqOCJjoTeNjn43LG+
++Bz8H++C1RWReojmaZhmfO0ZEUbHfvxzfhGP+w4Xx7qScZe4EcsQ8FD/d6hg+5/9L
++1VOoWjO1ylUUOvOUGAqrgFdcJU7hR/LD5zXNHxq5SrlQ1opfyC+0lg==
++-----END CERTIFICATE-----
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/DICOMscope/usrcerts/userkey.pem dsgui360/DICOMscope/usrcerts/userkey.pem
+--- dsgui351/DICOMscope/usrcerts/userkey.pem 1970-01-01 01:00:00.000000000 +0100
++++ dsgui360/DICOMscope/usrcerts/userkey.pem 2003-12-18 12:19:46.000000000 +0100
+@@ -0,0 +1,15 @@
++-----BEGIN RSA PRIVATE KEY-----
++MIICXQIBAAKBgQDVGdjZv6BhSCk37g/RRShCEL1BtwRQRhG98I0fPMFQd1FdXPEK
++vVBJAC4iGeSmFGokMWdtsSiudmA3xJoPXS+fwJnxxTGeGgqjGA6LAfzvlNV8CyYo
++OyjhaS5i8Bk1E3rxFt+uDWDkmUvdvO5kwVoCaCfIZJgDt074mZc82NDVwQIDAQAB
++AoGBAJv0MIka/mpzfwbZiGXksNO4oGjpYZTF0tIoq37C3c7fo4IqNJVhetIR+bEn
++Nfh9VDhsl37lehpDs6LclMrNrb1sOVWMRJoj1shwfZapx1HyJg6oig/YuRXZz7DG
++ZNhp9LHMQFLJE1XByvU70PI6+yZLdiAWuJYzClxqdRfWJAppAkEA7Avyx/P7iexe
++sKJHjTglTKRQqb+qZqIZTdc4NW04aeeR0c9i0aoJGN75uuFUho6JRC3bxYm+ZWYi
++dsS/kZDPLwJBAOcdWnojivf1+lKTAg2VRtTY72++bluVRoGOpHJJLzcqHeam+nJ6
++HI977+Vds/cLDCI2burS+exwhSZ0UpT57g8CQDanFZFiVk064zm2eSajZ091hA+p
++hwS4Z290c1k7bqJmsYaIo/KzkeOmTOAOKAn3mqSkkYwNNn43xacGKuzDQJUCQGsI
++NhGgikhhm2dIe8fsnRwPx3t5tsQlMrznYZMn/3zNvYFHTW9czANLQ4N2zNSZQipK
++CT4pLONqDNANSP2DbdMCQQDMRRYaC02Ab+ZXp/SoMOkO1gEEX5rw8xFDWcV2Bof+
++CeVF0MMFMNCuQ3W3VSVvnWM3ffisWP4kk4nzaPmbFMQ0
++-----END RSA PRIVATE KEY-----
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/include/J2Ci_jDSRCodeValue.h dsgui360/interface/include/J2Ci_jDSRCodeValue.h
+--- dsgui351/interface/include/J2Ci_jDSRCodeValue.h 2009-01-07 17:53:35.307114000 +0100
++++ dsgui360/interface/include/J2Ci_jDSRCodeValue.h 2009-01-07 17:53:04.148375000 +0100
+@@ -33,14 +33,6 @@
+
+ /*
+ * Class: J2Ci_jDSRCodeValue
+- * Method: isPrivateDcmtkCodingScheme
+- * Signature: ()Z
+- */
+-JNIEXPORT jboolean JNICALL Java_J2Ci_jDSRCodeValue_isPrivateDcmtkCodingScheme
+- (JNIEnv *, jobject);
+-
+-/*
+- * Class: J2Ci_jDSRCodeValue
+ * Method: getCodeValue
+ * Signature: ()Ljava/lang/String;
+ */
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/include/J2Ci_jDSRDocument.h dsgui360/interface/include/J2Ci_jDSRDocument.h
+--- dsgui351/interface/include/J2Ci_jDSRDocument.h 2009-01-07 17:53:35.315105000 +0100
++++ dsgui360/interface/include/J2Ci_jDSRDocument.h 2009-01-07 17:53:04.213308000 +0100
+@@ -121,14 +121,6 @@
+
+ /*
+ * Class: J2Ci_jDSRDocument
+- * Method: getPredecessorDocument
+- * Signature: (ILJ2Ci/jStringByRef;LJ2Ci/jStringByRef;)I
+- */
+-JNIEXPORT jint JNICALL Java_J2Ci_jDSRDocument_getPredecessorDocument
+- (JNIEnv *, jobject, jint, jobject, jobject);
+-
+-/*
+- * Class: J2Ci_jDSRDocument
+ * Method: getModality
+ * Signature: ()Ljava/lang/String;
+ */
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/include/J2Ci_jDVPresentationState.h dsgui360/interface/include/J2Ci_jDVPresentationState.h
+--- dsgui351/interface/include/J2Ci_jDVPresentationState.h 2009-01-07 17:53:35.350070000 +0100
++++ dsgui360/interface/include/J2Ci_jDVPresentationState.h 2009-01-07 17:53:04.188332000 +0100
+@@ -225,10 +225,18 @@
+
+ /*
+ * Class: J2Ci_jDVPresentationState
+- * Method: getDisplayedArea
++ * Method: getStandardDisplayedArea
+ * Signature: (LJ2Ci/jIntByRef;LJ2Ci/jIntByRef;LJ2Ci/jIntByRef;LJ2Ci/jIntByRef;)I
+ */
+-JNIEXPORT jint JNICALL Java_J2Ci_jDVPresentationState_getDisplayedArea
++JNIEXPORT jint JNICALL Java_J2Ci_jDVPresentationState_getStandardDisplayedArea
++ (JNIEnv *, jobject, jobject, jobject, jobject, jobject);
++
++/*
++ * Class: J2Ci_jDVPresentationState
++ * Method: getImageRelativeDisplayedArea
++ * Signature: (LJ2Ci/jIntByRef;LJ2Ci/jIntByRef;LJ2Ci/jIntByRef;LJ2Ci/jIntByRef;)I
++ */
++JNIEXPORT jint JNICALL Java_J2Ci_jDVPresentationState_getImageRelativeDisplayedArea
+ (JNIEnv *, jobject, jobject, jobject, jobject, jobject);
+
+ /*
+@@ -257,10 +265,18 @@
+
+ /*
+ * Class: J2Ci_jDVPresentationState
+- * Method: setDisplayedArea
++ * Method: setStandardDisplayedArea
++ * Signature: (IIIIIDI)I
++ */
++JNIEXPORT jint JNICALL Java_J2Ci_jDVPresentationState_setStandardDisplayedArea
++ (JNIEnv *, jobject, jint, jint, jint, jint, jint, jdouble, jint);
++
++/*
++ * Class: J2Ci_jDVPresentationState
++ * Method: setImageRelativeDisplayedArea
+ * Signature: (IIIIIDI)I
+ */
+-JNIEXPORT jint JNICALL Java_J2Ci_jDVPresentationState_setDisplayedArea
++JNIEXPORT jint JNICALL Java_J2Ci_jDVPresentationState_setImageRelativeDisplayedArea
+ (JNIEnv *, jobject, jint, jint, jint, jint, jint, jdouble, jint);
+
+ /*
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/libsrc/DSRCodeValue.cpp dsgui360/interface/libsrc/DSRCodeValue.cpp
+--- dsgui351/interface/libsrc/DSRCodeValue.cpp 2009-01-07 17:53:32.229233000 +0100
++++ dsgui360/interface/libsrc/DSRCodeValue.cpp 2009-01-07 17:53:07.051428000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -108,20 +108,6 @@
+
+ /*
+ * Class: J2Ci_jDSRCodeValue
+- * Method: isPrivateDcmtkCodingScheme
+- * Signature: ()Z
+- */
+-JNIEXPORT jboolean JNICALL Java_J2Ci_jDSRCodeValue_isPrivateDcmtkCodingScheme
+- (JNIEnv *env, jobject obj)
+-{
+- DSRCodedEntryValue *cod = getAddressOfDSRCodedEntryValue (env, obj);
+-
+- return (jboolean) cod->isPrivateDcmtkCodingScheme();
+-}
+-
+-
+-/*
+- * Class: J2Ci_jDSRCodeValue
+ * Method: getCodeValue
+ * Signature: ()Ljava/lang/String;
+ */
+@@ -198,7 +184,7 @@
+ {
+ DSRCodedEntryValue *cod = getAddressOfDSRCodedEntryValue (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -229,7 +215,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/libsrc/DSRCompositeValue.cpp dsgui360/interface/libsrc/DSRCompositeValue.cpp
+--- dsgui351/interface/libsrc/DSRCompositeValue.cpp 2009-01-07 17:53:32.233231000 +0100
++++ dsgui360/interface/libsrc/DSRCompositeValue.cpp 2009-01-07 17:53:07.043436000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -142,12 +142,12 @@
+ char *string1 = (sopClassUID) ? (char *) env->GetStringUTFChars (sopClassUID, 0) : NULL;
+ char *string2 = (sopInstanceUID) ? (char *) env->GetStringUTFChars (sopInstanceUID, 0) : NULL;
+
+- E_Condition res = ref->setReference(string1, string2);
++ OFCondition res = ref->setReference(string1, string2);
+
+ env->ReleaseStringUTFChars (sopClassUID, string1);
+ env->ReleaseStringUTFChars (sopInstanceUID, string2);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/libsrc/DSRDocument.cpp dsgui360/interface/libsrc/DSRDocument.cpp
+--- dsgui351/interface/libsrc/DSRDocument.cpp 2009-01-07 17:53:32.239223000 +0100
++++ dsgui360/interface/libsrc/DSRDocument.cpp 2009-01-07 17:53:07.096383000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -38,13 +38,7 @@
+ #include "J2Ci_jDSRDocument.h"
+ #include "jInterface.h"
+
+-
+-#ifdef HAVE_STRSTREA_H
+-#include <strstrea.h> /* for ostrstream */
+-#endif
+-#ifdef HAVE_STRSTREAM_H
+-#include <strstream.h> /* for ostrstream */
+-#endif
++#include "ofstream.h"
+
+
+ static inline DSRDocument *getAddressOfDSRDocument (JNIEnv *env, jobject obj)
+@@ -111,26 +105,21 @@
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+ /* create local string stream */
+- ostrstream stream;
+- E_Condition res = doc->renderHTML(stream, flags | DSRTypes::HF_version32Compatibility | DSRTypes::HF_renderFullData);
++ OFOStringStream oss;
++ OFCondition res = doc->renderHTML(oss, flags | DSRTypes::HF_version32Compatibility | DSRTypes::HF_renderFullData);
++ OFSTRINGSTREAM_GETSTR(oss, tmpString)
+
+ if (res == EC_Normal)
+ {
+- /* add final 0 byte */
+- stream << ends;
+- /* freeze/get string (now we have full control over the array) */
+- char *string = stream.str();
+ /* should never be NULL */
+- if (string != NULL)
++ if (tmpString != NULL)
+ {
+ jfieldID value = env->GetFieldID (env->GetObjectClass (outputString), "value", "Ljava/lang/String;");
+- env->SetObjectField (outputString, value, env->NewStringUTF (string));
+-
+- /* very important! since we have full control we are responsible for deleting the array */
+- delete[] string;
++ env->SetObjectField (outputString, value, env->NewStringUTF (tmpString));
+ }
+ }
+- return (jint) res;
++ OFSTRINGSTREAM_FREESTR(tmpString)
++ return (jint) res.status();
+ }
+
+
+@@ -188,7 +177,7 @@
+ {
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+- return (jint) doc->setSpecificCharacterSetType((DSRTypes::E_CharacterSet)characterSet);
++ return (jint) doc->setSpecificCharacterSetType((DSRTypes::E_CharacterSet)characterSet).status();
+ }
+
+
+@@ -262,7 +251,7 @@
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+ OFString dtStr, onStr, ooStr;
+- E_Condition res = doc->getVerifyingObserver((size_t)idx, dtStr, onStr, ooStr);
++ OFCondition res = doc->getVerifyingObserver((size_t)idx, dtStr, onStr, ooStr);
+
+ jfieldID dtValue = env->GetFieldID (env->GetObjectClass(dateTime), "value", "Ljava/lang/String;");
+ jfieldID onValue = env->GetFieldID (env->GetObjectClass(obsName), "value", "Ljava/lang/String;");
+@@ -272,7 +261,7 @@
+ env->SetObjectField (obsName, onValue, env->NewStringUTF (onStr.c_str()));
+ env->SetObjectField (obsOrganization, ooValue, env->NewStringUTF (ooStr.c_str()));
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -288,7 +277,7 @@
+
+ OFString dtStr, onStr, ooStr;
+ DSRCodedEntryValue code;
+- E_Condition res = doc->getVerifyingObserver((size_t)idx, dtStr, onStr, code, ooStr);
++ OFCondition res = doc->getVerifyingObserver((size_t)idx, dtStr, onStr, code, ooStr);
+
+ jfieldID dtValue = env->GetFieldID (env->GetObjectClass(dateTime), "value", "Ljava/lang/String;");
+ jfieldID onValue = env->GetFieldID (env->GetObjectClass(obsName), "value", "Ljava/lang/String;");
+@@ -306,7 +295,7 @@
+ env->SetObjectField (obsCM, cmValue, env->NewStringUTF (code.getCodeMeaning().c_str()));
+ env->SetObjectField (obsOrganization, ooValue, env->NewStringUTF (ooStr.c_str()));
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -320,30 +309,7 @@
+ {
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+- return (jint) doc->getNumberOfPredecessorDocuments();
+-}
+-
+-
+-/*
+- * Class: J2Ci_jDSRDocument
+- * Method: getPredecessorDocument
+- * Signature: (ILJ2Ci/jStringByRef;LJ2Ci/jStringByRef;)I
+- */
+-JNIEXPORT jint JNICALL Java_J2Ci_jDSRDocument_getPredecessorDocument
+- (JNIEnv *env, jobject obj, jint idx, jobject sopClassUID, jobject sopInstanceUID)
+-{
+- DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+-
+- OFString scStr, siStr;
+- E_Condition res = doc->getPredecessorDocument((size_t)idx, scStr, siStr);
+-
+- jfieldID scValue = env->GetFieldID (env->GetObjectClass(sopClassUID), "value", "Ljava/lang/String;");
+- jfieldID siValue = env->GetFieldID (env->GetObjectClass(sopInstanceUID), "value", "Ljava/lang/String;");
+-
+- env->SetObjectField (sopClassUID, scValue, env->NewStringUTF (scStr.c_str()));
+- env->SetObjectField (sopInstanceUID, siValue, env->NewStringUTF (siStr.c_str()));
+-
+- return (jint) res;
++ return (jint) doc->getPredecessorDocuments().getNumberOfInstances();
+ }
+
+
+@@ -784,11 +750,11 @@
+
+ char *str = (value) ? (char *) env->GetStringUTFChars (value, 0) : NULL;
+
+- E_Condition res = doc->setSpecificCharacterSet(str);
++ OFCondition res = doc->setSpecificCharacterSet(str);
+
+ env->ReleaseStringUTFChars (value, str);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -802,7 +768,7 @@
+ {
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -820,7 +786,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -834,7 +800,7 @@
+ {
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -852,7 +818,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -868,11 +834,11 @@
+
+ char *str = (value) ? (char *) env->GetStringUTFChars (value, 0) : NULL;
+
+- E_Condition res = doc->setPatientsBirthDate(str);
++ OFCondition res = doc->setPatientsBirthDate(str);
+
+ env->ReleaseStringUTFChars (value, str);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -888,11 +854,11 @@
+
+ char *str = (value) ? (char *) env->GetStringUTFChars (value, 0) : NULL;
+
+- E_Condition res = doc->setPatientsSex(str);
++ OFCondition res = doc->setPatientsSex(str);
+
+ env->ReleaseStringUTFChars (value, str);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -906,7 +872,7 @@
+ {
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -924,7 +890,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -938,7 +904,7 @@
+ {
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -956,7 +922,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -970,7 +936,7 @@
+ {
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -988,7 +954,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1002,7 +968,7 @@
+ {
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -1020,7 +986,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1034,7 +1000,7 @@
+ {
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -1052,7 +1018,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1066,7 +1032,7 @@
+ {
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -1084,7 +1050,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1100,11 +1066,11 @@
+
+ char *str = (value) ? (char *) env->GetStringUTFChars (value, 0) : NULL;
+
+- E_Condition res = doc->setSeriesNumber(str);
++ OFCondition res = doc->setSeriesNumber(str);
+
+ env->ReleaseStringUTFChars (value, str);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1120,11 +1086,11 @@
+
+ char *str = (value) ? (char *) env->GetStringUTFChars (value, 0) : NULL;
+
+- E_Condition res = doc->setInstanceNumber(str);
++ OFCondition res = doc->setInstanceNumber(str);
+
+ env->ReleaseStringUTFChars (value, str);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1140,11 +1106,11 @@
+
+ char *str = (value) ? (char *) env->GetStringUTFChars (value, 0) : NULL;
+
+- E_Condition res = doc->setAccessionNumber(str);
++ OFCondition res = doc->setAccessionNumber(str);
+
+ env->ReleaseStringUTFChars (value, str);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1188,11 +1154,11 @@
+
+ char *str = (studyUID) ? (char *) env->GetStringUTFChars (studyUID, 0) : NULL;
+
+- E_Condition res = doc->createNewSeriesInStudy(str);
++ OFCondition res = doc->createNewSeriesInStudy(str);
+
+ env->ReleaseStringUTFChars (studyUID, str);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1220,9 +1186,9 @@
+ {
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+- E_Condition res = doc->createNewDocument();
++ OFCondition res = doc->createNewDocument();
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1236,9 +1202,9 @@
+ {
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+- E_Condition res = doc->createNewDocument((DSRTypes::E_DocumentType)type);
++ OFCondition res = doc->createNewDocument((DSRTypes::E_DocumentType)type);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1252,9 +1218,9 @@
+ {
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+- E_Condition res = doc->createRevisedVersion();
++ OFCondition res = doc->createRevisedVersion();
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1268,9 +1234,9 @@
+ {
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+- E_Condition res = doc->completeDocument();
++ OFCondition res = doc->completeDocument();
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1284,7 +1250,7 @@
+ {
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -1302,7 +1268,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1316,7 +1282,7 @@
+ {
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -1339,7 +1305,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1353,7 +1319,7 @@
+ {
+ DSRDocument *doc = getAddressOfDSRDocument (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -1392,7 +1358,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/libsrc/DSRDocumentTree.cpp dsgui360/interface/libsrc/DSRDocumentTree.cpp
+--- dsgui351/interface/libsrc/DSRDocumentTree.cpp 2009-01-07 17:53:32.243220000 +0100
++++ dsgui360/interface/libsrc/DSRDocumentTree.cpp 2009-01-07 17:53:07.067412000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -373,7 +373,7 @@
+ {
+ DSRDocumentTree *tree = getAddressOfDSRDocumentTree (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -391,7 +391,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -531,7 +531,7 @@
+ {
+ DSRDocumentTree *tree = getAddressOfDSRDocumentTree (env, obj);
+
+- return (jint) tree->getCurrentContentItem().setContinuityOfContent((DSRTypes::E_ContinuityOfContent)flag);
++ return (jint) tree->getCurrentContentItem().setContinuityOfContent((DSRTypes::E_ContinuityOfContent)flag).status();
+ }
+
+
+@@ -580,11 +580,11 @@
+
+ char *str = (value) ? (char *) env->GetStringUTFChars (value, 0) : NULL;
+
+- E_Condition res = tree->getCurrentContentItem().setObservationDateTime(str);
++ OFCondition res = tree->getCurrentContentItem().setObservationDateTime(str);
+
+ env->ReleaseStringUTFChars (value, str);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/libsrc/DSRImageValue.cpp dsgui360/interface/libsrc/DSRImageValue.cpp
+--- dsgui351/interface/libsrc/DSRImageValue.cpp 2009-01-07 17:53:32.248214000 +0100
++++ dsgui360/interface/libsrc/DSRImageValue.cpp 2009-01-07 17:53:07.047432000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -142,12 +142,12 @@
+ char *string1 = (sopClassUID) ? (char *) env->GetStringUTFChars (sopClassUID, 0) : NULL;
+ char *string2 = (sopInstanceUID) ? (char *) env->GetStringUTFChars (sopInstanceUID, 0) : NULL;
+
+- E_Condition res = ref->setReference(string1, string2);
++ OFCondition res = ref->setReference(string1, string2);
+
+ env->ReleaseStringUTFChars (sopClassUID, string1);
+ env->ReleaseStringUTFChars (sopInstanceUID, string2);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -229,12 +229,12 @@
+ char *string1 = (sopClassUID) ? (char *) env->GetStringUTFChars (sopClassUID, 0) : NULL;
+ char *string2 = (sopInstanceUID) ? (char *) env->GetStringUTFChars (sopInstanceUID, 0) : NULL;
+
+- E_Condition res = ref->setPresentationState(DSRCompositeReferenceValue(string1, string2));
++ OFCondition res = ref->setPresentationState(DSRCompositeReferenceValue(string1, string2));
+
+ env->ReleaseStringUTFChars (sopClassUID, string1);
+ env->ReleaseStringUTFChars (sopInstanceUID, string2);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -278,11 +278,11 @@
+
+ Sint32 fnValue;
+
+- E_Condition res = ref->getFrameList().getItem((size_t)idx, fnValue);
++ OFCondition res = ref->getFrameList().getItem((size_t)idx, fnValue);
+
+ env->SetIntField (frameNumber, env->GetFieldID (env->GetObjectClass (frameNumber), "value", "I"), fnValue);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -310,7 +310,7 @@
+ {
+ DSRImageReferenceValue *ref = getAddressOfDSRImageReferenceValue (env, obj);
+
+- return (jint) ref->getFrameList().removeItem((size_t)idx);
++ return (jint) ref->getFrameList().removeItem((size_t)idx).status();
+ }
+
+
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/libsrc/DSRNumericValue.cpp dsgui360/interface/libsrc/DSRNumericValue.cpp
+--- dsgui351/interface/libsrc/DSRNumericValue.cpp 2009-01-07 17:53:32.252210000 +0100
++++ dsgui360/interface/libsrc/DSRNumericValue.cpp 2009-01-07 17:53:07.055424000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -161,11 +161,11 @@
+
+ char *string = (numericValue) ? (char *) env->GetStringUTFChars (numericValue, 0) : NULL;
+
+- E_Condition res = num->setNumericValue(string);
++ OFCondition res = num->setNumericValue(string);
+
+ env->ReleaseStringUTFChars (numericValue, string);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -179,7 +179,7 @@
+ {
+ DSRNumericMeasurementValue *num = getAddressOfDSRNumericMeasurementValue (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -212,7 +212,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/libsrc/DSRSCoordValue.cpp dsgui360/interface/libsrc/DSRSCoordValue.cpp
+--- dsgui351/interface/libsrc/DSRSCoordValue.cpp 2009-01-07 17:53:32.256206000 +0100
++++ dsgui360/interface/libsrc/DSRSCoordValue.cpp 2009-01-07 17:53:07.062420000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -88,7 +88,7 @@
+ {
+ DSRSpatialCoordinatesValue *sco = getAddressOfDSRSpatialCoordinatesValue (env, obj);
+
+- return (jint) sco->setGraphicType((DSRTypes::E_GraphicType)graphicType);
++ return (jint) sco->setGraphicType((DSRTypes::E_GraphicType)graphicType).status();
+ }
+
+
+@@ -132,12 +132,12 @@
+
+ Float32 columnValue, rowValue;
+
+- E_Condition res = sco->getGraphicDataList().getItem((size_t)idx, columnValue, rowValue);
++ OFCondition res = sco->getGraphicDataList().getItem((size_t)idx, columnValue, rowValue);
+
+ env->SetFloatField (column, env->GetFieldID (env->GetObjectClass (column), "value", "F"), columnValue);
+ env->SetFloatField (row, env->GetFieldID (env->GetObjectClass (row), "value", "F"), rowValue);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -165,7 +165,7 @@
+ {
+ DSRSpatialCoordinatesValue *sco = getAddressOfDSRSpatialCoordinatesValue (env, obj);
+
+- return (jint) sco->getGraphicDataList().removeItem((size_t)idx);
++ return (jint) sco->getGraphicDataList().removeItem((size_t)idx).status();
+ }
+
+
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/libsrc/DSRTCoordValue.cpp dsgui360/interface/libsrc/DSRTCoordValue.cpp
+--- dsgui351/interface/libsrc/DSRTCoordValue.cpp 2009-01-07 17:53:32.260202000 +0100
++++ dsgui360/interface/libsrc/DSRTCoordValue.cpp 2009-01-07 17:53:07.059420000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -88,7 +88,7 @@
+ {
+ DSRTemporalCoordinatesValue *tco = getAddressOfDSRTemporalCoordinatesValue (env, obj);
+
+- return (jint) tco->setTemporalRangeType((DSRTypes::E_TemporalRangeType)temporalRangeType);
++ return (jint) tco->setTemporalRangeType((DSRTypes::E_TemporalRangeType)temporalRangeType).status();
+ }
+
+
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/libsrc/DSRWaveformValue.cpp dsgui360/interface/libsrc/DSRWaveformValue.cpp
+--- dsgui351/interface/libsrc/DSRWaveformValue.cpp 2009-01-07 17:53:32.264198000 +0100
++++ dsgui360/interface/libsrc/DSRWaveformValue.cpp 2009-01-07 17:53:07.039440000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -142,12 +142,12 @@
+ char *string1 = (char *) env->GetStringUTFChars (sopClassUID, 0);
+ char *string2 = (char *) env->GetStringUTFChars (sopInstanceUID, 0);
+
+- E_Condition res = ref->setReference((string1) ? string1 : "", (string2) ? string2 : "");
++ OFCondition res = ref->setReference((string1) ? string1 : "", (string2) ? string2 : "");
+
+ env->ReleaseStringUTFChars (sopClassUID, string1);
+ env->ReleaseStringUTFChars (sopInstanceUID, string2);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -191,12 +191,12 @@
+
+ Uint16 mgnValue, cnValue;
+
+- E_Condition res = ref->getChannelList().getItem((size_t)idx, mgnValue, cnValue);
++ OFCondition res = ref->getChannelList().getItem((size_t)idx, mgnValue, cnValue);
+
+ env->SetIntField (multiplexGroupNumber, env->GetFieldID (env->GetObjectClass (multiplexGroupNumber), "value", "I"), mgnValue);
+ env->SetIntField (channelNumber, env->GetFieldID (env->GetObjectClass (channelNumber), "value", "I"), cnValue);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -224,7 +224,7 @@
+ {
+ DSRWaveformReferenceValue *ref = getAddressOfDSRWaveformReferenceValue (env, obj);
+
+- return (jint) ref->getChannelList().removeItem((size_t)idx);
++ return (jint) ref->getChannelList().removeItem((size_t)idx).status();
+ }
+
+
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/libsrc/DVInterface.cpp dsgui360/interface/libsrc/DVInterface.cpp
+--- dsgui351/interface/libsrc/DVInterface.cpp 2009-01-07 17:53:32.272190000 +0100
++++ dsgui360/interface/libsrc/DVInterface.cpp 2009-01-07 17:53:07.104377000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999..2001, Institute for MicroTherapy and OFFIS
++ * Copyright (C) 1999-2003, Institute for MicroTherapy and OFFIS
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -41,6 +41,10 @@
+
+ #include "jInterface.h"
+
++#include "dcrledrg.h" /* for DcmRLEDecoderRegistration */
++#include "djdecode.h" /* for dcmjpeg decoders */
++
++
+ // ------------------- accessing C++-Objects
+
+ inline DVInterface* getAddressOfDVInterface (JNIEnv *env, jobject obj)
+@@ -79,6 +83,11 @@
+ env->ReleaseStringUTFChars (configfile, fn);
+
+ setAddressOfDVInterface (env, obj, dvi);
++
++ // register RLE decompression codec
++ DcmRLEDecoderRegistration::registerCodecs();
++ // register JPEG decompression codecs
++ DJDecoderRegistration::registerCodecs();
+ }
+
+
+@@ -93,6 +102,11 @@
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+ delete dvi;
++
++ // deregister RLE decompression codecs
++ DcmRLEDecoderRegistration::cleanup();
++ // deregister JPEG decompression codecs
++ DJDecoderRegistration::cleanup();
+ }
+
+
+@@ -115,13 +129,13 @@
+ char *ser = (char*) env->GetStringUTFChars (seriesUID, 0);
+ char *ins = (char*) env->GetStringUTFChars (instanceUID, 0);
+
+- E_Condition res = dvi->loadImage (stu, ser, ins, changeStatus == JNI_TRUE ? OFTrue : OFFalse);
++ OFCondition res = dvi->loadImage (stu, ser, ins, changeStatus == JNI_TRUE ? OFTrue : OFFalse);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (seriesUID, ser);
+ env->ReleaseStringUTFChars (instanceUID, ins);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -137,11 +151,11 @@
+
+ char *fn = (char*) env->GetStringUTFChars (filename, 0);
+
+- E_Condition res = dvi->loadImage (fn);
++ OFCondition res = dvi->loadImage (fn);
+
+ env->ReleaseStringUTFChars (filename, fn);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -155,9 +169,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->loadReferencedImage (idx, changeStatus == JNI_TRUE ? OFTrue : OFFalse);
++ OFCondition res = dvi->loadReferencedImage (idx, changeStatus == JNI_TRUE ? OFTrue : OFFalse);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -175,13 +189,13 @@
+ char *ser = (char*) env->GetStringUTFChars (seriesUID, 0);
+ char *ins = (char*) env->GetStringUTFChars (instanceUID, 0);
+
+- E_Condition res = dvi->loadPState (stu, ser, ins, changeStatus == JNI_TRUE ? OFTrue : OFFalse);
++ OFCondition res = dvi->loadPState (stu, ser, ins, changeStatus == JNI_TRUE ? OFTrue : OFFalse);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (seriesUID, ser);
+ env->ReleaseStringUTFChars (instanceUID, ins);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -197,11 +211,11 @@
+
+ char *psn = (char*) env->GetStringUTFChars (pstName, 0);
+
+- E_Condition res = dvi->loadPState (psn);
++ OFCondition res = dvi->loadPState (psn);
+
+ env->ReleaseStringUTFChars (pstName, psn);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -218,12 +232,12 @@
+ char *psn = (char*) env->GetStringUTFChars (pstName, 0);
+ char *imn = (char*) env->GetStringUTFChars (imgName, 0);
+
+- E_Condition res = dvi->loadPState (psn, imn);
++ OFCondition res = dvi->loadPState (psn, imn);
+
+ env->ReleaseStringUTFChars (pstName, psn);
+ env->ReleaseStringUTFChars (imgName, imn);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -241,13 +255,13 @@
+ char *ser = (char*) env->GetStringUTFChars (seriesUID, 0);
+ char *ins = (char*) env->GetStringUTFChars (instanceUID, 0);
+
+- E_Condition res = dvi->loadStructuredReport(stu, ser, ins, changeStatus == JNI_TRUE ? OFTrue : OFFalse);
++ OFCondition res = dvi->loadStructuredReport(stu, ser, ins, changeStatus == JNI_TRUE ? OFTrue : OFFalse);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (seriesUID, ser);
+ env->ReleaseStringUTFChars (instanceUID, ins);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -263,11 +277,11 @@
+
+ char *fn = (char*) env->GetStringUTFChars (filename, 0);
+
+- E_Condition res = dvi->loadStructuredReport(fn);
++ OFCondition res = dvi->loadStructuredReport(fn);
+
+ env->ReleaseStringUTFChars (filename, fn);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -283,11 +297,11 @@
+
+ char *id = (char*) env->GetStringUTFChars (reportID, 0);
+
+- E_Condition res = dvi->loadSRTemplate(id);
++ OFCondition res = dvi->loadSRTemplate(id);
+
+ env->ReleaseStringUTFChars (reportID, id);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -301,9 +315,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->savePState(replaceSOPInstanceUID == JNI_TRUE ? OFTrue : OFFalse);
++ OFCondition res = dvi->savePState(replaceSOPInstanceUID == JNI_TRUE ? OFTrue : OFFalse);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -321,11 +335,11 @@
+ OFBool explVR = (explicitVR == JNI_TRUE) ? OFTrue : OFFalse;
+ OFBool replUID = (replaceSOPInstanceUID == JNI_TRUE) ? OFTrue : OFFalse;
+
+- E_Condition res = dvi->savePState(fn, replUID, explVR);
++ OFCondition res = dvi->savePState(fn, replUID, explVR);
+
+ env->ReleaseStringUTFChars (filename, fn);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -342,11 +356,11 @@
+ char *fn = (char*) env->GetStringUTFChars (filename, 0);
+ OFBool expVR = explicitVR == JNI_TRUE ? OFTrue : OFFalse;
+
+- E_Condition res = dvi->saveCurrentImage(fn, expVR);
++ OFCondition res = dvi->saveCurrentImage(fn, expVR);
+
+ env->ReleaseStringUTFChars (filename, fn);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -360,9 +374,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->saveStructuredReport();
++ OFCondition res = dvi->saveStructuredReport();
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -379,11 +393,11 @@
+ char *fn = (char *) env->GetStringUTFChars (filename, 0);
+ OFBool expVR = (explicitVR == JNI_TRUE) ? OFTrue : OFFalse;
+
+- E_Condition res = dvi->saveStructuredReport(fn, expVR);
++ OFCondition res = dvi->saveStructuredReport(fn, expVR);
+
+ env->ReleaseStringUTFChars (filename, fn);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -401,13 +415,13 @@
+ char *ser = (char*) env->GetStringUTFChars (seriesUID, 0);
+ char *ins = (char*) env->GetStringUTFChars (instanceUID, 0);
+
+- E_Condition res = dvi->addImageReferenceToPState (stu, ser, ins);
++ OFCondition res = dvi->addImageReferenceToPState (stu, ser, ins);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (seriesUID, ser);
+ env->ReleaseStringUTFChars (instanceUID, ins);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -421,9 +435,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- int res = dvi->getNumberOfImageReferences ();
+-
+- return (jint) res;
++ return (jint) dvi->getNumberOfImageReferences ();
+ }
+
+
+@@ -485,9 +497,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->resetPresentationState();
++ OFCondition res = dvi->resetPresentationState();
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -501,9 +513,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->saveCurrentPStateForReset();
++ OFCondition res = dvi->saveCurrentPStateForReset();
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -517,9 +529,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->releaseDatabase();
++ OFCondition res = dvi->releaseDatabase();
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -558,9 +570,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- int res = dvi->getNumberOfStudies();
+-
+- return (jint) res;
++ return (jint) dvi->getNumberOfStudies();
+ }
+
+
+@@ -574,9 +584,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->selectStudy(idx);
++ OFCondition res = dvi->selectStudy(idx);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -592,11 +602,11 @@
+
+ char *stu = (char*) env->GetStringUTFChars (studyUID, 0);
+
+- E_Condition res = dvi->selectStudy (stu);
++ OFCondition res = dvi->selectStudy (stu);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -610,9 +620,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- DVIFhierarchyStatus res = dvi->getStudyStatus();
+-
+- return (jint) res;
++ return (jint) dvi->getStudyStatus();
+ }
+
+
+@@ -883,9 +891,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- int res = dvi->getNumberOfSeries();
+-
+- return (jint) res;
++ return (jint) dvi->getNumberOfSeries();
+ }
+
+
+@@ -899,9 +905,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->selectSeries(idx);
++ OFCondition res = dvi->selectSeries(idx);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -917,11 +923,11 @@
+
+ char *ser = (char*) env->GetStringUTFChars (seriesUID, 0);
+
+- E_Condition res = dvi->selectSeries (ser);
++ OFCondition res = dvi->selectSeries (ser);
+
+ env->ReleaseStringUTFChars (seriesUID, ser);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -952,9 +958,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- DVIFhierarchyStatus res = dvi->getSeriesStatus();
+-
+- return (jint) res;
++ return (jint) dvi->getSeriesStatus();
+ }
+
+
+@@ -968,9 +972,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- DVPSInstanceType res = dvi->getSeriesType();
+-
+- return (jint) res;
++ return (jint) dvi->getSeriesType();
+ }
+
+
+@@ -984,9 +986,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- DVPSInstanceType res = dvi->getInstanceType();
+-
+- return (jint) res;
++ return (jint) dvi->getInstanceType();
+ }
+
+
+@@ -1136,9 +1136,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- int res = dvi->getNumberOfInstances();
+-
+- return (jint) res;
++ return (jint) dvi->getNumberOfInstances();
+ }
+
+
+@@ -1152,9 +1150,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->selectInstance(idx);
++ OFCondition res = dvi->selectInstance(idx);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1170,11 +1168,11 @@
+
+ char *ins = (char*) env->GetStringUTFChars (instanceUID, 0);
+
+- E_Condition res = dvi->selectInstance (ins);
++ OFCondition res = dvi->selectInstance (ins);
+
+ env->ReleaseStringUTFChars (instanceUID, ins);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1191,12 +1189,12 @@
+ char *ins = (char*) env->GetStringUTFChars (instanceUID, 0);
+ char *sop = (char*) env->GetStringUTFChars (sopClassUID, 0);
+
+- E_Condition res = dvi->selectInstance (ins, sop);
++ OFCondition res = dvi->selectInstance (ins, sop);
+
+ env->ReleaseStringUTFChars (instanceUID, ins);
+ env->ReleaseStringUTFChars (sopClassUID, sop);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1214,13 +1212,13 @@
+ char *ser = (char*) env->GetStringUTFChars (seriesUID, 0);
+ char *ins = (char*) env->GetStringUTFChars (instanceUID, 0);
+
+- E_Condition res = dvi->selectInstance (stu, ser, ins);
++ OFCondition res = dvi->selectInstance (stu, ser, ins);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (seriesUID, ser);
+ env->ReleaseStringUTFChars (instanceUID, ins);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1285,9 +1283,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- DVIFhierarchyStatus res = dvi->getInstanceStatus();
+-
+- return (jint) res;
++ return (jint) dvi->getInstanceStatus();
+ }
+
+
+@@ -1339,13 +1335,13 @@
+ char *ser = (char*) env->GetStringUTFChars (seriesUID, 0);
+ char *ins = (char*) env->GetStringUTFChars (instanceUID, 0);
+
+- E_Condition res = dvi->instanceReviewed(stu, ser, ins);
++ OFCondition res = dvi->instanceReviewed(stu, ser, ins);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (seriesUID, ser);
+ env->ReleaseStringUTFChars (instanceUID, ins);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1363,13 +1359,13 @@
+ char *ser = (char*) env->GetStringUTFChars (seriesUID, 0);
+ char *ins = (char*) env->GetStringUTFChars (instanceUID, 0);
+
+- E_Condition res = dvi->deleteInstance(stu, ser, ins);
++ OFCondition res = dvi->deleteInstance(stu, ser, ins);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (seriesUID, ser);
+ env->ReleaseStringUTFChars (instanceUID, ins);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1386,12 +1382,12 @@
+ char *stu = (char*) env->GetStringUTFChars (studyUID, 0);
+ char *ser = (char*) env->GetStringUTFChars (seriesUID, 0);
+
+- E_Condition res = dvi->deleteSeries(stu, ser);
++ OFCondition res = dvi->deleteSeries(stu, ser);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (seriesUID, ser);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1407,11 +1403,11 @@
+
+ char *stu = (char*) env->GetStringUTFChars (studyUID, 0);
+
+- E_Condition res = dvi->deleteStudy(stu);
++ OFCondition res = dvi->deleteStudy(stu);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1425,9 +1421,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->startReceiver();
++ OFCondition res = dvi->startReceiver();
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1441,9 +1437,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->terminateReceiver();
++ OFCondition res = dvi->terminateReceiver();
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1457,9 +1453,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->startQueryRetrieveServer();
++ OFCondition res = dvi->startQueryRetrieveServer();
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1473,9 +1469,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->terminateQueryRetrieveServer();
++ OFCondition res = dvi->terminateQueryRetrieveServer();
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1509,12 +1505,12 @@
+ char *stu = (char*) env->GetStringUTFChars (studyUID, 0);
+ char *tid = (char*) env->GetStringUTFChars (targetID, 0);
+
+- E_Condition res = dvi->sendStudy(tid, stu);
++ OFCondition res = dvi->sendStudy(tid, stu);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (targetID, tid);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1532,13 +1528,13 @@
+ char *stu = (char*) env->GetStringUTFChars (studyUID, 0);
+ char *ser = (char*) env->GetStringUTFChars (seriesUID, 0);
+
+- E_Condition res = dvi->sendSeries(tid, stu, ser);
++ OFCondition res = dvi->sendSeries(tid, stu, ser);
+
+ env->ReleaseStringUTFChars (targetID, tid);
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (seriesUID, ser);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1557,14 +1553,14 @@
+ char *ser = (char*) env->GetStringUTFChars (seriesUID, 0);
+ char *ins = (char*) env->GetStringUTFChars (instanceUID, 0);
+
+- E_Condition res = dvi->sendIOD(tid, stu, ser, ins);
++ OFCondition res = dvi->sendIOD(tid, stu, ser, ins);
+
+ env->ReleaseStringUTFChars (targetID, tid);
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (seriesUID, ser);
+ env->ReleaseStringUTFChars (instanceUID, ins);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1580,11 +1576,11 @@
+
+ char *fn = (char*) env->GetStringUTFChars (filename, 0);
+
+- E_Condition res = dvi->dumpIOD (fn);
++ OFCondition res = dvi->dumpIOD (fn);
+
+ env->ReleaseStringUTFChars (filename, fn);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1602,13 +1598,13 @@
+ char *ser = (char*) env->GetStringUTFChars (seriesUID, 0);
+ char *ins = (char*) env->GetStringUTFChars (instanceUID, 0);
+
+- E_Condition res = dvi->dumpIOD (stu, ser, ins);
++ OFCondition res = dvi->dumpIOD (stu, ser, ins);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (seriesUID, ser);
+ env->ReleaseStringUTFChars (instanceUID, ins);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1624,11 +1620,11 @@
+
+ char *fn = (char*) env->GetStringUTFChars (filename, 0);
+
+- E_Condition res = dvi->checkIOD (fn);
++ OFCondition res = dvi->checkIOD (fn);
+
+ env->ReleaseStringUTFChars (filename, fn);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1646,13 +1642,13 @@
+ char *ser = (char*) env->GetStringUTFChars (seriesUID, 0);
+ char *ins = (char*) env->GetStringUTFChars (instanceUID, 0);
+
+- E_Condition res = dvi->checkIOD (stu, ser, ins);
++ OFCondition res = dvi->checkIOD (stu, ser, ins);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (seriesUID, ser);
+ env->ReleaseStringUTFChars (instanceUID, ins);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1673,12 +1669,12 @@
+ jboolean isCopy;
+ array = (const void*) env->GetByteArrayElements (pixelData, &isCopy);
+
+- E_Condition res = dvi->saveDICOMImage (fname, array, (long) width, (long) height, aspectRatio);
++ OFCondition res = dvi->saveDICOMImage (fname, array, (long) width, (long) height, aspectRatio);
+
+ env->ReleaseStringUTFChars (filename, fname);
+ env->ReleaseByteArrayElements (pixelData, (jbyte *) array, JNI_ABORT);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1702,13 +1698,13 @@
+ jboolean isCopy;
+ array = (const void*) env->GetByteArrayElements (pixelData, &isCopy);
+
+- E_Condition res = dvi->saveDICOMImage (fname, array, (long) width, (long) height, aspectRatio, expVR, iUID);
++ OFCondition res = dvi->saveDICOMImage (fname, array, (long) width, (long) height, aspectRatio, expVR, iUID);
+
+ env->ReleaseStringUTFChars (filename, fname);
+ env->ReleaseStringUTFChars (instanceUID, iUID);
+ env->ReleaseByteArrayElements (pixelData, (jbyte *) array, JNI_ABORT);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1726,11 +1722,11 @@
+ jboolean isCopy;
+ array = (const void*) env->GetByteArrayElements (pixelData, &isCopy);
+
+- E_Condition res = dvi->saveDICOMImage (array, (long) width, (long) height, aspectRatio);
++ OFCondition res = dvi->saveDICOMImage (array, (long) width, (long) height, aspectRatio);
+
+ env->ReleaseByteArrayElements (pixelData, (jbyte *) array, JNI_ABORT);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1755,13 +1751,13 @@
+
+ OFBool explVR = (explicitVR == JNI_TRUE) ? OFTrue : OFFalse;
+
+- E_Condition res = dvi->saveHardcopyGrayscaleImage (fn, array, (unsigned long) width, (unsigned long) height, aspectRatio, explVR, ui);
++ OFCondition res = dvi->saveHardcopyGrayscaleImage (fn, array, (unsigned long) width, (unsigned long) height, aspectRatio, explVR, ui);
+
+ env->ReleaseStringUTFChars (filename, fn);
+ env->ReleaseStringUTFChars (instanceUID, ui);
+ env->ReleaseShortArrayElements (pixelData, (jshort *) array, 0);
+
+- return res;
++ return res.status();
+ }
+
+
+@@ -1779,11 +1775,11 @@
+ jboolean isCopy;
+ array = (void*) env->GetShortArrayElements (pixelData, &isCopy);
+
+- E_Condition res = dvi->saveHardcopyGrayscaleImage (array, (unsigned long) width, (unsigned long) height, aspectRatio);
++ OFCondition res = dvi->saveHardcopyGrayscaleImage (array, (unsigned long) width, (unsigned long) height, aspectRatio);
+
+ env->ReleaseShortArrayElements (pixelData, (jshort *) array, 0);
+
+- return res;
++ return res.status();
+ }
+
+
+@@ -1801,13 +1797,13 @@
+ char *ser = (char*) env->GetStringUTFChars (seriesUID, 0);
+ char *ins = (char*) env->GetStringUTFChars (instanceUID, 0);
+
+- E_Condition res = dvi->loadStoredPrint (stu, ser, ins, changeStatus == JNI_TRUE ? OFTrue : OFFalse);
++ OFCondition res = dvi->loadStoredPrint (stu, ser, ins, changeStatus == JNI_TRUE ? OFTrue : OFFalse);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (seriesUID, ser);
+ env->ReleaseStringUTFChars (instanceUID, ins);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1823,11 +1819,11 @@
+
+ char *fn = (char*) env->GetStringUTFChars (filename, 0);
+
+- E_Condition res = dvi->loadStoredPrint (fn);
++ OFCondition res = dvi->loadStoredPrint (fn);
+
+ env->ReleaseStringUTFChars (filename, fn);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1847,12 +1843,12 @@
+ OFBool explVR = (explicitVR == JNI_TRUE) ? OFTrue : OFFalse;
+ OFBool wrRqImgS = (writeRequestedImageSize == JNI_TRUE) ? OFTrue : OFFalse;
+
+- E_Condition res = dvi->saveStoredPrint (fn, wrRqImgS, explVR, ui);
++ OFCondition res = dvi->saveStoredPrint (fn, wrRqImgS, explVR, ui);
+
+ env->ReleaseStringUTFChars (filename, fn);
+ env->ReleaseStringUTFChars (instanceUID, ui);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1868,9 +1864,9 @@
+
+ OFBool wrRqImgS = (writeRequestedImageSize == JNI_TRUE) ? OFTrue : OFFalse;
+
+- E_Condition res = dvi->saveStoredPrint (wrRqImgS);
++ OFCondition res = dvi->saveStoredPrint (wrRqImgS);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1884,9 +1880,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- int res = dvi->getNumberOfPrintPreviews();
+-
+- return (jint) res;
++ return (jint) dvi->getNumberOfPrintPreviews();
+ }
+
+
+@@ -1900,9 +1894,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->loadPrintPreview(idx, printLUT, changeStatus == JNI_TRUE ? OFTrue : OFFalse);
++ OFCondition res = dvi->loadPrintPreview(idx, printLUT == JNI_TRUE ? OFTrue : OFFalse, changeStatus == JNI_TRUE ? OFTrue : OFFalse);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1930,9 +1924,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- unsigned long res = dvi->getPrintPreviewSize();
+-
+- return (jlong) res;
++ return (jlong) dvi->getPrintPreviewSize();
+ }
+
+
+@@ -1962,9 +1954,9 @@
+
+ unsigned long w, h;
+
+- E_Condition res = dvi->getPrintPreviewWidthHeight (w, h);
++ OFCondition res = dvi->getPrintPreviewWidthHeight (w, h);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass wIntByRefcls = env->GetObjectClass (width);
+ jclass hIntByRefcls = env->GetObjectClass (height);
+@@ -1975,7 +1967,7 @@
+ env->SetIntField (width, wvalue, (jint) w);
+ env->SetIntField (height, hvalue, (jint) h);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -1993,11 +1985,11 @@
+ jboolean isCopy;
+ array = (void*) env->GetByteArrayElements (bitmap, &isCopy);
+
+- E_Condition res = dvi->getPrintPreviewBitmap (array, (unsigned long) size);
++ OFCondition res = dvi->getPrintPreviewBitmap (array, (unsigned long) size);
+
+ env->ReleaseByteArrayElements (bitmap, (jbyte *) array, 0);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2011,9 +2003,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->disablePState();
++ OFCondition res = dvi->disablePState();
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2027,9 +2019,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->enablePState();
++ OFCondition res = dvi->enablePState();
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2043,9 +2035,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- int res = dvi->getNumberOfPStates();
+-
+- return (jint) res;
++ return (jint) dvi->getNumberOfPStates();
+ }
+
+
+@@ -2059,9 +2049,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->selectPState(idx, changeStatus == JNI_TRUE ? OFTrue : OFFalse);
++ OFCondition res = dvi->selectPState(idx, changeStatus == JNI_TRUE ? OFTrue : OFFalse);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2126,9 +2116,9 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- E_Condition res = dvi->setAmbientLightValue(alv);
++ OFCondition res = dvi->setAmbientLightValue(alv);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2144,9 +2134,9 @@
+
+ double _alv = 0.0;
+
+- E_Condition res = dvi->getAmbientLightValue(_alv);
++ OFCondition res = dvi->getAmbientLightValue(_alv);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass DoubleByRefcls = env->GetObjectClass (alv);
+
+@@ -2154,7 +2144,7 @@
+
+ env->SetDoubleField (alv, value, _alv);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -2170,11 +2160,11 @@
+
+ char *tid = (char*) env->GetStringUTFChars (targetID, 0);
+
+- E_Condition res = dvi->setCurrentPrinter(tid);
++ OFCondition res = dvi->setCurrentPrinter(tid);
+
+ env->ReleaseStringUTFChars (targetID, tid);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2207,11 +2197,11 @@
+
+ char *val = (char *) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = dvi->setPrinterMediumType(val);
++ OFCondition res = dvi->setPrinterMediumType(val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2244,11 +2234,11 @@
+
+ char *val = (char *) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = dvi->setPrinterFilmDestination(val);
++ OFCondition res = dvi->setPrinterFilmDestination(val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2281,11 +2271,11 @@
+
+ char *val = (char *) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = dvi->setPrinterFilmSessionLabel(val);
++ OFCondition res = dvi->setPrinterFilmSessionLabel(val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2318,11 +2308,11 @@
+
+ char *val = (char*) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = dvi->setPrinterPriority(val);
++ OFCondition res = dvi->setPrinterPriority(val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2356,11 +2346,11 @@
+
+ char *val = (char*) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = dvi->setPrinterOwnerID(val);
++ OFCondition res = dvi->setPrinterOwnerID(val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2391,7 +2381,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- return (jint) dvi->setPrinterNumberOfCopies((long) value);
++ return (jint) dvi->setPrinterNumberOfCopies((long) value).status();
+ }
+
+
+@@ -2435,11 +2425,11 @@
+
+ char *lid = (char*) env->GetStringUTFChars (lutID, 0);
+
+- E_Condition res = dvi->selectDisplayPresentationLUT(lid);
++ OFCondition res = dvi->selectDisplayPresentationLUT(lid);
+
+ env->ReleaseStringUTFChars (lutID, lid);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2472,11 +2462,11 @@
+
+ char *lid = (char*) env->GetStringUTFChars (lutID, 0);
+
+- E_Condition res = dvi->selectPrintPresentationLUT(lid);
++ OFCondition res = dvi->selectPrintPresentationLUT(lid);
+
+ env->ReleaseStringUTFChars (lutID, lid);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2507,7 +2497,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- return (jint) dvi->spoolPrintJob((deletePrintedImages == JNI_TRUE) ? OFTrue : OFFalse);
++ return (jint) dvi->spoolPrintJob((deletePrintedImages == JNI_TRUE) ? OFTrue : OFFalse).status();
+ }
+
+
+@@ -2521,7 +2511,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- return (jint) dvi->startPrintSpooler();
++ return (jint) dvi->startPrintSpooler().status();
+ }
+
+
+@@ -2535,7 +2525,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- return (jint) dvi->terminatePrintSpooler();
++ return (jint) dvi->terminatePrintSpooler().status();
+ }
+
+
+@@ -2549,7 +2539,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- return (jint) dvi->startPrintServer();
++ return (jint) dvi->startPrintServer().status();
+ }
+
+
+@@ -2563,7 +2553,7 @@
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+
+- return (jint) dvi->terminatePrintServer();
++ return (jint) dvi->terminatePrintServer().status();
+ }
+
+
+@@ -2581,13 +2571,13 @@
+ char *ser = (char*) env->GetStringUTFChars (seriesUID, 0);
+ char *ins = (char*) env->GetStringUTFChars (instanceUID, 0);
+
+- E_Condition res = dvi->addToPrintHardcopyFromDB (stu, ser, ins);
++ OFCondition res = dvi->addToPrintHardcopyFromDB (stu, ser, ins);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (seriesUID, ser);
+ env->ReleaseStringUTFChars (instanceUID, ins);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2605,13 +2595,13 @@
+ char *ser = (char*) env->GetStringUTFChars (seriesUID, 0);
+ char *ins = (char*) env->GetStringUTFChars (instanceUID, 0);
+
+- E_Condition res = dvi->spoolStoredPrintFromDB (stu, ser, ins);
++ OFCondition res = dvi->spoolStoredPrintFromDB (stu, ser, ins);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (seriesUID, ser);
+ env->ReleaseStringUTFChars (instanceUID, ins);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2797,12 +2787,12 @@
+ char *str1 = (char*) env->GetStringUTFChars (userID, 0);
+ char *str2 = (char*) env->GetStringUTFChars (passwd, 0);
+
+- OFBool result = dvi->verifyUserPassword (str1, str2);
++ OFBool res = dvi->verifyUserPassword (str1, str2);
+
+ env->ReleaseStringUTFChars (userID, str1);
+ env->ReleaseStringUTFChars (passwd, str2);
+
+- return (jboolean) result;
++ return (jboolean) res;
+ }
+
+
+@@ -2819,12 +2809,12 @@
+ char *str1 = (char*) env->GetStringUTFChars (userID, 0);
+ char *str2 = (char*) env->GetStringUTFChars (passwd, 0);
+
+- E_Condition result = dvi->verifyAndSignStructuredReport (str1, str2, (DVPSVerifyAndSignMode) mode);
++ OFCondition res = dvi->verifyAndSignStructuredReport (str1, str2, (DVPSVerifyAndSignMode) mode);
+
+ env->ReleaseStringUTFChars (userID, str1);
+ env->ReleaseStringUTFChars (passwd, str2);
+
+- return (jint) result;
++ return (jint) res.status();
+ }
+
+
+@@ -2855,12 +2845,12 @@
+ char *mod = (char*) env->GetStringUTFChars (module, 0);
+ char *msg = (char*) env->GetStringUTFChars (message, 0);
+
+- E_Condition res = dvi->writeLogMessage ((DVPSLogMessageLevel)level, mod, msg);
++ OFCondition res = dvi->writeLogMessage ((DVPSLogMessageLevel)level, mod, msg);
+
+ env->ReleaseStringUTFChars (module, mod);
+ env->ReleaseStringUTFChars (message, msg);
+
+- return (jint)res;
++ return (jint) res.status();
+ }
+
+
+@@ -3868,8 +3862,8 @@
+ (JNIEnv *env, jobject obj)
+ {
+ DVInterface *dvi = getAddressOfDVInterface (env, obj);
+- int res = dvi->getMessagePort();
+- return (jint) res;
++
++ return (jint) dvi->getMessagePort();
+ }
+
+
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/libsrc/DVPresentationState.cpp dsgui360/interface/libsrc/DVPresentationState.cpp
+--- dsgui351/interface/libsrc/DVPresentationState.cpp 2009-01-07 17:53:32.279185000 +0100
++++ dsgui360/interface/libsrc/DVPresentationState.cpp 2009-01-07 17:53:07.074405000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999..2000, Institute for MicroTherapy and OFFIS
++ * Copyright (C) 1999-2003, Institute for MicroTherapy and OFFIS
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -161,7 +161,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -179,7 +179,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -211,7 +211,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -229,7 +229,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -261,7 +261,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -279,7 +279,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -297,7 +297,7 @@
+ unsigned long width = 0;
+ unsigned long height = 0;
+
+- E_Condition res = ps->getPixelData (pixelData, width, height);
++ OFCondition res = ps->getPixelData (pixelData, width, height);
+
+ jclass pixelcls = env->GetObjectClass (pixel);
+ jfieldID widthfid = env->GetFieldID (pixelcls, "width", "J");
+@@ -313,7 +313,7 @@
+
+ env->SetObjectField (pixel, datafid, array);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -342,7 +342,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->setRotation ((DVPSRotationType) rotation);
++ return (jint) ps->setRotation ((DVPSRotationType) rotation).status();
+ }
+
+
+@@ -385,7 +385,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->setFlip (isFlipped == JNI_TRUE ? OFTrue : OFFalse);
++ return (jint) ps->setFlip (isFlipped == JNI_TRUE ? OFTrue : OFFalse).status();
+ }
+
+
+@@ -409,7 +409,7 @@
+ char *fid = (char*) env->GetStringUTFChars (filesetID, 0);
+ char *fui = (char*) env->GetStringUTFChars (filesetUID, 0);
+
+- E_Condition res = ps->addImageReference (stu, ser, sop, ins, fra, aet, fid, fui);
++ OFCondition res = ps->addImageReference (stu, ser, sop, ins, fra, aet, fid, fui);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (seriesUID, ser);
+@@ -420,7 +420,7 @@
+ env->ReleaseStringUTFChars (filesetID, fid);
+ env->ReleaseStringUTFChars (filesetUID, fui);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -438,13 +438,13 @@
+ char *fid = (char*) env->GetStringUTFChars (filesetID, 0);
+ char *fui = (char*) env->GetStringUTFChars (filesetUID, 0);
+
+- E_Condition res = ps->addImageReferenceAttached (aet, fid, fui);
++ OFCondition res = ps->addImageReferenceAttached (aet, fid, fui);
+
+ env->ReleaseStringUTFChars (aetitle, aet);
+ env->ReleaseStringUTFChars (filesetID, fid);
+ env->ReleaseStringUTFChars (filesetUID, fui);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -462,13 +462,13 @@
+ char *ser = (char*) env->GetStringUTFChars (seriesUID, 0);
+ char *ins = (char*) env->GetStringUTFChars (instanceUID, 0);
+
+- E_Condition res = ps->removeImageReference (stu, ser, ins);
++ OFCondition res = ps->removeImageReference (stu, ser, ins);
+
+ env->ReleaseStringUTFChars (studyUID, stu);
+ env->ReleaseStringUTFChars (seriesUID, ser);
+ env->ReleaseStringUTFChars (instanceUID, ins);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -482,7 +482,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->removeImageReferenceAttached ();
++ return (jint) ps->removeImageReferenceAttached ().status();
+ }
+
+
+@@ -498,16 +498,16 @@
+
+ unsigned long fr;
+
+- E_Condition res = ps->getImageNumberOfFrames (fr);
++ OFCondition res = ps->getImageNumberOfFrames (fr);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass IntByRefcls = env->GetObjectClass (frame);
+ jfieldID value = env->GetFieldID (IntByRefcls, "value", "I");
+
+ env->SetIntField (frame, value, (jint) fr);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -521,7 +521,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->selectImageFrameNumber (frame);
++ return (jint) ps->selectImageFrameNumber (frame).status();
+ }
+
+
+@@ -634,7 +634,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->setRectShutter (lv, rv, uh, lh);
++ return (jint) ps->setRectShutter (lv, rv, uh, lh).status();
+ }
+
+
+@@ -664,7 +664,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->setCurrentPresentationLUT ((DVPSPresentationLUTType) type);
++ return (jint) ps->setCurrentPresentationLUT ((DVPSPresentationLUTType) type).status();
+ }
+
+
+@@ -756,7 +756,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->setCircularShutter (centerX, centerY, radius);
++ return (jint) ps->setCircularShutter (centerX, centerY, radius).status();
+ }
+
+
+@@ -784,7 +784,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->setPolyShutterOrigin (x, y);
++ return (jint) ps->setPolyShutterOrigin (x, y).status();
+ }
+
+
+@@ -798,7 +798,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->addPolyShutterVertex (x, y);
++ return (jint) ps->addPolyShutterVertex (x, y).status();
+ }
+
+
+@@ -814,9 +814,9 @@
+
+ Sint32 x, y;
+
+- E_Condition res = ps->getPolyShutterVertex (idx, x, y);
++ OFCondition res = ps->getPolyShutterVertex (idx, x, y);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass pointcls = env->GetObjectClass (pointXY);
+ jfieldID xfid = env->GetFieldID (pointcls, "x", "I");
+@@ -825,7 +825,7 @@
+ env->SetIntField (pointXY, xfid, (jint) x);
+ env->SetIntField (pointXY, yfid, (jint) y);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -853,7 +853,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->setShutterPresentationValue ((Uint16) pvalue);
++ return (jint) ps->setShutterPresentationValue ((Uint16) pvalue).status();
+ }
+
+
+@@ -971,19 +971,19 @@
+
+ /*
+ * Class: J2Ci_jDVPresentationState
+- * Method: getDisplayedArea
++ * Method: getStandardDisplayedArea
+ * Signature: (LJ2Ci/jIntByRef;LJ2Ci/jIntByRef;LJ2Ci/jIntByRef;LJ2Ci/jIntByRef;)I
+ */
+-JNIEXPORT jint JNICALL Java_J2Ci_jDVPresentationState_getDisplayedArea
++JNIEXPORT jint JNICALL Java_J2Ci_jDVPresentationState_getStandardDisplayedArea
+ (JNIEnv *env, jobject obj, jobject tlhcX, jobject tlhcY, jobject brhcX, jobject brhcY)
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+ long tx, ty, bx, by;
+
+- E_Condition res = ps->getDisplayedArea (tx, ty, bx, by);
++ OFCondition res = ps->getStandardDisplayedArea (tx, ty, bx, by);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass txIntByRefcls = env->GetObjectClass (tlhcX);
+ jclass tyIntByRefcls = env->GetObjectClass (tlhcY);
+@@ -1000,7 +1000,42 @@
+ env->SetIntField (brhcX, bxvalue, (jint) bx);
+ env->SetIntField (brhcY, byvalue, (jint) by);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
++}
++
++
++/*
++ * Class: J2Ci_jDVPresentationState
++ * Method: getImageRelativeDisplayedArea
++ * Signature: (LJ2Ci/jIntByRef;LJ2Ci/jIntByRef;LJ2Ci/jIntByRef;LJ2Ci/jIntByRef;)I
++ */
++JNIEXPORT jint JNICALL Java_J2Ci_jDVPresentationState_getImageRelativeDisplayedArea
++ (JNIEnv *env, jobject obj, jobject tlhcX, jobject tlhcY, jobject brhcX, jobject brhcY)
++{
++ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
++
++ long tx, ty, bx, by;
++
++ OFCondition res = ps->getImageRelativeDisplayedArea (tx, ty, bx, by);
++
++ if (res != EC_Normal) return (jint) res.status();
++
++ jclass txIntByRefcls = env->GetObjectClass (tlhcX);
++ jclass tyIntByRefcls = env->GetObjectClass (tlhcY);
++ jclass bxIntByRefcls = env->GetObjectClass (brhcX);
++ jclass byIntByRefcls = env->GetObjectClass (brhcY);
++
++ jfieldID txvalue = env->GetFieldID (txIntByRefcls, "value", "I");
++ jfieldID tyvalue = env->GetFieldID (tyIntByRefcls, "value", "I");
++ jfieldID bxvalue = env->GetFieldID (bxIntByRefcls, "value", "I");
++ jfieldID byvalue = env->GetFieldID (byIntByRefcls, "value", "I");
++
++ env->SetIntField (tlhcX, txvalue, (jint) tx);
++ env->SetIntField (tlhcY, tyvalue, (jint) ty);
++ env->SetIntField (brhcX, bxvalue, (jint) bx);
++ env->SetIntField (brhcY, byvalue, (jint) by);
++
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -1016,9 +1051,9 @@
+
+ double xx, yy;
+
+- E_Condition res = ps->getDisplayedAreaPresentationPixelSpacing (xx, yy);
++ OFCondition res = ps->getDisplayedAreaPresentationPixelSpacing (xx, yy);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass xDoubleByRefcls = env->GetObjectClass (x);
+ jclass yDoubleByRefcls = env->GetObjectClass (y);
+@@ -1029,7 +1064,7 @@
+ env->SetDoubleField (x, xvalue, xx);
+ env->SetDoubleField (y, yvalue, yy);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+ /*
+@@ -1044,9 +1079,9 @@
+
+ double m;
+
+- E_Condition res = ps->getDisplayedAreaPresentationPixelMagnificationRatio (m);
++ OFCondition res = ps->getDisplayedAreaPresentationPixelMagnificationRatio (m);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass mDoubleByRefcls = env->GetObjectClass (magnification);
+
+@@ -1054,7 +1089,7 @@
+
+ env->SetDoubleField (magnification, mvalue, m);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -1075,17 +1110,33 @@
+
+ /*
+ * Class: J2Ci_jDVPresentationState
+- * Method: setDisplayedArea
++ * Method: setStandardDisplayedArea
++ * Signature: (IIIIIDI)I
++ */
++JNIEXPORT jint JNICALL Java_J2Ci_jDVPresentationState_setStandardDisplayedArea
++ (JNIEnv *env, jobject obj, jint sizeMode, jint tlhcX, jint tlhcY, jint brhcX, jint brhcY,
++ jdouble magnification, jint applicability)
++{
++ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
++
++ return (jint) ps->setStandardDisplayedArea ((DVPSPresentationSizeMode) sizeMode, tlhcX,
++ tlhcY, brhcX, brhcY, magnification, (DVPSObjectApplicability) applicability).status();
++}
++
++
++/*
++ * Class: J2Ci_jDVPresentationState
++ * Method: setImageRelativeDisplayedArea
+ * Signature: (IIIIIDI)I
+ */
+-JNIEXPORT jint JNICALL Java_J2Ci_jDVPresentationState_setDisplayedArea
++JNIEXPORT jint JNICALL Java_J2Ci_jDVPresentationState_setImageRelativeDisplayedArea
+ (JNIEnv *env, jobject obj, jint sizeMode, jint tlhcX, jint tlhcY, jint brhcX, jint brhcY,
+ jdouble magnification, jint applicability)
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->setDisplayedArea ((DVPSPresentationSizeMode) sizeMode, tlhcX,
+- tlhcY, brhcX, brhcY, magnification, (DVPSObjectApplicability) applicability);
++ return (jint) ps->setImageRelativeDisplayedArea ((DVPSPresentationSizeMode) sizeMode, tlhcX,
++ tlhcY, brhcX, brhcY, magnification, (DVPSObjectApplicability) applicability).status();
+ }
+
+
+@@ -1133,16 +1184,16 @@
+
+ Uint16 gr;
+
+- E_Condition res = ps->getGraphicLayerRecommendedDisplayValueGray (idx, gr);
++ OFCondition res = ps->getGraphicLayerRecommendedDisplayValueGray (idx, gr);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass IntByRefcls = env->GetObjectClass (gray);
+ jfieldID value = env->GetFieldID (IntByRefcls, "value", "I");
+
+ env->SetIntField (gray, value, (jint) gr);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -1158,9 +1209,9 @@
+
+ Uint16 rr, gg, bb;
+
+- E_Condition res = ps->getGraphicLayerRecommendedDisplayValueRGB (idx, rr, gg, bb);
++ OFCondition res = ps->getGraphicLayerRecommendedDisplayValueRGB (idx, rr, gg, bb);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass rIntByRefcls = env->GetObjectClass (r);
+ jclass gIntByRefcls = env->GetObjectClass (g);
+@@ -1174,7 +1225,7 @@
+ env->SetIntField (g, gvalue, (jint) gg);
+ env->SetIntField (b, bvalue, (jint) bb);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -1188,7 +1239,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->setGraphicLayerRecommendedDisplayValueGray (idx, (Uint16) gray);
++ return (jint) ps->setGraphicLayerRecommendedDisplayValueGray (idx, (Uint16) gray).status();
+ }
+
+
+@@ -1202,7 +1253,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->setGraphicLayerRecommendedDisplayValueRGB (idx, (Uint16) r, (Uint16) g, (Uint16) b);
++ return (jint) ps->setGraphicLayerRecommendedDisplayValueRGB (idx, (Uint16) r, (Uint16) g, (Uint16) b).status();
+ }
+
+
+@@ -1218,11 +1269,11 @@
+
+ char *nam = (char*) env->GetStringUTFChars (name, 0);
+
+- E_Condition res = ps->setGraphicLayerName (idx, nam);
++ OFCondition res = ps->setGraphicLayerName (idx, nam);
+
+ env->ReleaseStringUTFChars (name, nam);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1236,7 +1287,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -1254,7 +1305,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1268,7 +1319,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->toFrontGraphicLayer (idx);
++ return (jint) ps->toFrontGraphicLayer (idx).status();
+ }
+
+
+@@ -1282,7 +1333,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->toBackGraphicLayer (idx);
++ return (jint) ps->toBackGraphicLayer (idx).status();
+ }
+
+
+@@ -1296,7 +1347,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -1316,7 +1367,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1330,7 +1381,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->removeGraphicLayer (idx);
++ return (jint) ps->removeGraphicLayer (idx).status();
+ }
+
+
+@@ -1400,7 +1451,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->removeTextObject (layer, idx);
++ return (jint) ps->removeTextObject (layer, idx).status();
+ }
+
+
+@@ -1414,7 +1465,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->moveTextObject (old_layer, idx, new_layer, (DVPSObjectApplicability) applicability);
++ return (jint) ps->moveTextObject (old_layer, idx, new_layer, (DVPSObjectApplicability) applicability).status();
+ }
+
+
+@@ -1470,7 +1521,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->removeGraphicObject (layer, idx);
++ return (jint) ps->removeGraphicObject (layer, idx).status();
+ }
+
+
+@@ -1484,7 +1535,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->moveGraphicObject (old_layer, idx, new_layer, (DVPSObjectApplicability) applicability);
++ return (jint) ps->moveGraphicObject (old_layer, idx, new_layer, (DVPSObjectApplicability) applicability).status();
+ }
+
+
+@@ -1512,7 +1563,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->setCharset ((DVPScharacterSet) charset);
++ return (jint) ps->setCharset ((DVPScharacterSet) charset).status();
+ }
+
+
+@@ -1614,7 +1665,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->addCurve (layer, curveidxinimage);
++ return (jint) ps->addCurve (layer, curveidxinimage).status();
+ }
+
+
+@@ -1628,7 +1679,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->removeCurve (layer, idx);
++ return (jint) ps->removeCurve (layer, idx).status();
+ }
+
+
+@@ -1642,7 +1693,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->moveCurve (old_layer, idx, new_layer);
++ return (jint) ps->moveCurve (old_layer, idx, new_layer).status();
+ }
+
+
+@@ -1658,9 +1709,9 @@
+
+ double ww;
+
+- E_Condition res = ps->getCurrentWindowWidth (ww);
++ OFCondition res = ps->getCurrentWindowWidth (ww);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass wDoubleByRefcls = env->GetObjectClass (w);
+
+@@ -1668,7 +1719,7 @@
+
+ env->SetDoubleField (w, wvalue, ww);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -1684,9 +1735,9 @@
+
+ double cc;
+
+- E_Condition res = ps->getCurrentWindowCenter (cc);
++ OFCondition res = ps->getCurrentWindowCenter (cc);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass cDoubleByRefcls = env->GetObjectClass (c);
+
+@@ -1694,7 +1745,7 @@
+
+ env->SetDoubleField (c, cvalue, (jdouble) cc);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -1818,7 +1869,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->setVOILUTFromImage (idx, (DVPSObjectApplicability) applicability);
++ return (jint) ps->setVOILUTFromImage (idx, (DVPSObjectApplicability) applicability).status();
+ }
+
+
+@@ -1832,7 +1883,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->setVOIWindowFromImage (idx, (DVPSObjectApplicability) applicability);
++ return (jint) ps->setVOIWindowFromImage (idx, (DVPSObjectApplicability) applicability).status();
+ }
+
+
+@@ -1846,7 +1897,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- E_Condition res = EC_IllegalCall;
++ OFCondition res = EC_IllegalCall;
+
+ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
+
+@@ -1865,7 +1916,7 @@
+ }
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -1893,7 +1944,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->setGammaVOILUT (gammaValue, (DVPSObjectApplicability) applicability);
++ return (jint) ps->setGammaVOILUT (gammaValue, (DVPSObjectApplicability) applicability).status();
+ }
+
+
+@@ -1991,8 +2042,8 @@
+ const void *overlayData;
+ unsigned int width;
+ unsigned int height;
+- unsigned int left;
+- unsigned int top;
++ unsigned int left_pos;
++ unsigned int top_pos;
+ unsigned short foreground;
+ unsigned short bits;
+ OFBool isROI;
+@@ -2007,9 +2058,9 @@
+ idx = env->GetIntField (od, idxfid);
+ bits = (unsigned short) env->GetIntField (od, bitsfid);
+
+- E_Condition res = ps->getOverlayData (layer, idx, overlayData, width, height, left, top, isROI, foreground, bits);
++ OFCondition res = ps->getOverlayData (layer, idx, overlayData, width, height, left_pos, top_pos, isROI, foreground, bits);
+
+- if (res != EC_Normal) return res; // Fehler??
++ if (res != EC_Normal) return res.status(); // error??
+
+
+ jfieldID datafid = env->GetFieldID (ovdatcls, "overlayData", "[B");
+@@ -2023,8 +2074,8 @@
+
+ env->SetIntField (od, widthfid, (jint) width);
+ env->SetIntField (od, heightfid, (jint) height);
+- env->SetIntField (od, leftfid, (jint) left);
+- env->SetIntField (od, topfid, (jint) top);
++ env->SetIntField (od, leftfid, (jint) left_pos);
++ env->SetIntField (od, topfid, (jint) top_pos);
+ env->SetShortField (od, foregroundfid, (jshort) foreground);
+ env->SetBooleanField (od, isroifid, (jboolean) (isROI == OFTrue) ? JNI_TRUE : JNI_FALSE);
+
+@@ -2043,7 +2094,7 @@
+ env->SetObjectField (od, data12fid, array);
+ }
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2255,7 +2306,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->removeOverlayFromPresentationState (idx);
++ return (jint) ps->removeOverlayFromPresentationState (idx).status();
+ }
+
+
+@@ -2269,7 +2320,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->changeOverlayGroupInPresentationState (idx, (short) newGroup);
++ return (jint) ps->changeOverlayGroupInPresentationState (idx, (short) newGroup).status();
+ }
+
+
+@@ -2297,7 +2348,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->activateOverlayInImage (layer, idx);
++ return (jint) ps->activateOverlayInImage (layer, idx).status();
+ }
+
+
+@@ -2311,7 +2362,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->activateOverlayInPresentationState (layer, idx);
++ return (jint) ps->activateOverlayInPresentationState (layer, idx).status();
+ }
+
+
+@@ -2325,7 +2376,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->activateOverlayAsBitmapShutter (idx);
++ return (jint) ps->activateOverlayAsBitmapShutter (idx).status();
+ }
+
+
+@@ -2339,7 +2390,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->deactivateOverlay (layer, idx);
++ return (jint) ps->deactivateOverlay (layer, idx).status();
+ }
+
+
+@@ -2353,7 +2404,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->moveOverlay (old_layer, idx, new_layer);
++ return (jint) ps->moveOverlay (old_layer, idx, new_layer).status();
+ }
+
+
+@@ -2371,9 +2422,9 @@
+
+ max = min = -123.45;
+
+- E_Condition res = ps->getImageMinMaxPixelRange (min, max);
++ OFCondition res = ps->getImageMinMaxPixelRange (min, max);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass minDoubleByRefcls = env->GetObjectClass (minValue);
+ jclass maxDoubleByRefcls = env->GetObjectClass (maxValue);
+@@ -2384,7 +2435,7 @@
+ env->SetDoubleField (minValue, minvalue, min);
+ env->SetDoubleField (maxValue, maxvalue, max);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -2402,9 +2453,9 @@
+
+ max = min = -123.45;
+
+- E_Condition res = ps->getImageMinMaxPixelValue (min, max);
++ OFCondition res = ps->getImageMinMaxPixelValue (min, max);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass minDoubleByRefcls = env->GetObjectClass (minValue);
+ jclass maxDoubleByRefcls = env->GetObjectClass (maxValue);
+@@ -2415,7 +2466,7 @@
+ env->SetDoubleField (minValue, minvalue, min);
+ env->SetDoubleField (maxValue, maxvalue, max);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -2431,9 +2482,9 @@
+
+ unsigned long w;
+
+- E_Condition res = ps->getImageWidth (w);
++ OFCondition res = ps->getImageWidth (w);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass wIntByRefcls = env->GetObjectClass (width);
+
+@@ -2441,7 +2492,7 @@
+
+ env->SetIntField (width, wvalue, w);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -2457,9 +2508,9 @@
+
+ unsigned long h;
+
+- E_Condition res = ps->getImageHeight (h);
++ OFCondition res = ps->getImageHeight (h);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass hIntByRefcls = env->GetObjectClass (height);
+
+@@ -2467,7 +2518,7 @@
+
+ env->SetIntField (height, hvalue, h);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -2497,9 +2548,9 @@
+
+ OFString st, se, so, in, fr, ae, fid, fuid;
+
+- E_Condition res = ps->getImageReference (idx, st, se, so, in, fr, ae, fid, fuid);
++ OFCondition res = ps->getImageReference (idx, st, se, so, in, fr, ae, fid, fuid);
+
+- if (res != EC_Normal) return res;
++ if (res != EC_Normal) return res.status();
+
+ jclass paramcls = env->GetObjectClass (param);
+ jfieldID stfid = env->GetFieldID (paramcls, "studyUID", "Ljava/lang/String;");
+@@ -2511,11 +2562,10 @@
+ jfieldID fifid = env->GetFieldID (paramcls, "filesetID", "Ljava/lang/String;");
+ jfieldID fufid = env->GetFieldID (paramcls, "filesetUID", "Ljava/lang/String;");
+
+- jclass strcls = env->FindClass ("Ljava/lang/String;"); // Stringklasse
+- jmethodID constr= env->GetMethodID (strcls, "<init>", "()V"); // Konstruktor ID
+-
+- // Strings erzeugen
++ jclass strcls = env->FindClass ("Ljava/lang/String;"); // string class
++ jmethodID constr= env->GetMethodID (strcls, "<init>", "()V"); // constructor ID
+
++ // create strings ...
+ jobject stobj = env->NewObject (strcls, constr, env->NewStringUTF (st.c_str()));
+ jobject seobj = env->NewObject (strcls, constr, env->NewStringUTF (se.c_str()));
+ jobject soobj = env->NewObject (strcls, constr, env->NewStringUTF (so.c_str()));
+@@ -2525,7 +2575,7 @@
+ jobject fiobj = env->NewObject (strcls, constr, env->NewStringUTF (fid.c_str()));
+ jobject fuobj = env->NewObject (strcls, constr, env->NewStringUTF (fuid.c_str()));
+
+- // und dem Parameter übergeben
++ // ... and set parameter
+ env->SetObjectField (param, stfid, stobj);
+ env->SetObjectField (param, sefid, seobj);
+ env->SetObjectField (param, sofid, soobj);
+@@ -2535,7 +2585,7 @@
+ env->SetObjectField (param, fifid, fiobj);
+ env->SetObjectField (param, fufid, fuobj);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2550,7 +2600,7 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- return (jint) ps->exchangeGraphicLayers (idx1, idx2);
++ return (jint) ps->exchangeGraphicLayers (idx1, idx2).status();
+ }
+
+
+@@ -2600,11 +2650,11 @@
+ jboolean isCopy;
+ array = (void*) env->GetByteArrayElements (pixelData, &isCopy);
+
+- E_Condition res = ps->getPixelData (array, (unsigned long) size);
++ OFCondition res = ps->getPixelData (array, (unsigned long) size);
+
+ env->ReleaseByteArrayElements (pixelData, (jbyte *) array, 0);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2618,9 +2668,9 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- E_Condition res = ps->invertImage();
++ OFCondition res = ps->invertImage();
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2664,9 +2714,9 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- E_Condition res = ps->setMinimumPrintBitmapWidthHeight((unsigned long) width, (unsigned long) height);
++ OFCondition res = ps->setMinimumPrintBitmapWidthHeight((unsigned long) width, (unsigned long) height);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2680,9 +2730,9 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- E_Condition res = ps->setMaximumPrintBitmapWidthHeight((unsigned long) width, (unsigned long) height);
++ OFCondition res = ps->setMaximumPrintBitmapWidthHeight((unsigned long) width, (unsigned long) height);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2698,9 +2748,9 @@
+
+ unsigned long w, h;
+
+- E_Condition res = ps->getPrintBitmapWidthHeight (w, h);
++ OFCondition res = ps->getPrintBitmapWidthHeight (w, h);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass widthCls = env->GetObjectClass (width);
+ jclass heightCls = env->GetObjectClass (height);
+@@ -2709,7 +2759,7 @@
+ env->SetIntField (width, wvalue, (jint) w);
+ env->SetIntField (height, hvalue, (jint) h);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -2725,15 +2775,15 @@
+
+ unsigned long w;
+
+- E_Condition res = ps->getPrintBitmapWidth (w);
++ OFCondition res = ps->getPrintBitmapWidth (w);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass widthCls = env->GetObjectClass (width);
+ jfieldID wvalue = env->GetFieldID (widthCls, "value", "I");
+ env->SetIntField (width, wvalue, (jint) w);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -2749,15 +2799,15 @@
+
+ unsigned long h;
+
+- E_Condition res = ps->getPrintBitmapHeight (h);
++ OFCondition res = ps->getPrintBitmapHeight (h);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass heightCls = env->GetObjectClass (height);
+ jfieldID hvalue = env->GetFieldID (heightCls, "value", "I");
+ env->SetIntField (height, hvalue, (jint) h);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -2787,14 +2837,14 @@
+
+ OFString ris;
+
+- E_Condition res = ps->getPrintBitmapRequestedImageSize (ris);
++ OFCondition res = ps->getPrintBitmapRequestedImageSize (ris);
+
+ if (res == EC_Normal)
+ {
+ jfieldID value = env->GetFieldID (env->GetObjectClass (requestedImageSize), "value", "Ljava/lang/String;");
+ env->SetObjectField (requestedImageSize, value, env->NewStringUTF (ris.c_str()));
+ }
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2812,11 +2862,11 @@
+ jboolean isCopy;
+ array = (void*) env->GetShortArrayElements (bitmap, &isCopy);
+
+- E_Condition res = ps->getPrintBitmap (array, (unsigned long) size);
++ OFCondition res = ps->getPrintBitmap (array, (unsigned long) size);
+
+ env->ReleaseShortArrayElements (bitmap, (jshort *) array, 0);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2848,9 +2898,9 @@
+ {
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+- E_Condition res = ps->setDefaultPresentationLUTShape ();
++ OFCondition res = ps->setDefaultPresentationLUTShape ();
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2865,9 +2915,9 @@
+ DVPresentationState *ps = getAddressOfDVPresentationState (env, obj);
+
+ OFBool cm = clipMode == JNI_TRUE ? OFTrue : OFFalse;
+- E_Condition res = ps->createPreviewImage (maxWidth, maxHeight, cm);
++ OFCondition res = ps->createPreviewImage (maxWidth, maxHeight, cm);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -2911,9 +2961,9 @@
+
+ unsigned long ww, hh;
+
+- E_Condition res = ps->getPreviewImageWidthHeight (ww, hh);
++ OFCondition res = ps->getPreviewImageWidthHeight (ww, hh);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass wIntByRefcls = env->GetObjectClass (width);
+ jclass hIntByRefcls = env->GetObjectClass (height);
+@@ -2924,7 +2974,7 @@
+ env->SetIntField (width, wvalue, (jint) ww);
+ env->SetIntField (height, hvalue, (jint) hh);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -2940,15 +2990,15 @@
+
+ unsigned long ww;
+
+- E_Condition res = ps->getPreviewImageWidth (ww);
++ OFCondition res = ps->getPreviewImageWidth (ww);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass wIntByRefcls = env->GetObjectClass (width);
+ jfieldID wvalue = env->GetFieldID (wIntByRefcls, "value", "I");
+ env->SetIntField (width, wvalue, (jint) ww);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -2964,15 +3014,15 @@
+
+ unsigned long hh;
+
+- E_Condition res = ps->getPreviewImageHeight (hh);
++ OFCondition res = ps->getPreviewImageHeight (hh);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass hIntByRefcls = env->GetObjectClass (height);
+ jfieldID hvalue = env->GetFieldID (hIntByRefcls, "value", "I");
+ env->SetIntField (height, hvalue, (jint) hh);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -2990,11 +3040,11 @@
+ jboolean isCopy;
+ array = (void*) env->GetByteArrayElements (bitmap, &isCopy);
+
+- E_Condition res = ps->getPreviewImageBitmap (array, (unsigned long) size);
++ OFCondition res = ps->getPreviewImageBitmap (array, (unsigned long) size);
+
+ env->ReleaseByteArrayElements (bitmap, (jbyte *) array, 0);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -3085,7 +3135,7 @@
+ offy < 0 || zoom <= 0 || scalex <= 0 ||
+ scaley <= 0) return JNI_FALSE; // Fehler in Eingabewerten
+
+- E_Condition res;
++ OFCondition res;
+
+ const char *orgPixData;
+ unsigned long oWidth;
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/libsrc/DVPSCurve.cpp dsgui360/interface/libsrc/DVPSCurve.cpp
+--- dsgui351/interface/libsrc/DVPSCurve.cpp 2009-01-07 17:53:32.284179000 +0100
++++ dsgui360/interface/libsrc/DVPSCurve.cpp 2009-01-07 17:53:07.078402000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy and OFFIS
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -15,6 +15,13 @@
+ * http://www.microtherapy.de/go/cs
+ * mailto:computer.science at microtherapy.de
+ *
++ * and
++ *
++ * Kuratorium OFFIS e.V.
++ * Healthcare Information and Communication Systems
++ * Escherweg 2
++ * D-26121 Oldenburg, Germany
++ *
+ * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND THE INSTITUTE MAKES NO
+ * WARRANTY REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY
+ * OR FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES
+@@ -148,7 +153,7 @@
+
+ E_Condition res = cur->getPoint (idx, xx, yy);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass xDoubleByRefcls = env->GetObjectClass (x);
+ jclass yDoubleByRefcls = env->GetObjectClass (y);
+@@ -159,7 +164,7 @@
+ env->SetDoubleField (x, xvalue, (jdouble) xx);
+ env->SetDoubleField (y, yvalue, (jdouble) yy);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/libsrc/DVPSGraphicObject.cpp dsgui360/interface/libsrc/DVPSGraphicObject.cpp
+--- dsgui351/interface/libsrc/DVPSGraphicObject.cpp 2009-01-07 17:53:32.288175000 +0100
++++ dsgui360/interface/libsrc/DVPSGraphicObject.cpp 2009-01-07 17:53:07.082397000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy and OFFIS
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -15,6 +15,13 @@
+ * http://www.microtherapy.de/go/cs
+ * mailto:computer.science at microtherapy.de
+ *
++ * and
++ *
++ * Kuratorium OFFIS e.V.
++ * Healthcare Information and Communication Systems
++ * Escherweg 2
++ * D-26121 Oldenburg, Germany
++ *
+ * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND THE INSTITUTE MAKES NO
+ * WARRANTY REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY
+ * OR FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES
+@@ -131,7 +137,7 @@
+
+ E_Condition res = go->getPoint (idx, xx, yy);
+
+- if (res != EC_Normal) return (jint) res;
++ if (res != EC_Normal) return (jint) res.status();
+
+ jclass xDoubleByRefcls = env->GetObjectClass (x);
+ jclass yDoubleByRefcls = env->GetObjectClass (y);
+@@ -142,7 +148,7 @@
+ env->SetDoubleField (x, xvalue, (jdouble) xx);
+ env->SetDoubleField (y, yvalue, (jdouble) yy);
+
+- return (jint) EC_Normal;
++ return (jint) EC_Normal.status();
+ }
+
+
+@@ -192,11 +198,11 @@
+
+ ddata = env->GetFloatArrayElements(data, &isCopy);
+
+- E_Condition res = go->setData (number, ddata, (DVPSannotationUnit) unit);
++ OFCondition res = go->setData (number, ddata, (DVPSannotationUnit) unit);
+
+ env->ReleaseFloatArrayElements (data, ddata, 0);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -211,7 +217,7 @@
+ {
+ DVPSGraphicObject *go = getAddressOfDVPSGraphicObject (env, obj);
+
+- return (jint) go->setGraphicType ((DVPSGraphicType) gtype);
++ return (jint) go->setGraphicType ((DVPSGraphicType) gtype).status();
+ }
+
+
+@@ -226,7 +232,7 @@
+ {
+ DVPSGraphicObject *go = getAddressOfDVPSGraphicObject (env, obj);
+
+- return (jint) go->setFilled ((filled != 0) ? OFTrue : OFFalse);
++ return (jint) go->setFilled ((filled != 0) ? OFTrue : OFFalse).status();
+ }
+
+
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/libsrc/DVPSStoredPrint.cpp dsgui360/interface/libsrc/DVPSStoredPrint.cpp
+--- dsgui351/interface/libsrc/DVPSStoredPrint.cpp 2009-01-07 17:53:32.293169000 +0100
++++ dsgui360/interface/libsrc/DVPSStoredPrint.cpp 2009-01-07 17:53:07.087392000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy and OFFIS
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -15,6 +15,13 @@
+ * http://www.microtherapy.de/go/cs
+ * mailto:computer.science at microtherapy.de
+ *
++ * and
++ *
++ * Kuratorium OFFIS e.V.
++ * Healthcare Information and Communication Systems
++ * Escherweg 2
++ * D-26121 Oldenburg, Germany
++ *
+ * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND THE INSTITUTE MAKES NO
+ * WARRANTY REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY
+ * OR FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES
+@@ -78,13 +86,14 @@
+
+ char *val = (char*) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = sp->setOriginator (val);
++ OFCondition res = sp->setOriginator (val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: setDestination
+@@ -97,13 +106,14 @@
+
+ char *val = (char*) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = sp->setDestination (val);
++ OFCondition res = sp->setDestination (val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: setPrinterName
+@@ -116,13 +126,14 @@
+
+ char *val = (char*) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = sp->setPrinterName (val);
++ OFCondition res = sp->setPrinterName (val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: setImageDisplayFormat
+@@ -133,9 +144,10 @@
+ {
+ DVPSStoredPrint *sp = getAddressOfDVPSStoredPrint (env, obj);
+
+- return (jint) sp->setImageDisplayFormat((unsigned long)columns, (unsigned long)rows);
++ return (jint) sp->setImageDisplayFormat((unsigned long)columns, (unsigned long)rows).status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: setFilmSizeID
+@@ -148,13 +160,14 @@
+
+ char *val = (char*) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = sp->setFilmSizeID (val);
++ OFCondition res = sp->setFilmSizeID (val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: setMagnificationType
+@@ -167,13 +180,14 @@
+
+ char *val = (char*) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = sp->setMagnificationType (val);
++ OFCondition res = sp->setMagnificationType (val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: setSmoothingType
+@@ -186,13 +200,14 @@
+
+ char *val = (char*) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = sp->setSmoothingType (val);
++ OFCondition res = sp->setSmoothingType (val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: setConfigurationInformation
+@@ -205,13 +220,14 @@
+
+ char *val = (char*) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = sp->setConfigurationInformation (val);
++ OFCondition res = sp->setConfigurationInformation (val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: setResolutionID
+@@ -224,13 +240,14 @@
+
+ char *val = (char*) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = sp->setResolutionID (val);
++ OFCondition res = sp->setResolutionID (val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: setFilmOrientation
+@@ -241,9 +258,9 @@
+ {
+ DVPSStoredPrint *sp = getAddressOfDVPSStoredPrint (env, obj);
+
+- E_Condition res = sp->setFilmOrientation ((DVPSFilmOrientation) value);
++ OFCondition res = sp->setFilmOrientation ((DVPSFilmOrientation) value);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -257,11 +274,12 @@
+ {
+ DVPSStoredPrint *sp = getAddressOfDVPSStoredPrint (env, obj);
+
+- E_Condition res = sp->setTrim ((DVPSTrimMode) value);
++ OFCondition res = sp->setTrim ((DVPSTrimMode) value);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: setRequestedDecimateCropBehaviour
+@@ -272,11 +290,12 @@
+ {
+ DVPSStoredPrint *sp = getAddressOfDVPSStoredPrint (env, obj);
+
+- E_Condition res = sp->setRequestedDecimateCropBehaviour ((DVPSDecimateCropBehaviour) value);
++ OFCondition res = sp->setRequestedDecimateCropBehaviour ((DVPSDecimateCropBehaviour) value);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: newPrinter
+@@ -287,11 +306,12 @@
+ {
+ DVPSStoredPrint *sp = getAddressOfDVPSStoredPrint (env, obj);
+
+- E_Condition res = sp->newPrinter ();
++ OFCondition res = sp->newPrinter ();
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: getOriginator
+@@ -513,9 +547,10 @@
+ {
+ DVPSStoredPrint *sp = getAddressOfDVPSStoredPrint (env, obj);
+
+- return (jint) sp->deleteImage(index);
++ return (jint) sp->deleteImage(index).status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: deleteMultipleImages
+@@ -526,7 +561,7 @@
+ {
+ DVPSStoredPrint *sp = getAddressOfDVPSStoredPrint (env, obj);
+
+- return (jint) sp->deleteMultipleImages(number);
++ return (jint) sp->deleteMultipleImages(number).status();
+ }
+
+
+@@ -545,16 +580,17 @@
+ char *ri = (char*) env->GetStringUTFChars (requestedimagesize, 0);
+ char *pi = (char*) env->GetStringUTFChars (patientid, 0);
+
+- E_Condition res = sp->addImageBox (ra, rs, ri, pi);
++ OFCondition res = sp->addImageBox (ra, rs, ri, pi);
+
+ env->ReleaseStringUTFChars (retrieveaetitle, ra);
+ env->ReleaseStringUTFChars (refsopinstanceuid, rs);
+ env->ReleaseStringUTFChars (requestedimagesize, ri);
+ env->ReleaseStringUTFChars (patientid, pi);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: setInstanceUID
+@@ -567,11 +603,11 @@
+
+ char *val = (char*) env->GetStringUTFChars (uid, 0);
+
+- E_Condition res = sp->setInstanceUID (val);
++ OFCondition res = sp->setInstanceUID (val);
+
+ env->ReleaseStringUTFChars (uid, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -603,13 +640,14 @@
+
+ char *val = (char*) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = sp->setImageMagnificationType (index, val);
++ OFCondition res = sp->setImageMagnificationType (index, val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: setImageSmoothingType
+@@ -622,13 +660,14 @@
+
+ char *val = (char*) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = sp->setImageSmoothingType (index, val);
++ OFCondition res = sp->setImageSmoothingType (index, val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: setImageConfigurationInformation
+@@ -641,11 +680,11 @@
+
+ char *val = (char*) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = sp->setImageConfigurationInformation (index, val);
++ OFCondition res = sp->setImageConfigurationInformation (index, val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -713,7 +752,7 @@
+ {
+ DVPSStoredPrint *sp = getAddressOfDVPSStoredPrint (env, obj);
+
+- return (jint) sp->setDefaultPresentationLUT();
++ return (jint) sp->setDefaultPresentationLUT().status();
+ }
+
+
+@@ -727,7 +766,7 @@
+ {
+ DVPSStoredPrint *sp = getAddressOfDVPSStoredPrint (env, obj);
+
+- return (jint) sp->setPresentationLUTShape ((DVPSPresentationLUTType) type);
++ return (jint) sp->setPresentationLUTShape ((DVPSPresentationLUTType) type).status();
+ }
+
+
+@@ -757,13 +796,14 @@
+
+ char *val = (char*) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = sp->setBorderDensity (val);
++ OFCondition res = sp->setBorderDensity (val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: setEmtpyImageDensity
+@@ -776,13 +816,14 @@
+
+ char *val = (char*) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = sp->setEmtpyImageDensity (val);
++ OFCondition res = sp->setEmtpyImageDensity (val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: getBorderDensity
+@@ -831,11 +872,11 @@
+
+ char *val = (char*) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = sp->setMaxDensity (val);
++ OFCondition res = sp->setMaxDensity (val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
+
+@@ -852,13 +892,14 @@
+
+ char *val = (char*) env->GetStringUTFChars (value, 0);
+
+- E_Condition res = sp->setMinDensity (val);
++ OFCondition res = sp->setMinDensity (val);
+
+ env->ReleaseStringUTFChars (value, val);
+
+- return (jint) res;
++ return (jint) res.status();
+ }
+
++
+ /*
+ * Class: J2Ci_jDVPSStoredPrint
+ * Method: getMaxDensity
+@@ -906,7 +946,7 @@
+ {
+ DVPSStoredPrint *sp = getAddressOfDVPSStoredPrint (env, obj);
+
+- return (jint) sp->setPrintIllumination((short)value);
++ return (jint) sp->setPrintIllumination((short)value).status();
+ }
+
+
+@@ -934,7 +974,7 @@
+ {
+ DVPSStoredPrint *sp = getAddressOfDVPSStoredPrint (env, obj);
+
+- return (jint) sp->setPrintReflectedAmbientLight((short)value);
++ return (jint) sp->setPrintReflectedAmbientLight((short)value).status();
+ }
+
+
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/interface/libsrc/DVPSTextObject.cpp dsgui360/interface/libsrc/DVPSTextObject.cpp
+--- dsgui351/interface/libsrc/DVPSTextObject.cpp 2009-01-07 17:53:32.297165000 +0100
++++ dsgui360/interface/libsrc/DVPSTextObject.cpp 2009-01-07 17:53:07.091389000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy and OFFIS
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -15,6 +15,13 @@
+ * http://www.microtherapy.de/go/cs
+ * mailto:computer.science at microtherapy.de
+ *
++ * and
++ *
++ * Kuratorium OFFIS e.V.
++ * Healthcare Information and Communication Systems
++ * Escherweg 2
++ * D-26121 Oldenburg, Germany
++ *
+ * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND THE INSTITUTE MAKES NO
+ * WARRANTY REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY
+ * OR FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES
+@@ -127,7 +133,7 @@
+ {
+ DVPSTextObject *to = getAddressOfDVPSTextObject (env, obj);
+
+- return (jint) to->setAnchorPoint (x, y, (DVPSannotationUnit) unit, (isVisible != 0) ? OFTrue : OFFalse);
++ return (jint) to->setAnchorPoint (x, y, (DVPSannotationUnit) unit, (isVisible != 0) ? OFTrue : OFFalse).status();
+ }
+
+
+@@ -142,7 +148,7 @@
+ {
+ DVPSTextObject *to = getAddressOfDVPSTextObject (env, obj);
+
+- return (jint) to->setBoundingBox (TLHC_x, TLHC_y, BRHC_x, BRHC_y, (DVPSannotationUnit) unit, (DVPSTextJustification) justification);
++ return (jint) to->setBoundingBox (TLHC_x, TLHC_y, BRHC_x, BRHC_y, (DVPSannotationUnit) unit, (DVPSTextJustification) justification).status();
+ }
+
+
+@@ -157,16 +163,28 @@
+ {
+ DVPSTextObject *to = getAddressOfDVPSTextObject (env, obj);
+
+- const char *txt = (char*) env->GetStringUTFChars (text, 0);
++ OFCondition res = EC_IllegalCall;
++
++ jmethodID mid = env->GetMethodID(env->FindClass("java/lang/String"), "getBytes", "(Ljava/lang/String;)[B");
++
++ if (mid)
++ {
++ jbyteArray array = (jbyteArray) env->CallObjectMethod(text, mid, env->NewStringUTF(JAVA_ENCODING_STRING));
+
+- E_Condition res = to->setText (txt);
++ if (array)
++ {
++ jbyte *string = env->GetByteArrayElements(array, 0);
+
+- env->ReleaseStringUTFChars (text, txt);
++ res = to->setText(OFString((char *)string, env->GetArrayLength(array)).c_str());
+
+- return (jint) res;
++ env->ReleaseByteArrayElements(array, string, 0);
++ }
+ }
+
+
++ return (jint) res.status();
++}
++
+
+
+ /*
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/MANIFEST.MF dsgui360/MANIFEST.MF
+--- dsgui351/MANIFEST.MF 1970-01-01 01:00:00.000000000 +0100
++++ dsgui360/MANIFEST.MF 2009-01-07 18:21:10.847552000 +0100
+@@ -0,0 +1,2 @@
++Manifest-Version: 1.0
++Main-Class: DICOMscope/DICOMscope
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/readme.txt dsgui360/readme.txt
+--- dsgui351/readme.txt 2009-01-07 17:53:25.967584000 +0100
++++ dsgui360/readme.txt 2009-01-07 17:53:15.466672000 +0100
+@@ -1,5 +1,5 @@
+-This is the Java part of the source code for DICOMscope 3.5.1
+-(DICOM toolkit dcmtk 3.5.0 also required for compilation).
++This is the Java part of the source code for DICOMscope 3.6.0
++(DICOM toolkit dcmtk 3.5.3 also required for compilation).
+
+ Directories:
+
+@@ -8,4 +8,4 @@
+ tkgui Java GUI source code
+
+ A detailed description on how to compile this code on different platforms
+-is available in the user manual (see DICOMscope/docs/dsum351.pdf).
++is available in the user manual (see DICOMscope/docs/dsum360.pdf).
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/about/AboutBox.java dsgui360/tkgui/about/AboutBox.java
+--- dsgui351/tkgui/about/AboutBox.java 2009-01-07 17:49:28.086463000 +0100
++++ dsgui360/tkgui/about/AboutBox.java 2009-01-07 17:49:33.008137000 +0100
+@@ -23,8 +23,8 @@
+ *
+ *
+ * Author : $Author: kleber $
+- * Last update : $Date: 2001/06/06 10:32:29 $
+- * Revision : $Revision: 1.1.1.1 $
++ * Last update : $Date: 2003/09/08 08:59:30 $
++ * Revision : $Revision: 1.2 $
+ * State: $State: Exp $
+ */
+
+@@ -38,7 +38,6 @@
+ import javax.swing.text.*;
+ import java.net.*;
+
+-import DICOMscope;
+
+ import jToolkit.gui.*;
+ import java.util.*;
+@@ -120,6 +119,9 @@
+ /*
+ * CVS Log
+ * $Log: AboutBox.java,v $
++ * Revision 1.2 2003/09/08 08:59:30 kleber
++ * move DICOMscope to folder dicomscope.
++ *
+ * Revision 1.1.1.1 2001/06/06 10:32:29 kleber
+ * Init commit for DICOMscope 3.5
+ * Create new CVS
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/browser/StudyMan.java dsgui360/tkgui/browser/StudyMan.java
+--- dsgui351/tkgui/browser/StudyMan.java 2009-01-07 17:49:28.117431000 +0100
++++ dsgui360/tkgui/browser/StudyMan.java 2009-01-07 17:49:33.036111000 +0100
+@@ -22,8 +22,8 @@
+ * AND PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
+ *
+ * Author : $Author: kleber $
+- * Last update : $Date: 2001/06/06 10:32:29 $
+- * Revision : $Revision: 1.1.1.1 $
++ * Last update : $Date: 2003/09/08 09:00:23 $
++ * Revision : $Revision: 1.2 $
+ * State: $State: Exp $
+ */
+
+@@ -40,7 +40,7 @@
+ import javax.swing.tree.*;
+
+ import J2Ci.*;
+-import DICOMscope;
++import dicomscope.*;
+ import viewer.main.*;
+ import jToolkit.gui.*;
+ import main.*;
+@@ -1941,8 +1941,8 @@
+ ps.getDisplayedAreaPresentationPixelMagnificationRatio(magnification);
+ magnifactionRatio = magnification.value;
+ }
+- ps.getDisplayedArea( tlhcX, tlhcY, brhcX, brhcY);
+- ps.setDisplayedArea(sizeMode, 1, 1,width.value , height.value,magnifactionRatio, jDVPSObjectApplicability.DVPSB_currentImage);
++ ps.getImageRelativeDisplayedArea( tlhcX, tlhcY, brhcX, brhcY);
++ ps.setImageRelativeDisplayedArea(sizeMode, 1, 1,width.value , height.value,magnifactionRatio, jDVPSObjectApplicability.DVPSB_currentImage);
+ }
+ if (saveAsFile)
+ {
+@@ -1982,6 +1982,9 @@
+ /*
+ * CVS Log
+ * $Log: StudyMan.java,v $
++ * Revision 1.2 2003/09/08 09:00:23 kleber
++ * move DICOMscope to folder dicomscope.
++ *
+ * Revision 1.1.1.1 2001/06/06 10:32:29 kleber
+ * Init commit for DICOMscope 3.5
+ * Create new CVS
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/dicomPrint/PrintPanel.java dsgui360/tkgui/dicomPrint/PrintPanel.java
+--- dsgui351/tkgui/dicomPrint/PrintPanel.java 2009-01-07 17:49:28.267283000 +0100
++++ dsgui360/tkgui/dicomPrint/PrintPanel.java 2009-01-07 17:49:33.145999000 +0100
+@@ -887,8 +887,6 @@
+ activeListener = false;
+ String value= null;
+
+-
+-
+ String name = storedPrint.getPrinterName();
+ if (name != null)value = dvi.getTargetDescription(storedPrint.getPrinterName());
+ if(value == null) value = name;
+@@ -896,12 +894,8 @@
+ printerCombo.removeAllItems();
+ printerCombo.addItem(value);
+
+-
+-
+- value = storedPrint.getMagnificationType();
+- if(value == null) value = "<Default>";
+ mediumCombo.removeAllItems();
+- mediumCombo.addItem(value);
++ mediumCombo.addItem("<Default>");
+
+ filmSizeCombo.removeAllItems();
+ value = storedPrint.getFilmSizeID();
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/dicomscope/DICOMscope.java dsgui360/tkgui/dicomscope/DICOMscope.java
+--- dsgui351/tkgui/dicomscope/DICOMscope.java 1970-01-01 01:00:00.000000000 +0100
++++ dsgui360/tkgui/dicomscope/DICOMscope.java 2009-01-07 17:49:33.425856000 +0100
+@@ -0,0 +1,339 @@
++/*
++ *
++ * Copyright (C) 1999, Institute for MicroTherapy
++ *
++ * This software and supporting documentation were developed by
++ *
++ * University of Witten/Herdecke
++ * Department of Radiology and MicroTherapy
++ * Institute for MicroTherapy
++ * Medical computer science
++ *
++ * Universitaetsstrasse 142
++ * 44799 Bochum, Germany
++ *
++ * http://www.microtherapy.de/go/cs
++ * mailto:computer.science at microtherapy.de
++ *
++ * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND THE INSTITUTE MAKES NO
++ * WARRANTY REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY
++ * OR FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES
++ * OR ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY
++ * AND PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
++ *
++ *
++ * Author : $Author: kleber $
++ * Last update : $Date: 2003/09/08 08:57:47 $
++ * Revision : $Revision: 1.1 $
++ * State: $State: Exp $
++ */
++
++package dicomscope;
++
++import java.io.*;
++import java.awt.*;
++import java.awt.event.*;
++import javax.swing.*;
++import java.util.*;
++
++// Import all packages of the project:
++import J2Ci.*;
++import browser.*;
++import main.MainContext;
++import viewer.main.*;
++import viewer.presentation.*;
++import jToolkit.gui.*;
++import jToolkit.io.*;
++import about.*;
++import main.*;
++import viewer.gui.*;
++import javax.swing.event.*;
++import dicomPrint.*;
++import processCommunication.*;
++
++/**
++ * This is the main class. This class initializes the study
++ * browser, the viewer, the print panel and the about box.
++ * @author Andreas Schroeter
++ * @since 30.03.
++ */
++public class DICOMscope extends JFrame implements MainListener {
++
++
++ /**
++ * The interface to the Dicom Toolkit
++ */
++ private jDVInterface dvi = null;
++
++ /**
++ * Contains the current PrintPanel
++ */
++ private PrintPanel printPanel;
++
++ /**
++ * Contains the main TabbedPane
++ */
++ private JTabbedPane tabpane ;
++
++
++
++
++ /**
++ * Main Method. Initializes this class.
++ * @param args Will be ignored
++ */
++
++ public static void main(String[] args) {
++ System.out.println("starting DICOMscope");
++ System.out.println("please wait...");
++ System.out.flush(); // force output right now!
++
++ MainContext mc = MainContext.instance(); // create context
++
++ DICOMscope sup = new DICOMscope();
++ sup.setVisible(true);
++ }
++
++ /**
++ * Constructor.
++ */
++ public DICOMscope() {
++ Controller.instance().addMainListener(this);
++ dvi = new jDVInterface("DICOMscope.cfg"); // change with configfile
++
++ tabpane = new JTabbedPane(JTabbedPane.TOP);
++
++ MainContext.instance().initConfiguration(dvi); // create context
++
++ Hashtable config = MainContext.instance().getConfiguration();
++
++ setConfiguration(config, true);
++
++
++
++ getContentPane().setLayout(new BorderLayout(0,0));
++ //getRoontPane().setFont
++ java.awt.Dimension screen = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
++
++ setSize(screen.width, screen.height);
++ //setSize(300,300);
++ SymWindow aSymWindow = new SymWindow();
++ this.addWindowListener(aSymWindow);
++ addComponentListener(new CmpAdapter());
++
++
++ //Init toolbar
++ DicomScopeToolBar toolbar;
++ boolean print = false;
++ if (dvi.getNumberOfTargets(jDVPSPeerType.DVPSE_printAny)>0 ) print = true;
++ toolbar = new DicomScopeToolBar(config, print);
++ getContentPane().add(toolbar,BorderLayout.NORTH);
++ boolean signWarning=true;
++ if (config.containsKey("SignWarning"))signWarning=((Boolean)config.get("SignWarning")).booleanValue();
++
++ StatusLine sl = new StatusLine(DSComponentType.BROWSER,dvi,signWarning);
++ getContentPane().add( sl, BorderLayout.SOUTH);
++
++
++ StudyMan studyMan = new StudyMan(dvi, this,config);
++ MainImageViewerPanel mImage = new MainImageViewerPanel(new PresentationStateGraphicsHandler(dvi),config,this);
++ AboutBox about = new AboutBox(config);
++ tabpane.add(DSComponentType.BROWSER, studyMan);
++ tabpane.add(DSComponentType.VIEWER, mImage);
++
++ if (print) {
++
++ printPanel = new PrintPanel(dvi,config);
++ tabpane.add(DSComponentType.PRINT,printPanel );
++ }
++ tabpane.add(DSComponentType.PROCESS,new ProcessComponent(this, MainContext.instance().logFont));
++
++ tabpane.add(DSComponentType.ABOUT,about);
++
++ getContentPane().add(tabpane, BorderLayout.CENTER);
++
++ tabpane.addChangeListener(new ChangeToComponentListener() );
++
++
++ Controller.instance().fireStatus(new StatusLineEvent(this,StatusLineEvent.SET_DES,DSComponentType.BROWSER,"Ready"));
++ Controller.instance().fireEvent(new TabbedChangeEvent(DICOMscope.this,DSComponentType.BROWSER));
++
++ ProcessCommunicationService pcs= new ProcessCommunicationService(dvi.getMessagePort(), true);
++
++ dvi.startReceiver();
++ dvi.startPrintSpooler();
++ dvi.startPrintServer();
++ dvi.startQueryRetrieveServer();
++ System.setOut(new NullPrintStream());
++
++
++
++ }
++
++ /**
++ * Closes the application and terminates the network receiver.
++ */
++ class SymWindow extends java.awt.event.WindowAdapter {
++ public void windowClosing(java.awt.event.WindowEvent event) {
++ Object object = event.getSource();
++ if (object == DICOMscope.this)closing(event); {
++ }
++
++ }
++ }
++
++ /**
++ * Closes the application and terminates the network receiver.
++ * @param event The calling event. ignored.
++ */
++ public void closing(java.awt.event.WindowEvent event) {
++ dvi.terminateReceiver();
++ dvi.terminatePrintSpooler();
++ dvi.terminatePrintServer();
++ dvi.terminateQueryRetrieveServer();
++ dvi.finalize();
++ //setVisible(false); // hide the Frame
++ System.exit(0);
++ }
++
++ /**
++ * Handles the ChangeEvents.
++ */
++ private class ChangeToComponentListener implements ChangeListener {
++ public void stateChanged(ChangeEvent e) {
++ JTabbedPane tb = (JTabbedPane)e.getSource();
++ int index = tb.getSelectedIndex();
++ String s = tb.getTitleAt(index);
++ Controller.instance().fireEvent(new TabbedChangeEvent(DICOMscope.this,s));
++ }
++
++ }
++
++ /**
++ * Handles the ComponentEvents.
++ */
++ private class CmpAdapter extends ComponentAdapter {
++ public void componentResized(ComponentEvent evt) {
++ MainContext mc = MainContext.instance(); // create context
++
++ Dimension d = getSize();
++
++ if (mc.highQualitySystem) // doppelte Größe als Minimum
++ {
++ if (d.width < 1500) d.width = 1500;
++ if (d.height < 1500) d.height = 1500;
++ }
++ else {
++ if (d.width < 700) d.width =700;
++ if (d.height < 600) d.height = 600;
++ }
++
++ setSize(d);
++ }
++ }
++
++ /**
++ * Toggles tabpane to the viewer.
++ *
++ * @since 30.03
++ */
++ public void switchToViewer() {
++
++ tabpane.setSelectedIndex(1);
++ tabpane.repaint();
++ }
++
++ /**
++ * Toggles the tabpane to the PrintPanel.
++ *
++ * @since 30.03
++ */
++
++
++ public void switchToPrinter() {
++ if (printPanel != null) {
++ tabpane.setSelectedComponent(printPanel);
++ tabpane.repaint();
++ }
++ }
++
++
++
++
++ /**
++ * Handels the DSEvent fired by any Object of DICOMScope
++ */
++ public boolean processEvent(DSEvent e) {
++ if (e instanceof ChangeOptionsEvent) {
++
++ setConfiguration(((ChangeOptionsEvent)e).getConfig(), false);
++ }
++
++ return false;
++ }
++
++ /**
++ * Sets the configuration of DICOMscope.
++ * @param config Contains the configuration.
++ * @param init should be true if this function is called the first time.
++ */
++ private void setConfiguration(Hashtable config, boolean init) {
++ if (config.containsKey("Title"))setTitle((String)(config.get("Title")));
++
++ if (config.containsKey("TabbedPlacement"))tabpane.setTabPlacement((new Integer((String)(config.get("TabbedPlacement"))).intValue()));
++ if (config.containsKey("UI")) {
++ try {
++ UIManager.setLookAndFeel((String) config.get("UI") );
++ // update the complete application's look & feel
++ SwingUtilities.updateComponentTreeUI( DICOMscope.this);
++ }
++ catch( Exception f ) {
++ System.err.println( " unable to set UI " + f.getMessage() );
++ }
++
++ }
++ if (!init)tabpane.updateUI();
++ if (init) {
++ Font f = (Font) config.get("GUIFont");
++ Font titledBorderFont = new Font(f.getName(), f.getStyle(),f.getSize()-f.getSize()/4);
++ UIDefaults uiDefaults = UIManager.getDefaults();
++ uiDefaults.put("MenuItem.font",f);
++ uiDefaults.put("Label.font", f);
++ uiDefaults.put("ComboBox.font",f);
++ uiDefaults.put("Button.font", f);
++ uiDefaults.put("CheckBox.font", f);
++ uiDefaults.put("CheckBoxMenuItem.font", f);
++ uiDefaults.put("RadioButtonMenuItem.font", f);
++ uiDefaults.put("RadioButton.font", f);
++ uiDefaults.put("TitledBorder.font", titledBorderFont);
++ uiDefaults.put("TextField.font", f);
++ uiDefaults.put("Dialog.font", f);
++ uiDefaults.put("TabbedPane.font",f);
++ uiDefaults.put("Frame.font", f);
++ uiDefaults.put("Scrollbar.font", f);
++ uiDefaults.put("Tree.font", f);
++ uiDefaults.put("EditorPane.font", f);
++ uiDefaults.put("TextArea.font", f);
++ uiDefaults.put("List.font", f);
++ uiDefaults.put("AbstractButton.font", f);
++ uiDefaults.put("ToolTip.font", f);
++ uiDefaults.put("Button", f);
++ tabpane.updateUI();
++ }
++
++ }
++
++}
++
++
++/*
++ * CVS Log
++ * $Log: DICOMscope.java,v $
++ * Revision 1.1 2003/09/08 08:57:47 kleber
++ * move DICOMscope to folder dicomscope.
++ *
++ * Revision 1.1.1.1 2001/06/06 10:32:29 kleber
++ * Init commit for DICOMscope 3.5
++ * Create new CVS
++ *
++ */
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/DICOMscope.java dsgui360/tkgui/DICOMscope.java
+--- dsgui351/tkgui/DICOMscope.java 2009-01-07 17:49:28.537258000 +0100
++++ dsgui360/tkgui/DICOMscope.java 1970-01-01 01:00:00.000000000 +0100
+@@ -1,358 +0,0 @@
+-/*
+- *
+- * Copyright (C) 1999, Institute for MicroTherapy
+- *
+- * This software and supporting documentation were developed by
+- *
+- * University of Witten/Herdecke
+- * Department of Radiology and MicroTherapy
+- * Institute for MicroTherapy
+- * Medical computer science
+- *
+- * Universitaetsstrasse 142
+- * 44799 Bochum, Germany
+- *
+- * http://www.microtherapy.de/go/cs
+- * mailto:computer.science at microtherapy.de
+- *
+- * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND THE INSTITUTE MAKES NO
+- * WARRANTY REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY
+- * OR FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES
+- * OR ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY
+- * AND PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
+- *
+- *
+- * Author : $Author: kleber $
+- * Last update : $Date: 2001/06/06 10:32:29 $
+- * Revision : $Revision: 1.1.1.1 $
+- * State: $State: Exp $
+-*/
+-
+-
+-import java.io.*;
+-import java.awt.*;
+-import java.awt.event.*;
+-import javax.swing.*;
+-import java.util.*;
+-
+-// Import all packages of the project:
+-import J2Ci.*;
+-import browser.*;
+-import main.MainContext;
+-import viewer.main.*;
+-import viewer.presentation.*;
+-import jToolkit.gui.*;
+-import jToolkit.io.*;
+-import about.*;
+-import main.*;
+-import viewer.gui.*;
+-import javax.swing.event.*;
+-import dicomPrint.*;
+-import processCommunication.*;
+-
+-/**
+- * This is the main class. This class initializes the study
+- * browser, the viewer, the print panel and the about box.
+- * @author Andreas Schroeter
+- * @since 30.03.
+- */
+-public class DICOMscope extends JFrame implements MainListener
+-{
+-
+-
+- /**
+- * The interface to the Dicom Toolkit
+- */
+- private jDVInterface dvi = null;
+-
+- /**
+- * Contains the current PrintPanel
+- */
+- private PrintPanel printPanel;
+-
+- /**
+- * Contains the main TabbedPane
+- */
+- private JTabbedPane tabpane ;
+-
+-
+-
+-
+- /**
+- * Main Method. Initializes this class.
+- * @param args Will be ignored
+- */
+-
+- public static void main (String[] args)
+- {
+- System.out.println ("starting DICOMscope");
+- System.out.println ("please wait...");
+- System.out.flush(); // force output right now!
+-
+- MainContext mc = MainContext.instance(); // create context
+-
+- DICOMscope sup = new DICOMscope();
+- sup.setVisible(true);
+- }
+-
+- /**
+- * Constructor.
+- */
+- public DICOMscope()
+- {
+- Controller.instance().addMainListener(this);
+- dvi = new jDVInterface ("DICOMscope.cfg"); // change with configfile
+-
+- tabpane = new JTabbedPane(JTabbedPane.TOP);
+-
+- MainContext.instance().initConfiguration(dvi); // create context
+-
+- Hashtable config = MainContext.instance().getConfiguration();
+-
+- setConfiguration(config, true);
+-
+-
+-
+- getContentPane().setLayout(new BorderLayout(0,0));
+- //getRoontPane().setFont
+- java.awt.Dimension screen = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
+-
+- setSize (screen.width, screen.height);
+- //setSize(300,300);
+- SymWindow aSymWindow = new SymWindow();
+- this.addWindowListener(aSymWindow);
+- addComponentListener(new CmpAdapter());
+-
+-
+- //Init toolbar
+- DicomScopeToolBar toolbar;
+- boolean print = false;
+- if (dvi.getNumberOfTargets(jDVPSPeerType.DVPSE_printAny)>0 ) print = true;
+- toolbar = new DicomScopeToolBar(config, print);
+- getContentPane().add(toolbar,BorderLayout.NORTH);
+- boolean signWarning=true;
+- if (config.containsKey("SignWarning"))signWarning=((Boolean)config.get("SignWarning")).booleanValue();
+-
+- StatusLine sl = new StatusLine(DSComponentType.BROWSER,dvi,signWarning);
+- getContentPane().add ( sl, BorderLayout.SOUTH);
+-
+-
+- StudyMan studyMan = new StudyMan (dvi, this,config);
+- MainImageViewerPanel mImage = new MainImageViewerPanel(new PresentationStateGraphicsHandler(dvi),config,this);
+- AboutBox about = new AboutBox (config);
+- tabpane.add (DSComponentType.BROWSER, studyMan);
+- tabpane.add (DSComponentType.VIEWER, mImage);
+-
+- if (print)
+- {
+-
+- printPanel = new PrintPanel(dvi,config);
+- tabpane.add (DSComponentType.PRINT,printPanel );
+- }
+- tabpane.add (DSComponentType.PROCESS,new ProcessComponent(this, MainContext.instance().logFont));
+-
+- tabpane.add (DSComponentType.ABOUT,about);
+-
+- getContentPane().add (tabpane, BorderLayout.CENTER);
+-
+- tabpane.addChangeListener(new ChangeToComponentListener() );
+-
+-
+- Controller.instance().fireStatus(new StatusLineEvent(this,StatusLineEvent.SET_DES,DSComponentType.BROWSER,"Ready"));
+- Controller.instance().fireEvent(new TabbedChangeEvent(DICOMscope.this,DSComponentType.BROWSER));
+-
+- ProcessCommunicationService pcs= new ProcessCommunicationService(dvi.getMessagePort(), true);
+-
+- dvi.startReceiver ();
+- dvi.startPrintSpooler();
+- dvi.startPrintServer();
+- dvi.startQueryRetrieveServer();
+- System.setOut(new NullPrintStream());
+-
+-
+-
+- }
+-
+- /**
+- * Closes the application and terminates the network receiver.
+- */
+- class SymWindow extends java.awt.event.WindowAdapter
+- {
+- public void windowClosing(java.awt.event.WindowEvent event)
+- {
+- Object object = event.getSource();
+- if (object == DICOMscope.this)closing(event);
+- {
+- }
+-
+- }
+- }
+-
+- /**
+- * Closes the application and terminates the network receiver.
+- * @param event The calling event. ignored.
+- */
+- public void closing(java.awt.event.WindowEvent event)
+- {
+- dvi.terminateReceiver();
+- dvi.terminatePrintSpooler();
+- dvi.terminatePrintServer();
+- dvi.terminateQueryRetrieveServer();
+- dvi.finalize();
+- //setVisible(false); // hide the Frame
+- System.exit (0);
+- }
+-
+- /**
+- * Handles the ChangeEvents.
+- */
+- private class ChangeToComponentListener implements ChangeListener
+- {
+- public void stateChanged(ChangeEvent e)
+- {
+- JTabbedPane tb = (JTabbedPane)e.getSource();
+- int index = tb.getSelectedIndex();
+- String s = tb.getTitleAt(index);
+- Controller.instance().fireEvent(new TabbedChangeEvent(DICOMscope.this,s));
+- }
+-
+- }
+-
+- /**
+- * Handles the ComponentEvents.
+- */
+- private class CmpAdapter extends ComponentAdapter
+- {
+- public void componentResized(ComponentEvent evt)
+- {
+- MainContext mc = MainContext.instance(); // create context
+-
+- Dimension d = getSize();
+-
+- if (mc.highQualitySystem) // doppelte Größe als Minimum
+- {
+- if (d.width < 1500) d.width = 1500;
+- if (d.height < 1500) d.height = 1500;
+- }
+- else
+- {
+- if (d.width < 700) d.width =700;
+- if (d.height < 600) d.height = 600;
+- }
+-
+- setSize (d);
+- }
+- }
+-
+- /**
+- * Toggles tabpane to the viewer.
+- *
+- * @since 30.03
+- */
+- public void switchToViewer ()
+- {
+-
+- tabpane.setSelectedIndex(1);
+- tabpane.repaint();
+- }
+-
+- /**
+- * Toggles the tabpane to the PrintPanel.
+- *
+- * @since 30.03
+- */
+-
+-
+- public void switchToPrinter ()
+- {
+- if (printPanel != null)
+- {
+- tabpane.setSelectedComponent(printPanel);
+- tabpane.repaint();
+- }
+- }
+-
+-
+-
+-
+- /**
+- * Handels the DSEvent fired by any Object of DICOMScope
+- */
+- public boolean processEvent (DSEvent e)
+- {
+- if (e instanceof ChangeOptionsEvent)
+- {
+-
+- setConfiguration(((ChangeOptionsEvent)e).getConfig(), false);
+- }
+-
+- return false;
+- }
+-
+- /**
+- * Sets the configuration of DICOMscope.
+- * @param config Contains the configuration.
+- * @param init should be true if this function is called the first time.
+- */
+- private void setConfiguration(Hashtable config, boolean init)
+- {
+- if (config.containsKey("Title"))setTitle((String)(config.get("Title")));
+-
+- if (config.containsKey("TabbedPlacement"))tabpane.setTabPlacement((new Integer((String)(config.get("TabbedPlacement"))).intValue()));
+- if (config.containsKey("UI"))
+- {
+- try
+- {
+- UIManager.setLookAndFeel((String) config.get("UI") );
+- // update the complete application's look & feel
+- SwingUtilities.updateComponentTreeUI( DICOMscope.this);
+- }
+- catch( Exception f )
+- {
+- System.err.println( " unable to set UI " + f.getMessage() );
+- }
+-
+- }
+- if (!init)tabpane.updateUI();
+- if (init)
+- {
+- Font f = (Font) config.get("GUIFont");
+- Font titledBorderFont = new Font(f.getName(), f.getStyle(),f.getSize()-f.getSize()/4);
+- UIDefaults uiDefaults = UIManager.getDefaults();
+- uiDefaults.put("MenuItem.font",f);
+- uiDefaults.put("Label.font", f);
+- uiDefaults.put("ComboBox.font",f);
+- uiDefaults.put("Button.font", f);
+- uiDefaults.put("CheckBox.font", f);
+- uiDefaults.put("CheckBoxMenuItem.font", f);
+- uiDefaults.put("RadioButtonMenuItem.font", f);
+- uiDefaults.put("RadioButton.font", f);
+- uiDefaults.put("TitledBorder.font", titledBorderFont);
+- uiDefaults.put("TextField.font", f);
+- uiDefaults.put("Dialog.font", f);
+- uiDefaults.put("TabbedPane.font",f);
+- uiDefaults.put("Frame.font", f);
+- uiDefaults.put("Scrollbar.font", f);
+- uiDefaults.put("Tree.font", f);
+- uiDefaults.put("EditorPane.font", f);
+- uiDefaults.put("TextArea.font", f);
+- uiDefaults.put("List.font", f);
+- uiDefaults.put("AbstractButton.font", f);
+- uiDefaults.put("ToolTip.font", f);
+- uiDefaults.put("Button", f);
+- tabpane.updateUI();
+- }
+-
+- }
+-
+-}
+-
+-
+-/*
+- * CVS Log
+- * $Log: DICOMscope.java,v $
+- * Revision 1.1.1.1 2001/06/06 10:32:29 kleber
+- * Init commit for DICOMscope 3.5
+- * Create new CVS
+- *
+-*/
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jBooleanByRef.java dsgui360/tkgui/J2Ci/jBooleanByRef.java
+--- dsgui351/tkgui/J2Ci/jBooleanByRef.java 2009-01-07 17:49:28.272279000 +0100
++++ dsgui360/tkgui/J2Ci/jBooleanByRef.java 2009-01-07 17:49:33.314851000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDoubleByRef.java dsgui360/tkgui/J2Ci/jDoubleByRef.java
+--- dsgui351/tkgui/J2Ci/jDoubleByRef.java 2009-01-07 17:49:28.276274000 +0100
++++ dsgui360/tkgui/J2Ci/jDoubleByRef.java 2009-01-07 17:49:33.318862000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRCodeValue.java dsgui360/tkgui/J2Ci/jDSRCodeValue.java
+--- dsgui351/tkgui/J2Ci/jDSRCodeValue.java 2009-01-07 17:49:28.280269000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRCodeValue.java 2009-01-07 17:49:33.332853000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRCompositeValue.java dsgui360/tkgui/J2Ci/jDSRCompositeValue.java
+--- dsgui351/tkgui/J2Ci/jDSRCompositeValue.java 2009-01-07 17:49:28.284265000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRCompositeValue.java 2009-01-07 17:49:33.336854000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRDocument.java dsgui360/tkgui/J2Ci/jDSRDocument.java
+--- dsgui351/tkgui/J2Ci/jDSRDocument.java 2009-01-07 17:49:28.289260000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRDocument.java 2009-01-07 17:49:33.155989000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000..2001, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -225,21 +225,6 @@
+ */
+ public native int getNumberOfPredecessorDocuments();
+
+- /** get information about a predecessor document.
+- * All reference variables are cleared before the information is retrieved, i.e. if an error
+- * occurs (return value != EC_Normal) non-empty variables do contain correct data.
+- ** @param idx index of the predecessor document to be retrieved (starting with 1).
+- * Use getNumberOfPredecessorDocuments() to get the maximum value.
+- * @param sopClassUID reference to variable where the SOP class UID of the predecessor
+- * document should be stored (required)
+- * @param sopInstanceUID reference to variable where the SOP instance UID of the predecessor
+- * document should be stored (required)
+- ** @return status, EC_Normal if successful, an error code otherwise
+- */
+- public native int getPredecessorDocument(int idx,
+- jStringByRef sopClassUID,
+- jStringByRef sopInstanceUID);
+-
+
+ // --- get DICOM string attributes (C string) ---
+
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRDocumentTree.java dsgui360/tkgui/J2Ci/jDSRDocumentTree.java
+--- dsgui351/tkgui/J2Ci/jDSRDocumentTree.java 2009-01-07 17:49:28.294261000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRDocumentTree.java 2009-01-07 17:49:33.176975000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000..2001, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRE_AddMode.java dsgui360/tkgui/J2Ci/jDSRE_AddMode.java
+--- dsgui351/tkgui/J2Ci/jDSRE_AddMode.java 2009-01-07 17:49:28.305258000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRE_AddMode.java 2009-01-07 17:49:33.340862000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRE_CharacterSet.java dsgui360/tkgui/J2Ci/jDSRE_CharacterSet.java
+--- dsgui351/tkgui/J2Ci/jDSRE_CharacterSet.java 2009-01-07 17:49:28.309259000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRE_CharacterSet.java 2009-01-07 17:49:33.344853000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRE_CompletionFlag.java dsgui360/tkgui/J2Ci/jDSRE_CompletionFlag.java
+--- dsgui351/tkgui/J2Ci/jDSRE_CompletionFlag.java 2009-01-07 17:49:28.313261000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRE_CompletionFlag.java 2009-01-07 17:49:33.348852000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRE_ContinuityOfContent.java dsgui360/tkgui/J2Ci/jDSRE_ContinuityOfContent.java
+--- dsgui351/tkgui/J2Ci/jDSRE_ContinuityOfContent.java 2009-01-07 17:49:28.317260000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRE_ContinuityOfContent.java 2009-01-07 17:49:33.172972000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000..2001, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRE_DocumentType.java dsgui360/tkgui/J2Ci/jDSRE_DocumentType.java
+--- dsgui351/tkgui/J2Ci/jDSRE_DocumentType.java 2009-01-07 17:49:28.321260000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRE_DocumentType.java 2009-01-07 17:49:33.352851000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRE_GraphicType.java dsgui360/tkgui/J2Ci/jDSRE_GraphicType.java
+--- dsgui351/tkgui/J2Ci/jDSRE_GraphicType.java 2009-01-07 17:49:28.326257000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRE_GraphicType.java 2009-01-07 17:49:33.355855000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRE_RelationshipType.java dsgui360/tkgui/J2Ci/jDSRE_RelationshipType.java
+--- dsgui351/tkgui/J2Ci/jDSRE_RelationshipType.java 2009-01-07 17:49:28.330257000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRE_RelationshipType.java 2009-01-07 17:49:33.359854000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRE_TemporalRangeType.java dsgui360/tkgui/J2Ci/jDSRE_TemporalRangeType.java
+--- dsgui351/tkgui/J2Ci/jDSRE_TemporalRangeType.java 2009-01-07 17:49:28.333261000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRE_TemporalRangeType.java 2009-01-07 17:49:33.363856000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRE_ValueType.java dsgui360/tkgui/J2Ci/jDSRE_ValueType.java
+--- dsgui351/tkgui/J2Ci/jDSRE_ValueType.java 2009-01-07 17:49:28.337260000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRE_ValueType.java 2009-01-07 17:49:33.367854000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRE_VerificationFlag.java dsgui360/tkgui/J2Ci/jDSRE_VerificationFlag.java
+--- dsgui351/tkgui/J2Ci/jDSRE_VerificationFlag.java 2009-01-07 17:49:28.341260000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRE_VerificationFlag.java 2009-01-07 17:49:33.371854000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRImageValue.java dsgui360/tkgui/J2Ci/jDSRImageValue.java
+--- dsgui351/tkgui/J2Ci/jDSRImageValue.java 2009-01-07 17:49:28.345259000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRImageValue.java 2009-01-07 17:49:33.375852000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRNumericValue.java dsgui360/tkgui/J2Ci/jDSRNumericValue.java
+--- dsgui351/tkgui/J2Ci/jDSRNumericValue.java 2009-01-07 17:49:28.356257000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRNumericValue.java 2009-01-07 17:49:33.379852000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRSCoordValue.java dsgui360/tkgui/J2Ci/jDSRSCoordValue.java
+--- dsgui351/tkgui/J2Ci/jDSRSCoordValue.java 2009-01-07 17:49:28.360257000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRSCoordValue.java 2009-01-07 17:49:33.383852000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRTCoordValue.java dsgui360/tkgui/J2Ci/jDSRTCoordValue.java
+--- dsgui351/tkgui/J2Ci/jDSRTCoordValue.java 2009-01-07 17:49:28.363260000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRTCoordValue.java 2009-01-07 17:49:33.386855000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDSRWaveformValue.java dsgui360/tkgui/J2Ci/jDSRWaveformValue.java
+--- dsgui351/tkgui/J2Ci/jDSRWaveformValue.java 2009-01-07 17:49:28.367259000 +0100
++++ dsgui360/tkgui/J2Ci/jDSRWaveformValue.java 2009-01-07 17:49:33.390854000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVIFhierarchyStatus.java dsgui360/tkgui/J2Ci/jDVIFhierarchyStatus.java
+--- dsgui351/tkgui/J2Ci/jDVIFhierarchyStatus.java 2009-01-07 17:49:28.371258000 +0100
++++ dsgui360/tkgui/J2Ci/jDVIFhierarchyStatus.java 2009-01-07 17:49:33.328853000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVInterface.java dsgui360/tkgui/J2Ci/jDVInterface.java
+--- dsgui351/tkgui/J2Ci/jDVInterface.java 2009-01-07 17:49:28.379264000 +0100
++++ dsgui360/tkgui/J2Ci/jDVInterface.java 2009-01-07 17:49:33.167977000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999..2001, Institute for MicroTherapy and OFFIS
++ * Copyright (C) 1999-2003, Institute for MicroTherapy and OFFIS
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPresentationState.java dsgui360/tkgui/J2Ci/jDVPresentationState.java
+--- dsgui351/tkgui/J2Ci/jDVPresentationState.java 2009-01-07 17:49:28.390257000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPresentationState.java 2009-01-07 17:49:33.228918000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999..2000, Institute for MicroTherapy and OFFIS
++ * Copyright (C) 1999-2003, Institute for MicroTherapy and OFFIS
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -332,7 +332,7 @@
+
+ /**
+ * Gets the displayed area top lefthand corner and
+- * bottom righthand corner for the current image and frame.
++ * bottom righthand corner for the current potentially rotated and flipped image and frame.
+ * This method may only be called when an image is attached to the presentation state.
+ * The params tlhcXY and brhcXY must be created before passing to this method.
+ * @param tlhcX the displayed area top lefthand corner X value is returned in this parameter
+@@ -341,7 +341,21 @@
+ * @param brhcY the displayed area bottom righthand corner Y value is returned in this parameter
+ * @return EC_Normal if successful, an error code otherwise (from jE_Condition).
+ */
+- public native int getDisplayedArea(jIntByRef tlhcX, jIntByRef tlhcY, jIntByRef brhcX, jIntByRef brhcY);
++ public native int getStandardDisplayedArea(jIntByRef tlhcX, jIntByRef tlhcY, jIntByRef brhcX, jIntByRef brhcY);
++
++
++ /**
++ * Gets the displayed area top lefthand corner and
++ * bottom righthand corner for the current image and frame, as if the image was unrotated
++ * This method may only be called when an image is attached to the presentation state.
++ * The params tlhcXY and brhcXY must be created before passing to this method.
++ * @param tlhcX the displayed area top lefthand corner X value is returned in this parameter
++ * @param tlhcY the displayed area top lefthand corner Y value is returned in this parameter
++ * @param brhcX the displayed area bottom righthand corner X value is returned in this parameter
++ * @param brhcY the displayed area bottom righthand corner Y value is returned in this parameter
++ * @return EC_Normal if successful, an error code otherwise (from jE_Condition).
++ */
++ public native int getImageRelativeDisplayedArea(jIntByRef tlhcX, jIntByRef tlhcY, jIntByRef brhcX, jIntByRef brhcY);
+
+
+ /**
+@@ -388,7 +402,32 @@
+ * (from jDVPSObjectApplicability)
+ * @return EC_Normal if successful, an error code otherwise (from jE_Condition).
+ */
+- public native int setDisplayedArea(int sizeMode, int tlhcX,
++ public native int setStandardDisplayedArea(int sizeMode, int tlhcX,
++ int tlhcY, int brhcX, int brhcY,
++ double magnification, int applicability);
++
++
++ /**
++ * Sets the displayed area and size mode (for the current frame, the current image
++ * or all images referenced by the presentation state object).
++ * Treats the image as if it was neither rotated nor flipped.
++ * @param sizeMode presentation size mode (from jDVPSPresentationSizeMode)
++ * @param tlhcX displayed area top lefthand corner X
++ * @param tlhcY displayed area top lefthand corner Y
++ * @param brhcX displayed area bottom righthand corner X
++ * @param brhcY displayed area bottom righthand corner Y
++ * @param magnification magnification factor - ignored unless sizeMode==DVPSD_magnify.
++ * @param applicability defines the applicability of the new displayed area definition.
++ * Possible choices are: DVPSB_currentFrame - current frame only,
++ * DVPSB_currentImage - all frames of current image (default),
++ * and DVPSB_allImages - all images referenced by this presentation state.
++ * The last choice should be used with care
++ * because it will also cause the pixel spacing or pixel aspect ratio of the current image
++ * to be applied to all images referenced by the presentation state.
++ * (from jDVPSObjectApplicability)
++ * @return EC_Normal if successful, an error code otherwise (from jE_Condition).
++ */
++ public native int setImageRelativeDisplayedArea(int sizeMode, int tlhcX,
+ int tlhcY, int brhcX, int brhcY,
+ double magnification, int applicability);
+
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPrStateParam_GetImageReference.java dsgui360/tkgui/J2Ci/jDVPrStateParam_GetImageReference.java
+--- dsgui351/tkgui/J2Ci/jDVPrStateParam_GetImageReference.java 2009-01-07 17:49:28.394258000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPrStateParam_GetImageReference.java 2009-01-07 17:49:33.193952000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPrStateParam_GetOverlayData.java dsgui360/tkgui/J2Ci/jDVPrStateParam_GetOverlayData.java
+--- dsgui351/tkgui/J2Ci/jDVPrStateParam_GetOverlayData.java 2009-01-07 17:49:28.398257000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPrStateParam_GetOverlayData.java 2009-01-07 17:49:33.198947000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPrStateParam_GetPixelData.java dsgui360/tkgui/J2Ci/jDVPrStateParam_GetPixelData.java
+--- dsgui351/tkgui/J2Ci/jDVPrStateParam_GetPixelData.java 2009-01-07 17:49:28.402258000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPrStateParam_GetPixelData.java 2009-01-07 17:49:33.202942000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPrStateParam_GetScreenData.java dsgui360/tkgui/J2Ci/jDVPrStateParam_GetScreenData.java
+--- dsgui351/tkgui/J2Ci/jDVPrStateParam_GetScreenData.java 2009-01-07 17:49:28.406257000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPrStateParam_GetScreenData.java 2009-01-07 17:49:33.206941000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSannotationUnit.java dsgui360/tkgui/J2Ci/jDVPSannotationUnit.java
+--- dsgui351/tkgui/J2Ci/jDVPSannotationUnit.java 2009-01-07 17:49:28.410258000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSannotationUnit.java 2009-01-07 17:49:33.210934000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPScharacterSet.java dsgui360/tkgui/J2Ci/jDVPScharacterSet.java
+--- dsgui351/tkgui/J2Ci/jDVPScharacterSet.java 2009-01-07 17:49:28.414257000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPScharacterSet.java 2009-01-07 17:49:33.213935000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSCurve.java dsgui360/tkgui/J2Ci/jDVPSCurve.java
+--- dsgui351/tkgui/J2Ci/jDVPSCurve.java 2009-01-07 17:49:28.417261000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSCurve.java 2009-01-07 17:49:33.217930000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSCurveType.java dsgui360/tkgui/J2Ci/jDVPSCurveType.java
+--- dsgui351/tkgui/J2Ci/jDVPSCurveType.java 2009-01-07 17:49:28.421260000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSCurveType.java 2009-01-07 17:49:33.221925000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSDecimateCropBehaviour.java dsgui360/tkgui/J2Ci/jDVPSDecimateCropBehaviour.java
+--- dsgui351/tkgui/J2Ci/jDVPSDecimateCropBehaviour.java 2009-01-07 17:49:28.425260000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSDecimateCropBehaviour.java 2009-01-07 17:49:33.150994000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSDisplayTransform.java dsgui360/tkgui/J2Ci/jDVPSDisplayTransform.java
+--- dsgui351/tkgui/J2Ci/jDVPSDisplayTransform.java 2009-01-07 17:49:28.429259000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSDisplayTransform.java 2009-01-07 17:49:33.235909000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSFilmOrientation.java dsgui360/tkgui/J2Ci/jDVPSFilmOrientation.java
+--- dsgui351/tkgui/J2Ci/jDVPSFilmOrientation.java 2009-01-07 17:49:28.433257000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSFilmOrientation.java 2009-01-07 17:49:33.238910000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSGraphicObject.java dsgui360/tkgui/J2Ci/jDVPSGraphicObject.java
+--- dsgui351/tkgui/J2Ci/jDVPSGraphicObject.java 2009-01-07 17:49:28.437257000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSGraphicObject.java 2009-01-07 17:49:33.243901000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSGraphicType.java dsgui360/tkgui/J2Ci/jDVPSGraphicType.java
+--- dsgui351/tkgui/J2Ci/jDVPSGraphicType.java 2009-01-07 17:49:28.440261000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSGraphicType.java 2009-01-07 17:49:33.247900000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSInstanceType.java dsgui360/tkgui/J2Ci/jDVPSInstanceType.java
+--- dsgui351/tkgui/J2Ci/jDVPSInstanceType.java 2009-01-07 17:49:28.444260000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSInstanceType.java 2009-01-07 17:49:33.159986000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999..2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 1999-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSLogMessageLevel.java dsgui360/tkgui/J2Ci/jDVPSLogMessageLevel.java
+--- dsgui351/tkgui/J2Ci/jDVPSLogMessageLevel.java 2009-01-07 17:49:28.452259000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSLogMessageLevel.java 2009-01-07 17:49:33.251895000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSObjectApplicability.java dsgui360/tkgui/J2Ci/jDVPSObjectApplicability.java
+--- dsgui351/tkgui/J2Ci/jDVPSObjectApplicability.java 2009-01-07 17:49:28.456257000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSObjectApplicability.java 2009-01-07 17:49:33.255890000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSObjectType.java dsgui360/tkgui/J2Ci/jDVPSObjectType.java
+--- dsgui351/tkgui/J2Ci/jDVPSObjectType.java 2009-01-07 17:49:28.459261000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSObjectType.java 2009-01-07 17:49:33.181966000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2001, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2001-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSPeerType.java dsgui360/tkgui/J2Ci/jDVPSPeerType.java
+--- dsgui351/tkgui/J2Ci/jDVPSPeerType.java 2009-01-07 17:49:28.529258000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSPeerType.java 2009-01-07 17:49:33.260885000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSPresentationLUTType.java dsgui360/tkgui/J2Ci/jDVPSPresentationLUTType.java
+--- dsgui351/tkgui/J2Ci/jDVPSPresentationLUTType.java 2009-01-07 17:49:28.463260000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSPresentationLUTType.java 2009-01-07 17:49:33.264880000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSPresentationSizeMode.java dsgui360/tkgui/J2Ci/jDVPSPresentationSizeMode.java
+--- dsgui351/tkgui/J2Ci/jDVPSPresentationSizeMode.java 2009-01-07 17:49:28.467259000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSPresentationSizeMode.java 2009-01-07 17:49:33.268876000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSPrintPresentationLUTType.java dsgui360/tkgui/J2Ci/jDVPSPrintPresentationLUTType.java
+--- dsgui351/tkgui/J2Ci/jDVPSPrintPresentationLUTType.java 2009-01-07 17:49:28.471257000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSPrintPresentationLUTType.java 2009-01-07 17:49:33.271876000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSRotationType.java dsgui360/tkgui/J2Ci/jDVPSRotationType.java
+--- dsgui351/tkgui/J2Ci/jDVPSRotationType.java 2009-01-07 17:49:28.475257000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSRotationType.java 2009-01-07 17:49:33.275870000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSShutterType.java dsgui360/tkgui/J2Ci/jDVPSShutterType.java
+--- dsgui351/tkgui/J2Ci/jDVPSShutterType.java 2009-01-07 17:49:28.478265000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSShutterType.java 2009-01-07 17:49:33.279865000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSSignatureStatus.java dsgui360/tkgui/J2Ci/jDVPSSignatureStatus.java
+--- dsgui351/tkgui/J2Ci/jDVPSSignatureStatus.java 2009-01-07 17:49:28.483257000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSSignatureStatus.java 2009-01-07 17:49:33.185963000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2001, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2001-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSStoredPrint.java dsgui360/tkgui/J2Ci/jDVPSStoredPrint.java
+--- dsgui351/tkgui/J2Ci/jDVPSStoredPrint.java 2009-01-07 17:49:28.489257000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSStoredPrint.java 2009-01-07 17:49:33.283861000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSTextJustification.java dsgui360/tkgui/J2Ci/jDVPSTextJustification.java
+--- dsgui351/tkgui/J2Ci/jDVPSTextJustification.java 2009-01-07 17:49:28.493257000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSTextJustification.java 2009-01-07 17:49:33.287857000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSTextObject.java dsgui360/tkgui/J2Ci/jDVPSTextObject.java
+--- dsgui351/tkgui/J2Ci/jDVPSTextObject.java 2009-01-07 17:49:28.497257000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSTextObject.java 2009-01-07 17:49:33.291853000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSTrimMode.java dsgui360/tkgui/J2Ci/jDVPSTrimMode.java
+--- dsgui351/tkgui/J2Ci/jDVPSTrimMode.java 2009-01-07 17:49:28.501261000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSTrimMode.java 2009-01-07 17:49:33.295852000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jDVPSVerifyAndSignMode.java dsgui360/tkgui/J2Ci/jDVPSVerifyAndSignMode.java
+--- dsgui351/tkgui/J2Ci/jDVPSVerifyAndSignMode.java 2009-01-07 17:49:28.506258000 +0100
++++ dsgui360/tkgui/J2Ci/jDVPSVerifyAndSignMode.java 2009-01-07 17:49:33.189957000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2001, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2001-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jE_Condition.java dsgui360/tkgui/J2Ci/jE_Condition.java
+--- dsgui351/tkgui/J2Ci/jE_Condition.java 2009-01-07 17:49:28.510258000 +0100
++++ dsgui360/tkgui/J2Ci/jE_Condition.java 2009-01-07 17:49:33.298855000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003..2002, Institute for MicroTherapy and OFFIS
+ *
+ * This software and supporting documentation were developed by
+ *
+@@ -15,6 +15,13 @@
+ * http://www.microtherapy.de/go/cs
+ * mailto:computer.science at microtherapy.de
+ *
++ * and
++ *
++ * Kuratorium OFFIS e.V.
++ * Healthcare Information and Communication Systems
++ * Escherweg 2
++ * D-26121 Oldenburg, Germany
++ *
+ * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND THE INSTITUTE MAKES NO
+ * WARRANTY REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY
+ * OR FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES
+@@ -31,91 +38,19 @@
+
+ /**
+ * The class <em>jE_Condition</em> represents the C++-enumeration
+- * E_Condition.
++ * E_Condition. To be more precisely, this class represents the
++ * return value of OFCondition::status() which might be OF_ok,
++ * OF_error or OF_failure.
+ *
+ * @author Andreas Schröter
+ */
+ public class jE_Condition
+ {
+ /**
+- * Constant; Method was successful.
++ * Constant; Method was successful. Equivilent to OF_ok.
+ */
+ public static final int EC_Normal = 0;
+
+- /**
+- * Constant; Invalid Tag.
+- */
+- public static final int EC_InvalidTag = 1;
+-
+- /**
+- * Constant; Tag not found.
+- */
+- public static final int EC_TagNotFound = 2;
+-
+- /**
+- * Constant; Invalid value representation.
+- */
+- public static final int EC_InvalidVR = 3;
+-
+- /**
+- * Constant; Invalid stream.
+- */
+- public static final int EC_InvalidStream = 4;
+-
+- /**
+- * Constant; End of stream.
+- */
+- public static final int EC_EndOfStream = 5;
+-
+- /**
+- * Constant; Corrupted data.
+- */
+- public static final int EC_CorruptedData = 6;
+-
+- /**
+- * Constant; Illegal call.
+- */
+- public static final int EC_IllegalCall = 7;
+-
+- /**
+- * Constant; Sequence end.
+- */
+- public static final int EC_SequEnd = 8;
+-
+- /**
+- * Constant; Doubled tag.
+- */
+- public static final int EC_DoubledTag = 9;
+-
+- /**
+- * Constant; Stream will notify client.
+- */
+- public static final int EC_StreamNotifyClient = 10;
+-
+- /**
+- * Constant; Wrong stream mode.
+- */
+- public static final int EC_WrongStreamMode = 11;
+-
+- /**
+- * Constant; Memory exhausted.
+- */
+- public static final int EC_MemoryExhausted = 12;
+-
+- /**
+- * Constant; Item end.
+- */
+- public static final int EC_ItemEnd = 13;
+-
+- /**
+- * Constant; Representation not found.
+- */
+- public static final int EC_RepresentationNotFound = 14;
+-
+- /**
+- * Constant; Can't change representation.
+- */
+- public static final int EC_CannotChangeRepresentation = 15;
+ }
+
+ /*
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jFloatByRef.java dsgui360/tkgui/J2Ci/jFloatByRef.java
+--- dsgui351/tkgui/J2Ci/jFloatByRef.java 2009-01-07 17:49:28.514257000 +0100
++++ dsgui360/tkgui/J2Ci/jFloatByRef.java 2009-01-07 17:49:33.394853000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 2000, OFFIS and Institute for MicroTherapy
++ * Copyright (C) 2000-2003, OFFIS and Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jIntByRef.java dsgui360/tkgui/J2Ci/jIntByRef.java
+--- dsgui351/tkgui/J2Ci/jIntByRef.java 2009-01-07 17:49:28.517261000 +0100
++++ dsgui360/tkgui/J2Ci/jIntByRef.java 2009-01-07 17:49:33.302854000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jRGB.java dsgui360/tkgui/J2Ci/jRGB.java
+--- dsgui351/tkgui/J2Ci/jRGB.java 2009-01-07 17:49:28.521260000 +0100
++++ dsgui360/tkgui/J2Ci/jRGB.java 2009-01-07 17:49:33.306853000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/J2Ci/jStringByRef.java dsgui360/tkgui/J2Ci/jStringByRef.java
+--- dsgui351/tkgui/J2Ci/jStringByRef.java 2009-01-07 17:49:28.525259000 +0100
++++ dsgui360/tkgui/J2Ci/jStringByRef.java 2009-01-07 17:49:33.310851000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ *
+- * Copyright (C) 1999, Institute for MicroTherapy
++ * Copyright (C) 1999-2003, Institute for MicroTherapy
+ *
+ * This software and supporting documentation were developed by
+ *
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/main/MainContext.java dsgui360/tkgui/main/MainContext.java
+--- dsgui351/tkgui/main/MainContext.java 2009-01-07 17:49:27.963585000 +0100
++++ dsgui360/tkgui/main/MainContext.java 2009-01-07 17:49:32.887258000 +0100
+@@ -22,8 +22,8 @@
+ * AND PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
+ *
+ * Author : $Author: kleber $
+- * Last update : $Date: 2001/06/06 10:32:30 $
+- * Revision : $Revision: 1.1.1.1 $
++ * Last update : $Date: 2003/09/08 10:08:20 $
++ * Revision : $Revision: 1.2 $
+ * State: $State: Exp $
+ */
+
+@@ -87,7 +87,7 @@
+ */
+
+ //String title = new String ("DICOMscope 3.0");
+- String title = new String ("DICOMscope 3.5.1");
++ String title = new String ("DICOMscope 3.6.0");
+
+
+
+@@ -398,6 +398,9 @@
+ /*
+ * CVS Log
+ * $Log: MainContext.java,v $
++ * Revision 1.2 2003/09/08 10:08:20 kleber
++ * New version number
++ *
+ * Revision 1.1.1.1 2001/06/06 10:32:30 kleber
+ * Init commit for DICOMscope 3.5
+ * Create new CVS
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/viewer/main/ScreenImageHandler.java dsgui360/tkgui/viewer/main/ScreenImageHandler.java
+--- dsgui351/tkgui/viewer/main/ScreenImageHandler.java 2009-01-07 17:49:27.579938000 +0100
++++ dsgui360/tkgui/viewer/main/ScreenImageHandler.java 2009-01-07 17:49:32.516535000 +0100
+@@ -22,8 +22,8 @@
+ * AND PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
+ *
+ * Author : $Author: kleber $
+- * Last update : $Date: 2001/06/06 10:32:30 $
+- * Revision : $Revision: 1.1.1.1 $
++ * Last update : $Date: 2003/09/08 10:17:26 $
++ * Revision : $Revision: 1.2 $
+ * State: $State: Exp $
+ */
+
+@@ -346,12 +346,13 @@
+ public void setNewDisplayArea(int tlhcX,int tlhcY,int brhcX,int brhcY)
+ {
+
+- presentationStateGraphicsHandler.ps.setDisplayedArea(presentationStateGraphicsHandler.ps.getDisplayedAreaPresentationSizeMode(), tlhcX, tlhcY, brhcX, brhcY, presentationStateGraphicsHandler.calculateZoomValue(new DisplayArea(tlhcX, tlhcY, brhcX, brhcY)), applyTo);
++ presentationStateGraphicsHandler.ps.setImageRelativeDisplayedArea(presentationStateGraphicsHandler.ps.getDisplayedAreaPresentationSizeMode(), tlhcX, tlhcY, brhcX, brhcY, presentationStateGraphicsHandler.calculateZoomValue(new DisplayArea(tlhcX, tlhcY, brhcX, brhcY)), applyTo);
+ presentationStateGraphicsHandler.calculateFirstZoomValue();
+ Controller.instance().fireNotification(new ImageChangeEvent(this, GuiComponents.ID_ZOOMINPUT, new Double(presentationStateGraphicsHandler.getZoomValue())));
+
+ buildImageBuffer(true,false,true,true, true);
+- statusInformation.setDisplayedArea(presentationStateGraphicsHandler.getDisplayArea());
++ statusInformation.setStandardDisplayedArea(presentationStateGraphicsHandler.getStandardDisplayedArea());
++
+ Controller.instance().fireStatus(new StatusLineEvent(this,StatusLineEvent.SET_TEXT2,DSComponentType.VIEWER,statusInformation.getPresentationInfo()));
+
+ }
+@@ -383,7 +384,8 @@
+ presentationStateGraphicsHandler.drawPaintStructure(bufferedScreenImage,transformationConverter.getTransformation(),transformationConverter.getOverlayTransformation(),false,8, false);
+ //mainImageViewerPanel.funktionBasisTabPanel.presentationStatePanel.setValue();
+ imageCanvas.repaint();
+- statusInformation.setDisplayedArea(presentationStateGraphicsHandler.getDisplayArea());
++ statusInformation.setStandardDisplayedArea(presentationStateGraphicsHandler.getStandardDisplayedArea());
++
+ Controller.instance().fireStatus(new StatusLineEvent(this,StatusLineEvent.SET_TEXT2,DSComponentType.VIEWER,statusInformation.getPresentationInfo()));
+ }
+ }
+@@ -406,7 +408,8 @@
+
+ //mainImageViewerPanel.funktionBasisTabPanel.presentationStatePanel.setValue();
+ imageCanvas.repaint();
+- statusInformation.setDisplayedArea(presentationStateGraphicsHandler.getDisplayArea());
++ statusInformation.setStandardDisplayedArea(presentationStateGraphicsHandler.getStandardDisplayedArea());
++
+ Controller.instance().fireStatus(new StatusLineEvent(this,StatusLineEvent.SET_TEXT2,DSComponentType.VIEWER,statusInformation.getPresentationInfo()));
+ }
+ }
+@@ -754,7 +757,7 @@
+ presentationStateGraphicsHandler.ps.getPresentationDescription(),
+ presentationStateGraphicsHandler.getImageWidth(),
+ presentationStateGraphicsHandler.getImageHeight(),
+- presentationStateGraphicsHandler.getDisplayArea(),
++ presentationStateGraphicsHandler.getStandardDisplayedArea(),
+ presentationStateGraphicsHandler.haveDisplayedAreaPresentationPixelSpacing(),
+ presentationStateGraphicsHandler.ps.canUseDisplayedAreaTrueSize(),
+ presentationStateGraphicsHandler.ps.getDisplayedAreaPresentationSizeMode(),
+@@ -839,7 +842,7 @@
+ presentationStateGraphicsHandler.ps.getPresentationLUT()));
+
+ Controller.instance().fireNotification(new SendLayerEvent(this,getLayers(),presentationStateGraphicsHandler.getCurrentLayerIndex()));
+- statusInformation.setDisplayedArea(presentationStateGraphicsHandler.getDisplayArea());
++ statusInformation.setStandardDisplayedArea(presentationStateGraphicsHandler.getStandardDisplayedArea());
+ Controller.instance().fireStatus(new StatusLineEvent(this,StatusLineEvent.SET_TEXT2,DSComponentType.VIEWER,statusInformation.getPresentationInfo()));
+
+ //Paints the image
+@@ -1475,11 +1478,11 @@
+ int lastPresentationSizeModeM = presentationStateGraphicsHandler.ps.getDisplayedAreaPresentationSizeMode();
+
+ //Sets a new Presentation Size Mode
+- presentationStateGraphicsHandler.ps.setDisplayedArea(jDVPSPresentationSizeMode.DVPSD_magnify,
+- displayAreaM.tlhc_x,
+- displayAreaM.tlhc_y,
+- displayAreaM.brhc_x,
+- displayAreaM.brhc_y,
++ presentationStateGraphicsHandler.ps.setImageRelativeDisplayedArea(jDVPSPresentationSizeMode.DVPSD_magnify,
++ displayAreaM.getTlhcX(),
++ displayAreaM.getTlhcY(),
++ displayAreaM.getBrhcX(),
++ displayAreaM.getBrhcY(),
+ presentationStateGraphicsHandler.getZoomValue(),
+ applyTo);
+ //build a new Presntation State
+@@ -1492,19 +1495,20 @@
+ //Notification, drawing
+ Controller.instance().fireNotification(new ImageChangeEvent(this, GuiComponents.ID_ZOOMINPUT, new Double(presentationStateGraphicsHandler.getZoomValue())));
+ buildImageBuffer(false,true,true,false, true);
+- statusInformation.setDisplayedArea(presentationStateGraphicsHandler.getDisplayArea());
++ statusInformation.setStandardDisplayedArea(presentationStateGraphicsHandler.getStandardDisplayedArea());
+ statusInformation.presentationSizeMode = "mgn";
+ Controller.instance().fireStatus(new StatusLineEvent(this,StatusLineEvent.SET_TEXT2,DSComponentType.VIEWER,statusInformation.getPresentationInfo()));
+ return true;
+ case ImageActionEvent.MODE_SCALE:
+ DisplayArea displayAreaS = presentationStateGraphicsHandler.getDisplayArea();
++
+ int lastPresentationSizeMode = presentationStateGraphicsHandler.ps.getDisplayedAreaPresentationSizeMode();
+ double lastZoom = presentationStateGraphicsHandler.getZoomValue();
+- presentationStateGraphicsHandler.ps.setDisplayedArea(jDVPSPresentationSizeMode.DVPSD_scaleToFit,
+- displayAreaS.tlhc_x,
+- displayAreaS.tlhc_y,
+- displayAreaS.brhc_x,
+- displayAreaS.brhc_y,
++ presentationStateGraphicsHandler.ps.setImageRelativeDisplayedArea(jDVPSPresentationSizeMode.DVPSD_scaleToFit,
++ displayAreaS.getTlhcX(),
++ displayAreaS.getTlhcY(),
++ displayAreaS.getBrhcX(),
++ displayAreaS.getBrhcY(),
+ presentationStateGraphicsHandler.getZoomValue(),
+ applyTo);
+ presentationStateGraphicsHandler.buildPresentationState();
+@@ -1514,23 +1518,26 @@
+
+ Controller.instance().fireNotification(new ImageChangeEvent(this, GuiComponents.ID_ZOOMINPUT, new Double(presentationStateGraphicsHandler.getZoomValue())));
+ buildImageBuffer(false,true,true,false, true);
+- statusInformation.setDisplayedArea(presentationStateGraphicsHandler.getDisplayArea());
++ statusInformation.setStandardDisplayedArea(presentationStateGraphicsHandler.getStandardDisplayedArea());
+ statusInformation.presentationSizeMode = "fit";
++
+ Controller.instance().fireStatus(new StatusLineEvent(this,StatusLineEvent.SET_TEXT2,DSComponentType.VIEWER,statusInformation.getPresentationInfo()));
+ return true;
+ case ImageActionEvent.MODE_TRUESIZE:
+ DisplayArea displayAreaT = presentationStateGraphicsHandler.getDisplayArea();
+- presentationStateGraphicsHandler.ps.setDisplayedArea(jDVPSPresentationSizeMode.DVPSD_trueSize,
+- displayAreaT.tlhc_x,
+- displayAreaT.tlhc_y,
+- displayAreaT.brhc_x,
+- displayAreaT.brhc_y,
++
++ presentationStateGraphicsHandler.ps.setImageRelativeDisplayedArea(jDVPSPresentationSizeMode.DVPSD_trueSize,
++ displayAreaT.getTlhcX(),
++ displayAreaT.getTlhcY(),
++ displayAreaT.getBrhcX(),
++ displayAreaT.getBrhcY(),
+ presentationStateGraphicsHandler.getZoomValue(),
+ applyTo);
+ presentationStateGraphicsHandler.buildPresentationState();
+ presentationStateGraphicsHandler.calculateFirstZoomValue();
+ buildImageBuffer(false,true,true,false, true);
+- statusInformation.setDisplayedArea(presentationStateGraphicsHandler.getDisplayArea());
++ statusInformation.setStandardDisplayedArea(presentationStateGraphicsHandler.getStandardDisplayedArea());
++
+ statusInformation.presentationSizeMode = "true";
+ Controller.instance().fireStatus(new StatusLineEvent(this,StatusLineEvent.SET_TEXT2,DSComponentType.VIEWER,statusInformation.getPresentationInfo()));
+ return true;
+@@ -1543,7 +1550,8 @@
+
+
+ buildImageBuffer(false,true,true,false, true);
+- statusInformation.setDisplayedArea(presentationStateGraphicsHandler.getDisplayArea());
++ statusInformation.setStandardDisplayedArea(presentationStateGraphicsHandler.getStandardDisplayedArea());
++
+ Controller.instance().fireStatus(new StatusLineEvent(this,StatusLineEvent.SET_TEXT2,DSComponentType.VIEWER,statusInformation.getPresentationInfo()));
+
+
+@@ -1676,8 +1684,9 @@
+ presentationStateGraphicsHandler.setZoomValue(newZoom);
+ transformationConverter.setNewZoom(oldZoom);
+ buildImageBuffer(false,false,true,true, true);
+- statusInformation.setDisplayedArea(presentationStateGraphicsHandler.getDisplayArea());
++ statusInformation.setStandardDisplayedArea(presentationStateGraphicsHandler.getStandardDisplayedArea());
+ statusInformation.zoomValue = newZoom;
++
+ Controller.instance().fireStatus(new StatusLineEvent(this,StatusLineEvent.SET_TEXT2,DSComponentType.VIEWER,statusInformation.getPresentationInfo()));
+
+ }
+@@ -2265,10 +2274,10 @@
+ else
+ {
+ double zoomValue = presentationStateGraphicsHandler.getZoomValue();
+- presentationStateGraphicsHandler.ps.setDisplayedArea(presentationStateGraphicsHandler.ps.getDisplayedAreaPresentationSizeMode(), 1, 1, presentationStateGraphicsHandler.getImageWidth(), presentationStateGraphicsHandler.getImageHeight(),zoomValue , applyTo);
++ presentationStateGraphicsHandler.ps.setImageRelativeDisplayedArea(presentationStateGraphicsHandler.ps.getDisplayedAreaPresentationSizeMode(), 1, 1, presentationStateGraphicsHandler.getImageWidth(), presentationStateGraphicsHandler.getImageHeight(),zoomValue , applyTo);
+ presentationStateGraphicsHandler.setScreenSize(new Dimension(presentationStateGraphicsHandler.getImageWidth(),presentationStateGraphicsHandler.getImageHeight()));
+ presentationStateGraphicsHandler.getPrintImageBuffer(transformationConverter);
+- presentationStateGraphicsHandler.ps.setDisplayedArea(presentationStateGraphicsHandler.ps.getDisplayedAreaPresentationSizeMode(), oldDisplaydArea.tlhc_x, oldDisplaydArea.tlhc_y, oldDisplaydArea.brhc_x, oldDisplaydArea.brhc_y, zoomValue, applyTo);
++ presentationStateGraphicsHandler.ps.setImageRelativeDisplayedArea(presentationStateGraphicsHandler.ps.getDisplayedAreaPresentationSizeMode(), oldDisplaydArea.getTlhcX(), oldDisplaydArea.getTlhcY(), oldDisplaydArea.getBrhcX(), oldDisplaydArea.getBrhcY(), zoomValue, applyTo);
+
+
+ }
+@@ -2426,6 +2435,9 @@
+ /*
+ * CVS Log
+ * $Log: ScreenImageHandler.java,v $
++ * Revision 1.2 2003/09/08 10:17:26 kleber
++ * Bugfix: The Displayed Area is defined after the spatial transformation.
++ *
+ * Revision 1.1.1.1 2001/06/06 10:32:30 kleber
+ * Init commit for DICOMscope 3.5
+ * Create new CVS
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/viewer/main/StatusInformation.java dsgui360/tkgui/viewer/main/StatusInformation.java
+--- dsgui351/tkgui/viewer/main/StatusInformation.java 2009-01-07 17:49:27.584940000 +0100
++++ dsgui360/tkgui/viewer/main/StatusInformation.java 2009-01-07 17:49:32.521533000 +0100
+@@ -22,8 +22,8 @@
+ * AND PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
+ *
+ * Author : $Author: kleber $
+- * Last update : $Date: 2001/06/06 10:32:30 $
+- * Revision : $Revision: 1.1.1.1 $
++ * Last update : $Date: 2003/09/08 10:13:44 $
++ * Revision : $Revision: 1.2 $
+ * State: $State: Exp $
+ */
+ package viewer.main;
+@@ -32,8 +32,7 @@
+ /**
+ * This class contains status information about the image
+ */
+-public class StatusInformation
+-{
++public class StatusInformation {
+ public double width;
+ public double center;
+ public boolean haveLut= false;
+@@ -45,53 +44,51 @@
+ public String layerName;
+
+
+- public StatusInformation()
+- {
++ public StatusInformation() {
+
+ }
+- public String toString()
+- {
++ public String toString() {
+ String returnString = new String();
+ if (displayArea != null) returnString = returnString.concat(displayArea.toString());
+ if (haveLut) returnString = returnString.concat("LUT: " + voiLut);
+ else returnString = returnString.concat(" c: = " + center + ", w: = " + width );
+ return returnString;
+ }
+- public void setWindow(double center, double width)
+- {
++ public void setWindow(double center, double width) {
+ this.center = center;
+ this.width = width;
+ haveLut = false;
+ }
+
+- public void setDisplayedArea(DisplayArea displayArea)
+- {
++ public void setStandardDisplayedArea(DisplayArea displayArea) {
++
+ this.displayArea = displayArea;
++
+ }
+- public void setLUT(String voiLut)
+- {
++ public void setLUT(String voiLut) {
+ haveLut = true;
+ this.voiLut = voiLut;
+ }
+- public String getWinInfo()
+- {
++ public String getWinInfo() {
+ if (haveLut) return("LUT: = " + voiLut);
+ else return new String("c/w: " + center + "/" + width);
+ }
+- public String getLayer()
+- {
++ public String getLayer() {
+ return layerName;
+ }
+- public String getPresentationInfo()
+- {
+- //return new String(presentationSizeMode + ", z: " + zoomValue + ", da: (" + displayArea.tlhc_x+ "/" + displayArea.tlhc_y+ "),("+displayArea.brhc_x+"/"+displayArea.brhc_y+")");
+- return new String("da: (" + displayArea.tlhc_x+ "/" + displayArea.tlhc_y+ "),("+displayArea.brhc_x+"/"+displayArea.brhc_y+")");
++ public String getPresentationInfo() {
++
++ //return new String(presentationSizeMode + ", z: " + zoomValue + ", da: (" + displayArea.getTlhcX()+ "/" + displayArea.tlhc_y+ "),("+displayArea.getBrhcX()+"/"+displayArea.getTlhcY()+")");
++ return new String("da: (" + displayArea.getTlhcX()+ "/" + displayArea.getTlhcY()+ "),("+displayArea.getBrhcX()+"/"+displayArea.getBrhcY()+")");
+ }
+
+ }
+ /*
+ * CVS Log
+ * $Log: StatusInformation.java,v $
++ * Revision 1.2 2003/09/08 10:13:44 kleber
++ * Rename setDisplayedArea to setStandardDisplayedArea
++ *
+ * Revision 1.1.1.1 2001/06/06 10:32:30 kleber
+ * Init commit for DICOMscope 3.5
+ * Create new CVS
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/viewer/paint/PaintObject.java dsgui360/tkgui/viewer/paint/PaintObject.java
+--- dsgui351/tkgui/viewer/paint/PaintObject.java 2009-01-07 17:49:27.613935000 +0100
++++ dsgui360/tkgui/viewer/paint/PaintObject.java 2009-01-07 17:49:32.550533000 +0100
+@@ -22,8 +22,8 @@
+ * AND PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
+ *
+ * Author : $Author: kleber $
+- * Last update : $Date: 2001/06/06 10:32:30 $
+- * Revision : $Revision: 1.1.1.1 $
++ * Last update : $Date: 2003/09/08 10:12:24 $
++ * Revision : $Revision: 1.2 $
+ * State: $State: Exp $
+ */
+
+@@ -54,8 +54,7 @@
+ * @see PolylineObject
+ * @see Rectangle2DObject
+ */
+-public abstract class PaintObject extends Object
+-{
++public abstract class PaintObject extends Object {
+
+ /**
+ * if true the PaintObject is display relative if false the PaintObject ist imageRelative.
+@@ -127,8 +126,7 @@
+ *
+ * @since 30.04.1999
+ */
+- public PaintObject()
+- {
++ public PaintObject() {
+ objectPoints = new Vector();
+ status =STATUS_NULL;
+ //{{INIT_CONTROLS
+@@ -140,8 +138,7 @@
+ * @param filled true if the PainObject should be filled
+ * @since 30.04.1999
+ */
+- public PaintObject(boolean filled)
+- {
++ public PaintObject(boolean filled) {
+ objectPoints = new Vector();
+ status =STATUS_NULL;
+ this.filled = filled;
+@@ -154,8 +151,7 @@
+ * @return ture if the PaintObject is closed
+ * @since 30.04.1999
+ */
+- public boolean isClosed()
+- {
++ public boolean isClosed() {
+ if (objectPoints.size() < 3) return false;
+ else return getPoint(0).equals(getPoint(objectPoints.size()-1));
+
+@@ -168,11 +164,9 @@
+ * @return The Point on the specified index in the objectPoints.
+ * @since 30.04.1999
+ */
+- public Point2D.Float getPoint(int index)
+- {
++ public Point2D.Float getPoint(int index) {
+ if (index >= objectPoints.size()) return null;
+- else
+- {
++ else {
+ return (Point2D.Float) objectPoints.elementAt(index);
+ }
+ }
+@@ -184,8 +178,7 @@
+ * @return The yype of the PaintObject.
+ * @since 30.04.1999
+ */
+- public int getType()
+- {
++ public int getType() {
+ if (isDisplayRelative) return 1;
+ else return 0;
+ }
+@@ -212,8 +205,7 @@
+ * @return true if the specified Point is inside the boundary of the Shape.
+ * @since 30.04.1999
+ */
+- public boolean contains(Point2D.Float p)
+- {
++ public boolean contains(Point2D.Float p) {
+ return getShape().getBounds2D().contains(p);
+ }
+
+@@ -234,11 +226,9 @@
+ * @return A copy of the Point at the specified index.
+ * @since 30.04.1999
+ */
+- public Point2D.Float getCopyPointAt(int index)
+- {
++ public Point2D.Float getCopyPointAt(int index) {
+ Point2D.Float returnPoint = null;
+- if (index >= objectPoints.size()) return returnPoint;
+- {
++ if (index >= objectPoints.size()) return returnPoint; {
+ returnPoint = new Point2D.Float(((Point2D.Float) objectPoints.elementAt(index)).x,
+ ((Point2D.Float) objectPoints.elementAt(index)).y);
+ return returnPoint;
+@@ -251,8 +241,7 @@
+ * @return The status of the PaintObject.
+ * @since 30.04.1999
+ */
+- public int getStatus()
+- {
++ public int getStatus() {
+ return status;
+ }
+
+@@ -262,8 +251,7 @@
+ * @param status The new status of the PaintObject.
+ * @since 30.04.1999
+ */
+- public void setStatus(int status)
+- {
++ public void setStatus(int status) {
+ this.status = status;
+ }
+
+@@ -274,8 +262,7 @@
+ * @return The ObjectPoints.
+ * @since 30.04.1999
+ */
+- public Vector getObjectPoints()
+- {
++ public Vector getObjectPoints() {
+ return objectPoints;
+ }
+
+@@ -285,12 +272,10 @@
+ * @return A String representing this PaintObject
+ * @since 30.04.1999
+ */
+- public String getInfo()
+- {
++ public String getInfo() {
+ String returnString = null;
+ if (getShape()!= null)returnString = new String(" " + getShape().toString()+ "\n");
+- for (int i = 0; i < objectPoints.size(); i++)
+- {
++ for (int i = 0; i < objectPoints.size(); i++) {
+ returnString = returnString.concat("Index: " + i + " " + objectPoints.elementAt(i).toString()+"\n");
+ }
+ return returnString;
+@@ -302,8 +287,7 @@
+ * @param filled true - the PaintObject should be filled.
+ * @since 30.04.1999
+ */
+- public void setFilled(boolean filled)
+- {
++ public void setFilled(boolean filled) {
+ this.filled = filled;
+ }
+
+@@ -322,8 +306,7 @@
+ * @param aff Contains the transformation appling to the Shpae before drawing.
+ * @since 30.04.1999
+ */
+- public void drawTransformedShape(Graphics2D g,AffineTransform aff)
+- {
++ public void drawTransformedShape(Graphics2D g,AffineTransform aff) {
+ g.setTransform(aff);
+ drawShape(g);
+ }
+@@ -357,6 +340,9 @@
+ /*
+ * CVS Log
+ * $Log: PaintObject.java,v $
++ * Revision 1.2 2003/09/08 10:12:24 kleber
++ * Reformate Code
++ *
+ * Revision 1.1.1.1 2001/06/06 10:32:30 kleber
+ * Init commit for DICOMscope 3.5
+ * Create new CVS
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/viewer/presentation/DisplayArea.java dsgui360/tkgui/viewer/presentation/DisplayArea.java
+--- dsgui351/tkgui/viewer/presentation/DisplayArea.java 2009-01-07 17:49:27.638913000 +0100
++++ dsgui360/tkgui/viewer/presentation/DisplayArea.java 2009-01-07 17:49:32.569533000 +0100
+@@ -22,8 +22,8 @@
+ * AND PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
+ *
+ * Author : $Author: kleber $
+- * Last update : $Date: 2001/06/06 10:32:30 $
+- * Revision : $Revision: 1.1.1.1 $
++ * Last update : $Date: 2003/09/08 10:17:26 $
++ * Revision : $Revision: 1.2 $
+ * State: $State: Exp $
+ */
+ package viewer.presentation;
+@@ -31,39 +31,84 @@
+ /**
+ * Contains a DICOM display area.
+ */
+-public class DisplayArea
+-{
++public class DisplayArea{
++
++
++
+ public int tlhc_x;
+ public int tlhc_y;
+ public int brhc_x;
+ public int brhc_y;
+- public DisplayArea( int tlhc_x,
+- int tlhc_y,
+- int brhc_x,
+- int brhc_y)
+- {
++ /**
++ * @param tlhc_x
++ * @param tlhc_y
++ * @param brhc_x
++ * @param brhc_y
++ * @param rotation
++ * @param flipped */
++ public DisplayArea( int tlhc_x, int tlhc_y, int brhc_x, int brhc_y) {
++
+ this.tlhc_x = tlhc_x;
+ this.tlhc_y = tlhc_y;
+ this.brhc_x = brhc_x;
+ this.brhc_y = brhc_y;
++
+ }
+- public String toString()
+- {
++
++
++ public String toString() {
+ return new String("TLHC: = " + tlhc_x + "/" + tlhc_y+ ", BRHC: = " + brhc_x + "/" + brhc_y);
+ }
+- public void setZoom(double zoom)
+- {
++ /**
++ * @param zoom */
++ public void setZoom(double zoom) {
+ tlhc_x = (int)(zoom*tlhc_x);
+ tlhc_y = (int)(zoom*tlhc_y);
+ brhc_y = (int)(zoom*brhc_y);
+ brhc_x = (int)(zoom*brhc_x);
+ }
+- public int getDimensionX() { return brhc_x-tlhc_x;}
+- public int getDimensionY() { return brhc_y-tlhc_y;}
++ public int getDimensionX() {
++ return brhc_x-tlhc_x;
++ }
++ public int getDimensionY() {
++ return brhc_y-tlhc_y;
++ }
++
++ public boolean equals(Object o) {
++ if ( o instanceof DisplayArea) {
++ DisplayArea displayedArea=(DisplayArea) o;
++
++ if (displayedArea.tlhc_x==tlhc_x &&displayedArea.tlhc_y==tlhc_y
++ &&displayedArea.brhc_x==brhc_x&&displayedArea.brhc_y==brhc_y){
++ return true;
++ } else {
++ return false;
++ }
++ } else {
++ throw new ClassCastException();
++ }
++ }
++
++ public int getTlhcX() {
++ return tlhc_x;
++ }
++ public int getTlhcY() {
++ return tlhc_y;
++ }
++ public int getBrhcX() {
++ return brhc_x;
++ }
++ public int getBrhcY() {
++ return brhc_y;
++ }
++
+ }
+ /*
+ * CVS Log
+ * $Log: DisplayArea.java,v $
++ * Revision 1.2 2003/09/08 10:17:26 kleber
++ * Bugfix: The Displayed Area is defined after the spatial transformation.
++ *
+ * Revision 1.1.1.1 2001/06/06 10:32:30 kleber
+ * Init commit for DICOMscope 3.5
+ * Create new CVS
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/viewer/presentation/DisplayAreaTest.java dsgui360/tkgui/viewer/presentation/DisplayAreaTest.java
+--- dsgui351/tkgui/viewer/presentation/DisplayAreaTest.java 1970-01-01 01:00:00.000000000 +0100
++++ dsgui360/tkgui/viewer/presentation/DisplayAreaTest.java 2009-01-07 17:49:32.633512000 +0100
+@@ -0,0 +1,110 @@
++/*
++ *
++ * Copyright (C) 1999, Institute for MicroTherapy
++ *
++ * This software and supporting documentation were developed by
++ *
++ * University of Witten/Herdecke
++ * Department of Radiology and MicroTherapy
++ * Institute for MicroTherapy
++ * Medical computer science
++ *
++ * Universitaetsstrasse 142
++ * 44799 Bochum, Germany
++ *
++ * http://www.microtherapy.de/go/cs
++ * mailto:computer.science at microtherapy.de
++ *
++ * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND THE INSTITUTE MAKES NO
++ * WARRANTY REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY
++ * OR FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES
++ * OR ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY
++ * AND PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
++ *
++ *
++ * Author : $Author: kleber $
++ * Last update : $Date: 2001/06/06 10:32:30 $
++ * Revision : $Revision: 1.1.1.1 $
++ * State: $State: Exp $
++ */
++package viewer.presentation;
++
++import junit.framework.*;
++
++import java.awt.*; // list of common used packages
++import java.awt.event.*;
++
++import java.io.*;
++import java.io.ByteArrayInputStream;
++
++import java.util.*;
++
++import javax.swing.*;
++
++
++/**
++ * JUnit TestSuite for SimpleTest
++ * <BR>
++ * Start main to run testcases or
++ * execute junit.swingui.TestRunner.run( SimpleTest.class )
++ * to execute visual test.
++ *
++ *
++ * <DL>
++ * <DT><B>Revision:</B></DT>
++ * <DD>$Revision: 1.2 $</DD>
++ * <DT><B>Date:</B></DT>
++ * <DD>$Date: 2002/11/29 17:31:40 $</DD>
++ * </DL>
++ *
++ * @author NAME
++ * @version $Revision: 1.2 $
++ */
++public class DisplayAreaTest extends TestCase {
++ //////////////////////////////////////////
++ // F I X T U T R E T E S T S E T S
++ // defines the test-sets
++ // used by every TestCase
++ //////////////////////////////////////////
++ // TestSet-Data
++ // TestObject my_test_object_a = null;
++ // TestObject my_test_object_b = null;
++ public DisplayAreaTest(java.lang.String testName) {
++ super(testName);
++ }
++
++ /**
++ * initializes the testset.
++ * This method is being executed before
++ * any TestCase (testMethod) is being called.
++ */
++ public void setUp() {
++ }
++
++ /**
++ * Deinitializes the testset.
++ * This method is being executed before
++ * any TestCase (testMethod) is being called.
++ */
++ public void tearDown() {
++ // my_test_object_a.dispose();
++ // my_test_object_b.dispose();
++ }
++
++ public static void main(java.lang.String[] args) {
++ junit.textui.TestRunner.run(suite());
++ }
++
++ public static Test suite() {
++ TestSuite suite = new TestSuite(DisplayAreaTest.class);
++ return suite;
++ }
++
++
++}
++
++
++/*
++ * $Log: $
++
++ */
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/viewer/presentation/PresentationStateGraphicObject.java dsgui360/tkgui/viewer/presentation/PresentationStateGraphicObject.java
+--- dsgui351/tkgui/viewer/presentation/PresentationStateGraphicObject.java 2009-01-07 17:49:27.664884000 +0100
++++ dsgui360/tkgui/viewer/presentation/PresentationStateGraphicObject.java 2009-01-07 17:49:32.595533000 +0100
+@@ -22,8 +22,8 @@
+ * AND PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
+ *
+ * Author : $Author: kleber $
+- * Last update : $Date: 2001/06/06 10:32:30 $
+- * Revision : $Revision: 1.1.1.1 $
++ * Last update : $Date: 2003/09/08 10:15:38 $
++ * Revision : $Revision: 1.2 $
+ * State: $State: Exp $
+ */
+
+@@ -52,8 +52,7 @@
+ * @see PresentationStateLayerObject
+ * @see J2Ci.jDVPSGraphicObject
+ */
+-public class PresentationStateGraphicObject extends PresentationStateAnnotationObject
+-{
++public class PresentationStateGraphicObject extends PresentationStateAnnotationObject {
+
+
+ /**
+@@ -81,8 +80,7 @@
+ *
+ * @since 30.04.1999
+ */
+- private PresentationStateGraphicObject()
+- {
++ private PresentationStateGraphicObject() {
+ super();
+
+ }
+@@ -108,8 +106,7 @@
+ int annotationUnits,
+ boolean isFilled,
+ Dimension screenSize,
+- AffineTransform aff)
+- {
++ AffineTransform aff) {
+ this();
+ this.index = index;
+ this.graphicObject = graphicObject;
+@@ -119,11 +116,9 @@
+ graphicObject.setFilled(isFilled);
+ graphicObject.setGraphicType(type);
+
+- if (annotationUnits == 1)
+- {
++ if (annotationUnits == 1) {
+ Point2D.Float point = new Point2D.Float();
+- for (int i = 0; i < pointList.length/2;i++)
+- {
++ for (int i = 0; i < pointList.length/2;i++) {
+ aff.transform( new Point2D.Float(pointList[2*i]-1,pointList[2*i+1]-1),point);
+ pointList[2*i] = point.x/screenSize.width;
+ pointList[2*i+1] = point.y/screenSize.height;
+@@ -143,8 +138,7 @@
+ * @param index Contains the index of the PresentationStateGraphicObject.
+ * @since 30.04.1999
+ */
+- public PresentationStateGraphicObject(jDVPSGraphicObject graphicObject, DisplayArea da,int index)
+- {
++ public PresentationStateGraphicObject(jDVPSGraphicObject graphicObject, DisplayArea da,int index) {
+ this();
+ this.da = da;
+ this.index = index;
+@@ -161,8 +155,7 @@
+ * @since 30.04.1999
+ */
+
+- public boolean isClosed()
+- {
++ public boolean isClosed() {
+ if (getGraphicType() == jDVPSGraphicType.DVPST_ellipse) return true;
+ if (getGraphicType() == jDVPSGraphicType.DVPST_circle) return true;
+ //if (getGraphicType() == jDVPSGraphicType.DVPST_interpolated) return false;
+@@ -181,8 +174,7 @@
+ * @param point Stop moving point.
+ * @since 30.04.1999
+ */
+- public void moveTo(Point2D.Float moveAnn,Point2D.Float point )
+- {
++ public void moveTo(Point2D.Float moveAnn,Point2D.Float point ) {
+
+
+ float[] newPixels = new float[getNumberOfPoints()*2];
+@@ -191,15 +183,13 @@
+ Point2D.Float translatedPoint = new Point2D.Float();
+
+ //image relative
+- if (getAnnotationUnits() == 0)
+- {
++ if (getAnnotationUnits() == 0) {
+ translatedPoint1 = getInverseTransformedPoint(moveAnn,aff);
+ translatedPoint2 = getInverseTransformedPoint(point,aff);
+ translatedPoint.x = translatedPoint2.x-translatedPoint1.x;
+ translatedPoint.y = translatedPoint2.y-translatedPoint1.y;
+
+- for (int i = 0; i < getNumberOfPoints(); i++)
+- {
++ for (int i = 0; i < getNumberOfPoints(); i++) {
+ newPixels[2*i] = getPoint(i).x+translatedPoint.x;
+ newPixels[2*i+1] = getPoint(i).y +translatedPoint.y;
+ }
+@@ -208,14 +198,12 @@
+
+ }
+ //Display relative
+- else
+- {
++ else {
+ Point2D.Float diff = new Point2D.Float();
+ diff.x = point.x-moveAnn.x;
+ diff.y = point.y-moveAnn.y;
+
+- for (int i = 0; i < getNumberOfPoints(); i++)
+- {
++ for (int i = 0; i < getNumberOfPoints(); i++) {
+ newPixels[2*i] = getPoint(i).x+diff.x/screenSize.width;
+ newPixels[2*i+1] =getPoint(i).y+ diff.y/screenSize.height;
+
+@@ -236,8 +224,7 @@
+ * @param The new screensize of the annotation.
+ * @since 30.04.1999
+ */
+- public void setScreenSize(Dimension screenSize)
+- {
++ public void setScreenSize(Dimension screenSize) {
+ this.screenSize = screenSize;
+ if (getAnnotationUnits() ==jDVPSannotationUnit.DVPSA_display) if (screenSize!= null)buildShape();
+
+@@ -248,8 +235,7 @@
+ *
+ * @since 30.04.1999
+ */
+- public void buildShape()
+- {
++ public void buildShape() {
+
+ //Contructs Polyline
+ if (getGraphicType() == jDVPSGraphicType.DVPST_polyline) thisShape = buildPolyline();
+@@ -276,16 +262,13 @@
+ * @param aff Contains the applying transformation.
+ * @since 30.04.1999
+ */
+- public void draw(Graphics2D g2,AffineTransform aff, boolean scale)
+- {
++ public void draw(Graphics2D g2,AffineTransform aff, boolean scale) {
+
+ System.out.println(getInfo());
+ this.aff = aff;
+- if ((g2!=null) && (thisShape!= null))
+- {
++ if ((g2!=null) && (thisShape!= null)) {
+ //System.out.println("**********draw Image Rel*************************");
+- if (getAnnotationUnits() ==0)
+- {
++ if (getAnnotationUnits() ==0) {
+
+ g2.setTransform(aff);
+ g2.draw((thisShape));
+@@ -293,8 +276,7 @@
+ if ((isfilled()&& isClosed())||getGraphicType() == jDVPSGraphicType.DVPST_point) g2.fill(thisShape);
+ if (!isActive()) drawBounding(g2,aff);
+ }
+- else
+- {
++ else {
+ //System.out.println("**********draw Display rel*************************");
+ g2.setTransform(new AffineTransform());
+ // g2.setStroke(graphicStroke);
+@@ -304,20 +286,17 @@
+ }
+ }
+ }
+- public void convertDisplayedAreas(float offsetX, float offsetY,float transX, float transY)
+- {
++ public void convertDisplayedAreas(float offsetX, float offsetY,float transX, float transY) {
+ System.out.println("transY: "+transY);
+ System.out.println("transX: "+transX);
+ System.out.println("offsetY: "+offsetY);
+ System.out.println("offsetX: "+offsetX);
+
+- if (getAnnotationUnits() ==jDVPSannotationUnit.DVPSA_display)
+- {
++ if (getAnnotationUnits() ==jDVPSannotationUnit.DVPSA_display) {
+ int number = getNumberOfPoints();
+ float[] points = new float[number*2];
+ Point2D.Float p = new Point2D.Float();
+- for (int i = 0; i< number; i++)
+- {
++ for (int i = 0; i< number; i++) {
+ p = getPoint(i);
+ System.out.println("p: "+p);
+
+@@ -339,15 +318,12 @@
+ * @param aff Contains the applying transformation.
+ * @since 30.04.1999
+ */
+- public void drawBounding(Graphics2D g2,AffineTransform aff)
+- {
++ public void drawBounding(Graphics2D g2,AffineTransform aff) {
+ Rectangle2D boundingRect;
+- if (getAnnotationUnits()==0)
+- {
++ if (getAnnotationUnits()==0) {
+ boundingRect = aff.createTransformedShape(thisShape.getBounds2D()).getBounds2D();
+ }
+- else
+- {
++ else {
+ boundingRect = thisShape.getBounds2D();
+
+ }
+@@ -369,8 +345,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPSGraphicObject#isFilled
+ */
+- public boolean isfilled()
+- {
++ public boolean isfilled() {
+ return graphicObject.isFilled();
+ }
+
+@@ -382,8 +357,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPSGraphicObject#getAnnotationUnits
+ */
+- public int getAnnotationUnits()
+- {
++ public int getAnnotationUnits() {
+ return graphicObject.getAnnotationUnits();
+ }
+
+@@ -395,8 +369,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPSGraphicObject#getGraphicType
+ */
+- int getGraphicType()
+- {
++ int getGraphicType() {
+ return graphicObject.getGraphicType();
+ }
+
+@@ -408,8 +381,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPSGraphicObject#getPoint
+ */
+- Point2D.Float getPoint(int index)
+- {
++ Point2D.Float getPoint(int index) {
+ jDoubleByRef x = new jDoubleByRef();
+ jDoubleByRef y = new jDoubleByRef();
+ graphicObject.getPoint(index,x,y);
+@@ -423,8 +395,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPSGraphicObject#getPoint
+ */
+- Point2D.Double getPointDouble(int index)
+- {
++ Point2D.Double getPointDouble(int index) {
+ jDoubleByRef x = new jDoubleByRef();
+ jDoubleByRef y = new jDoubleByRef();
+ graphicObject.getPoint(index,x,y);
+@@ -438,8 +409,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPSGraphicObject#getNumberOfPoints
+ */
+- int getNumberOfPoints()
+- {
++ int getNumberOfPoints() {
+ return graphicObject.getNumberOfPoints();
+ }
+
+@@ -450,20 +420,17 @@
+ * @return The shape of the annotation.
+ * @since 30.04.1999
+ */
+- Shape buildPolyline()
+- {
++ Shape buildPolyline() {
+ //Shape object
+ GeneralPath generalPath= new GeneralPath();
+
+ //Image realtive annotation
+- if ( getAnnotationUnits() == 0)
+- {
++ if ( getAnnotationUnits() == 0) {
+ generalPath.moveTo((getPoint(0).x-1), (getPoint(0).y-1));
+ for (int i = 1; i< getNumberOfPoints(); i++) generalPath.lineTo(getPoint(i).x-1, getPoint(i).y-1);
+ }
+ //Display realtive annotation
+- else
+- {
++ else {
+ generalPath.moveTo(((getPoint(0).x)*(screenSize.width)),(getPoint(0).y*screenSize.height));
+ for (int i = 1; i< getNumberOfPoints(); i++) generalPath.lineTo(getPoint(i).x*screenSize.width, getPoint(i).y*screenSize.height);
+
+@@ -478,18 +445,15 @@
+ * @return The shape of the annotation.
+ * @since 30.04.1999
+ */
+- Shape buildInterpolated()
+- {
++ Shape buildInterpolated() {
+ GeneralPath generalPath= null;
+
+ //Image realtive annotation
+- if ( getAnnotationUnits() == 0)
+- {
++ if ( getAnnotationUnits() == 0) {
+ int size = getNumberOfPoints();
+ Point2D.Double[] pts = new Point2D.Double[size];
+ Point2D.Double p;
+- for (int i = 0; i< size; i++)
+- {
++ for (int i = 0; i< size; i++) {
+ p = getPointDouble(i);
+ pts[i] = new Point2D.Double(p.x-1,p.y-1);
+ }
+@@ -498,14 +462,12 @@
+
+ }
+ //Display realtive annotation
+- else
+- {
++ else {
+
+ int size = getNumberOfPoints();
+ Point2D.Double[] pts = new Point2D.Double[size];
+ Point2D.Double p;
+- for (int i = 0; i< size; i++)
+- {
++ for (int i = 0; i< size; i++) {
+ p = getPointDouble(i);
+ pts[i] = new Point2D.Double(p.x*screenSize.width,p.y*screenSize.height);
+ }
+@@ -524,62 +486,97 @@
+ * @return The shape of the annotation.
+ * @since 30.04.1999
+ */
+- Shape buildEllipse()
+- {
++ Shape buildEllipse() {
++ System.out.println("zzzzz");
+ //Shape object
+ Ellipse2D.Float ellipse;
+
+ //TLHC of the circle
+- float leftx;
+- float lefty;
++ float majMinX;
++ float majMinY;
++ float minMinX;
++ float minMinY;
+
+- //width of the ellipse
+- float width;
++ //Calculates letfx
++ if (getPoint(0).x< getPoint(1).x) {
++ majMinX = getPoint(0).x ;
++ }
++ else {
++ majMinX = getPoint(1).x ;
++ }
++
++ //calculates lefty
++ if (getPoint(0).y< getPoint(1).y) {
++ majMinY = getPoint(0).y;
++ }
++ else {
++ majMinY = getPoint(1).y;
++ }
++ //Calculates letfx
++ if (getPoint(2).x< getPoint(3).x) {
++ minMinX = getPoint(2).x ;
++ }
++ else {
++ minMinX = getPoint(3).x ;
++ }
++
++ //calculates lefty
++ if (getPoint(2).y< getPoint(3).y) {
++ minMinY = getPoint(2).y;
++ }
++ else {
++ minMinY = getPoint(3).y;
++ }
+
+- //height of the ellipse
++ float leftx;
++ float lefty;
+ float height;
++ float width;
++ if (minMinY<majMinY) {
+
+ height = Math.abs(getPoint(0).x-getPoint(1).x);
+-
+ width= Math.abs(getPoint(2).y-getPoint(3).y);
++ leftx=majMinX;
++ lefty=minMinY;
++ /*
++ System.err.println("getPoint(0)" +getPoint(0));
++ System.err.println("getPoint(1)" +getPoint(1));
++ System.err.println("getPoint(2)" +getPoint(2));
++ System.err.println("getPoint(3)" +getPoint(3));
++ System.err.println("11 height "+ height+"; width: " +width+", leftx" +leftx+", leftx: " +lefty);
++ */
++ } else {
+
+
+-
+- //Calculates letfx
+- if (getPoint(0).x< getPoint(1).x)
+- {
+- leftx = getPoint(0).x ;
+- }
+- else
+- {
+- leftx = getPoint(1).x ;
++ width = Math.abs(getPoint(0).y-getPoint(1).y);
++ height= Math.abs(getPoint(2).x-getPoint(3).x);
++ leftx=minMinX;
++ lefty=majMinY;
++ /*
++ System.err.println("getPoint(0)" +getPoint(0));
++ System.err.println("getPoint(1)" +getPoint(1));
++ System.err.println("getPoint(2)" +getPoint(2));
++ System.err.println("getPoint(3)" +getPoint(3));
++ System.err.println("11 height "+ height+"; width: " +width+", leftx" +leftx+", leftx: " +lefty);
++ */
+ }
+
+- //calculates lefty
+- if (getPoint(2).y< getPoint(3).y)
+- {
+- lefty = getPoint(2).y;
+- }
+- else
+- {
+- lefty = getPoint(3).y;
+- }
+
+
+- if ( getAnnotationUnits() == 0)
+- {
++
++ if ( getAnnotationUnits() == 0) {
+
+ ellipse = new Ellipse2D.Float(leftx-1,lefty-1,height-1,width-1);
+ }
+- else
+- {
++ else {
+
+ ellipse = new Ellipse2D.Float( leftx*screenSize.width,
+ lefty*screenSize.height,
+ height*screenSize.width,
+ width*screenSize.height);
+- // System.out.println("Ellipse:" +leftx+ ", " +screenSize.toString());
++ System.out.println("Ellipse:" +leftx+ ", " +screenSize.toString());
+ }
++
+ return ellipse;
+ }
+
+@@ -590,8 +587,7 @@
+ * @return The shape of the annotation.
+ * @since 30.04.1999
+ */
+- Shape buildCircle()
+- {
++ Shape buildCircle() {
+ Ellipse2D.Float circle;
+ float leftx;
+ float lefty;
+@@ -600,15 +596,13 @@
+ Point2D.Float pointAtCirc;
+
+
+- if ( getAnnotationUnits() == 0)
+- {
++ if ( getAnnotationUnits() == 0) {
+ //System.out.println(" Image relative Annotation");
+ pointCenter = new Point2D.Float(getPoint(0).x-1f,getPoint(0).y-1f);
+ pointAtCirc = new Point2D.Float(getPoint(1).x-1f,getPoint(1).y-1f);
+
+ }
+- else
+- {
++ else {
+ //System.out.println(" Display relative Annotation");
+ pointCenter = new Point2D.Float(getPoint(0).x*screenSize.width,getPoint(0).y*screenSize.height);
+ pointAtCirc = new Point2D.Float(getPoint(1).x*screenSize.width,getPoint(1).y*screenSize.height);
+@@ -634,8 +628,7 @@
+ * @return The shape of the annotation.
+ * @since 30.04.1999
+ */
+- Shape buildPoint()
+- {
++ Shape buildPoint() {
+ System.out.println("-----------------------------buildPoint");
+ Ellipse2D.Float circle;
+ float leftx;
+@@ -645,14 +638,12 @@
+ Point2D.Float pointAtCirc;
+
+
+- if ( getAnnotationUnits() == 0)
+- {
++ if ( getAnnotationUnits() == 0) {
+ //System.out.println(" Image relative Annotation");
+ pointCenter = new Point2D.Float(getPoint(0).x-1f,getPoint(0).y-1f);
+
+ }
+- else
+- {
++ else {
+ //System.out.println(" Display relative Annotation");
+ pointCenter = new Point2D.Float(getPoint(0).x*screenSize.width,getPoint(0).y*screenSize.height);
+
+@@ -677,8 +668,7 @@
+ * @return A String representing this object.
+ * @since 30.04.1999
+ */
+- public String getListText()
+- {
++ public String getListText() {
+ String returnString = new String();
+ if (getAnnotationUnits()== 0)returnString = returnString.concat("image rel. graphic:");
+ else returnString = returnString.concat("display rel. graphic: ");
+@@ -698,8 +688,7 @@
+ * @return A String representing this object
+ * @since 30.04.1999
+ */
+- public String getInfo()
+- {
++ public String getInfo() {
+
+ String returnString;
+
+@@ -710,8 +699,7 @@
+ " getGraphicType: "+ getGraphicType() + "\n" );
+
+ //fill points
+- for (int i = 0; i < getNumberOfPoints(); i++)
+- {
++ for (int i = 0; i < getNumberOfPoints(); i++) {
+ returnString = returnString.concat(" Point " + i + ": X = " + getPoint(i).getX() + ", Y = " + getPoint(i).getY()+"\n");
+ }
+
+@@ -724,8 +712,7 @@
+ *
+ * @since 30.04.1999
+ */
+- public void deleteAll()
+- {
++ public void deleteAll() {
+
+ graphicObject = null;
+ thisShape = null;
+@@ -738,8 +725,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPSGraphicObject#setFilled
+ */
+- public void setFilled(boolean filled)
+- {
++ public void setFilled(boolean filled) {
+ graphicObject.setFilled(filled);
+ }
+
+@@ -750,10 +736,8 @@
+ * @return true if this object contains the specified point.
+ * @since 30.04.1999
+ */
+- public boolean contains(Point2D.Float point)
+- {
+- if (getNumberOfPoints() <= 2)
+- {
++ public boolean contains(Point2D.Float point) {
++ if (getNumberOfPoints() <= 2) {
+ Rectangle2D boundsRect;
+ boundsRect = thisShape.getBounds2D();
+ if (getAnnotationUnits() == 0)
+@@ -772,15 +756,12 @@
+ *
+ * @since 30.04.1999
+ */
+- public void convert()
+- {
++ public void convert() {
+ float[] newPixels = new float[getNumberOfPoints()*2];
+ Point2D.Float translatedPoint = new Point2D.Float();
+ //Convert image relative to display relative
+- if (getAnnotationUnits() == 0)
+- {
+- for (int i = 0; i < getNumberOfPoints(); i++)
+- {
++ if (getAnnotationUnits() == 0) {
++ for (int i = 0; i < getNumberOfPoints(); i++) {
+ aff.transform(new Point2D.Float(getPoint(i).x-1 ,getPoint(i).y-1),translatedPoint);
+ newPixels[2*i] = translatedPoint.x/screenSize.width;
+ newPixels[2*i+1] = translatedPoint.y/screenSize.height;
+@@ -791,12 +772,9 @@
+ graphicObject.setData(getNumberOfPoints(), newPixels, 1);
+ }
+ //Convert display relative to image relative.
+- else
+- {
+- for (int i = 0; i < getNumberOfPoints(); i++)
+- {
+- try
+- {
++ else {
++ for (int i = 0; i < getNumberOfPoints(); i++) {
++ try {
+ aff.inverseTransform(new Point2D.Float(getPoint(i).x*screenSize.width,getPoint(i).y*screenSize.height),translatedPoint);
+ }
+ catch(NoninvertibleTransformException e)
+@@ -818,6 +796,9 @@
+ /*
+ * CVS Log
+ * $Log: PresentationStateGraphicObject.java,v $
++ * Revision 1.2 2003/09/08 10:15:38 kleber
++ * Bugfix: The first two points of Ellipse are definesd as the major axis
++ *
+ * Revision 1.1.1.1 2001/06/06 10:32:30 kleber
+ * Init commit for DICOMscope 3.5
+ * Create new CVS
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/viewer/presentation/PresentationStateGraphicsHandler.java dsgui360/tkgui/viewer/presentation/PresentationStateGraphicsHandler.java
+--- dsgui351/tkgui/viewer/presentation/PresentationStateGraphicsHandler.java 2009-01-07 17:49:27.670878000 +0100
++++ dsgui360/tkgui/viewer/presentation/PresentationStateGraphicsHandler.java 2009-01-07 17:49:32.601533000 +0100
+@@ -22,8 +22,8 @@
+ * AND PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
+ *
+ * Author : $Author: kleber $
+- * Last update : $Date: 2001/06/06 10:32:30 $
+- * Revision : $Revision: 1.1.1.1 $
++ * Last update : $Date: 2003/09/08 10:17:26 $
++ * Revision : $Revision: 1.2 $
+ * State: $State: Exp $
+ */
+ package viewer.presentation;
+@@ -43,8 +43,7 @@
+ * @author Klaus Kleber
+ * @since 30.04.1999
+ */
+-public class PresentationStateGraphicsHandler
+-{
++public class PresentationStateGraphicsHandler {
+ /**
+ * Toggle PS on/off. If true the Presentation State is visible, if only the image
+ * without the Presentation State is visible.
+@@ -165,8 +164,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVInterface
+ */
+- public PresentationStateGraphicsHandler(jDVInterface dvi)
+- {
++ public PresentationStateGraphicsHandler(jDVInterface dvi) {
+ this.dvi = dvi;
+ }
+
+@@ -177,8 +175,7 @@
+ * @return The current active PresentationStateLayerObject.
+ * @since 30.04.1999
+ */
+- public PresentationStateLayerObject getCurrentLayerObject()
+- {
++ public PresentationStateLayerObject getCurrentLayerObject() {
+ return ((PresentationStateLayerObject) ((PresentationStateGraphicLayer) listPresentationStateGraphicLayer.elementAt(currentLayerIndex)).layerObjectAt(currentLayerObjectIndex));
+ }
+
+@@ -188,8 +185,7 @@
+ * @param newIndex New currentLayerObjectIndex.
+ * @since 30.04.1999
+ */
+- public void setCurrentLayerObjectIndex(int newIndex)
+- {
++ public void setCurrentLayerObjectIndex(int newIndex) {
+ this.currentLayerObjectIndex = newIndex;
+ }
+
+@@ -199,8 +195,7 @@
+ * @return The currentLayerObjectIndex.
+ * @since 30.04.1999
+ */
+- public int getCurrentLayerObjectIndex()
+- {
++ public int getCurrentLayerObjectIndex() {
+ return currentLayerObjectIndex;
+ }
+
+@@ -211,8 +206,7 @@
+ * @return The current active PresentationStateGraphicLayer.
+ * @since 30.04.1999
+ */
+- public PresentationStateGraphicLayer getCurrentLayer()
+- {
++ public PresentationStateGraphicLayer getCurrentLayer() {
+ return getLayerAtIndex(currentLayerIndex);
+ }
+
+@@ -222,8 +216,7 @@
+ * @param newIndex New currentLayerIndex.
+ * @since 30.04.1999
+ */
+- public void setCurrentLayerIndex( int newIndex)
+- {
++ public void setCurrentLayerIndex( int newIndex) {
+ currentLayerIndex = newIndex;
+ currentLayerObjectIndex= -1;
+
+@@ -235,8 +228,7 @@
+ * @return The currentLayerObjectIndex.
+ * @since 30.04.1999
+ */
+- public int getCurrentLayerIndex()
+- {
++ public int getCurrentLayerIndex() {
+ return currentLayerIndex;
+ }
+
+@@ -246,8 +238,7 @@
+ * @return Horizontal scaling factor of the image.
+ * @since 30.04.1999
+ */
+- public double getScalingX()
+- {
++ public double getScalingX() {
+ return scalingValueX*monitorScalingX;
+
+ }
+@@ -258,8 +249,7 @@
+ * @return Vertical scaling factor of the image.
+ * @since 30.04.1999
+ */
+- public double getScalingY()
+- {
++ public double getScalingY() {
+ return scalingValueY*monitorScalingY;
+ }
+ /**
+@@ -268,8 +258,7 @@
+ * @return Horizontal scaling factor of the image.
+ * @since 30.04.1999
+ */
+- public double getScX()
+- {
++ public double getScX() {
+ return scalingValueX;
+
+ }
+@@ -280,18 +269,15 @@
+ * @return Vertical scaling factor of the image.
+ * @since 30.04.1999
+ */
+- public double getScY()
+- {
++ public double getScY() {
+ return scalingValueY;
+ }
+
+- public double getMonitorScalingX()
+- {
++ public double getMonitorScalingX() {
+ return monitorScalingX;
+ }
+
+- public double getMonitorScalingY()
+- {
++ public double getMonitorScalingY() {
+ return monitorScalingY;
+ }
+ /**
+@@ -301,8 +287,7 @@
+ * @return Horizontal scaling factor after the rotation.
+ * @since 30.04.1999
+ */
+- public double getCurrentScalingX()
+- {
++ public double getCurrentScalingX() {
+ if ((getRotation() == 0) ||(getRotation() ==2))return scalingValueX*monitorScalingX;
+ else return scalingValueY*monitorScalingX;
+ }
+@@ -314,8 +299,7 @@
+ * @return Vertical scaling factor after rotation.
+ * @since 30.04.1999
+ */
+- public double getCurrentScalingY()
+- {
++ public double getCurrentScalingY() {
+ if ((getRotation() == 0) ||(getRotation() ==2))return scalingValueY*monitorScalingY;
+ else return scalingValueX*monitorScalingY;
+ }
+@@ -328,8 +312,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPresentationState
+ */
+- public int getImageHeight()
+- {
++ public int getImageHeight() {
+ jIntByRef height = new jIntByRef();
+ ps.getImageHeight(height);
+ return height.value;
+@@ -342,8 +325,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPresentationState
+ */
+- public double getDisplayedAreaPresentationPixelMagnificationRatio()
+- {
++ public double getDisplayedAreaPresentationPixelMagnificationRatio() {
+ jDoubleByRef ratio = new jDoubleByRef();
+ ps.getDisplayedAreaPresentationPixelMagnificationRatio(ratio);
+ return ratio.value;
+@@ -356,8 +338,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPresentationState
+ */
+- public double getDisplayedAreaPresentationPixelAspectRatio()
+- {
++ public double getDisplayedAreaPresentationPixelAspectRatio() {
+ double i = ps.getDisplayedAreaPresentationPixelAspectRatio();
+ if (i<=0) i = 1;
+ return i;
+@@ -369,8 +350,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPresentationState
+ */
+- public double getDisplayedAreaPresentationPixelSpacingX()
+- {
++ public double getDisplayedAreaPresentationPixelSpacingX() {
+ jDoubleByRef x = new jDoubleByRef();
+ jDoubleByRef y = new jDoubleByRef();
+ ps.getDisplayedAreaPresentationPixelSpacing(x, y);
+@@ -380,8 +360,7 @@
+
+
+ }
+- public boolean haveDisplayedAreaPresentationPixelSpacing()
+- {
++ public boolean haveDisplayedAreaPresentationPixelSpacing() {
+ jDoubleByRef x = new jDoubleByRef();
+ jDoubleByRef y = new jDoubleByRef();
+ int status = ps.getDisplayedAreaPresentationPixelSpacing(x, y);
+@@ -396,8 +375,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPresentationState
+ */
+- public double getDisplayedAreaPresentationPixelSpacingY()
+- {
++ public double getDisplayedAreaPresentationPixelSpacingY() {
+ jDoubleByRef x = new jDoubleByRef();
+ jDoubleByRef y = new jDoubleByRef();
+ ps.getDisplayedAreaPresentationPixelSpacing(x, y);
+@@ -414,8 +392,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPresentationState
+ */
+- public int getImageWidth()
+- {
++ public int getImageWidth() {
+ jIntByRef width = new jIntByRef();
+ ps.getImageWidth(width);
+ return width.value;
+@@ -429,8 +406,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPresentationState
+ */
+- public int getCurrentImageHeight()
+- {
++ public int getCurrentImageHeight() {
+ if ((getRotation() == 0) ||(getRotation() ==2))return getImageHeight();
+ else return getImageWidth();
+
+@@ -444,8 +420,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPresentationState
+ */
+- public int getCurrentImageWidth()
+- {
++ public int getCurrentImageWidth() {
+ if ((getRotation() == 0) ||(getRotation() ==2))return getImageWidth();
+ else return getImageHeight();
+ }
+@@ -459,8 +434,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPresentationState
+ */
+- public void buildScaling()
+- {
++ public void buildScaling() {
+ jDoubleByRef xValue = new jDoubleByRef();
+ jDoubleByRef yValue = new jDoubleByRef();
+ monitorScalingX = 1d;
+@@ -475,46 +449,35 @@
+ if (xValue.value <= 0) xValue.value = 1;
+ if (yValue.value <= 0) yValue.value = 1;
+
+- if (status ==jE_Condition.EC_Normal)
+- {
+- if (ps.getDisplayedAreaPresentationSizeMode() == jDVPSPresentationSizeMode.DVPSD_trueSize)
+- {
++ if (status ==jE_Condition.EC_Normal) {
++ if (ps.getDisplayedAreaPresentationSizeMode() == jDVPSPresentationSizeMode.DVPSD_trueSize) {
+ monitorScalingX= xValue.value/trueSizeX;
+ monitorScalingY = yValue.value/trueSizeY;
+ }
+- else
+- {
+- if (xValue.value > yValue.value)
+- {
++ else {
++ if (xValue.value > yValue.value) {
+ scalingValueX = yValue.value/xValue.value;
+ scalingValueY = 1d;
+ }
+- else
+- {
++ else {
+ scalingValueY = xValue.value/yValue.value;
+ scalingValueX = 1d;
+
+ }
+ }
+ }
+- else
+- {
++ else {
+ double aspectRatio = ps.getDisplayedAreaPresentationPixelAspectRatio();
+- if (aspectRatio >= 1d)
+- {
++ if (aspectRatio >= 1d) {
+ scalingValueX = aspectRatio;
+ scalingValueY =1d;
+ }
+- else
+- {
++ else {
+ scalingValueY = (1d/aspectRatio);
+ scalingValueX = 1d;
+ }
+ }
+- System.out.println("monitorScalingY: "+monitorScalingY);
+- System.out.println("monitorScalingX: "+monitorScalingX);
+- System.out.println("scalingValueX: "+scalingValueX);
+- System.out.println("scalingValueY: "+scalingValueY);
++
+
+ //Gets the scalingValues
+
+@@ -529,8 +492,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPresentationState
+ */
+- public void buildPresentationState()
+- {
++ public void buildPresentationState() {
+ selectedLutIndex = -1;
+
+
+@@ -547,10 +509,10 @@
+
+ //builds the layer list.
+ ps.sortGraphicLayers();
++
+ DisplayArea da = getDisplayArea();
+ int numLayer = ps.getNumberOfGraphicLayers()-1;
+- for (int i = 0; i <= numLayer; i++)
+- {
++ for (int i = 0; i <= numLayer; i++) {
+
+ listPresentationStateGraphicLayer.add(new PresentationStateGraphicLayer(i,ps,da,overlayList));
+ }
+@@ -558,8 +520,7 @@
+ else currentLayerIndex = -1;
+
+ //Init size in layer. Calculates dispaly relative annotation.
+- for (int i = 0; i < listPresentationStateGraphicLayer.size(); i++)
+- {
++ for (int i = 0; i < listPresentationStateGraphicLayer.size(); i++) {
+
+ ((PresentationStateGraphicLayer)listPresentationStateGraphicLayer.elementAt(i)).setScreenSize(screenSize);
+ }
+@@ -574,8 +535,7 @@
+ * @since 30.04.1999
+ * @see J2Ci.jDVPresentationState
+ */
+- public double getPixelAspectRatio()
+- {
++ public double getPixelAspectRatio() {
+ /*//Gets the scalingValues
+ jDoubleByRef aspectRatio = new jDoubleByRef();
+ ps.getImageAspectRatio(aspectRatio);
+@@ -590,8 +550,7 @@
+ * @since 30.04.1999
+ */
+
+- public void reset()
+- {
++ public void reset() {
+ currentLayerObjectIndex = -1;
+ selectedLutIndex = -1;
+ }
+@@ -601,29 +560,24 @@
+ * Draws the all PresentationStateGraphicLayer in listPresentationStateGraphicLayer and all
+ * Overlays defined in OverlayList after the sprecified transformation aff in the specified BufferedImage.
+ * All PresntationStateLayerObjects in each PresentationStateGraphicLayer will be drawn.
+-
++ *
+ * @param bufferedImage Specifies the BufferedImage in which you can draw.
+ * @param aff Specifies the transformation which will be used for PresentationStateAnnotationObjects.
+ * @param aff Specifies the transformation which will be used for PresentationStateOverlayObjects.
+ * @since 30.04.1999
+ * @see Viewer.Main.ScreenImageHandler#buildImageBuffer
+ */
+- public void drawPaintStructure( BufferedImage bufferedImage,AffineTransform aff,AffineTransform overlayAff, boolean trueSize, int bits,boolean scale)
+- {
++ public void drawPaintStructure( BufferedImage bufferedImage,AffineTransform aff,AffineTransform overlayAff, boolean trueSize, int bits,boolean scale) {
+ if (bufferedImage== null) return;
+ //Creating the graphics2D
+ Graphics2D g2 = (Graphics2D)bufferedImage.getGraphics();
+- if (g2!= null)
+- {
+- try
+- {
+- for (int i = 0; i < listPresentationStateGraphicLayer.size(); i++)
+- {
++ if (g2!= null) {
++ try {
++ for (int i = 0; i < listPresentationStateGraphicLayer.size(); i++) {
+ ((PresentationStateGraphicLayer) listPresentationStateGraphicLayer.elementAt(i)).draw(g2, aff, overlayAff,bits, scale);
+ }
+ }
+- finally
+- {
++ finally {
+ g2.dispose();
+ }
+ }
+@@ -640,15 +594,12 @@
+ * @see Viewer.Main.ScreenImageHandler#buildImageBuffer
+ */
+
+- public void containsObject(Point2D.Float point)
+- {
++ public void containsObject(Point2D.Float point) {
+
+
+- for (int i = listPresentationStateGraphicLayer.size()-1; i >= 0; i--)
+- {
++ for (int i = listPresentationStateGraphicLayer.size()-1; i >= 0; i--) {
+ currentLayerObjectIndex = ((PresentationStateGraphicLayer) listPresentationStateGraphicLayer.elementAt(i)).containsLayerObject(point);
+- if (currentLayerObjectIndex != -1)
+- {
++ if (currentLayerObjectIndex != -1) {
+ currentLayerIndex = i;
+ return;
+ }
+@@ -662,12 +613,10 @@
+ * @return A String representing this object
+ * @since 30.04.1999
+ */
+- public String getInfo()
+- {
++ public String getInfo() {
+ String returnString;
+ returnString = new String( "PresentationStateGraphicHandler" + "\n" );
+- for(int i = 0; i <listPresentationStateGraphicLayer.size(); i++)
+- {
++ for(int i = 0; i <listPresentationStateGraphicLayer.size(); i++) {
+ returnString= returnString.concat(new String(" Index: " +i +"\n"));
+ returnString=returnString.concat(((PresentationStateGraphicLayer) listPresentationStateGraphicLayer.elementAt(i)).getInfo());
+ }
+@@ -683,15 +632,13 @@
+ * @param screenSize New available size for displaying the image.
+ * @since 30.04.1999
+ */
+- public void setScreenSize(Dimension screenSize)
+- {
++ public void setScreenSize(Dimension screenSize) {
+
+ this.screenSize = screenSize;
+ calculateFirstZoomValue();
+
+ //Init size in layer. Calculates dispaly relative annotation.
+- for (int i = 0; i < listPresentationStateGraphicLayer.size(); i++)
+- {
++ for (int i = 0; i < listPresentationStateGraphicLayer.size(); i++) {
+ ((PresentationStateGraphicLayer)listPresentationStateGraphicLayer.elementAt(i)).setScreenSize(screenSize);
+ }
+
+@@ -703,37 +650,31 @@
+ *
+ * @since 30.04.1999
+ */
+- public void calculateFirstZoomValue()
+- {
++ public void calculateFirstZoomValue() {
+ DisplayArea da = getDisplayArea();
+- if (ps.getDisplayedAreaPresentationSizeMode() ==jDVPSPresentationSizeMode.DVPSD_scaleToFit)
+- {
++ if (ps.getDisplayedAreaPresentationSizeMode() ==jDVPSPresentationSizeMode.DVPSD_scaleToFit) {
+
+ zoomValue = calculateZoomValue(da);
+ }
+- else if (ps.getDisplayedAreaPresentationSizeMode() ==jDVPSPresentationSizeMode.DVPSD_magnify)
+- {
++ else if (ps.getDisplayedAreaPresentationSizeMode() ==jDVPSPresentationSizeMode.DVPSD_magnify) {
+ jDoubleByRef zoom = new jDoubleByRef();
+ ps.getDisplayedAreaPresentationPixelMagnificationRatio(zoom);
+ zoomValue = zoom.value;
+ }
+- else if (ps.getDisplayedAreaPresentationSizeMode() ==jDVPSPresentationSizeMode.DVPSD_trueSize)
+- {
++ else if (ps.getDisplayedAreaPresentationSizeMode() ==jDVPSPresentationSizeMode.DVPSD_trueSize) {
+
+ zoomValue =1d;
+ }
+ //zoomValue = (Math.round(zoomValue*100d)/100d);
+
+ }
+- public void convertDisplayedAreas(DisplayArea imageArea, DisplayArea newArea)
+- {
+- float transX = ((float)(imageArea.brhc_x-imageArea.tlhc_x))/((float)(newArea.brhc_x-newArea.tlhc_x));
+- float transY = ((float)(imageArea.brhc_y-imageArea.tlhc_y))/((float)(newArea.brhc_y-newArea.tlhc_y));
++ public void convertDisplayedAreas(DisplayArea imageArea, DisplayArea newArea) {
++ float transX = ((float)(imageArea.getBrhcX()-imageArea.getTlhcX()))/((float)(newArea.getBrhcX()-newArea.getTlhcX()));
++ float transY = ((float)(imageArea.getBrhcY()-imageArea.getTlhcY()))/((float)(newArea.getBrhcY()-newArea.getTlhcY()));
+
+ // The display reletive annotationa must be applyed afte the spatial transformations
+
+- if ((getRotation() == 1) || (getRotation() ==3))
+- {
++ if ((getRotation() == 1) || (getRotation() ==3)) {
+ float help = transX;
+ transX = transY;
+ transY = help;
+@@ -743,25 +684,21 @@
+ float offsetX = 0;
+ float offsetY = 0;
+
+- for (int i = 0; i < listPresentationStateGraphicLayer.size(); i++)
+- {
++ for (int i = 0; i < listPresentationStateGraphicLayer.size(); i++) {
+ ((PresentationStateGraphicLayer) listPresentationStateGraphicLayer.elementAt(i)).convertDisplayedAreas(offsetX, offsetY, transX, transY);
+ }
+
+ }
+
+- public double calculateZoomValue(DisplayArea da)
+- {
++ public double calculateZoomValue(DisplayArea da) {
+ double zoom;
+- if ((getRotation() == 0) ||(getRotation() ==2))
+- {
+- zoom = Math.min( (double) screenSize.width/((double)(da.brhc_x-da.tlhc_x+1)*getCurrentScalingX()),
+- (double)screenSize.height/((double)(da.brhc_y-da.tlhc_y+1)*getCurrentScalingY()));
+- }
+- else
+- {
+- zoom = Math.min( (double) screenSize.width/((double)(da.brhc_y-da.tlhc_y+1)*getCurrentScalingX()),
+- (double)screenSize.height/((double)(da.brhc_x-da.tlhc_x+1)*getCurrentScalingY()));
++ if ((getRotation() == 0) ||(getRotation() ==2)) {
++ zoom = Math.min( (double) screenSize.width/((double)(da.getBrhcX()-da.getTlhcX()+1)*getCurrentScalingX()),
++ (double)screenSize.height/((double)(da.getBrhcY()-da.getTlhcY()+1)*getCurrentScalingY()));
++ }
++ else {
++ zoom = Math.min( (double) screenSize.width/((double)(da.getBrhcY()-da.getTlhcY()+1)*getCurrentScalingX()),
++ (double)screenSize.height/((double)(da.getBrhcX()-da.getTlhcX()+1)*getCurrentScalingY()));
+ }
+ return zoom;
+
+@@ -772,8 +709,7 @@
+ * @return The Vector of PresentationStateGraphicLayers.
+ * @since 30.04.1999
+ */
+- public Vector getListPresentationStateGraphicLayer()
+- {
++ public Vector getListPresentationStateGraphicLayer() {
+ return listPresentationStateGraphicLayer;
+ }
+
+@@ -781,8 +717,7 @@
+ * Returns the PresentationStateGraphicLayer with the specified index
+ *
+ */
+- public PresentationStateGraphicLayer getPresentationStateGraphicLayer(int index)
+- {
++ public PresentationStateGraphicLayer getPresentationStateGraphicLayer(int index) {
+ return (PresentationStateGraphicLayer)listPresentationStateGraphicLayer.elementAt(index);
+ }
+
+@@ -796,8 +731,7 @@
+ * @see J2Ci.jDVPresentationState
+ * @since 30.04.1999
+ */
+- public String getPresentationCreatorsName()
+- {
++ public String getPresentationCreatorsName() {
+ return ps.getPresentationCreatorsName();
+ }
+
+@@ -810,8 +744,7 @@
+ * @see J2Ci.jDVPresentationState
+ * @since 30.04.1999
+ */
+- public String getPresentationLabel()
+- {
++ public String getPresentationLabel() {
+ return ps.getPresentationLabel();
+ }
+
+@@ -824,8 +757,7 @@
+ * @see J2Ci.jDVPresentationState
+ * @since 30.04.1999
+ */
+- public String getPresentationDescription()
+- {
++ public String getPresentationDescription() {
+ return ps.getPresentationDescription();
+ }
+
+@@ -841,14 +773,27 @@
+ * @see J2Ci.jDVPresentationState
+ * @since 30.04.1999
+ */
+- public DisplayArea getDisplayArea()
+- {
++ public DisplayArea getDisplayArea() {
++ jIntByRef tlhc_xValue = new jIntByRef();
++ jIntByRef tlhc_yValue = new jIntByRef();
++ jIntByRef brhc_yValue= new jIntByRef();
++ jIntByRef brhc_xValue= new jIntByRef();
++
++ ps.getImageRelativeDisplayedArea(tlhc_xValue, tlhc_yValue, brhc_xValue, brhc_yValue);
++ return new DisplayArea(tlhc_xValue.value, tlhc_yValue.value, brhc_xValue.value, brhc_yValue.value);
++
++ }
++ /**
++
++ */
++ public DisplayArea getStandardDisplayedArea() {
+ jIntByRef tlhc_xValue = new jIntByRef();
+ jIntByRef tlhc_yValue = new jIntByRef();
+ jIntByRef brhc_yValue= new jIntByRef();
+ jIntByRef brhc_xValue= new jIntByRef();
+
+- ps.getDisplayedArea(tlhc_xValue, tlhc_yValue, brhc_xValue, brhc_yValue);
++ ps.getStandardDisplayedArea(tlhc_xValue, tlhc_yValue, brhc_xValue, brhc_yValue);
++ // System.err.println("DDDD" +new DisplayArea(tlhc_xValue.value, tlhc_yValue.value, brhc_xValue.value, brhc_yValue.value));
+ return new DisplayArea(tlhc_xValue.value, tlhc_yValue.value, brhc_xValue.value, brhc_yValue.value);
+
+ }
+@@ -866,8 +811,7 @@
+ * @see J2Ci.jDVPresentationState
+ * @since 30.04.1999
+ */
+- public boolean haveActiveVOIWindow()
+- {
++ public boolean haveActiveVOIWindow() {
+ return ps.haveActiveVOIWindow();
+ }
+
+@@ -882,8 +826,7 @@
+ * @since 30.04.1999
+ */
+
+- public boolean haveActiveVOILUT()
+- {
++ public boolean haveActiveVOILUT() {
+ return ps.haveActiveVOILUT();
+ }
+
+@@ -896,8 +839,7 @@
+ * @see J2Ci.jDVPresentationState
+ * @since 30.04.1999
+ */
+- public String getCurrentVOIDescription()
+- {
++ public String getCurrentVOIDescription() {
+ return ps.getCurrentVOIDescription();
+ }
+
+@@ -911,8 +853,7 @@
+ * @see J2Ci.jDVPresentationState
+ * @since 30.04.1999
+ */
+- public int getCurrentWindowCenter()
+- {
++ public int getCurrentWindowCenter() {
+ jDoubleByRef help = new jDoubleByRef();
+ ps.getCurrentWindowCenter(help);
+ return (int) help.value;
+@@ -927,8 +868,7 @@
+ * @see J2Ci.jDVPresentationState
+ * @since 30.04.1999
+ */
+- public int getCurrentWindowWidth()
+- {
++ public int getCurrentWindowWidth() {
+ jDoubleByRef help = new jDoubleByRef();
+ ps.getCurrentWindowWidth(help);
+ return (int) help.value;
+@@ -945,8 +885,7 @@
+ * @since 30.04.1999
+ */
+
+- public void setRotation(int rot)
+- {
++ public void setRotation(int rot) {
+ ps.setRotation(rot);
+
+ }
+@@ -960,12 +899,10 @@
+ * @see J2Ci.jDVPSRotationType
+ * @since 30.04.1999
+ */
+- public void setRotation()
+- {
++ public void setRotation() {
+ if (ps.getRotation() <=2) ps.setRotation(ps.getRotation()+1);
+ else ps.setRotation(0);
+- for (int i = 0; i < listPresentationStateGraphicLayer.size(); i++)
+- {
++ for (int i = 0; i < listPresentationStateGraphicLayer.size(); i++) {
+ ((PresentationStateGraphicLayer) listPresentationStateGraphicLayer.elementAt(i)).setRotation();
+ }
+
+@@ -983,8 +920,7 @@
+ * @since 30.04.1999
+ */
+
+- public int getRotation()
+- {
++ public int getRotation() {
+ return ps.getRotation();
+
+ }
+@@ -1000,11 +936,11 @@
+ * @see J2Ci.jDVPSRotationType
+ * @since 30.04.1999
+ */
+- public void setFlip()
+- {
++ public void setFlip() {
++ DisplayArea da =getDisplayArea();
+ ps.setFlip(!ps.getFlip());
+- for (int i = 0; i < listPresentationStateGraphicLayer.size(); i++)
+- {
++
++ for (int i = 0; i < listPresentationStateGraphicLayer.size(); i++) {
+ ((PresentationStateGraphicLayer) listPresentationStateGraphicLayer.elementAt(i)).setFlip(getRotation());
+ }
+
+@@ -1021,36 +957,30 @@
+ * @see ShutterList
+ * @see PresentationStateGraphicObject
+ */
+- public void newPaintObject(PaintObject newPaintObject,AffineTransform aff,int applyTo)
+- {
++ public void newPaintObject(PaintObject newPaintObject,AffineTransform aff,int applyTo) {
+ //Inserts Lines an polylines
+ if ((newPaintObject instanceof Line2DObject)||
+- (newPaintObject instanceof PolylineObject))
+- {
++ (newPaintObject instanceof PolylineObject)) {
+
+ float thePoints[] = new float[newPaintObject.getObjectPoints().size()*2];
+
+ //Converts points
+- for (int i = 0; i< newPaintObject.getObjectPoints().size(); i++)
+- {
++ for (int i = 0; i< newPaintObject.getObjectPoints().size(); i++) {
+ thePoints[2*i] = newPaintObject.getCopyPointAt(i).x+1f;
+ thePoints[2*i+1] = newPaintObject.getCopyPointAt(i).y+1f;
+ }
+ //Insert shutter / polyline
+ if (!newPaintObject.isShutter)getCurrentLayer().add(new PresentationStateGraphicObject(ps.addGraphicObject(currentLayerIndex,applyTo),0,jDVPSGraphicType.DVPST_polyline,thePoints,newPaintObject.getType(),newPaintObject.filled,screenSize,aff));
+- else
+- {
++ else {
+ shutterList.addPolygonalShutter(thePoints,newPaintObject.getObjectPoints().size());
+ }
+ }
+- if ((newPaintObject instanceof Point2DObject))
+- {
++ if ((newPaintObject instanceof Point2DObject)) {
+
+ float thePoints[] = new float[newPaintObject.getObjectPoints().size()*2];
+
+ //Converts points
+- for (int i = 0; i< newPaintObject.getObjectPoints().size(); i++)
+- {
++ for (int i = 0; i< newPaintObject.getObjectPoints().size(); i++) {
+ thePoints[2*i] = newPaintObject.getCopyPointAt(i).x+1f;
+ thePoints[2*i+1] = newPaintObject.getCopyPointAt(i).y+1f;
+ }
+@@ -1058,18 +988,15 @@
+ getCurrentLayer().add(new PresentationStateGraphicObject(ps.addGraphicObject(currentLayerIndex,applyTo),0,jDVPSGraphicType.DVPST_point,thePoints,newPaintObject.getType(),newPaintObject.filled,screenSize,aff));
+ }
+ //Rectangle
+- else if (newPaintObject instanceof Rectangle2DObject)
+- {
++ else if (newPaintObject instanceof Rectangle2DObject) {
+ Point2D.Float point1 = newPaintObject.getPoint(0);
+ Point2D.Float point2 = newPaintObject.getPoint(1);
+- if (point1.x >point2.x)
+- {
++ if (point1.x >point2.x) {
+ float change = point1.x;
+ point1.x = point2.x;
+ point2.x = change;
+ }
+- if (point1.y >point2.y)
+- {
++ if (point1.y >point2.y) {
+ float change = point1.y;
+ point1.y = point2.y;
+ point2.y = change;
+@@ -1098,27 +1025,24 @@
+
+ //Insert polyline/ shutter
+ if (!newPaintObject.isShutter)getCurrentLayer().add(new PresentationStateGraphicObject(ps.addGraphicObject(currentLayerIndex,applyTo),0,jDVPSGraphicType.DVPST_polyline,thePoints,newPaintObject.getType(),newPaintObject.filled,screenSize,aff));
+- else
+- {
++ else {
+
+ shutterList.addRectangularShutter((int)(point1.x+1f),(int)(point2.x+1f),(int)(point1.y+1f),(int)(point2.y+1f));
+ }
+
+ }
+ //Ellipse
+- else if (newPaintObject instanceof Ellipse2DObject)
+- {
++ else if (newPaintObject instanceof Ellipse2DObject) {
++ //System.out.println("###");
+ float[] thePoints = new float[8];
+ Point2D.Float point1 = newPaintObject.getPoint(0);
+ Point2D.Float point2 = newPaintObject.getPoint(1);
+- if (point1.x >point2.x)
+- {
++ if (point1.x >point2.x) {
+ float change = point1.x;
+ point1.x = point2.x;
+ point2.x = change;
+ }
+- if (point1.y >point2.y)
+- {
++ if (point1.y >point2.y) {
+ float change = point1.y;
+ point1.y = point2.y;
+ point2.y = change;
+@@ -1128,31 +1052,44 @@
+ float y = point1.y;
+ float w = point2.x-x;
+ float h = point2.y-y;
++ //The first two points must be the end points oft the major axis.
++ int index=0;
++ if (w<h) {
++ index=4;
++ }
++ thePoints[index++] = x+w+1f;
++ // System.err.println("index : "+(index-1) +", " +thePoints[index-1]);
++ thePoints[index++] = y+1f+h/2f;
++ // System.err.println("index : "+(index-1) +", " +thePoints[index-1]);
++
++ thePoints[index++] = x+1f;
++ // System.err.println("index : "+(index-1) +", " +thePoints[index-1]);
++ thePoints[index++] = y+1f+h/2f;
++ // System.err.println("index : "+(index-1) +", " +thePoints[index-1]);
++ if (w<h) {
++ index=0;
++ }
++
++ thePoints[index++] = x+w/2+1f;
++ //System.err.println("index : "+(index-1) +", " +thePoints[index-1]);
++ thePoints[index++] = y+1f;
++ //System.err.println("index : "+(index-1) +", " +thePoints[index-1]);
++
++ thePoints[index++] = x+w/2+1f;
++ // System.err.println("index : "+(index-1) +", " +thePoints[index-1]);
++ thePoints[index++] = y+h+1f;
++ //System.err.println("index : "+(index-1) +", " +thePoints[index-1]);
+
+- thePoints[0] = x+w+1f;
+- thePoints[1] = y+1f+h/2f;
+-
+- thePoints[2] = x+1f;
+- thePoints[3] = y+1f+h/2f;
+-
+-
+- thePoints[4] = x+w/2+1f;
+- thePoints[5] = y+1f;
+-
+- thePoints[6] = x+1f;
+- thePoints[7] = y+h+1f;
+
+ getCurrentLayer().add(new PresentationStateGraphicObject(ps.addGraphicObject(currentLayerIndex,applyTo),0,jDVPSGraphicType.DVPST_ellipse,thePoints,newPaintObject.getType(),newPaintObject.filled,screenSize,aff));
+ }
+ //Circle
+- else if (newPaintObject instanceof Circle2DObject)
+- {
++ else if (newPaintObject instanceof Circle2DObject) {
+
+ Point2D.Float point1 = newPaintObject.getPoint(0);
+ Point2D.Float point2 = newPaintObject.getPoint(1);
+
+- if (!newPaintObject.isShutter)
+- {
++ if (!newPaintObject.isShutter) {
+ float[] thePoints = new float[4];
+
+
+@@ -1163,19 +1100,16 @@
+ thePoints[3] = point2.y+1f;
+ getCurrentLayer().add(new PresentationStateGraphicObject(ps.addGraphicObject(currentLayerIndex,applyTo),0,jDVPSGraphicType.DVPST_circle,thePoints,newPaintObject.getType(),newPaintObject.filled,screenSize,aff));
+ }
+- else
+- {
++ else {
+
+ shutterList.addCircularShutter((int)(point1.x+1f),(int)(point1.y+1f),(int)point1.distance(point2));
+ }
+ }
+ //Interpolated.
+- else if (newPaintObject instanceof InterpolatedObject)
+- {
++ else if (newPaintObject instanceof InterpolatedObject) {
+ float thePoints[] = new float[newPaintObject.getObjectPoints().size()*2];
+
+- for (int i = 0; i< newPaintObject.getObjectPoints().size(); i++)
+- {
++ for (int i = 0; i< newPaintObject.getObjectPoints().size(); i++) {
+ thePoints[2*i] = newPaintObject.getCopyPointAt(i).x+1f;
+ thePoints[2*i+1] = newPaintObject.getCopyPointAt(i).y+1f;
+ }
+@@ -1196,8 +1130,7 @@
+ * @since 30.04.1999
+ */
+
+- public void setNewPresentationState(Dimension screenSize)
+- {
++ public void setNewPresentationState(Dimension screenSize) {
+ if (havePresentationState) deleteAll();
+ //int status = dvi.resetPresentationState();
+ buildPresentationState();
+@@ -1209,8 +1142,7 @@
+ *
+ * @since 30.04.1999
+ */
+- public void resetPresentationState()
+- {
++ public void resetPresentationState() {
+ deleteAll();
+ int status = dvi.resetPresentationState();
+ buildPresentationState();
+@@ -1223,11 +1155,9 @@
+ *
+ * @since 30.04.1999
+ */
+- public void deleteAll()
+- {
++ public void deleteAll() {
+
+- for(int i = 0; i <listPresentationStateGraphicLayer.size(); i++)
+- {
++ for(int i = 0; i <listPresentationStateGraphicLayer.size(); i++) {
+ ((PresentationStateGraphicLayer) listPresentationStateGraphicLayer.elementAt(0)).deleteAll();
+ listPresentationStateGraphicLayer.removeElementAt(0);
+ }
+@@ -1250,8 +1180,7 @@
+ * @since 30.04.1999
+ */
+
+- public void deleteCurrentObject()
+- {
++ public void deleteCurrentObject() {
+ if (currentLayerObjectIndex != -1)deleteObjectAtIndex(currentLayerObjectIndex);
+ }
+
+@@ -1264,8 +1193,7 @@
+ *
+ * @since 30.04.1999
+ */
+- public void deleteObjectAtIndex(int index)
+- {
++ public void deleteObjectAtIndex(int index) {
+ ((PresentationStateGraphicLayer) listPresentationStateGraphicLayer.elementAt(currentLayerIndex)).deleteObjectAt(index);
+ currentLayerObjectIndex = -1;
+ }
+@@ -1276,16 +1204,14 @@
+ * @param index The index of the deleting PresentationStateGraphicLayer
+ * @since 30.04.1999
+ */
+- public void deleteLayer(int index)
+- {
++ public void deleteLayer(int index) {
+ //Delete layer
+ ((PresentationStateGraphicLayer) listPresentationStateGraphicLayer.elementAt(index)).deleteAll();
+ listPresentationStateGraphicLayer.removeElementAt(index);
+ ps.removeGraphicLayer(index);
+
+ //Sets new indices for all PresentationStateGraphicLayer greater than the specified index
+- for (int i = index; i < listPresentationStateGraphicLayer.size(); i++)
+- {
++ for (int i = index; i < listPresentationStateGraphicLayer.size(); i++) {
+ ((PresentationStateGraphicLayer) listPresentationStateGraphicLayer.elementAt(i)).index = ((PresentationStateGraphicLayer) listPresentationStateGraphicLayer.elementAt(i)).index-1;
+ }
+
+@@ -1306,8 +1232,7 @@
+ * @see PresentationStateGraphicLayer
+ * @since 30.04.1999
+ */
+- public void insertNewColorLayer(String label, String description, int r,int g, int b)
+- {
++ public void insertNewColorLayer(String label, String description, int r,int g, int b) {
+ listPresentationStateGraphicLayer.add(new PresentationStateGraphicLayer(listPresentationStateGraphicLayer.size(),ps,label, description, r,g,b,overlayList));
+ }
+
+@@ -1321,8 +1246,7 @@
+ * @see PresentationStateGraphicLayer
+ * @since 30.04.1999
+ */
+- public void insertNewMonochromeLayer(String label, String description, float monochome)
+- {
++ public void insertNewMonochromeLayer(String label, String description, float monochome) {
+ listPresentationStateGraphicLayer.add(new PresentationStateGraphicLayer(listPresentationStateGraphicLayer.size(),ps,label, description, monochome,overlayList));
+
+ }
+@@ -1336,8 +1260,7 @@
+ * @see PresentationStateGraphicLayer
+ * @since 30.04.1999
+ */
+- public PresentationStateGraphicLayer getLayerAtIndex(int index)
+- {
++ public PresentationStateGraphicLayer getLayerAtIndex(int index) {
+ if (index == -1) return null;
+ else return ((PresentationStateGraphicLayer) listPresentationStateGraphicLayer.elementAt(index));
+ }
+@@ -1350,8 +1273,7 @@
+ * @see PresentationStateGraphicLayer
+ * @since 30.04.1999
+ */
+- public Color getCurrentColor()
+- {
++ public Color getCurrentColor() {
+ if (getCurrentLayer() == null) return Color.white;
+ else return getCurrentLayer().getColor(8);
+ }
+@@ -1379,8 +1301,7 @@
+ boolean isAnchorVisible,
+ int just,
+ int rot,
+- int applyTo)
+- {
++ int applyTo) {
+ jDVPSTextObject newText =ps.addTextObject(currentLayerIndex,applyTo);
+
+ newText.setText(text);
+@@ -1404,19 +1325,16 @@
+ */
+ public void moveToLayer( int newLayer,
+ int oldLayer,
+- int objectIndex, int applyTo)
+- {
++ int objectIndex, int applyTo) {
+ PresentationStateGraphicLayer oldPresentationStateGraphicLayer =((PresentationStateGraphicLayer) listPresentationStateGraphicLayer.elementAt(oldLayer));
+ PresentationStateGraphicLayer newPresentationStateGraphicLayer =((PresentationStateGraphicLayer) listPresentationStateGraphicLayer.elementAt(newLayer));
+ PresentationStateLayerObject moveObject = oldPresentationStateGraphicLayer.layerObjectAt(objectIndex);
+
+ //move in c++
+- if (moveObject instanceof PresentationStateTextObject)
+- {
++ if (moveObject instanceof PresentationStateTextObject) {
+ ps.moveGraphicObject( oldLayer, moveObject.getIndex(), newLayer, applyTo);
+ }
+- if (moveObject instanceof PresentationStateGraphicObject)
+- {
++ if (moveObject instanceof PresentationStateGraphicObject) {
+ ps.moveGraphicObject( oldLayer, moveObject.getIndex(), newLayer,applyTo);
+ }
+
+@@ -1431,8 +1349,7 @@
+ * @return The zoom value.
+ * @since 30.04.1999
+ */
+- public double getZoomValue()
+- {
++ public double getZoomValue() {
+ return zoomValue;
+ }
+
+@@ -1442,8 +1359,7 @@
+ * @param zoomValue The new zoom value.
+ * @since 30.04.1999
+ */
+- public void setZoomValue(double zoomValue)
+- {
++ public void setZoomValue(double zoomValue) {
+ this.zoomValue = zoomValue;
+ }
+
+@@ -1453,8 +1369,7 @@
+ *
+ * @since 30.04.1999
+ */
+- public void updatePresentationState()
+- {
++ public void updatePresentationState() {
+ deleteAll();
+ boolean temp = enablePresentationState; // enable... wird in build..() überschrieben
+ buildPresentationState();
+@@ -1462,14 +1377,12 @@
+ setScreenSize(screenSize);
+ }
+
+- public void getPrintImageBuffer(TransformationConverter transConv)
+- {
++ public void getPrintImageBuffer(TransformationConverter transConv) {
+
+ //Loads Size of the bitmap
+ jIntByRef h = new jIntByRef();
+ jIntByRef w = new jIntByRef();
+- if ( ps.getPrintBitmapWidthHeight(w,h)!= jE_Condition.EC_Normal)
+- {
++ if ( ps.getPrintBitmapWidthHeight(w,h)!= jE_Condition.EC_Normal) {
+ JOptionPane.showMessageDialog(null,"Error: Can not determine bitmap size");
+ return ;
+ }
+@@ -1478,8 +1391,7 @@
+ short[] pix = new short[(int)ps.getPrintBitmapSize()/2];
+
+ //Loads the print bitmap
+- if (ps.getPrintBitmap(pix, ps.getPrintBitmapSize()) == jE_Condition.EC_Normal)
+- {
++ if (ps.getPrintBitmap(pix, ps.getPrintBitmapSize()) == jE_Condition.EC_Normal) {
+
+ BufferedImage printImage;
+ WritableRaster wr;
+@@ -1501,24 +1413,22 @@
+ Dimension saveScreen = screenSize;
+
+
+- int width = da.brhc_x-da.tlhc_x;
+- int height = da.brhc_y-da.tlhc_y;
++ int width = da.getBrhcX()-da.getTlhcX();
++ int height = da.getBrhcY()-da.getTlhcY();
+
+ double printZoom ;
+ int rot = ps.getRotation();
+
+- if ((rot ==1) ||(rot== 3))
+- {
++ if ((rot ==1) ||(rot== 3)) {
+ printZoom= (double)(h.value /width);
+ setScreenSize(new Dimension(h.value, w.value));
+ }
+- else
+- {
++ else {
+
+ printZoom= (double)(w.value /width);
+ setScreenSize(new Dimension(w.value, h.value));
+ }
+- System.out.println("printZoom: "+printZoom);
++ System.err.println("printZoom: "+printZoom);
+
+ //Loads transformations
+ AffineTransform aff = transConv.getPrintTransformation(printZoom);
+@@ -1535,25 +1445,22 @@
+
+ setScreenSize(saveScreen);
+
+- if (dvi.saveGrayscaleHardcopyImage(pix, w.value, h.value, asRatio)== jE_Condition.EC_Normal)
+- {
++ if (dvi.saveGrayscaleHardcopyImage(pix, w.value, h.value, asRatio)== jE_Condition.EC_Normal) {
+ Controller.instance().firePrint(new PrintEvent(this,PrintEvent.ID_HC));
+ }
+- else
+- {
++ else {
+ JOptionPane.showMessageDialog(null,"Error: Can not print image");
+
+ }
+
+ }
+- else
+- {
++ else {
+ JOptionPane.showMessageDialog(null,"Error: Can not create print display");
+ }
+
+ pix = null;
+ System.gc();
+- System.out.println("end-print");
++ System.err.println("end-print");
+ }
+
+ /**
+@@ -1563,8 +1470,7 @@
+ * presentation state.
+ * @param idx frame number in the range [1..getImageNumberOfFrames()]
+ */
+- public void selectImageFrameNumber(int idx)
+- {
++ public void selectImageFrameNumber(int idx) {
+ if ((idx >= 1)&&(idx <= getImageNumberOfFrames()))
+ ps.selectImageFrameNumber(idx);
+ }
+@@ -1577,8 +1483,7 @@
+ * presentation state.
+ * @param idx frame number in the range [1..getImageNumberOfFrames()]
+ */
+- public int getSelectedImageFrameNumber()
+- {
++ public int getSelectedImageFrameNumber() {
+ return ps.getSelectedImageFrameNumber();
+
+ }
+@@ -1587,11 +1492,9 @@
+ * Selects the next frame of a multiframe image.
+ * @return Number of the selected frame
+ */
+- public int selectNextFrame()
+- {
++ public int selectNextFrame() {
+
+- if (getSelectedImageFrameNumber() < getImageNumberOfFrames())
+- {
++ if (getSelectedImageFrameNumber() < getImageNumberOfFrames()) {
+ selectImageFrameNumber(getSelectedImageFrameNumber()+1);
+ return getSelectedImageFrameNumber()+1;
+ }
+@@ -1602,10 +1505,8 @@
+ * Selects the next frame of a multiframe image.
+ * @return Number of the selected frame
+ */
+- public int selectPreviousFrame()
+- {
+- if (getSelectedImageFrameNumber() > 1)
+- {
++ public int selectPreviousFrame() {
++ if (getSelectedImageFrameNumber() > 1) {
+ selectImageFrameNumber(getSelectedImageFrameNumber()-1);
+ return getSelectedImageFrameNumber()-1;
+ }
+@@ -1616,8 +1517,7 @@
+ /**
+ * Returns the number of frames of the current image.
+ */
+- public int getImageNumberOfFrames()
+- {
++ public int getImageNumberOfFrames() {
+ jIntByRef num = new jIntByRef();
+ ps.getImageNumberOfFrames(num);
+ return num.value;
+@@ -1632,8 +1532,7 @@
+ * Gets the number of image references contained in the current presentation state.
+ * @return number of image references, 0 if an error occurred.
+ */
+- public int getNumberOfImages()
+- {
++ public int getNumberOfImages() {
+ return dvi.getNumberOfImageReferences();
+ }
+ /**
+@@ -1642,10 +1541,8 @@
+ * This method acquires a database lock which must be explicitly freed by the user.
+ * @param idx index of the image to be loaded getNumberOfImage();
+ */
+- public void selectImageNumber(int idx)
+- {
+- if ((idx >= 1)&&(idx <= getNumberOfImages()))
+- {
++ public void selectImageNumber(int idx) {
++ if ((idx >= 1)&&(idx <= getNumberOfImages())) {
+ dvi.loadReferencedImage(idx-1,true);
+ dvi.releaseDatabase();
+ Controller.instance().fireEvent(new UpdateBrowserEvent(this));
+@@ -1662,8 +1559,7 @@
+ * Gets the index of the currently selected image.
+ * @return index of the currently selected image, 0 if an error occurred
+ */
+- public int getSelectedImageNumber()
+- {
++ public int getSelectedImageNumber() {
+ return selectedImageNumber;
+ }
+
+@@ -1673,11 +1569,9 @@
+ * Selects the next frame of a multiframe image.
+ * @return Number of the selected frame
+ */
+- public int selectNextImage()
+- {
++ public int selectNextImage() {
+
+- if (getSelectedImageNumber() < getNumberOfImages())
+- {
++ if (getSelectedImageNumber() < getNumberOfImages()) {
+ selectImageNumber(getSelectedImageNumber()+1);
+ return getSelectedImageNumber()+1;
+ }
+@@ -1688,10 +1582,8 @@
+ * Selects the next frame of a multiframe image.
+ * @return Number of the selected frame
+ */
+- public int selectPreviousImage()
+- {
+- if (getSelectedImageNumber() > 1)
+- {
++ public int selectPreviousImage() {
++ if (getSelectedImageNumber() > 1) {
+ selectImageNumber(getSelectedImageNumber()-1);
+ return getSelectedImageNumber()-1;
+ }
+@@ -1705,6 +1597,9 @@
+ /*
+ * CVS Log
+ * $Log: PresentationStateGraphicsHandler.java,v $
++ * Revision 1.2 2003/09/08 10:17:26 kleber
++ * Bugfix: The Displayed Area is defined after the spatial transformation.
++ *
+ * Revision 1.1.1.1 2001/06/06 10:32:30 kleber
+ * Init commit for DICOMscope 3.5
+ * Create new CVS
+diff -N -x '*.dsw' -x '*.dsp' -u -w -b -B -w -r dsgui351/tkgui/viewer/presentation/TransformationConverter.java dsgui360/tkgui/viewer/presentation/TransformationConverter.java
+--- dsgui351/tkgui/viewer/presentation/TransformationConverter.java 2009-01-07 17:49:27.694854000 +0100
++++ dsgui360/tkgui/viewer/presentation/TransformationConverter.java 2009-01-07 17:49:32.629516000 +0100
+@@ -22,8 +22,8 @@
+ * AND PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
+ *
+ * Author : $Author: kleber $
+- * Last update : $Date: 2001/06/06 10:32:30 $
+- * Revision : $Revision: 1.1.1.1 $
++ * Last update : $Date: 2003/09/08 10:17:26 $
++ * Revision : $Revision: 1.2 $
+ * State: $State: Exp $
+ */
+
+@@ -589,7 +589,7 @@
+ */
+ //sets the new display area to the c++ part.
+ System.out.println("drawInDeviceSpace -End1: " + applyTo);
+- presentationStateGraphicsHandler.ps.setDisplayedArea(presentationStateGraphicsHandler.ps.getDisplayedAreaPresentationSizeMode(), xTLHC, yTLHC, xBRHC, yBRHC, zoomValue, applyTo);
++ presentationStateGraphicsHandler.ps.setImageRelativeDisplayedArea(presentationStateGraphicsHandler.ps.getDisplayedAreaPresentationSizeMode(), xTLHC, yTLHC, xBRHC, yBRHC, zoomValue, applyTo);
+ System.out.println("drawInDeviceSpace -End: " );
+
+
+@@ -865,6 +865,9 @@
+ /*
+ * CVS Log
+ * $Log: TransformationConverter.java,v $
++ * Revision 1.2 2003/09/08 10:17:26 kleber
++ * Bugfix: The Displayed Area is defined after the spatial transformation.
++ *
+ * Revision 1.1.1.1 2001/06/06 10:32:30 kleber
+ * Init commit for DICOMscope 3.5
+ * Create new CVS
Property changes on: trunk/packages/dicomscope/trunk/debian/patches/dsgui_351_360_changes.patch
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Modified: trunk/packages/dicomscope/trunk/debian/patches/series
===================================================================
--- trunk/packages/dicomscope/trunk/debian/patches/series 2009-01-07 12:08:28 UTC (rev 2918)
+++ trunk/packages/dicomscope/trunk/debian/patches/series 2009-01-07 17:27:31 UTC (rev 2919)
@@ -1,3 +1,4 @@
-dcmtk_350_354_changes.patch
+dsgui_351_360_changes.patch
cmakelists.txt.patch
-dicomscope_defaultpackage.patch
+#dicomscope_defaultpackage.patch
+DVPresentationState.patch
Modified: trunk/packages/dicomscope/trunk/debian/rules
===================================================================
--- trunk/packages/dicomscope/trunk/debian/rules 2009-01-07 12:08:28 UTC (rev 2918)
+++ trunk/packages/dicomscope/trunk/debian/rules 2009-01-07 17:27:31 UTC (rev 2919)
@@ -52,6 +52,7 @@
-DDCMTK_dcmimgle_INCLUDE_DIR:PATH=/usr/include/dcmtk/dcmimgle \
-DDCMTK_dcmpstat_INCLUDE_DIR:PATH=/usr/include/dcmtk/dcmpstat \
-DDCMTK_dcmsr_INCLUDE_DIR:PATH=/usr/include/dcmtk/dcmsr \
+ -DDCMTK_dcmjpeg_INCLUDE_DIR:PATH=/usr/include/dcmtk/dcmjpeg \
-DDCMTK_ofstd_INCLUDE_DIR:PATH=/usr/include/dcmtk/ofstd
touch configure-stamp
More information about the debian-med-commit
mailing list