TABS(2)                                                   TABS(2)

     NAME
          tabs: mktabs, tabsctl - tabbed notebook pseudo-widget

     SYNOPSIS
          include "tabs.m";
          tabs := load Tabs Tabs->PATH;

          init:        fn();

          mktabs:      fn(p: ref Tk->Toplevel, book: string,
                         tabs: array of (string, string), dflt: int):
                         chan of string;

          tabsctl:     fn(p: ref Tk->Toplevel, book: string,
                         tabs: array of (string, string), curid: int,
                         newid: string): int;

     DESCRIPTION
          Tabs implements a Tk extension: a user-interface device that
          looks like a tabbed notebook.

          Init should be called once to initialise the internal state.

          Mktabs creates a tabbed notebook pseudo widget, book, for
          insertion into Tk widget p. Once created, book can be packed
          like any other Tk widget.  Information for specific tab
          pages is contained in the tabs array.  For each page, tabs
          contains the name displayed in the tab and a Tk widget name.
          Whenever a page is selected, its widget is packed in book
          and displayed.  The notebook will initially display the page
          indexed by dflt. Mktabs returns a Tk event channel.  Mes-
          sages received on this channel should be passed as the newid
          argument to tabsctl.

          Tabsctl controls a tabbed notebook.  Curid is the index of
          the page currently selected in the notebook.  Newid is a
          string containing the index of the new page to be displayed;
          this is usually the information received on the tabs chan-
          nel.  The index of the newly selected page is returned.

     SOURCE
          /appl/lib/tabs.b

     SEE ALSO
          dividers(2), draw-context(2), tk(2), wmlib(2)

     Page 1                       Plan 9            (printed 12/22/24)