Table of Contents

Class GuiTaskHandlerBase

Namespace
NanoByte.Common.Tasks
Assembly
NanoByte.Common.WinForms.dll

Common base class for WinForms ITaskHandler implementations.

[MustDisposeResource]
public abstract class GuiTaskHandlerBase : TaskHandlerBase, ITaskHandler
Inheritance
GuiTaskHandlerBase
Implements
Derived
Inherited Members
Extension Methods

Remarks

This class is thread-safe.

Fields

LogRtf

Aggregated Log entries in rich-text form.

protected readonly RtfBuilder LogRtf

Field Value

RtfBuilder

Properties

CredentialProvider

Used to ask the user or a keyring for NetworkCredentials for specific Uris; can be null.

protected override ICredentialProvider CredentialProvider { get; }

Property Value

ICredentialProvider

IsInteractive

Indicates whether the user can provide input.

protected override bool IsInteractive { get; }

Property Value

bool

Methods

AskInteractive(string, bool)

Asks the user a Yes/No/Cancel question.

protected override bool AskInteractive(string question, bool defaultAnswer)

Parameters

question string

The question and comprehensive information to help the user make an informed decision.

defaultAnswer bool

The default answer to preselect.

Returns

bool

true if the user answered with 'Yes'; false if the user answered with 'No'.

Exceptions

OperationCanceledException

Throw if the user answered with 'Cancel'.

DisplayLogEntry(LogSeverity, string)

Aggregates Log entries in LogRtf for later display.

protected override void DisplayLogEntry(LogSeverity severity, string message)

Parameters

severity LogSeverity
message string

Error(Exception)

Displays an error message to the user.

public override void Error(Exception exception)

Parameters

exception Exception

The exception representing the error that occurred.

GetLogColor(LogSeverity)

Determines the color to use for a log entry based on the LogSeverity.

protected static RtfColor GetLogColor(LogSeverity severity)

Parameters

severity LogSeverity

Returns

RtfColor

Output(string, string)

Displays multi-line text to the user.

public override void Output(string title, string message)

Parameters

title string

A title for the message.

message string

The string to display. Trailing linebreaks are appropriately handled or ignored.

Remarks

Implementations may close the UI as a side effect. Therefore this should be your last call on the handler.

Output<T>(string, NamedCollection<T>)

Displays tree-like data to the user.

public override void Output<T>(string title, NamedCollection<T> data) where T : INamed

Parameters

title string

A title for the data.INamed

data NamedCollection<T>

The data to display.

Type Parameters

T

Remarks

Implementations may close the UI as a side effect. Therefore this should be your last call on the handler.

Output<T>(string, IEnumerable<T>)

Displays tabular data to the user.

public override void Output<T>(string title, IEnumerable<T> data)

Parameters

title string

A title for the data.

data IEnumerable<T>

The data to display.

Type Parameters

T

Remarks

Implementations may close the UI as a side effect. Therefore this should be your last call on the handler.