
# IModalAction interface

*No description yet.*

```csharp
public interface IModalAction
```

**Namespace:** DXP · **Assembly:** Altium.SDK.Interfaces

**Derived:** [IFolderModalAction](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IFolderModalAction.md)

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [ModalActionResult](#modalactionresult) | [TModalActionResult](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/TModalActionResult.md) | get; set |  |
| [OnFolderSelectionChange](#onfolderselectionchange) | [IFolderSelectionHandler](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IFolderSelectionHandler.md) | get; set |  |
| [Vault](#vault) | `string` | set |  |

### ModalActionResult

*No description yet.*

```csharp
TModalActionResult GetModalActionResult();
void SetModalActionResult(TModalActionResult argValue);
```

**Type:** [TModalActionResult](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/TModalActionResult.md) · **Access:** read/write

The accessors are extension methods of `IModalActionHelper` (`using DXP;`).

### OnFolderSelectionChange

*No description yet.*

```csharp
IFolderSelectionHandler GetOnFolderSelectionChange();
void SetOnFolderSelectionChange(IFolderSelectionHandler argValue);
```

**Type:** [IFolderSelectionHandler](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IFolderSelectionHandler.md) · **Access:** read/write

The accessors are extension methods of `IModalActionHelper` (`using DXP;`).

### Vault

*No description yet.*

```csharp
void SetState_Vault(string argVaultGUID, string argFolderToFocusGUID, string argItemGUID, string argRevisionGUID);
```

**Type:** `string` · **Access:** write-only · **Index:** `argVaultGUID` (`string`), `argFolderToFocusGUID` (`string`), `argItemGUID` (`string`)

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [CanExecute](#canexecute) | `bool` |  |
| [Execute](#execute) | `bool` |  |
| [GetCurrentFolder](#getcurrentfolder) | [IULB_Folder](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IULB_Folder.md) |  |
| [GetCurrentFolderGUID](#getcurrentfolderguid) | `string` |  |
| [GetCurrentItemGUID](#getcurrentitemguid) | `string` |  |
| [GetCurrentItemGUIDs](#getcurrentitemguids) | `void` |  |
| [GetCurrentItemRevisionGUID](#getcurrentitemrevisionguid) | `string` |  |
| [GetCurrentItemRevisionGUIDs](#getcurrentitemrevisionguids) | `void` |  |
| [GetCurrentItemRevisionHRID](#getcurrentitemrevisionhrid) | `string` |  |
| [GetCurrentVaultGUID](#getcurrentvaultguid) | `string` |  |
| [PerformAction](#performaction) | `bool` |  |
| [ValidateInput](#validateinput) | `bool` |  |

### CanExecute

*No description yet.*

```csharp
bool CanExecute();
```

**Returns:** `bool`

### Execute

*No description yet.*

```csharp
bool Execute();
```

**Returns:** `bool`

### GetCurrentFolder

*No description yet.*

```csharp
IULB_Folder GetCurrentFolder();
```

**Returns:** [IULB_Folder](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IULB_Folder.md)

Extension method of `IModalActionHelper` (`using DXP;`).

### GetCurrentFolderGUID

*No description yet.*

```csharp
string GetCurrentFolderGUID();
```

**Returns:** `string`

### GetCurrentItemGUID

*No description yet.*

```csharp
string GetCurrentItemGUID();
```

**Returns:** `string`

### GetCurrentItemGUIDs

*No description yet.*

```csharp
void GetCurrentItemGUIDs(IStrings argItemGUIDs);
void GetCurrentItemGUIDs(object argItemGUIDs);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argItemGUIDs` | [IStrings](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IStrings.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IModalActionHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### GetCurrentItemRevisionGUID

*No description yet.*

```csharp
string GetCurrentItemRevisionGUID();
```

**Returns:** `string`

### GetCurrentItemRevisionGUIDs

*No description yet.*

```csharp
void GetCurrentItemRevisionGUIDs(IStrings argItemRevisionGUIDs);
void GetCurrentItemRevisionGUIDs(object argItemRevisionGUIDs);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argItemRevisionGUIDs` | [IStrings](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IStrings.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IModalActionHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### GetCurrentItemRevisionHRID

*No description yet.*

```csharp
string GetCurrentItemRevisionHRID();
```

**Returns:** `string`

### GetCurrentVaultGUID

*No description yet.*

```csharp
string GetCurrentVaultGUID();
```

**Returns:** `string`

### PerformAction

*No description yet.*

```csharp
bool PerformAction();
```

**Returns:** `bool`

### ValidateInput

*No description yet.*

```csharp
bool ValidateInput();
```

**Returns:** `bool`

## Returned by

[IVaultExplorerForm.ModalAction](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVaultExplorerForm.md#modalaction)
