Table of Contents

Class FileViewerBase

Namespace
Acuit.Pinpoint.Workstation.ReferenceContent
Assembly
Acuit.Pinpoint.Workstation.Interfaces.dll

A base class to make creating file viewers more convenient.

public abstract class FileViewerBase : IFileViewer
Inheritance
FileViewerBase
Implements
Inherited Members

Constructors

FileViewerBase(params string[])

Initializes a new instance of the FileViewerBase class.

protected FileViewerBase(params string[] supportedExtensions)

Parameters

supportedExtensions string[]

The file extensions that this viewer can handle, including periods (e.g., ".htm", ".html")

Exceptions

ArgumentNullException

supportedExtensions is null.

Properties

SupportedFileExtensions

Gets the collection of file extensions (including the period) that this viewer can handle (e.g., ".htm", ".html").

public IEnumerable<string> SupportedFileExtensions { get; }

Property Value

IEnumerable<string>

Methods

CreateViewerAsync(string, IEnumerable<KeyValuePair<string, string>>)

Creates a viewer for a file.

public abstract Task<object> CreateViewerAsync(string fileName, IEnumerable<KeyValuePair<string, string>> parameters)

Parameters

fileName string

The file name.

parameters IEnumerable<KeyValuePair<string, string>>

Viewer-specific parameters.

Returns

Task<object>

A task that represents the asynchronous operation. The value of its Result property contains the file viewer content, which will be displayed via a ContentControl (i.e., its Content property will be set to this value).

Remarks

This will be called from the UI thread. Any WPF elements that are created for the viewer must be created from the UI thread.

If this throws an exception (either synchronously or asynchronously), the exception message will be shown as an error message where the content would be displayed.

Exceptions

Exception

The viewer could not be created due to any error, such as a corrupt file.

TryGetParameter(IEnumerable<KeyValuePair<string, string>>, string, out bool)

Tries to get a bool parameter value.

protected static bool TryGetParameter(IEnumerable<KeyValuePair<string, string>> parameters, string name, out bool value)

Parameters

parameters IEnumerable<KeyValuePair<string, string>>

The parameters (i.e., which were passed to CreateViewerAsync(string, IEnumerable<KeyValuePair<string, string>>)).

name string

The name of the parameter to retrieve, case-insensitive.

value bool

The resulting value.

Returns

bool

true if the parameter was found and could be parsed as a bool; otherwise false.

Remarks

The parameters are enumerated until the first one matching name (case-insensitive) is found. The value is then attempted to be parsed as a bool, ignoring leading and trailing space. True, Yes, 1 (case-insensitive) are parsed as true. False, No, 0 (case-insensitive) are parsed as false. Any other value will fail to be parsed as a bool.

TryGetParameter(IEnumerable<KeyValuePair<string, string>>, string, out double)

Tries to get a double parameter value.

protected static bool TryGetParameter(IEnumerable<KeyValuePair<string, string>> parameters, string name, out double value)

Parameters

parameters IEnumerable<KeyValuePair<string, string>>

The parameters (i.e., which were passed to CreateViewerAsync(string, IEnumerable<KeyValuePair<string, string>>)).

name string

The name of the parameter to retrieve, case-insensitive.

value double

The resulting value.

Returns

bool

true if the parameter was found and could be parsed as a double; otherwise false.

Remarks

The parameters are enumerated until the first one matching name (case-insensitive) is found. The value is then attempted to be parsed as a double, ignoring leading and trailing space.

TryGetParameter(IEnumerable<KeyValuePair<string, string>>, string, out int)

Tries to get an int parameter value.

protected static bool TryGetParameter(IEnumerable<KeyValuePair<string, string>> parameters, string name, out int value)

Parameters

parameters IEnumerable<KeyValuePair<string, string>>

The parameters (i.e., which were passed to CreateViewerAsync(string, IEnumerable<KeyValuePair<string, string>>)).

name string

The name of the parameter to retrieve, case-insensitive.

value int

The resulting value.

Returns

bool

true if the parameter was found and could be parsed as an int; otherwise false.

Remarks

The parameters are enumerated until the first one matching name (case-insensitive) is found. The value is then attempted to be parsed as an int, ignoring leading and trailing space.

TryGetParameter(IEnumerable<KeyValuePair<string, string>>, string, out string)

Tries to get a string parameter value.

protected static bool TryGetParameter(IEnumerable<KeyValuePair<string, string>> parameters, string name, out string value)

Parameters

parameters IEnumerable<KeyValuePair<string, string>>

The parameters (i.e., which were passed to CreateViewerAsync(string, IEnumerable<KeyValuePair<string, string>>)).

name string

The name of the parameter to retrieve, case-insensitive.

value string

The resulting value.

Returns

bool

true if the parameter was found; otherwise false.

Remarks

The parameters are enumerated until the first one matching name (case-insensitive) is found.