'\" '\" Copyright (c) 1996, Expert Interface Technologies '\" '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" '\" The definitions below are for supplemental macros used in Tix '\" manual entries. '\" '\" .HS name section [date [version]] '\" Replacement for .TH in other man pages. See below for valid '\" section names. '\" '\" .AP type name in/out [indent] '\" Start paragraph describing an argument to a library procedure. '\" type is type of argument (int, etc.), in/out is either "in", "out", '\" or "in/out" to describe whether procedure reads or modifies arg, '\" and indent is equivalent to second arg of .IP (shouldn't ever be '\" needed; use .AS below instead) '\" '\" .AS [type [name]] '\" Give maximum sizes of arguments for setting tab stops. Type and '\" name are examples of largest possible arguments that will be passed '\" to .AP later. If args are omitted, default tab stops are used. '\" '\" .BS '\" Start box enclosure. From here until next .BE, everything will be '\" enclosed in one large box. '\" '\" .BE '\" End of box enclosure. '\" '\" .VS '\" Begin vertical sidebar, for use in marking newly-changed parts '\" of man pages. '\" '\" .VE '\" End of vertical sidebar. '\" '\" .DS '\" Begin an indented unfilled display. '\" '\" .DE '\" End of indented unfilled display. '\" .\" '\" # Heading for Tix man pages .de HS .ds ^3 \\0 .if !"\\$3"" .ds ^3 \\$3 .if '\\$2'cmds' .TH "\\$1" 1 "\\*(^3" "\\$4" "\\$5" .if '\\$2'lib' .TH "\\$1" 3 "\\*(^3" "\\$4" "\\$5" .if '\\$2'ncmds' .TH "\\$1" n "\\*(^3" "\\$4" "\\$5" .if '\\$2'tcl' .TH "\\$1" n "\\*(^3" Tcl "Tcl Built-In Commands" .if '\\$2'tk' .TH "\\$1" n "\\*(^3" Tk "Tk Commands" .if '\\$2'tclc' .TH "\\$1" 3 "\\*(^3" Tcl "Tcl Library Procedures" .if '\\$2'tkc' .TH "\\$1" 3 "\\*(^3" Tk "Tk Library Procedures" .if '\\$2'tclcmds' .TH "\\$1" 1 "\\*(^3" Tcl "Tcl Applications" .if '\\$2'tkcmds' .TH "\\$1" 1 "\\*(^3" Tk "Tk Applications" .if '\\$2'tix' .TH "\\$1" n "\\*(^3" Tix "Tix Commands" .if '\\$2'tixcmds' .TH "\\$1" 1 "\\*(^3" Tix "Tix Applications" .if t .wh -1.3i ^B .nr ^l \\n(.l .ad b .. '\" # Start an argument description .de AP .ie !"\\$4"" .TP \\$4 .el \{\ . ie !"\\$2"" .TP \\n()Cu . el .TP 15 .\} .ie !"\\$3"" \{\ .ta \\n()Au \\n()Bu \&\\$1 \\fI\\$2\\fP (\\$3) .\".b .\} .el \{\ .br .ie !"\\$2"" \{\ \&\\$1 \\fI\\$2\\fP .\} .el \{\ \&\\fI\\$1\\fP .\} .\} .. '\" # define tabbing values for .AP .de AS .nr )A 10n .if !"\\$1"" .nr )A \\w'\\$1'u+3n .nr )B \\n()Au+15n .\" .if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n .nr )C \\n()Bu+\\w'(in/out)'u+2n .. '\" # BS - start boxed text '\" # ^y = starting y location '\" # ^b = 1 .de BS .br .mk ^y .nr ^b 1u .if n .nf .if n .ti 0 .if n \l'\\n(.lu\(ul' .if n .fi .. '\" # BE - end boxed text (draw box now) .de BE .nf .ti 0 .mk ^t .ie n \l'\\n(^lu\(ul' .el \{\ .\" Draw four-sided box normally, but don't draw top of .\" box if the box started on an earlier page. .ie !\\n(^b-1 \{\ \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul' .\} .el \}\ \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul' .\} .\} .fi .br .nr ^b 0 .. '\" # VS - start vertical sidebar '\" # ^Y = starting y location '\" # ^v = 1 (for troff; for nroff this doesn't matter) .de VS .mk ^Y .ie n 'mc \s12\(br\s0 .el .nr ^v 1u .. '\" # VE - end of vertical sidebar .de VE .ie n 'mc .el \{\ .ev 2 .nf .ti 0 .mk ^t \h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n' .sp -1 .fi .ev .\} .nr ^v 0 .. '\" # Special macro to handle page bottom: finish off current '\" # box/sidebar if in box/sidebar mode, then invoked standard '\" # page bottom macro. .de ^B .ev 2 'ti 0 'nf .mk ^t .if \\n(^b \{\ .\" Draw three-sided box if this is the box's first page, .\" draw two sides but no top otherwise. .ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c .el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c .\} .if \\n(^v \{\ .nr ^x \\n(^tu+1v-\\n(^Yu \kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c .\} .bp 'fi .ev .if \\n(^b \{\ .mk ^y .nr ^b 2 .\} .if \\n(^v \{\ .mk ^Y .\} .. '\" # DS - begin display .de DS .RS .nf .sp .. '\" # DE - end display .de DE .fi .RE .sp .. '\" copyrighted: (c) 1990 The Regents of the University of California. '\" (c) 1994-1995 Sun Microsystems, Inc. '\" The license terms of the Tcl/Tk distrobution are in the file '\" license.tcl. '\" The definitions below are for supplemental macros used in Tix '\" manual entries. '\" '\" .HS name section [date [version]] '\" Replacement for .TH in other man pages. See below for valid '\" section names. '\" '\" .AP type name in/out [indent] '\" Start paragraph describing an argument to a library procedure. '\" type is type of argument (int, etc.), in/out is either "in", "out", '\" or "in/out" to describe whether procedure reads or modifies arg, '\" and indent is equivalent to second arg of .IP (shouldn't ever be '\" needed; use .AS below instead) '\" '\" .AS [type [name]] '\" Give maximum sizes of arguments for setting tab stops. Type and '\" name are examples of largest possible arguments that will be passed '\" to .AP later. If args are omitted, default tab stops are used. '\" '\" .BS '\" Start box enclosure. From here until next .BE, everything will be '\" enclosed in one large box. '\" '\" .BE '\" End of box enclosure. '\" '\" .VS '\" Begin vertical sidebar, for use in marking newly-changed parts '\" of man pages. '\" '\" .VE '\" End of vertical sidebar. '\" '\" .DS '\" Begin an indented unfilled display. '\" '\" .DE '\" End of indented unfilled display. '\" .\" '\" # Heading for Tix man pages .de HS .ds ^3 \\0 .if !"\\$3"" .ds ^3 \\$3 .if '\\$2'cmds' .TH "\\$1" 1 "\\*(^3" "\\$4" "\\$5" .if '\\$2'lib' .TH "\\$1" 3 "\\*(^3" "\\$4" "\\$5" .if '\\$2'ncmds' .TH "\\$1" n "\\*(^3" "\\$4" "\\$5" .if '\\$2'tcl' .TH "\\$1" n "\\*(^3" Tcl "Tcl Built-In Commands" .if '\\$2'tk' .TH "\\$1" n "\\*(^3" Tk "Tk Commands" .if '\\$2'tclc' .TH "\\$1" 3 "\\*(^3" Tcl "Tcl Library Procedures" .if '\\$2'tkc' .TH "\\$1" 3 "\\*(^3" Tk "Tk Library Procedures" .if '\\$2'tclcmds' .TH "\\$1" 1 "\\*(^3" Tcl "Tcl Applications" .if '\\$2'tkcmds' .TH "\\$1" 1 "\\*(^3" Tk "Tk Applications" .if '\\$2'tix' .TH "\\$1" n "\\*(^3" Tix "Tix Commands" .if '\\$2'tixcmds' .TH "\\$1" 1 "\\*(^3" Tix "Tix Applications" .if t .wh -1.3i ^B .nr ^l \\n(.l .ad b .. '\" # Start an argument description .de AP .ie !"\\$4"" .TP \\$4 .el \{\ . ie !"\\$2"" .TP \\n()Cu . el .TP 15 .\} .ie !"\\$3"" \{\ .ta \\n()Au \\n()Bu \&\\$1 \\fI\\$2\\fP (\\$3) .\".b .\} .el \{\ .br .ie !"\\$2"" \{\ \&\\$1 \\fI\\$2\\fP .\} .el \{\ \&\\fI\\$1\\fP .\} .\} .. '\" # define tabbing values for .AP .de AS .nr )A 10n .if !"\\$1"" .nr )A \\w'\\$1'u+3n .nr )B \\n()Au+15n .\" .if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n .nr )C \\n()Bu+\\w'(in/out)'u+2n .. '\" # BS - start boxed text '\" # ^y = starting y location '\" # ^b = 1 .de BS .br .mk ^y .nr ^b 1u .if n .nf .if n .ti 0 .if n \l'\\n(.lu\(ul' .if n .fi .. '\" # BE - end boxed text (draw box now) .de BE .nf .ti 0 .mk ^t .ie n \l'\\n(^lu\(ul' .el \{\ .\" Draw four-sided box normally, but don't draw top of .\" box if the box started on an earlier page. .ie !\\n(^b-1 \{\ \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul' .\} .el \}\ \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul' .\} .\} .fi .br .nr ^b 0 .. '\" # VS - start vertical sidebar '\" # ^Y = starting y location '\" # ^v = 1 (for troff; for nroff this doesn't matter) .de VS .mk ^Y .ie n 'mc \s12\(br\s0 .el .nr ^v 1u .. '\" # VE - end of vertical sidebar .de VE .ie n 'mc .el \{\ .ev 2 .nf .ti 0 .mk ^t \h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n' .sp -1 .fi .ev .\} .nr ^v 0 .. '\" # Special macro to handle page bottom: finish off current '\" # box/sidebar if in box/sidebar mode, then invoked standard '\" # page bottom macro. .de ^B .ev 2 'ti 0 'nf .mk ^t .if \\n(^b \{\ .\" Draw three-sided box if this is the box's first page, .\" draw two sides but no top otherwise. .ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c .el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c .\} .if \\n(^v \{\ .nr ^x \\n(^tu+1v-\\n(^Yu \kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c .\} .bp 'fi .ev .if \\n(^b \{\ .mk ^y .nr ^b 2 .\} .if \\n(^v \{\ .mk ^Y .\} .. '\" # DS - begin display .de DS .RS .nf .sp .. '\" # DE - end display .de DE .fi .RE .sp .. '---------------------------------------------------------------------- .HS tixCheckList tix 4.0 .BS ' ' '---------------------------------------------------------------------- .SH NAME tixCheckList \- Create and manipulate tixCheckList widgets ' ' ' '---------------------------------------------------------------------- .SH SYNOPSIS \fBtixCheckList\fI \fIpathName ?\fIoptions\fR? ' ' '---------------------------------------------------------------------- .PP .SH SUPER-CLASS The \fBTixCheckList\fR class is derived from the \fBTixTree\fR class and inherits all the commands, options and subwidgets of its super-class. ' '---------------------------------------------------------------------- .SH "STANDARD OPTIONS" ' \fBTixCheckList\fR supports all the standard options of a frame widget. See the \fBoptions(n)\fR manual entry for details on the standard options. ' ' '---------------------------------------------------------------------- .SH "WIDGET-SPECIFIC OPTIONS" ' '----------BEGIN .LP .nf Name: \fBbrowseCmd\fR Class: \fBBrowseCmd\fR Switch: \fB\-browsecmd\fR .fi .IP Specifies a command to call whenever the user browses on an entry (usually by single-clicking on the entry). The command is called with one argument, the pathname of the entry. '----------END ' '----------BEGIN .LP .nf Name: \fBcommand\fR Class: \fBCommand\fR Switch: \fB\-command\fR .fi .IP Specifies a command to call whenever the user activates an entry (usually by double-clicking on the entry). The command is called with one argument, the pathname of the entry. '----------END ' '----------BEGIN .LP .nf Name: \fBradio\fR Class: \fBRadio\fR Switch: \fB\-radio\fR .fi .IP A Boolean value. If set to true, the user can select at most one item at a time; if set to false, the user can select as many items as possible. '----------END ' ' '---------------------------------------------------------------------- .SH SUBWIDGETS '----------BEGIN .LP .nf Name: \fBhlist\fR Class: \fBTixHList\fR .fi .IP The hierarchical listbox that displays the CheckList. '----------END ' '----------BEGIN .LP .nf Name: \fBhsb\fR Class: \fBScrollbar\fR .fi .IP The horizontal scrollbar subwidget. '----------END ' '----------BEGIN .LP .nf Name: \fBvsb\fR Class: \fBScrollbar\fR .fi .IP The vertical scrollbar subwidget. '----------END ' .BE ' ' '---------------------------------------------------------------------- .SH DESCRIPTION ' .PP ' The \fBtixCheckList\fR command creates a new window (given by the \fIpathName\fR argument) and makes it into a CheckList widget. Additional options, described above, may be specified on the command line or in the option database to configure aspects of the CheckList widget such as its cursor and relief. The CheckList widget displays a list of items to be selected by the user. CheckList acts similarly to the Tk checkbutton or radiobutton widgets, except it is capable of handling many more items than checkbuttons or radiobuttons. The items are contained in the \fBhlist\fR subwidget. Each item may be in one of the following status: \fBon\fR (indicated by a check bitmap), \fBoff\fR (indicated by a cross bitmap) \fBdefault\fR (indicated by a gray box bitmap) or \fBnone\fR, in which case the item will not be accompanied by a bitmap. The items whose status is \fBon\fR, \fBoff\fR or \fBdefault\fR are called the \fIselectable\fR items and can be checked or crossed by the user. All selectable entries must be of the type \fBimagetext\fR. The items whose status is \fBnone\fR cannot be checked or crossed by the user; usually they are included in the \fBhlist\fR subwidget only for explanation purposes or as separators. Initially, all the items have a \fInone\fR status. To make an item selectable, you can call the \fBsetstatus\fR command to change its status (see below). ' Notice that CheckList is a subclass of the TixTree widget and thus is is capable of displaying a hierachy of selectable entries. When necessary, you can call the \fBsetmode\fR method (see \fBTixTree(n)\fR) to define the hierachical structure of the selectable entries. ' '---------------------------------------------------------------------- .SH WIDGET COMMANDS .PP ' The \fBtixCheckList\fR command creates a new Tcl command whose name is the same as the path name of the CheckList's window. This command may be used to invoke various operations on the widget. It has the following general form: ' .DS C ' \fIpathName option \fR?\fIarg arg ...\fR? .PP .DE ' \fIPathName\fR is the name of the command, which is the same as the CheckList widget's path name. \fIOption\fR and the \fIarg\fRs determine the exact behavior of the command. The following commands are possible for CheckList widgets: ' .TP \fIpathName \fBgetselection\fR ?\fIstatus\fR? ' Returns a list of items whose status matches \fIstatus\fR. If \fIstatus\fR is not specified, the list of items in the "\fBon\fR" status will be returned. ' .TP \fIpathName \fBgetstatus\fR \fIentryPath\fR ' Returns the current status of \fIentryPath\fR. ' .TP \fIpathName \fBsetstatus\fR \fIentryPath status\fR ' Sets the status of \fIentryPath\fR to be \fIstatus\fR. A bitmap will be displayed next to the entry its status is \fBon\fR, \fBoff\fR or \fBdefault\fR. ' ' .TP \fIpathName \fBsubwidget \fI name ?args?\fR ' When no options are given, this command returns the pathname of the subwidget of the specified name. When options are given, the widget command of the specified subwidget will be called with these options. ' '---------------------------------------------------------------------- .SH EXAMPLE ' .PP This example creates several choices for the user to select. .PP \fC .nf tixCheckList .c .c subwidget hlist add choice1 -itemtype imagetext -text "Choice 1" .c subwidget hlist add choice2 -itemtype imagetext -text "Choice 2" .c subwidget hlist add choice3 -itemtype imagetext -text "Choice 3" .c setstatus choice1 on .c setstatus choice2 off .c setstatus choice3 off pack .c .fi \fR ' '---------------------------------------------------------------------- .SH BINDINGS .PP ' The basic mouse and keyboard bindings of the CheckList widget are the same as the bindings of the TixTree widget. In addition, the status of the entries in the CheckList are toggled under the following conditions: ' .IP [1] When the user press the mouse button over an entry. ' .IP [2] When the user press the key over an entry. ' .IP [3] When the user press the key over an entry. ' ' '---------------------------------------------------------------------- .SH KEYWORDS Tix(n), tixHList(n), tixTree(n)