|  |  | Plug-in widgets

## Plug-in widgets

Plug-ins may be launched from buttons and/or menu entries that are created for them in certain toplevel windows. Information on these windows and where the widgets can be created is kept on the global array `PLGSWelcomed` (defined in file `plugins.tcl`). Each index is a Tcl glob pattern for the paths of windows (this allows for similar windows to be dealt with in the same way). Each element is a list of lists whose heads are widget types (`button` or `menu`) and whose rests are sub-window paths, relative to the path matching the glob pattern, where the plug-in widgets or entries will be inserted. For a button the sub-window is a frame managed by `grid` and the button is created at the right of the lower right corner. For a menu entry, the sub-window is a menu and the entry will be the last one. The widget will be disabled if the plug-in cannot be used according to the evaluation of the corresponding expression.

A GPSMan procedure that creates a toplevel window having support for plug-ins calls the procedure `AttachPlugIns` that in turn creates the widgets for all plug-ins that can be called from the window. This creation fails silently for any widget whose sub-window does not exist.

|  |  | Plug-in widgets