Navigation:  API Change History > 1.3 >

Non-Breaking Changes

Previous pageReturn to chapter overviewNext page

Common.Actions

Type

Change

ActionSet<T>

Made class public public class ActionSet<T> : IActionSet<T>

Common.Statistics

Type

Change

RateStatistics

Added constructor public RateStatistics(System.String name, System.String unit);

Added property public double Value { get; set; }

Added property public long ElapsedTicks { get; }

RateType

Added enumeration value RateType.CUSTOM;

StatisticsLogger

Added static method public static void Log(LogLevel level, bool recursive, StatisticsSet statistics);

TimeSpanFormatter

Added static method public static System.String Format(System.TimeSpan duration, bool roundUp);

TimeSpanStatistics

Added property public System.TimeSpan Value { get; set; }

Common.Utilities

Type

Change

CollectionUtils

Added static method public static System.Collections.Generic.List<TOutput> Cast(System.Collections.IEnumerable target);

Added static method public static System.Collections.ArrayList Concat(ICollection[] targets);

Added static method public static System.Collections.Generic.List<TItem> Concat(IEnumerable<TItem>[] targets);

ObjectWalker

Added constructor public ObjectWalker (System.Predicate<System.Reflection.MemberInfo> memberFilter);

ObservableList<TItem>

Added property public bool EnableEvents { get; set; }

SizeUnits

Added enumeration public enum SizeUnits

SystemResources

Added class public static class SystemResources

ThreadPoolBase

Added property public System.String ThreadPoolName { get; set; }

Desktop

Type

Change

CompositeUndoableCommand

Added class public class CompositeUndoableCommand : UndoableCommand

ContainerPage

Added property public bool LazyStart { get; set; }

DesktopWindow

Added method public FileDialogResult ShowOpenFileDialogBox(FileDialogCreationArgs args);

Added method public FileDialogResult ShowSaveFileDialogBox(FileDialogCreationArgs args);

DragDropOption

Added enumeration public enum DragDropOption

FileDialogCreationArgs

Added class public class FileDialogCreationArgs

FileDialogResult

Added class public class FileDialogResult

FileExtensionFilter

Added class public class FileExtensionFilter

IDragDropObject

Added interface public interface IDragDropObject

IScreenInfoProvider

Added interface public interface IScreenInfoProvider

IUndoableOperation<T>

Added interface public interface IUndoableOperation<T>

MemorableUndoableCommand

Added class public class MemorableUndoableCommand : UndoableCommand

Note: this class replaces the memento functionality previously in the base UndoableCommand class, which is now abstract.

Path

Added constructor public Path(System.String pathString);

Added method public Path Append(ClearCanvas.Desktop.Path other);

Added field public Path Empty;

Added method public Path GetCommonPath(Path other);

Added method public bool StartsWith(ClearCanvas.Desktop.Path other);

Screen

Added class public abstract class Screen : System.IEquatable<Screen>

ScreenInfoProviderExtensionPoint

Added class public sealed class ScreenInfoProviderExtensionPoint : ClearCanvas.Common.ExtensionPoint<IScreenInfoProvider>

UndoableOperationApplicator<T>

Added class public class UndoableOperationApplicator<T> : IMemorable

Desktop.Actions

Type

Change

ActionModelNode

Added method protected abstract ActionModelNode CloneNode(PathSegment pathSegment);

Added method protected void Insert(Path path, int pathDepth, System.Converter<PathSegment, ActionModelNode> leafNodeProvider);

ActionModelRoot

Added method protected abstract ActionModelNode CloneNode(PathSegment pathSegment);

Added method public void InsertSeparator(Path separatorPath);

ActionNode

Added class public class ActionNode : ActionModelNode

ExportActionModelTool

Added class public class ExportActionModelTool : ClearCanvas.Desktop.Tools.Tool<IDesktopToolContext>

Note: this class only exists in Debug builds.

SeparatorNode

Added class public class SeparatorNode : ActionModelNode

Desktop.Tables

Type

Change

TableColumn<TItem, TColumn>

Added method public abstract void ClickLink(System.Object item);

Added property public bool HasClickableLink { get; }

Added delegate public delegate void SetColumnClickLinkDelegate<TObject>(TObject obj);

Added property public SetColumnClickLinkDelegate<TItem> ClickLinkDelegate { get; set; }

TableColumnBase<TItem>

Added method public abstract void ClickLink(System.Object item);

Added property public bool HasClickableLink { get; }

Desktop.Trees

Type

Change

SetterDelegate<T, TValue>

Added delegate public delegate void SetterDelegate<T, TValue>(T item, TValue value);

TreeItemBinding<TItem>

Added method public virtual bool GetExpanded(System.Object item);

Added property public System.Converter<TItem, bool> IsExpandedGetter { get; set; }

Added property public SetterDelegate<TItem, bool> IsExpandedSetter { get; set; }

Added method public virtual void SetExpanded(System.Object item, bool expanded);

TreeItemBindingBase

Added method public virtual bool GetExpanded(System.Object item);

Added method public virtual void SetExpanded(System.Object item, bool expanded);

ImageViewer

Type

Change

DrawableUndoableCommand

Changed constructor

From:

protected DrawableUndoableCommand(IDrawable drawable);

To:

public DrawableUndoableCommand(IDrawable drawable);

IImageOperation

Added base interface

From:

public interface IImageOperation;

To:

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

Note: this can be a breaking change when implementing the interface explicitly; otherwise, it is non-breaking as the method signatures have not changed.

ImageOperation

Changed interface

From:

public abstract class ImageOperation : IImageOperation

To:

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

ImageViewerComponent

Added method public void LoadStudy(LoadStudyArgs loadStudyArgs);

LayoutManager

Added class public class LayoutManager : ILayoutManager, System.IDisposable

LoadStudyArgs

Added class public class LoadStudyArgs

PhysicalWorkspace

Added property public System.Drawing.Rectangle ScreenRectangle { get; set; }

Added event public System.EventHandler ScreenRectangleChanged;

ImageViewer.BaseTools

Type

Change

DefaultMouseToolButtonAttribute

Added class public class DefaultMouseToolButtonAttribute : System.Attribute

ModifiedMouseToolButtonAttribute

Changed base class

From:

public sealed class ModifiedMouseToolButtonAttribute : System.Attribute

To:

public sealed class ModifiedMouseToolButtonAttribute : DefaultMouseToolButtonAttribute

MouseImageViewerTool

Added property public InputManagement.MouseButtonShortcut DefaultMouseButtonShortcut { get; set; }

Added event public System.EventHandler DefaultMouseButtonShortcutChanged;

ImageViewer.Graphics

Type

Change

InsertGraphicUndoableCommand

Added class public class InsertGraphicUndoableCommand : ClearCanvas.Desktop.UndoableCommand

RemoveGraphicUndoableCommand

Added class public class RemoveGraphicUndoableCommand : ClearCanvas.Desktop.UndoableCommand

ImageViewer.Mathematics

Type

Change

RectangleUtilities

Added method public static System.Drawing.RectangleF CalculateNormalizedSubRectangle(System.Drawing.Rectangle parentRectangle, System.Drawing.Rectangle subRectangle);

ImageViewer.StudyManagement

Type

Change

ApplicationEntity

Added class public class ApplicationEntity

Frame

Changed class

From:

public abstract class Frame : System.IDisposable

To:

public class Frame : System.IDisposable

Changed method

From:

protected abstract ClearCanvas.ImageViewer.StudyManagement.Frame CreateFrame(int index);

To:

protected virtual ClearCanvas.ImageViewer.StudyManagement.Frame CreateFrame(int index);

Added method protected virtual byte[] CreateNormalizedPixelData();

Added property public System.String SeriesInstanceUID { get; }

Added property public System.String SopInstanceUID { get; }

Added property public System.String StudyInstanceUID { get; }

ImageSop

Note: ImageSop inherits from Sop, so all API changes for that class are also applicable here.

Added property public System.String ImageLaterality { get; }

Added property public System.String ViewPosition { get; }

IPrefetchingStrategy

Added interface public interface IPrefetchingStrategy

LocalImageSop

Note: LocalImageSop inherits from ImageSop and Sop, so all API changes for those classes are also applicable here.

OpenStudyArgs

Added class public class OpenStudyArgs

OpenStudyHelper

Added method public static void OpenStudies(OpenStudyArgs openStudyArgs);

Sop

Added method protected virtual void EnsureLoaded();

Added indexer public ClearCanvas.Dicom.DicomAttribute this[ClearCanvas.Dicom.DicomTag tag] { get; }

Added indexer public ClearCanvas.Dicom.DicomAttribute this[uint tag] { get; }

Changed method

From:

public abstract void GetMultiValuedTagRaw(uint tag, out System.String value, out bool tagExists);

To:

public virtual void GetMultiValuedTagRaw(uint tag, out System.String value, out bool tagExists);

Changed method

From:

public abstract void GetTag(uint tag, out byte[] value, out bool tagExists);

To:

public virtual void GetTag(uint tag, out byte[] value, out bool tagExists);

Changed method

From:

public abstract void GetTag(uint tag, out double value, out bool tagExists);

To:

public virtual void GetTag(uint tag, out double value, out bool tagExists);

Changed method

From:

public abstract void GetTag(uint tag, out double value, uint position, out bool tagExists);

To:

public virtual void GetTag(uint tag, out double value, uint position, out bool tagExists);

Changed method

From:

public abstract void GetTag(uint tag, out int value, out bool tagExists);

To:

public virtual void GetTag(uint tag, out int value, out bool tagExists);

Changed method

From:

public abstract void GetTag(uint tag, out int value, uint position, out bool tagExists);

To:

public virtual void GetTag(uint tag, out int value, uint position, out bool tagExists);

Changed method

From:

public abstract void GetTag(uint tag, out System.String value, out bool tagExists);

To:

public virtual void GetTag(uint tag, out System.String value, out bool tagExists);

Changed method

From:

public abstract void GetTag(uint tag, out System.String value, uint position, out bool tagExists);

To:

public virtual void GetTag(uint tag, out System.String value, uint position, out bool tagExists);

Changed method

From:

public abstract void GetTag(uint tag, out ushort value, out bool tagExists);

To:

public virtual void GetTag(uint tag, out ushort value, out bool tagExists);

Changed method

From:

public abstract void GetTag(uint tag, out ushort value, uint position, out bool tagExists);

To:

public virtual void GetTag(uint tag, out ushort value, uint position, out bool tagExists);

StudyLoaderArgs

Added class public class StudyLoaderArgs

VisibleDisplaySetPrefetchingStrategy

Added class public class VisibleDisplaySetPrefetchingStrategy : IPrefetchingStrategy