# GC.Spread.Sheets.CellTypes.CheckBox

## Content

# Class: CheckBox

[Sheets](../modules/GC.Spread.Sheets).[CellTypes](../modules/GC.Spread.Sheets.CellTypes).CheckBox

## Hierarchy

- [`Base`](GC.Spread.Sheets.CellTypes.Base)

  ↳ **`CheckBox`**

## Table of contents

### Constructors

- [constructor](GC.Spread.Sheets.CellTypes.CheckBox#constructor)

### Properties

- [typeName](GC.Spread.Sheets.CellTypes.CheckBox#typename)

### Methods

- [activateEditor](GC.Spread.Sheets.CellTypes.CheckBox#activateeditor)
- [boxSize](GC.Spread.Sheets.CellTypes.CheckBox#boxsize)
- [caption](GC.Spread.Sheets.CellTypes.CheckBox#caption)
- [createEditorElement](GC.Spread.Sheets.CellTypes.CheckBox#createeditorelement)
- [deactivateEditor](GC.Spread.Sheets.CellTypes.CheckBox#deactivateeditor)
- [focus](GC.Spread.Sheets.CellTypes.CheckBox#focus)
- [format](GC.Spread.Sheets.CellTypes.CheckBox#format)
- [fromJSON](GC.Spread.Sheets.CellTypes.CheckBox#fromjson)
- [getAutoFitHeight](GC.Spread.Sheets.CellTypes.CheckBox#getautofitheight)
- [getAutoFitWidth](GC.Spread.Sheets.CellTypes.CheckBox#getautofitwidth)
- [getEditorValue](GC.Spread.Sheets.CellTypes.CheckBox#geteditorvalue)
- [getHitInfo](GC.Spread.Sheets.CellTypes.CheckBox#gethitinfo)
- [hitTestMode](GC.Spread.Sheets.CellTypes.CheckBox#hittestmode)
- [isEditingValueChanged](GC.Spread.Sheets.CellTypes.CheckBox#iseditingvaluechanged)
- [isImeAware](GC.Spread.Sheets.CellTypes.CheckBox#isimeaware)
- [isReservedKey](GC.Spread.Sheets.CellTypes.CheckBox#isreservedkey)
- [isThreeState](GC.Spread.Sheets.CellTypes.CheckBox#isthreestate)
- [mode](GC.Spread.Sheets.CellTypes.CheckBox#mode)
- [paint](GC.Spread.Sheets.CellTypes.CheckBox#paint)
- [paintContent](GC.Spread.Sheets.CellTypes.CheckBox#paintcontent)
- [parse](GC.Spread.Sheets.CellTypes.CheckBox#parse)
- [processKeyDown](GC.Spread.Sheets.CellTypes.CheckBox#processkeydown)
- [processKeyUp](GC.Spread.Sheets.CellTypes.CheckBox#processkeyup)
- [processMouseDown](GC.Spread.Sheets.CellTypes.CheckBox#processmousedown)
- [processMouseEnter](GC.Spread.Sheets.CellTypes.CheckBox#processmouseenter)
- [processMouseLeave](GC.Spread.Sheets.CellTypes.CheckBox#processmouseleave)
- [processMouseMove](GC.Spread.Sheets.CellTypes.CheckBox#processmousemove)
- [processMouseUp](GC.Spread.Sheets.CellTypes.CheckBox#processmouseup)
- [selectAll](GC.Spread.Sheets.CellTypes.CheckBox#selectall)
- [setEditorValue](GC.Spread.Sheets.CellTypes.CheckBox#seteditorvalue)
- [textAlign](GC.Spread.Sheets.CellTypes.CheckBox#textalign)
- [textEditable](GC.Spread.Sheets.CellTypes.CheckBox#texteditable)
- [textFalse](GC.Spread.Sheets.CellTypes.CheckBox#textfalse)
- [textIndeterminate](GC.Spread.Sheets.CellTypes.CheckBox#textindeterminate)
- [textTrue](GC.Spread.Sheets.CellTypes.CheckBox#texttrue)
- [toJSON](GC.Spread.Sheets.CellTypes.CheckBox#tojson)
- [toggleOptions](GC.Spread.Sheets.CellTypes.CheckBox#toggleoptions)
- [updateEditor](GC.Spread.Sheets.CellTypes.CheckBox#updateeditor)
- [updateEditorContainer](GC.Spread.Sheets.CellTypes.CheckBox#updateeditorcontainer)
- [updateImeMode](GC.Spread.Sheets.CellTypes.CheckBox#updateimemode)

## Constructors

### <a id="constructor" name="constructor"></a> constructor

• **new CheckBox**()

Represents a check box cell.

**`example`**
```javascript
//This example creates a check box cell.
var cellType1 = new GC.Spread.Sheets.CellTypes.CheckBox();
cellType1.caption("caption");
cellType1.textTrue("true");
cellType1.textFalse("false");
cellType1.textIndeterminate("indeterminate");
cellType1.textAlign(GC.Spread.Sheets.CellTypes.CheckBoxTextAlign.bottom);
cellType1.isThreeState(true);
cellType1.boxSize(20);
activeSheet.getCell(1, 1).cellType(cellType1);
```

#### Overrides

[Base](GC.Spread.Sheets.CellTypes.Base).[constructor](GC.Spread.Sheets.CellTypes.Base#constructor)

## Properties

### <a id="typename" name="typename"></a> typeName

• **typeName**: `string`

Represents the type name string used for supporting serialization.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[typeName](GC.Spread.Sheets.CellTypes.Base#typename)

## Methods

### <a id="activateeditor" name="activateeditor"></a> activateEditor

▸ **activateEditor**(`editorContext`, `cellStyle`, `cellRect`, `context?`): `void`

Activates the editor, including setting properties or attributes for the editor and binding events for the editor.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `cellStyle` | [`Style`](GC.Spread.Sheets.Style) | The cell's actual style. |
| `cellRect` | [`Rect`](GC.Spread.Sheets.Rect) | The cell's layout information. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[activateEditor](GC.Spread.Sheets.CellTypes.Base#activateeditor)

___

### <a id="boxsize" name="boxsize"></a> boxSize

▸ **boxSize**(`value?`): `any`

Gets or sets a value that indicates the check box size

**`example`**
```javascript
// This example creates a check box cell.
var cellType1 = new GC.Spread.Sheets.CellTypes.CheckBox();
cellType1.caption("caption");
cellType1.textTrue("true");
cellType1.textFalse("false");
cellType1.textIndeterminate("indeterminate");
cellType1.textAlign(GC.Spread.Sheets.CellTypes.CheckBoxTextAlign.bottom);
cellType1.isThreeState(true);
cellType1.boxSize(20);
activeSheet.getCell(1, 1).cellType(cellType1);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` \| `number` | The size of check box. this value support number and "auto". |

#### Returns

`any`

If no value is set, returns the size of check box.

___

### <a id="caption" name="caption"></a> caption

▸ **caption**(`value?`): `any`

Gets or sets the caption of the cell type.

**`example`**
```javascript
//This example creates a check box cell.
var cellType1 = new GC.Spread.Sheets.CellTypes.CheckBox();
cellType1.caption("caption");
cellType1.textTrue("true");
cellType1.textFalse("false");
cellType1.textIndeterminate("indeterminate");
cellType1.textAlign(GC.Spread.Sheets.CellTypes.CheckBoxTextAlign.bottom);
cellType1.isThreeState(true);
cellType1.boxSize(20);
activeSheet.getCell(1, 1).cellType(cellType1);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` | The caption of the cell type. |

#### Returns

`any`

If no value is set, returns the caption; otherwise, returns the check box cell type.

___

### <a id="createeditorelement" name="createeditorelement"></a> createEditorElement

▸ **createEditorElement**(`context?`): `HTMLElement`

Creates a DOM element then returns it.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`HTMLElement`

Returns a DOM element.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[createEditorElement](GC.Spread.Sheets.CellTypes.Base#createeditorelement)

___

### <a id="deactivateeditor" name="deactivateeditor"></a> deactivateEditor

▸ **deactivateEditor**(`editorContext`, `context?`): `void`

Deactivates the editor, such as unbinding events for editor.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[deactivateEditor](GC.Spread.Sheets.CellTypes.Base#deactivateeditor)

___

### <a id="focus" name="focus"></a> focus

▸ **focus**(`editorContext`, `context?`): `void`

Focuses the editor DOM element.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[focus](GC.Spread.Sheets.CellTypes.Base#focus)

___

### <a id="format" name="format"></a> format

▸ **format**(`value`, `format`, `formattedData?`, `context?`): `string`

Formats a value with the specified format to a string.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value` | `any` | The object value to format. |
| `format` | `string` \| [`GeneralFormatter`](GC.Spread.Formatter.GeneralFormatter) | The format. |
| `formattedData?` | [`FormattedData`](../interfaces/GC.Spread.Sheets.FormattedData) | the formatted data. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`string`

Returns the formatted string.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[format](GC.Spread.Sheets.CellTypes.Base#format)

___

### <a id="fromjson" name="fromjson"></a> fromJSON

▸ **fromJSON**(`settings`): `void`

Loads the object state from the specified JSON string.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `settings` | `any` | The cell type data from deserialization. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[fromJSON](GC.Spread.Sheets.CellTypes.Base#fromjson)

___

### <a id="getautofitheight" name="getautofitheight"></a> getAutoFitHeight

▸ **getAutoFitHeight**(`value`, `text`, `cellStyle`, `zoomFactor`, `context?`): `number`

Gets a cell's height that can be used to handle the row's automatic fit.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value` | `any` | The cell's value. |
| `text` | `string` | The cell's text. |
| `cellStyle` | [`Style`](GC.Spread.Sheets.Style) | The cell's actual value. |
| `zoomFactor` | `number` | The current sheet's zoom factor. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`number`

Returns the cell's height that can be used to handle the row's automatic fit.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[getAutoFitHeight](GC.Spread.Sheets.CellTypes.Base#getautofitheight)

___

### <a id="getautofitwidth" name="getautofitwidth"></a> getAutoFitWidth

▸ **getAutoFitWidth**(`value`, `text`, `cellStyle`, `zoomFactor`, `context?`): `number`

Gets a cell's width that can be used to handle the column's automatic fit.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value` | `any` | The cell's value. |
| `text` | `string` | The cell's text. |
| `cellStyle` | [`Style`](GC.Spread.Sheets.Style) | The cell's actual value. |
| `zoomFactor` | `number` | The current sheet's zoom factor. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`number`

Returns the cell's width that can be used to handle the column's automatic fit.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[getAutoFitWidth](GC.Spread.Sheets.CellTypes.Base#getautofitwidth)

___

### <a id="geteditorvalue" name="geteditorvalue"></a> getEditorValue

▸ **getEditorValue**(`editorContext`, `context?`): `any`

Gets the editor's value.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`any`

Returns the editor's value.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[getEditorValue](GC.Spread.Sheets.CellTypes.Base#geteditorvalue)

___

### <a id="gethitinfo" name="gethitinfo"></a> getHitInfo

▸ **getHitInfo**(`x`, `y`, `cellStyle`, `cellRect`, `context?`): [`IHitTestCellTypeHitInfo`](../interfaces/GC.Spread.Sheets.IHitTestCellTypeHitInfo)

Gets the cell type's hit information.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `x` | `number` | <i>x</i>-coordinate of pointer's current location relative to the canvas. |
| `y` | `number` | <i>y</i>-coordinate of pointer's current location relative to the canvas. |
| `cellStyle` | [`Style`](GC.Spread.Sheets.Style) | The current cell's actual style. |
| `cellRect` | [`Rect`](GC.Spread.Sheets.Rect) | The current cell's layout information. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

[`IHitTestCellTypeHitInfo`](../interfaces/GC.Spread.Sheets.IHitTestCellTypeHitInfo)

Returns an object that contains the <i>x</i>, <i>y</i>, <i>row</i>, <i>col</i>, <i>cellRect</i>, and <i>sheetArea</i> parameters, and a value to indicate <i>isReservedLocation</i>.
<i>isReservedLocation</i> is `true` if the hit test is in a special area that the cell type needs to handle; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[getHitInfo](GC.Spread.Sheets.CellTypes.Base#gethitinfo)

___

### <a id="hittestmode" name="hittestmode"></a> hitTestMode

▸ **hitTestMode**(`value?`): [`CheckBox`](GC.Spread.Sheets.CellTypes.CheckBox) \| [`CheckBoxHitTestMode`](../modules/GC.Spread.Sheets.CellTypes#checkboxhittestmode)

Gets or sets a value that indicates the hit test mode of the checkbox cell type in checkbox and modern mode.
This controls which area of the cell will respond to mouse interactions (clicks, cursor changes).

**`example`**
```javascript
// This example creates a check box cell with checkbox mode hit testing.
var cellType1 = new GC.Spread.Sheets.CellTypes.CheckBox();
cellType1.textTrue("Yes");
cellType1.textFalse("No");
cellType1.hitTestMode("checkbox"); // Only the checkbox area responds to clicks
activeSheet.getCell(1, 1).cellType(cellType1);
```

**`example`**
```javascript
// This example creates a check box cell with cell mode hit testing (default).
var cellType2 = new GC.Spread.Sheets.CellTypes.CheckBox();
cellType2.textTrue("Checked");
cellType2.textFalse("Unchecked");
cellType2.hitTestMode("cell"); // The entire cell area responds to clicks
activeSheet.getCell(2, 1).cellType(cellType2);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | [`CheckBoxHitTestMode`](../modules/GC.Spread.Sheets.CellTypes#checkboxhittestmode) | The hit test mode. 'cell' means the entire cell area responds to interactions; 'checkbox' means only the checkbox area responds to interactions. |

#### Returns

[`CheckBox`](GC.Spread.Sheets.CellTypes.CheckBox) \| [`CheckBoxHitTestMode`](../modules/GC.Spread.Sheets.CellTypes#checkboxhittestmode)

If no value is set, returns the hit test mode of the checkbox cell type; otherwise, returns the checkbox cell type.

___

### <a id="iseditingvaluechanged" name="iseditingvaluechanged"></a> isEditingValueChanged

▸ **isEditingValueChanged**(`oldValue`, `newValue`, `context?`): `boolean`

Whether the editing value has changed.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `oldValue` | `any` | Old editing value. |
| `newValue` | `any` | New editing value. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`boolean`

`true` if oldValue equals newValue; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[isEditingValueChanged](GC.Spread.Sheets.CellTypes.Base#iseditingvaluechanged)

___

### <a id="isimeaware" name="isimeaware"></a> isImeAware

▸ **isImeAware**(`context?`): `boolean`

Whether this cell type is aware of IME.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`boolean`

`true` if the cell type is aware of IME; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[isImeAware](GC.Spread.Sheets.CellTypes.Base#isimeaware)

___

### <a id="isreservedkey" name="isreservedkey"></a> isReservedKey

▸ **isReservedKey**(`e`, `context?`): `boolean`

Whether the cell type handles the keyboard event itself.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `e` | `KeyboardEvent` | The KeyboardEvent. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`boolean`

Returns `true` if the cell type handles the keyboard event itself; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[isReservedKey](GC.Spread.Sheets.CellTypes.Base#isreservedkey)

___

### <a id="isthreestate" name="isthreestate"></a> isThreeState

▸ **isThreeState**(`value?`): `any`

Gets or sets a value that indicates whether the check box supports three states.

**`example`**
```javascript
//This example creates a check box cell.
var cellType1 = new GC.Spread.Sheets.CellTypes.CheckBox();
cellType1.caption("caption");
cellType1.textTrue("true");
cellType1.textFalse("false");
cellType1.textIndeterminate("indeterminate");
cellType1.textAlign(GC.Spread.Sheets.CellTypes.CheckBoxTextAlign.bottom);
cellType1.isThreeState(true);
cellType1.boxSize(20);
activeSheet.getCell(1, 1).cellType(cellType1);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | Whether the check box supports three states. |

#### Returns

`any`

If no value is set, returns whether the check box supports three states; otherwise, returns the check box cell type.

___

### <a id="mode" name="mode"></a> mode

▸ **mode**(`value?`): `any`

Gets or sets a value that indicates the mode of the checkbox cell type.

**`example`**
```javascript
// This example creates a check box cell with toggle mode.
var cellType1 = new GC.Spread.Sheets.CellTypes.CheckBox();
cellType1.caption("caption");
cellType1.textTrue("true");
cellType1.textFalse("false");
cellType1.textAlign(GC.Spread.Sheets.CellTypes.CheckBoxTextAlign.bottom);
cellType1.mode("toggle");
activeSheet.getCell(1, 1).cellType(cellType1);
```

**`example`**
```javascript
// This example creates a check box cell with modern mode.
var cellType2 = new GC.Spread.Sheets.CellTypes.CheckBox();
cellType2.caption("Modern Checkbox");
cellType2.mode("modern");
activeSheet.getCell(2, 1).cellType(cellType2);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | [`CheckBoxMode`](../modules/GC.Spread.Sheets.CellTypes#checkboxmode) | The mode of the checkbox cell type. 'checkbox' is the default classic mode with square borders, 'toggle' is an animated switch button, and 'modern' is a rounded corner style with SVG rendering. |

#### Returns

`any`

If no value is set, returns the mode of the checkbox cell type.

___

### <a id="paint" name="paint"></a> paint

▸ **paint**(`ctx`, `value`, `x`, `y`, `w`, `h`, `style`, `context?`): `void`

Paints a cell on the canvas.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `ctx` | `CanvasRenderingContext2D` | The canvas's two-dimensional context. |
| `value` | `any` | The cell's value. |
| `x` | `number` | <i>x</i>-coordinate relative to the canvas. |
| `y` | `number` | <i>y</i>-coordinate relative to the canvas. |
| `w` | `number` | The cell's width. |
| `h` | `number` | The cell's height. |
| `style` | [`Style`](GC.Spread.Sheets.Style) | The cell's actual style. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[paint](GC.Spread.Sheets.CellTypes.Base#paint)

___

### <a id="paintcontent" name="paintcontent"></a> paintContent

▸ **paintContent**(`ctx`, `value`, `x`, `y`, `w`, `h`, `style`, `context?`): `void`

Paints the cell content area on the canvas.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `ctx` | `CanvasRenderingContext2D` | The canvas's two-dimensional context. |
| `value` | `any` | The cell's value. |
| `x` | `number` | <i>x</i>-coordinate relative to the canvas. |
| `y` | `number` | <i>y</i>-coordinate relative to the canvas. |
| `w` | `number` | The cell content area's width. |
| `h` | `number` | The cell content area's height. |
| `style` | [`Style`](GC.Spread.Sheets.Style) | The cell's actual style. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[paintContent](GC.Spread.Sheets.CellTypes.Base#paintcontent)

___

### <a id="parse" name="parse"></a> parse

▸ **parse**(`text`, `formatStr`, `context?`): `any`

Parses the text with the specified format string to an object.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `text` | `string` | The parse text string. |
| `formatStr` | `string` | The parse format string. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`any`

The parsed object.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[parse](GC.Spread.Sheets.CellTypes.Base#parse)

___

### <a id="processkeydown" name="processkeydown"></a> processKeyDown

▸ **processKeyDown**(`event`, `context?`): `boolean`

Processes key down in display mode.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `event` | `KeyboardEvent` | The KeyboardEvent. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`boolean`

Returns `true` if the process is successful; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[processKeyDown](GC.Spread.Sheets.CellTypes.Base#processkeydown)

___

### <a id="processkeyup" name="processkeyup"></a> processKeyUp

▸ **processKeyUp**(`event`, `context?`): `boolean`

Processes key up in display mode.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `event` | `KeyboardEvent` | The KeyboardEvent. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`boolean`

Returns `true` if the process is successful; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[processKeyUp](GC.Spread.Sheets.CellTypes.Base#processkeyup)

___

### <a id="processmousedown" name="processmousedown"></a> processMouseDown

▸ **processMouseDown**(`hitInfo`): `boolean`

Processes mouse down in display mode.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `hitInfo` | [`IHitTestCellTypeHitInfo`](../interfaces/GC.Spread.Sheets.IHitTestCellTypeHitInfo) | The hit test information returned by the getHitInfo method. See the Remarks for more information. |

#### Returns

`boolean`

Returns `true` if the process is successful; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[processMouseDown](GC.Spread.Sheets.CellTypes.Base#processmousedown)

___

### <a id="processmouseenter" name="processmouseenter"></a> processMouseEnter

▸ **processMouseEnter**(`hitInfo`): `boolean`

Processes mouse enter in display mode.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `hitInfo` | [`IHitTestCellTypeHitInfo`](../interfaces/GC.Spread.Sheets.IHitTestCellTypeHitInfo) | The hit test information returned by the getHitInfo method. See the Remarks for more information. |

#### Returns

`boolean`

Returns `true` if the process is successful; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[processMouseEnter](GC.Spread.Sheets.CellTypes.Base#processmouseenter)

___

### <a id="processmouseleave" name="processmouseleave"></a> processMouseLeave

▸ **processMouseLeave**(`hitInfo`): `boolean`

Processes mouse leave in display mode.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `hitInfo` | [`IHitTestCellTypeHitInfo`](../interfaces/GC.Spread.Sheets.IHitTestCellTypeHitInfo) | The hit test information returned by the getHitInfo method. See the Remarks for more information. |

#### Returns

`boolean`

Returns `true` if the process is successful; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[processMouseLeave](GC.Spread.Sheets.CellTypes.Base#processmouseleave)

___

### <a id="processmousemove" name="processmousemove"></a> processMouseMove

▸ **processMouseMove**(`hitInfo`): `boolean`

Processes mouse move in display mode.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `hitInfo` | [`IHitTestCellTypeHitInfo`](../interfaces/GC.Spread.Sheets.IHitTestCellTypeHitInfo) | The hit test information returned by the getHitInfo method. See the Remarks for more information. |

#### Returns

`boolean`

Returns `true` if the process is successful; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[processMouseMove](GC.Spread.Sheets.CellTypes.Base#processmousemove)

___

### <a id="processmouseup" name="processmouseup"></a> processMouseUp

▸ **processMouseUp**(`hitInfo`): `boolean`

Processes mouse up in display mode.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `hitInfo` | [`IHitTestCellTypeHitInfo`](../interfaces/GC.Spread.Sheets.IHitTestCellTypeHitInfo) | The hit test information returned by the getHitInfo method. See the Remarks for more information. |

#### Returns

`boolean`

Returns `true` if the process is successful; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[processMouseUp](GC.Spread.Sheets.CellTypes.Base#processmouseup)

___

### <a id="selectall" name="selectall"></a> selectAll

▸ **selectAll**(`editorContext`, `context?`): `void`

Selects all the text in the editor DOM element.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[selectAll](GC.Spread.Sheets.CellTypes.Base#selectall)

___

### <a id="seteditorvalue" name="seteditorvalue"></a> setEditorValue

▸ **setEditorValue**(`editorContext`, `value`, `context?`): `void`

Sets the editor's value.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `value` | `any` | The value returned from the active cell. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[setEditorValue](GC.Spread.Sheets.CellTypes.Base#seteditorvalue)

___

### <a id="textalign" name="textalign"></a> textAlign

▸ **textAlign**(`value?`): `any`

Gets or sets the text alignment relative to the check box.

**`example`**
```javascript
//This example creates a check box cell.
var cellType1 = new GC.Spread.Sheets.CellTypes.CheckBox();
cellType1.caption("caption");
cellType1.textTrue("true");
cellType1.textFalse("false");
cellType1.textIndeterminate("indeterminate");
cellType1.textAlign(GC.Spread.Sheets.CellTypes.CheckBoxTextAlign.bottom);
cellType1.isThreeState(true);
cellType1.boxSize(20);
activeSheet.getCell(1, 1).cellType(cellType1);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | [`CheckBoxTextAlign`](../enums/GC.Spread.Sheets.CellTypes.CheckBoxTextAlign) | The text alignment relative to the check box. |

#### Returns

`any`

If no value is set, returns the text alignment relative to the check box; otherwise, returns the check box cell type.

___

### <a id="texteditable" name="texteditable"></a> textEditable

▸ **textEditable**(`value?`): `boolean` \| [`CheckBox`](GC.Spread.Sheets.CellTypes.CheckBox)

Gets or sets a value that indicates whether the checkbox cell type allows text editing in checkbox and modern mode.
When set to false, the checkbox behaves like toggle mode and cannot enter text editing mode (double-click or F2).

**`example`**
```javascript
// This example creates a check box cell with non-editable text.
var cellType1 = new GC.Spread.Sheets.CellTypes.CheckBox();
cellType1.textTrue("Yes");
cellType1.textFalse("No");
cellType1.textEditable(false); // Cannot double-click to edit text
activeSheet.getCell(1, 1).cellType(cellType1);
```

**`example`**
```javascript
// This example creates a check box cell with editable text (default).
var cellType2 = new GC.Spread.Sheets.CellTypes.CheckBox();
cellType2.textTrue("Checked");
cellType2.textFalse("Unchecked");
cellType2.textEditable(true); // Can double-click to edit text
activeSheet.getCell(2, 1).cellType(cellType2);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | Whether the checkbox text is editable. Default is true. |

#### Returns

`boolean` \| [`CheckBox`](GC.Spread.Sheets.CellTypes.CheckBox)

If no value is set, returns whether the checkbox text is editable; otherwise, returns the checkbox cell type.

___

### <a id="textfalse" name="textfalse"></a> textFalse

▸ **textFalse**(`value?`): `any`

Gets or sets the text in the cell when the cell's value is `false`.

**`example`**
```javascript
//This example creates a check box cell.
var cellType1 = new GC.Spread.Sheets.CellTypes.CheckBox();
cellType1.caption("caption");
cellType1.textTrue("true");
cellType1.textFalse("false");
cellType1.textIndeterminate("indeterminate");
cellType1.textAlign(GC.Spread.Sheets.CellTypes.CheckBoxTextAlign.bottom);
cellType1.isThreeState(true);
cellType1.boxSize(20);
activeSheet.getCell(1, 1).cellType(cellType1);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` | The text in the cell when the cell's value is `false`. |

#### Returns

`any`

If no value is set, returns the text in the cell when the cell's value is `false`. If a value is set, returns the check box cell type.

___

### <a id="textindeterminate" name="textindeterminate"></a> textIndeterminate

▸ **textIndeterminate**(`value?`): `any`

Gets or sets the text in the cell when the cell's value is indeterminate (neither `true` nor `false`).

**`example`**
```javascript
//This example creates a check box cell.
var cellType1 = new GC.Spread.Sheets.CellTypes.CheckBox();
cellType1.caption("caption");
cellType1.textTrue("true");
cellType1.textFalse("false");
cellType1.textIndeterminate("indeterminate");
cellType1.textAlign(GC.Spread.Sheets.CellTypes.CheckBoxTextAlign.bottom);
cellType1.isThreeState(true);
cellType1.boxSize(20);
activeSheet.getCell(1, 1).cellType(cellType1);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` | The text in the cell when the cell's value is indeterminate. |

#### Returns

`any`

If no value is set, returns the text in the cell when the cell's value is indeterminate. If a value is set, returns the check box cell type.

___

### <a id="texttrue" name="texttrue"></a> textTrue

▸ **textTrue**(`value?`): `any`

Gets or sets the text in the cell when the cell's value is `true`.

**`example`**
```javascript
//This example creates a check box cell.
var cellType1 = new GC.Spread.Sheets.CellTypes.CheckBox();
cellType1.caption("caption");
cellType1.textTrue("true");
cellType1.textFalse("false");
cellType1.textIndeterminate("indeterminate");
cellType1.textAlign(GC.Spread.Sheets.CellTypes.CheckBoxTextAlign.bottom);
cellType1.isThreeState(true);
cellType1.boxSize(20);
activeSheet.getCell(1, 1).cellType(cellType1);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` | The text when the cell's value is `true`. |

#### Returns

`any`

If no value is set, returns the text when the cell's value is `true`. If a value is set, returns the check box cell type.

___

### <a id="tojson" name="tojson"></a> toJSON

▸ **toJSON**(): `any`

Saves the object state to a JSON string.

#### Returns

`any`

The cell type data.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[toJSON](GC.Spread.Sheets.CellTypes.Base#tojson)

___

### <a id="toggleoptions" name="toggleoptions"></a> toggleOptions

▸ **toggleOptions**(`value?`): `any`

Gets or sets a value that indicates the toggle options

**`example`**
```javascript
// This example creates a check box cell.
var cellType1 = new GC.Spread.Sheets.CellTypes.CheckBox();
cellType1.caption("caption");
cellType1.textTrue("ON");
cellType1.textFalse("OFF");
cellType1.mode("toggle");
cellType1.textAlign(GC.Spread.Sheets.CellTypes.CheckBoxTextAlign.inside);
cellType1.toggleOptions({
    width: 60,
    height: 30,
    trackColorOn: '#4CAF50',
    trackColorOff: '#767577',
    sliderColorOn: '#ffffff',
    sliderColorOff: '#ffffff',
    sliderMargin: 2,
    animationDuration: 100,
    trackRadius: 8,
    sliderRadius: 4
});
activeSheet.getCell(1, 1).cellType(cellType1);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | [`IToggleOptions`](../interfaces/GC.Spread.Sheets.CellTypes.IToggleOptions) | The toggle options. |

#### Returns

`any`

If no value is set, returns the toggle options.

___

### <a id="updateeditor" name="updateeditor"></a> updateEditor

▸ **updateEditor**(`editorContext`, `cellStyle`, `cellRect`, `context?`): [`Rect`](GC.Spread.Sheets.Rect)

Updates the editor's size.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `cellStyle` | [`Style`](GC.Spread.Sheets.Style) | The cell's actual style. |
| `cellRect` | [`Rect`](GC.Spread.Sheets.Rect) | The cell's layout information. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

[`Rect`](GC.Spread.Sheets.Rect)

Returns the new size for cell wrapper element, it should contain two properties 'width' and 'height'.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[updateEditor](GC.Spread.Sheets.CellTypes.Base#updateeditor)

___

### <a id="updateeditorcontainer" name="updateeditorcontainer"></a> updateEditorContainer

▸ **updateEditorContainer**(`editorContext`, `editorBounds`, `cellStyle`): `void`

Updates the cell wrapper element size.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `editorBounds` | [`Rect`](GC.Spread.Sheets.Rect) | The cell wrapper element's new size. |
| `cellStyle` | [`Style`](GC.Spread.Sheets.Style) | The cell's actual style. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[updateEditorContainer](GC.Spread.Sheets.CellTypes.Base#updateeditorcontainer)

___

### <a id="updateimemode" name="updateimemode"></a> updateImeMode

▸ **updateImeMode**(`editorContext`, `imeMode`, `context?`): `void`

Updates the editor's ime-mode.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `imeMode` | [`ImeMode`](../enums/GC.Spread.Sheets.ImeMode) | The ime-mode from cell's actual style. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[updateImeMode](GC.Spread.Sheets.CellTypes.Base#updateimemode)
