---
name: "tipstack"
section: "3tk"
platform: "linux"
package: "tklib"
version: "0.9-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/tipstack"
---

# tipstack(3tk)

Stacked tooltips

```

```

## NAME

tipstack - Stacked tooltips

## SYNOPSIS

package require **Tcl 8.5**

package require **msgcat 1.3**

package require **tooltip ?1.7?**

package require **tipstack ?1.0.1?**

**::tipstack::push** *widget* ?**-index** *index*? *text*

**::tipstack::pop** *widget* ?**-index** *index*?

**::tipstack::clear** *widget* ?**-index** *index*?

**::tipstack::def** *widget* *text* ...

**::tipstack::defsub** *base* *widget* *text* ...

**::tipstack::clearsub** *base*

```

```

## DESCRIPTION

This package extends the functionality of package **tooltip**. It provides a dynamic stack of tip texts per widget. This enables dynamic transient changes to the tips, for example to temporarily replace a standard explanation of a field with an error message.

## COMMANDS

- **::tipstack::push** *widget* ?**-index** *index*? *text*

  Push a new *text* to the tooltip for the *widget*. In case of a list widget use

  ```
  -index ...
  ```

- to

  tooltip for.

  The result of the command is the empty string

- **::tipstack::pop** *widget* ?**-index** *index*?

  Pop the current tooltip for the *widget* from the stack and restore the previous text. This is a no-operation if this would leave an empty stack behind. In other words, the baseline tooltip text cannot be popped of. In case of a list widget use

  ```
  -index ...
  ```

- to

  tooltip for.

  The result of the command is the empty string

- **::tipstack::clear** *widget* ?**-index** *index*?

  Clear the stack for the *widget* and restore back to the baseline. In case of a list widget use

  ```
  -index ...
  ```

- to

  tooltip for.

  The result of the command is the empty string

- **::tipstack::def** *widget* *text* ...

  Perform multiple pushes for a number of independent *widget*s in a single call. This command cannot be used for list widgets, as it does not allow the passing of the necessary index information. Use with menus is not possible either.

  The result of the command is the empty string

- **::tipstack::defsub** *base* *widget* *text* ...

  This command is a variant of **::tipstack::def** where all the widgets to push to are subwidgets of the *base*. This is good for mega-widgets.

  Note that either each *widget* has to be specified with a proper leading dot (**.**), or the *base* has to be specigfied with a trailing dot.

  The result of the command is the empty string

- **::tipstack::clearsub** *base*

  This command is a variant of **::tipstack::clear** which clears all child widgets of the *base* text was pushed to. Use with menus is not possible.

  The result of the command is the empty string

## BUGS, IDEAS, FEEDBACK

This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category *tooltip* of the *Tklib Trackers* \[http://core.tcl.tk/tklib/reportlist\]. Please also report any ideas for enhancements you may have for either package and/or documentation.

## KEYWORDS

balloon, help, hover, tipstack

## COPYRIGHT

```
Copyright (c) 2003 ActiveState Corp
```
