summaryrefslogtreecommitdiff
path: root/tix/man/DItem.n
diff options
context:
space:
mode:
Diffstat (limited to 'tix/man/DItem.n')
-rw-r--r--tix/man/DItem.n542
1 files changed, 542 insertions, 0 deletions
diff --git a/tix/man/DItem.n b/tix/man/DItem.n
new file mode 100644
index 00000000000..0dd1220e822
--- /dev/null
+++ b/tix/man/DItem.n
@@ -0,0 +1,542 @@
+'\"
+'\" 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 file man.macros and some of the macros used by this file are
+'\" 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.
+.so man.macros
+'----------------------------------------------------------------------
+.HS tixItemType tix 4.0
+.BS
+'
+'
+'----------------------------------------------------------------------
+.SH NAME
+Tix Display Items
+'
+.BE
+'
+.SH DESCRIPTION
+'
+The Tix \fBDisplay Items\fR and \fBDisplay Types\fR are devised to
+solve a general problem: many Tix widgets (both existing and planned
+ones) display many items of many types simutaneously.
+'
+.PP
+'
+For example, a hierarchical listbox widget (HList) can display items
+of images, plain text and subwindows in the form of a
+hierarchy. Another widget, the tabular listbox, (TList, currently
+planned and will be released in Tix 4.1) also display items of the
+same types, although it arranges the items in a tabular form. Yet
+another widget, the spreadsheet widget, also displays similar types
+items, but in yet another format.
+'
+.PP
+'
+In these examples, the display items in different widgets are only
+different in how they are arranged by the \fBhost widget\fR. In Tix,
+display items are clearly separated from the host widgets. The
+advantage is two-fold: first, the creation and configuration of
+display items become uniform across different host widgets. Second,
+new display item types can be added without the need to modify the
+existing host widgets.
+'
+.PP
+'
+In a way, Tix display items are similar to the items inside Tk
+the canvas widget. However, unlike the Tix display items, the canvas
+items are not independent of the canvas widget; this makes it
+impossible to use the canvas items inside other types of TK widgets.
+'
+.PP
+'
+The appearance of a display item is controlled by a set of
+\fIattributes\fR. It is observed that each the attributes usually fall
+into one of two categroies: "\fIindividual\fR" or
+"\fIcollective\fR". For example, the text items inside a HList widget
+may all display a different text string; however, in most cases, the
+text items share the same color, font and spacing. Instead of keeping
+a duplicated version of the same attributes inside each display item,
+it will be advantageous to put the collective attributes in a
+special object called a \fBdisplay style\fR. First, there is the space
+concern: a host widget may have many thousands of items; keeping
+dupilcated attributes will be very wasteful. Second, when it becomes
+necessary to change a collective attribute, such as changing all the
+text items' foreground color to red, it will be more efficient to
+change only the display style object than to modify all the text
+items one by one.
+'
+.PP
+'
+The attributes of the a display item are thus stored in two places: it
+has a set of \fBitem options\fR to store its individual attributes. Each
+display item is also associated with a \fIdisplay style\fR, which specifies
+the collective attributes of all items associated with itself.
+'
+.PP
+'
+The division between the individual and collective attributes are
+fixed and cannot be changed. Thus, when it becomes necessary for some
+items to differ in their collective attributes, two or more \fBdisplay
+styles\fR can be used. For example, suppose you want to display two
+columns of text items inside an HList widget, one column in red and
+the other in blue. You can create a TextStyle object called "red",
+which defines a red foreground, and another called "blue", which
+defines a blue foreground. You can then associate all text items of
+the first column to "red" and the second column to "blue".
+'
+.SH DISPLAY ITEM TYPES AND OPTIONS
+'
+Currently there are three types of display items: \fBtext\fR,
+\fBimagetext\fR and \fBwindow\fR.
+'
+'----------------------------------------------------------------------
+' ImageText
+'----------------------------------------------------------------------
+.SH IMAGETEXT ITEMS
+'
+Display items of the type \fBimagetext\fR are used to display an image
+together with a text string. Imagetext items support the following options:
+'
+.PP
+\fBITEM OPTIONS\fR
+.PP
+.RS
+'----------BEGIN
+.LP
+.nf
+Name: \fBbitmap\fR
+Class: \fBBitmap\fR
+Switch: \fB\-bitmap\fR
+.fi
+.IP
+Specifies the bitmap to display in the item.
+'----------END
+'
+'----------BEGIN
+.LP
+.nf
+Name: \fBimage\fR
+Class: \fBImage\fR
+Switch: \fB\-image\fR
+.fi
+.IP
+Specifies the image to display in the item. When both the
+\fB\-bitmap\fR and \fB\-image\fR options are specified, only the image
+will be displayed.
+'----------END
+'
+'----------BEGIN
+.LP
+.nf
+Name: \fBimageTextStyle\fR
+Class: \fBImageTextStyle\fR
+Switch: \fB\-style\fR
+.fi
+.IP
+Specifies the display style to use for this item. Must be the
+name of a \fBimagetext\fR display style that has already be created by
+the \fBtixDisplayStyle(n)\fR command.
+'----------END
+'
+'----------BEGIN
+.LP
+.nf
+Name: \fBshowImage\fR
+Class: \fBShowImage\fR
+Switch: \fB\-showimage\fR
+.fi
+.IP
+A Boolean value that specifies whether the image/bitmap should be
+displayed.
+'----------END
+'
+'----------BEGIN
+.LP
+.nf
+Name: \fBshowText\fR
+Class: \fBShowText\fR
+Switch: \fB\-showtext\fR
+.fi
+.IP
+A Boolean value that specifies whether the text string should be
+displayed.
+'----------END
+'
+'----------BEGIN
+.LP
+.nf
+Name: \fBtext\fR
+Class: \fBText\fR
+Switch: \fB\-text\fR
+.fi
+.IP
+Specifies the text string to display in the item.
+'----------END
+'
+'----------BEGIN
+.LP
+.nf
+Name: \fBunderline\fR
+Class: \fBUnderline\fR
+Switch: \fB\-underline\fR
+.fi
+.IP
+Specifies the integer index of a character to underline in the text
+string in the item. 0 corresponds to the first character of the text
+displayed in the widget, 1 to the next character, and so on.
+'----------END
+.RE
+'
+.PP
+\fBSTYLE OPTIONS\fR
+'
+.PP
+The style information of \fBimagetext\fR items are stored in the
+\fBimagetext\fR display style. The following options are supported:
+'
+.RS
+'
+.PP
+\fBSTANDARD OPTIONS\fR
+'
+.PP
+\fC
+.ta 6c
+.nf
+activeBackground activeForeground
+anchor background
+disabledBackground disabledForeground
+foreground font
+justify padX
+padY selectBackground
+selectForeground wrapLength
+.fi
+\fR
+.ta 4c
+.PP
+See the \fBoptions(n)\fR manual entry for details on the standard
+options.
+.PP
+'
+.PP
+\fBSTYLE-SPECIFIC OPTIONS\fR
+.PP
+'----------BEGIN
+.LP
+.nf
+Name: \fBgap\fR
+Class: \fBGap\fR
+Switch: \fB\-gap\fR
+'
+.fi
+.IP
+Specifies the distance between the bitmap/image and the text string,
+in number of pixels.
+'----------END
+'
+.RE
+'
+'**********************************************************************
+'
+' text
+'
+'**********************************************************************
+.SH TEXT ITEMS
+'
+Display items of the type \fBtext\fR are used to display a text string
+in a widget. Text items support the following options:
+'
+.PP
+\fBITEM OPTIONS\fR
+.PP
+.RS
+'----------BEGIN
+.LP
+.nf
+Name: \fBtextStyle\fR
+Class: \fBTextStyle\fR
+Switch: \fB\-style\fR
+.fi
+.IP
+Specifies the display style to use for this text item. Must be the
+name of a \fBtext\fR display style that has already be created by the
+\fBtixDisplayStyle(n)\fR command.
+'----------END
+'
+'----------BEGIN
+.LP
+.nf
+Name: \fBtext\fR
+Class: \fBText\fR
+Switch: \fB\-text\fR
+.fi
+.IP
+Specifies the text string to display in the item.
+'----------END
+'
+'----------BEGIN
+.LP
+.nf
+Name: \fBunderline\fR
+Class: \fBUnderline\fR
+Switch: \fB\-underline\fR
+.fi
+.IP
+Specifies the integer index of a character to underline in the item.
+0 corresponds to the first character of the text displayed in the
+widget, 1 to the next character, and so on.
+'----------END
+.RE
+'
+\fBSTYLE OPTIONS\fR
+.PP
+.RS
+.PP
+\fBSTANDARD OPTIONS\fR
+'
+.PP
+\fC
+.ta 6c
+.nf
+activeBackground activeForeground
+anchor background
+disabledBackground disabledForeground
+foreground font
+justify padX
+padY selectBackground
+selectForeground wrapLength
+.fi
+\fR
+.ta 4c
+.PP
+See the \fBoptions(n)\fR manual entry for details on the standard
+options.
+'
+'
+.PP
+.RE
+'**********************************************************************
+'
+' Window
+'
+'**********************************************************************
+.SH WINDOW ITEMS
+'
+Display items of the type \fBwindow\fR are used to display a
+sub-window in a widget. \fBWindow\fR items support the following
+options:
+'
+.PP
+\fBITEM OPTIONS\fR
+.PP
+.RS
+'----------BEGIN
+.LP
+.nf
+Name: \fBwindowStyle\fR
+Class: \fBWindowStyle\fR
+Switch: \fB\-style\fR
+.fi
+.IP
+Specifies the display style to use for this window item. Must be the
+name of a \fBwindow\fR display style that has already be created by
+the \fBtixDisplayStyle(n)\fR command.
+'----------END
+'
+'----------BEGIN
+.LP
+.nf
+Name: \fBwindow\fR
+Class: \fBWindow\fR
+Switch: \fB\-window\fR
+Alias: \fB\-widget\fR
+.fi
+.IP
+Specifies the sub-window to display in the item.
+'----------END
+'
+.RE
+'
+\fBSTYLE OPTIONS\fR
+.PP
+.RS
+\fBSTANDARD OPTIONS\fR
+'
+.PP
+\fC
+.ta 6c
+.nf
+anchor
+padX padY
+.PP
+.fi
+.ta 4c
+See the \fBoptions(n)\fR manual entry for details on the standard
+options.
+'
+.PP
+.RE
+'
+'**********************************************************************
+'
+.SH CREATING DISPLAY ITEMS
+'
+'
+Display items do not exist on their and thus they cannot be created
+independently of the widgets they reside in. As a rule, display items
+are created by special widget commands of their "host" widgets. For
+example, the HList widgets has a command \fBitem\fR which can be used
+to create new display items. The following code creates a new imagetext
+item at the third column of the entry foo inside an HList widget:
+'
+.PP
+\fC
+.nf
+ tixHList .h -columns 3
+ .h add foo
+ .h item create foo 2 \-itemtype imagetext \-text Hello \-image image1
+.fi
+.PP
+\fR
+'
+The \fBitem create\fR command of the HList widget accepts a variable
+number of arguments. The special argument \fB\-itemtype\fR specifies
+which type of display item to create. Options that are valid for this
+type of display items can then be specified by one or more
+\fIoption\-value\fR pairs.
+'
+.PP
+'
+After the display item is created, they can then be configured or
+destroyed using the commands provided by the host widget. For example,
+the HList widget has the command \fBitem configure\fR, \fBitem cget\fR
+and \fBitem delete\fR for accessing the display items.
+'
+'**********************************************************************
+'
+.SH CREATING AND MANIPULATING DISPLAY STYLES
+'
+'
+Display styles are created by the command \fBtixDisplayStyle\fR:
+'
+.SH SYNOPSIS
+\fBtixDisplayStyle\fI \fIitemType\fR ?\fI\-stylename name\fR? ?\fI\-refwindow pathName\fR? ?\fIoptions value ...\fR?
+'
+'
+.PP
+\fIitemType\fR must be one of the existing display items types such as
+\fBtext\fR, \fBimagetext\fR, \fBwindow\fR or any new types added by
+the user. Additional arguments can be given in one or more
+\fIoption\-value\fR pairs. \fIoption\fR can be any of the valid option
+for this display style or any of the following:
+.PP
+.RS
+'
+.TP
+\fB\-stylename \fIname\fR
+'
+Specifies a name for this style. If unspecified, then a default name
+will be chosen for this style.
+'
+.TP
+\fB\-refwindow \fIpathName\fR
+'
+Specifies a window to use for determine the default values of the
+display type. If unspecified, the main window will be used. Default
+values for the display types can be set via the options database. The
+following example sets the \fB\-disablebackground\fR and
+\fB\-disabledforeground\fR options of a \fBtext\fR display style via
+the option database:
+\fC
+.nf
+option add *table.list*disabledForeground blue
+option add *table.list*disabledBackground darkgray
+tixDisplayStyle text -refwindow .table.list -fg red
+.fi
+\fR
+'
+By using the option database to set the options of the display styles,
+we can advoid hard-coding the option values and give the user more
+flexibility in customization. See option(n) for a detailed description
+of the option database.
+'
+.SH STYLE COMMAND
+.PP
+The \fBtixDisplayStyle\fR command creates a new Tcl command whose name is the
+same as the name of the newly created display style. This command
+may be used to invoke various operations on the display style. It has the
+following general form:
+'
+'
+.DS C
+'
+\fIstyleName option \fR?\fIarg arg ...\fR?
+.PP
+.DE
+'
+\fIstyleName\fR is the name of the command. \fIOption\fR and the
+\fIarg\fRs determine the exact behavior of the command. The following
+commands are possible:
+'
+.TP
+\fIstyleName \fBcget\fR \fIoption\fR
+'
+Returns the current value of the configuration option given by
+\fIoption\fR. \fIOption\fR may have any of the valid options of this
+display style.
+'
+.TP
+'
+\fIstyleName \fBconfigure\fR ?\fIoption\fR? \fI?value option value ...\fR?
+'
+Query or modify the configuration options of the display style. If no
+\fIoption\fR is specified, returns a list describing all of the
+available options for \fIstyleName\fR (see \fBTk_ConfigureInfo\fR for
+information on the format of this list). If \fIoption\fR is specified
+with no \fIvalue\fR, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no \fIoption\fR is specified). If
+one or more \fIoption\-value\fR pairs are specified, then the command
+modifies the given option(s) to have the given value(s); in this case
+the command returns an empty string. \fIOption\fR may have any of the
+valid options of this display style.
+'
+.TP
+\fIstyleName \fBdelete\fR
+'
+Destroy this display style object.
+'
+.SH EXAMPLE
+'
+The following example creates two columns of data in a HList
+widget. The first column is in red and the second column in blue. The
+colors of the columns are controlled by two different \fBtext\fR
+styles. Also, the anchor and font of the second column is chosen so
+that the income data is aligned properly.
+'
+.PP
+\fC
+.nf
+set courier -*-courier-medium-r-*-*-14-*-*-*-*-*-*-*
+tixHList .h -columns 2; pack .h
+set red [tixDisplayStyle text -fg #800000]
+set blue [tixDisplayStyle text -fg #000080 -anchor e -font $courier]
+
+foreach n {{Joe $10,000} {Peter $20,000} {Raj $90,000} {Zinh $0}} {
+ set entry [.h addchild {}]
+ .h item create $entry 0 -itemtype text \\
+ -text [lindex $n 0] -style $red
+ .h item create $entry 1 -itemtype text \\
+ -text [lindex $n 1] -style $blue
+}
+.fi
+.PP
+\fR
+