This document describes the class libraries that are distributed together with the gnu Smalltalk programming language.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.
Alphabetic list:
Classes documented in this manual are boldfaced.
Object
BLOX.BEventTarget
BLOX.BCanvasObject
BLOX.BBoundingBox
BLOX.BEmbeddedImage
BLOX.BEmbeddedText
BLOX.BLine
BLOX.BRectangle
BLOX.BOval
BLOX.BArc
BLOX.BPolyline
BLOX.BSpline
BLOX.BEventSet
BLOX.BBalloon
BLOX.Blox
BLOX.BMenuObject
BLOX.BMenu
BLOX.BPopupMenu
BLOX.BMenuBar
BLOX.BMenuItem
BLOX.BCheckMenuItem
BLOX.BWidget
BLOX.BExtended
BLOX.BButtonLike
BLOX.BColorButton
BLOX.BDropDown
BLOX.BDropDownEdit
BLOX.BDropDownList
BLOX.BProgress
BLOX.BPrimitive
BLOX.BButton
BLOX.BRadioButton
BLOX.BToggle
BLOX.BEdit
BLOX.BForm
BLOX.BContainer
BLOX.BRadioGroup
BLOX.BDialog
BLOX.BWindow
BLOX.BPopupWindow
BLOX.BTransientWindow
BLOX.BImage
BLOX.BLabel
BLOX.BViewport
BLOX.BCanvas
BLOX.BScrolledCanvas
BLOX.BList
BLOX.BText
BLOX.BTextBindings
BLOX.BTextAttributes
BLOX.BTextTags
BLOX.Gui
Specifies the normal background color to use when displaying the widget.
Specifies the normal background color to use when displaying the widget.
Specifies the font to use when drawing text inside the widget. The font can be given as either an X font name or a Blox font description string.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the font to use when drawing text inside the widget. The font can be given as either an X font name or a Blox font description string.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the normal foreground color to use when displaying the widget.
Specifies the normal foreground color to use when displaying the widget.
Specifies a string to be displayed inside the widget. The way in which the string is displayed depends on the particular widget and may be determined by other options, such as anchor. For windows, this is the title of the window.
Specifies a string to be displayed inside the widget. The way in which the string is displayed depends on the particular widget and may be determined by other options, such as anchor. For windows, this is the title of the window.
BCanvasObject: I am BCanvas: No I am BCanvasObject: No I am BCanvas: No I am
well, you know, he always has something to object.
Specifies the normal background color to use when displaying the widget.
Specifies the normal background color to use when displaying the widget.
Specifies the normal foreground color to use when displaying the widget.
Specifies the normal foreground color to use when displaying the widget.
Widgets that are set to be “stretched” will share all the space that is not allocated to non-stretched widgets.
The layout of the widget can only be set before the first child is inserted in the widget.
If the dialog box is canceled, nil is answered, else the selected color is returned as a String with its RGB value.
If the dialog box is canceled, nil is answered, else the selected file name is returned as a String.
The dialog box is created with the given parent window and with aLabel as its title bar text. The name parameter indicates which file is initially selected, and the default extension specifies a string that will be appended to the filename if the user enters a filename without an extension.
The typeList parameter is an array of arrays, like #(('Text files' '.txt' '.diz') ('Smalltalk files' '.st')), and is used to construct a listbox of file types. When the user chooses a file type in the listbox, only the files of that type are listed. Each item in the array contains a list of strings: the first one is the name of the file type described by a particular file pattern, and is the text string that appears in the File types listbox, while the other ones are the possible extensions that belong to this particular file type.
If the dialog box is canceled, nil is answered, else the selected file name is returned as a String.
The dialog box is created with the given parent window and with aLabel as its title bar text. The name parameter indicates which file is initially selected, and the default extension specifies a string that will be appended to the filename if the user enters a filename without an extension.
The typeList parameter is an array of arrays, like #(('Text files' '.txt' '.diz') ('Smalltalk files' '.st')), and is used to construct a listbox of file types. When the user chooses a file type in the listbox, only the files of that type are listed. Each item in the array contains a list of strings: the first one is the name of the file type described by a particular file pattern, and is the text string that appears in the File types listbox, while the other ones are the possible extensions that belong to this particular file type.
Specifies the normal background color to use when displaying the widget.
Specifies the normal background color to use when displaying the widget.
Specifies the font to use when drawing text inside the widget. The font can be given as either an X font name or a Blox font description string.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the font to use when drawing text inside the widget. The font can be given as either an X font name or a Blox font description string.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the normal foreground color to use when displaying the widget.
Specifies the normal foreground color to use when displaying the widget.
Specifies the background color to use when displaying selected items in the list widget.
Specifies the background color to use when displaying selected items in the list widget.
Specifies the foreground color to use when displaying selected items in the list widget.
Specifies the foreground color to use when displaying selected items in the list widget.
If anObject is nil, then string is used as the element as well. If aString is nil, then the element's displayString is used as the label.
Answer anObject or, if it is nil, aString.
If anObject is nil, then string is used as the element as well. If aString is nil, then the element's displayString is used as the label.
Answer anObject or, if it is nil, aString.
Specifies the normal background color to use when displaying the widget.
Specifies the font to use when drawing text inside the widget. The font can be given as either an X font name or a Blox font description string.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the normal foreground color to use when displaying the widget.
Specifies the background color to use when displaying selected items in the list widget and the selection in the text widget.
Specifies the background color to use when displaying selected items in the list widget and the selection in the text widget.
Specifies the normal background color to use when displaying the widget.
Specifies the font to use when drawing text inside the widget. The font can be given as either an X font name or a Blox font description string.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the normal foreground color to use when displaying the widget.
Specifies the background color to use when displaying selected items in the list widget and, when the focus is inside the control, for the text widget as well.
Specifies the foreground color to use when displaying selected items in the list widget and, when the focus is inside the control, for the text widget as well.
Specifies the normal background color to use when displaying the widget.
Specifies the normal background color to use when displaying the widget.
Specifies the font to use when drawing text inside the widget. The font can be given as either an X font name or a Blox font description string.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the font to use when drawing text inside the widget. The font can be given as either an X font name or a Blox font description string.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the normal foreground color to use when displaying the widget.
Specifies the normal foreground color to use when displaying the widget.
Specifies the background color to use when displaying selected parts of the widget.
Specifies the background color to use when displaying selected parts of the widget.
Specifies the foreground color to use when displaying selected parts of the widget.
Specifies the foreground color to use when displaying selected parts of the widget.
Specifies the font to use when drawing text inside the widget. The font can be given as either an X font name or a Blox font description string.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the font to use when drawing text inside the widget. The font can be given as either an X font name or a Blox font description string.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the normal background color to use when displaying the widget.
Specifies the normal background color to use when displaying the widget.
Specifies the desired height for the form in pixels. If this option is less than or equal to zero then the window will not request any size at all.
Specifies the desired height for the form in pixels. If this option is less than or equal to zero then the window will not request any size at all.
Specifies the desired width for the form in pixels. If this option is less than or equal to zero then the window will not request any size at all.
Specifies the desired width for the form in pixels. If this option is less than or equal to zero then the window will not request any size at all.
Specifies the normal background color to use when displaying the widget.
Specifies the normal background color to use when displaying the widget.
Specifies the height of the image in pixels. This is not the height of the widget, but specifies the area of the widget that will be taken by the image.
Specifies the height of the image in pixels. This is not the height of the widget, but specifies the area of the widget that will be taken by the image.
Specifies the width of the image in pixels. This is not the width of the widget, but specifies the area of the widget that will be taken by the image.
Specifies the width of the image in pixels. This is not the width of the widget, but specifies the area of the widget that will be taken by the image.
Specifies the normal foreground color to use when displaying the widget.
Specifies the normal foreground color to use when displaying the widget.
Specifies that the colors allocated for displaying the image widget should be corrected for a non-linear display with the specified gamma exponent value. (The intensity produced by most CRT displays is a power function of the input value, to a good approximation; gamma is the exponent and is typically around 2). The value specified must be greater than zero. The default value is one (no correction). In general, values greater than one will make the image lighter, and values less than one will make it darker.
Specifies that the colors allocated for displaying the image widget should be corrected for a non-linear display with the specified gamma exponent value. (The intensity produced by most CRT displays is a power function of the input value, to a good approximation; gamma is the exponent and is typically around 2). The value specified must be greater than zero. The default value is one (no correction). In general, values greater than one will make the image lighter, and values less than one will make it darker.
Specifies how the information in a widget (e.g. text or a bitmap) is to be displayed in the widget. Must be one of the symbols #topLeft, #topCenter, #topRight, #leftCenter, #center, #rightCenter, #bottomLeft, #bottomCenter, #bottomRight. For example, #topLeft means display the information such that its top-left corner is at the top-left corner of the widget.
Specifies how the information in a widget (e.g. text or a bitmap) is to be displayed in the widget. Must be one of the symbols #topLeft, #topCenter, #topRight, #leftCenter, #center, #rightCenter, #bottomLeft, #bottomCenter, #bottomRight. For example, #topLeft means display the information such that its top-left corner is at the top-left corner of the widget.
Specifies the normal background color to use when displaying the widget.
Specifies the normal background color to use when displaying the widget.
Specifies the font to use when drawing text inside the widget. The font can be given as either an X font name or a Blox font description string.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the font to use when drawing text inside the widget. The font can be given as either an X font name or a Blox font description string.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the normal foreground color to use when displaying the widget.
Specifies the normal foreground color to use when displaying the widget.
Specifies a string to be displayed inside the widget. The way in which the string is displayed depends on the particular widget and may be determined by other options, such as anchor. For windows, this is the title of the window.
Specifies a string to be displayed inside the widget. The way in which the string is displayed depends on the particular widget and may be determined by other options, such as anchor. For windows, this is the title of the window.
If anObject is nil, then string is used as the element as well. If aString is nil, then the element's displayString is used as the label.
Answer anObject or, if it is nil, aString.
If anObject is nil, then string is used as the element as well. If aString is nil, then the element's displayString is used as the label.
Answer anObject or, if it is nil, aString.
Specifies the normal background color to use when displaying the widget.
Specifies the normal background color to use when displaying the widget.
Specifies the font to use when drawing text inside the widget. The font can be given as either an X font name or a Blox font description string.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the font to use when drawing text inside the widget. The font can be given as either an X font name or a Blox font description string.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the normal foreground color to use when displaying the widget.
Specifies the normal foreground color to use when displaying the widget.
Specifies the background color to use when displaying selected items in the widget.
Specifies the background color to use when displaying selected items in the widget.
Specifies the foreground color to use when displaying selected items in the widget.
Specifies the foreground color to use when displaying selected items in the widget.
Indicates the element that has the location cursor. This item will be displayed in the highlightForeground color, and with the corresponding background color.
Specifies one of several styles for manipulating the selection. The value of the option may be either single, browse, multiple, or extended.
If the selection mode is single or browse, at most one element can be selected in the listbox at once. Clicking button 1 on an unselected element selects it and deselects any other selected item, while clicking on a selected element has no effect. In browse mode it is also possible to drag the selection with button 1. That is, moving the mouse while button 1 is pressed keeps the item under the cursor selected.
If the selection mode is multiple or extended, any number of elements may be selected at once, including discontiguous ranges. In multiple mode, clicking button 1 on an element toggles its selection state without affecting any other elements. In extended mode, pressing button 1 on an element selects it, deselects everything else, and sets the anchor to the element under the mouse; dragging the mouse with button 1 down extends the selection to include all the elements between the anchor and the element under the mouse, inclusive.
In extended mode, the selected range can be adjusted by pressing button 1 with the Shift key down: this modifies the selection to consist of the elements between the anchor and the element under the mouse, inclusive. The un-anchored end of this new selection can also be dragged with the button down. Also in extended mode, pressing button 1 with the Control key down starts a toggle operation: the anchor is set to the element under the mouse, and its selection state is reversed. The selection state of other elements is not changed. If the mouse is dragged with button 1 down, then the selection state of all elements between the anchor and the element under the mouse is set to match that of the anchor element; the selection state of all other elements remains what it was before the toggle operation began.
Most people will probably want to use browse mode for single selections and extended mode for multiple selections; the other modes appear to be useful only in special situations.
Specifies one of several styles for manipulating the selection. The value of the option may be either single, browse, multiple, or extended.
If the selection mode is single or browse, at most one element can be selected in the listbox at once. Clicking button 1 on an unselected element selects it and deselects any other selected item, while clicking on a selected element has no effect. In browse mode it is also possible to drag the selection with button 1. That is, moving the mouse while button 1 is pressed keeps the item under the cursor selected.
If the selection mode is multiple or extended, any number of elements may be selected at once, including discontiguous ranges. In multiple mode, clicking button 1 on an element toggles its selection state without affecting any other elements. In extended mode, pressing button 1 on an element selects it, deselects everything else, and sets the anchor to the element under the mouse; dragging the mouse with button 1 down extends the selection to include all the elements between the anchor and the element under the mouse, inclusive.
In extended mode, the selected range can be adjusted by pressing button 1 with the Shift key down: this modifies the selection to consist of the elements between the anchor and the element under the mouse, inclusive. The un-anchored end of this new selection can also be dragged with the button down. Also in extended mode, pressing button 1 with the Control key down starts a toggle operation: the anchor is set to the element under the mouse, and its selection state is reversed. The selection state of other elements is not changed. If the mouse is dragged with button 1 down, then the selection state of all elements between the anchor and the element under the mouse is set to match that of the anchor element; the selection state of all other elements remains what it was before the toggle operation began.
Most people will probably want to use browse mode for single selections and extended mode for multiple selections; the other modes appear to be useful only in special situations.
NOTE: some of the methods (notably geometry methods) may not be suitable for all Blox subclasses and may be included only for backwards compatibility towards 1.1.5 BLOX. You should use geometry methods only for subclasses of BWidget.
Specifies one of three states for the button: normal, active, or disabled. In normal state the button is displayed using the foreground and background options. The active state is typically used when the pointer is over the button. In active state the button is displayed using the activeForeground and activeBackground options. Disabled state means that the button should be insensitive: the application will refuse to activate the widget and will ignore mouse button presses.
Specifies one of three states for the button: normal, active, or disabled. In normal state the button is displayed using the foreground and background options. The active state is typically used when the pointer is over the button. In active state the button is displayed using the activeForeground and activeBackground options. Disabled state means that the button should be insensitive: the application will refuse to activate the widget and will ignore mouse button presses.
Specifies a string to be displayed inside the widget. The way in which the string is displayed depends on the particular widget and may be determined by other options, such as anchor. For windows, this is the title of the window.
Specifies a string to be displayed inside the widget. The way in which the string is displayed depends on the particular widget and may be determined by other options, such as anchor. For windows, this is the title of the window.
Specifies a string to be displayed inside the widget. The way in which the string is displayed depends on the particular widget and may be determined by other options, such as anchor. For windows, this is the title of the window.
Specifies a string to be displayed inside the widget. The way in which the string is displayed depends on the particular widget and may be determined by other options, such as anchor. For windows, this is the title of the window.
Specifies background color to use when drawing active elements. An element (a widget or portion of a widget) is active if the mouse cursor is positioned over the element and pressing a mouse button will cause some action to occur. For some elements on Windows and Macintosh systems, the active color will only be used while mouse button 1 is pressed over the element.
Specifies background color to use when drawing active elements. An element (a widget or portion of a widget) is active if the mouse cursor is positioned over the element and pressing a mouse button will cause some action to occur. For some elements on Windows and Macintosh systems, the active color will only be used while mouse button 1 is pressed over the element.
Specifies foreground color to use when drawing active elements. See above for definition of active elements.
Specifies foreground color to use when drawing active elements. See above for definition of active elements.
Specifies the normal background color to use when displaying the widget.
Specifies the normal background color to use when displaying the widget.
Specifies the normal foreground color to use when displaying the widget.
Specifies the normal foreground color to use when displaying the widget.
This option is only available for open polylines. If you want to set it for a closed polylines, draw an open one on top of it.
This option is only available for open polylines. If you want to set it for a closed polylines, draw an open one on top of it.
This option is only available for open polylines. If you want to set it for a closed polylines, draw an open one on top of it.
This option is only available for open polylines. If you want to set it for a closed polylines, draw an open one on top of it.
Specifies the normal background color to use when displaying the widget.
Specifies the normal background color to use when displaying the widget.
Specifies the font to use when drawing text inside the widget. The font can be given as either an X font name or a Blox font description string.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the font to use when drawing text inside the widget. The font can be given as either an X font name or a Blox font description string.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the normal foreground color to use when displaying the widget.
Specifies the normal foreground color to use when displaying the widget.
Specifies the background color to use when displaying selected parts of the widget.
Specifies the background color to use when displaying selected parts of the widget.
Specifies the foreground color to use when displaying selected parts of the widget.
Specifies the foreground color to use when displaying selected parts of the widget.
Specifies how to handle lines in the text that are too long to be displayed in a single line of the text's window. The value must be #none or #char or #word. A wrap mode of none means that each line of text appears as exactly one line on the screen; extra characters that do not fit on the screen are not displayed. In the other modes each line of text will be broken up into several screen lines if necessary to keep all the characters visible. In char mode a screen line break may occur after any character; in word mode a line break will only be made at word boundaries.
Specifies how to handle lines in the text that are too long to be displayed in a single line of the text's window. The value must be #none or #char or #word. A wrap mode of none means that each line of text appears as exactly one line on the screen; extra characters that do not fit on the screen are not displayed. In the other modes each line of text will be broken up into several screen lines if necessary to keep all the characters visible. In char mode a screen line break may occur after any character; in word mode a line break will only be made at word boundaries.
anObject can be a String containing image data (either Base-64 encoded GIF data, XPM data, or PPM data), or the result or registering an image with #registerImage:
Registered image are private within each BText widget. Registering an image with a widget and using it with another could give unpredictable results.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the background color to use when displaying text with these attributes. nil indicates that the default value is not overridden.
Specifies the background color to use when displaying text with these attributes. nil indicates that the default value is not overridden.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
X font names are given as many fields, each led by a minus, and each of which can be replaced by an * to indicate a default value is ok: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (the same as pixel size for historical reasons), horizontal resolution, vertical resolution, spacing, width, charset and character encoding.
Blox font description strings have three fields, which must be separated by a space and of which only the first is mandatory: the font family, the font size in points (or in pixels if a negative value is supplied), and a number of styles separated by a space (valid styles are normal, bold, italic, underline and overstrike). Examples of valid fonts are “Helvetica 10 Bold”, “Times -14”, “Futura Bold Underline”. You must enclose the font family in braces if it is made of two or more words.
Specifies the foreground color to use when displaying text with these attributes. nil indicates that the default value is not overridden.
Specifies the foreground color to use when displaying text with these attributes. nil indicates that the default value is not overridden.
Specifies a non-negative value indicating the width of the 3-D border to draw around the outside of the widget (if such a border is being drawn; the effect option typically determines this). The value may also be used when drawing 3-D effects in the interior of the widget. The value is measured in pixels.
Specifies a non-negative value indicating the width of the 3-D border to draw around the outside of the widget (if such a border is being drawn; the effect option typically determines this). The value may also be used when drawing 3-D effects in the interior of the widget. The value is measured in pixels.
Specifies the mouse cursor to be used for the widget. The value of the option is given by the standard X cursor cursor, i.e., any of the names defined in cursorcursor.h, without the leading XC_.
Specifies the mouse cursor to be used for the widget. The value of the option is given by the standard X cursor cursor, i.e., any of the names defined in cursorcursor.h, without the leading XC_.
Specifies the effect desired for the widget's border. Acceptable values are raised, sunken, flat, ridge, solid, and groove. The value indicates how the interior of the widget should appear relative to its exterior; for example, raised means the interior of the widget should appear to protrude from the screen, relative to the exterior of the widget. Raised and sunken give the traditional 3-D appearance (for example, that of Xaw3D), while ridge and groove give a “chiseled” appearance like that of Swing or GTK+'s Metal theme. Flat and solid are not 3-D.
Specifies the effect desired for the widget's border. Acceptable values are raised, sunken, flat, ridge, solid, and groove. The value indicates how the interior of the widget should appear relative to its exterior; for example, raised means the interior of the widget should appear to protrude from the screen, relative to the exterior of the widget. Raised and sunken give the traditional 3-D appearance (for example, that of Xaw3D), while ridge and groove give a “chiseled” appearance like that of Swing or GTK+'s Metal theme. Flat and solid are not 3-D.
Determines whether the window accepts the focus during keyboard traversal (e.g., Tab and Shift-Tab). Before setting the focus to a window, Blox consults the value of the tabStop option. A value of false means that the window should be skipped entirely during keyboard traversal. true means that the window should receive the input focus as long as it is viewable (it and all of its ancestors are mapped). If you do not set this option, Blox makes the decision about whether or not to focus on the window: the current algorithm is to skip the window if it is disabled, it has no key bindings, or if it is not viewable. Of the standard widgets, BForm, BContainer, BLabel and BImage have no key bindings by default.
Determines whether the window accepts the focus during keyboard traversal (e.g., Tab and Shift-Tab). Before setting the focus to a window, Blox consults the value of the tabStop option. A value of false means that the window should be skipped entirely during keyboard traversal. true means that the window should receive the input focus as long as it is viewable (it and all of its ancestors are mapped). If you do not set this option, Blox makes the decision about whether or not to focus on the window: the current algorithm is to skip the window if it is disabled, it has no key bindings, or if it is not viewable. Of the standard widgets, BForm, BContainer, BLabel and BImage have no key bindings by default.
If the application currently has the input focus on the receiver's display, this method resets the input focus for the receiver's display to the receiver. If the application doesn't currently have the input focus on the receiver's display, Blox will remember the receiver as the focus for its top-level; the next time the focus arrives at the top-level, it will be redirected to the receiver (this is because most window managers will set the focus only to top-level windows, leaving it up to the application to redirect the focus among the children of the top-level).
If the method returns true, the window and its children are destroyed (which is the default action, taken if no callback is set up). If the method returns false, the window is left in place.
Specifies a string to be displayed inside the widget. The way in which the string is displayed depends on the particular widget and may be determined by other options, such as anchor. For windows, this is the title of the window.
Specifies a string to be displayed inside the widget. The way in which the string is displayed depends on the particular widget and may be determined by other options, such as anchor. For windows, this is the title of the window.
Specifies a menu widget to be used as a menubar. On the Macintosh, the menubar will be displayed accross the top of the main monitor. On Microsoft Windows and all UNIX platforms, the menu will appear accross the toplevel window as part of the window dressing maintained by the window manager.
Answer whether the user can be resize the window or not. If resizing is disabled, then the window's size will be the size from the most recent interactive resize or geometry-setting method. If there has been no such operation then the window's natural size will be used.
Answer whether the user can be resize the window or not. If resizing is disabled, then the window's size will be the size from the most recent interactive resize or geometry-setting method. If there has been no such operation then the window's natural size will be used.
When a grab is set for a particular window, all pointer events are restructed to the grab window and its descendants in Blox's window hierarchy. Whenever the pointer is within the grab window's subtree, the pointer will behave exactly the same as if there had been no grab grab at all and all events will be reported in the normal fashion. When the pointer is outside the window's tree, button presses and releases and mouse motion events are reported to the grabbing window, and window entry and window exit events are ignored. In other words, windows outside the grab subtree will be visible on the screen but they will be insensitive until the grab is released. The tree of windows underneath the grab window can include top-level windows, in which case all of those top-level windows and their descendants will continue to receive mouse events during the grab. Keyboard events (key presses and key releases) are delivered as usual: the window manager controls which application receives keyboard events, and if they are sent to any window in the grabbing application then they are redirected to the window owning the focus.
Specifies one of four states for the window: either normal, iconic, withdrawn, or (Windows only) zoomed.
Alphabetic list:
Classes documented in this manual are boldfaced.
Object
Magnitude
Number
Complex
Alphabetic list:
Classes documented in this manual are boldfaced.
Object
DBI.ColumnInfo
DBI.Connection
DBI.ConnectionInfo
DBI.FieldConverter
DBI.Row
DBI.Statement
Iterable
Stream
DBI.ResultSet
Individual drivers may parse the parameters differently, though the existing ones all support parameters dbname, host and port.
Alphabetic list:
Classes documented in this manual are boldfaced.
Object Debugger
Alphabetic list:
Classes documented in this manual are boldfaced.
Object
FileSegment
I18N.FileStreamSegment
I18N.EncodedStringFactory
I18N.LocaleData
I18N.LcMessagesDomain
I18N.LcMessagesCatalog
I18N.LcMessagesMoFileVersion0
I18N.LcMessagesDummyDomain
I18N.LcMessagesTerritoryDomain
I18N.Locale
I18N.LocaleConventions
I18N.LcMessages
I18N.LcPrintFormats
I18N.LcNumeric
I18N.LcMonetary
I18N.LcMonetaryISO
I18N.LcTime
I18N.RunTimeExpression
I18N.RTEAlternativeNode
I18N.RTEBinaryNode
I18N.RTELiteralNode
I18N.RTENegationNode
I18N.RTEParameterNode
Iterable
Collection
SequenceableCollection
ArrayedCollection
CharacterArray
I18N.EncodedString
Stream
FileDescriptor
FileStream
I18N.BigEndianFileStream
I18N.EncodedStream
I18N.Encoder
Signal
Exception
Error
I18N.IncompleteSequenceError
I18N.InvalidSequenceError
SystemExceptions.InvalidValue
SystemExceptions.SystemExceptions.InvalidArgument
I18N.InvalidCharsetError
The former class is a stream that accepts characters and returns (via #next) integers representing UTF-32 character codes, while the latter accepts UTF-32 character codes and converts them to characters. For an example see respectively FromUTF7 and ToUTF7 (I admit it is not a trivial example).
Translations are accessed using either #at: or the shortcut binary messages `?'. This way, common idioms to access translated strings will be
string := NLS? 'abc'. string := self? 'abc'.
(in the first case NLS is a class variable, in the second the receiver implements #? through delegation) which is only five or six characters longer than the traditional
string := 'abc'.
(cfr. the _("abc") idiom used by GNU gettext)
The format of the generated MO files is best described by a picture, which appears below.
The first two words serve the identification of the file. The magic number will always signal GNU MO files. The number is stored in the byte order of the generating machine, so the magic number really is two numbers: `0x950412de' and `0xde120495'. The second word describes the current revision of the file format. For now the revision is 0. This might change in future versions, and ensures that the readers of MO files can distinguish new formats from old ones, so that both can be handled correctly. The version is kept separate from the magic number, instead of using different magic numbers for different formats, mainly because `/etc/magic' is not updated often. It might be better to have magic separated from internal format version identification.
Follow a number of pointers to later tables in the file, allowing for the extension of the prefix part of MO files without having to recompile programs reading them. This might become useful for later inserting a few flag bits, indication about the charset used, new tables, or other things.
Then, at offset O and offset T in the picture, two tables of string descriptors can be found. In both tables, each string descriptor uses two 32 bits integers, one for the string length, another for the offset of the string in the MO file, counting in bytes from the start of the file. The first table contains descriptors for the original strings, and is sorted so the original strings are in increasing lexicographical order. The second table contains descriptors for the translated strings, and is parallel to the first table: to find the corresponding translation one has to access the array slot in the second array with the same index.
Having the original strings sorted enables the use of simple binary search, for when the MO file does not contain an hashing table, or for when it is not practical to use the hashing table provided in the MO file. This also has another advantage, as the empty string in a PO file GNU `gettext' is usually *translated* into some system information attached to that particular MO file, and the empty string necessarily becomes the first in both the original and translated tables, making the system information very easy to find.
The size S of the hash table can be zero. In this case, the hash table itself is not contained in the MO file. Some people might prefer this because a precomputed hashing table takes disk space, and does not win *that* much speed. The hash table contains indices to the sorted array of strings in the MO file. Conflict resolution is done by double hashing. The precise hashing algorithm used is fairly dependent of GNU `gettext' code, and is not documented here.
As for the strings themselves, they follow the hash file, and each is terminated with a <NUL>, and this <NUL> is not counted in the length which appears in the string descriptor. The `msgfmt' program has an option selecting the alignment for MO file strings. With this option, each string is separately aligned so it starts at an offset which is a multiple of the alignment value. On some RISC machines, a correct alignment will speed things up.
Nothing prevents a MO file from having embedded <NUL>s in strings. However, the program interface currently used already presumes that strings are <NUL> terminated, so embedded <NUL>s are somewhat useless. But MO file format is general enough so other interfaces would be later possible, if for example, we ever want to implement wide characters right in MO files, where <NUL> bytes may accidently appear.
This particular issue has been strongly debated in the GNU `gettext' development forum, and it is expectable that MO file format will evolve or change over time. It is even possible that many formats may later be supported concurrently. But surely, we have to start somewhere, and the MO file format described here is a good start. Nothing is cast in concrete, and the format may later evolve fairly easily, so we should feel comfortable with the current approach.
byte +————————————————————–+ 0 | magic number = 0x950412de | | | 4 | file format revision = 0 | | | 8 | number of strings | == N | | 12 | offset of table with original strings | == O | | 16 | offset of table with translation strings | == T | | 20 | size of hashing table | == S | | 24 | offset of hashing table | == H | | . . . (possibly more entries later) . . . | | O | length & offset 0th string ———————–. O + 8 | length & offset 1st string ————————–. ... ... | | O + ((N-1)*8)| length & offset (N-1)th string | | | | | | | T | length & offset 0th translation ———————. T + 8 | length & offset 1st translation ————————. ... ... | | | | T + ((N-1)*8)| length & offset (N-1)th translation | | | | | | | | | | | H | start hash table | | | | | ... ... | | | | H + S * 4 | end hash table | | | | | | | | | | | | NUL terminated 0th string <———————–' | | | | | | | | | NUL terminated 1st string <————————–' | | | | | | ... ... | | | | | | | NUL terminated 0th translation <———————' | | | | | NUL terminated 1st translation <————————' | | ... ... | | +————————————————————–+
Locating Message Catalog Files ——————————————–
Because many different languages for many different packages have to be stored we need some way to add these information to file message catalog files. The way usually used in Unix environments is have this encoding in the file name. This is also done here. The directory name given in `bindtextdomain's second argument (or the default directory), followed by the value and name of the locale and the domain name are concatenated:
DIR_NAME/LOCALE/LC_CATEGORY/DOMAIN_NAME.mo
The default value for DIR_NAME is system specific. For the GNU library, and for packages adhering to its conventions, it's: /usr/local/share/locale
LOCALE is the value of the locale whose name is this `LC_CATEGORY'. For `gettext' and `dgettext' this locale is always `LC_MESSAGES'.
Alphabetic list:
Classes documented in this manual are boldfaced.
Object
CObject
CCompound
CStruct
Sockets.CAddrInfoStruct
Sockets.CSockAddrIn6Struct
Iterable
Stream
FileDescriptor
Sockets.AbstractSocketImpl
Sockets.DatagramSocketImpl
Sockets.MulticastSocketImpl
Sockets.UDPSocketImpl
Sockets.OOBSocketImpl
Sockets.RawSocketImpl
Sockets.ICMP6SocketImpl
Sockets.ICMPSocketImpl
Sockets.UnixDatagramSocketImpl
Sockets.SocketImpl
Sockets.TCPSocketImpl
Sockets.UnixSocketImpl
PositionableStream
ReadStream
Sockets.ReadBuffer
WriteStream
Sockets.WriteBuffer
Sockets.AbstractSocket
Sockets.DatagramSocket
Sockets.MulticastSocket
Sockets.ServerSocket
Sockets.StreamSocket
Sockets.Socket
Sockets.DummyStream
Sockets.Datagram
Sockets.SocketAddress
Sockets.IP6Address
Sockets.IPAddress
Sockets.UnixAddress
This class only takes care of buffering and blocking if requested. It uses an underlying socket implementation object which is a subclass of AbstractSocketImpl. This is necessary to hide some methods in FileDescriptor that are not relevant to sockets, as well as to implement buffering independently of the implementation nuances required by the different address families. The address family class (a subclass of SocketAddress) acts as a factory for socket implementation objects.
A default implementation is provided by each address family, but this can be changed by class methods on SocketAddress sublcasses.
This class can also be used for receiving data from the network.
This class uses an underlying socket implementation object which is a subclass of DatagramSocketImpl. This is less necessary for datagram sockets than for stream sockets (except for hiding some methods in FileDescriptor that are not relevant to sockets), but it is done for cleanliness and symmetry.
An Internet host address is a number containing four bytes of data. These are divided into two parts, a network number and a local network address number within that network. The network number consists of the first one, two or three bytes; the rest of the bytes are the local address.
Network numbers are registered with the Network Information Center (NIC), and are divided into three classes–A, B, and C. The local network address numbers of individual machines are registered with the administrator of the particular network.
Class A networks have single-byte numbers in the range 0 to 127. There are only a small number of Class A networks, but they can each support a very large number of hosts (several millions). Medium-sized Class B networks have two-byte network numbers, with the first byte in the range 128 to 191; they support several thousands of host, but are almost exhausted. Class C networks are the smallest and the most commonly available; they have three-byte network numbers, with the first byte in the range 192-223. Class D (multicast, 224.0.0.0 to 239.255.255.255) and E (research, 240.0.0.0 to 255.255.255.255) also have three-byte network numbers.
Thus, the first 1, 2, or 3 bytes of an Internet address specifies a network. The remaining bytes of the Internet address specify the address within that network. The Class A network 0 is reserved for broadcast to all networks. In addition, the host number 0 within each network is reserved for broadcast to all hosts in that network. The Class A network 127 is reserved for loopback; you can always use the Internet address `127.0.0.1' to refer to the host machine (this is answered by the #loopbackHost class method).
Since a single machine can be a member of multiple networks, it can have multiple Internet host addresses. However, there is never supposed to be more than one machine with the same host address.
There are four forms of the standard numbers-and-dots notation for Internet addresses: a.b.c.d specifies all four bytes of the address individually; a.b.c interprets as a 2-byte quantity, which is useful for specifying host addresses in a Class B network with network address number a.b; a.b intrprets the last part of the address as a 3-byte quantity, which is useful for specifying host addresses in a Class A network with network address number a.
If only one part is given, this corresponds directly to the host address number.
In the TCP/IP world, these sockets are UDP-based and a multicast group consists of a multicast address (a class D internet address, i.e. one whose most significant bits are 1110), and a well known port number.
As with the other AbstractSocket subclasses, most instance methods of this class simply redirect their calls to an implementation class.
Alphabetic list:
Classes documented in this manual are boldfaced.
Object
Iterable
Stream
ZLib.ZlibStream
ZLib.ZlibReadStream
ZLib.RawDeflateStream
ZLib.DeflateStream
ZLib.GZipDeflateStream
ZLib.RawInflateStream
ZLib.GZipInflateStream
ZLib.InflateStream
ZLib.ZlibWriteStream
ZLib.RawDeflateWriteStream
ZLib.DeflateWriteStream
ZLib.GZipDeflateWriteStream
Signal
Exception
Error
ZLib.ZlibError
by Thomas Gagne
If you're like me, the first thing you may be trying to do is build a Document Object Model (DOM) tree from some kind of XML input. Assuming you've got the XML in a String the following code will build an XML Document:
XML XMLParser processDocumentString: theXMLString
beforeScanDo: [ :p | p validate: false].
Though the code above appears as though it should be easy to use, there's
some hidden features you should know about. First, theXMLString
can not contain any null bytes. Depending on where your XML comes from
it may have a NULL byte at the end (like mine did). Many languages implement
strings as an array of bytes (usually printable ones) ending with a null
(a character with integer value 0). In my case, the XML was coming from
a remote client written in C using middleware to send the message to my server.
Since the middleware doesn't assume to know anything about the message
it received, it's received into a String, null-byte and all. To remove it I used:
XML XMLParser processDocumentString: (aString copyWithout: 0 asCharacter)
beforeScanDo: [ :p | p validate: false].
Starting out, I didn't know much about the value of DTDs either (Document Type Definitions), so I wasn't using them (more on why you should later). What you need to know is XML comes in two flavors, (three if you include broken as a flavor) well-formed and valid.
Well-formed XML is simply XML following the basic rules, like only one top-level (the document's root), no overlapping tags, and a few other contraints. Valid XML means not only is the XML well-formed, but it's also compliant with some kind of rule base about which elements are allowed to follow which other ones, whether or not attributes are permitted and what their values and defaults should be, etc.
There's no way to get around well-formedness. Most XML tools complain vociferously about missing or open tags. What you may not have lying around, though, is a DTD describing how the XML should be assembled. If you need to skip validation for any reason you must include the selector:
beforeScanDo: [ :p | p validate: false].
Now that you have your XML document, you probably want to access its contents (why else would you want one, right?). Let's take the following (brief) XML as an example:
<porder porder_num="10351">
<porder_head>
<order_date>01/04/2000</order_date>
</porder_head>
<porder_line>
<part>widget</part>
<quantity>1.0000</quantity>
</porder_line>
<porder_line>
<part>doodad</part>
<quantity>2.0000</quantity>
</porder_line>
</porder>
The first thing you probably want to know is how to access the different tags, and more specifically, how to access the contents of those tags. First, by way of providing a roadmap to the elements I'll show you the Smalltalk code for getting different pieces of the document, assuming the variable you've assigned the document to is named doc. I'll also create instance variables for the various elements as I go along:
| Element you want | Code to get it
|
| porder element | doc root
|
| porder_head | doc root elementNamed: 'porder_head'
|
| order_date (as a String) | (porderHead elementNamed: 'order_date') characterData
|
| order_date (as a Date) | (Date readFrom: (porderHead elementNamed: 'order_date') characterData readStream)
|
| a collection with both porder_lines | doc root elementsNamed: 'porder_line'
|
I've deliberately left-out accessing porder's attribute because accessing
them is different from accessing other nodes. You can get an OrderedCollection
of attributes using:
attributes := doc root attributes.
but the ordered collection isn't really useful. To access any single attribute you'd need to look for it in the collection:
porderNum := (attributes detect: [ :each | each key type = 'porder_num' ]) value.
But that's not a whole lot of fun, especially if there's a lot you need to get,
and if there's any possibility the attribute may not exist. Then you have to do the whole
detect:ifNone: thing, and boy, does that make the code readable!
What I did instead was create a method in my objects' abstract:
dictionaryForAttributes: aCollection
^Dictionary withAll: (aCollection
collect: [ :each | each key type -> each value ])
Now what you have is an incrementally more useful method for getting attributes:
attributes := self dictionaryForAttributes: doc root attributes.
porderNum := attributes at: 'porder_num'.
At first this appears like more code, and for a single attribute it probably is. But if an element includes more than one attribute the payoff is fairly decent. Of course, you still need to handle the absence of an attribute in the dictionary but I think it reads a little better using a Dictionary than an OrderedCollection:
porderNum := attributes at: 'porder_num' ifAbsent: [].
There's little reason to build an XML document if its not going to be processed by something down the road. Most XML tools require XML documents have a document root. A root is a tag inside which all other tags exist, or put another way, a single parent node from which all other nodes descend. In my case, a co-worker was attempting to use Sablot's sabcmd to transform the XML from my server into HTML. So start your document with the root ready to go:
replyDoc := XML Document new.
replyDoc addNode: (XML Element tag: 'response').
Before doing anything more complex, we can play with our new XML document. Assuming you're going to want to send the XML text to someone or write it to a file, you may first want to capture it in a string. Even if you don't want to first capture it into a string our example is going to:
replyStream := String new writeStream.
replyDoc printOn: replyStream.
If we examine'd the contents of our replyStream
(replyStream contents) we'd see:
<response/>
Which is what an empty tag looks like.
Let's add some text to our XML document now. Let's say we want it to look like:
<response>Hello, world!</response>
Building this actually requires two nodes be added to a new XML
document. The first node (or element) is named response.
The second node adds text to the first:
replyDoc := XML Document new.
replyDoc addNode: (XML Element tag: response). "our root node"
replyDoc root addNode: (XML Text text: 'Hello, world!').
Another way of writing it, and the way I've adopted in my code is to create the whole
node before adding it. This is not just to reduce the appearance of assignments,
but it suggests a template for cascading #addNode: messages to an element,
which, if you're building any kind of nontrivial XML, you'll be doing a lot of:
replyDoc := XML Document new.
replyDoc addNode: (
(XML Element tag: response)
addNode: (XML Text text: 'Hello, world!')
).
Unless you're absolutely sure you'll never accidentally add text nodes that have an ampersand (&) in them, you'll need to escape it to get past XML parsers. The way I got around this was to escape them whenever I added text nodes. To make it easier, I (again) created a method in my objects' abstract superclass:
asXMLElement: tag value: aValue
| n |
n := XML Element tag: tag.
aValue isNil ifFalse: [
n addNode: (XML Text
text: (aValue displayString copyReplaceAll: '&' with: '&'))].
^n
Calls to self asXMLElement: 'sometagname' value: anInstanceVariable are
littered throughout my code.
Adding attributes to documents is, thankfully, easier than accessing them. If we wanted to add an attribute to our document above we can do so with a single statement:
replyDoc root addAttribute: (XML Attribute name: 'isExample' value: 'yes').
Now, our XML looks like:
<response isExample="yes">Hello, world!</response>
What I didn't appreciate in my first XML project (this one) was how much error checking I was doing just to verify the format of incoming XML. During testing I'd go looking for attributes or elements that should have been there but for various reasons were not. Because I was coding fast and furious I overlooked some and ignored others. Testing quickly ferreted out my carelessnes and my application started throwing exceptions faster than election officials throw chads.
The cure, at least for formatting, is having a DTD, or Document Type Definition describing the XML format. You can read more about the syntax of DTDs in the XML specification.
There's not a lot programmers are able to do with DTDs in VisualWorks, except requiring incoming XML to include DOCTYPE statements. There is something programmers need to do to handle the exceptions the XML parser throws when it finds errors.
I'm not an expert at writing Smalltalk exception handling code, and I haven't decided on what those exceptions should look like to the client who sent the poorly formatted XML in the first place. The code below does a decent job of catching the errors and putting the description of the error into an XML response. It's also a fairly decent example of XML document building as discussed earlier.
replyDoc := XML Document new.
replyDoc addNode: (XML Element tag: 'response').
[
doc := XML XMLParser processDocumentString: (anIsdMessage message copyWithout: 0) asString
] on: Exception do: [ :ex |
replyDoc root
addAttribute: (XML Attribute name: 'type' value: 'Exception');
addNode: ((XML Element tag: 'description')
addNode: (XML Text text: ex signal description));
addNode: ((XML Element tag: 'message')
addNode: (XML Text text: ex messageText))
].
I said before there's not a lot programmers can do with DTDs, but there are some things I wish VW's XML library would do:
I spent a night the other week trying to figure out how to get VW's XSL libraries to do anything. I no longer need it now, but I did discover some things others with an immediate need may want to be aware of.
A code snippet for doing just that appears below.
| rules xmlDoc htmlDoc |
rules := XSL RuleDatabase new readFileNamed: 'paymentspending.xsl'.
xmlDoc := XML XMLParser
processDocumentInFilename: 'paymentspending.xml'
beforeScanDo: [ :p | p validate: false ].
htmlDoc := rules process: xmlDoc.
There is also a readString: method which can be used
instead of readFileNamed:.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
position() and count() aren't
implemented, or if they are, aren't implemented in the way other XSL
tools implement it.
Cincom, for supporting Smalltalk and the Smalltalk community by making an open-source version available.
Thanks also to Randy Ynchausti, Bijan Parsia, Reinout Heeck, and Joseph Bacanskas for answering many questions on VW XML.
*: Complex-math+: Complex-math-: Complex-math/: Complex-math<: Complex-comparing<=: Complex-comparing=: Sockets.UnixAddress-accessing=: Sockets.SocketAddress-accessing=: Complex-comparing>: Complex-comparing>=: Complex-comparing>>: DBI.Connection-accessing?: I18N.LocaleConventions-accessing?: I18N.LocaleConventions class-accessing?: I18N.LcPrintFormats-printing?: I18N.LcMessagesDomain-querying?: I18N.LcMessages-opening MO filesabs: Complex-mathabsSquared: Complex-mathaccept: Sockets.ServerSocket-accessingaccept:: Sockets.ServerSocket-accessingaccept:: Sockets.AbstractSocketImpl-socket operationsaccept:peer:addrLen:: Sockets.AbstractSocketImpl-C call-outsaccept:peer:addrLen:: Sockets.AbstractSocketImpl class-C call-outsactivate: BLOX.BWidget-widget protocolactivateNext: BLOX.BWidget-widget protocolactivatePrevious: BLOX.BWidget-widget protocolactive: BLOX.Blox class-utilityactiveBackground: BLOX.BMenuObject-accessingactiveBackground:: BLOX.BMenuObject-accessingactiveForeground: BLOX.BMenuObject-accessingactiveForeground:: BLOX.BMenuObject-accessingadd:: BLOX.BMenuBar-accessingadd:afterIndex:: BLOX.BList-accessingadd:afterIndex:: BLOX.BDropDown-list box accessingadd:element:afterIndex:: BLOX.BList-accessingadd:element:afterIndex:: BLOX.BDropDown-list box accessingaddButton:receiver:index:: BLOX.BDialog-accessingaddButton:receiver:message:: BLOX.BDialog-accessingaddButton:receiver:message:argument:: BLOX.BDialog-accessingaddChild:: BLOX.BWidget-customizationaddChild:: BLOX.BPopupWindow-geometry managementaddChild:: BLOX.Blox-customizationaddChild:: BLOX.BCanvas-geometry managementaddEventSet:: BLOX.BEventTarget-intercepting eventsaddLast:: BLOX.BList-accessingaddLast:: BLOX.BDropDown-list box accessingaddLast:element:: BLOX.BList-accessingaddLast:element:: BLOX.BDropDown-list box accessingaddLine: BLOX.BMenu-callback registrationaddMenuItemFor:notifying:: BLOX.BMenu-callback registrationaddress: Sockets.StreamSocket-accessingaddress: Sockets.ServerSocket-accessingaddress: Sockets.DatagramSocket-accessingaddress: Sockets.Datagram-accessingaddress: Sockets.AbstractSocket-accessingaddress:: Sockets.Datagram-accessingaddressClass: Sockets.IPAddress-accessingaddressClass: Sockets.AbstractSocketImpl class-abstractaddressFamily: Sockets.UnixAddress class-C constantsaddressFamily: Sockets.SocketAddress class-C constantsaddressFamily: Sockets.IPAddress class-C constantsaddressFamily: Sockets.IP6Address class-C constantsaddressSize: Sockets.IPAddress class-constantsaddressSize: Sockets.IP6Address class-constantsaiAddr: Sockets.CAddrInfoStruct-C call-outsaiAddrconfig: Sockets.SocketAddress class-C constantsaiAll: Sockets.IP6Address class-C constantsaiCanonname: Sockets.SocketAddress class-C constantsaiCanonname: Sockets.CAddrInfoStruct-C call-outsaiV4mapped: Sockets.IP6Address class-C constantsalignment: BLOX.BLabel-accessingalignment:: BLOX.BLabel-accessingallByName:: Sockets.SocketAddress class-host name lookupallFormatsExample: I18N.LcTime-testsanyLocalAddress: Sockets.SocketAddress class-accessinganyLocalAddress:: Sockets.SocketAddress class-initializationarcTan: Complex-transcendental functionsarcTan:: Complex-transcendental functionsarg: Complex-transcendental functionsasArray: DBI.Row-accessingasByteArray: Sockets.SocketAddress-accessingasByteArray: Sockets.IPAddress-accessingasByteArray: Sockets.IP6Address-accessingasDictionary: DBI.Row-accessingasExactFraction: Complex-convertingasFloat: Complex-convertingasFloatD: Complex-convertingasFloatE: Complex-convertingasFloatQ: Complex-convertingasFraction: Complex-convertingasPrimitiveWidget: BLOX.BPrimitive-accessingasPrimitiveWidget: BLOX.BMenuObject-accessingasPrimitiveWidget: BLOX.Blox-widget protocolasPrimitiveWidget: BLOX.BExtended-accessingassociationAt:: BLOX.BList-accessingassociationAt:: BLOX.BDropDown-list box accessingasString: I18N.EncodedString-accessingasUnicodeString: I18N.EncodedString-accessingat:: I18N.LcMessagesDomain-queryingat:: I18N.EncodedString-accessingat:: DBI.Row-accessingat:: BLOX.Blox class-utilityat:: BLOX.BList-accessingat:: BLOX.BDropDown-list box accessingat:: BLOX.BCanvas-widget protocolat:cache:: Sockets.SocketAddress class-accessingat:plural:with:: I18N.LcMessagesDomain-queryingat:put:: I18N.LcMessagesDomain-queryingat:put:: I18N.EncodedString-accessingatEnd: ZLib.ZlibReadStream-streamingatEnd: Sockets.StreamSocket-stream protocolatEnd: Sockets.ReadBuffer-buffer handlingatEnd: Sockets.AbstractSocket-stream protocolatEnd: I18N.Encoder-stream operationsatEnd: DBI.ResultSet-cursor accessatEndOfInput: I18N.Encoder-stream operationsatIndex:: DBI.Row-accessingatMouse: BLOX.Blox class-utilityavailable: Sockets.AbstractSocket-accessingavailableBytes: Sockets.StreamSocket-stream protocolavailableBytes: Sockets.ReadBuffer-buffer handlingbackgroundColor: BLOX.BTextAttributes-setting attributesbackgroundColor: BLOX.BText-accessingbackgroundColor: BLOX.BProgress-accessingbackgroundColor: BLOX.BMenuObject-accessingbackgroundColor: BLOX.BList-accessingbackgroundColor: BLOX.BLabel-accessingbackgroundColor: BLOX.BImage-accessingbackgroundColor: BLOX.BForm-accessingbackgroundColor: BLOX.BEdit-accessingbackgroundColor: BLOX.BDropDown-accessingbackgroundColor: BLOX.BCanvas-accessingbackgroundColor: BLOX.BButton-accessingbackgroundColor:: BLOX.BTextAttributes-setting attributesbackgroundColor:: BLOX.BTextAttributes class-instance-creation shortcutsbackgroundColor:: BLOX.BText-accessingbackgroundColor:: BLOX.BProgress-accessingbackgroundColor:: BLOX.BMenuObject-accessingbackgroundColor:: BLOX.BList-accessingbackgroundColor:: BLOX.BLabel-accessingbackgroundColor:: BLOX.BImage-accessingbackgroundColor:: BLOX.BForm-accessingbackgroundColor:: BLOX.BEdit-accessingbackgroundColor:: BLOX.BDropDownList-accessingbackgroundColor:: BLOX.BDropDownEdit-accessingbackgroundColor:: BLOX.BDropDown-accessingbackgroundColor:: BLOX.BCanvas-accessingbackgroundColor:: BLOX.BButton-accessingballoonDelayTime: BLOX.BBalloon class-accessingballoonDelayTime:: BLOX.BBalloon class-accessingbasicAddChild:: BLOX.Blox-customizationbasicPrint:on:: I18N.LcNumeric-printingbeep: BLOX.Blox class-utilitybetween:and:do:: BLOX.BCanvas-widget protocolbind:to:addrLen:: Sockets.AbstractSocketImpl-C call-outsbind:to:addrLen:: Sockets.AbstractSocketImpl class-C call-outsbindTo:port:: Sockets.AbstractSocketImpl-socket operationsblack: BLOX.BTextAttributes-colorsblack: BLOX.BTextAttributes class-instance-creation shortcutsblank: BLOX.BImage-image managementblox: BLOX.Gui-accessingblox: BLOX.BCanvasObject-accessingblox:: BLOX.Gui-accessingblue: BLOX.BTextAttributes-colorsblue: BLOX.BTextAttributes class-instance-creation shortcutsborderWidth: BLOX.BWidget-accessingborderWidth:: BLOX.BWidget-accessingboundingBox: BLOX.BWidget-geometry managementboundingBox: BLOX.BPolyline-accessingboundingBox: BLOX.BCanvasObject-accessingboundingBox: BLOX.BCanvas-widget protocolboundingBox: BLOX.BBoundingBox-accessingboundingBox:: BLOX.BWidget-geometry managementbringToTop: BLOX.BWidget-widget protocolbufferContents: Sockets.StreamSocket-stream protocolbufferContents: Sockets.ReadBuffer-buffer handlingbufferSize: ZLib.ZlibStream class-accessingbufferSize: Sockets.DatagramSocketImpl-accessingbufferSize: Sockets.DatagramSocket-accessingbufferSize:: ZLib.ZlibStream class-accessingbufferSize:: Sockets.DatagramSocketImpl-accessingbufferSize:: Sockets.DatagramSocket-accessingbyName:: Sockets.SocketAddress class-host name lookupcallback: BLOX.BWindow-accessingcallback: BLOX.BText-accessingcallback: BLOX.BMenuObject-callbackcallback: BLOX.BList-widget protocolcallback: BLOX.BEdit-accessingcallback: BLOX.BDropDown-callbackscallback: BLOX.BButtonLike-accessingcallback: BLOX.BButton-accessingcallback:message:: BLOX.BWindow-accessingcallback:message:: BLOX.BToggle-accessingcallback:message:: BLOX.BText-accessingcallback:message:: BLOX.BRadioButton-accessingcallback:message:: BLOX.BMenuObject-callbackcallback:message:: BLOX.BList-widget protocolcallback:message:: BLOX.BEdit-accessingcallback:message:: BLOX.BDropDownList-callbackscallback:message:: BLOX.BDropDown-callbackscallback:message:: BLOX.BButtonLike-accessingcallback:message:: BLOX.BButton-accessingcallback:message:argument:: BLOX.BMenuObject-callbackcallback:using:: BLOX.BMenu-callback registrationcanRead: Sockets.StreamSocket-stream protocolcanRead: Sockets.OOBSocketImpl-implementationcanRead: Sockets.AbstractSocket-accessingcanWrite: Sockets.Socket-stream protocolcanWrite: Sockets.AbstractSocket-accessingcap: BLOX.BPolyline-accessingcap: BLOX.BLine-accessingcap:: BLOX.BPolyline-accessingcap:: BLOX.BLine-accessingcategory: I18N.LocaleData class-accessingcategory: I18N.LcTime class-accessingcategory: I18N.LcNumeric class-accessingcategory: I18N.LcMonetary class-accessingcategory: I18N.LcMessages class-accessingceiling: Complex-convertingcenter: BLOX.BWindow-widget protocolcenter: BLOX.BTextAttributes-setting attributescenter: BLOX.BTextAttributes class-instance-creation shortcutscenter: BLOX.BDialog-widget protocolcenter: BLOX.BBoundingBox-accessingcenter:extent:: BLOX.BBoundingBox-accessingcenterIn:: BLOX.BWindow-widget protocolcenterIn:: BLOX.BDialog-widget protocolcharset: I18N.LocaleData-accessingcharsInLine:: BLOX.BText-position & linescheckPeriod: Sockets.AbstractSocket class-timed-out operationscheckPeriod:: Sockets.AbstractSocket class-timed-out operationschild:: I18N.RTENegationNode-computingchild:: I18N.RTENegationNode class-initializingchild:height:: BLOX.BWidget-geometry managementchild:height:: BLOX.BText-geometry managementchild:height:: BLOX.BPopupWindow-geometry managementchild:height:: BLOX.BCanvas-geometry managementchild:heightOffset:: BLOX.BWidget-geometry managementchild:heightOffset:: BLOX.BText-geometry managementchild:heightOffset:: BLOX.BPopupWindow-geometry managementchild:heightOffset:: BLOX.BCanvas-geometry managementchild:stretch:: BLOX.BWidget-geometry managementchild:width:: BLOX.BWidget-geometry managementchild:width:: BLOX.BText-geometry managementchild:width:: BLOX.BPopupWindow-geometry managementchild:width:: BLOX.BCanvas-geometry managementchild:widthOffset:: BLOX.BWidget-geometry managementchild:widthOffset:: BLOX.BText-geometry managementchild:widthOffset:: BLOX.BPopupWindow-geometry managementchild:widthOffset:: BLOX.BCanvas-geometry managementchild:x:: BLOX.BWidget-geometry managementchild:x:: BLOX.BText-geometry managementchild:x:: BLOX.BPopupWindow-geometry managementchild:x:: BLOX.BCanvas-geometry managementchild:xOffset:: BLOX.BWidget-geometry managementchild:xOffset:: BLOX.BText-geometry managementchild:xOffset:: BLOX.BPopupWindow-geometry managementchild:xOffset:: BLOX.BCanvas-geometry managementchild:y:: BLOX.BWidget-geometry managementchild:y:: BLOX.BText-geometry managementchild:y:: BLOX.BPopupWindow-geometry managementchild:y:: BLOX.BCanvas-geometry managementchild:yOffset:: BLOX.BWidget-geometry managementchild:yOffset:: BLOX.BText-geometry managementchild:yOffset:: BLOX.BPopupWindow-geometry managementchild:yOffset:: BLOX.BCanvas-geometry managementchildrenCount: BLOX.Blox-widget protocolchildrenDo:: BLOX.Blox-widget protocolchooseColor:label:default:: BLOX.BDialog class-prompterschooseFileToOpen:label:default:defaultExtension:types:: BLOX.BDialog class-prompterschooseFileToSave:label:default:defaultExtension:types:: BLOX.BDialog class-promptersclearClipboard: BLOX.Blox class-utilityclipboard: BLOX.Blox class-utilityclipboard:: BLOX.Blox class-utilityclose: ZLib.ZlibWriteStream-streamingclose: Sockets.UnixSocketImpl-socket operationsclose: Sockets.UnixDatagramSocketImpl-socket operationsclose: Sockets.StreamSocket-stream protocolclose: Sockets.AbstractSocket-accessingclose: DBI.Connection-connectingclosed: BLOX.BPolyline-accessingclosed:: BLOX.BPolyline-accessingcoerce:: Complex-creation/coercioncolor: BLOX.BColorButton-accessingcolor: BLOX.BCanvasObject-accessingcolor:: BLOX.BColorButton-accessingcolor:: BLOX.BCanvasObject-accessingcolumnAt:: DBI.Row-accessingcolumnAt:: DBI.ResultSet-accessingcolumnCount: DBI.Row-accessingcolumnNames: DBI.Row-accessingcolumnNames: DBI.ResultSet-accessingcolumns: DBI.Row-accessingcolumns: DBI.ResultSet-accessingcompressingTo:: ZLib.RawDeflateStream class-instance creationcompressingTo:: ZLib.GZipDeflateStream class-instance creationcompressingTo:: ZLib.DeflateStream class-instance creationcompressingTo:level:: ZLib.RawDeflateStream class-instance creationcompressingTo:level:: ZLib.GZipDeflateStream class-instance creationcompressingTo:level:: ZLib.DeflateStream class-instance creationcondition:ifTrue:ifFalse:: I18N.RTEAlternativeNode-computingcondition:ifTrue:ifFalse:: I18N.RTEAlternativeNode class-compilingconjugate: Complex-mathconnect:to:addrLen:: Sockets.AbstractSocketImpl-C call-outsconnect:to:addrLen:: Sockets.AbstractSocketImpl class-C call-outsconnect:user:password:: DBI.Connection class-connectingconnected: BLOX.BViewport-accessingconnectTo:port:: Sockets.SocketImpl-socket operationsconnectTo:port:: Sockets.AbstractSocketImpl-accessingcontents: ZLib.ZlibWriteStream-streamingcontents: BLOX.BText-accessingcontents: BLOX.BEdit-accessingcontents: BLOX.BDialog-accessingcontents:: BLOX.BText-accessingcontents:: BLOX.BList-accessingcontents:: BLOX.BEdit-accessingcontents:: BLOX.BDropDown-list box accessingcontents:: BLOX.BDialog-accessingcontents:elements:: BLOX.BList-accessingcontents:elements:: BLOX.BDropDown-list box accessingcontinue: Debugger-stepping commandscopy: I18N.EncodedString-copyingcopyEmpty: I18N.EncodedString-copyingcopyEmpty:: I18N.EncodedString-copyingcopyFrom:to:: ZLib.RawInflateStream-positioningcopyInto:: BLOX.BEmbeddedImage-accessingcopyInto:: BLOX.BCanvasObject-accessingcopyObject: BLOX.BCanvasObject-accessingcorner: BLOX.BBoundingBox-accessingcorner:: BLOX.BBoundingBox-accessingcos: Complex-transcendental functionscosh: Complex-transcendental functionscreate: BLOX.BWidget-customizationcreate: BLOX.BExtended-customizationcreate: BLOX.BCanvasObject-widget protocolcreate:type:protocol:: Sockets.AbstractSocketImpl-C call-outscreate:type:protocol:: Sockets.AbstractSocketImpl class-C call-outscreateColor:green:blue:: BLOX.Blox class-utilitycreateColor:magenta:yellow:: BLOX.Blox class-utilitycreateColor:magenta:yellow:black:: BLOX.Blox class-utilitycreateColor:saturation:value:: BLOX.Blox class-utilitycreateCopy: BLOX.BCanvasObject-accessingcreateCopyInto:: BLOX.BCanvasObject-accessingcreated: BLOX.BCanvasObject-widget protocolcreateList: BLOX.BDropDown-flexibilitycreateLoopbackHost: Sockets.UnixAddress class-initializationcreateLoopbackHost: Sockets.SocketAddress class-initializationcreateLoopbackHost: Sockets.IPAddress class-initializationcreateLoopbackHost: Sockets.IP6Address class-initializationcreateTextWidget: BLOX.BDropDown-flexibilitycreateUnknownAddress: Sockets.UnixAddress class-initializationcreateUnknownAddress: Sockets.SocketAddress class-initializationcreateUnknownAddress: Sockets.IPAddress class-initializationcreateUnknownAddress: Sockets.IP6Address class-initializationcurrentColumn: BLOX.BText-position & linescurrentLine: Debugger-inferior process propertiescurrentLine: BLOX.BText-position & linescurrentLineIn:: Debugger class-source codecurrentPosition: BLOX.BText-position & linescurrentPosition:: BLOX.BText-position & linescursor: BLOX.BWidget-accessingcursor:: BLOX.BWidget-accessingcyan: BLOX.BTextAttributes-colorscyan: BLOX.BTextAttributes class-instance-creation shortcutsdarkCyan: BLOX.BTextAttributes-colorsdarkCyan: BLOX.BTextAttributes class-instance-creation shortcutsdarkGreen: BLOX.BTextAttributes-colorsdarkGreen: BLOX.BTextAttributes class-instance-creation shortcutsdarkMagenta: BLOX.BTextAttributes-colorsdarkMagenta: BLOX.BTextAttributes class-instance-creation shortcutsdata: Sockets.Datagram-accessingdata: BLOX.BEmbeddedImage-accessingdata:: Sockets.Datagram-accessingdata:: Sockets.Datagram class-instance creationdata:: BLOX.BImage-image managementdata:: BLOX.BEmbeddedImage-accessingdata:address:port:: Sockets.Datagram class-instance creationdatabase: DBI.Connection-accessingdatagramLoopbackTest: Sockets.Socket class-testsdatagramLoopbackTestOn:: Sockets.Socket class-testsdebuggerClass: Debugger class-disabling debuggingdeepCopy: BLOX.Blox-basicdeepCopy: BLOX.BCanvasObject-accessingdefault: I18N.LocaleData class-accessingdefault: I18N.LocaleConventions class-accessingdefault: I18N.Locale class-instance creationdefaultAddressClass: Sockets.AbstractSocket class-defaultsdefaultAddressClass:: Sockets.AbstractSocket class-defaultsdefaultBufferSize: Sockets.DatagramSocket class-accessingdefaultBufferSize:: Sockets.DatagramSocket class-accessingdefaultCharset: I18N.LocaleData class-databasedefaultCharset:: I18N.LocaleData class-databasedefaultCompressionLevel: ZLib.ZlibStream class-accessingdefaultCompressionLevel:: ZLib.ZlibStream class-accessingdefaultDatagramSocketImplClass: Sockets.SocketAddress class-accessingdefaultDatagramSocketImplClass:: Sockets.SocketAddress class-accessingdefaultFont: BLOX.Blox class-utilitydefaultHeight: BLOX.BForm-accessingdefaultHeight:: BLOX.BForm-accessingdefaultImplementationClassFor:: Sockets.StreamSocket class-accessingdefaultImplementationClassFor:: Sockets.ServerSocket class-accessingdefaultImplementationClassFor:: Sockets.DatagramSocket class-accessingdefaultImplementationClassFor:: Sockets.AbstractSocket class-defaultsdefaultPortAt:: Sockets.AbstractSocket class-well known portsdefaultPortAt:ifAbsent:: Sockets.AbstractSocket class-well known portsdefaultPortAt:put:: Sockets.AbstractSocket class-well known portsdefaultQueueSize: Sockets.ServerSocket class-instance creationdefaultRawSocketImplClass: Sockets.SocketAddress class-accessingdefaultRawSocketImplClass:: Sockets.SocketAddress class-accessingdefaults: I18N.LocaleData class-databasedefaultStreamSocketImplClass: Sockets.SocketAddress class-accessingdefaultStreamSocketImplClass:: Sockets.SocketAddress class-accessingdefaultWidth: BLOX.BForm-accessingdefaultWidth:: BLOX.BForm-accessingdescription: I18N.InvalidSequenceError-accessingdescription: I18N.InvalidCharsetError-accessingdescription: I18N.IncompleteSequenceError-accessingdestroy: BLOX.BMenu-callback registrationdestroy: BLOX.Blox-widget protocoldestroyed: BLOX.BRadioGroup-widget protocoldestroyed: BLOX.BImage-widget protocoldestroyed: BLOX.BEdit-widget protocoldestroyed: BLOX.BDialog-widget protocoldestroyed: BLOX.BCanvas-widget protocoldirectory: BLOX.BImage class-small iconsdispatchEvents: BLOX.Blox class-event dispatchingdispatchEvents:: BLOX.Blox class-event dispatchingdisplayHeight: BLOX.BImage-accessingdisplayHeight:: BLOX.BImage-accessingdisplayOn:: I18N.EncodedString-printingdisplayOn:: DBI.ColumnInfo-printingdisplayWidth: BLOX.BImage-accessingdisplayWidth:: BLOX.BImage-accessingdither: BLOX.BImage-image managementdo:: I18N.EncodedString-accessingdo:: DBI.Connection-queryingdo:: BLOX.BList-accessingdo:: BLOX.BDropDown-list box accessingdo:: BLOX.BCanvas-widget protocoldomain:: I18N.LcMessages-opening MO filesdomain:localeDirectory:: I18N.LcMessages-opening MO filesdownArrow: BLOX.BImage class-arrowsdrawingArea: BLOX.Blox-widget protocoldriver: DBI.ConnectionInfo-accessingdriver:: DBI.ConnectionInfo-accessingdropdown: BLOX.BDropDown-widget protocoldroppedRows: BLOX.BDropDown-accessingdroppedRows:: BLOX.BDropDown-accessingdropRectangle: BLOX.BDropDown-widget protocoleffect: BLOX.BWidget-accessingeffect:: BLOX.BWidget-accessingelements: BLOX.BList-accessingelements:: BLOX.BList-accessingelements:: BLOX.BDropDown-list box accessingemacsLike: BLOX.BText class-accessingemacsLike:: BLOX.BText class-accessingempty: BLOX.BMenu-callback registrationempty: BLOX.BCanvas-widget protocolenabled: BLOX.Blox-widget protocolenabled:: BLOX.Blox-widget protocolencoding: I18N.EncodedStringFactory-instance creationencoding: I18N.EncodedString-accessingencoding:: I18N.EncodedStringFactory-instance creationencoding:: I18N.EncodedStringFactory class-instance creationencoding:: I18N.EncodedString-initializingencoding:: I18N.EncodedStream class-instance creationencoding:as:: I18N.EncodedStream class-instance creationendAngle: BLOX.BArc-accessingendAngle:: BLOX.BArc-accessingensureReadable: Sockets.OOBSocketImpl-implementationensureReadable: Sockets.AbstractSocketImpl-asynchronous operationsensureWriteable: Sockets.Socket-stream protocolensureWriteable: Sockets.AbstractSocketImpl-asynchronous operationsevalIn:tcl:: BLOX.Blox class-C call-outsevents: BLOX.BTextAttributes-setting attributesevents:: BLOX.BTextAttributes-setting attributesevents:: BLOX.BTextAttributes class-instance-creation shortcutsexclaim: BLOX.BImage class-iconsexecute: DBI.Statement-queryingexecuteWith:: DBI.Statement-queryingexecuteWith:with:: DBI.Statement-queryingexecuteWith:with:with:: DBI.Statement-queryingexecuteWithAll:: DBI.Statement-queryingexists: BLOX.Blox-widget protocolexp: Complex-transcendental functionsextent: BLOX.BWidget-geometry managementextent: BLOX.BBoundingBox-accessingextent:: BLOX.BWidget-geometry managementextent:: BLOX.BBoundingBox-accessingextractFromSockAddr:port:: Sockets.SocketAddress class-abstractextraSpace: BLOX.BCanvas-widget protocolextraSpace:: BLOX.BCanvas-widget protocolfetch: DBI.ResultSet-cursor accessfieldConverter: DBI.Connection-accessingfile: BLOX.BImage class-small iconsfileFormatDescription: I18N.LcMessagesMoFileVersion0 class-documentationfileName: I18N.FileStreamSegment-basicfileOp:: Sockets.AbstractSocketImpl-socket operationsfileOp:ifFail:: Sockets.AbstractSocketImpl-socket operationsfileOp:with:: Sockets.AbstractSocketImpl-socket operationsfileOp:with:ifFail:: Sockets.AbstractSocketImpl-socket operationsfileOp:with:with:: Sockets.AbstractSocketImpl-socket operationsfileOp:with:with:ifFail:: Sockets.AbstractSocketImpl-socket operationsfileOp:with:with:with:: Sockets.AbstractSocketImpl-socket operationsfileOp:with:with:with:ifFail:: Sockets.AbstractSocketImpl-socket operationsfill: Sockets.StreamSocket-stream protocolfill: Sockets.ReadBuffer-buffer handlingfillBlock:: Sockets.ReadBuffer-buffer handlingfillChord: BLOX.BArc-accessingfilledColor: BLOX.BProgress-accessingfilledColor:: BLOX.BProgress-accessingfillFrom:extent:color:: BLOX.BImage-image managementfillFrom:to:color:: BLOX.BImage-image managementfillRectangle:color:: BLOX.BImage-image managementfillSlice: BLOX.BArc-accessingfinish: ZLib.ZlibWriteStream-streamingfinish: Debugger-stepping commandsfinish:: Debugger-stepping commandsfloor: Complex-convertingflush: ZLib.ZlibWriteStream-streamingflush: Sockets.WriteBuffer-buffer handlingflush: Sockets.SocketAddress class-initializationflush: Sockets.Socket-stream protocolflush: Sockets.AbstractSocket-accessingflush: I18N.LocaleData class-accessingflush: I18N.Locale class-instance creationflush: I18N.LcMessagesMoFileVersion0-flushing the cacheflush: I18N.LcMessagesDomain-handling the cacheflushBlock:: Sockets.WriteBuffer-buffer handlingflushBuffer: ZLib.ZlibWriteStream-streamingflushDictionary: ZLib.ZlibWriteStream-streamingfont: BLOX.BTextAttributes-setting attributesfont: BLOX.BText-accessingfont: BLOX.BList-accessingfont: BLOX.BLabel-accessingfont: BLOX.BEmbeddedText-accessingfont: BLOX.BEdit-accessingfont: BLOX.BDropDown-accessingfont: BLOX.BButton-accessingfont:: BLOX.BTextAttributes-setting attributesfont:: BLOX.BTextAttributes class-instance-creation shortcutsfont:: BLOX.BText-accessingfont:: BLOX.BList-accessingfont:: BLOX.BLabel-accessingfont:: BLOX.BEmbeddedText-accessingfont:: BLOX.BEdit-accessingfont:: BLOX.BDropDownList-accessingfont:: BLOX.BDropDownEdit-accessingfont:: BLOX.BDropDown-accessingfont:: BLOX.BButton-accessingfontHeight:: BLOX.Blox-widget protocolfonts: BLOX.Blox class-utilityfontWidth:: BLOX.Blox-widget protocolforegroundColor: BLOX.BTextAttributes-setting attributesforegroundColor: BLOX.BText-accessingforegroundColor: BLOX.BProgress-accessingforegroundColor: BLOX.BMenuObject-accessingforegroundColor: BLOX.BList-accessingforegroundColor: BLOX.BLabel-accessingforegroundColor: BLOX.BImage-accessingforegroundColor: BLOX.BEdit-accessingforegroundColor: BLOX.BDropDown-accessingforegroundColor: BLOX.BCanvas-accessingforegroundColor: BLOX.BButton-accessingforegroundColor:: BLOX.BTextAttributes-setting attributesforegroundColor:: BLOX.BTextAttributes class-instance-creation shortcutsforegroundColor:: BLOX.BText-accessingforegroundColor:: BLOX.BProgress-accessingforegroundColor:: BLOX.BMenuObject-accessingforegroundColor:: BLOX.BList-accessingforegroundColor:: BLOX.BLabel-accessingforegroundColor:: BLOX.BImage-accessingforegroundColor:: BLOX.BEdit-accessingforegroundColor:: BLOX.BDropDownList-accessingforegroundColor:: BLOX.BDropDownEdit-accessingforegroundColor:: BLOX.BDropDown-accessingforegroundColor:: BLOX.BCanvas-accessingforegroundColor:: BLOX.BButton-accessingfree: Sockets.CAddrInfoStruct-C call-outsfrom: BLOX.BArc-accessingfrom:: BLOX.BArc-accessingfrom:to:: BLOX.BArc-accessingfromArray:: Sockets.IPAddress class-instance creationfromArray:: Sockets.IP6Address class-instance creationfromBytes:: Sockets.IPAddress class-instance creationfromBytes:: Sockets.IP6Address class-instance creationfromDSN:: DBI.ConnectionInfo class-instance creationfromSockAddr:port:: Sockets.UnixAddress class-instance creationfromSockAddr:port:: Sockets.SocketAddress class-abstractfromSockAddr:port:: Sockets.IPAddress class-instance creationfromSockAddr:port:: Sockets.IP6Address class-instance creationfromString:: Sockets.IPAddress class-instance creationfromString:: Sockets.IP6Address class-instance creationfromString:: I18N.LocaleData class-accessingfromString:: I18N.LocaleConventions class-accessingfromString:: I18N.Locale class-instance creationfromString:: I18N.EncodedStringFactory-instance creationfromString:: I18N.EncodedString class-instance creationfromString:encoding:: I18N.EncodedString class-instance creationgamma: BLOX.BImage-accessinggamma:: BLOX.BImage-accessinggenerality: Complex-creation/coercionget: Sockets.Datagram-accessinggetaddrinfo:: Sockets.CAddrInfoStruct-C function wrappersgetaddrinfo:service:: Sockets.CAddrInfoStruct-C function wrappersgetaddrinfo:service:hints:result:: Sockets.CAddrInfoStruct class-C call-outsgetPeerName: Sockets.SocketImpl-socket operationsgetPeerName:addr:addrLen:: Sockets.AbstractSocketImpl-C call-outsgetPeerName:addr:addrLen:: Sockets.AbstractSocketImpl class-C call-outsgetSelection: BLOX.BText-accessinggetSockName: Sockets.AbstractSocketImpl-socket operationsgetSockName:addr:addrLen:: Sockets.AbstractSocketImpl-C call-outsgetSockName:addr:addrLen:: Sockets.AbstractSocketImpl class-C call-outsgetThrough:: Sockets.Datagram-accessinggnu: BLOX.BImage class-GNUgotoLine:end:: BLOX.BText-position & linesgrayOut: BLOX.BCanvasObject-accessinggreen: BLOX.BTextAttributes-colorsgreen: BLOX.BTextAttributes class-instance-creation shortcutshash: Sockets.UnixAddress-accessinghash: Sockets.SocketAddress-accessinghash: I18N.EncodedString-accessinghash: Complex-comparinghasSelection: BLOX.BEdit-widget protocolheight: BLOX.BWindow-widget protocolheight: BLOX.BWidget-geometry managementheight:: BLOX.BWindow-widget protocolheight:: BLOX.BWidget-geometry managementheightAbsolute: BLOX.BWindow-widget protocolheightAbsolute: BLOX.BWidget-geometry managementheightChild:: BLOX.BWidget-geometry managementheightChild:: BLOX.BText-geometry managementheightChild:: BLOX.BPopupWindow-geometry managementheightChild:: BLOX.BCanvas-geometry managementheightOffset: BLOX.BWidget-geometry managementheightOffset:: BLOX.BWindow-widget protocolheightOffset:: BLOX.BWidget-geometry managementheightPixels:: BLOX.BWidget-geometry managementhighlight:: BLOX.BList-widget protocolhighlightBackground: BLOX.BList-accessinghighlightBackground: BLOX.BDropDown-accessinghighlightBackground:: BLOX.BList-accessinghighlightBackground:: BLOX.BDropDownList-accessinghighlightBackground:: BLOX.BDropDownEdit-accessinghighlightBackground:: BLOX.BDropDown-accessinghighlightForeground: BLOX.BList-accessinghighlightForeground: BLOX.BDropDown-accessinghighlightForeground:: BLOX.BList-accessinghighlightForeground:: BLOX.BDropDownList-accessinghighlightForeground:: BLOX.BDropDownEdit-accessinghighlightForeground:: BLOX.BDropDown-accessinghorizontal: BLOX.BViewport-scrollbarshorizontal:: BLOX.BViewport-scrollbarshorizontalNeeded: BLOX.BViewport-scrollbarshorizontalShown: BLOX.BViewport-scrollbarshost: Sockets.IPAddress-accessingi: Complex-creation/coercioni: Complex class-instance creationiconify: BLOX.BWindow-widget protocolid: I18N.LocaleData-accessingid:: I18N.LocaleData-initializationid:on:: I18N.LcMessagesDomain class-opening MO filesidle: BLOX.Blox class-C call-outsimage:: BLOX.BImage-image managementimageHeight: BLOX.BImage-image managementimageWidth: BLOX.BImage-image managementimaginary: Complex-creation/coercionindex: DBI.ColumnInfo-accessingindex: BLOX.BList-accessingindex: BLOX.BDropDownList-list box accessingindex:: BLOX.BDropDown-list box accessingindexAt:: BLOX.BText-position & linesindexAt:: BLOX.BList-accessinginfo: BLOX.BImage class-iconsinitialize: Sockets.UnixAddress class-initializationinitialize: Sockets.StreamSocket class-initializeinitialize: Sockets.Socket class-well known portsinitialize: Sockets.IPAddress class-initializationinitialize: Sockets.IP6Address class-initializationinitialize: Sockets.DatagramSocket class-initializationinitialize: I18N.RunTimeExpression class-initializinginitialize: I18N.LocaleData class-databaseinitialize: I18N.LcMessagesMoFileVersion0 class-pluralsinitialize: I18N.EncodedStream class-initializinginitialize: Complex class-instance creationinitialize: BLOX.BLabel class-initializationinitialize:: I18N.LocaleData-initializationinitialize:: BLOX.BWidget-customizationinitialize:: BLOX.BEventSet-initializinginitialize:: BLOX.BBalloon-initializinginitLocalAddresses: Sockets.SocketAddress class-initializationinsertAtEnd:: BLOX.BText-inserting textinsertAtEnd:: BLOX.BEdit-widget protocolinsertAtEnd:: BLOX.BDropDownEdit-text accessinginsertAtEnd:attribute:: BLOX.BText-attributesinsertImage:: BLOX.BText-imagesinsertImage:at:: BLOX.BText-imagesinsertImageAtEnd:: BLOX.BText-imagesinsertSelectedText:: BLOX.BText-inserting textinsertText:: BLOX.BText-inserting textinsertText:: BLOX.BEdit-widget protocolinsertText:at:: BLOX.BText-inserting textinsertText:attribute:: BLOX.BText-attributesinsertTextSelection:: BLOX.BText-inserting textinset:: BLOX.BWidget-geometry managementinterface: Sockets.MulticastSocket-instance creationinterface:: Sockets.MulticastSocket-instance creationinvokeCallback: BLOX.BWindow-accessinginvokeCallback: BLOX.BToggle-accessinginvokeCallback: BLOX.BText-inserting textinvokeCallback: BLOX.BMenuObject-callbackinvokeCallback: BLOX.BList-widget protocolinvokeCallback: BLOX.BEdit-widget protocolinvokeCallback: BLOX.BDropDownList-callbacksinvokeCallback: BLOX.BDropDown-callbacksinvokeCallback: BLOX.BCheckMenuItem-accessinginvokeCallback: BLOX.BButtonLike-accessinginvokeCallback: BLOX.BButton-accessinginvokeCallback:: BLOX.BDialog-widget protocolipAddMembership: Sockets.DatagramSocketImpl-C constantsipDropMembership: Sockets.DatagramSocketImpl-C constantsipMulticastIf: Sockets.UDPSocketImpl-multicastingipMulticastIf: Sockets.MulticastSocketImpl-multicastingipMulticastIf: Sockets.DatagramSocketImpl-C constantsipMulticastIf:: Sockets.UDPSocketImpl-multicastingipMulticastIf:: Sockets.MulticastSocketImpl-multicastingipMulticastTtl: Sockets.DatagramSocketImpl-C constantsipprotoIp: Sockets.UDPSocketImpl class-C constantsipprotoTcp: Sockets.TCPSocketImpl class-C constantsisActive: Debugger-inferior process propertiesisActive: BLOX.BWidget-widget protocolisCentered: BLOX.BTextAttributes-setting attributesisComplex: Complex-creation/coercionisDigitAddress:: Sockets.SocketAddress class-accessingisDML: DBI.ResultSet-accessingisDropdownVisible: BLOX.BDropDown-widget protocolisEmpty: Sockets.ReadBuffer-buffer handlingisExternalStream: ZLib.ZlibStream-streamingisExternalStream: Sockets.AbstractSocket-testingisFull: Sockets.WriteBuffer-testingisFull: Sockets.ReadBuffer-buffer handlingisMapped: BLOX.BWindow-widget protocolisMulticast: Sockets.UnixAddress-testingisMulticast: Sockets.SocketAddress-testingisMulticast: Sockets.IPAddress-accessingisMulticast: Sockets.IP6Address-accessingisNullable: DBI.ColumnInfo-accessingisOpen: Sockets.AbstractSocket-accessingisPeerAlive: Sockets.StreamSocket-stream protocolisPeerAlive: Sockets.AbstractSocket-accessingisPositionable: ZLib.RawInflateStream-positioningisPosixLocale: I18N.LocaleData-accessingisSelect: DBI.ResultSet-accessingisSelected:: BLOX.BList-accessingisStruckout: BLOX.BTextAttributes-setting attributesisUnderlined: BLOX.BTextAttributes-setting attributesisUnicode: I18N.EncodedStringFactory-accessingisUnicode: I18N.EncodedString class-accessingisWindow: BLOX.BWindow-widget protocolisWindow: BLOX.Blox-widget protocolitemHeight: BLOX.BDropDown-flexibilityitems: BLOX.BCanvas-widget protocoljoin: BLOX.BPolyline-accessingjoin:: Sockets.UDPSocketImpl-multicastingjoin:: Sockets.MulticastSocketImpl-multicastingjoin:: Sockets.MulticastSocket-instance creationjoin:: BLOX.BPolyline-accessingjustify: BLOX.BEmbeddedText-accessingjustify:: BLOX.BEmbeddedText-accessingkeysAndValuesDo:: DBI.Row-accessinglabel: BLOX.BWindow-accessinglabel: BLOX.BMenuItem-accessinglabel: BLOX.BMenu-accessinglabel: BLOX.BList-accessinglabel: BLOX.BLabel-accessinglabel: BLOX.BButton-accessinglabel:: BLOX.BWindow-accessinglabel:: BLOX.BMenuItem-accessinglabel:: BLOX.BMenu-accessinglabel:: BLOX.BList-accessinglabel:: BLOX.BLabel-accessinglabel:: BLOX.BButton-accessinglabelAt:: BLOX.BList-accessinglabelAt:: BLOX.BDropDown-list box accessinglabels: BLOX.BList-accessinglabelsDo:: BLOX.BList-accessinglabelsDo:: BLOX.BDropDown-list box accessinglanguage: I18N.LocaleData-accessinglanguage:: I18N.LocaleData class-accessinglanguage:territory:: I18N.LocaleData class-accessinglanguage:territory:charset:: I18N.LocaleData class-accessinglanguageDirectory: I18N.LocaleData-accessinglanguageDirectory: I18N.LcMessages-accessinglanguageDirectory:: I18N.LocaleData-accessinglanguageDirectory:: I18N.LcMessages-accessinglanguages: I18N.LocaleData class-databaseleave:: Sockets.UDPSocketImpl-multicastingleave:: Sockets.MulticastSocketImpl-multicastingleave:: Sockets.MulticastSocket-instance creationleft:top:right:bottom:: BLOX.BWidget-geometry managementleftArrow: BLOX.BImage class-arrowslhs: I18N.RTEBinaryNode-compilinglhs:op:rhs:: I18N.RTEBinaryNode-computinglhs:op:rhs:: I18N.RTEBinaryNode class-compilinglineAt:: BLOX.BText-position & lineslineFrom:extent:color:: BLOX.BImage-image managementlineFrom:to:color:: BLOX.BImage-image managementlineFrom:toX:color:: BLOX.BImage-image managementlineFrom:toY:color:: BLOX.BImage-image managementlineInside:color:: BLOX.BImage-image managementlistCallback: BLOX.BDropDown-flexibilitylisten:: Sockets.AbstractSocketImpl-socket operationslisten:log:: Sockets.AbstractSocketImpl-C call-outslisten:log:: Sockets.AbstractSocketImpl class-C call-outslistSelectAt:: BLOX.BDropDown-flexibilitylistText: BLOX.BDropDown-flexibilityln: Complex-transcendental functionsload:: I18N.Locale-C call-outslocal:port:: Sockets.DatagramSocket class-instance creationlocalAddress: Sockets.AbstractSocketImpl-accessinglocalAddress: Sockets.AbstractSocket-accessinglocalHostName: Sockets.SocketAddress class-accessinglocalPort: Sockets.AbstractSocketImpl-accessinglocalPort: Sockets.AbstractSocket-accessinglog: Complex-transcendental functionsloop: BLOX.BDialog-widget protocolloopbackHost: Sockets.SocketAddress class-accessingloopbackTest: Sockets.Socket class-testsloopbackTest:: Sockets.Socket class-testsloopbackTest:addressClass:: Sockets.Socket class-testsloopbackTestOn:: Sockets.Socket class-testslower: BLOX.BCanvasObject-widget protocolmagenta: BLOX.BTextAttributes-colorsmagenta: BLOX.BTextAttributes class-instance-creation shortcutsmake:: BLOX.Blox-creating childrenmake:on:: BLOX.Blox-creating childrenmakeChild:on:: BLOX.Blox-creating childrenmap: BLOX.BWindow-widget protocolmap: BLOX.BTransientWindow-widget protocolmapPoint:: BLOX.BCanvas-widget protocolmenu:: BLOX.BWindow-accessingmessages: I18N.Locale-subobjectsmicroTest: Sockets.Socket class-testsmodalMap: BLOX.BWindow-widget protocolmode: BLOX.BList-accessingmode:: BLOX.BList-accessingmonetary: I18N.Locale-subobjectsmonetaryIso: I18N.Locale-subobjectsmousePointer: BLOX.Blox class-utilitymoveBy:: BLOX.BBoundingBox-accessingmsgOOB: Sockets.OOBSocketImpl-C constantsmsgPeek: Sockets.DatagramSocketImpl-C constantsn:: I18N.RTELiteralNode-computingname: ZLib.ZlibStream-streamingname: Sockets.SocketAddress-accessingname: DBI.ColumnInfo-accessingnetwork: Sockets.IPAddress-accessingnew: ZLib.ZlibStream class-instance creationnew: Sockets.IPAddress class-instance creationnew: Sockets.IP6Address class-instance creationnew: Sockets.DatagramSocket class-instance creationnew: Sockets.AbstractSocket class-instance creationnew: I18N.LocaleData class-accessingnew: I18N.EncodedStringFactory-instance creationnew: I18N.EncodedString class-instance creationnew: DBI.FieldConverter class-instance creationnew: Complex class-instance creationnew: BLOX.BWindow class-instance creationnew: BLOX.BWidget class-popupsnew: BLOX.BTransientWindow class-instance creationnew: BLOX.BTextBindings class-instance creationnew: BLOX.Blox class-instance creationnew: BLOX.BEventSet class-initializingnew: BLOX.BCanvasObject class-instance creationnew:: Sockets.AbstractSocket class-instance creationnew:: I18N.EncodedStringFactory-instance creationnew:: I18N.EncodedString class-instance creationnew:: BLOX.BWindow class-instance creationnew:: BLOX.BTransientWindow class-instance creationnew:: BLOX.BMenuItem class-instance creationnew:: BLOX.Blox class-instance creationnew:: BLOX.BEventSet class-initializingnew:: BLOX.BDialog class-instance creationnew:: BLOX.BCheckMenuItem class-instance creationnew:: BLOX.BCanvasObject class-instance creationnew:addressClass:: Sockets.AbstractSocket class-instance creationnew:contents:: BLOX.BEdit class-instance creationnew:data:: BLOX.BImage class-instance creationnew:image:: BLOX.BImage class-instance creationnew:in:: BLOX.BTransientWindow class-instance creationnew:label:: BLOX.BMenuItem class-instance creationnew:label:: BLOX.BMenu class-instance creationnew:label:: BLOX.BLabel class-instance creationnew:label:: BLOX.BDialog class-instance creationnew:label:: BLOX.BButton class-instance creationnew:label:prompt:: BLOX.BDialog class-instance creationnew:size:: BLOX.BImage class-instance creationnewFor:: Sockets.AbstractSocketImpl class-socket creationnewPrimitive: BLOX.BExtended-customizationnewRawSocket: Sockets.SocketAddress class-creating socketsnewReadOnly:: BLOX.BText class-instance creationnext: ZLib.ZlibReadStream-streamingnext: Sockets.StreamSocket-stream protocolnext: Sockets.DatagramSocketImpl-socket operationsnext: Sockets.DatagramSocket-accessingnext: Sockets.AbstractSocket-stream protocolnext: I18N.Encoder-stream operationsnext: Debugger-stepping commandsnext: DBI.ResultSet-cursor accessnext:putAll:startingAt:: ZLib.ZlibWriteStream-streamingnext:putAll:startingAt:: Sockets.Socket-stream protocolnext:putAll:startingAt:: Sockets.AbstractSocket-stream protocolnextAvailable:into:startingAt:: ZLib.ZlibReadStream-accessing-readingnextAvailable:into:startingAt:: Sockets.StreamSocket-accessing-readingnextAvailable:into:startingAt:: Sockets.ReadBuffer-accessing-readingnextAvailable:putAllOn:: ZLib.ZlibReadStream-accessing-readingnextAvailable:putAllOn:: Sockets.StreamSocket-accessing-readingnextAvailable:putAllOn:: Sockets.ReadBuffer-accessing-readingnextFrom:port:: Sockets.DatagramSocket-direct operationsnextInput: I18N.Encoder-stream operationsnextInputAvailable:into:startingAt:: I18N.Encoder-stream operationsnextPut:: ZLib.ZlibWriteStream-streamingnextPut:: Sockets.Socket-stream protocolnextPut:: Sockets.DatagramSocketImpl-socket operationsnextPut:: Sockets.DatagramSocket-accessingnextPut:: Sockets.AbstractSocket-stream protocolnextPut:: BLOX.BText-inserting textnextPut:: BLOX.BEdit-widget protocolnextPut:timeToLive:: Sockets.MulticastSocket-instance creationnextPutAll:: BLOX.BText-inserting textnextPutAll:: BLOX.BEdit-widget protocolnl: BLOX.BText-inserting textnl: BLOX.BEdit-widget protocolnotEmpty: Sockets.ReadBuffer-buffer handlingnumberOfLines: BLOX.BText-position & linesnumberOfStrings: BLOX.BList-accessingnumberOfStrings: BLOX.BDropDown-list box accessingnumeric: I18N.Locale-subobjectsobject:address:port:: Sockets.Datagram class-instance creationobject:objectDumper:address:port:: Sockets.Datagram class-instance creationon:: ZLib.ZlibStream class-instance creationon:: ZLib.RawDeflateWriteStream class-instance creationon:: ZLib.RawDeflateStream class-instance creationon:: Sockets.ReadBuffer class-instance creationon:: I18N.RunTimeExpression class-instance creationon:: Debugger class-instance creationon:: DBI.Statement class-instance creationon:from:: I18N.EncodedStream class-instance creationon:from:to:: I18N.Encoder class-instance creationon:from:to:: I18N.EncodedStream class-instance creationon:level:: ZLib.RawDeflateWriteStream class-instance creationon:level:: ZLib.RawDeflateStream class-instance creationon:to:: I18N.EncodedStream class-instance creationonAsciiKeyEventSend:to:: BLOX.BEventTarget-intercepting eventsonDestroySend:to:: BLOX.BEventTarget-intercepting eventsone: Complex-creation/coerciononFocusEnterEventSend:to:: BLOX.BEventTarget-intercepting eventsonFocusLeaveEventSend:to:: BLOX.BEventTarget-intercepting eventsonKeyEvent:send:to:: BLOX.BEventTarget-intercepting eventsonKeyEventSend:to:: BLOX.BEventTarget-intercepting eventsonKeyUpEventSend:to:: BLOX.BEventTarget-intercepting eventsonMouseDoubleEvent:send:to:: BLOX.BEventTarget-intercepting eventsonMouseDoubleEventSend:to:: BLOX.BEventTarget-intercepting eventsonMouseDownEvent:send:to:: BLOX.BEventTarget-intercepting eventsonMouseDownEventSend:to:: BLOX.BEventTarget-intercepting eventsonMouseEnterEventSend:to:: BLOX.BEventTarget-intercepting eventsonMouseLeaveEventSend:to:: BLOX.BEventTarget-intercepting eventsonMouseMoveEvent:send:to:: BLOX.BEventTarget-intercepting eventsonMouseMoveEventSend:to:: BLOX.BEventTarget-intercepting eventsonMouseTripleEvent:send:to:: BLOX.BEventTarget-intercepting eventsonMouseTripleEventSend:to:: BLOX.BEventTarget-intercepting eventsonMouseUpEvent:send:to:: BLOX.BEventTarget-intercepting eventsonMouseUpEventSend:to:: BLOX.BEventTarget-intercepting eventsonResizeSend:to:: BLOX.BEventTarget-intercepting eventsop: I18N.RTEBinaryNode-compilingoption:level:at:get:size:: Sockets.AbstractSocketImpl-C call-outsoption:level:at:get:size:: Sockets.AbstractSocketImpl class-C call-outsoption:level:at:put:size:: Sockets.AbstractSocketImpl-C call-outsoption:level:at:put:size:: Sockets.AbstractSocketImpl class-C call-outsoptionAt:level:put:: Sockets.AbstractSocketImpl-socket optionsoptionAt:level:size:: Sockets.AbstractSocketImpl-socket optionsorigin: BLOX.BBoundingBox-accessingorigin:: BLOX.BBoundingBox-accessingorigin:corner:: BLOX.BBoundingBox-accessingorigin:extent:: BLOX.BBoundingBox-accessingoutlineColor: BLOX.BRectangle-accessingoutlineColor: BLOX.BPolyline-accessingoutlineColor:: BLOX.BRectangle-accessingoutlineColor:: BLOX.BPolyline-accessingoutOfBand: Sockets.StreamSocket-out-of-band dataoutOfBandImplClass: Sockets.SocketImpl-abstractparamConnect:user:password:: DBI.Connection class-connectingparams: DBI.ConnectionInfo-accessingparamString:: DBI.ConnectionInfo-accessingparent: BLOX.Blox-widget protocolparseExpression:: I18N.RunTimeExpression class-compilingparseFrom:: I18N.RTELiteralNode class-initializingparseOperand:: I18N.RunTimeExpression class-compilingparseOperator:: I18N.RunTimeExpression class-compilingpartialFlush: ZLib.ZlibWriteStream-streamingpastEnd: Sockets.ReadBuffer-buffer handlingpeek: ZLib.ZlibReadStream-streamingpeek: Sockets.StreamSocket-stream protocolpeek: Sockets.DatagramSocketImpl-socket operationspeek: Sockets.DatagramSocket-accessingpeek:: Sockets.DatagramSocketImpl-socket operationspeek:: Sockets.DatagramSocket-accessingpeekFor:: ZLib.ZlibReadStream-streamingpeekFor:: Sockets.StreamSocket-stream protocolpeekInput: I18N.Encoder-stream operationsplatform: BLOX.Blox class-utilitypluralExpressionFor:ifAbsent:: I18N.LcMessagesMoFileVersion0 class-pluralspoints: BLOX.BPolyline-accessingpoints:: BLOX.BPolyline-accessingpopup: BLOX.BPopupMenu-widget protocolpopup:: BLOX.BWindow class-instance creationpopup:: BLOX.BWidget class-popupsport: Sockets.StreamSocket-accessingport: Sockets.ServerSocket-accessingport: Sockets.DatagramSocket-accessingport: Sockets.Datagram-accessingport: Sockets.AbstractSocket-accessingport:: Sockets.ServerSocket class-instance creationport:: Sockets.DatagramSocket class-instance creationport:: Sockets.Datagram-accessingport:bindTo:: Sockets.ServerSocket class-instance creationport:queueSize:: Sockets.ServerSocket class-instance creationport:queueSize:bindTo:: Sockets.ServerSocket-initializingport:queueSize:bindTo:: Sockets.ServerSocket class-instance creationportCmdServer: Sockets.AbstractSocket class-well known portsportDayTime: Sockets.AbstractSocket class-well known portsportDiscard: Sockets.AbstractSocket class-well known portsportDNS: Sockets.AbstractSocket class-well known portsportEcho: Sockets.AbstractSocket class-well known portsportExecServer: Sockets.AbstractSocket class-well known portsportFinger: Sockets.AbstractSocket class-well known portsportFTP: Sockets.AbstractSocket class-well known portsportGopher: Sockets.AbstractSocket class-well known portsportHTTP: Sockets.AbstractSocket class-well known portsportLoginServer: Sockets.AbstractSocket class-well known portsportNetStat: Sockets.AbstractSocket class-well known portsportNNTP: Sockets.AbstractSocket class-well known portsportPOP3: Sockets.AbstractSocket class-well known portsportReserved: Sockets.AbstractSocket class-well known portsportSMTP: Sockets.AbstractSocket class-well known portsportSSH: Sockets.AbstractSocket class-well known portsportSystat: Sockets.AbstractSocket class-well known portsportTelnet: Sockets.AbstractSocket class-well known portsportTimeServer: Sockets.AbstractSocket class-well known portsportWhois: Sockets.AbstractSocket class-well known portspos:: BLOX.BWidget-geometry managementposHoriz:: BLOX.BWidget-geometry managementposition: ZLib.ZlibWriteStream-streamingposition: ZLib.ZlibReadStream-streamingposition: DBI.ResultSet-stream protocolposition:: ZLib.RawInflateStream-positioningposition:: DBI.ResultSet-stream protocolposix: I18N.LocaleData class-accessingposix: I18N.LocaleConventions class-accessingposix: I18N.Locale class-instance creationposVert:: BLOX.BWidget-geometry managementprepare:: DBI.Connection-queryingpressed: BLOX.BColorButton-accessingpressed: BLOX.BButtonLike-accessingprimAccept:: Sockets.ServerSocket-accessingprimary:secondary:: I18N.LcMessagesTerritoryDomain class-instance creationprimJoinLeave:option:: Sockets.UDPSocketImpl-multicastingprimLocalName: Sockets.SocketAddress class-C call-outsprimName:len:type:: Sockets.SocketAddress class-C call-outsprimRootDirectory: I18N.Locale-C call-outsprimTableAt:ifAbsent:: DBI.Connection-queryingprint:on:: I18N.LcTime-printingprint:on:: I18N.LcPrintFormats-printingprint:on:: I18N.LcNumeric-printingprint:on:: I18N.LcMonetary-printingprint:on:: DBI.FieldConverter-actionsprint:on:currency:parentheses:: I18N.LcMonetary-printingprint:on:ifFull:ifDate:ifTime:: I18N.LcTime-printingprint:time:format:on:: I18N.LcTime-printingprintOn:: Sockets.UnixAddress-printingprintOn:: Sockets.StreamSocket-printingprintOn:: Sockets.IPAddress-printingprintOn:: Sockets.IP6Address-printingprintOn:: Sockets.AbstractSocket-printingprintOn:: I18N.RTEParameterNode-computingprintOn:: I18N.RTENegationNode-computingprintOn:: I18N.RTELiteralNode-computingprintOn:: I18N.RTEBinaryNode-computingprintOn:: I18N.RTEAlternativeNode-computingprintOn:: I18N.EncodedString-printingprintOn:: DBI.Row-printingprintOn:: DBI.ResultSet-printingprintOn:: DBI.ColumnInfo-printingprintOn:: Complex-printingprintString:: I18N.LcPrintFormats-printingprintString:: DBI.FieldConverter-actionsprocess: Debugger-inferior process propertiesproducerConsumerTest: Sockets.Socket class-testsproducerConsumerTestOn:: Sockets.Socket class-testsprotocol: Sockets.UDPSocketImpl class-C constantsprotocol: Sockets.TCPSocketImpl class-C constantsprotocol: Sockets.ICMPSocketImpl class-C constantsprotocol: Sockets.ICMP6SocketImpl class-C constantsprotocol: Sockets.AbstractSocketImpl class-abstractprotocolFamily: Sockets.UnixAddress class-C constantsprotocolFamily: Sockets.SocketAddress class-C constantsprotocolFamily: Sockets.IPAddress class-C constantsprotocolFamily: Sockets.IP6Address class-C constantsquestion: BLOX.BImage class-iconsqueueSize:: Sockets.ServerSocket class-instance creationqueueSize:bindTo:: Sockets.ServerSocket class-instance creationraise: BLOX.BCanvasObject-widget protocolreadBufferSize: Sockets.StreamSocket class-accessingreadBufferSize:: Sockets.StreamSocket-stream protocolreadBufferSize:: Sockets.StreamSocket class-accessingreadStream: ZLib.ZlibWriteStream-streamingreal: Complex-creation/coercionreal:imaginary:: Complex class-instance creationrealResult:imaginary:: Complex class-instance creationreceive:: Sockets.DatagramSocketImpl-socket operationsreceive:: Sockets.DatagramSocket-accessingreceive:buffer:size:flags:from:size:: Sockets.AbstractSocketImpl-C call-outsreceive:buffer:size:flags:from:size:: Sockets.AbstractSocketImpl class-C call-outsreceive:datagram:: Sockets.DatagramSocketImpl-socket operationsreciprocal: Complex-mathred: BLOX.BTextAttributes-colorsred: BLOX.BTextAttributes class-instance-creation shortcutsredraw: BLOX.BEmbeddedText-accessingredraw: BLOX.BEmbeddedImage-accessingredraw: BLOX.BCanvasObject-widget protocolrefuseTabs: BLOX.BText-inserting textregisterEncoderFor:toUTF32:fromUTF32:: I18N.EncodedStream class-initializingregisterImage:: BLOX.BText-imagesrelease: BLOX.Blox-basicremote:port:: Sockets.StreamSocket class-instance creationremote:port:local:port:: Sockets.StreamSocket class-instance creationremote:port:local:port:: Sockets.DatagramSocket class-instance creationremoteAddress: Sockets.AbstractSocketImpl-accessingremoteAddress: Sockets.AbstractSocket-accessingremotePort: Sockets.AbstractSocketImpl-accessingremotePort: Sockets.AbstractSocket-accessingremove: BLOX.BCanvasObject-widget protocolremove:: BLOX.BMenuBar-accessingremoveAtIndex:: BLOX.BList-accessingremoveAtIndex:: BLOX.BDropDown-list box accessingremoveAttributes: BLOX.BText-attributesremoveAttributesFrom:to:: BLOX.BText-attributesreplaceSelection:: BLOX.BText-inserting textreplaceSelection:: BLOX.BEdit-widget protocolreplaceSelection:: BLOX.BDropDownEdit-text accessingreset: ZLib.RawInflateStream-positioningresizable: BLOX.BWindow-accessingresizable:: BLOX.BWindow-accessingresultIn:: BLOX.Blox class-C call-outsresultSet: DBI.Row-accessingrho:theta:: Complex class-instance creationrhs: I18N.RTEBinaryNode-compilingrightArrow: BLOX.BImage class-arrowsrootDirectory: I18N.Locale class-initializationrootDirectory:: I18N.Locale class-initializationrounded: Complex-convertingrowCount: DBI.ResultSet-accessingrows: DBI.ResultSet-accessingrowsAffected: DBI.ResultSet-accessingscheme: DBI.ConnectionInfo-accessingscheme:: DBI.ConnectionInfo-accessingscreenOrigin: BLOX.Blox class-utilityscreenResolution: BLOX.Blox class-utilityscreenSize: BLOX.Blox class-utilitysearchString:: BLOX.BText-inserting textselect:: DBI.Connection-queryingselect:: BLOX.BList-widget protocolselectAll: BLOX.BEdit-widget protocolselectAll: BLOX.BDropDownEdit-text accessingselectBackground: BLOX.BText-accessingselectBackground: BLOX.BEdit-accessingselectBackground:: BLOX.BText-accessingselectBackground:: BLOX.BEdit-accessingselectForeground: BLOX.BText-accessingselectForeground: BLOX.BEdit-accessingselectForeground:: BLOX.BText-accessingselectForeground:: BLOX.BEdit-accessingselectFrom:to:: BLOX.BText-position & linesselectFrom:to:: BLOX.BEdit-widget protocolselectFrom:to:: BLOX.BDropDownEdit-text accessingselection: BLOX.BEdit-widget protocolselection: BLOX.BDropDownEdit-text accessingselectionRange: BLOX.BEdit-widget protocolselectionRange: BLOX.BDropDownEdit-text accessingselector: I18N.LocaleConventions class-accessingselector: I18N.LcTime class-accessingselector: I18N.LcNumeric class-accessingselector: I18N.LcMonetaryISO class-accessingselector: I18N.LcMonetary class-accessingselector: I18N.LcMessages class-accessingsend:: I18N.RunTimeExpression-computingsend:: I18N.RTEParameterNode-computingsend:: I18N.RTENegationNode-computingsend:: I18N.RTELiteralNode-computingsend:: I18N.RTEBinaryNode-computingsend:: I18N.RTEAlternativeNode-computingsend:buffer:size:flags:to:size:: Sockets.AbstractSocketImpl-C call-outssend:buffer:size:flags:to:size:: Sockets.AbstractSocketImpl class-C call-outssend:to:port:: Sockets.DatagramSocketImpl-socket operationssendTest: Sockets.Socket class-testssendTest:: Sockets.Socket class-testssendToBack: BLOX.BWidget-widget protocolsetAttributes:from:to:: BLOX.BText-attributessetInitialSize: BLOX.BWidget-customizationsetReal:imaginary:: Complex-creation/coercionsetString:: I18N.EncodedString-initializingsetToEnd: BLOX.BText-position & linessetVerticalLayout:: BLOX.BContainer-accessingshallowCopy: BLOX.Blox-basicshallowCopy: BLOX.BCanvasObject-accessingshouldCache: I18N.LcMessagesMoFileVersion0-flushing the cacheshouldCache: I18N.LcMessagesDomain-handling the cacheshow: BLOX.BCanvasObject-widget protocolshow:: BLOX.BList-widget protocolshown: BLOX.BBalloon-accessingshown: BLOX.BBalloon class-accessingsin: Complex-transcendental functionssinh: Complex-transcendental functionssize: I18N.EncodedString-accessingsize: DBI.ResultSet-stream protocolsize: DBI.ColumnInfo-accessingsize: BLOX.BList-accessingsize: BLOX.BDropDown-list box accessingskip:: ZLib.RawInflateStream-positioningslowFinish: Debugger-stepping commandsslowFinish:: Debugger-stepping commandssmoothness: BLOX.BSpline-accessingsmoothness:: BLOX.BSpline-accessingsockDgram: Sockets.AbstractSocketImpl class-C constantssocketType: Sockets.SocketImpl class-parameterssocketType: Sockets.RawSocketImpl class-parameterssocketType: Sockets.DatagramSocketImpl class-parameterssocketType: Sockets.AbstractSocketImpl class-abstractsockRaw: Sockets.AbstractSocketImpl class-C constantssockRDM: Sockets.AbstractSocketImpl class-C constantssockStream: Sockets.AbstractSocketImpl class-C constantssoError: Sockets.AbstractSocketImpl-C constantssoLinger: Sockets.AbstractSocketImpl-socket optionssoLinger: Sockets.AbstractSocketImpl class-C constantssoLinger: Sockets.AbstractSocket-socket optionssoLinger:: Sockets.AbstractSocketImpl-socket optionssoLinger:: Sockets.AbstractSocket-socket optionssoLingerOff: Sockets.AbstractSocket-socket optionssolSocket: Sockets.AbstractSocketImpl class-C constantssoReuseAddr: Sockets.AbstractSocketImpl-socket optionssoReuseAddr: Sockets.AbstractSocketImpl class-C constantssoReuseAddr:: Sockets.AbstractSocketImpl-socket optionsspace: BLOX.BText-inserting textspace: BLOX.BEdit-widget protocolspecies: ZLib.ZlibStream-streamingspecies: Sockets.AbstractSocket-socket optionsspecies: I18N.Encoder-stream operationsspecies: I18N.EncodedString-accessingsqrt: Complex-transcendental functionsstartAngle: BLOX.BArc-accessingstartAngle:: BLOX.BArc-accessingstate: BLOX.BWindow-widget protocolstate: BLOX.Blox-accessingstate:: BLOX.BWindow-widget protocolstate:: BLOX.Blox-accessingstatement: DBI.ResultSet-accessingstep: Debugger-stepping commandsstepBytecode: Debugger-stepping commandsstop: BLOX.BImage class-iconsstopInferior: Debugger-stepping commandsstopInferior:: Debugger-stepping commandsstoreOn:: Complex-printingstream: ZLib.ZlibStream-streamingstream: ZLib.ZlibError-accessingstream:: ZLib.ZlibError-accessingstretch:: BLOX.BWidget-geometry managementstrikeout: BLOX.BTextAttributes-setting attributesstrikeout: BLOX.BTextAttributes class-instance-creation shortcutssubnet: Sockets.IPAddress-accessingsuspendedContext: Debugger-inferior process propertiessweepAngle: BLOX.BArc-accessingsweepAngle:: BLOX.BArc-accessingsyncFlush: ZLib.ZlibWriteStream-streamingtableAt:: DBI.Connection-accessingtableAt:ifAbsent:: DBI.Connection-accessingtabStop: BLOX.BWidget-accessingtabStop:: BLOX.BWidget-accessingtan: Complex-transcendental functionstanh: Complex-transcendental functionstclInit: BLOX.Blox class-C call-outstcpNodelay: Sockets.TCPSocketImpl class-C constantsterminateMainLoop: BLOX.Blox class-event dispatchingterritories: I18N.LocaleData class-databaseterritory: I18N.LocaleData-accessingterritoryDirectory: I18N.LocaleData-accessingterritoryDirectory: I18N.LcMessages-accessingterritoryDirectory:: I18N.LocaleData-accessingterritoryDirectory:: I18N.LcMessages-accessingtestPort2For:: Sockets.Socket class-teststestPortFor:: Sockets.Socket class-teststext: BLOX.BEmbeddedText-accessingtext: BLOX.BDropDownList-accessingtext: BLOX.BDropDownEdit-accessing-overridestext: BLOX.BDropDown-flexibilitytext: BLOX.BBalloon-accessingtext:: BLOX.BEmbeddedText-accessingtext:: BLOX.BDropDownEdit-text accessingtext:: BLOX.BDropDown-flexibilitytext:: BLOX.BBalloon-accessingtime: I18N.Locale-subobjectstimeout: Sockets.AbstractSocket class-timed-out operationstimeout:: Sockets.AbstractSocket class-timed-out operationstimeToLive: Sockets.UDPSocketImpl-multicastingtimeToLive: Sockets.MulticastSocketImpl-multicastingtimeToLive: Sockets.MulticastSocket-instance creationtimeToLive:: Sockets.UDPSocketImpl-multicastingtimeToLive:: Sockets.MulticastSocketImpl-multicastingtimeToLive:: Sockets.MulticastSocket-instance creationto: BLOX.BArc-accessingto:: BLOX.BArc-accessingtoggle: BLOX.BDropDown-widget protocoltoplevel: BLOX.Blox-widget protocoltranslatorInformation: I18N.LcMessagesDomain-queryingtranslatorInformationAt:: I18N.LcMessagesDomain-queryingtranslatorInformationAt:at:: I18N.LcMessagesDomain-queryingtruncated: Complex-convertingtweakedLoopbackTest: Sockets.Socket class-teststype: DBI.ColumnInfo-accessingunderline: BLOX.BTextAttributes-setting attributesunderline: BLOX.BTextAttributes class-instance-creation shortcutsunhighlight: BLOX.BList-widget protocolunicodeOn:: I18N.EncodedStream class-instance creationunicodeOn:encoding:: I18N.EncodedStream class-instance creationuniqueInstance: Sockets.UnixAddress class-instance creationuniqueInstance: DBI.FieldConverter class-instance creationunknownAddress: Sockets.SocketAddress class-accessingunmap: BLOX.BWindow-widget protocolunmapList: BLOX.BDropDown-widget protocolunselect:: BLOX.BList-widget protocolupArrow: BLOX.BImage class-arrowsupdate:: Sockets.SocketAddress class-initializationupdate:: I18N.LocaleData class-accessingupdate:: BLOX.Blox class-event dispatchingupdateDriverList: DBI.Connection class-initializationutf16Encoding: I18N.EncodedString-accessingutf32Encoding: I18N.EncodedString-accessingvalue: BLOX.BToggle-accessingvalue: BLOX.BRadioGroup-accessingvalue: BLOX.BRadioButton-accessingvalue: BLOX.BProgress-accessingvalue: BLOX.BCheckMenuItem-accessingvalue:: I18N.RunTimeExpression-computingvalue:: BLOX.BToggle-accessingvalue:: BLOX.BRadioGroup-accessingvalue:: BLOX.BRadioButton-accessingvalue:: BLOX.BProgress-accessingvalue:: BLOX.BCheckMenuItem-accessingvalueAt:: I18N.EncodedString-accessingvalueAt:put:: I18N.EncodedString-accessingvalueWithoutBuffering:: Sockets.TCPSocketImpl-socket optionsvalueWithoutBuffering:: Sockets.AbstractSocketImpl-socket optionsvariable:: BLOX.BToggle-accessingversion: Sockets.IPAddress class-constantsversion: Sockets.IP6Address class-constantsvertical: BLOX.BViewport-scrollbarsvertical:: BLOX.BViewport-scrollbarsverticalNeeded: BLOX.BViewport-scrollbarsverticalShown: BLOX.BViewport-scrollbarswaitForConnection: Sockets.ServerSocket-accessingwaitForException: Sockets.AbstractSocketImpl-asynchronous operationswhite: BLOX.BTextAttributes-colorswhite: BLOX.BTextAttributes class-instance-creation shortcutswidget: BLOX.BEventSet-accessingwidth: BLOX.BWindow-widget protocolwidth: BLOX.BWidget-geometry managementwidth: BLOX.BRectangle-accessingwidth: BLOX.BPolyline-accessingwidth: BLOX.BLine-accessingwidth:: BLOX.BWindow-widget protocolwidth:: BLOX.BWidget-geometry managementwidth:: BLOX.BRectangle-accessingwidth:: BLOX.BPolyline-accessingwidth:: BLOX.BLine-accessingwidth:height:: BLOX.BWindow-widget protocolwidth:height:: BLOX.BWidget-geometry managementwidthAbsolute: BLOX.BWindow-widget protocolwidthAbsolute: BLOX.BWidget-geometry managementwidthChild:: BLOX.BWidget-geometry managementwidthChild:: BLOX.BText-geometry managementwidthChild:: BLOX.BPopupWindow-geometry managementwidthChild:: BLOX.BCanvas-geometry managementwidthOffset: BLOX.BWidget-geometry managementwidthOffset:: BLOX.BWindow-widget protocolwidthOffset:: BLOX.BWidget-geometry managementwidthPixels:: BLOX.BWidget-geometry managementwindow: BLOX.BWindow-widget protocolwindow: BLOX.Blox-widget protocolwith:with:with:with:: Sockets.IPAddress class-instance creationwithChildrenDo:: BLOX.Blox-widget protocolwithFileDo:: I18N.FileStreamSegment-basicwrap: BLOX.BText-accessingwrap:: BLOX.BText-accessingwriteBoolean:on:: DBI.FieldConverter-converting-smalltalkwriteBufferSize: Sockets.Socket class-accessingwriteBufferSize:: Sockets.Socket-stream protocolwriteBufferSize:: Sockets.Socket class-accessingwriteDate:on:: DBI.FieldConverter-converting-smalltalkwriteDateTime:on:: DBI.FieldConverter-converting-smalltalkwriteFloat:on:: DBI.FieldConverter-converting-smalltalkwriteInteger:on:: DBI.FieldConverter-converting-smalltalkwriteQuotedDate:on:: DBI.FieldConverter-converting-smalltalkwriteQuotedTime:on:: DBI.FieldConverter-converting-smalltalkwriteTime:on:: DBI.FieldConverter-converting-smalltalkx: BLOX.BWindow-widget protocolx: BLOX.BWidget-geometry managementx:: BLOX.BWindow-widget protocolx:: BLOX.BWidget-geometry managementx:y:: BLOX.BWindow-widget protocolx:y:: BLOX.BWidget-geometry managementx:y:width:height:: BLOX.BWindow-widget protocolx:y:width:height:: BLOX.BWidget-geometry managementxAbsolute: BLOX.BWindow-widget protocolxAbsolute: BLOX.BWidget-geometry managementxChild:: BLOX.BWidget-geometry managementxChild:: BLOX.BText-geometry managementxChild:: BLOX.BPopupWindow-geometry managementxChild:: BLOX.BCanvas-geometry managementxOffset: BLOX.BWidget-geometry managementxOffset:: BLOX.BWindow-widget protocolxOffset:: BLOX.BWidget-geometry managementxPixels:: BLOX.BWidget-geometry managementxRoot: BLOX.BWidget-geometry managementy: BLOX.BWindow-widget protocoly: BLOX.BWidget-geometry managementy:: BLOX.BWindow-widget protocoly:: BLOX.BWidget-geometry managementyAbsolute: BLOX.BWindow-widget protocolyAbsolute: BLOX.BWidget-geometry managementyChild:: BLOX.BWidget-geometry managementyChild:: BLOX.BText-geometry managementyChild:: BLOX.BPopupWindow-geometry managementyChild:: BLOX.BCanvas-geometry managementyellow: BLOX.BTextAttributes-colorsyellow: BLOX.BTextAttributes class-instance-creation shortcutsyOffset: BLOX.BWidget-geometry managementyOffset:: BLOX.BWindow-widget protocolyOffset:: BLOX.BWidget-geometry managementyPixels:: BLOX.BWidget-geometry managementyRoot: BLOX.BWidget-geometry managementzero: Complex-creation/coercion~=: Complex-comparing[131: Sockets.IPAddress class-instance creation[131: Sockets.IP6Address class-instance creationaccept: Sockets.ServerSocket class-instance creationaddChild:: BLOX.Blox-customizationaddEventSet:: BLOX.BEventSet class-initializingaddMenuItemFor:notifying:: BLOX.BMenu-callback registrationat:: BLOX.BList-accessingat:: BLOX.BDropDown-list box accessingbackgroundColor:: BLOX.Blox-creating childrenbasicAddChild:: BLOX.BPopupWindow-geometry managementbasicAddChild:: BLOX.Blox-customizationbasicAddChild:: BLOX.BCanvas-geometry managementbevel: BLOX.BPolyline-accessingbottomCenter: BLOX.BLabel-accessingbottomLeft: BLOX.BLabel-accessingbottomRight: BLOX.BLabel-accessingbutt: BLOX.BPolyline-accessingbutt: BLOX.BLine-accessingcanRead: Sockets.AbstractSocket-accessingcenter: BLOX.BLabel-accessingcenter: BLOX.BEmbeddedText-accessingchar: BLOX.BText-accessingcontents: ZLib.ZlibWriteStream-streamingcopy: BLOX.BCanvasObject-accessingcopyObject: BLOX.BCanvasObject-accessingcreate: BLOX.BPolyline-accessingcreate: BLOX.BExtended-customizationcreate: BLOX.BBoundingBox-accessingdestroy: BLOX.BWidget class-popupsdispatch:: BLOX.BDialog-accessingdispatchEvents: BLOX.Blox class-event dispatchingeventTest: BLOX.BEventTarget-intercepting eventsfont: BLOX.Blox-widget protocolfont: BLOX.BDropDown-flexibilityfromString:: Sockets.SocketAddress class-host name lookupfromString:: Sockets.IPAddress-accessingheight: BLOX.BWidget-geometry managementheight:: BLOX.BWidget-geometry managementheight:: BLOX.Blox-creating childrenheightOffset:: BLOX.BWidget-geometry managementinitialize:: BLOX.BWidget-customizationinset:: BLOX.BWidget-geometry managementleft: BLOX.BEmbeddedText-accessingleftCenter: BLOX.BLabel-accessingloopbackHost: Sockets.IPAddress class-instance creationmacintosh: BLOX.Blox class-utilitymake:: BLOX.Blox-creating childrenmap: BLOX.BWindow-widget protocolmiter: BLOX.BPolyline-accessingmodalMap: BLOX.BDialog-widget protocolnew:: BLOX.BWidget-customizationnewPrimitive: BLOX.BExtended-customizationnext: I18N.EncodedStream class-initializingnextPut:: ZLib.RawDeflateStream class-instance creationnextPut:: ZLib.GZipDeflateStream class-instance creationnextPut:: ZLib.DeflateStream class-instance creationnone: BLOX.BText-accessingobject:address:port:: Sockets.Datagram-accessingobject:objectDumper:address:port:: Sockets.Datagram-accessingobject:objectDumper:address:port:: Sockets.Datagram class-instance creationonKeyEvent:send:to:: BLOX.BEventTarget-intercepting eventsposition: ZLib.RawInflateStream-positioningprint:time:format:on:: I18N.LcTime-printingprintOn:: I18N.EncodedString-printingprojecting: BLOX.BPolyline-accessingprojecting: BLOX.BLine-accessingreadStream: ZLib.ZlibWriteStream-streamingredraw: BLOX.BPolyline-accessingredraw: BLOX.BBoundingBox-accessingregisterImage:: BLOX.BText-imagesright: BLOX.BEmbeddedText-accessingrightCenter: BLOX.BLabel-accessinground: BLOX.BPolyline-accessinground: BLOX.BLine-accessingrowsAffected: DBI.Connection-queryingskip:: ZLib.RawInflateStream-positioningstate: BLOX.Blox-widget protocolstate:: BLOX.Blox-widget protocoltabStop:: BLOX.BWidget-widget protocolterminateMainLoop: BLOX.Blox class-event dispatchingtopCenter: BLOX.BLabel-accessingtopLeft: BLOX.BLabel-accessingtoplevel: BLOX.Blox-widget protocoltopRight: BLOX.BLabel-accessingunix: BLOX.Blox class-utilityunmap: BLOX.BWindow-widget protocolupTo:: ZLib.ZlibStream-streamingwidth: BLOX.BWidget-geometry managementwidth:: BLOX.BWidget-geometry managementwidth:: BLOX.Blox-creating childrenwidthOffset:: BLOX.BWidget-geometry managementwindows: BLOX.Blox class-utilityword: BLOX.BText-accessingx: BLOX.BWidget-geometry managementx:: BLOX.BWidget-geometry managementxOffset:: BLOX.BWidget-geometry managementy: BLOX.BWidget-geometry managementy:: BLOX.BWidget-geometry managementyOffset:: BLOX.BWidget-geometry management{Blox: BLOX.Blox-creating children