---
name: "Grid"
section: "3tix"
platform: "linux"
package: "tix41-dev"
version: "4.1.0.7-4.1"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/Grid/3tix"
---

# Grid(3tix)

Create and manipulate Tix Grid widgets

```

```

## NAME

tixGrid - Create and manipulate Tix Grid widgets

## STANDARD OPTIONS

```
background	borderWidth	cursor
font	foreground	height
highlightColor	highlightThickness	relief
selectBackground	selectForeground	width
xScrollCommand	yScrollCommand
```

See the **[options(n)](/options/n.md)** manual entry for details on the standard options.

## STANDARD OPTIONS

```
Name:	editDoneCmd
Class:	EditDoneCmd
Command-line switch:	-editdonecmd
```

-

  If non-empty, gives a Tcl command to be executed when the user has edited grid cell. When this command is called, it is passed with two additional parameters: *x* *y*, where (*x*,*y*) is the location of the cell that has just been edited.

```
Name:	editNotifyCmd
Class:	EditNotifyCmd
Command-line switch:	-editnotifycmd
```

-

  If non-empty, gives a Tcl command to be executed when the user tries to edit a grid cell. When this command is called, it is passed with two additional parameters: *x* *y*, where (*x*,*y*,) is the location of the cell. This command should return a boolean value: **true** indicates that the cells is editable and **false** otherwise.

```
Name:	formatCmd
Class:	FormatCmd
Command-line switch:	-formatcmd
```

-

  If non-empty, gives a Tcl command to be executed when the grid cells need to be formatted on the screen. Normally, this command calls the **format** widget command (see below). When this command is called, it is passed with five additional parameters: *type* *x1* *y1* *x2* *y2*. *type* gives the logical type of the region in the grid. It may be one of the following. **x-region**: the horizontal margin; **y-region**: the vertical margin; **s-region**, the area where the the horizontal and vertical margins are joined; **main**: all the cells that do not fall into the above three types.  *x1* *y1* *x2* *y2* gives the extent of the region that needs formatting.

```
Name:	leftMargin
Class:	LeftMargin
Command-line switch:	-leftmargin
```

-

  In the number of cells, gives the width of vertical margin. A zero indicates that no vertical should be drawn.

```
Name:	selectMode
Class:	SelectMode
Command-line switch:	-selectmode
```

-

  Specifies one of several styles for manipulating the selection. The value of the option may be arbitrary, but the default bindings expect it to be either **single**, **browse**, **multiple**, or **extended**; the default value is **single**.

```
Name:	selectUnit
Class:	SelectUnit
Command-line switch:	-selectunit
```

-

  Specifies the selection unit. Valid values are **cell**, **column** or **row**.

```
Name:	topMargin
Class:	TopMargin
Command-line switch:	-topmargin
```

-

  In the number of cells, gives the height of horizontal margin. A zero indicates that no horizontal should be drawn.

  ```

  ```

## DESCRIPTION

The **tixGrid** command creates a new window (given by the *pathName* argument) and makes it into a **tixGrid** widget.  Additional options, described above, may be specified on the command line or in the option database to configure aspects of the **tixGrid** widget such as its cursor and relief.

A Grid widget displays its contents in a two dimensional grid of cells. Each cell may contain one Tix **display** **item**, which may be in text, graphics or other formats. See the **tixItemType(n)** manual page for more information about Tix display items. Individual cells, or groups of cells, can be formatted with a wide range of attributes, such as its color, relief and border.

## WIDGET COMMAND

The **tixGrid** command creates a new Tcl command whose name is the same as the path name of the **tixGrid** widget's window. This command may be used to invoke various operations on the widget. It has the following general form:

```

pathName option ?arg arg ...?
```

*PathName* is the name of the command, which is the same as the **tixGrid** widget's path name. *Option* and the *arg*s determine the exact behavior of the command. The following commands are possible for **tixGrid** widgets:

- *pathName* **anchor** *option* ?*args* *...*?

  Manipulates the **anchor cell** of the **tixGrid** widget. The anchor cell is the end of the selection that is fixed while the user is dragging out a selection with the mouse.

- *pathName* **bdtype**

  - *pathName* **cget** *option*

  Returns the current value of the configuration option given by *option*. *Option* may have any of the values accepted by the **tixGrid** command.

- *pathName* **configure** ?*option*? ?*value* *option* *value* *...*?

  Query or modify the configuration options of the widget.  If no *option* is specified, returns a list describing all of the available options for *pathName* (see **Tk\_ConfigureInfo(n)** for information on the format of this list.) If *option* is specified with no *value*, then the command returns a list describing the one named option (this list will be identical to the corresponding sublist of the value returned if no *option* is specified). If one or more *option-value* pairs are specified, then the command modifies the given widget option(s) to have the given value(s); in this case the command returns an empty string. *Option* may have any of the values accepted by the **tixGrid** command.

- *pathName* **delete** *dim* *from* ?*to*?

  *Dim* may be **row** or **column**. If *to* is not given, deletes a single row (or column) at the position *from*. If *to* is given, deletes the range of rows (or columns) from position *from* through *to*.

- *pathName* **edit apply**

  If any cell is being edited, de-highlight the cell and applies the changes.

- *pathName* **edit set** *x* *y*

  Highlights the cell at (*x*,*y*) for editing, if the **-editnotify** command returns true for this cell.

- *pathName* **entrycget** *x* *y* *option*

  Returns the current value of the configuration option given by *option* of the cell at (*x*,*y*). *Option* may have any of the values accepted by the **set** widget command.

- *pathName* **entryconfigure** *x* *y* ?*option*? ?*value* *option* *value* *...*?

  Query or modify the configuration options of the cell at (*x*,*y*).  If no *option* is specified, returns a list describing all of the available options for the cell (see **Tk\_ConfigureInfo(n)** for information on the format of this list.)  If *option* is specified with no *value*, then the command returns a list describing the one named option (this list will be identical to the corresponding sublist of the value returned if no *option* is specified.) If one or more *option-value* pairs are specified, then the command modifies the given widget option(s) to have the given value(s); in this case the command returns an empty string.  *Option* may have any of the values accepted by the **set** widget command.

- *pathName* **format**

  - *pathName* **index**

  - *pathName* **move** *dim* *from* *to* *offset*

  *Dim* may be **row** or **column**. Moves the the range of rows (or columns) from position *from* through *to* by the distance indicated by *offset*. For example, **move** **row** **2** **4** **1** moves the rows 2,3,4 to rows 3,4,5.

- *pathName* **set** *x* *y* ?**-itemtype** *type*? ?*option* *value...*?

  Creates a new display item at the cell at (*x*,*y*). The optional **-itemtype** parameter gives the type of the display item. An additional list of *option-value* pairs specify options of the display item. If a display item already exists at this cell, the old item will be deleted automatically.

- *pathName* **size** *dim* *index* ?*option* *value* *...*?

  Queries or sets the size of the row or column given by *dim* and *index*. *Dim* may be **row** or **column**.  *Index* may be any non-negative integer that gives the position of a given row (or column). *Index* can also be the string **default**; in this case, this command queries or sets the default size of all rows (or columns).

  When no *option*-*value* pair is given, this command returns a list containing the current size setting of the given row (or column). When *option*-*value* pairs are given, the corresponding options of the size setting of the given row are changed. *Option* may be one of the follwing:

  - **-pad0** *pixels*

    Specifies the paddings to the left or a column or the top of a row.

  - **-pad1** *pixels*

    Specifies the paddings to the right or a column or the bottom of a row.

  - **-size** *val*

    Specifies the width of a column or the height of a row. *Val* may be: **auto** -- the width of the column is set the the widest cell in the column; a valid Tk screen distance unit (see **Tk\_GetPixels(n)**); or a real number following by the word **chars** (e.g. **3.4chars**) that sets the width of the column to the given number of characters.

- *pathName* **unset** *x* *y*

  Clears the cell at (*x*,*y*) by removing its display item.

- *pathName* **xview**

  - *pathName* **yview**
