Class AlterFileProperty
A view command that opens a file and returns the selected file as a byte array. For example:
byte[] myFile = null;
var cmd = new AlterFileProperty(View.Displayer,
(dll) => myFile = dll,
() => true,
new LemonEdge.Core.Client.CommandDecriptor("Change Dll", Images.ImageType.AddIn, "Select a new dll for this add-in."),
new (string, string)[] { (".net Dlls", "*.dll"), ("All Files", "*.*") });
Inheritance
Implements
Inherited Members
Namespace: LemonEdge.Client.Core.Commands.ViewCommands
Assembly: LemonEdge.ClientCore.dll
Syntax
public class AlterFileProperty : ViewCommand, IHasChildren<EPCommandWithDescriptor>, IHasChildren, IDisposable, IEPCommandWithDescriptor, IEPCommand, ICommand, ICommandDescriptor
Constructors
AlterFileProperty(IRootController, IModelLayoutDisplayer, Func<(byte[] Data, string Name), Task>, Func<bool>, ICommandDescriptor, Func<(string FileTypeName, string fileType)[]>)
Creates a new alter file command
Declaration
public AlterFileProperty(IRootController root, IModelLayoutDisplayer owner, Func<(byte[] Data, string Name), Task> fileSelected, Func<bool> canExecute, ICommandDescriptor descriptor, Func<(string FileTypeName, string fileType)[]> getFileTypes)
Parameters
Type | Name | Description |
---|---|---|
IRootController | root | The root controller, for service access. |
IModelLayoutDisplayer | owner | The owning host context for this command |
Func<(byte[] Data, string Name), Task> | fileSelected | The method that is called when a file has been selected by the user from invoking this command |
Func<bool> | canExecute | A function that returns true if a file is valid to be selected or not |
ICommandDescriptor | descriptor | A descriptor to use for the title, icon, etc and other attributes of this command |
Func<(string FileTypeName, string fileType)[]> | getFileTypes |
AlterFileProperty(IRootController, IModelLayoutDisplayer, Func<(byte[] Data, string Name), Task>, Func<bool>, ICommandDescriptor, Func<(string FileTypeName, string fileType)[]>, bool, KeyboardKey, KeyboardModifierKeys)
Creates a new alter file command
Declaration
public AlterFileProperty(IRootController root, IModelLayoutDisplayer owner, Func<(byte[] Data, string Name), Task> fileSelected, Func<bool> canExecute, ICommandDescriptor descriptor, Func<(string FileTypeName, string fileType)[]> getFileTypes, bool isQuickAccessCommand, KeyboardKey key, KeyboardModifierKeys modifier)
Parameters
Type | Name | Description |
---|---|---|
IRootController | root | The root controller, for service access. |
IModelLayoutDisplayer | owner | The owning host context for this command |
Func<(byte[] Data, string Name), Task> | fileSelected | The method that is called when a file has been selected by the user from invoking this command |
Func<bool> | canExecute | A function that returns true if a file is valid to be selected or not |
ICommandDescriptor | descriptor | A descriptor to use for the title, icon, etc and other attributes of this command |
Func<(string FileTypeName, string fileType)[]> | getFileTypes | |
bool | isQuickAccessCommand | |
KeyboardKey | key | |
KeyboardModifierKeys | modifier |
Properties
Description
A user friendly description of this command
Declaration
public override string Description { get; }
Property Value
Type | Description |
---|---|
string |
Overrides
IconID
Declaration
public override Guid IconID { get; }
Property Value
Type | Description |
---|---|
Guid |
Overrides
IsQuickAccessCommand
Indicates this command should also be available in a quick access manner if the ui permits it to be highlighted and seperated for quick access among a group of other commands
For instance in the desktop application view commands are accessible from a drop down menu by default, but if this is true they are also directly accessible from the view itself
Declaration
public override bool IsQuickAccessCommand { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
Key
Indicates the command key to use for executing this from a keyboard command
Declaration
public override KeyboardKey Key { get; }
Property Value
Type | Description |
---|---|
KeyboardKey |
Overrides
ModifierKeys
Indicates the modifier keys to be used with Key when executing this command from the keyboard
Declaration
public override KeyboardModifierKeys ModifierKeys { get; }
Property Value
Type | Description |
---|---|
KeyboardModifierKeys |
Overrides
OverlayIconID
On some clients another image can be overlayed on the bottom right of the main icon (for indicating add, remove, etc)
This optional overlay image can be specified here, either a ImageType or ImageID
Declaration
public override Guid? OverlayIconID { get; }
Property Value
Type | Description |
---|---|
Guid? |
Overrides
Title
The title of this command
Declaration
public override string Title { get; }
Property Value
Type | Description |
---|---|
string |
Overrides
ToolTip
A user friendly tool tip for this command functionality, by default the Description
Declaration
public override string ToolTip { get; }
Property Value
Type | Description |
---|---|
string |
Overrides
Methods
InternalCanExecute(object)
Returns if this command can be executed or not
Declaration
public override bool InternalCanExecute(object parameter)
Parameters
Type | Name | Description |
---|---|---|
object | parameter | The command parameter |
Returns
Type | Description |
---|---|
bool | True if this command can be executed |
Overrides
InternalExecuteAsync(object)
Displays a prompt to the user for a file to be selected then reads and returns the file as a byte array to the owner of this command
Declaration
public override Task InternalExecuteAsync(object parameter)
Parameters
Type | Name | Description |
---|---|---|
object | parameter | The command parameter |
Returns
Type | Description |
---|---|
Task | A task indicating the completion of this operation |