Navigation:  API Change History > 1.5 >

Breaking Changes

Previous pageReturn to chapter overviewNext page

Common

Type

Change

Platform

removed property AuditManager : ClearCanvas.Auditing.IAuditor

PluginInfo

property changed (return type)

From:

public ExtensionPointInfo[] ExtensionPoints { get; }

To:

public System.Collections.Generic.IList<ExtensionPointInfo> ExtensionPoints { get; }

property changed (return type)

From:

public ExtensionInfo[] Extensions { get; }

To:

public System.Collections.Generic.IList<ExtensionInfo> Extensions { get; }

PluginManager

property changed (return type)

From:

public PluginInfo[] Plugins { get; }

To:

public System.Collections.Generic.IList<PluginInfo> Plugins { get; }

Common.Auditing

(Entire namespace removed)

Type

Change

AuditorExtensionPoint

removed class

IAuditMessage

removed class

IAuditor

removed class

Common.Configuration

Type

Change

ISettingsStore

added property bool SupportsImport { get; }

added method void ImportSettingsGroup(SettingsGroupDescriptor group, List<SettingsPropertyDescriptor> properties)

Common.Specifications

Type

Change

CompositeSpecification

removed property protected System.Collections.Generic.IEnumerable<ISpecification> SubSpecs { get; }

Desktop

Type

Change

IUndoableOperation<T>

removed interface public interface IUndoableOperation<T>

(actually moved to ImageViewer namespace)

UndoableOperationApplicator<T>

removed class public class UndoableOperationApplicator<T> : IMemorable

Desktop.Tables

Type

Change

ITable

added event System.EventHandler BeforeSorted

ITableColumn

added method System.Object FormatValue(System.Object value)

added method System.String GetTooltipText(System.Object item)

TableColumnBase<TItem>

added method public abstract System.Object FormatValue(System.Object value)

added method public abstract System.String GetTooltipText(System.Object item)

Desktop.Tools

Type

Change

ToolSet

removed constructor public ToolSet()

Desktop.Trees

Type

Change

ITreeItemBinding

added method bool CanSetNodeText(System.Object item)

added method void SetNodeText(System.Object item, System.String text)

ImageViewer

Type

Change

EventBroker

event changed (EventArgs type)

From:

public System.EventHandler<ClearCanvas.Common.Utilities.ItemEventArgs<ClearCanvas.ImageViewer.StudyManagement.Study>> StudyLoaded

To:

public System.EventHandler<StudyLoadedEventArgs> StudyLoaded

IDisplaySet

added property System.String Description { get; }

added property int Number { get; }

IImageViewer

added property public IPriorStudyLoader PriorStudyLoader { get; }

ImageOperationApplicator

removed base interface

From:

public class ImageOperationApplicator : ClearCanvas.Desktop.IMemorable

To:

public class ImageOperationApplicator

removed method public System.Object CreateMemento()

removed method public void SetMemento(System.Object memento)

IPhysicalWorkspace

added event System.EventHandler EnabledChanged

added event System.EventHandler LockedChanged

added property bool Locked { get; set; }

ITile

added property InformationBox InformationBox { get; set; }

added event System.EventHandler<InformationBoxChangedEventArgs> InformationBoxChanged

OpenStudyException

removed class public class OpenStudyException : System.Exception

OpenStudyExceptionHandlingPolicy

removed class public sealed class OpenStudyExceptionHandlingPolicy : ClearCanvas.Desktop.IExceptionPolicy

ImageViewer.Annotations

Type

Change

IAnnotationLayoutProvider

property changed (setter added)

From:

public IAnnotationLayout AnnotationLayout { get; }

To:

public IAnnotationLayout AnnotationLayout { get; set; }

ImageViewer.Comparers

Type

Change

AcquisitionTimeComparer

method changed (protected to public)

From:

protected virtual int Compare(ClearCanvas.ImageViewer.StudyManagement.Frame x, ClearCanvas.ImageViewer.StudyManagement.Frame y)

To:

public virtual int Compare(ClearCanvas.ImageViewer.StudyManagement.Frame x, ClearCanvas.ImageViewer.StudyManagement.Frame y)

DicomFrameComparer

method changed (protected to public)

From:

protected abstract int Compare(ClearCanvas.ImageViewer.StudyManagement.Frame x, ClearCanvas.ImageViewer.StudyManagement.Frame y)

To:

public abstract int Compare(ClearCanvas.ImageViewer.StudyManagement.Frame x, ClearCanvas.ImageViewer.StudyManagement.Frame y)

InstanceAndFrameNumberComparer

method changed (protected to public)

From:

protected virtual int Compare(ClearCanvas.ImageViewer.StudyManagement.Frame x, ClearCanvas.ImageViewer.StudyManagement.Frame y)

To:

public virtual int Compare(ClearCanvas.ImageViewer.StudyManagement.Frame x, ClearCanvas.ImageViewer.StudyManagement.Frame y)

SliceLocationComparer

method changed (protected to public)

From:

protected virtual int Compare(ClearCanvas.ImageViewer.StudyManagement.Frame x, ClearCanvas.ImageViewer.StudyManagement.Frame y)

To:

public virtual int Compare(ClearCanvas.ImageViewer.StudyManagement.Frame x, ClearCanvas.ImageViewer.StudyManagement.Frame y)

ImageViewer.Graphics

Type

Change

GraphicToolContext

constructor changed (argument removed)

From:

public GraphicToolContext(IGraphic graphic, ClearCanvas.Desktop.IDesktopWindow desktopWindow)

To:

public GraphicToolContext(IGraphic graphic)

IBoundableGraphic

property changed (added setter)

From:

System.Drawing.PointF BottomRight { get; }

To:

System.Drawing.PointF BottomRight { get; set; }

added event System.EventHandler<PointChangedEventArgs> BottomRightChanged

added property System.Drawing.RectangleF Rectangle { get; }

property changed (added setter)

From:

System.Drawing.PointF TopLeft { get; }

To:

System.Drawing.PointF TopLeft { get; set; }

added event System.EventHandler<PointChangedEventArgs> TopLeftChanged

IGraphic

added property System.Drawing.RectangleF BoundingBox { get; }

added method System.Drawing.PointF GetClosestPoint(System.Drawing.PointF point)

added method ClearCanvas.ImageViewer.RoiGraphics.Roi GetRoi()

added event VisualStateChangedEventHandler VisualStateChanged

InvariantBoundablePrimitive

added method public abstract bool Contains(System.Drawing.PointF point)

ImageViewer.Imaging

Type

Change

DataLut

added property public abstract int FirstMappedPixelValue { get; }

added property public abstract int LastMappedPixelValue { get; }

IColorMapManager

added method void InstallColorMap(IDataLut colorMap)

IDataLut

added property int FirstMappedPixelValue { get; }

ImageViewer.InputManagement

Type

Change

IViewerShortcutManager

added method System.Collections.Generic.IEnumerable<IMouseButtonHandler> GetMouseButtonHandlers(MouseButtonShortcut shortcut)

ImageViewer.InteractiveGraphics

Type

Change

BoundableInteractiveGraphic

removed class public abstract class BoundableInteractiveGraphic : InteractiveGraphic

CalloutGraphic

should be treated as a new class

Although a class with the same name existed previously, the implementation and API is so completely different, that it should be treated as a completely new class.

class definition changed

From:

public class CalloutGraphic : StandardStatefulCompositeGraphic, ClearCanvas.ImageViewer.Graphics.IGraphic, IDrawable, System.IDisposable, IStatefulGraphic, ClearCanvas.ImageViewer.InputManagement.IMouseButtonHandler, ClearCanvas.ImageViewer.InputManagement.ICursorTokenProvider, IStandardStatefulGraphic, ClearCanvas.Desktop.IMemorable

To:

public class CalloutGraphic : CompositeGraphic, ICalloutGraphic, IMemorable, IMouseButtonHandler, IExportedActionsProvider, ICursorTokenProvider

ControlPointGroup

removed class public class ControlPointGroup : CompositeGraphic

(moved to inner scope of new class ControlPointsGraphic)

CreateGraphicState

removed class public abstract class CreateGraphicState : StandardGraphicState

EllipseInteractiveGraphic

removed class public class EllipseInteractiveGraphic : BoundableInteractiveGraphic

InteractiveGraphic

removed class public abstract class InteractiveGraphic        : StandardStatefulCompositeGraphic, IMemorable

IRoiCalloutLocationStrategy

removed interface public interface IRoiCalloutLocationStrategy

MoveControlPointGraphicState

removed class public class MoveControlPointGraphicState : StandardGraphicState

MoveGraphicState

removed class public class MoveGraphicState : StandardGraphicState

PolyLineGraphic

removed class public class PolyLineGraphic : CompositeGraphic, IMemorable

PolyLineInteractiveGraphic

removed class public class PolyLineInteractiveGraphic : InteractiveGraphic

RectangleInteractiveGraphic

removed class public class RectangleInteractiveGraphic : BoundableInteractiveGraphic

RoiCalloutLocationStrategy

removed class public class RoiCalloutLocationStrategy : IRoiCalloutLocationStrategy

RoiGraphic

removed class public class RoiGraphic : StandardStatefulCompositeGraphic, ISelectableGraphable, IFocussableGraphic, IContextMenuProvider, IMemorable

(actually moved to RoiGraphics namespace, but implementation is so different, it should be treated as a new class)

RoiTransformPolicy

removed class public class RoiTransformPolicy : SpatialTransformValidationPolicy

(actually moved to RoiGraphics namespace)

StandardStatefulCompositeGraphic

removed class public abstract class StandardStatefulCompositeGraphic : StatefulCompositeGraphic, IStandardStatefulGraphic

StandardGraphicState

removed property protected IStandardStatefulGraphic StandardStatefulGraphic

StatefulCompositeGraphic

should be treated as a new class

Although a class with the same name existed previously, the implementation and API is so completely different, that it should be treated as a completely new class.

class definition changed

From:

public abstract class StatefulCompositeGraphic : ClearCanvas.ImageViewer.Graphics.CompositeGraphic, ClearCanvas.ImageViewer.Graphics.IGraphic, IDrawable, System.IDisposable, IStatefulGraphic, ClearCanvas.ImageViewer.InputManagement.IMouseButtonHandler, ClearCanvas.ImageViewer.InputManagement.ICursorTokenProvider

To:

public abstract class StatefulCompositeGraphic : ControlGraphic, ClearCanvas.ImageViewer.Graphics.IGraphic, IDrawable, System.IDisposable, ClearCanvas.ImageViewer.Graphics.IDecoratorGraphic, IControlGraphic, ClearCanvas.ImageViewer.InputManagement.ICursorTokenProvider, ClearCanvas.ImageViewer.InputManagement.IMouseButtonHandler, ClearCanvas.ImageViewer.InputManagement.IExportedActionsProvider, IStatefulGraphic

StretchCursorTokenStrategy

property changed (return type)

From:

protected internal InteractiveGraphic TargetGraphic

To:

protected internal IGraphic TargetGraphic

ImageViewer.Rendering

Type

Change

RendererBase

added method protected abstract void DrawCurvePrimitive(ClearCanvas.ImageViewer.Graphics.CurvePrimitive curve)

added method protected abstract void DrawInvariantLinePrimitive(ClearCanvas.ImageViewer.Graphics.InvariantLinePrimitive line)

ImageViewer.StudyManagement

Type

Change

ApplicationEntity

constructor changed (added parameter)

From:

public ApplicationEntity(System.String host, System.String aeTitle, int port, int headerServicePort, int wadoServicePort)

To:

public ApplicationEntity(System.String host, System.String aeTitle, System.String name, int port, bool isStreaming, int headerServicePort, int wadoServicePort)

Frame

removed method protected virtual byte[] CreateNormalizedPixelData()

removed method protected byte[] ToArgb(byte[] pixelData, ClearCanvas.Dicom.Iod.PhotometricInterpretation photometricInterpretation)

ImageSop

constructor changed (argument type)

From:

protected ImageSop(ClearCanvas.Dicom.DicomMessageBase dicomMessage)

To:

public ImageSop(ISopDataSource dataSource)

property changed (virtual removed)

From:

public virtual FrameCollection Frames { get; }

To:

public FrameCollection Frames { get; }

IStudyLoader

added method Sop LoadNextSop()

removed method ImageSop LoadNextImage()

LocalImageSop

removed class public class LocalImageSop : ImageSop, System.IDisposable

OpenStudyArgs

constructor changed (WindowBehaviour type moved namespaces)

From:

public OpenStudyArgs(String[] studyInstanceUids, System.Object server, System.String studyLoaderName, ClearCanvas.ImageViewer.StudyManagement.WindowBehaviour windowBehaviour)

To:

public OpenStudyArgs(String[] studyInstanceUids, System.Object server, System.String studyLoaderName, ClearCanvas.ImageViewer.WindowBehaviour windowBehaviour)

property changed (WindowBehaviour type moved namespaces)

From:

public ClearCanvas.ImageViewer.StudyManagement.WindowBehaviour WindowBehaviour { get; }

To:

public ClearCanvas.ImageViewer.WindowBehaviour WindowBehaviour { get; }

OpenStudyHelper

method changed (WindowBehaviour type moved namespaces)

From:

public static void OpenFiles(String[] localFileList, ClearCanvas.ImageViewer.StudyManagement.WindowBehaviour windowBehaviour)

To:

public static ClearCanvas.ImageViewer.IImageViewer OpenFiles(String[] localFileList, ClearCanvas.ImageViewer.WindowBehaviour windowBehaviour)

method changed (return value)

From:

public static void OpenStudies(ClearCanvas.ImageViewer.StudyManagement.OpenStudyArgs openStudyArgs)

To:

public static ClearCanvas.ImageViewer.IImageViewer OpenStudies(ClearCanvas.ImageViewer.StudyManagement.OpenStudyArgs openStudyArgs)

method changed (return value, WindowBehaviour type moved namespaces)

From:

public static void OpenStudies(System.String studyLoaderName, String[] studyInstanceUids, ClearCanvas.ImageViewer.StudyManagement.WindowBehaviour windowBehaviour)

To:

public static ClearCanvas.ImageViewer.IImageViewer OpenStudies(System.String studyLoaderName, String[] studyInstanceUids, ClearCanvas.ImageViewer.WindowBehaviour windowBehaviour)

Sop

constructor changed (argument type)

From:

protected Sop(ClearCanvas.Dicom.DicomMessageBase dicomMessage)

To:

public Sop(ISopDataSource dataSource)

removed method protected virtual void EnsureLoaded()

removed property public ClearCanvas.Dicom.DicomMessageBase NativeDicomObject { get; }

StudyItem

property changed (return type)

From:

public ApplicationEntity Server { get; set; }

To:

public System.Object Server { get; set; }

VisibleDisplaySetPrefetchingStrategy

removed class public class VisibleDisplaySetPrefetchingStrategy : IPrefetchingStrategy

WindowBehaviour

removed class public enum WindowBehaviour

(actually moved to ImageViewer namespace)