# aaBaseEditorForm Class

Namespace: `ArchestrA.Toolkit`

aaBaseEditorForm is an User Control and it is the base class of the object Editor project.

aaBaseEditorForm provides functionality like adding custom tabs to the object editor, Attribute data access, Dictionary access, and ArchestrA logger access.

**Syntax**

```csharp
public class aaBaseEditorForm : UserControl, IaaEditorForm, IaaEditorFormInternal, IaaControl
```

## aaBaseEditorForm Methods

### GetData Method (string)

Provides a method to access attribute value from the Editor project.

**Syntax**

```csharp
public object GetData(string sAttribute);
```

**Parameters**

**`sAttribute`**

Attribute external name.

**Returns**

object

User should typecast the return value to the corresponding datatype. Returns null if the attribute is not found.

### GetData Method (string, string)

Provides a method to access attribute information from the Editor project.

**Syntax**

```csharp
public object GetData(string sAttribute, string sProperty);
```

**Parameters**

**`sAttribute`**

Attribute external name.

**`sProperty`**

Property to access:

"Value" to access the attribute's Value.

"Lock" to access the attribute's Lock status.

"SecurityClassification" to access the attribute's SecurityClassification.

**Returns**

User should typecast the return value to the corresponding datatype. Returns null if the attribute is not found.

### GetLocalizedText Method (string, string)

Provides a method to get a string from the dictionary.

**Syntax**

```csharp
public object GetLocalizedText(string sPhraseID, string sDictionary);
```

**Parameters**

**`sPhraseID`**

PhraseID that exists in the dictionary.

**`sDictionary`**

Dictionary file path. The 'this.Dictionary' property of the Editor project contains the full path of the object dictionary file and should be used.

**Returns**

object

### SetData Method (string, object)

Provides a method to set the value of an Attribute by name.

**Syntax**

```csharp
public void SetData(string sAttribute, object sVal);
```

**Parameters**

**`sAttribute`**

Attribute external name.

**`sVal`**

Value to set.

### SetData Method (string, string, object)

Provides a method to set the value of a property of an Attribute by attribute name.

**Syntax**

```csharp
public void SetData(string sAttribute, string sProperty, object sVal);
```

**Parameters**

**`sAttribute`**

Attribute external name.

**`sProperty`**

Property type:

"Value" in case of Value property.

"Lock" in case of Lock property.

"SecurityClassification" in case of SecurityClassification property.

**`sVal`**

Value to set.
