Navigation:  API Change History > 1.5 >

Non-Breaking Changes

Previous pageReturn to chapter overviewNext page

Common

Type

Change

ExtensionInfo

added property public bool Enabled { get; }

ExtensionOfAttribute

added property public bool Enabled { get; set; }

ExtensionPointInfo

added method public System.Collections.Generic.IList<ExtensionInfo> ListExtensions()

added method public bool IsLogLevelEnabled(LogLevel level)

Common.Audit

Type

Change

AuditEntryInfo

added class public class AuditEntryInfo

AuditLog

added class public class AuditLog

AuditSinkExtensionPoint

added class public class AuditSinkExtensionPoint : ExtensionPoint<IAuditSink>

IAuditSink

added class public class IAuditSink

Common.Shreds

Type

Change

IShred

added interface public interface IShred

QueueProcessor

added class public abstract class QueueProcessor

QueueProcessor<TItem>

added class public abstract class QueueProcessor<TItem> : QueueProcessor

QueueProcessorShred

added class public abstract class QueueProcessorShred : Shred, IShred

Shred

added class public abstract class Shred : System.MarshalByRefObject, IShred

ShredExtensionPoint

added class public sealed class ShredExtensionPoint : ExtensionPoint<IShred>, IExtensionPoint

Common.Specifications

Type

Change

CompositeSpecification

added property protected internal System.Collections.Generic.IEnumerable<ISpecification> Elements { get; }

CountSpecification

added property public ISpecification FilterSpecification { get; }

added property public int Max { get; }

added property public int Min { get; }

EnumerableSpecification

added static method protected static IEnumerable AsEnumerable(System.Object obj)

added property protected internal ISpecification ElementSpec { get; }

NotSpecification

added class public class NotSpecification : CompositeSpecification, ISpecification

RegexSpecification

added constructor public RegexSpecification(string pattern)

added property public bool IgnoreCase { get; }

added property public bool NullMatches { get; }

added property public string Pattern { get; }

Common.Utilities

Type

Change

CollectionUtils

added method public static System.Collections.Generic.Dictionary<K, System.Collections.Generic.List<T>> GroupBy(System.Collections.Generic.IEnumerable<T> target, System.Converter<T, K> keyFunc)

added method public static List<TItem> Sort(IEnumerable<TItem> target)

added method public static List<TItem> Sort(IEnumerable target)

IObservableList<TItem>

added interface public interface IObservableList<TItem> : IList<TItem>, ICollection<TItem>, IEnumerable<TItem>, IEnumerable

ObservableList<T>

added interface implementation IObservableList<T> which resulted in no API changes


changed method (made virtual)

From:

public void Clear()

To:

public virtual void Clear()

PerformanceReport

added class public class PerformanceReport

PerformanceReportBroker

added class public static class PerformanceReportBroker

Desktop

Type

Change

ApplicationComponentContainer

added inner class protected class ContainedComponentHost : ApplicationComponentHost, IApplicationComponentHost

CompositeUndoableCommand

added property public int Count { get; }

DesktopWindow

added method public FileDialogResult ShowSelectFolderDialogBox(SelectFolderDialogCreationArgs args)

IDesktopWindow

added method FileDialogResult ShowSelectFolderDialogBox(SelectFolderDialogCreationArgs args);

IDesktopWindowView

added method FileDialogResult ShowSelectFolderDialogBox(SelectFolderDialogCreationArgs args)

ItemChangeType

added enum value ItemInserted

NavigatorComponentContainer

added constructor NavigatorComponentContainer(bool showApply)

added event System.EventHandler ApplyEnabledChanged

added method public virtual void Apply()

added property public bool ApplyEnabled { get; set; }

added property public bool ShowApply { get; }

added property public bool StartFullyExpanded { get; set; }

PagedComponentContainer<TPage>

added method protected void EnsureStopped(ContainerPage page)

added property public ClearCanvas.Common.Utilities.ObservableList<TPage> Pages { get; }

SelectFolderDialogCreationArgs

added class public class SelectFolderDialogCreationArgs

ToolStripSettingsHelper

added class public sealed class ToolStripSettingsHelper : System.ComponentModel.INotifyPropertyChanged

Desktop.Actions

Type

Change

ActionModelRoot

added method public static ActionModelRoot CreateModel(System.String @namespace, System.String site, IActionSet actions)

IconSetAttribute

added constructor IconSetAttribute(System.String actionID, System.String icon)

Desktop.Tables

Type

Change

DateTableColumn<TItem>

added class public class DateTableColumn<TItem> : DateTimeTableColumn<TItem>, ITableColumn

DateTimeTableColumn<TItem>

added class public class DateTimeTableColumn<TItem> : TableColumn<TItem, System.Nullable<System.DateTime>>, ITableColumn

Table<TItem>

added event public System.EventHandler BeforeSorted

TableColumn<TItem, TColumn>

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

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

added property public System.Converter<TItem, System.String> TooltipTextProvider { get; set; }

added property System.Converter<TColumn, System.Object> ValueFormatter { get; set; }

Desktop.Tools

Type

Change

ToolSet

added constructor public ToolSet(ClearCanvas.Common.IExtensionPoint toolExtensionPoint, IToolContext context, ClearCanvas.Common.ExtensionFilter filter)

added constructor public ToolSet(System.Collections.IEnumerable tools, IToolContext context)

Desktop.Trees

Type

Change

TreeItemBinding

added method public virtual bool CanSetNodeText(System.Object item)

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

added property public System.Converter<TItem, bool> CanSetNodeTextHandler { get; set; }

added property SetterDelegate<TItem, System.String> NodeTextSetter { get; set; }

TreeItemBindingBase

added method public virtual bool CanSetNodeText(System.Object item)

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

ImageViewer

Type

Change

BasicImageOperation

base interface changed (IUndoableOperation moved to this namespace, hence why it's non-breaking)

From:

public class BasicImageOperation : ImageOperation, ClearCanvas.Desktop.IUndoableOperation<IPresentationImage>

To:

public class BasicImageOperation : ImageOperation, IUndoableOperation<IPresentationImage>

BasicPresentationImage

interface implementation changed

From:

public abstract class BasicPresentationImage : PresentationImage, IPresentationImage, IDrawable, System.IDisposable, ClearCanvas.ImageViewer.Graphics.IImageGraphicProvider, ClearCanvas.ImageViewer.Graphics.ISpatialTransformProvider, ClearCanvas.ImageViewer.Graphics.IOverlayGraphicsProvider, ClearCanvas.ImageViewer.Annotations.IAnnotationLayoutProvider

To:

public abstract class BasicPresentationImage : PresentationImage, IPresentationImage, IDrawable, System.IDisposable, ClearCanvas.ImageViewer.Graphics.IImageGraphicProvider, ClearCanvas.ImageViewer.Graphics.ISpatialTransformProvider, ClearCanvas.ImageViewer.Graphics.IApplicationGraphicsProvider, ClearCanvas.ImageViewer.Graphics.IOverlayGraphicsProvider, ClearCanvas.ImageViewer.Annotations.IAnnotationLayoutProvider, ClearCanvas.ImageViewer.PresentationStates.IPresentationStateProvider

added property public ClearCanvas.ImageViewer.Graphics.GraphicCollection ApplicationGraphics { get; }

added property protected ClearCanvas.ImageViewer.Graphics.CompositeGraphic CompositeImageGraphic { get; }

added property public ClearCanvas.ImageViewer.PresentationStates.PresentationState PresentationState { get; }

property changed

From:

public ClearCanvas.ImageViewer.Annotations.IAnnotationLayout AnnotationLayout { get; protected set; }

To:

public ClearCanvas.ImageViewer.Annotations.IAnnotationLayout AnnotationLayout { get; set; }

ColorPresentationImage

interface implementation changed

From:

public class ColorPresentationImage : BasicPresentationImage, IPresentationImage, IDrawable, System.IDisposable, ClearCanvas.ImageViewer.Graphics.IImageGraphicProvider, ClearCanvas.ImageViewer.Graphics.ISpatialTransformProvider, ClearCanvas.ImageViewer.Graphics.IOverlayGraphicsProvider, ClearCanvas.ImageViewer.Annotations.IAnnotationLayoutProvider

To:

public class ColorPresentationImage : BasicPresentationImage, IPresentationImage, IDrawable, System.IDisposable, ClearCanvas.ImageViewer.Graphics.IImageGraphicProvider, ClearCanvas.ImageViewer.Graphics.ISpatialTransformProvider, ClearCanvas.ImageViewer.Graphics.IApplicationGraphicsProvider, ClearCanvas.ImageViewer.Graphics.IOverlayGraphicsProvider, ClearCanvas.ImageViewer.Annotations.IAnnotationLayoutProvider, ClearCanvas.ImageViewer.PresentationStates.IPresentationStateProvider

DicomColorPresentationImage

interface implementation changed

From:

public class DicomColorPresentationImage : ColorPresentationImage, IPresentationImage, IDrawable, System.IDisposable, ClearCanvas.ImageViewer.Graphics.IImageGraphicProvider, ClearCanvas.ImageViewer.Graphics.ISpatialTransformProvider, ClearCanvas.ImageViewer.Graphics.IOverlayGraphicsProvider, ClearCanvas.ImageViewer.Annotations.IAnnotationLayoutProvider, ClearCanvas.ImageViewer.StudyManagement.IImageSopProvider

To:

public class DicomColorPresentationImage : ColorPresentationImage, IPresentationImage, IDrawable, System.IDisposable, ClearCanvas.ImageViewer.Graphics.IImageGraphicProvider, ClearCanvas.ImageViewer.Graphics.ISpatialTransformProvider, ClearCanvas.ImageViewer.Graphics.IApplicationGraphicsProvider, ClearCanvas.ImageViewer.Graphics.IOverlayGraphicsProvider, ClearCanvas.ImageViewer.Annotations.IAnnotationLayoutProvider, ClearCanvas.ImageViewer.PresentationStates.IPresentationStateProvider, IDicomPresentationImage, ClearCanvas.ImageViewer.StudyManagement.IImageSopProvider, ClearCanvas.ImageViewer.StudyManagement.ISopProvider, ClearCanvas.ImageViewer.PresentationStates.Dicom.IDicomSoftcopyPresentationStateProvider

added constructor public DicomColorPresentationImage(ClearCanvas.ImageViewer.StudyManagement.IFrameReference frameReference)

added property public ClearCanvas.ImageViewer.Graphics.GraphicCollection DicomGraphics { get; }

added property public ClearCanvas.ImageViewer.PresentationStates.Dicom.DicomSoftcopyPresentationState PresentationState { get; set; }

DicomGrayscalePresentationImage

interface implementation changed

From:

public class DicomGrayscalePresentationImage : GrayscalePresentationImage, IPresentationImage, IDrawable, System.IDisposable, ClearCanvas.ImageViewer.Graphics.IImageGraphicProvider, ClearCanvas.ImageViewer.Graphics.ISpatialTransformProvider, ClearCanvas.ImageViewer.Graphics.IOverlayGraphicsProvider, ClearCanvas.ImageViewer.Annotations.IAnnotationLayoutProvider, ClearCanvas.ImageViewer.Imaging.IModalityLutProvider, ClearCanvas.ImageViewer.Imaging.IVoiLutProvider, ClearCanvas.ImageViewer.Imaging.IColorMapProvider, ClearCanvas.ImageViewer.StudyManagement.IImageSopProvider

To:

public class DicomGrayscalePresentationImage : GrayscalePresentationImage, IPresentationImage, IDrawable, System.IDisposable, ClearCanvas.ImageViewer.Graphics.IImageGraphicProvider, ClearCanvas.ImageViewer.Graphics.ISpatialTransformProvider, ClearCanvas.ImageViewer.Graphics.IApplicationGraphicsProvider, ClearCanvas.ImageViewer.Graphics.IOverlayGraphicsProvider, ClearCanvas.ImageViewer.Annotations.IAnnotationLayoutProvider, ClearCanvas.ImageViewer.PresentationStates.IPresentationStateProvider, ClearCanvas.ImageViewer.Imaging.IModalityLutProvider, ClearCanvas.ImageViewer.Imaging.IVoiLutProvider, ClearCanvas.ImageViewer.Imaging.IColorMapProvider, IDicomPresentationImage, ClearCanvas.ImageViewer.StudyManagement.IImageSopProvider, ClearCanvas.ImageViewer.StudyManagement.ISopProvider, ClearCanvas.ImageViewer.PresentationStates.Dicom.IDicomSoftcopyPresentationStateProvider, ClearCanvas.ImageViewer.Imaging.IDicomVoiLutsProvider

added constructor public DicomGrayscalePresentationImage(ClearCanvas.ImageViewer.StudyManagement.IFrameReference frameReference)

added property public ClearCanvas.ImageViewer.Graphics.GraphicCollection DicomGraphics { get; }

added property public ClearCanvas.ImageViewer.Imaging.IDicomVoiLuts DicomVoiLuts { get; }

added property public ClearCanvas.ImageViewer.PresentationStates.Dicom.DicomSoftcopyPresentationState PresentationState { get; set; }

DisplaySet

added property public System.String Description { get; set; }

added property public System.Int Number { get; set; }

DisplaySetCollection

added method public virtual void Sort(System.Collections.Generic.IComparer<IDisplaySet> comparer)

DrawableUndoableOperationCommand<T>

added class public class DrawableUndoableOperationCommand<T> : UndoableOperationCommand<T>

EditBox

added class public class EditBox

EventBroker

added event public System.EventHandler<StudyLoadFailedEventArgs> StudyLoadFailed

GrayscalePresentationImage

interface implementation changed

From:

public class GrayscalePresentationImage : BasicPresentationImage, IPresentationImage, IDrawable, System.IDisposable, ClearCanvas.ImageViewer.Graphics.IImageGraphicProvider, ClearCanvas.ImageViewer.Graphics.ISpatialTransformProvider, ClearCanvas.ImageViewer.Graphics.IOverlayGraphicsProvider, ClearCanvas.ImageViewer.Annotations.IAnnotationLayoutProvider, ClearCanvas.ImageViewer.Imaging.IModalityLutProvider, ClearCanvas.ImageViewer.Imaging.IVoiLutProvider, ClearCanvas.ImageViewer.Imaging.IColorMapProvider

To:

public class GrayscalePresentationImage : BasicPresentationImage, IPresentationImage, IDrawable, System.IDisposable, ClearCanvas.ImageViewer.Graphics.IImageGraphicProvider, ClearCanvas.ImageViewer.Graphics.ISpatialTransformProvider, ClearCanvas.ImageViewer.Graphics.IApplicationGraphicsProvider, ClearCanvas.ImageViewer.Graphics.IOverlayGraphicsProvider, ClearCanvas.ImageViewer.Annotations.IAnnotationLayoutProvider, ClearCanvas.ImageViewer.PresentationStates.IPresentationStateProvider, ClearCanvas.ImageViewer.Imaging.IModalityLutProvider, ClearCanvas.ImageViewer.Imaging.IVoiLutProvider, ClearCanvas.ImageViewer.Imaging.IColorMapProvider

IDicomPresentationImage

added interface public interface IDicomPresentationImage : IPresentationImage, IDrawable, System.IDisposable, ClearCanvas.ImageViewer.StudyManagement.IImageSopProvider, ClearCanvas.ImageViewer.StudyManagement.ISopProvider, ClearCanvas.ImageViewer.Annotations.IAnnotationLayoutProvider, ClearCanvas.ImageViewer.Graphics.IImageGraphicProvider, ClearCanvas.ImageViewer.Graphics.IApplicationGraphicsProvider, ClearCanvas.ImageViewer.Graphics.IOverlayGraphicsProvider, ClearCanvas.ImageViewer.Graphics.ISpatialTransformProvider, ClearCanvas.ImageViewer.PresentationStates.Dicom.IDicomSoftcopyPresentationStateProvider, ClearCanvas.ImageViewer.PresentationStates.IPresentationStateProvider

IImageOperation

base interface changed (IUndoableOperation moved to this namespace, hence why it's non-breaking)

From:

public interface IImageOperation : ClearCanvas.Desktop.IUndoableOperation<ClearCanvas.ImageViewer.IPresentationImage>

To:

public interface IImageOperation : IUndoableOperation<ClearCanvas.ImageViewer.IPresentationImage>

ImageOperation

base interface changed (IUndoableOperation moved to this namespace, hence why it's non-breaking)

From:

public abstract class ImageOperation : ClearCanvas.Desktop.IUndoableOperation<ClearCanvas.ImageViewer.IPresentationImage>

To:

public abstract class ImageOperation : UndoableOperation<ClearCanvas.ImageViewer.IPresentationImage>

method moved to base class public virtual bool AppliesTo(IPresentationImage image)

method moved to base class public abstract void Apply(IPresentationImage image)

method moved to base class public abstract ClearCanvas.Desktop.IMemorable GetOriginator(IPresentationImage image)

ImageOperationApplicator

constructor changed (IUndoableOperation moved to this namespace, hence why it's non-breaking)

From:

public ImageOperationApplicator(IPresentationImage referenceImage, ClearCanvas.Desktop.IUndoableOperation<IPresentationImage> operation)

To:

public ImageOperationApplicator(IPresentationImage referenceImage, IUndoableOperation<IPresentationImage> operation)

method changed (return value)

From:

public void ApplyToAllImages()

To:

public ClearCanvas.Desktop.UndoableCommand ApplyToAllImages()

method changed (return value)

From:

public void ApplyToLinkedImages()

To:

public ClearCanvas.Desktop.UndoableCommand ApplyToLinkedImages()

ImageSetCollection

added method public virtual void Sort(System.Collections.Generic.IComparer<IImageSet> comparer)

ImageSetGroups

added class public class ImageSetGroups : System.IDisposable

ImageSetSpecification

added class public abstract class ImageSetSpecification : ClearCanvas.Common.Specifications.ISpecification

ImageViewerComponent

added constructor        public ImageViewerComponent(ILayoutManager layoutManager, IPriorStudyFinder priorStudyFinder)

added constructor public ImageViewerComponent(LayoutManagerCreationParameters creationParameters, IPriorStudyFinder priorStudyFinder)

added method protected virtual System.Collections.IEnumerable CreateTools()

added method public static void Launch(ImageViewerComponent imageViewer, LaunchImageViewerArgs launchArgs)

added method public void LoadStudies(System.Collections.Generic.IList<LoadStudyArgs> loadStudyArgs)

added property public ClearCanvas.ImageViewer.IPriorStudyLoader PriorStudyLoader { get; }

InUseLoadStudyException

added class public class InUseLoadStudyException : LoadStudyException

IPriorStudyFinder

added interface public interface IPriorStudyFinder

IPriorStudyLoader

added interface public interface IPriorStudyLoader

IUndoableOperation<T>

added interface public interface IUndoableOperation<T>

(moved from Desktop namespace)

LaunchImageViewerArgs

added class public class LaunchImageViewerArgs

LayoutManager

added method protected virtual IDisplaySet CreateDisplaySet(ClearCanvas.ImageViewer.StudyManagement.Series series)

added method protected virtual IImageSet CreateImageSet(ClearCanvas.ImageViewer.StudyManagement.Study study)

added property protected ClearCanvas.ImageViewer.PresentationImageFactory PresentationImageFactory { get; set; }

added method protected virtual void OnLayoutCompleted()

added method protected virtual void OnPriorStudyLoaded(ClearCanvas.ImageViewer.StudyManagement.Study study)

added method protected void SortDisplaySets(ClearCanvas.ImageViewer.DisplaySetCollection displaySets)

added method protected void SortImages(ClearCanvas.ImageViewer.PresentationImageCollection images)

added method protected virtual void ValidateLogicalWorkspace()

LoadMultipleStudiesException

added class public class LoadMultipleStudiesException : System.Exception

LoadPriorStudiesException

added class public class LoadPriorStudiesException : LoadMultipleStudiesException

LoadSopsException

added class public class LoadSopsException : System.Exception

LoadStudyException

added class public class LoadStudyException : LoadSopsException

NearlineLoadStudyException

added class public class NearlineLoadStudyException : LoadStudyException

NotFoundLoadStudyException

added class public class NotFoundLoadStudyException : LoadStudyException

NoVisibleDisplaySetsExceptionHandlingPolicy

added class public sealed class NoVisibleDisplaySetsExceptionHandlingPolicy : ClearCanvas.Desktop.IExceptionPolicy

OfflineLoadStudyException

added class public class OfflineLoadStudyException : LoadStudyException

PhysicalWorkspace

added event public System.EventHandler EnabledChanged

added property public bool Locked { get; set; }

PresentationImageFactory

class definition changed (no longer static class)

From:

public static class PresentationImageFactory

To:

public class PresentationImageFactory

added constructor public PresentationImageFactory(ClearCanvas.ImageViewer.StudyManagement.StudyTree studyTree)

added method protected virtual System.Collections.Generic.List<IPresentationImage> CreateImages(ClearCanvas.Dicom.Iod.Iods.KeyObjectSelectionDocumentIod keyObjectDocument)

added method protected virtual System.Collections.Generic.List<IPresentationImage> CreateImages(ClearCanvas.ImageViewer.StudyManagement.ImageSop imageSop)

PriorStudyFinder

added class public abstract class PriorStudyFinder : IPriorStudyFinder

PriorStudyFinderExtensionPoint

added class public sealed class PriorStudyFinderExtensionPoint : ClearCanvas.Common.ExtensionPoint<IPriorStudyFinder>

StudyLoadedEventArgs

added class public class StudyLoadedEventArgs : System.EventArgs

StudyLoadFailedEventArgs

added class public class StudyLoadFailedEventArgs : System.EventArgs

Tile

added event public System.EventHandler EditBoxChanged

added property public ClearCanvas.ImageViewer.EditBox EditBox { get; set; }

UndoableOperation<T>

added class public abstract class UndoableOperation<T> : IUndoableOperation<T>

UndoableOperationCommand<T>

added class public class UndoableOperationCommand<T> : ClearCanvas.Desktop.CompositeUndoableCommand

WindowBehaviour

added class public enum WindowBehaviour

(moved from StudyManagement namespace)

ImageViewer.BaseTools

Type

Change

GraphicTool

added property public bool Visible { get; set; }

added event public System.EventHandler VisibleChanged

MouseImageViewerTool

added method protected virtual void OnActivationChanged()

ImageViewer.Common

Type

Change

AuthorityTokens

added class public static class AuthorityTokens

DefaultAuthorityGroups

added class public class DefaultAuthorityGroups : ClearCanvas.Common.Authorization.IDefineAuthorityGroups

Diagnostics

added class public static class Diagnostics

FilteredGroupList<T>

added class public class FilteredGroupList<T> : ObservableList<FilteredGroup<T>>

RootFilteredGroup<T>

added class public class RootFilteredGroup<T> : FilteredGroup<T>

IFilteredGroupFactory<T>

added interface public interface IFilteredGroupFactory<T>

FilteredGroup<T>

added class public class FilteredGroup<T>

PermissionsHelper

added class public static class PermissionsHelper

ViewerActionPermissionAttribute

added class public class ViewerActionPermissionAttribute : ActionPermissionAttribute

ImageViewer.Comparers

Type

Change

AcquisitionTimeComparer

interface implementation changed

From:

public class AcquisitionTimeComparer : DicomFrameComparer, System.Collections.Generic.IComparer<ClearCanvas.ImageViewer.IPresentationImage>

To:

public class AcquisitionTimeComparer : DicomFrameComparer, System.Collections.Generic.IComparer<ClearCanvas.ImageViewer.IPresentationImage>, System.Collections.Generic.IComparer<ClearCanvas.ImageViewer.StudyManagement.Frame>

DicomFrameComparer

interface implementation changed

From:

public abstract class DicomFrameComparer : PresentationImageComparer, System.Collections.Generic.IComparer<ClearCanvas.ImageViewer.IPresentationImage>

To:

public abstract class DicomFrameComparer : PresentationImageComparer, System.Collections.Generic.IComparer<ClearCanvas.ImageViewer.IPresentationImage>, System.Collections.Generic.IComparer<ClearCanvas.ImageViewer.StudyManagement.Frame>

DisplaySetNumberComparer

added class public class DisplaySetNumberComparer : DisplaySetComparer, System.Collections.Generic.IComparer<ClearCanvas.ImageViewer.IDisplaySet>

InstanceAndFrameNumberComparer

interface implementation changed

From:

public class InstanceAndFrameNumberComparer : DicomFrameComparer, System.Collections.Generic.IComparer<ClearCanvas.ImageViewer.IPresentationImage>

To:

public class InstanceAndFrameNumberComparer : DicomFrameComparer, System.Collections.Generic.IComparer<ClearCanvas.ImageViewer.IPresentationImage>, System.Collections.Generic.IComparer<ClearCanvas.ImageViewer.StudyManagement.Frame>

SliceLocationComparer

interface implementation changed

From:

public class SliceLocationComparer : DicomFrameComparer, System.Collections.Generic.IComparer<ClearCanvas.ImageViewer.IPresentationImage>

To:

public class SliceLocationComparer : DicomFrameComparer, System.Collections.Generic.IComparer<ClearCanvas.ImageViewer.IPresentationImage>, System.Collections.Generic.IComparer<ClearCanvas.ImageViewer.StudyManagement.Frame>

ImageViewer.Graphics

Type

Change

AddGraphicUndoableCommand

added class public class AddGraphicUndoableCommand : ClearCanvas.Desktop.UndoableCommand

ArcPrimitive

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

ArrowGraphic

added class public class ArrowGraphic : CompositeGraphic, IGraphic, IDrawable, System.IDisposable, ILineSegmentGraphic, IVectorGraphic

BoundableGraphic

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

property changed (made public)

From:

protected System.Drawing.RectangleF Rectangle { get; }

To:

public System.Drawing.RectangleF Rectangle { get; }

CompositeGraphic

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

added method public System.Collections.Generic.IEnumerable<IGraphic> EnumerateChildGraphics(bool reverse)

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

CurvePrimitive

added class public class CurvePrimitive : VectorGraphic, IGraphic, IDrawable, System.IDisposable, IVectorGraphic, IPointsGraphic

DecoratorCompositeGraphic

added class public abstract class DecoratorCompositeGraphic : CompositeGraphic, IGraphic, IDrawable, System.IDisposable, IDecoratorGraphic

EllipsePrimitive

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

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

FlashOverlayController

added class public class FlashOverlayController

Graphic

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

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

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

added method protected virtual void OnNameChanged()

added method protected virtual void OnParentPresentationImageChanged(ClearCanvas.ImageViewer.IPresentationImage oldParentPresentationImage, ClearCanvas.ImageViewer.IPresentationImage newParentPresentationImage)

added method protected virtual void OnVisualStateChanged(System.String propertyName)

added event public VisualStateChangedEventHandler VisualStateChanged

GraphicEventArgs

added class public sealed class GraphicEventArgs : System.EventArgs

IApplicationGraphicsProvider

added interface public interface IApplicationGraphicsProvider

IDecoratorGraphic

added interface public interface IDecoratorGraphic : IGraphic, IDrawable, System.IDisposable

ILineSegmentGraphic

added interface public interface ILineSegmentGraphic : IVectorGraphic, IGraphic, IDrawable, System.IDisposable

ImageGraphic

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

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

ImageSpatialTransformImageOperation

base interface changed (IUndoableOperation moved to ImageViewer namespace, hence why it's non-breaking)

From:

public class ImageSpatialTransformImageOperation : SpatialTransformImageOperation, ClearCanvas.Desktop.IUndoableOperation<ClearCanvas.ImageViewer.IPresentationImage>

To:

public class ImageSpatialTransformImageOperation : SpatialTransformImageOperation, IUndoableOperation<ClearCanvas.ImageViewer.IPresentationImage>

IndexEventArgs

added class public sealed class IndexEventArgs : System.EventArgs

InvariantArcPrimitive

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

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

InvariantArrowheadGraphic

added class public class InvariantArrowheadGraphic : CompositeGraphic, IGraphic, IDrawable, System.IDisposable, IVectorGraphic

InvariantBoundablePrimitive

added event public System.EventHandler<PointChangedEventArgs> BottomRightChanged

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

property changed (made public)

From:

protected System.Drawing.RectangleF Rectangle { get; }

To:

public System.Drawing.RectangleF Rectangle { get; }

added method protected virtual void OnBottomRightChanged()

added method protected virtual void OnLocationChanged()

added method protected virtual void OnTopLeftChanged()

added event public System.EventHandler<PointChangedEventArgs> TopLeftChanged

InvariantEllipsePrimitive

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

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

InvariantLinePrimitive

added class public class InvariantLinePrimitive : InvariantBoundablePrimitive, IGraphic, IDrawable, System.IDisposable, IVectorGraphic, IBoundableGraphic, ILineSegmentGraphic

InvariantPrimitive

added property public System.Drawing.PointF Location { get; set; }

added event public System.EventHandler<PointChangedEventArgs> LocationChanged

added method protected virtual void OnLocationChanged()

InvariantRectanglePrimitive

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

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

InvariantTextPrimitive

interface implementation changed

From:

public class InvariantTextPrimitive : InvariantPrimitive, IGraphic, IDrawable, System.IDisposable, IVectorGraphic

To:

public class InvariantTextPrimitive : InvariantPrimitive, IGraphic, IDrawable, System.IDisposable, IVectorGraphic, ITextGraphic

property changed (made virtual)

From:

public System.Drawing.RectangleF BoundingBox { get; }

To:

public virtual System.Drawing.RectangleF BoundingBox { get; }

IPointGraphic

added interface public interface IPointGraphic : IVectorGraphic, IGraphic, IDrawable, System.IDisposable

IPointsGraphic

added interface public interface IPointsGraphic : IVectorGraphic, IGraphic, IDrawable, System.IDisposable

IPointsList

added interface public interface IPointsList : System.Collections.Generic.IList<System.Drawing.PointF>

ITextGraphic

added interface public interface ITextGraphic : IVectorGraphic, IGraphic, IDrawable, System.IDisposable

LinePrimitive

interface implementation changed

From:

public class LinePrimitive : VectorGraphic, IGraphic, IDrawable, System.IDisposable, IVectorGraphic

To:

public class LinePrimitive : VectorGraphic, IGraphic, IDrawable, System.IDisposable, IVectorGraphic, ILineSegmentGraphic

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

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

added property public System.Drawing.PointF Point1 { get; set; }

added property public System.Drawing.PointF Point2 { get; set; }

added event System.EventHandler<PointChangedEventArgs> Point1Changed

added event System.EventHandler<PointChangedEventArgs> Point2Changed

PointPrimitive

interface implementation changed

From:

public class PointPrimitive : VectorGraphic, IGraphic, IDrawable, System.IDisposable, IVectorGraphic

To:

public class PointPrimitive : VectorGraphic, IGraphic, IDrawable, System.IDisposable, IVectorGraphic, IPointGraphic

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

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

added event public System.EventHandler PointChanged

PointsList

added class public sealed class PointsList : IPointsList

PolylineGraphic

added class public class PolylineGraphic : CompositeGraphic, IGraphic, IDrawable, System.IDisposable, IPointsGraphic, IVectorGraphic

RectanglePrimitive

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

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

SpatialTransformImageOperation

base interface changed (IUndoableOperation moved to ImageViewer namespace, hence why it's non-breaking)

From:

public class SpatialTransformImageOperation : BasicImageOperation, ClearCanvas.Desktop.IUndoableOperation<ClearCanvas.ImageViewer.IPresentationImage>

To:

public class SpatialTransformImageOperation : BasicImageOperation, IUndoableOperation<ClearCanvas.ImageViewer.IPresentationImage>

VisualStateChangedEventArgs

added class public sealed class VisualStateChangedEventArgs : System.ComponentModel.PropertyChangedEventArgs

VisualStateChangedEventHandler

added delegate public delegate void VisualStateChangedEventHandler(System.Object sender, ClearCanvas.ImageViewer.Graphics.VisualStateChangedEventArgs e)

ImageViewer.Imaging

Type

Change

AdjustableDataLut

added class public class AdjustableDataLut : ComposableLut, IComposableLut, ILut, ClearCanvas.Desktop.IMemorable, IBasicVoiLutLinear, IVoiLutLinear, IDataLut

GeneratedDataLut

added property public int FirstMappedPixelValue { get; }

added property public int LastMappedPixelValue { get; }

GrayscalePixelData

added property public int BitsStored { get; }

added property public int HighBit { get; }

added property public bool IsSigned { get; }

IDicomVoiLuts

added interface public interface IDicomVoiLuts { get; }

IDicomVoiLutsProvider

added interface public interface IDicomVoiLutsProvider

OverlayData

added class public class OverlayData

PixelData

added property public int BitsAllocated { get; }

added property public int BytesPerPixel { get; }

added property public int Columns { get; }

added property public int Rows { get; }

SimpleDataLut

added property public int FirstMappedPixelValue { get; }

added property public int LastMappedPixelValue { get; }

VoiLutImageOperation

base interface changed (IUndoableOperation moved to ImageViewer namespace, hence why it's non-breaking)

From:

public class VoiLutImageOperation : BasicImageOperation, ClearCanvas.Desktop.IUndoableOperation<ClearCanvas.ImageViewer.IPresentationImage>

To:

public class VoiLutImageOperation : BasicImageOperation, IUndoableOperation<ClearCanvas.ImageViewer.IPresentationImage>

VoiWindow

added class public class VoiWindow : System.IEquatable<VoiWindow>

ImageViewer.InputManagement

Type

Change

IExportedActionsProvider

added interface public interface IExportedActionsProvider

MouseButtonHandlerBehaviour

added enums: CancelStartOnDoubleClick, Default, IgnoreDoubleClicks

ImageViewer.InteractiveGraphics

Type

Change

CalloutGraphic

See entry in Breaking Changes.

StandardGraphicState

added property protected new IStandardStatefulGraphic StatefulGraphic { get; }

StatefulCompositeGraphic

See entry in Breaking Changes.

AnchorPointControlGraphic

added class public class AnchorPointControlGraphic : ControlPointsGraphic

AnnotationCalloutLocationStrategy

added class public class AnnotationCalloutLocationStrategy : IAnnotationCalloutLocationStrategy

AnnotationGraphic

added class public class AnnotationGraphic : StandardStatefulGraphic, IContextMenuProvider

BoundableResizeControlGraphic

added class public sealed class BoundableResizeControlGraphic : ControlPointsGraphic

BoundableStretchControlGraphic

added class public sealed class BoundableStretchControlGraphic : ControlPointsGraphic

ContextMenuControlGraphic

added class public class ContextMenuControlGraphic : ControlGraphic, IContextMenuProvider

ControlGraphic

added class public abstract class ControlGraphic : DecoratorCompositeGraphic, IControlGraphic

ControlPointsGraphic

added class public abstract partial class ControlPointsGraphic : ControlGraphic, IControlPointsGraphic, IMemorable

IAnnotationCalloutLocationStrategy

added interface public interface IAnnotationCalloutLocationStrategy

ICalloutGraphic

added interface public interface ICalloutGraphic : IVectorGraphic

IControlGraphic

added interface public interface IControlGraphic : IDecoratorGraphic, ICursorTokenProvider, IMouseButtonHandler, IExportedActionsProvider

IControlPointsGraphic

added interface public interface IControlPointsGraphic : IControlGraphic

InteractiveBoundableGraphicBuilder

added class public class InteractiveBoundableGraphicBuilder : InteractiveGraphicBuilder

InteractiveCircleGraphicBuilder

added class public class InteractiveCircleGraphicBuilder : InteractiveGraphicBuilder

InteractiveGraphicBuilder

added class public abstract class InteractiveGraphicBuilder : IMouseButtonHandler, ICursorTokenProvider

InteractivePolygonGraphicBuilder

added class public class InteractivePolygonGraphicBuilder : InteractiveGraphicBuilder

InteractivePolylineGraphicBuilder

added class public class InteractivePolylineGraphicBuilder : InteractiveGraphicBuilder

LineSegmentStretchControlGraphic

added class public sealed class LineSegmentStretchControlGraphic : ControlPointsGraphic

MoveControlGraphic

added class public sealed class MoveControlGraphic : ControlGraphic, IMemorable

PolygonControlGraphic

added class public class PolygonControlGraphic : VerticesControlGraphic

StandardStatefulGraphic

added class public class StandardStatefulGraphic : StatefulCompositeGraphic, IStandardStatefulGraphic, ISelectableGraphic, IFocussableGraphic

TextEditControlGraphic

added class public class TextEditControlGraphic : ControlGraphic, ITextGraphic, IMemorable

TextPlaceholderControlGraphic

added class public class TextPlaceholderControlGraphic : ControlPointsGraphic

UserCalloutGraphic

added class public class UserCalloutGraphic : CalloutGraphic

VerticesControlGraphic

added class public class VerticesControlGraphic : ControlPointsGraphic

ImageViewer.KeyObjects

Type

Change

KeyImageDeserializer

added class public class KeyImageDeserializer

KeyImageSerializer

added class public class KeyImageSerializer

KeyObjectContentItem

added class public class KeyObjectContentItem

KeyObjectSelectionCodeSequences

added class public static class KeyObjectSelectionCodeSequences

ImageViewer.Mathematics

Type

Change

FloatComparer

added method public static bool AreEqual(System.Drawing.SizeF size1, System.Drawing.SizeF size2)

Matrix

made internal class public public class Matrix

RectangleUtilities

added method public static System.Drawing.RectangleF ComputeBoundingRectangle(System.Collections.Generic.IEnumerable<System.Drawing.PointF> points)

added method public static System.Drawing.RectangleF ComputeBoundingRectangle(System.Collections.Generic.IEnumerable<System.Drawing.RectangleF> rectangles)

added method public static System.Drawing.Rectangle ConvertToPositiveRectangle(System.Drawing.Rectangle rectangle)

added method public static System.Drawing.Rectangle ConvertToRectangle(System.Drawing.Point centroid, System.Drawing.Size dimensions)

added method public static System.Drawing.RectangleF ConvertToRectangle(System.Drawing.PointF centroid, System.Drawing.SizeF dimensions)

RectF

added constructor public RectF(ClearCanvas.ImageViewer.Mathematics.RectF rectangle)

Size3D

added class public class Size3D : System.IEquatable<ClearCanvas.ImageViewer.Mathematics.Size3D>

Vector

added method public static System.Drawing.PointF CreateUnitVector(System.Drawing.PointF directionVector)

added method public static System.Drawing.PointF CreateUnitVector(System.Drawing.PointF point1, System.Drawing.PointF point2)

Vector3D

added constructor public Vector3D(Vector3D src)

added method public float GetAngleBetween(Vector3D other)

added method public bool IsOrthogonalTo(Vector3D other, float angleToleranceRadians)

added method public bool IsParallelTo(Vector3D other, float angleToleranceRadians)

added field public static readonly Vector3D xUnit

added field public static readonly Vector3D yUnit

added field public static readonly Vector3D zUnit

ImageViewer.PresentationStates

Type

Change

AddGeometricShutterUndoableCommand

added class public class AddGeometricShutterUndoableCommand : UndoableCommand

CircularShutter

added class public class CircularShutter : GeometricShutter

GeometricShutter

added class public abstract class GeometricShutter

GeometricShuttersGraphic

added class public class GeometricShuttersGraphic : CompositeGraphic, IShutterGraphic

IPresentationStateProvider

added interface public interface IPresentationStateProvider

IShutterGraphic

added interface public interface IShutterGraphic : IGraphic

PolygonalShutter

added class public class PolygonalShutter : GeometricShutter

PresentationState

added class public abstract class PresentationState

PresentationStateGraphic

added class public class PresentationStateGraphic : Graphic

RectangularShutter

added class public class RectangularShutter : GeometricShutter

RemoveGeometricShutterUndoableCommand

added class public class RemoveGeometricShutterUndoableCommand : UndoableCommand

ImageViewer.PresentationStates.Dicom

Type

Change

DicomGraphicAnnotation

added class public class DicomGraphicAnnotation : CompositeGraphic

DicomGraphicsDeserializationException

added class public sealed class DicomGraphicsDeserializationException : Exception

DicomGraphicsPlane

added class public partial class DicomGraphicsPlane : CompositeGraphic

DicomSerializableGraphicAnnotationAttribute

added class public class DicomSerializableGraphicAnnotationAttribute : Attribute

DicomSoftcopyPresentationState

added class public abstract class DicomSoftcopyPresentationState : PresentationState

DisplayAreaSerializationOption

added enum public enum DisplayAreaSerializationOption

GraphicAnnotationSerializer

added class public abstract class GraphicAnnotationSerializer

GraphicAnnotationSerializer<T>

added class public abstract class GraphicAnnotationSerializer<T> : GraphicAnnotationSerializer

IDicomGraphicsPlaneLayers

added interface public interface IDicomGraphicsPlaneLayers : IList<string>, IEnumerable<ILayer>

IDicomGraphicsPlaneOverlays

added interface public interface IDicomGraphicsPlaneOverlays : IEnumerable<OverlayPlaneGraphic>

IDicomGraphicsPlaneShutters

added interface public interface IDicomGraphicsPlaneShutters : IList<IShutterGraphic>

IDicomSoftcopyPresentationStateProvider

added interface public interface IDicomSoftcopyPresentationStateProvider : IPresentationStateProvider

ILayer

added interface public interface ILayer

OverlayPlaneGraphic

added class public class OverlayPlaneGraphic : CompositeGraphic, IShutterGraphic

OverlayPlaneSource

added enum public enum OverlayPlaneSource

OverlayPlaneSubtype

added class public class OverlayPlaneSubtype

OverlayPlaneType

added class public sealed class OverlayPlaneType

UserOverlayPlaneGraphic

added class public class UserOverlayPlaneGraphic : OverlayPlaneGraphic

ImageViewer.Rendering

Type

Change

GdiRenderer

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

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

RenderPerformanceReportBroker

field changed to event (corrected)

From:

public static PerformanceReportDelegate PerformanceReport

To:

public static event PerformanceReportDelegate PerformanceReport

ImageViewer.RoiGraphics

Type

Change

EllipticalRoi

added class public class EllipticalRoi : Roi, IRoiAreaProvider, IRoiStatisticsProvider

IRoiAreaProvider

added interface public interface IRoiAreaProvider

IRoiLengthProvider

added interface public interface IRoiLengthProvider

IRoiStatisticsProvider

added interface public interface IRoiStatisticsProvider

LinearRoi

added class public class LinearRoi : Roi, IRoiLengthProvider

PolygonalRoi

added class public class PolygonalRoi : Roi, IRoiAreaProvider, IRoiStatisticsProvider

Roi

added class public abstract class Roi

RoiCalloutGraphic

added class public class RoiCalloutGraphic : CalloutGraphic

RoiGraphic

added class public class RoiGraphic : AnnotationGraphic

RoiTransformPolicy

added class public class RoiTransformPolicy : SpatialTransformValidationPolicy

Units

added enum public enum Units

ImageViewer.StudyManagement

Type

Change

ApplicationEntity

added property public bool IsStreaming { get; }

added property public System.String Name { get; }

DicomMessageSopDataSource

added class public class DicomMessageSopDataSource : StandardSopDataSource, ISopDataSource, ClearCanvas.Dicom.IDicomAttributeProvider, System.IDisposable, IDicomMessageSopDataSource

Frame

added method public IFrameReference CreateTransientReference()

FrameCollection

interface implementation changed

From:

public class FrameCollection : System.Collections.IEnumerable

To:

public class FrameCollection : System.Collections.Generic.IEnumerable<Frame>, System.Collections.IEnumerable

IDicomMessageSopDataSource

added interface public interface IDicomMessageSopDataSource : ISopDataSource, ClearCanvas.Dicom.IDicomAttributeProvider, System.IDisposable

IImageSopProvider

added base interface

From:

public interface IImageSopProvider

To:

public interface IImageSopProvider : ISopProvider

ILocalSopDataSource

added interface public interface ILocalSopDataSource : IDicomMessageSopDataSource, ISopDataSource, ClearCanvas.Dicom.IDicomAttributeProvider, System.IDisposable

ImageSop

added property public System.Collections.Generic.IList<ClearCanvas.Dicom.Iod.VoiDataLut> VoiDataLuts { get; }

ISopDataSource

added interface public interface ISopDataSource : ClearCanvas.Dicom.IDicomAttributeProvider, System.IDisposable

ISopFrameData

added interface public interface ISopFrameData : System.IDisposable

ISopProvider

added interface public interface ISopProvider

ISopReference

added interface public interface ISopReference : ISopProvider, System.IDisposable

LocalSopDataSource

added class public class LocalSopDataSource : DicomMessageSopDataSource, ISopDataSource, ClearCanvas.Dicom.IDicomAttributeProvider, System.IDisposable, IDicomMessageSopDataSource, ILocalSopDataSource

NormalizedPixelSpacing

added event public System.EventHandler Calibrated

OpenStudyHelper

class made non-static

added constructor OpenStudyHelper()

added method public void AddStudy(System.String studyInstanceUid, System.Object server, System.String studyLoaderName)

added method public ClearCanvas.ImageViewer.ImageViewerComponent OpenStudies()

added property public bool LoadPriors { get; set; }

added property public System.String Title { get; set; }

added property public ClearCanvas.ImageViewer.WindowBehaviour WindowBehaviour { get; set; }

PrefetchingStrategy

added class public abstract class PrefetchingStrategy : IPrefetchingStrategy

Sop

added method public static Sop Create(ISopDataSource dataSource)

added method public ISopReference CreateTransientReference()

added method public ClearCanvas.ImageViewer.StudyManagement.ISopDataSource DataSource { get; }

added method public void Dispose()

added property public bool IsStored { get; }

SopDataSource

added class public abstract class SopDataSource : ISopDataSource, ClearCanvas.Dicom.IDicomAttributeProvider, System.IDisposable

SopFrameData

added class public abstract class SopFrameData : ISopFrameData, System.IDisposable

StandardSopDataSource

added class public abstract class StandardSopDataSource : SopDataSource, ISopDataSource, ClearCanvas.Dicom.IDicomAttributeProvider, System.IDisposable

StudyFinder

added class public abstract class StudyFinder : IStudyFinder

StudyFinderNotFoundException

added class public class StudyFinderNotFoundException : System.Exception

StudyItem

added constructor public StudyItem(System.String studyInstanceUid, System.Object server, System.String studyLoaderName)

added property public System.String InstanceAvailability { get; set; }

added property public System.String StudyTime { get; set; }

added class public abstract class StudyLoader : IStudyLoader

added class public class StudyLoaderNotFoundException : System.Exception

StudyTree

added method public void AddSop(StudyManagement.Sop sop)