# canvas::tag(3tk) 0.1 canvas "Variations on a canvas"

## Name

canvas::tag - Easier management of the tags on canvas items or item groups

## Synopsis

- package require Tcl 8.5
- package require Tk 8.5
- package require canvas::tag ?0.1?

- ::canvas::tag append canvas tagOrId tag...
- ::canvas::tag prepend canvas tagOrId tag...
- ::canvas::tag append canvas tagOrId index tag...
- ::canvas::tag remove canvas tagOrId tag...
- ::canvas::tag match canvas tagOrId pattern

## Description

This package provides utility commands for easier management of the tag lists associated with canvas items or item groups.

The problem with the existing canvas API is that a tag list can only be set as a whole, making adding and removing of tags from such lists relatively complex operations reading the current tag list, modifying it, and then writing the changed list back.

The commands provided by this package hide all this complexity from the user.

## API

::canvas::tag append canvas tagOrId tag...

  This command adds the tags tag... to the tag list for the items identified by the tagOrId in the canvas widget. The new tags are added at the end of the list.

  The result of the command is the empty string.

::canvas::tag prepend canvas tagOrId tag...

  This command adds the tags tag... to the tag list for the items identified by the tagOrId in the canvas widget. The new tags are added at the beginning of the list.

  The result of the command is the empty string.

::canvas::tag append canvas tagOrId index tag...

  This command adds the tags tag... to the tag list for the items identified by the tagOrId in the canvas widget. The new tags are inserted before the element at index.

  index 0 refers to the beginning of the list.

  index end refers to after the end of the list.

  The result of the command is the empty string.

::canvas::tag remove canvas tagOrId tag...

  This command removes the named tags tag... from the tag list for the items identified by the tagOrId in the canvas widget.

  The result of the command is the empty string.

::canvas::tag match canvas tagOrId pattern

  This command finds all tags for the items identified by the tagOrId in the canvas widget which match the glob pattern.

  The result of the command is a list of the matching tags. Which may be empty.

## Bugs, Ideas, Feedback

This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category canvas of the Tklib Trackers. Please also report any ideas for enhancements you may have for either package and/or documentation.

## Keywords

append tag, canvas, insert tag, remove tag, tags