ref: b7af62b250e5dff30320a181ca9d53ab5a7c276d
dir: /man/2/tabs/
.TH TABS 2 .SH NAME tabs: mktabs, tabsctl \- tabbed notebook pseudo-widget .SH SYNOPSIS .EX 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; .EE .SH DESCRIPTION .B Tabs implements a Tk extension: a user-interface device that looks like a tabbed notebook. .PP .B Init should be called once to initialise the internal state. .PP .B Mktabs creates a tabbed notebook pseudo widget, .IR book , for insertion into Tk widget .IR p . Once created, .I book can be packed like any other Tk widget. Information for specific tab pages is contained in the .I tabs array. For each page, .I tabs contains the name displayed in the tab and a Tk widget name. Whenever a page is selected, its widget is packed in .I book and displayed. The notebook will initially display the page indexed by .IR dflt . .B Mktabs returns a Tk event channel. Messages received on this channel should be passed as the .I newid argument to .BR tabsctl . .PP .B Tabsctl controls a tabbed notebook. .I Curid is the index of the page currently selected in the notebook. .I Newid is a string containing the index of the new page to be displayed; this is usually the information received on the tabs channel. The index of the newly selected page is returned. .SH SOURCE .B /appl/lib/tabs.b .SH SEE ALSO .IR dividers (2), .IR draw-context (2), .IR tk (2), .IR wmlib (2)