This is gst-libs.info, produced by makeinfo version 4.6 from
/tmp/a/ports/lang/smalltalk/work/smalltalk-2.1.5/doc/gst-libs-fixed.texi.

INFO-DIR-SECTION GNU Smalltalk
START-INFO-DIR-ENTRY
* Libraries: (gst-libs).                The GNU Smalltalk class libraries.
END-INFO-DIR-ENTRY

This file documents GNU Smalltalk Version 2.1.5.  It was last updated
on 8 September 2003.

   Copyright (C) 1988-92, 1994-95, 1999-2001 Free Software Foundation,
Inc.

   This document is released under the terms of the GNU Free
Documentation License as published by the Free Software Foundation;
either version 1.1, or (at your option) any later version.

   You should have received a copy of the GNU Free Documentation
License along with GNU Smalltalk; see the file `COPYING.DOC'.  If not,
write to the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.

   There are no Cover Texts and no Invariant Sections; this text, along
with its equivalent in the printed manual, constitutes the Title Page.

File: gst-libs.info,  Node: Top,  Up: (DIR)



This document describes the class libraries that are distributed
together with the GNU Smalltalk programming language.

This file documents GNU Smalltalk Version 2.1.5.  It was last updated
on 8 September 2003.

   Copyright (C) 1988-92, 1994-95, 1999-2001 Free Software Foundation,
Inc.

   This document is released under the terms of the GNU Free
Documentation License as published by the Free Software Foundation;
either version 1.1, or (at your option) any later version.

   You should have received a copy of the GNU Free Documentation
License along with GNU Smalltalk; see the file `COPYING.DOC'.  If not,
write to the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.

   There are no Cover Texts and no Invariant Sections; this text, along
with its equivalent in the printed manual, constitutes the Title Page.
* Menu:

* BLOX::                The GUI library
* TCP::                 The sockets library
* I18N::                The internationalization library
* XML::                 Using the XML library

* Class index::         Index to the classes in the class reference
* Method index::        Index to the method selectors in the class reference
* Cross-reference::     Cross-reference between selectors


File: gst-libs.info,  Node: BLOX,  Next: TCP,  Prev: Top,  Up: Top

BLOX
****

* Menu:


Alphabetic list:
* BLOX.BArc::
* BLOX.BBalloon::
* BLOX.BBoundingBox::
* BLOX.BButton::
* BLOX.BButtonLike::
* BLOX.BCanvas::
* BLOX.BCanvasObject::
* BLOX.BCheckMenuItem::
* BLOX.BColorButton::
* BLOX.BContainer::
* BLOX.BDialog::
* BLOX.BDropDown::
* BLOX.BDropDownEdit::
* BLOX.BDropDownList::
* BLOX.BEdit::
* BLOX.BEmbeddedImage::
* BLOX.BEmbeddedText::
* BLOX.BEventSet::
* BLOX.BEventTarget::
* BLOX.BExtended::
* BLOX.BForm::
* BLOX.BImage::
* BLOX.BLabel::
* BLOX.BLine::
* BLOX.BList::
* BLOX.Blox::
* BLOX.BMenu::
* BLOX.BMenuBar::
* BLOX.BMenuItem::
* BLOX.BMenuObject::
* BLOX.BOval::
* BLOX.BPolyline::
* BLOX.BPopupMenu::
* BLOX.BPopupWindow::
* BLOX.BPrimitive::
* BLOX.BProgress::
* BLOX.BRadioButton::
* BLOX.BRadioGroup::
* BLOX.BRectangle::
* BLOX.BScrolledCanvas::
* BLOX.BSpline::
* BLOX.BText::
* BLOX.BTextAttributes::
* BLOX.BTextBindings::
* BLOX.BTextTags::
* BLOX.BToggle::
* BLOX.BTransientWindow::
* BLOX.BViewport::
* BLOX.BWidget::
* BLOX.BWindow::
* BLOX.Gui::


Class tree:
  (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::


File: gst-libs.info,  Node: BLOX.BArc,  Next: BLOX.BBalloon,  Up: BLOX

BLOX.BArc
=========

Defined in namespace BLOX
Superclass: BLOX.BOval
Category: Graphics-Windows
     I can draw arcs, pie slices (don't eat them!!), chords, and...
     nothing more.

* Menu:

* BLOX.BArc-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BArc-accessing,  Up: BLOX.BArc

BLOX.BArc: accessing
--------------------

endAngle
     Answer the ending of the angular range that is occupied by the arc,
     expressed in degrees

endAngle: angle
     Set the ending of the angular range that is occupied by the arc,
     expressed in degrees

fillChord
     Specify that the arc will be filled by painting an area delimited
     by the arc and the chord that joins the arc's endpoints.

fillSlice
     Specify that the arc will be filled by painting an area delimited
     by the arc and the two radii joins the center of the arc with each
     of the endpoints (that is, that a pie slice will be drawn).

from
     Answer the starting point of the arc in cartesian coordinates

from: aPoint
     Set the starting point of the arc in cartesian coordinates

from: start to: end
     Set the two starting points of the arc in cartesian coordinates

startAngle
     Answer the beginning of the angular range that is occupied by the
     arc, expressed in degrees

startAngle: angle
     Set the beginning of the angular range that is occupied by the arc,
     expressed in degrees

sweepAngle
     Answer the size of the angular range that is occupied by the arc,
     expressed in degrees

sweepAngle: angle
     Set the size of the angular range that is occupied by the arc,
     expressed in degrees

to
     Answer the ending point of the arc in cartesian coordinates

to: aPoint
     Set the ending point of the arc in cartesian coordinates



File: gst-libs.info,  Node: BLOX.BBalloon,  Next: BLOX.BBoundingBox,  Prev: BLOX.BArc,  Up: BLOX

BLOX.BBalloon
=============

Defined in namespace BLOX
Superclass: BLOX.BEventSet
Category: Graphics-Examples
     This event set allows a widget to show explanatory information when
     the mouse lingers over it for a while.

* Menu:

* BLOX.BBalloon class-accessing::  (class)
* BLOX.BBalloon-accessing::  (instance)
* BLOX.BBalloon-initializing::  (instance)


File: gst-libs.info,  Node: BLOX.BBalloon class-accessing,  Next: BLOX.BBalloon-accessing,  Up: BLOX.BBalloon

BLOX.BBalloon class: accessing
------------------------------

balloonDelayTime
     Answer the time after which the balloon is shown (default is half
     a second).

balloonDelayTime: milliseconds
     Set the time after which the balloon is shown.

shown
     Answer whether a balloon is displayed



File: gst-libs.info,  Node: BLOX.BBalloon-accessing,  Next: BLOX.BBalloon-initializing,  Prev: BLOX.BBalloon class-accessing,  Up: BLOX.BBalloon

BLOX.BBalloon: accessing
------------------------

shown
     Answer whether the receiver's balloon is displayed

text
     Answer the text displayed in the balloon

text: aString
     Set the text displayed in the balloon to aString



File: gst-libs.info,  Node: BLOX.BBalloon-initializing,  Prev: BLOX.BBalloon-accessing,  Up: BLOX.BBalloon

BLOX.BBalloon: initializing
---------------------------

initialize: aBWidget
     Initialize the event sets for the receiver



File: gst-libs.info,  Node: BLOX.BBoundingBox,  Next: BLOX.BButton,  Prev: BLOX.BBalloon,  Up: BLOX

BLOX.BBoundingBox
=================

Defined in namespace BLOX
Superclass: BLOX.BCanvasObject
Category: Graphics-Windows
     I am the ultimate ancestor of all items that you can put in a
     BCanvas and which are well defined by their bounding box - i.e.
     everything except BPolylines and BSplines.

* Menu:

* BLOX.BBoundingBox-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BBoundingBox-accessing,  Up: BLOX.BBoundingBox

BLOX.BBoundingBox: accessing
----------------------------

boundingBox
     Answer a Rectangle enclosing all of the receiver

center
     Answer the center point of the receiver

center: center extent: extent
     Move the object so that it is centered around the center Point and
     its size is given by the extent Point.  No changes take place
     until you invoke the #create (if the object has not been inserted
     in the canvas yet) or the #redraw method.

corner
     Answer the Point specifying the lower-right corner of the receiver

corner: pointOrArray
     Set the Point specifying the lower-right corner of the receiver;
     pointOrArray can be a Point or a two-item Array.  No changes take
     place until you invoke the #create (if the object has not been
     inserted in the canvas yet) or the #redraw method.

extent
     Answer a Point specifying the size of the receiver

extent: pointOrArray
     Set the Point specifying the size of the receiver; pointOrArray
     can be a Point or a two-item Array.  No changes take place until
     you invoke the #create (if the object has not been inserted in the
     canvas yet) or the #redraw method.

moveBy: pointOrArray
     Move the object by the amount indicated by pointOrArray: that is,
     its whole bounding box is shifted by that amount.  No changes take
     place until you invoke the #create (if the object has not been
     inserted in the canvas yet) or the #redraw method.

origin
     Answer the Point specifying the top-left corner of the receiver

origin: pointOrArray
     Set the Point specifying the top-left corner of the receiver;
     pointOrArray can be a Point or a two-item Array.  No changes take
     place until you invoke the #create (if the object has not been
     inserted in the canvas yet) or the #redraw method.

origin: originPointOrArray corner: cornerPointOrArray
     Set the bounding box of the object, based on a Point specifying the
     top-left corner of the receiver and another specifying the
     bottom-right corner; the two parameters can both be Points or
     two-item Arrays.  No changes take place until you invoke the
     #create (if the object has not been inserted in the canvas yet) or
     the #redraw method.

origin: originPointOrArray extent: extentPointOrArray
     Set the bounding box of the object, based on a Point specifying the
     top-left corner of the receiver and another specifying its size;
     the two parameters can both be Points or two-item Arrays.  No
     changes take place until you invoke the #create (if the object has
     not been inserted in the canvas yet) or the #redraw method.



File: gst-libs.info,  Node: BLOX.BButton,  Next: BLOX.BButtonLike,  Prev: BLOX.BBoundingBox,  Up: BLOX

BLOX.BButton
============

Defined in namespace BLOX
Superclass: BLOX.BPrimitive
Category: Graphics-Windows
     I am a button that a user can click. In fact I am at the head of a
     small hierarchy of objects which exhibit button-like look and
     behavior

* Menu:

* BLOX.BButton class-instance creation::  (class)
* BLOX.BButton-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BButton class-instance creation,  Next: BLOX.BButton-accessing,  Up: BLOX.BButton

BLOX.BButton class: instance creation
-------------------------------------

new: parent label: label
     Answer a new BButton widget laid inside the given parent widget,
     showing by default the `label' String.



File: gst-libs.info,  Node: BLOX.BButton-accessing,  Prev: BLOX.BButton class-instance creation,  Up: BLOX.BButton

BLOX.BButton: accessing
-----------------------

backgroundColor
     Answer the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

backgroundColor: value
     Set the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

callback
     Answer a DirectedMessage that is sent when the receiver is clicked,
     or nil if none has been set up.

callback: aReceiver message: aSymbol
     Set up so that aReceiver is sent the aSymbol message (the name of
     a zero- or one-argument selector) when the receiver is clicked.
     If the method accepts an argument, the receiver is passed.

font
     Answer the value of the font option for 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.

font: value
     Set the value of the font option for 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.

foregroundColor
     Answer the value of the foregroundColor option for the widget.
     Specifies the normal foreground color to use when displaying the
     widget.

foregroundColor: value
     Set the value of the foregroundColor option for the widget.
     Specifies the normal foreground color to use when displaying the
     widget.

invokeCallback
     Generate a synthetic callback

label
     Answer the value of the label option for 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.

label: value
     Set the value of the label option for 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.



File: gst-libs.info,  Node: BLOX.BButtonLike,  Next: BLOX.BCanvas,  Prev: BLOX.BButton,  Up: BLOX

BLOX.BButtonLike
================

Defined in namespace BLOX
Superclass: BLOX.BExtended
Category: Graphics-Examples
     I am an object whose 3-D appearance resembles that of buttons.

* Menu:

* BLOX.BButtonLike-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BButtonLike-accessing,  Up: BLOX.BButtonLike

BLOX.BButtonLike: accessing
---------------------------

callback
     Answer a DirectedMessage that is sent when the receiver is clicked,
     or nil if none has been set up.

callback: aReceiver message: aSymbol
     Set up so that aReceiver is sent the aSymbol message (the name of
     a zero- or one-argument selector) when the receiver is clicked.
     If the method accepts an argument, the receiver is passed.

invokeCallback
     Generate a synthetic callback

pressed
     This is the default callback for the widget; it does nothing if
     you don't override it. Of course if a subclass overriddes this you
     (user of the class) might desire to call this method from your own
     callback.



File: gst-libs.info,  Node: BLOX.BCanvas,  Next: BLOX.BCanvasObject,  Prev: BLOX.BButtonLike,  Up: BLOX

BLOX.BCanvas
============

Defined in namespace BLOX
Superclass: BLOX.BViewport
Category: Graphics-Windows
     I am an host for whatever geometric shape you want. If you want to
     do some fancy graphics with Smalltalk, I'll be happy to help. My
     friends derived from BCanvasObject ask me all sort of things to
     do, so I am the real worker, not they!

     BCanvasObject: I am BCanvas: No I am BCanvasObject: No I am
     BCanvas: No I am

     well, you know, he always has something to object.

* Menu:

* BLOX.BCanvas-accessing::  (instance)
* BLOX.BCanvas-geometry management::  (instance)
* BLOX.BCanvas-widget protocol::  (instance)


File: gst-libs.info,  Node: BLOX.BCanvas-accessing,  Next: BLOX.BCanvas-geometry management,  Up: BLOX.BCanvas

BLOX.BCanvas: accessing
-----------------------

backgroundColor
     Answer the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

backgroundColor: value
     Set the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

foregroundColor
     Answer the value of the foregroundColor option for the widget.
     Specifies the normal foreground color to use when displaying the
     widget.

foregroundColor: value
     Set the value of the foregroundColor option for the widget.
     Specifies the normal foreground color to use when displaying the
     widget.



File: gst-libs.info,  Node: BLOX.BCanvas-geometry management,  Next: BLOX.BCanvas-widget protocol,  Prev: BLOX.BCanvas-accessing,  Up: BLOX.BCanvas

BLOX.BCanvas: geometry management
---------------------------------

addChild: child
     The widget identified by child has been added to the receiver.
     This method is public not because you can call it, but because it
     can be useful to override it, not forgetting the call to either
     the superclass implementation or #basicAddChild:, to perform some
     initialization on the children just added. Answer the new child.

child: child height: value
     Set the given child's height.

child: child heightOffset: value
     Offset the given child's height by value pixels.

child: child width: value
     Set the given child's width.

child: child widthOffset: value
     Offset the given child's width by value pixels.

child: child x: value
     Set the given child's top-left corner's x coordinate, in pixels in
     the canvas' coordinate system.

child: child xOffset: value
     Offset the given child's top-left x by value pixels.

child: child y: value
     Set the given child's top-left corner's y coordinate, in pixels in
     the canvas' coordinate system.

child: child yOffset: value
     Offset the given child's top-left y by value pixels.

heightChild: child
     Answer the given child's height in pixels.

widthChild: child
     Answer the given child's width in pixels.

xChild: child
     Answer the given child's top-left corner's x coordinate, in pixels
     in the canvas' coordinate system.

yChild: child
     Answer the given child's top-left corner's y coordinate, in pixels
     in the canvas' coordinate system.



File: gst-libs.info,  Node: BLOX.BCanvas-widget protocol,  Prev: BLOX.BCanvas-geometry management,  Up: BLOX.BCanvas

BLOX.BCanvas: widget protocol
-----------------------------

at: aPoint
     Selects the topmost item in the canvas overlapping the point given
     by aPoint.

between: origin and: corner do: aBlock
     Evaluate aBlock for each item whose bounding box intersects the
     rectangle between the two Points, origin and corner.  Pass the
     item to the block.

boundingBox
     Answer the bounding box of all the items in the canvas

destroyed
     The widget has been destroyed.  Tell all of its items about this
     fact.

do: aBlock
     Evaluate aBlock, passing each item to it.

empty
     Remove all the items from the canvas, leaving it empty

extraSpace
     Answer the amount of space that is left as a border around the
     canvas items.

extraSpace: aPoint
     Set the amount of space that is left as a border around the canvas
     items.

items
     Answer an Array containing all the items in the canvas

mapPoint: aPoint
     Given aPoint, a point expressed in window coordinates, answer the
     corresponding canvas coordinates that are displayed at that
     location.



File: gst-libs.info,  Node: BLOX.BCanvasObject,  Next: BLOX.BCheckMenuItem,  Prev: BLOX.BCanvas,  Up: BLOX

BLOX.BCanvasObject
==================

Defined in namespace BLOX
Superclass: BLOX.BEventTarget
Category: Graphics-Windows
     I am the ultimate ancestor of all items that you can put in a
     BCanvas.  I provide some general methods to my concrete offspring.

* Menu:

* BLOX.BCanvasObject class-instance creation::  (class)
* BLOX.BCanvasObject-accessing::  (instance)
* BLOX.BCanvasObject-widget protocol::  (instance)


File: gst-libs.info,  Node: BLOX.BCanvasObject class-instance creation,  Next: BLOX.BCanvasObject-accessing,  Up: BLOX.BCanvasObject

BLOX.BCanvasObject class: instance creation
-------------------------------------------

new
     This method should not be called for instances of this class.

new: parentCanvas
     Answer a new instance of the receiver, displayed into the given
     parentCanvas.



File: gst-libs.info,  Node: BLOX.BCanvasObject-accessing,  Next: BLOX.BCanvasObject-widget protocol,  Prev: BLOX.BCanvasObject class-instance creation,  Up: BLOX.BCanvasObject

BLOX.BCanvasObject: accessing
-----------------------------

blox
     Answer the parent canvas of the receiver

boundingBox
     Answer a Rectangle enclosing all of the receiver

color
     Answer the color to be used to fill this item's area.

color: color
     Set the color to be used to fill this item's area.

copyInto: newCanvas
     Answer a new BCanvasObject identical to this but displayed into
     another canvas, newCanvas.  The new instance is not created at the
     time it is returned.

copyObject
     Answer a new BCanvasObject identical to this.  Unlike #copy, which
     merely creates a new Smalltalk object with the same data and
     referring to the same canvas item, the object created with
     #copyObject is physically distinct from the original.  The new
     instance is not created at the time it is returned.

createCopy
     Answer a new BCanvasObject identical to this.  Unlike #copy, which
     merely creates a new Smalltalk object with the same data and
     referring to the same canvas item, the object created with
     #copyObject is physically distinct from the original.  The new
     instance has already been created at the time it is returned.

createCopyInto: newCanvas
     Answer a new BCanvasObject identical to this but displayed into
     another canvas, newCanvas.  The new instance has already been
     created at the time it is returned.

deepCopy
     It does not make sense to make a copy, because it would make data
     inconsistent across different objects; so answer the receiver

grayOut
     Apply a 50% gray stippling pattern to the object

shallowCopy
     It does not make sense to make a copy, because it would make data
     inconsistent across different objects; so answer the receiver



File: gst-libs.info,  Node: BLOX.BCanvasObject-widget protocol,  Prev: BLOX.BCanvasObject-accessing,  Up: BLOX.BCanvasObject

BLOX.BCanvasObject: widget protocol
-----------------------------------

create
     If the object has not been created yet and has been initialized
     correctly, insert it for real in the parent canvas

created
     Answer whether the object is just a placeholder or has already
     been inserted for real in the parent canvas

lower
     Move the item to the lowest position in the display list.  Child
     widgets always obscure other item types, and the stacking order of
     window items is determined by sending methods to the widget object
     directly.

raise
     Move the item to the highest position in the display list.  Child
     widgets always obscure other item types, and the stacking order of
     window items is determined by sending methods to the widget object
     directly.

redraw
     Force the object to be displayed in the parent canvas, creating it
     if it has not been inserted for real in the parent, and refresh
     its position if it has changed.

remove
     Remove the object from the canvas

show
     Ensure that the object is visible in the center of the canvas,
     scrolling it if necessary.



File: gst-libs.info,  Node: BLOX.BCheckMenuItem,  Next: BLOX.BColorButton,  Prev: BLOX.BCanvasObject,  Up: BLOX

BLOX.BCheckMenuItem
===================

Defined in namespace BLOX
Superclass: BLOX.BMenuItem
Category: Graphics-Windows
     I am a menu item which can be toggled between two states, marked
     and unmarked.

* Menu:

* BLOX.BCheckMenuItem class-instance creation::  (class)
* BLOX.BCheckMenuItem-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BCheckMenuItem class-instance creation,  Next: BLOX.BCheckMenuItem-accessing,  Up: BLOX.BCheckMenuItem

BLOX.BCheckMenuItem class: instance creation
--------------------------------------------

new: parent
     This method should not be called for instances of this class.



File: gst-libs.info,  Node: BLOX.BCheckMenuItem-accessing,  Prev: BLOX.BCheckMenuItem class-instance creation,  Up: BLOX.BCheckMenuItem

BLOX.BCheckMenuItem: accessing
------------------------------

invokeCallback
     Generate a synthetic callback

value
     Answer whether the menu item is in a selected (checked) state.

value: aBoolean
     Set whether the button is in a selected (checked) state and
     generates a callback accordingly.



File: gst-libs.info,  Node: BLOX.BColorButton,  Next: BLOX.BContainer,  Prev: BLOX.BCheckMenuItem,  Up: BLOX

BLOX.BColorButton
=================

Defined in namespace BLOX
Superclass: BLOX.BButtonLike
Category: Graphics-Examples
     I am a button that shows a color and that, unless a different
     callback is used, lets you choose a color when it is clicked.

* Menu:

* BLOX.BColorButton-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BColorButton-accessing,  Up: BLOX.BColorButton

BLOX.BColorButton: accessing
----------------------------

color
     Set the color that the receiver is painted in.

color: aString
     Set the color that the receiver is painted in.

pressed
     This is the default callback; it brings up a `choose-a-color'
     window and, if `Ok' is pressed in the window, sets the receiver to
     be painted in the chosen color.



File: gst-libs.info,  Node: BLOX.BContainer,  Next: BLOX.BDialog,  Prev: BLOX.BColorButton,  Up: BLOX

BLOX.BContainer
===============

Defined in namespace BLOX
Superclass: BLOX.BForm
Category: Graphics-Windows
     I am used to group many widgets together. I can perform simple
     management by putting widgets next to each other, from left to
     right or from top to bottom.

* Menu:

* BLOX.BContainer-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BContainer-accessing,  Up: BLOX.BContainer

BLOX.BContainer: accessing
--------------------------

setVerticalLayout: aBoolean
     Answer whether the container will align the widgets vertically or
     horizontally.  Horizontal alignment means that widgets are packed
     from left to right, while vertical alignment means that widgets
     are packed from the top to the bottom of 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.



File: gst-libs.info,  Node: BLOX.BDialog,  Next: BLOX.BDropDown,  Prev: BLOX.BContainer,  Up: BLOX

BLOX.BDialog
============

Defined in namespace BLOX
Superclass: BLOX.BForm
Category: Graphics-Windows
     I am a facility for implementing dialogs with many possible choices
     and requests. In addition I provide support for a few platform
     native common dialog boxes, such as choose-a-file and
     choose-a-color.

* Menu:

* BLOX.BDialog class-instance creation::  (class)
* BLOX.BDialog class-prompters::  (class)
* BLOX.BDialog-accessing::  (instance)
* BLOX.BDialog-widget protocol::  (instance)


File: gst-libs.info,  Node: BLOX.BDialog class-instance creation,  Next: BLOX.BDialog class-prompters,  Up: BLOX.BDialog

BLOX.BDialog class: instance creation
-------------------------------------

new: parent
     Answer a new dialog handler (containing a label widget and some
     button widgets) laid out within the given parent window.  The
     label widget, when it is created, is empty.

new: parent label: aLabel
     Answer a new dialog handler (containing a label widget and some
     button widgets) laid out within the given parent window.  The
     label widget, when it is created, contains aLabel.

new: parent label: aLabel prompt: aString
     Answer a new dialog handler (containing a label widget, some
     button widgets, and an edit window showing aString by default)
     laid out within the given parent window.  The label widget, when
     it is created, contains aLabel.



File: gst-libs.info,  Node: BLOX.BDialog class-prompters,  Next: BLOX.BDialog-accessing,  Prev: BLOX.BDialog class-instance creation,  Up: BLOX.BDialog

BLOX.BDialog class: prompters
-----------------------------

chooseColor: parent label: aLabel default: color
     Prompt for a color.  The dialog box is created with the given
     parent window and with aLabel as its title bar text, and initially
     it selects the color given in the color parameter.  If the dialog
     box is canceled, nil is answered, else the selected color is
     returned as a String with its RGB value.

chooseFileToOpen: parent label: aLabel default: name defaultExtension: ext types: typeList
     Pop up a dialog box for the user to select a file to open.  Its
     purpose is for the user to select an existing file only.  If the
     user enters an non-existent file, the dialog box gives the user an
     error prompt and requires the user to give an alternative
     selection or to cancel the selection. If an application allows the
     user to create new files, it should do so by providing a separate
     New menu command.  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.

chooseFileToSave: parent label: aLabel default: name defaultExtension: ext types: typeList
     Pop up a dialog box for the user to select a file to save; this
     differs from the file open dialog box in that non-existent file
     names are accepted and existing file names trigger a confirmation
     dialog box, asking the user whether the file should be overwritten
     or not.  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.



File: gst-libs.info,  Node: BLOX.BDialog-accessing,  Next: BLOX.BDialog-widget protocol,  Prev: BLOX.BDialog class-prompters,  Up: BLOX.BDialog

BLOX.BDialog: accessing
-----------------------

addButton: aLabel receiver: anObject index: anInt
     Add a button to the dialog box that, when clicked, will cause the
     #dispatch: method to be triggered in anObject, passing anInt as
     the argument of the callback.  The caption of the button is set to
     aLabel.

addButton: aLabel receiver: anObject message: aSymbol
     Add a button to the dialog box that, when clicked, will cause the
     aSymbol unary selector to be sent to anObject.  The caption of the
     button is set to aLabel.

addButton: aLabel receiver: anObject message: aSymbol argument: arg
     Add a button to the dialog box that, when clicked, will cause the
     aSymbol one-argument selector to be sent to anObject, passing arg
     as the argument of the callback.  The caption of the button is set
     to aLabel.

contents
     Answer the text that is displayed in the entry widget associated
     to the dialog box.

contents: newText
     Display newText in the entry widget associated to the dialog box.



File: gst-libs.info,  Node: BLOX.BDialog-widget protocol,  Prev: BLOX.BDialog-accessing,  Up: BLOX.BDialog

BLOX.BDialog: widget protocol
-----------------------------

center
     Center the dialog box's parent window in the screen

centerIn: view
     Center the dialog box's parent window in the given widget

destroyed
     Private - The receiver has been destroyed, clear the corresponding
     Tcl variable to avoid memory leaks.

invokeCallback: index
     Generate a synthetic callback corresponding to the index-th button
     being pressed, and destroy the parent window (triggering its
     callback if one was established).

loop
     Map the parent window modally.  In other words, an event loop is
     started that ends only after the window has been destroyed.  For
     more information on the treatment of events for modal windows,
     refer to BWindow>>#modalMap.



File: gst-libs.info,  Node: BLOX.BDropDown,  Next: BLOX.BDropDownEdit,  Prev: BLOX.BDialog,  Up: BLOX

BLOX.BDropDown
==============

Defined in namespace BLOX
Superclass: BLOX.BExtended
Category: Graphics-Examples
     This class is an abstract superclass for widgets offering the
     ability to pick items from a pre-built list.  The list is usually
     hidden, but a button on the right of this widgets makes it pop up.
     This widget is thus composed of three parts: an unspecified text
     widget (shown on the left of the button and always visible), the
     button widget (shown on the right, it depicts a down arrow, and is
     always visible), and the pop-up list widget.

* Menu:

* BLOX.BDropDown-accessing::  (instance)
* BLOX.BDropDown-callbacks::  (instance)
* BLOX.BDropDown-flexibility::  (instance)
* BLOX.BDropDown-list box accessing::  (instance)
* BLOX.BDropDown-widget protocol::  (instance)


File: gst-libs.info,  Node: BLOX.BDropDown-accessing,  Next: BLOX.BDropDown-callbacks,  Up: BLOX.BDropDown

BLOX.BDropDown: accessing
-------------------------

backgroundColor
     Answer the value of the backgroundColor for the widget, which in
     this class is only set for the list widget (that is, the pop-up
     widget). Subclasses should override this method so that the color
     is set properly for the text widget as well.  Specifies the normal
     background color to use when displaying the widget.

backgroundColor: aColor
     Set the value of the backgroundColor for the widget, which in this
     class is only set for the list widget (that is, the pop-up
     widget). Subclasses should override this method so that the color
     is set properly for the text widget as well.  Specifies the normal
     background color to use when displaying the widget.

droppedRows
     Answer the number of items that are visible at any time in the
     listbox.

droppedRows: anInteger
     Set the number of items that are visible at any time in the
     listbox.

font
     Answer the value of the font option for the widget, which in this
     class is only set for the list widget (that is, the pop-up
     widget). Subclasses should override this method so that the color
     is set properly for the text widget as well.  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.

font: value
     Set the value of the font option for the widget, which in this
     class is only set for the list widget (that is, the pop-up
     widget). Subclasses should override this method so that the color
     is set properly for the text widget as well.  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.

foregroundColor
     Answer the value of the foregroundColor for the widget, which in
     this class is only set for the list widget (that is, the pop-up
     widget). Subclasses should override this method so that the color
     is set properly for the text widget as well.  Specifies the normal
     foreground color to use when displaying the widget.

foregroundColor: aColor
     Set the value of the foregroundColor for the widget, which in this
     class is only set for the list widget (that is, the pop-up
     widget). Subclasses should override this method so that the color
     is set properly for the text widget as well.  Specifies the normal
     foreground color to use when displaying the widget.

highlightBackground
     Answer the value of the highlightBackground option for the widget.
     Specifies the background color to use when displaying selected
     items in the list widget.

highlightBackground: aColor
     Set the value of the highlightBackground option for the widget.
     Specifies the background color to use when displaying selected
     items in the list widget.

highlightForeground
     Answer the value of the highlightForeground option for the widget.
     Specifies the foreground color to use when displaying selected
     items in the list widget.

highlightForeground: aColor
     Set the value of the highlightForeground option for the widget.
     Specifies the foreground color to use when displaying selected
     items in the list widget.



File: gst-libs.info,  Node: BLOX.BDropDown-callbacks,  Next: BLOX.BDropDown-flexibility,  Prev: BLOX.BDropDown-accessing,  Up: BLOX.BDropDown

BLOX.BDropDown: callbacks
-------------------------

callback
     Answer a DirectedMessage that is sent when the receiver is clicked,
     or nil if none has been set up.

callback: aReceiver message: aSymbol
     Set up so that aReceiver is sent the aSymbol message (the name of
     a zero- or one-argument selector) when the receiver is clicked.
     If the method accepts an argument, the receiver is passed.

invokeCallback
     Generate a synthetic callback



File: gst-libs.info,  Node: BLOX.BDropDown-flexibility,  Next: BLOX.BDropDown-list box accessing,  Prev: BLOX.BDropDown-callbacks,  Up: BLOX.BDropDown

BLOX.BDropDown: flexibility
---------------------------

createList
     Create the popup widget to be used for the `drop-down list'.  It
     is a BList by default, but you can use any other widget,
     overriding the `list box accessing' methods if necessary.

createTextWidget
     Create the widget that will hold the string chosen from the list
     box and answer it. The widget must be a child of `self primitive'.

itemHeight
     Answer the height of an item in the drop-down list. The default
     implementation assumes that the receiver understands #font, but
     you can modify it if you want.

listCallback
     Called when an item of the listbox is highlighted. Do nothing by
     default

listSelectAt: aPoint
     Select the item lying at the given position in the list box. The
     default implementation assumes that list is a BList, but you can
     modify it if you want.

listText
     Answer the text currently chosen in the list box. The default
     implementation assumes that list is a BList, but you can modify it
     if you want.

text
     Answer the text that the user has picked from the widget and/or
     typed in the control (the exact way the text is entered will be
     established by subclasses, since this is an abstract method).

text: aString
     Set the text widget to aString



File: gst-libs.info,  Node: BLOX.BDropDown-list box accessing,  Next: BLOX.BDropDown-widget protocol,  Prev: BLOX.BDropDown-flexibility,  Up: BLOX.BDropDown

BLOX.BDropDown: list box accessing
----------------------------------

add: anObject afterIndex: index
     Add an element with the given value after another element whose
     index is contained in the index parameter.  The label displayed in
     the widget is anObject's displayString.  Answer anObject.

add: aString element: anObject afterIndex: index
     Add an element with the aString label after another element whose
     index is contained in the index parameter.  This method allows the
     client to decide autonomously the label that the widget will
     display.  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.

addLast: anObject
     Add an element with the given value at the end of the listbox.
     The label displayed in the widget is anObject's displayString.
     Answer anObject.

addLast: aString element: anObject
     Add an element with the given value at the end of the listbox.
     This method allows the client to decide autonomously the label
     that the widget will display.  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.

associationAt: anIndex
     Answer an association whose key is the item at the given position
     in the listbox and whose value is the label used to display that
     item.

at: anIndex
     Answer the element displayed at the given position in the list box.

contents: stringCollection
     Set the elements displayed in the listbox, and set the labels to
     be their displayStrings.

contents: stringCollection elements: elementList
     Set the elements displayed in the listbox to be those in
     elementList, and set the labels to be the corresponding elements
     in stringCollection.  The two collections must have the same size.

do: aBlock
     Iterate over each element of the listbox and pass it to aBlock.

elements: elementList
     Set the elements displayed in the listbox, and set the labels to
     be their displayStrings.

index: newIndex
     Highlight the item at the given position in the listbox, and
     transfer the text in the list box to the text widget.

labelAt: anIndex
     Answer the label displayed at the given position in the list box.

labelsDo: aBlock
     Iterate over the labels in the list widget and pass each of them
     to aBlock.

numberOfStrings
     Answer the number of items in the list box

     would

removeAtIndex: index
     Remove the item at the given index in the list box, answering the
     object associated to the element (i.e. the value that #at: would
     have returned for the given index)

size
     Answer the number of items in the list box



File: gst-libs.info,  Node: BLOX.BDropDown-widget protocol,  Prev: BLOX.BDropDown-list box accessing,  Up: BLOX.BDropDown

BLOX.BDropDown: widget protocol
-------------------------------

dropdown
     Force the pop-up list widget to be visible.

dropRectangle
     Answer the rectangle in which the list widget will pop-up.  If
     possible, this is situated below the drop-down widget's bottom
     side, but if the screen space there is not enough it could be
     above the drop-down widget's above side.  If there is no screen
     space above as well, we pick the side where we can offer the
     greatest number of lines in the pop-up widget.

isDropdownVisible
     Answer whether the pop-up widget is visible

toggle
     Toggle the visibility of the pop-up widget.

unmapList
     Unmap the pop-up widget from the screen, transfer its selected
     item to the always visible text widget, and generate a callback.



File: gst-libs.info,  Node: BLOX.BDropDownEdit,  Next: BLOX.BDropDownList,  Prev: BLOX.BDropDown,  Up: BLOX

BLOX.BDropDownEdit
==================

Defined in namespace BLOX
Superclass: BLOX.BDropDown
Category: Graphics-Examples
     This class resembles an edit widget, but it has an arrow button
     that allows the user to pick an item from a pre-built list.

* Menu:

* BLOX.BDropDownEdit-accessing::  (instance)
* BLOX.BDropDownEdit-accessing-overrides::  (instance)
* BLOX.BDropDownEdit-text accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BDropDownEdit-accessing,  Next: BLOX.BDropDownEdit-accessing-overrides,  Up: BLOX.BDropDownEdit

BLOX.BDropDownEdit: accessing
-----------------------------

backgroundColor: aColor
     Set the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

font: aString
     Set the value of the font option for 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.

foregroundColor: aColor
     Set the value of the foregroundColor option for the widget.
     Specifies the normal foreground color to use when displaying the
     widget.

highlightBackground: aColor
     Set the value of the highlightBackground option for the widget.
     Specifies the background color to use when displaying selected
     items in the list widget and the selection in the text widget.

highlightForeground: aColor
     Set the value of the highlightBackground option for the widget.
     Specifies the background color to use when displaying selected
     items in the list widget and the selection in the text widget.



File: gst-libs.info,  Node: BLOX.BDropDownEdit-accessing-overrides,  Next: BLOX.BDropDownEdit-text accessing,  Prev: BLOX.BDropDownEdit-accessing,  Up: BLOX.BDropDownEdit

BLOX.BDropDownEdit: accessing-overrides
---------------------------------------

text
     Answer the text shown in the widget



File: gst-libs.info,  Node: BLOX.BDropDownEdit-text accessing,  Prev: BLOX.BDropDownEdit-accessing-overrides,  Up: BLOX.BDropDownEdit

BLOX.BDropDownEdit: text accessing
----------------------------------

insertAtEnd: aString
     Clear the selection and append aString at the end of the text
     widget.

replaceSelection: aString
     Insert aString in the text widget at the current insertion point,
     replacing the currently selected text (if any), and leaving the
     text selected.

selectAll
     Select the whole contents of the text widget

selectFrom: first to: last
     Sets the selection of the text widget to include the characters
     starting with the one indexed by first (the very first character in
     the widget having index 1) and ending with the one just before
     last.  If last refers to the same character as first or an earlier
     one, then the text widget's selection is cleared.

selection
     Answer an empty string if the text widget has no selection, else
     answer the currently selected text

selectionRange
     Answer nil if the text widget has no selection, else answer an
     Interval object whose first item is the index of the first
     character in the selection, and whose last item is the index of
     the character just after the last one in the selection.

text: aString
     Set the contents of the text widget and select them.



File: gst-libs.info,  Node: BLOX.BDropDownList,  Next: BLOX.BEdit,  Prev: BLOX.BDropDownEdit,  Up: BLOX

BLOX.BDropDownList
==================

Defined in namespace BLOX
Superclass: BLOX.BDropDown
Category: Graphics-Examples
     This class resembles a list box widget, but its actual list shows
     up only when you click the arrow button beside the currently
     selected item.

* Menu:

* BLOX.BDropDownList-accessing::  (instance)
* BLOX.BDropDownList-callbacks::  (instance)
* BLOX.BDropDownList-list box accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BDropDownList-accessing,  Next: BLOX.BDropDownList-callbacks,  Up: BLOX.BDropDownList

BLOX.BDropDownList: accessing
-----------------------------

backgroundColor: aColor
     Set the value of the backgroundColor for the widget, which in this
     class is set for the list widget and, when the focus is outside
     the control, for the text widget as well.  Specifies the normal
     background color to use when displaying the widget.

font: aString
     Set the value of the font option for 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.

foregroundColor: aColor
     Set the value of the foregroundColor for the widget, which in this
     class is set for the list widget and, when the focus is outside
     the control, for the text widget as well.  Specifies the normal
     foreground color to use when displaying the widget.

highlightBackground: aColor
     Answer the value of the highlightBackground option for 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.

highlightForeground: aColor
     Answer the value of the highlightForeground option for the widget.
     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.

text
     Answer the text that the user has picked from the widget and/or
     typed in the control (the exact way the text is entered will be
     established by subclasses, since this is an abstract method).



File: gst-libs.info,  Node: BLOX.BDropDownList-callbacks,  Next: BLOX.BDropDownList-list box accessing,  Prev: BLOX.BDropDownList-accessing,  Up: BLOX.BDropDownList

BLOX.BDropDownList: callbacks
-----------------------------

callback: aReceiver message: aSymbol
     Set up so that aReceiver is sent the aSymbol message (the name of
     a selector with at most two arguemtnts) when the active item in
     the receiver changegs.  If the method accepts two arguments, the
     receiver is  passed as the first parameter.  If the method accepts
     one or two arguments, the selected index is passed as the last
     parameter.

invokeCallback
     Generate a synthetic callback.



File: gst-libs.info,  Node: BLOX.BDropDownList-list box accessing,  Prev: BLOX.BDropDownList-callbacks,  Up: BLOX.BDropDownList

BLOX.BDropDownList: list box accessing
--------------------------------------

index
     Answer the value of the index option for the widget.  Since it is
     not possible to modify an item once it has been picked from the
     list widget, this is always defined for BDropDownList widgets.



File: gst-libs.info,  Node: BLOX.BEdit,  Next: BLOX.BEmbeddedImage,  Prev: BLOX.BDropDownList,  Up: BLOX

BLOX.BEdit
==========

Defined in namespace BLOX
Superclass: BLOX.BPrimitive
Category: Graphics-Windows
     I am a widget showing one line of modifiable text.

* Menu:

* BLOX.BEdit class-instance creation::  (class)
* BLOX.BEdit-accessing::  (instance)
* BLOX.BEdit-widget protocol::  (instance)


File: gst-libs.info,  Node: BLOX.BEdit class-instance creation,  Next: BLOX.BEdit-accessing,  Up: BLOX.BEdit

BLOX.BEdit class: instance creation
-----------------------------------

new: parent contents: aString
     Answer a new BEdit widget laid inside the given parent widget,
     with a default content of aString



File: gst-libs.info,  Node: BLOX.BEdit-accessing,  Next: BLOX.BEdit-widget protocol,  Prev: BLOX.BEdit class-instance creation,  Up: BLOX.BEdit

BLOX.BEdit: accessing
---------------------

backgroundColor
     Answer the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

backgroundColor: value
     Set the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

callback
     Answer a DirectedMessage that is sent when the receiver is
     modified, or nil if none has been set up.

callback: aReceiver message: aSymbol
     Set up so that aReceiver is sent the aSymbol message (the name of
     a zero- or one-argument selector) when the receiver is modified.
     If the method accepts an argument, the receiver is passed.

contents
     Return the contents of the widget

contents: newText
     Set the contents of the widget

font
     Answer the value of the font option for 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.

font: value
     Set the value of the font option for 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.

foregroundColor
     Answer the value of the foregroundColor option for the widget.
     Specifies the normal foreground color to use when displaying the
     widget.

foregroundColor: value
     Set the value of the foregroundColor option for the widget.
     Specifies the normal foreground color to use when displaying the
     widget.

selectBackground
     Answer the value of the selectBackground option for the widget.
     Specifies the background color to use when displaying selected
     parts of the widget.

selectBackground: value
     Set the value of the selectBackground option for the widget.
     Specifies the background color to use when displaying selected
     parts of the widget.

selectForeground
     Answer the value of the selectForeground option for the widget.
     Specifies the foreground color to use when displaying selected
     parts of the widget.

selectForeground: value
     Set the value of the selectForeground option for the widget.
     Specifies the foreground color to use when displaying selected
     parts of the widget.



File: gst-libs.info,  Node: BLOX.BEdit-widget protocol,  Prev: BLOX.BEdit-accessing,  Up: BLOX.BEdit

BLOX.BEdit: widget protocol
---------------------------

destroyed
     Private - The receiver has been destroyed, clear the corresponding
     Tcl variable to avoid memory leaks.

hasSelection
     Answer whether there is selected text in the widget

insertAtEnd: aString
     Clear the selection and append aString at the end of the widget.

insertText: aString
     Insert aString in the widget at the current insertion point,
     replacing the currently selected text (if any).

invokeCallback
     Generate a synthetic callback.

nextPut: aCharacter
     Clear the selection and append aCharacter at the end of the widget.

nextPutAll: aString
     Clear the selection and append aString at the end of the widget.

nl
     Clear the selection and append a linefeed character at the end of
     the widget.

replaceSelection: aString
     Insert aString in the widget at the current insertion point,
     replacing the currently selected text (if any), and leaving the
     text selected.

selectAll
     Select the whole contents of the widget.

selectFrom: first to: last
     Sets the selection to include the characters starting with the one
     indexed by first (the very first character in the widget having
     index 1) and ending with the one just before last.  If last refers
     to the same character as first or an earlier one, then the
     widget's selection is cleared.

selection
     Answer an empty string if the widget has no selection, else answer
     the currently selected text

selectionRange
     Answer nil if the widget has no selection, else answer an Interval
     object whose first item is the index of the first character in the
     selection, and whose last item is the index of the character just
     after the last one in the selection.

space
     Clear the selection and append a space at the end of the widget.



File: gst-libs.info,  Node: BLOX.BEmbeddedImage,  Next: BLOX.BEmbeddedText,  Prev: BLOX.BEdit,  Up: BLOX

BLOX.BEmbeddedImage
===================

Defined in namespace BLOX
Superclass: BLOX.BBoundingBox
Category: Graphics-Windows
     I can draw a colorful image inside the canvas.

* Menu:

* BLOX.BEmbeddedImage-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BEmbeddedImage-accessing,  Up: BLOX.BEmbeddedImage

BLOX.BEmbeddedImage: accessing
------------------------------

copyInto: aBlox
     Answer a new BCanvasObject identical to this but displayed into
     another canvas, newCanvas.  The new instance is not created at the
     time it is returned.

data
     Answer the data of the image.  The result will be a String
     containing image data either as Base-64 encoded GIF data, as XPM
     data, or as PPM data.

data: aString
     Set the data of the image.  aString may contain the data either as
     Base-64 encoded GIF data, as XPM data, or as PPM data.  No changes
     are visible until you toggle a redraw using the appropriate method.

redraw
     Force the object to be displayed in the parent canvas, creating it
     if it has not been inserted for real in the parent, and refresh
     its position and image data if it has changed.



File: gst-libs.info,  Node: BLOX.BEmbeddedText,  Next: BLOX.BEventSet,  Prev: BLOX.BEmbeddedImage,  Up: BLOX

BLOX.BEmbeddedText
==================

Defined in namespace BLOX
Superclass: BLOX.BBoundingBox
Category: Graphics-Windows
     I can draw text in all sorts of colors, sizes and fonts.

* Menu:

* BLOX.BEmbeddedText-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BEmbeddedText-accessing,  Up: BLOX.BEmbeddedText

BLOX.BEmbeddedText: accessing
-----------------------------

font
     Answer the value of the font option for the canvas object.
     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.

font: font
     Set the value of the font option for the canvas object.  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.

justify
     Answer how to justify the text within its bounding region.

justify: aSymbol
     Sets how to justify the text within its bounding region.  Can be
     #left, #right or #center (the default).

redraw
     Force the object to be displayed in the parent canvas, creating it
     if it has not been inserted for real in the parent, and refresh
     its position.

text
     Answer the text that is printed by the object

text: aString
     Set the text that is printed by the object



File: gst-libs.info,  Node: BLOX.BEventSet,  Next: BLOX.BEventTarget,  Prev: BLOX.BEmbeddedText,  Up: BLOX

BLOX.BEventSet
==============

Defined in namespace BLOX
Superclass: BLOX.BEventTarget
Category: Graphics-Windows
     I combine event handlers and let you apply them to many objects.
     Basically, you derive a class from me, override the #initialize:
     method to establish the handlers, then use the #addEventSet: method
     understood by every Blox class to add the event handlers specified
     by the receiver to the object.

* Menu:

* BLOX.BEventSet class-initializing::  (class)
* BLOX.BEventSet-accessing::  (instance)
* BLOX.BEventSet-initializing::  (instance)


File: gst-libs.info,  Node: BLOX.BEventSet class-initializing,  Next: BLOX.BEventSet-accessing,  Up: BLOX.BEventSet

BLOX.BEventSet class: initializing
----------------------------------

new
     This method should not be called for instances of this class.

new: widget
     Private - Create a new event set object that will attach to the
     given widget. Answer the object. Note: this method should be
     called by #addEventSet:, not directly



File: gst-libs.info,  Node: BLOX.BEventSet-accessing,  Next: BLOX.BEventSet-initializing,  Prev: BLOX.BEventSet class-initializing,  Up: BLOX.BEventSet

BLOX.BEventSet: accessing
-------------------------

widget
     Answer the widget to which the receiver is attached.



File: gst-libs.info,  Node: BLOX.BEventSet-initializing,  Prev: BLOX.BEventSet-accessing,  Up: BLOX.BEventSet

BLOX.BEventSet: initializing
----------------------------

initialize: aBWidget
     Initialize the receiver's event handlers to attach to aBWidget.
     You can override this of course, but don't forget to call the
     superclass implementation first.



File: gst-libs.info,  Node: BLOX.BEventTarget,  Next: BLOX.BExtended,  Prev: BLOX.BEventSet,  Up: BLOX

BLOX.BEventTarget
=================

Defined in namespace BLOX
Superclass: Object
Category: Graphics-Windows
     I track all the event handling procedures that you apply to an
     object.

* Menu:

* BLOX.BEventTarget-intercepting events::  (instance)


File: gst-libs.info,  Node: BLOX.BEventTarget-intercepting events,  Up: BLOX.BEventTarget

BLOX.BEventTarget: intercepting events
--------------------------------------

addEventSet: aBEventSetSublass
     Add to the receiver the event handlers implemented by an instance
     of aBEventSetSubclass. Answer the new instance of
     aBEventSetSublass.

onAsciiKeyEventSend: aSelector to: anObject
     When an ASCII key is pressed and the receiver has the focus, send
     the 1-argument message identified by aSelector to anObject,
     passing to it a Character.

onDestroySend: aSelector to: anObject
     When the receiver is destroyed, send the unary message identified
     by aSelector to anObject.

onFocusEnterEventSend: aSelector to: anObject
     When the focus enters the receiver, send the unary message
     identified by aSelector to anObject.

onFocusLeaveEventSend: aSelector to: anObject
     When the focus leaves the receiver, send the unary message
     identified by aSelector to anObject.

onKeyEvent: key send: aSelector to: anObject
     When the given key is pressed and the receiver has the focus, send
     the unary message identified by aSelector to anObject.  Examples
     for key are:  'Ctrl-1', 'Alt-X', 'Meta-plus', 'enter'.  The last
     two cases include example of special key identifiers; these
     include: 'backslash', 'exclam', 'quotedbl', 'dollar', 'asterisk',
     'less', 'greater', 'asciicircum' (caret), 'question', 'equal',
     'parenleft', 'parenright', 'colon', 'semicolon', 'bar' (pipe
     sign), 'underscore', 'percent', 'minus', 'plus', 'BackSpace',
     'Delete', 'Insert', 'Return', 'End', 'Home', 'Prior' (Pgup),
     'Next' (Pgdn), 'F1'..'F24', 'Caps_Lock', 'Num_Lock', 'Tab',
     'Left', 'Right', 'Up', 'Down'.  There are in addition four special
     identifiers which map to platform-specific keys: '<Cut>',
     '<Copy>', '<Paste>', '<Clear>' (all with the angular brackets!).

     test

onKeyEventSend: aSelector to: anObject
     When a key is pressed and the receiver has the focus, send the
     1-argument message identified by aSelector to anObject. The pressed
     key will be passed as a String parameter; some of the keys will
     send special key identifiers such as those explained in the
     documentation for #onKeyEvent:send:to: Look at the #eventTest test
     program in the BloxTestSuite to find out the parameters passed to
     such an event procedure

     test

onKeyUpEventSend: aSelector to: anObject
     When a key has been released and the receiver has the focus, send
     the 1-argument message identified by aSelector to anObject. The
     released key will be passed as a String parameter; some of the keys
     will send special key identifiers such as those explained in the
     documentation for #onKeyEvent:send:to: Look at the #eventTest test
     program in the BloxTestSuite to find out the parameters passed to
     such an event procedure

onMouseDoubleEvent: button send: aSelector to: anObject
     When the given button is double-clicked on the mouse, send the
     1-argument message identified by aSelector to anObject. The mouse
     position will be passed as a Point.

onMouseDoubleEventSend: aSelector to: anObject
     When a button is double-clicked on the mouse, send the 2-argument
     message identified by aSelector to anObject. The mouse position
     will be passed as a Point in the first parameter, the button
     number will be passed as an Integer in the second parameter.

onMouseDownEvent: button send: aSelector to: anObject
     When the given button is pressed on the mouse, send the 1-argument
     message identified by aSelector to anObject. The mouse position
     will be passed as a Point.

onMouseDownEventSend: aSelector to: anObject
     When a button is pressed on the mouse, send the 2-argument message
     identified by aSelector to anObject. The mouse position will be
     passed as a Point in the first parameter, the button number will
     be passed as an Integer in the second parameter.

onMouseEnterEventSend: aSelector to: anObject
     When the mouse enters the widget, send the unary message
     identified by aSelector to anObject.

onMouseLeaveEventSend: aSelector to: anObject
     When the mouse leaves the widget, send the unary message
     identified by aSelector to anObject.

onMouseMoveEvent: button send: aSelector to: anObject
     When the mouse is moved while the given button is pressed on the
     mouse, send the 1-argument message identified by aSelector to
     anObject. The mouse position will be passed as a Point.

onMouseMoveEventSend: aSelector to: anObject
     When the mouse is moved, send the 1-argument message identified by
     aSelector to anObject. The mouse position will be passed as a
     Point.

onMouseTripleEvent: button send: aSelector to: anObject
     When the given button is triple-clicked on the mouse, send the
     1-argument message identified by aSelector to anObject. The mouse
     position will be passed as a Point.

onMouseTripleEventSend: aSelector to: anObject
     When a button is triple-clicked on the mouse, send the 2-argument
     message identified by aSelector to anObject. The mouse position
     will be passed as a Point in the first parameter, the button
     number will be passed as an Integer in the second parameter.

onMouseUpEvent: button send: aSelector to: anObject
     When the given button is released on the mouse, send the
     1-argument message identified by aSelector to anObject. The mouse
     position will be passed as a Point.

onMouseUpEventSend: aSelector to: anObject
     When a button is released on the mouse, send the 2-argument
     message identified by aSelector to anObject. The mouse position
     will be passed as a Point in the first parameter, the button
     number will be passed as an Integer in the second parameter.

onResizeSend: aSelector to: anObject
     When the receiver is resized, send the 1-argument message
     identified by aSelector to anObject. The new size will be passed
     as a Point.



File: gst-libs.info,  Node: BLOX.BExtended,  Next: BLOX.BForm,  Prev: BLOX.BEventTarget,  Up: BLOX

BLOX.BExtended
==============

Defined in namespace BLOX
Superclass: BLOX.BWidget
Category: Graphics-Windows
     Just like Gui, I serve as a base for complex objects which expose
     an individual protocol but internally use a Blox widget for
     creating their user interface. Unlike Gui, however, the instances
     of my subclasses understand the standard widget protocol.  Just
     override my newPrimitive method to return another widget, and
     you'll get a class which interacts with the user like that widget
     (a list box, a text box, or even a label) but exposes a different
     protocol.

* Menu:

* BLOX.BExtended-accessing::  (instance)
* BLOX.BExtended-customization::  (instance)


File: gst-libs.info,  Node: BLOX.BExtended-accessing,  Next: BLOX.BExtended-customization,  Up: BLOX.BExtended

BLOX.BExtended: accessing
-------------------------

asPrimitiveWidget
     Answer the primitive widget that implements the receiver.



File: gst-libs.info,  Node: BLOX.BExtended-customization,  Prev: BLOX.BExtended-accessing,  Up: BLOX.BExtended

BLOX.BExtended: customization
-----------------------------

create
     After this method is called (the call is made automatically) the
     receiver will be attached to a `primitive' widget (which can be in
     turn another extended widget).  This method is public not because
     you can call it, but because it can be useful to override it, not
     forgetting the call to super (which only calls #newPrimitive and
     saves the result), to perform some initialization on the primitive
     widget just created; overriding #create is in fact more generic
     than overriding #newPrimitive. For an example of this, see the
     implementation of BButtonLike.

newPrimitive
     Create and answer a new widget on which the implementation of the
     receiver will be based. You should not call this method directly;
     instead you must override it in BExtended's subclasses.



File: gst-libs.info,  Node: BLOX.BForm,  Next: BLOX.BImage,  Prev: BLOX.BExtended,  Up: BLOX

BLOX.BForm
==========

Defined in namespace BLOX
Superclass: BLOX.BPrimitive
Category: Graphics-Windows
     I am used to group many widgets together. I leave the heavy task
     of managing their position to the user.

* Menu:

* BLOX.BForm-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BForm-accessing,  Up: BLOX.BForm

BLOX.BForm: accessing
---------------------

backgroundColor
     Answer the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

backgroundColor: value
     Set the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

defaultHeight
     Answer the value of the defaultHeight option for 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.

defaultHeight: value
     Set the value of the defaultHeight option for 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.

defaultWidth
     Answer the value of the defaultWidth option for the widget.
     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.

defaultWidth: value
     Set the value of the defaultWidth option for the widget.
     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.



File: gst-libs.info,  Node: BLOX.BImage,  Next: BLOX.BLabel,  Prev: BLOX.BForm,  Up: BLOX

BLOX.BImage
===========

Defined in namespace BLOX
Superclass: BLOX.BPrimitive
Category: Graphics-Windows
     I can display colorful images.

* Menu:

* BLOX.BImage class-arrows::  (class)
* BLOX.BImage class-GNU::  (class)
* BLOX.BImage class-icons::  (class)
* BLOX.BImage class-instance creation::  (class)
* BLOX.BImage class-small icons::  (class)
* BLOX.BImage-accessing::  (instance)
* BLOX.BImage-image management::  (instance)
* BLOX.BImage-widget protocol::  (instance)


File: gst-libs.info,  Node: BLOX.BImage class-arrows,  Next: BLOX.BImage class-GNU,  Up: BLOX.BImage

BLOX.BImage class: arrows
-------------------------

downArrow
     Answer the XPM representation of a 12x12 arrow pointing downwards.

leftArrow
     Answer the XPM representation of a 12x12 arrow pointing leftwards.

rightArrow
     Answer the XPM representation of a 12x12 arrow pointing rightwards.

upArrow
     Answer the XPM representation of a 12x12 arrow pointing upwards.



File: gst-libs.info,  Node: BLOX.BImage class-GNU,  Next: BLOX.BImage class-icons,  Prev: BLOX.BImage class-arrows,  Up: BLOX.BImage

BLOX.BImage class: GNU
----------------------

gnu
     Answer the XPM representation of a 48x48 GNU.



File: gst-libs.info,  Node: BLOX.BImage class-icons,  Next: BLOX.BImage class-instance creation,  Prev: BLOX.BImage class-GNU,  Up: BLOX.BImage

BLOX.BImage class: icons
------------------------

exclaim
     Answer the XPM representation of a 32x32 exclamation mark icon.

info
     Answer the XPM representation of a 32x32 `information' icon.

question
     Answer the XPM representation of a 32x32 question mark icon.

stop
     Answer the XPM representation of a 32x32 `critical stop' icon.



File: gst-libs.info,  Node: BLOX.BImage class-instance creation,  Next: BLOX.BImage class-small icons,  Prev: BLOX.BImage class-icons,  Up: BLOX.BImage

BLOX.BImage class: instance creation
------------------------------------

new: parent data: aString
     Answer a new BImage widget laid inside the given parent widget,
     loading data from the given string (Base-64 encoded GIF, XPM, PPM
     are supported).

new: parent image: aFileStream
     Answer a new BImage widget laid inside the given parent widget,
     loading data from the given file (GIF, XPM, PPM are supported).

new: parent size: aPoint
     Answer a new BImage widget laid inside the given parent widget,
     showing by default a transparent image of aPoint size.



File: gst-libs.info,  Node: BLOX.BImage class-small icons,  Next: BLOX.BImage-accessing,  Prev: BLOX.BImage class-instance creation,  Up: BLOX.BImage

BLOX.BImage class: small icons
------------------------------

directory
     Answer the Base-64 GIF representation of a `directory folder' icon.

file
     Answer the Base-64 GIF representation of a `file' icon.



File: gst-libs.info,  Node: BLOX.BImage-accessing,  Next: BLOX.BImage-image management,  Prev: BLOX.BImage class-small icons,  Up: BLOX.BImage

BLOX.BImage: accessing
----------------------

backgroundColor
     Answer the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

backgroundColor: value
     Set the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

displayHeight
     Answer the value of the displayHeight option for 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.

displayHeight: value
     Set the value of the displayHeight option for 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.

displayWidth
     Answer the value of the displayWidth option for the widget.
     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.

displayWidth: value
     Set the value of the displayWidth option for the widget.
     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.

foregroundColor
     Answer the value of the foregroundColor option for the widget.
     Specifies the normal foreground color to use when displaying the
     widget.

foregroundColor: value
     Set the value of the foregroundColor option for the widget.
     Specifies the normal foreground color to use when displaying the
     widget.

gamma
     Answer the value of the gamma option for 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.

gamma: value
     Set the value of the gamma option for 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.



File: gst-libs.info,  Node: BLOX.BImage-image management,  Next: BLOX.BImage-widget protocol,  Prev: BLOX.BImage-accessing,  Up: BLOX.BImage

BLOX.BImage: image management
-----------------------------

blank
     Blank the corresponding image

data: aString
     Set the image to be drawn to aString, which can be a GIF in
     Base-64 representation or an X pixelmap.

dither
     Recalculate the dithered image in the window where the image is
     displayed.  The dithering algorithm used in displaying images
     propagates quantization errors from one pixel to its neighbors.
     If the image data is supplied in pieces, the dithered image may
     not be exactly correct.  Normally the difference is not
     noticeable, but if it is a problem, this command can be used to
     fix it.

fillFrom: origin extent: extent color: color
     Fill a rectangle with the given origin and extent, using the given
     color.

fillFrom: origin to: corner color: color
     Fill a rectangle between the given corners, using the given color.

fillRectangle: rectangle color: color
     Fill a rectangle having the given bounding box, using the given
     color.

image: aFileStream
     Read a GIF or XPM image from aFileStream.  The whole contents of
     the file are read, not only from the file position.

imageHeight
     Specifies the height of the image, in pixels.  This option is
     useful primarily in situations where you wish to build up the
     contents of the image piece by piece.  A value of zero (the
     default) allows the image to expand or shrink vertically to fit
     the data stored in it.

imageWidth
     Specifies the width of the image, in pixels.  This option is useful
     primarily in situations where you wish to build up the contents of
     the image piece by piece.  A value of zero (the default) allows the
     image to expand or shrink horizontally to fit the data stored in
     it.

lineFrom: origin extent: extent color: color
     Draw a line with the given origin and extent, using the given
     color.

lineFrom: origin to: corner color: color
     This method's functionality has not been implemented yet.

lineFrom: origin toX: endX color: color
     Draw an horizontal line between the given corners, using the given
     color.

lineFrom: origin toY: endY color: color
     Draw a vertical line between the given corners, using the given
     color.

lineInside: rectangle color: color
     Draw a line having the given bounding box, using the given color.



File: gst-libs.info,  Node: BLOX.BImage-widget protocol,  Prev: BLOX.BImage-image management,  Up: BLOX.BImage

BLOX.BImage: widget protocol
----------------------------

destroyed
     Private - The receiver has been destroyed, clear the corresponding
     Tcl image to avoid memory leaks.



File: gst-libs.info,  Node: BLOX.BLabel,  Next: BLOX.BLine,  Prev: BLOX.BImage,  Up: BLOX

BLOX.BLabel
===========

Defined in namespace BLOX
Superclass: BLOX.BPrimitive
Category: Graphics-Windows
     I am a label showing static text.

* Menu:

* BLOX.BLabel class-initialization::  (class)
* BLOX.BLabel class-instance creation::  (class)
* BLOX.BLabel-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BLabel class-initialization,  Next: BLOX.BLabel class-instance creation,  Up: BLOX.BLabel

BLOX.BLabel class: initialization
---------------------------------

initialize
     Private - Initialize the receiver's class variables.



File: gst-libs.info,  Node: BLOX.BLabel class-instance creation,  Next: BLOX.BLabel-accessing,  Prev: BLOX.BLabel class-initialization,  Up: BLOX.BLabel

BLOX.BLabel class: instance creation
------------------------------------

new: parent label: label
     Answer a new BLabel widget laid inside the given parent widget,
     showing by default the `label' String.



File: gst-libs.info,  Node: BLOX.BLabel-accessing,  Prev: BLOX.BLabel class-instance creation,  Up: BLOX.BLabel

BLOX.BLabel: accessing
----------------------

alignment
     Answer the value of the anchor option for 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.

alignment: aSymbol
     Set the value of the anchor option for 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.

backgroundColor
     Answer the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

backgroundColor: value
     Set the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

font
     Answer the value of the font option for 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.

font: value
     Set the value of the font option for 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.

foregroundColor
     Answer the value of the foregroundColor option for the widget.
     Specifies the normal foreground color to use when displaying the
     widget.

foregroundColor: value
     Set the value of the foregroundColor option for the widget.
     Specifies the normal foreground color to use when displaying the
     widget.

label
     Answer the value of the label option for 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.

label: value
     Set the value of the label option for 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.



File: gst-libs.info,  Node: BLOX.BLine,  Next: BLOX.BList,  Prev: BLOX.BLabel,  Up: BLOX

BLOX.BLine
==========

Defined in namespace BLOX
Superclass: BLOX.BBoundingBox
Category: Graphics-Windows
     I only draw straight lines but I can do that very well, even
     without a ruler...

* Menu:

* BLOX.BLine-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BLine-accessing,  Up: BLOX.BLine

BLOX.BLine: accessing
---------------------

cap
     Answer the way in which caps are to be drawn at the endpoints of
     the line.  The answer may be #butt (the default), #projecting, or
     #round).

cap: aSymbol
     Set the way in which caps are to be drawn at the endpoints of the
     line.  aSymbol may be #butt (the default), #projecting, or #round).

width
     Answer the width with which the line is drawn.

width: pixels
     Set the width with which the line is drawn.



File: gst-libs.info,  Node: BLOX.BList,  Next: BLOX.Blox,  Prev: BLOX.BLine,  Up: BLOX

BLOX.BList
==========

Defined in namespace BLOX
Superclass: BLOX.BViewport
Category: Graphics-Windows
     I represent a list box from which you can choose one or more
     elements.

* Menu:

* BLOX.BList-accessing::  (instance)
* BLOX.BList-widget protocol::  (instance)


File: gst-libs.info,  Node: BLOX.BList-accessing,  Next: BLOX.BList-widget protocol,  Up: BLOX.BList

BLOX.BList: accessing
---------------------

add: anObject afterIndex: index
     Add an element with the given value after another element whose
     index is contained in the index parameter.  The label displayed in
     the widget is anObject's displayString.  Answer anObject.

add: aString element: anObject afterIndex: index
     Add an element with the aString label after another element whose
     index is contained in the index parameter.  This method allows the
     client to decide autonomously the label that the widget will
     display.  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.

addLast: anObject
     Add an element with the given value at the end of the listbox.
     The label displayed in the widget is anObject's displayString.
     Answer anObject.

addLast: aString element: anObject
     Add an element with the given value at the end of the listbox.
     This method allows the client to decide autonomously the label
     that the widget will display.  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.

associationAt: anIndex
     Answer an association whose key is the item at the given position
     in the listbox and whose value is the label used to display that
     item.

at: anIndex
     Answer the element displayed at the given position in the list box.

backgroundColor
     Answer the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

backgroundColor: value
     Set the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

contents: elementList
     Set the elements displayed in the listbox, and set the labels to
     be their displayStrings.

contents: stringCollection elements: elementList
     Set the elements displayed in the listbox to be those in
     elementList, and set the labels to be the corresponding elements
     in stringCollection.  The two collections must have the same size.

do: aBlock
     Iterate over each element of the listbox and pass it to aBlock.

elements
     Answer the collection of objects that represent the elements
     displayed by the list box.

elements: elementList
     Set the elements displayed in the listbox, and set the labels to
     be their displayStrings.

font
     Answer the value of the font option for 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.

font: value
     Set the value of the font option for 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.

foregroundColor
     Answer the value of the foregroundColor option for the widget.
     Specifies the normal foreground color to use when displaying the
     widget.

foregroundColor: value
     Set the value of the foregroundColor option for the widget.
     Specifies the normal foreground color to use when displaying the
     widget.

highlightBackground
     Answer the value of the highlightBackground option for the widget.
     Specifies the background color to use when displaying selected
     items in the widget.

highlightBackground: value
     Set the value of the highlightBackground option for the widget.
     Specifies the background color to use when displaying selected
     items in the widget.

highlightForeground
     Answer the value of the highlightForeground option for the widget.
     Specifies the foreground color to use when displaying selected
     items in the widget.

highlightForeground: value
     Set the value of the highlightForeground option for the widget.
     Specifies the foreground color to use when displaying selected
     items in the widget.

index
     Answer the value of the index option for 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.

indexAt: point
     Answer the index of the element that covers the point in the
     listbox window specified by x and y (in pixel coordinates).  If no
     element covers that point, then the closest element to that point
     is used.

isSelected: index
     Answer whether the element indicated by index is currently
     selected.

labelAt: anIndex
     Answer the label displayed at the given position in the list box.

labels
     Answer the labels displayed by the list box.

labelsDo: aBlock
     Iterate over each listbox element's label and pass it to aBlock.

mode
     Answer the value of the mode option for the widget.  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.

mode: value
     Set the value of the mode option for the widget.  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.

numberOfStrings
     Answer the number of items in the list box

     would

removeAtIndex: index
     Remove the item at the given index in the list box, answering the
     object associated to the element (i.e. the value that #at: would
     have returned for the given index)

size
     Answer the number of items in the list box



File: gst-libs.info,  Node: BLOX.BList-widget protocol,  Prev: BLOX.BList-accessing,  Up: BLOX.BList

BLOX.BList: widget protocol
---------------------------

callback
     Answer a DirectedMessage that is sent when the active item in the
     receiver changes, or nil if none has been set up.

callback: aReceiver message: aSymbol
     Set up so that aReceiver is sent the aSymbol message (the name of
     a selector with at most two arguemtnts) when the active item in
     the receiver changegs.  If the method accepts two arguments, the
     receiver is  passed as the first parameter.  If the method accepts
     one or two arguments, the selected index is passed as the last
     parameter.

highlight: index
     Highlight the item at the given position in the listbox.

invokeCallback
     Generate a synthetic callback.

select: index
     Highlight the item at the given position in the listbox, without
     unhighlighting other items.  This is meant for multiple- or
     extended-mode listboxes, but can be used with other selection mode
     in particular cases.

show: index
     Ensure that the item at the given position in the listbox is
     visible.

unhighlight
     Unhighlight all the items in the listbox.

unselect: index
     Unhighlight the item at the given position in the listbox, without
     affecting the state of the other items.



File: gst-libs.info,  Node: BLOX.Blox,  Next: BLOX.BMenu,  Prev: BLOX.BList,  Up: BLOX

BLOX.Blox
=========

Defined in namespace BLOX
Superclass: BLOX.BEventTarget
Category: Graphics-Windows
     I am the superclass for every visible user interface object
     (excluding canvas items, which are pretty different). I provide
     common methods and a simple Tcl interface for internal use. In
     addition, I expose class methods that do many interesting
     event-handling things.

     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.

* Menu:

* BLOX.Blox class-event dispatching::  (class)
* BLOX.Blox class-instance creation::  (class)
* BLOX.Blox class-utility::  (class)
* BLOX.Blox-accessing::  (instance)
* BLOX.Blox-basic::  (instance)
* BLOX.Blox-creating children::  (instance)
* BLOX.Blox-customization::  (instance)
* BLOX.Blox-widget protocol::  (instance)


File: gst-libs.info,  Node: BLOX.Blox class-event dispatching,  Next: BLOX.Blox class-instance creation,  Up: BLOX.Blox

BLOX.Blox class: event dispatching
----------------------------------

     balances

dispatchEvents
     If this is the outermost dispatching loop that is started,
     dispatch events until the number of calls to #terminateMainLoop
     balances the number of calls to #dispatchEvents; return instantly
     if this is not the outermost dispatching loop that is started.

     upon

dispatchEvents: mainWindow
     Dispatch some events; return instantly if this is not the outermost
     dispatching loop that is started, else loop until the number of
     calls to #dispatchEvents balance the number of calls to
     #terminateMainLoop.  In addition, set up an event handler that
     will call #terminateMainLoop upon destruction of the `mainWindow'
     widget (which can be any kind of BWidget, but will be typically a
     BWindow).

     balances

terminateMainLoop
     Terminate the event dispatching loop if this call to
     #terminateMainLoop balances the number of calls to
     #dispatchEvents. Answer whether the calls are balanced.

update: aspect
     Initialize the Tcl and Blox environments; executed automatically
     on startup.



File: gst-libs.info,  Node: BLOX.Blox class-instance creation,  Next: BLOX.Blox class-utility,  Prev: BLOX.Blox class-event dispatching,  Up: BLOX.Blox

BLOX.Blox class: instance creation
----------------------------------

new
     This method should not be called for instances of this class.

new: parent
     Create a new widget of the type identified by the receiver, inside
     the given parent widget. Answer the new widget



File: gst-libs.info,  Node: BLOX.Blox class-utility,  Next: BLOX.Blox-accessing,  Prev: BLOX.Blox class-instance creation,  Up: BLOX.Blox

BLOX.Blox class: utility
------------------------

active
     Answer the currently active Blox, or nil if the focus does not
     belong to a Smalltalk window.

at: aPoint
     Answer the Blox containing the given point on the screen, or nil
     if no Blox contains the given point (either because no Smalltalk
     window is there or because it is covered by another window).

atMouse
     Answer the Blox under the mouse cursor's hot spot, or nil if no
     Blox contains the given point (either because no Smalltalk window
     is there or because it is covered by another window).

beep
     Produce a bell

clearClipboard
     Clear the clipboard, answer its old contents.

clipboard
     Retrieve the text in the clipboard.

clipboard: aString
     Set the contents of the clipboard to aString (or empty the
     clipboard if aString is nil).

createColor: red green: green blue: blue
     Answer a color that can be passed to methods such as
     `backgroundColor:'.  The color will have the given RGB components
     (range is 0~65535).

createColor: cyan magenta: magenta yellow: yellow
     Answer a color that can be passed to methods such as
     `backgroundColor:'.  The color will have the given CMY components
     (range is 0~65535).

createColor: cyan magenta: magenta yellow: yellow black: black
     Answer a color that can be passed to methods such as
     `backgroundColor:'.  The color will have the given CMYK components
     (range is 0~65535).

createColor: hue saturation: sat value: value
     Answer a color that can be passed to methods such as
     `backgroundColor:'.  The color will have the given HSV components
     (range is 0~65535).

fonts
     Answer the names of the font families in the system. Additionally,
     `Times', `Courier' and `Helvetica' are always made available.

mousePointer
     If the mouse pointer is on the same screen as the application's
     windows, returns a Point containing the pointer's x and y
     coordinates measured in pixels in the screen's root window (under
     X, if a virtual root window is in use on the screen, the position
     is computed in the whole desktop, not relative to the top-left
     corner of the currently shown portion).  If the mouse pointer
     isn't on the same screen as window then answer nil.

platform
     Answer the platform on which Blox is running; it can be either
     #unix, #macintosh or #windows.

screenOrigin
     Answer a Point indicating the coordinates of the upper left point
     of the screen in the virtual root window on which the
     application's windows are drawn (under Windows and the Macintosh,
     that's always 0 @ 0)

screenResolution
     Answer a Point containing the resolution in dots per inch of the
     screen, in the x and y directions.

screenSize
     Answer a Point containing the size of the virtual root window on
     which the application's windows are drawn (under Windows and the
     Macintosh, that's the size of the screen)



File: gst-libs.info,  Node: BLOX.Blox-accessing,  Next: BLOX.Blox-basic,  Prev: BLOX.Blox class-utility,  Up: BLOX.Blox

BLOX.Blox: accessing
--------------------

state
     Answer the value of the state option for the widget.  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.

state: value
     Set the value of the state option for the widget.  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.



File: gst-libs.info,  Node: BLOX.Blox-basic,  Next: BLOX.Blox-creating children,  Prev: BLOX.Blox-accessing,  Up: BLOX.Blox

BLOX.Blox: basic
----------------

deepCopy
     It does not make sense to make a copy, because it would make data
     inconsistent across different objects; so answer the receiver

release
     Destroy the receiver if it still exists, then perform the usual
     task of removing the dependency links

shallowCopy
     It does not make sense to make a copy, because it would make data
     inconsistent across different objects; so answer the receiver



File: gst-libs.info,  Node: BLOX.Blox-creating children,  Next: BLOX.Blox-customization,  Prev: BLOX.Blox-basic,  Up: BLOX.Blox

BLOX.Blox: creating children
----------------------------

make: array
     Create children of the receiver. Answer a Dictionary of the
     children.  Each element of array is an Array including: a string
     which becomes the Dictionary's key, a binding like #{Blox.BWindow}
     identifying the class name, an array with the parameters to be set
     (for example #(#width: 50 #height: 30 #backgroundColor: 'blue')),
     and afterwards the children of the widget, described as arrays
     with this same format.

make: array on: result
     Private - Create children of the receiver, adding them to result;
     answer result. array has the format described in the comment to
     #make:

makeChild: each on: result
     Private - Create a child of the receiver, adding them to result;
     each is a single element of the array described in the comment to
     #make:



File: gst-libs.info,  Node: BLOX.Blox-customization,  Next: BLOX.Blox-widget protocol,  Prev: BLOX.Blox-creating children,  Up: BLOX.Blox

BLOX.Blox: customization
------------------------

addChild: child
     The widget identified by child has been added to the receiver.
     This method is public not because you can call it, but because it
     can be useful to override it, not forgetting the call to either
     the superclass implementation or #basicAddChild:, to perform some
     initialization on the children just added. Answer the new child.

basicAddChild: child
     The widget identified by child has been added to the receiver.
     Add it to the children collection and answer the new child.  This
     method is public because you can call it from #addChild:.



File: gst-libs.info,  Node: BLOX.Blox-widget protocol,  Prev: BLOX.Blox-customization,  Up: BLOX.Blox

BLOX.Blox: widget protocol
--------------------------

asPrimitiveWidget
     Answer the primitive widget that implements the receiver.

childrenCount
     Answer how many children the receiver has

childrenDo: aBlock
     Evaluate aBlock once for each of the receiver's child widgets,
     passing the widget to aBlock as a parameter

destroy
     Destroy the receiver

drawingArea
     Answer a Rectangle identifying the receiver's drawing area.  The
     rectangle's corners specify the upper-left and lower-right corners
     of the client area.  Because coordinates are relative to the
     upper-left corner of a window's drawing area, the coordinates of
     the rectangle's corner are (0,0).

enabled
     Answer whether the receiver is enabled to input. Although defined
     here, this method is only used for widgets that define a #state
     method

enabled: enabled
     Set whether the receiver is enabled to input (enabled is a
     boolean).  Although defined here, this method is only used for
     widgets that define a #state: method

exists
     Answer whether the receiver has been destroyed or not (answer false
     in the former case, true in the latter).

fontHeight: aString
     Answer the height of aString in pixels, when displayed in the same
     font as the receiver.  Although defined here, this method is only
     used for widgets that define a #font method

fontWidth: aString
     Answer the width of aString in pixels, when displayed in the same
     font as the receiver.  Although defined here, this method is only
     used for widgets that define a #font method

isWindow
     Answer whether the receiver represents a window on the screen.

parent
     Answer the receiver's parent (or nil for a top-level window).

toplevel
     Answer the top-level object (typically a BWindow or BPopupWindow)
     connected to the receiver.

window
     Answer the window in which the receiver stays. Note that while
     #toplevel won't answer a BTransientWindow, this method will.

withChildrenDo: aBlock
     Evaluate aBlock passing the receiver, and then once for each of the
     receiver's child widgets.



File: gst-libs.info,  Node: BLOX.BMenu,  Next: BLOX.BMenuBar,  Prev: BLOX.Blox,  Up: BLOX

BLOX.BMenu
==========

Defined in namespace BLOX
Superclass: BLOX.BMenuObject
Category: Graphics-Windows
     I am a Menu that is part of a menu bar.

* Menu:

* BLOX.BMenu class-instance creation::  (class)
* BLOX.BMenu-accessing::  (instance)
* BLOX.BMenu-callback registration::  (instance)


File: gst-libs.info,  Node: BLOX.BMenu class-instance creation,  Next: BLOX.BMenu-accessing,  Up: BLOX.BMenu

BLOX.BMenu class: instance creation
-----------------------------------

new: parent label: label
     Add a new menu to the parent window's menu bar, with `label' as
     its caption (for popup menus, parent is the widget over which the
     menu pops up as the right button is pressed).



File: gst-libs.info,  Node: BLOX.BMenu-accessing,  Next: BLOX.BMenu-callback registration,  Prev: BLOX.BMenu class-instance creation,  Up: BLOX.BMenu

BLOX.BMenu: accessing
---------------------

label
     Answer the value of the label option for 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.

label: value
     Set the value of the label option for 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.



File: gst-libs.info,  Node: BLOX.BMenu-callback registration,  Prev: BLOX.BMenu-accessing,  Up: BLOX.BMenu

BLOX.BMenu: callback registration
---------------------------------

addLine
     Add a separator item at the end of the menu

addMenuItemFor: anArray notifying: receiver
     Add a menu item described by anArray at the end of the menu.  If
     anArray is empty, insert a separator line.  If anArray has a
     single item, a menu item is created without a callback.  If
     anArray has two or three items, the second one is used as the
     selector sent to receiver, and the third one (if present) is
     passed to the selector.

callback: receiver using: selectorPairs
     Add menu items described by anArray at the end of the menu.  Each
     element of selectorPairs must be in the format described in
     BMenu>>#addMenuItemFor:notifying:.  All the callbacks will be sent
     to receiver.

destroy
     Destroy the menu widget; that is, simply remove ourselves from the
     parent menu bar.

empty
     Empty the menu widget; that is, remove all the children



File: gst-libs.info,  Node: BLOX.BMenuBar,  Next: BLOX.BMenuItem,  Prev: BLOX.BMenu,  Up: BLOX

BLOX.BMenuBar
=============

Defined in namespace BLOX
Superclass: BLOX.BMenuObject
Category: Graphics-Windows
     I am the Menu Bar, the top widget in a full menu structure.

* Menu:

* BLOX.BMenuBar-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BMenuBar-accessing,  Up: BLOX.BMenuBar

BLOX.BMenuBar: accessing
------------------------

add: aMenu
     Add aMenu to the menu bar

remove: aMenu
     Remove aMenu from the menu bar



File: gst-libs.info,  Node: BLOX.BMenuItem,  Next: BLOX.BMenuObject,  Prev: BLOX.BMenuBar,  Up: BLOX

BLOX.BMenuItem
==============

Defined in namespace BLOX
Superclass: BLOX.BMenuObject
Category: Graphics-Windows
     I am the tiny and humble Menu Item, a single command choice in the
     menu structure. But if it wasn't for me, nothing could be done...
     eh eh eh!!

* Menu:

* BLOX.BMenuItem class-instance creation::  (class)
* BLOX.BMenuItem-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BMenuItem class-instance creation,  Next: BLOX.BMenuItem-accessing,  Up: BLOX.BMenuItem

BLOX.BMenuItem class: instance creation
---------------------------------------

new: parent
     Add a new separator item to the specified menu.

new: parent label: label
     Add a new menu item to the specified menu (parent) , with `label'
     as its caption.



File: gst-libs.info,  Node: BLOX.BMenuItem-accessing,  Prev: BLOX.BMenuItem class-instance creation,  Up: BLOX.BMenuItem

BLOX.BMenuItem: accessing
-------------------------

label
     Answer the value of the label option for 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.

label: value
     Set the value of the label option for 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.



File: gst-libs.info,  Node: BLOX.BMenuObject,  Next: BLOX.BOval,  Prev: BLOX.BMenuItem,  Up: BLOX

BLOX.BMenuObject
================

Defined in namespace BLOX
Superclass: BLOX.Blox
Category: Graphics-Windows
     I am an abstract superclass for widgets which make up a menu
     structure.

* Menu:

* BLOX.BMenuObject-accessing::  (instance)
* BLOX.BMenuObject-callback::  (instance)


File: gst-libs.info,  Node: BLOX.BMenuObject-accessing,  Next: BLOX.BMenuObject-callback,  Up: BLOX.BMenuObject

BLOX.BMenuObject: accessing
---------------------------

activeBackground
     Answer the value of the activeBackground option for the widget.
     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.

activeBackground: value
     Set the value of the activeBackground option for the widget.
     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.

activeForeground
     Answer the value of the activeForeground option for the widget.
     Specifies foreground color to use when drawing active elements.
     See above for definition of active elements.

activeForeground: value
     Set the value of the activeForeground option for the widget.
     Specifies foreground color to use when drawing active elements.
     See above for definition of active elements.

asPrimitiveWidget
     Answer the primitive widget that implements the receiver.

backgroundColor
     Answer the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

backgroundColor: value
     Set the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

foregroundColor
     Answer the value of the foregroundColor option for the widget.
     Specifies the normal foreground color to use when displaying the
     widget.

foregroundColor: value
     Set the value of the foregroundColor option for the widget.
     Specifies the normal foreground color to use when displaying the
     widget.



File: gst-libs.info,  Node: BLOX.BMenuObject-callback,  Prev: BLOX.BMenuObject-accessing,  Up: BLOX.BMenuObject

BLOX.BMenuObject: callback
--------------------------

callback
     Answer a DirectedMessage that is sent when the receiver is
     modified, or nil if none has been set up.

callback: aReceiver message: aSymbol
     Set up so that aReceiver is sent the aSymbol message (the name of
     a zero- or one-argument selector) when the receiver is clicked.
     If the method accepts an argument, the receiver is passed.

callback: aReceiver message: aSymbol argument: anObject
     Set up so that aReceiver is sent the aSymbol message (the name of
     a one- or two-argument selector) when the receiver is clicked.  If
     the method accepts two argument, the receiver is passed together
     with anObject; if it accepts a single one, instead, only anObject
     is passed.

invokeCallback
     Generate a synthetic callback



File: gst-libs.info,  Node: BLOX.BOval,  Next: BLOX.BPolyline,  Prev: BLOX.BMenuObject,  Up: BLOX

BLOX.BOval
==========

Defined in namespace BLOX
Superclass: BLOX.BRectangle
Category: Graphics-Windows
     I can draw ovals (ok, if you're a mathematic, they're really
     ellipses), or even circles.

* Menu:


File: gst-libs.info,  Node: BLOX.BPolyline,  Next: BLOX.BPopupMenu,  Prev: BLOX.BOval,  Up: BLOX

BLOX.BPolyline
==============

Defined in namespace BLOX
Superclass: BLOX.BCanvasObject
Category: Graphics-Windows
     I can draw closed or open polylines, and even fill them!

* Menu:

* BLOX.BPolyline-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BPolyline-accessing,  Up: BLOX.BPolyline

BLOX.BPolyline: accessing
-------------------------

boundingBox
     Answer `boundingBox'.

cap
     Answer the way in which caps are to be drawn at the endpoints of
     the line.  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.

cap: aSymbol
     Set the way in which caps are to be drawn at the endpoints of the
     line.  aSymbol may be #butt (the default), #projecting, or #round).
     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.

closed
     Answer whether the polyline is an open or a closed one.

closed: aBoolean
     Set whether the polyline is an open or a closed one.  This option
     may be set only once.

join
     Answer the way in which joints are to be drawn at the vertices of
     the line.  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.

join: aSymbol
     Answer the way in which joints are to be drawn at the vertices of
     the line.  aSymbol can be #bevel, #miter (the default) or #round.
     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.

outlineColor
     Answer the color with which the outline of the polyline is drawn.
     This option is only available for closed polylines.

outlineColor: color
     Set the color with which the outline of the polyline is drawn.
     This option is only available for closed polylines.

points
     Answer the points that are vertices of the polyline.

     method

points: arrayOfPointsOrArrays
     Set the points that are vertices of the polyline.  Each of the
     items of arrayOfPointsOrArrays can be a Point or a two-element
     Array.  Note that no changes take place until you invoke the
     #create (if the object has not been inserted in the canvas yet) or
     the #redraw method.

width
     Answer the width with which the polyline (or its outline if it is
     a closed one) is drawn.

width: pixels
     Set the width with which the polyline (or its outline if it is a
     closed one) is drawn.



File: gst-libs.info,  Node: BLOX.BPopupMenu,  Next: BLOX.BPopupWindow,  Prev: BLOX.BPolyline,  Up: BLOX

BLOX.BPopupMenu
===============

Defined in namespace BLOX
Superclass: BLOX.BMenu
Category: Graphics-Windows
     I am a class that provides the ability to show popup menus when the
     right button (Button 3) is clicked on another window.

* Menu:

* BLOX.BPopupMenu-widget protocol::  (instance)


File: gst-libs.info,  Node: BLOX.BPopupMenu-widget protocol,  Up: BLOX.BPopupMenu

BLOX.BPopupMenu: widget protocol
--------------------------------

popup
     Generate a synthetic menu popup event



File: gst-libs.info,  Node: BLOX.BPopupWindow,  Next: BLOX.BPrimitive,  Prev: BLOX.BPopupMenu,  Up: BLOX

BLOX.BPopupWindow
=================

Defined in namespace BLOX
Superclass: BLOX.BWindow
Category: Graphics-Windows
     I am a pseudo-window that has no decorations and no ability to
     interact with the user.  My main usage, as my name says, is to
     provide pop-up functionality for other widgets.  Actually there
     should be no need to directly use me - always rely on the #new and
     #popup: class methods.

* Menu:

* BLOX.BPopupWindow-geometry management::  (instance)


File: gst-libs.info,  Node: BLOX.BPopupWindow-geometry management,  Up: BLOX.BPopupWindow

BLOX.BPopupWindow: geometry management
--------------------------------------

addChild: w
     Private - The widget identified by child has been added to the
     receiver.  This method is public not because you can call it, but
     because it can be useful to override it, not forgetting the call
     to either the superclass implementation or #basicAddChild:, to
     perform some initialization on the children just added. Answer the
     new child.

child: child height: value
     Set the given child's height.  This is done by setting its parent
     window's (that is, our) height.

child: child heightOffset: value
     This method should not be called for instances of this class.

child: child width: value
     Set the given child's width.  This is done by setting its parent
     window's (that is, our) width.

child: child widthOffset: value
     This method should not be called for instances of this class.

child: child x: value
     Set the x coordinate of the given child's top-left corner.  This
     is done by setting its parent window's (that is, our) x.

child: child xOffset: value
     This method should not be called for instances of this class.

child: child y: value
     Set the y coordinate of the given child's top-left corner.  This
     is done by setting its parent window's (that is, our) y.

child: child yOffset: value
     This method should not be called for instances of this class.

heightChild: child
     Answer the given child's height, which is the height that was
     imposed on the popup window.

widthChild: child
     Answer the given child's width in pixels, which is the width that
     was imposed on the popup window.

xChild: child
     Answer the x coordinate of the given child's top-left corner,
     which is desumed by the position of the popup window.

yChild: child
     Answer the y coordinate of the given child's top-left corner,
     which is desumed by the position of the popup window.



File: gst-libs.info,  Node: BLOX.BPrimitive,  Next: BLOX.BProgress,  Prev: BLOX.BPopupWindow,  Up: BLOX

BLOX.BPrimitive
===============

Defined in namespace BLOX
Superclass: BLOX.BWidget
Category: Graphics-Windows
     I am the superclass for every widget (except menus) directly
     provided by the underlying GUI system.

* Menu:

* BLOX.BPrimitive-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BPrimitive-accessing,  Up: BLOX.BPrimitive

BLOX.BPrimitive: accessing
--------------------------

asPrimitiveWidget
     Answer the primitive widget that implements the receiver.



File: gst-libs.info,  Node: BLOX.BProgress,  Next: BLOX.BRadioButton,  Prev: BLOX.BPrimitive,  Up: BLOX

BLOX.BProgress
==============

Defined in namespace BLOX
Superclass: BLOX.BExtended
Category: Graphics-Examples
     I show how much of a task has been completed.

* Menu:

* BLOX.BProgress-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BProgress-accessing,  Up: BLOX.BProgress

BLOX.BProgress: accessing
-------------------------

backgroundColor
     Answer the background color of the widget.  This is used for the
     background of the non-filled part, as well as for the foreground
     of the filled part.

backgroundColor: aColor
     Set the background color of the widget.  This is used for the
     background of the non-filled part, as well as for the foreground
     of the filled part.

filledColor
     Answer the background color of the widget's filled part.

filledColor: aColor
     Set the background color of the widget's filled part.

foregroundColor
     Set the foreground color of the widget.  This is used for the
     non-filled part, while the background color also works as the
     foreground of the filled part.

foregroundColor: aColor
     Set the foreground color of the widget.  This is used for the
     non-filled part, while the background color also works as the
     foreground of the filled part.

value
     Answer the filled percentage of the receiver (0..1)

value: newValue
     Set the filled percentage of the receiver and update the
     appearance.  newValue must be between 0 and 1.



File: gst-libs.info,  Node: BLOX.BRadioButton,  Next: BLOX.BRadioGroup,  Prev: BLOX.BProgress,  Up: BLOX

BLOX.BRadioButton
=================

Defined in namespace BLOX
Superclass: BLOX.BButton
Category: Graphics-Windows
     I am just one in a group of mutually exclusive buttons.

* Menu:

* BLOX.BRadioButton-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BRadioButton-accessing,  Up: BLOX.BRadioButton

BLOX.BRadioButton: accessing
----------------------------

callback: aReceiver message: aSymbol
     Set up so that aReceiver is sent the aSymbol message (the name of
     a selector accepting at most two arguments) when the receiver is
     clicked.  If the method accepts two arguments, the receiver is
     passed as the first parameter.  If the method accepts one or two
     arguments, true is passed as the last parameter for
     interoperability with BToggle widgets.

value
     Answer whether this widget is the selected one in its radio button
     group.

value: aBoolean
     Answer whether this widget is the selected one in its radio button
     group.  Setting this property to false for a group's currently
     selected button unhighlights all the buttons in that group.



File: gst-libs.info,  Node: BLOX.BRadioGroup,  Next: BLOX.BRectangle,  Prev: BLOX.BRadioButton,  Up: BLOX

BLOX.BRadioGroup
================

Defined in namespace BLOX
Superclass: BLOX.BContainer
Category: Graphics-Windows
     I am used to group many mutually-exclusive radio buttons together.
     In addition, just like every BContainer I can perform simple
     management by putting widgets next to each other, from left to
     right or (which is more useful in this particular case...) from
     top to bottom.

* Menu:

* BLOX.BRadioGroup-accessing::  (instance)
* BLOX.BRadioGroup-widget protocol::  (instance)


File: gst-libs.info,  Node: BLOX.BRadioGroup-accessing,  Next: BLOX.BRadioGroup-widget protocol,  Up: BLOX.BRadioGroup

BLOX.BRadioGroup: accessing
---------------------------

value
     Answer the index of the button that is currently selected, 1 being
     the first button added to the radio button group.  0 means that no
     button is selected

value: value
     Force the value-th button added to the radio button group to be
     the selected one.



File: gst-libs.info,  Node: BLOX.BRadioGroup-widget protocol,  Prev: BLOX.BRadioGroup-accessing,  Up: BLOX.BRadioGroup

BLOX.BRadioGroup: widget protocol
---------------------------------

destroyed
     Private - The receiver has been destroyed, clear the corresponding
     Tcl variable to avoid memory leaks.



File: gst-libs.info,  Node: BLOX.BRectangle,  Next: BLOX.BScrolledCanvas,  Prev: BLOX.BRadioGroup,  Up: BLOX

BLOX.BRectangle
===============

Defined in namespace BLOX
Superclass: BLOX.BBoundingBox
Category: Graphics-Windows
     I only draw rectangles but I can do that very well.

* Menu:

* BLOX.BRectangle-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BRectangle-accessing,  Up: BLOX.BRectangle

BLOX.BRectangle: accessing
--------------------------

outlineColor
     Answer the color with which the outline of the rectangle is drawn.

outlineColor: color
     Set the color with which the outline of the rectangle is drawn.

width
     Answer the width with which the outline of the rectangle is drawn.

width: pixels
     Set the width with which the outline of the rectangle is drawn.



File: gst-libs.info,  Node: BLOX.BScrolledCanvas,  Next: BLOX.BSpline,  Prev: BLOX.BRectangle,  Up: BLOX

BLOX.BScrolledCanvas
====================

Defined in namespace BLOX
Superclass: BLOX.BCanvas
Category: Graphics-Windows
     I am much similar to BCanvas, but I sport, in addition, two fancy
     scroll bars. This is just a convenience, since it could be easily
     done when creating the canvas...

* Menu:


File: gst-libs.info,  Node: BLOX.BSpline,  Next: BLOX.BText,  Prev: BLOX.BScrolledCanvas,  Up: BLOX

BLOX.BSpline
============

Defined in namespace BLOX
Superclass: BLOX.BPolyline
Category: Graphics-Windows
     Unlike my father BPolyline, I am more smooth at doing my job.

* Menu:

* BLOX.BSpline-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BSpline-accessing,  Up: BLOX.BSpline

BLOX.BSpline: accessing
-----------------------

smoothness
     Answer the degree of smoothness desired for curves.  Each spline
     will be approximated with this number of line segments.

smoothness: anInteger
     Set the degree of smoothness desired for curves.  Each spline will
     be approximated with this number of line segments.



File: gst-libs.info,  Node: BLOX.BText,  Next: BLOX.BTextAttributes,  Prev: BLOX.BSpline,  Up: BLOX

BLOX.BText
==========

Defined in namespace BLOX
Superclass: BLOX.BViewport
Category: Graphics-Windows
     I represent a text viewer with pretty good formatting options.

* Menu:

* BLOX.BText class-accessing::  (class)
* BLOX.BText class-instance creation::  (class)
* BLOX.BText-accessing::  (instance)
* BLOX.BText-attributes::  (instance)
* BLOX.BText-geometry management::  (instance)
* BLOX.BText-images::  (instance)
* BLOX.BText-inserting text::  (instance)
* BLOX.BText-position & lines::  (instance)


File: gst-libs.info,  Node: BLOX.BText class-accessing,  Next: BLOX.BText class-instance creation,  Up: BLOX.BText

BLOX.BText class: accessing
---------------------------

emacsLike
     Answer whether we are using Emacs or Motif key bindings.

emacsLike: aBoolean
     Set whether we are using Emacs or Motif key bindings.



File: gst-libs.info,  Node: BLOX.BText class-instance creation,  Next: BLOX.BText-accessing,  Prev: BLOX.BText class-accessing,  Up: BLOX.BText

BLOX.BText class: instance creation
-----------------------------------

newReadOnly: parent
     Answer a new read-only text widget (read-only is achieved simply
     by setting its state to be disabled)



File: gst-libs.info,  Node: BLOX.BText-accessing,  Next: BLOX.BText-attributes,  Prev: BLOX.BText class-instance creation,  Up: BLOX.BText

BLOX.BText: accessing
---------------------

backgroundColor
     Answer the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

backgroundColor: value
     Set the value of the backgroundColor option for the widget.
     Specifies the normal background color to use when displaying the
     widget.

callback
     Answer a DirectedMessage that is sent when the receiver is
     modified, or nil if none has been set up.

callback: aReceiver message: aSymbol
     Set up so that aReceiver is sent the aSymbol message (the name of
     a zero- or one-argument selector) when the receiver is modified.
     If the method accepts an argument, the receiver is passed.

contents
     Return the contents of the widget

contents: aString
     Set the contents of the widget

font
     Answer the value of the font option for 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.

font: value
     Set the value of the font option for 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.

foregroundColor
     Answer the value of the foregroundColor option for the widget.
     Specifies the normal foreground color to use when displaying the
     widget.

foregroundColor: value
     Set the value of the foregroundColor option for the widget.
     Specifies the normal foreground color to use when displaying the
     widget.

getSelection
     Answer an empty string if the widget has no selection, else answer
     the currently selected text

selectBackground
     Answer the value of the selectBackground option for the widget.
     Specifies the background color to use when displaying selected
     parts of the widget.

selectBackground: value
     Set the value of the selectBackground option for the widget.
     Specifies the background color to use when displaying selected
     parts of the widget.

selectForeground
     Answer the value of the selectForeground option for the widget.
     Specifies the foreground color to use when displaying selected
     parts of the widget.

selectForeground: value
     Set the value of the selectForeground option for the widget.
     Specifies the foreground color to use when displaying selected
     parts of the widget.

wrap
     Answer the value of the wrap option for 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.

wrap: value
     Set the value of the wrap option for 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.



File: gst-libs.info,  Node: BLOX.BText-attributes,  Next: BLOX.BText-geometry management,  Prev: BLOX.BText-accessing,  Up: BLOX.BText

BLOX.BText: attributes
----------------------

insertAtEnd: aString attribute: attr
     Clear the selection and append aString at the end of the widget.
     Use the given attributes to format the text.

insertText: aString attribute: attr
     Insert aString in the widget at the current insertion point,
     replacing the currently selected text (if any).  Use the given
     attributes to format the text.

removeAttributes
     Remove any kind of formatting from the text in the widget

removeAttributesFrom: aPoint to: endPoint
     Remove any kind of formatting from the text in the widget between
     the given endpoints.  The two endpoints are Point objects in which
     both coordinates are 1-based: the first line is line 1, and the
     first character in the first line is character 1.

setAttributes: attr from: aPoint to: endPoint
     Add the formatting given by attr to the text in the widget between
     the given endpoints.  The two endpoints are Point objects in which
     both coordinates are 1-based: the first line is line 1, and the
     first character in the first line is character 1.



File: gst-libs.info,  Node: BLOX.BText-geometry management,  Next: BLOX.BText-images,  Prev: BLOX.BText-attributes,  Up: BLOX.BText

BLOX.BText: geometry management
-------------------------------

child: child height: value
     Set the height of the given child to be `value' pixels.

child: child heightOffset: value
     Adjust the height of the given child to be given by `value' more
     pixels.

child: child width: value
     Set the width of the given child to be `value' pixels.

child: child widthOffset: value
     Adjust the width of the given child to be given by `value' more
     pixels.

child: child x: value
     Never fail and do nothing, the children stay where the text ended
     at the time each child was added in the widget

child: child xOffset: value
     This method should not be called for instances of this class.

child: child y: value
     Never fail and do nothing, the children stay where the text ended
     at the time each child was added in the widget

child: child yOffset: value
     This method should not be called for instances of this class.

heightChild: child
     Answer the given child's height in pixels.

widthChild: child
     Answer the given child's width in pixels.

xChild: child
     Answer the given child's top-left border's x coordinate.  We
     always answer 0 since the children actually move when the text
     widget scrolls

yChild: child
     Answer the given child's top-left border's y coordinate.  We
     always answer 0 since the children actually move when the text
     widget scrolls



File: gst-libs.info,  Node: BLOX.BText-images,  Next: BLOX.BText-inserting text,  Prev: BLOX.BText-geometry management,  Up: BLOX.BText

BLOX.BText: images
------------------

insertImage: anObject
     Insert an image where the insertion point currently lies in the
     widget.  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:

insertImage: anObject at: position
     Insert an image at the given position in the widget.  The position
     is a Point object in which both coordinates are 1-based: the first
     line is line 1, and the first character in the first line is
     character 1.  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:

insertImageAtEnd: anObject
     Insert an image at the end of the widgets text.  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:

registerImage: anObject
     Register an image (whose data is in anObject, a String including
     Base-64 encoded GIF data, XPM data, or PPM data) to be used in the
     widget.  If the same image must be used a lot of times, it is
     better to register it once and then pass the result of
     #registerImage: to the image insertion methods.  Registered image
     are private within each BText widget.  Registering an image with a
     widget and using it with another could give unpredictable results.



File: gst-libs.info,  Node: BLOX.BText-inserting text,  Next: BLOX.BText-position & lines,  Prev: BLOX.BText-images,  Up: BLOX.BText

BLOX.BText: inserting text
--------------------------

insertAtEnd: aString
     Clear the selection and append aString at the end of the widget.

insertSelectedText: aString
     Insert aString in the widget at the current insertion point,
     leaving the currently selected text (if any) in place, and
     selecting the text.

insertText: aString
     Insert aString in the widget at the current insertion point,
     replacing the currently selected text (if any).

insertText: aString at: position
     Insert aString in the widget at the given position, replacing the
     currently selected text (if any).  The position is a Point object
     in which both coordinates are 1-based: the first line is line 1,
     and the first character in the first line is character 1.

insertTextSelection: aString
     Insert aString in the widget after the current selection, leaving
     the currently selected text (if any) intact.

invokeCallback
     Generate a synthetic callback.

nextPut: aCharacter
     Clear the selection and append aCharacter at the end of the widget.

nextPutAll: aString
     Clear the selection and append aString at the end of the widget.

nl
     Clear the selection and append a linefeed character at the end of
     the widget.

refuseTabs
     Arrange so that Tab characters, instead of being inserted in the
     widget, traverse the widgets in the parent window.

replaceSelection: aString
     Insert aString in the widget at the current insertion point,
     replacing the currently selected text (if any), and leaving the
     text selected.

searchString: aString
     Search aString in the widget.  If it is not found, answer zero,
     else answer the 1-based line number and move the insertion point
     to the place where the string was found.

space
     Clear the selection and append a space at the end of the widget.



File: gst-libs.info,  Node: BLOX.BText-position & lines,  Prev: BLOX.BText-inserting text,  Up: BLOX.BText

BLOX.BText: position & lines
----------------------------

charsInLine: number
     Answer how many characters are there in the number-th line

currentColumn
     Answer the 1-based column number where the insertion point
     currently lies.

currentLine
     Answer the 1-based line number where the insertion point currently
     lies.

currentPosition
     Answer a Point representing where the insertion point currently
     lies.  Both coordinates in the answer are 1-based: the first line
     is line 1, and the first character in the first line is character
     1.

currentPosition: aPoint
     Move the insertion point to the position given by aPoint.  Both
     coordinates in aPoint are interpreted as 1-based: the first line
     is line 1, and the first character in the first line is character
     1.

gotoLine: line end: aBoolean
     If aBoolean is true, move the insertion point to the last
     character of the line-th line (1 being the first line in the
     widget); if aBoolean is false, move it to the start of the line-th
     line.

indexAt: point
     Answer the position of the character that covers the pixel whose
     coordinates within the text's window are given by the supplied
     Point object.

lineAt: number
     Answer the number-th line of text in the widget

numberOfLines
     Answer the number of lines in the widget

selectFrom: first to: last
     Select the text between the given endpoints.  The two endpoints
     are Point objects in which both coordinates are 1-based: the first
     line is line 1, and the first character in the first line is
     character 1.

setToEnd
     Move the insertion point to the end of the widget



File: gst-libs.info,  Node: BLOX.BTextAttributes,  Next: BLOX.BTextBindings,  Prev: BLOX.BText,  Up: BLOX

BLOX.BTextAttributes
====================

Defined in namespace BLOX
Superclass: Object
Category: Graphics-Windows
     I help you creating wonderful, colorful BTexts.

* Menu:

* BLOX.BTextAttributes class-instance-creation shortcuts::  (class)
* BLOX.BTextAttributes-colors::  (instance)
* BLOX.BTextAttributes-setting attributes::  (instance)


File: gst-libs.info,  Node: BLOX.BTextAttributes class-instance-creation shortcuts,  Next: BLOX.BTextAttributes-colors,  Up: BLOX.BTextAttributes

BLOX.BTextAttributes class: instance-creation shortcuts
-------------------------------------------------------

backgroundColor: color
     Create a new BTextAttributes object resulting in text with the
     given background color.

black
     Create a new BTextAttributes object resulting in black text.

blue
     Create a new BTextAttributes object resulting in blue text.

center
     Create a new BTextAttributes object resulting in centered
     paragraphs.

cyan
     Create a new BTextAttributes object resulting in cyan text.

darkCyan
     Create a new BTextAttributes object resulting in dark cyan text.

darkGreen
     Create a new BTextAttributes object resulting in dark green text.

darkMagenta
     Create a new BTextAttributes object resulting in dark purple text.

events: aBTextBindings
     Create a new BTextAttributes object for text that responds to
     events according to the callbacks established in aBTextBindings.

font: font
     Create a new BTextAttributes object resulting in text with the
     given font.  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.

foregroundColor: color
     Create a new BTextAttributes object resulting in text with the
     given foreground color.

green
     Create a new BTextAttributes object resulting in green text.

magenta
     Create a new BTextAttributes object resulting in magenta text.

red
     Create a new BTextAttributes object resulting in red text.

strikeout
     Create a new BTextAttributes object resulting in struck-out text.

underline
     Create a new BTextAttributes object resulting in underlined text.

white
     Create a new BTextAttributes object resulting in white text.

yellow
     Create a new BTextAttributes object resulting in yellow text.



File: gst-libs.info,  Node: BLOX.BTextAttributes-colors,  Next: BLOX.BTextAttributes-setting attributes,  Prev: BLOX.BTextAttributes class-instance-creation shortcuts,  Up: BLOX.BTextAttributes

BLOX.BTextAttributes: colors
----------------------------

black
     Set the receiver so that applying it results in black text.

blue
     Set the receiver so that applying it results in blue text.

cyan
     Set the receiver so that applying it results in cyan text.

darkCyan
     Set the receiver so that applying it results in dark cyan text.

darkGreen
     Set the receiver so that applying it results in dark green text.

darkMagenta
     Set the receiver so that applying it results in dark magenta text.

green
     Set the receiver so that applying it results in green text.

magenta
     Set the receiver so that applying it results in magenta text.

red
     Set the receiver so that applying it results in red text.

white
     Set the receiver so that applying it results in white text.

yellow
     Set the receiver so that applying it results in black text.



File: gst-libs.info,  Node: BLOX.BTextAttributes-setting attributes,  Prev: BLOX.BTextAttributes-colors,  Up: BLOX.BTextAttributes

BLOX.BTextAttributes: setting attributes
----------------------------------------

backgroundColor
     Answer the value of the backgroundColor option for the text.
     Specifies the background color to use when displaying text with
     these attributes.  nil indicates that the default value is not
     overridden.

backgroundColor: color
     Set the value of the backgroundColor option for the text.
     Specifies the background color to use when displaying text with
     these attributes.  nil indicates that the default value is not
     overridden.

center
     Center the text to which these attributes are applied

events
     Answer the event bindings which apply to text subject to these
     attributes

events: aBTextBindings
     Set the event bindings which apply to text subject to these
     attributes

font
     Answer the value of the font option for the text.  The font can be
     given as either an X font name or a Blox font description string,
     or nil if you want the widget's default font to apply.  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.

font: fontName
     Set the value of the font option for the text.  The font can be
     given as either an X font name or a Blox font description string,
     or nil if you want the widget's default font to apply.  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.

foregroundColor
     Answer the value of the foregroundColor option for the text.
     Specifies the foreground color to use when displaying text with
     these attributes.  nil indicates that the default value is not
     overridden.

foregroundColor: color
     Set the value of the foregroundColor option for the text.
     Specifies the foreground color to use when displaying text with
     these attributes.  nil indicates that the default value is not
     overridden.

isCentered
     Answer whether the text to which these attributes are applied is
     centered

isStruckout
     Answer whether the text to which these attributes are applied is
     struckout

isUnderlined
     Answer whether the text to which these attributes are applied is
     underlined

strikeout
     Strike out the text to which these attributes are applied

underline
     Underline the text to which these attributes are applied



File: gst-libs.info,  Node: BLOX.BTextBindings,  Next: BLOX.BTextTags,  Prev: BLOX.BTextAttributes,  Up: BLOX

BLOX.BTextBindings
==================

Defined in namespace BLOX
Superclass: BLOX.BEventTarget
Category: Graphics-Windows
     This object is used to assign event handlers to particular
     sections of text in a BText widget.  To use it, you simply have to
     add event handlers to it, and then create a BTextAttributes object
     that refers to it.

* Menu:

* BLOX.BTextBindings class-instance creation::  (class)


File: gst-libs.info,  Node: BLOX.BTextBindings class-instance creation,  Up: BLOX.BTextBindings

BLOX.BTextBindings class: instance creation
-------------------------------------------

new
     Create a new instance of the receiver.



File: gst-libs.info,  Node: BLOX.BTextTags,  Next: BLOX.BToggle,  Prev: BLOX.BTextBindings,  Up: BLOX

BLOX.BTextTags
==============

Defined in namespace BLOX
Superclass: Object
Category: Graphics-Windows
     I am a private class. I sit between a BText and BTextAttributes,
     helping the latter in telling the former which attributes to use.

* Menu:


File: gst-libs.info,  Node: BLOX.BToggle,  Next: BLOX.BTransientWindow,  Prev: BLOX.BTextTags,  Up: BLOX

BLOX.BToggle
============

Defined in namespace BLOX
Superclass: BLOX.BButton
Category: Graphics-Windows
     I represent a button whose choice can be included (by checking me)
     or excluded (by leaving me unchecked).

* Menu:

* BLOX.BToggle-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.BToggle-accessing,  Up: BLOX.BToggle

BLOX.BToggle: accessing
-----------------------

callback: aReceiver message: aSymbol
     Set up so that aReceiver is sent the aSymbol message (the name of
     a selector accepting at most two arguments) when the receiver is
     clicked.  If the method accepts two arguments, the receiver is
     passed as the first parameter.  If the method accepts one or two
     arguments, the state of the widget (true if it is selected, false
     if it is not) is passed as the last parameter.

invokeCallback
     Generate a synthetic callback.

value
     Answer whether the button is in a selected (checked) state.

value: aBoolean
     Set whether the button is in a selected (checked) state and
     generates a callback accordingly.

variable: value
     Set the value of Tk's variable option for the widget.



File: gst-libs.info,  Node: BLOX.BTransientWindow,  Next: BLOX.BViewport,  Prev: BLOX.BToggle,  Up: BLOX

BLOX.BTransientWindow
=====================

Defined in namespace BLOX
Superclass: BLOX.BWindow
Category: Graphics-Windows
     I am almost a boss. I represent a window which is logically linked
     to another which sits higher in the widget hierarchy, e.g. a dialog
     box

* Menu:

* BLOX.BTransientWindow class-instance creation::  (class)
* BLOX.BTransientWindow-widget protocol::  (instance)


File: gst-libs.info,  Node: BLOX.BTransientWindow class-instance creation,  Next: BLOX.BTransientWindow-widget protocol,  Up: BLOX.BTransientWindow

BLOX.BTransientWindow class: instance creation
----------------------------------------------

new
     This method should not be called for instances of this class.

new: parentWindow
     Answer a new transient window attached to the given parent window
     and with nothing in its title bar caption.

new: label in: parentWindow
     Answer a new transient window attached to the given parent window
     and with `label' as its title bar caption.



File: gst-libs.info,  Node: BLOX.BTransientWindow-widget protocol,  Prev: BLOX.BTransientWindow class-instance creation,  Up: BLOX.BTransientWindow

BLOX.BTransientWindow: widget protocol
--------------------------------------

map
     Map the window and inform the windows manager that the receiver is
     a transient window working on behalf of its parent.  The window is
     also put in its parent window's window group: the window manager
     might use this information, for example, to unmap all of the
     windows in a group when the group's leader is iconified.



File: gst-libs.info,  Node: BLOX.BViewport,  Next: BLOX.BWidget,  Prev: BLOX.BTransientWindow,  Up: BLOX

BLOX.BViewport
==============

Defined in namespace BLOX
Superclass: BLOX.BPrimitive
Category: Graphics-Windows
     I represent an interface which is common to widgets that can be
     scrolled, like list boxes or text widgets.

* Menu:

* BLOX.BViewport-accessing::  (instance)
* BLOX.BViewport-scrollbars::  (instance)


File: gst-libs.info,  Node: BLOX.BViewport-accessing,  Next: BLOX.BViewport-scrollbars,  Up: BLOX.BViewport

BLOX.BViewport: accessing
-------------------------

connected
     Private - Answer the name of Tk widget for the connected widget.



File: gst-libs.info,  Node: BLOX.BViewport-scrollbars,  Prev: BLOX.BViewport-accessing,  Up: BLOX.BViewport

BLOX.BViewport: scrollbars
--------------------------

horizontal
     Answer whether an horizontal scrollbar is drawn in the widget if
     needed.

horizontal: aBoolean
     Set whether an horizontal scrollbar is drawn in the widget if
     needed.

horizontalNeeded
     Answer whether an horizontal scrollbar is needed to show all the
     information in the widget.

horizontalShown
     Answer whether an horizontal scrollbar is drawn in the widget.

vertical
     Answer whether a vertical scrollbar is drawn in the widget if
     needed.

vertical: aBoolean
     Set whether a vertical scrollbar is drawn in the widget if needed.

verticalNeeded
     Answer whether a vertical scrollbar is needed to show all the
     information in the widget.

verticalShown
     Answer whether a vertical scrollbar is drawn in the widget.



File: gst-libs.info,  Node: BLOX.BWidget,  Next: BLOX.BWindow,  Prev: BLOX.BViewport,  Up: BLOX

BLOX.BWidget
============

Defined in namespace BLOX
Superclass: BLOX.Blox
Category: Graphics-Windows
     I am the superclass for every widget except those related to
     menus. I provide more common methods and geometry management

* Menu:

* BLOX.BWidget class-popups::  (class)
* BLOX.BWidget-accessing::  (instance)
* BLOX.BWidget-customization::  (instance)
* BLOX.BWidget-geometry management::  (instance)
* BLOX.BWidget-widget protocol::  (instance)


File: gst-libs.info,  Node: BLOX.BWidget class-popups,  Next: BLOX.BWidget-accessing,  Up: BLOX.BWidget

BLOX.BWidget class: popups
--------------------------

new
     Create an instance of the receiver inside a BPopupWindow; do not
     map the window, answer the new widget.  The created widget will
     become a child of the window and be completely attached to it
     (e.g. the geometry methods will modify the window's geometry).
     Note that while the widget *seems* to be directly painted on the
     root window, it actually belongs to the BPopupWindow; so don't
     send #destroy to the widget to remove it, but rather to the window.

popup: initializationBlock
     Create an instance of the receiver inside a BPopupWindow; before
     returning, pass the widget to the supplied initializationBlock,
     then map the window.  Answer the new widget.  The created widget
     will become a child of the window and be completely attached to it
     (e.g. the geometry methods will modify the window's geometry).
     Note that while the widget *seems* to be directly painted on the
     root window, it actually belongs to the BPopupWindow; so don't
     send #destroy to the widget to remove it, but rather to the window.



File: gst-libs.info,  Node: BLOX.BWidget-accessing,  Next: BLOX.BWidget-customization,  Prev: BLOX.BWidget class-popups,  Up: BLOX.BWidget

BLOX.BWidget: accessing
-----------------------

borderWidth
     Answer the value of the borderWidth option for the widget.
     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.

borderWidth: value
     Set the value of the borderWidth option for the widget.  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.

cursor
     Answer the value of the cursor option for the widget.  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_.

cursor: value
     Set the value of the cursor option for the widget.  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_.

effect
     Answer the value of the effect option for the widget.  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.

effect: value
     Set the value of the effect option for the widget.  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.

tabStop
     Answer the value of the tabStop option for the widget.  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.

tabStop: value
     Set the value of the tabStop option for the widget.  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.



File: gst-libs.info,  Node: BLOX.BWidget-customization,  Next: BLOX.BWidget-geometry management,  Prev: BLOX.BWidget-accessing,  Up: BLOX.BWidget

BLOX.BWidget: customization
---------------------------

addChild: child
     The widget identified by child has been added to the receiver.
     This method is public not because you can call it, but because it
     can be useful to override it, not forgetting the call to
     basicAddChild, to perform some initialization on the children just
     added. Answer the new child.

create
     Make the receiver able to respond to its widget protocol.  This
     method is public not because you can call it, but because it can
     be useful to override it, not forgetting the call to super, to
     perform some initialization on the primitive widget just created;
     for an example of this, see the implementation of BButtonLike.

initialize: parentWidget
     This is called by #new: to initialize the widget (as the name
     says...). The default implementation calls all the other methods
     in the `customization' protocol and some private ones that take
     care of making the receiver's status consistent, so you should
     usually call it instead of doing everything by hand. This method
     is public not because you can call it, but because it might be
     useful to override it. Always answer the receiver.

setInitialSize
     This is called by #initialize: to set the widget's initial size.
     The whole area is occupied by default. This method is public not
     because you can call it, but because it can be useful to override
     it.



File: gst-libs.info,  Node: BLOX.BWidget-geometry management,  Next: BLOX.BWidget-widget protocol,  Prev: BLOX.BWidget-customization,  Up: BLOX.BWidget

BLOX.BWidget: geometry management
---------------------------------

boundingBox
     Answer a Rectangle containing the bounding box of the receiver

boundingBox: rect
     Set the bounding box of the receiver to rect (a Rectangle).

child: child height: value
     Set the given child's height to value.  The default implementation
     of this method uses `rubber-sheet' geometry management as
     explained in the comment to BWidget's #height method.  You should
     not use this method, which is automatically called by the child's
     #height: method, but you might want to override it.  The child's
     property slots whose name ends with `Geom' are reserved for this
     method. This method should never fail - if it doesn't apply to the
     kind of geometry management that the receiver does, just do
     nothing.

child: child heightOffset: value
     Adjust the given child's height by a fixed amount of value pixel.
     This is meaningful for the default implementation, using
     `rubber-sheet' geometry management as explained in the comment to
     BWidget's #height and #heightOffset: methods.  You should not use
     this method, which is automatically called by the child's
     #heightOffset: method, but you might want to override it.  if it
     doesn't apply to the kind of geometry management that the receiver
     does, just add value to the current height of the widget.

child: child stretch: aBoolean
     This method is only used when on the path from the receiver to its
     toplevel there is a BContainer.  It decides whether child is among
     the widgets that are stretched to fill the entire width of the
     BContainer; if this has not been set for this widget, it is
     propagated along the widget hierarchy.

child: child width: value
     Set the given child's width to value.  The default implementation
     of this method uses `rubber-sheet' geometry management as
     explained in the comment to BWidget's #width method.  You should
     not use this method, which is automatically called by the child's
     #width: method, but you might want to override it.  The child's
     property slots whose name ends with `Geom' are reserved for this
     method. This method should never fail - if it doesn't apply to the
     kind of geometry management that the receiver does, just do
     nothing.

child: child widthOffset: value
     Adjust the given child's width by a fixed amount of value pixel.
     This is meaningful for the default implementation, using
     `rubber-sheet' geometry management as explained in the comment to
     BWidget's #width and #widthOffset: methods.  You should not use
     this method, which is automatically called by the child's
     #widthOffset: method, but you might want to override it.  if it
     doesn't apply to the kind of geometry management that the receiver
     does, just add value to the current width of the widget.

child: child x: value
     Set the given child's x to value.  The default implementation of
     this method uses `rubber-sheet' geometry management as explained in
     the comment to BWidget's #x method.  You should not use this
     method, which is automatically called by the child's #x: method,
     but you might want to override it.  The child's property slots
     whose name ends with `Geom' are reserved for this method. This
     method should never fail - if it doesn't apply to the kind of
     geometry management that the receiver does, just do nothing.

child: child xOffset: value
     Adjust the given child's x by a fixed amount of value pixel.  This
     is meaningful for the default implementation, using `rubber-sheet'
     geometry management as explained in the comment to BWidget's #x and
     #xOffset: methods.  You should not use this method, which is
     automatically called by the child's #xOffset: method, but you
     might want to override it.  if it doesn't apply to the kind of
     geometry management that the receiver does, just add value to the
     current x of the widget.

child: child y: value
     Set the given child's y to value.  The default implementation of
     this method uses `rubber-sheet' geometry management as explained in
     the comment to BWidget's #y method.  You should not use this
     method, which is automatically called by the child's #y: method,
     but you might want to override it.  The child's property slots
     whose name ends with `Geom' are reserved for this method. This
     method should never fail - if it doesn't apply to the kind of
     geometry management that the receiver does, just do nothing.

child: child yOffset: value
     Adjust the given child's y by a fixed amount of value pixel.  This
     is meaningful for the default implementation, using `rubber-sheet'
     geometry management as explained in the comment to BWidget's #y and
     #yOffset: methods.  You should not use this method, which is
     automatically called by the child's #yOffset: method, but you
     might want to override it.  if it doesn't apply to the kind of
     geometry management that the receiver does, just add value to the
     current y of the widget.

extent
     Answer a Point containing the receiver's size

extent: extent
     Set the receiver's size to the width and height contained in extent
     (a Point).

height
     Answer the `variable' part of the receiver's height within the
     parent widget. The value returned does not include any fixed
     amount of pixels indicated by #heightOffset: and must be
     interpreted in a relative fashion: the ratio of the returned value
     to the current size of the parent will be preserved upon resize.
     This apparently complicated method is known as `rubber sheet'
     geometry management.  Behavior if the left or right edges are not
     within the client area of the parent is not defined - the window
     might be clamped or might be positioned according to the
     specification.

height: value
     Set to `value' the height of the widget within the parent widget.
     The value is specified in a relative fashion as an integer, so
     that the ratio of `value' to the current size of the parent will be
     preserved upon resize. This apparently complicated method is known
     as `rubber sheet' geometry management.

heightAbsolute
     Force a recalculation of the layout of widgets in the receiver's
     parent, then answer the current height of the receiver in pixels.

heightChild: child
     Answer the given child's height.  The default implementation of
     this method uses `rubber-sheet' geometry management as explained in
     the comment to BWidget's #height method.  You should not use this
     method, which is automatically called by the child's #height
     method, but you might want to override.  The child's property
     slots whose name ends with `Geom' are reserved for this method.
     This method should never fail - if it doesn't apply to the kind of
     geometry management that the receiver does, just return 0.

heightOffset
     Private - Answer the pixels to be added or subtracted to the height
     of the receiver, with respect to the value set in a relative
     fashion through the #height: method.

     and

heightOffset: value
     Add or subtract to the height of the receiver a fixed amount of
     `value' pixels, with respect to the value set in a relative
     fashion through the #height: method.  Usage of this method is
     deprecated; use #inset: and BContainers instead.

heightPixels: value
     Set the current height of the receiver to `value' pixels. Note
     that, after calling this method, #height will answer 0, which is
     logical considering that there is no `variable' part of the size
     (refer to #height and #height: for more explanations).

inset: pixels
     Inset the receiver's bounding box by the specified amount.

left: left top: top right: right bottom: bottom
     Set the bounding box of the receiver through its components.

pos: position
     Set the receiver's origin to the width and height contained in
     position (a Point).

posHoriz: aBlox
     Position the receiver immediately to the right of aBlox.

posVert: aBlox
     Position the receiver just below aBlox.

stretch: aBoolean
     This method is only considered when on the path from the receiver
     to its toplevel there is a BContainer.  It decides whether we are
     among the widgets that are stretched to fill the entire width of
     the BContainer.

width
     Answer the `variable' part of the receiver's width within the
     parent widget. The value returned does not include any fixed
     amount of pixels indicated by #widthOffset: and must be
     interpreted in a relative fashion: the ratio of the returned value
     to the current size of the parent will be preserved upon resize.
     This apparently complicated method is known as `rubber sheet'
     geometry management.  Behavior if the left or right edges are not
     within the client area of the parent is not defined - the window
     might be clamped or might be positioned according to the
     specification.

width: value
     Set to `value' the width of the widget within the parent widget.
     The value is specified in a relative fashion as an integer, so
     that the ratio of `value' to the current size of the parent will be
     preserved upon resize. This apparently complicated method is known
     as `rubber sheet' geometry management.

width: xSize height: ySize
     Set the size of the receiver through its components xSize and
     ySize.

widthAbsolute
     Force a recalculation of the layout of widgets in the receiver's
     parent, then answer the current width of the receiver in pixels.

widthChild: child
     Answer the given child's width.  The default implementation of this
     method uses `rubber-sheet' geometry management as explained in the
     comment to BWidget's #width method.  You should not use this
     method, which is automatically called by the child's #width method,
     but you might want to override.  The child's property slots whose
     name ends with `Geom' are reserved for this method.  This method
     should never fail - if it doesn't apply to the kind of geometry
     management that the receiver does, just return 0.

widthOffset
     Private - Answer the pixels to be added or subtracted to the width
     of the receiver, with respect to the value set in a relative
     fashion through the #width: method.

     and

widthOffset: value
     Add or subtract to the width of the receiver a fixed amount of
     `value' pixels, with respect to the value set in a relative
     fashion through the #width: method.  Usage of this method is
     deprecated; use #inset: and BContainers instead.

widthPixels: value
     Set the current width of the receiver to `value' pixels. Note that,
     after calling this method, #width will answer 0, which is logical
     considering that there is no `variable' part of the size (refer to
     #width and #width: for more explanations).

x
     Answer the `variable' part of the receiver's x within the parent
     widget. The value returned does not include any fixed amount of
     pixels indicated by #xOffset: and must be interpreted in a relative
     fashion: the ratio of the returned value to the current size of the
     parent will be preserved upon resize. This apparently complicated
     method is known as `rubber sheet' geometry management.  Behavior
     if the left or right edges are not within the client area of the
     parent is not defined - the window might be clamped or might be
     positioned according to the specification.

x: value
     Set to `value' the x of the widget within the parent widget. The
     value is specified in a relative fashion as an integer, so that the
     ratio of `value' to the current size of the parent will be
     preserved upon resize. This apparently complicated method is known
     as `rubber sheet' geometry management.

x: xPos y: yPos
     Set the origin of the receiver through its components xPos and
     yPos.

x: xPos y: yPos width: xSize height: ySize
     Set the bounding box of the receiver through its origin and size.

xAbsolute
     Force a recalculation of the layout of widgets in the receiver's
     parent, then answer the current x of the receiver in pixels.

xChild: child
     Answer the given child's x.  The default implementation of this
     method uses `rubber-sheet' geometry management as explained in the
     comment to BWidget's #x method.  You should not use this method,
     which is automatically called by the child's #x method, but you
     might want to override.  The child's property slots whose name
     ends with `Geom' are reserved for this method.  This method should
     never fail - if it doesn't apply to the kind of geometry
     management that the receiver does, just return 0.

xOffset
     Private - Answer the pixels to be added or subtracted to the x of
     the receiver, with respect to the value set in a relative fashion
     through the #x: method.

     and

xOffset: value
     Add or subtract to the x of the receiver a fixed amount of `value'
     pixels, with respect to the value set in a relative fashion through
     the #x: method.  Usage of this method is deprecated; use #inset:
     and BContainers instead.

xPixels: value
     Set the current x of the receiver to `value' pixels. Note that,
     after calling this method, #x will answer 0, which is logical
     considering that there is no `variable' part of the size (refer to
     #x and #x: for more explanations).

xRoot
     Answer the x position of the receiver with respect to the top-left
     corner of the desktop (including the offset of the virtual root
     window under X).

y
     Answer the `variable' part of the receiver's y within the parent
     widget. The value returned does not include any fixed amount of
     pixels indicated by #yOffset: and must be interpreted in a relative
     fashion: the ratio of the returned value to the current size of the
     parent will be preserved upon resize. This apparently complicated
     method is known as `rubber sheet' geometry management.  Behavior
     if the left or right edges are not within the client area of the
     parent is not defined - the window might be clamped or might be
     positioned according to the specification.

y: value
     Set to `value' the y of the widget within the parent widget. The
     value is specified in a relative fashion as an integer, so that the
     ratio of `value' to the current size of the parent will be
     preserved upon resize. This apparently complicated method is known
     as `rubber sheet' geometry management.

yAbsolute
     Force a recalculation of the layout of widgets in the receiver's
     parent, then answer the current y of the receiver in pixels.

yChild: child
     Answer the given child's y.  The default implementation of this
     method uses `rubber-sheet' geometry management as explained in the
     comment to BWidget's #y method.  You should not use this method,
     which is automatically called by the child's #y method, but you
     might want to override.  The child's property slots whose name
     ends with `Geom' are reserved for this method.  This method should
     never fail - if it doesn't apply to the kind of geometry
     management that the receiver does, just return 0.

yOffset
     Private - Answer the pixels to be added or subtracted to the y of
     the receiver, with respect to the value set in a relative fashion
     through the #y: method.

     and

yOffset: value
     Add or subtract to the y of the receiver a fixed amount of `value'
     pixels, with respect to the value set in a relative fashion through
     the #y: method.  Usage of this method is deprecated; use #inset:
     and BContainers instead.

yPixels: value
     Set the current y of the receiver to `value' pixels. Note that,
     after calling this method, #y will answer 0, which is logical
     considering that there is no `variable' part of the size (refer to
     #y and #y: for more explanations).

yRoot
     Answer the y position of the receiver with respect to the top-left
     corner of the desktop (including the offset of the virtual root
     window under X).



File: gst-libs.info,  Node: BLOX.BWidget-widget protocol,  Prev: BLOX.BWidget-geometry management,  Up: BLOX.BWidget

BLOX.BWidget: widget protocol
-----------------------------

activate
     At any given time, one window on each display is designated as the
     focus window; any key press or key release events for the display
     are sent to that window. This method allows one to choose which
     window will have the focus in the receiver's display 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).

activateNext
     Activate the next widget in the focus `tabbing' order.  The focus
     order depends on the widget creation order; you can set which
     widgets are in the order with the #tabStop: method.

activatePrevious
     Activate the previous widget in the focus `tabbing' order.  The
     focus order depends on the widget creation order; you can set
     which widgets are in the order with the #tabStop: method.

bringToTop
     Raise the receiver so that it is above all of its siblings in the
     widgets' z-order; the receiver will not be obscured by any
     siblings and will obscure any siblings that overlap it.

isActive
     Return whether the receiver is the window that currently owns the
     focus on its display.

sendToBack
     Lower the receiver so that it is below all of its siblings in the
     widgets' z-order; the receiver will be obscured by any siblings
     that overlap it and will not obscure any siblings.



File: gst-libs.info,  Node: BLOX.BWindow,  Next: BLOX.Gui,  Prev: BLOX.BWidget,  Up: BLOX

BLOX.BWindow
============

Defined in namespace BLOX
Superclass: BLOX.BForm
Category: Graphics-Windows
     I am the boss. Nothing else could be viewed or interacted with if
     it wasn't for me... )):->

* Menu:

* BLOX.BWindow class-instance creation::  (class)
* BLOX.BWindow-accessing::  (instance)
* BLOX.BWindow-widget protocol::  (instance)


File: gst-libs.info,  Node: BLOX.BWindow class-instance creation,  Next: BLOX.BWindow-accessing,  Up: BLOX.BWindow

BLOX.BWindow class: instance creation
-------------------------------------

new
     Answer a new top-level window.

new: label
     Answer a new top-level window with `label' as its title bar
     caption.

popup: initializationBlock
     This method should not be called for instances of this class.



File: gst-libs.info,  Node: BLOX.BWindow-accessing,  Next: BLOX.BWindow-widget protocol,  Prev: BLOX.BWindow class-instance creation,  Up: BLOX.BWindow

BLOX.BWindow: accessing
-----------------------

callback
     Answer a DirectedMessage that is sent to verify whether the
     receiver must be destroyed when the user asks to unmap it.

callback: aReceiver message: aSymbol
     Set up so that aReceiver is sent the aSymbol message (the name of
     a zero- or one-argument selector) when the user asks to unmap the
     receiver.  If the method accepts an argument, the receiver is
     passed.  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.

invokeCallback
     Generate a synthetic callback, destroying the window if no
     callback was set up or if the callback method answers true.

label
     Answer the value of the label option for 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.

label: value
     Set the value of the label option for 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.

menu: value
     Set the value of the menu option for the widget.  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.

resizable
     Answer the value of the resizable option for the widget.  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.

resizable: value
     Set the value of the resizable option for the widget.  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.



File: gst-libs.info,  Node: BLOX.BWindow-widget protocol,  Prev: BLOX.BWindow-accessing,  Up: BLOX.BWindow

BLOX.BWindow: widget protocol
-----------------------------

center
     Center the window in the screen

centerIn: view
     Center the window in the given widget

height
     Answer the height of the window, as deduced from the geometry that
     the window manager imposed on the window.

height: anInteger
     Ask the window manager to give the given height to the window.

heightAbsolute
     Answer the height of the window, as deduced from the geometry that
     the window manager imposed on the window.

heightOffset: value
     This method should not be called for instances of this class.

iconify
     Map a window and in iconified state.  If a window has not been
     mapped yet, this is achieved by mapping the window in withdrawn
     state first, and then iconifying it.

isMapped
     Answer whether the window is mapped

isWindow
     Answer `true'.

map
     Map the window and bring it to the topmost position in the Z-order.

modalMap
     Map the window while establishing an application-local grab for it.
     An event loop is started that ends only after the window has been
     destroyed.  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.

state
     Set the value of the state option for the window.  Specifies one
     of four states for the window: either normal, iconic, withdrawn,
     or (Windows only) zoomed.

state: aSymbol
     Raise an error. To set a BWindow's state, use #map and #unmap.

unmap
     Unmap a window, causing it to be forgotten about by the window
     manager

width
     Answer the width of the window, as deduced from the geometry that
     the window manager imposed on the window.

width: anInteger
     Ask the window manager to give the given width to the window.

width: xSize height: ySize
     Ask the window manager to give the given width and height to the
     window.

widthAbsolute
     Answer the width of the window, as deduced from the geometry that
     the window manager imposed on the window.

widthOffset: value
     This method should not be called for instances of this class.

window
     Answer the receiver.

x
     Answer the x coordinate of the window's top-left corner, as
     deduced from the geometry that the window manager imposed on the
     window.

x: anInteger
     Ask the window manager to move the window's left border to the
     given x coordinate, keeping the size unchanged

x: xPos y: yPos
     Ask the window manager to move the window's top-left corner to the
     given coordinates, keeping the size unchanged

x: xPos y: yPos width: xSize height: ySize
     Ask the window manager to give the requested geometry to the
     window.

xAbsolute
     Answer the x coordinate of the window's top-left corner, as
     deduced from the geometry that the window manager imposed on the
     window.

xOffset: value
     This method should not be called for instances of this class.

y
     Answer the y coordinate of the window's top-left corner, as
     deduced from the geometry that the window manager imposed on the
     window.

y: anInteger
     Ask the window manager to move the window's left border to the
     given y coordinate, keeping the size unchanged

yAbsolute
     Answer the y coordinate of the window's top-left corner, as
     deduced from the geometry that the window manager imposed on the
     window.

yOffset: value
     This method should not be called for instances of this class.



File: gst-libs.info,  Node: BLOX.Gui,  Prev: BLOX.BWindow,  Up: BLOX

BLOX.Gui
========

Defined in namespace BLOX
Superclass: Object
Category: Graphics-Windows
     I am a small class which serves as a base for complex objects which
     expose an individual protocol but internally use a Blox widget for
     creating their user interface.

* Menu:

* BLOX.Gui-accessing::  (instance)


File: gst-libs.info,  Node: BLOX.Gui-accessing,  Up: BLOX.Gui

BLOX.Gui: accessing
-------------------

blox
     Return instance of blox subclass which implements window

blox: aBlox
     Set instance of blox subclass which implements window



File: gst-libs.info,  Node: TCP,  Next: I18N,  Prev: BLOX,  Up: Top

TCP
***

* Menu:


Alphabetic list:
* TCP.AbstractSocket::
* TCP.AbstractSocketImpl::
* TCP.Datagram::
* TCP.DatagramSocket::
* TCP.DatagramSocketImpl::
* TCP.ICMPSocketImpl::
* TCP.IPAddress::
* TCP.MulticastSocket::
* TCP.MulticastSocketImpl::
* TCP.OOBSocketImpl::
* TCP.RawSocketImpl::
* TCP.ReadBuffer::
* TCP.ServerSocket::
* TCP.Socket::
* TCP.SocketAddress::
* TCP.SocketImpl::
* TCP.TCPSocketImpl::
* TCP.UDPSocketImpl::
* TCP.WriteBuffer::


Class tree:
  (Object)
    (Stream)
      (PositionableStream)
        (ReadStream)
*         TCP.ReadBuffer::
        (WriteStream)
          (ReadWriteStream)
            (ByteStream)
              (FileDescriptor)
*               TCP.AbstractSocketImpl::
*                 TCP.DatagramSocketImpl::
*                   TCP.MulticastSocketImpl::
*                     TCP.UDPSocketImpl::
*                   TCP.OOBSocketImpl::
*                   TCP.RawSocketImpl::
*                     TCP.ICMPSocketImpl::
*                 TCP.SocketImpl::
*                   TCP.TCPSocketImpl::
*         TCP.WriteBuffer::
*     TCP.AbstractSocket::
*       TCP.DatagramSocket::
*         TCP.MulticastSocket::
*       TCP.ServerSocket::
*       TCP.Socket::
*   TCP.Datagram::
*   TCP.SocketAddress::
*     TCP.IPAddress::


File: gst-libs.info,  Node: TCP.AbstractSocket,  Next: TCP.AbstractSocketImpl,  Up: TCP

TCP.AbstractSocket
==================

Defined in namespace TCP
Superclass: Stream
Category: Sockets-Streams

* Menu:

* TCP.AbstractSocket class-defaults::  (class)
* TCP.AbstractSocket class-instance creation::  (class)
* TCP.AbstractSocket class-timed-out operations::  (class)
* TCP.AbstractSocket-accessing::  (instance)
* TCP.AbstractSocket-printing::  (instance)
* TCP.AbstractSocket-socket options::  (instance)
* TCP.AbstractSocket-stream protocol::  (instance)
* TCP.AbstractSocket-testing::  (instance)


File: gst-libs.info,  Node: TCP.AbstractSocket class-defaults,  Next: TCP.AbstractSocket class-instance creation,  Up: TCP.AbstractSocket

TCP.AbstractSocket class: defaults
----------------------------------

defaultAddressClass
     Answer the default address family to be used.  In the library, the
     address family is represented by a subclass of SocketAddress which
     is by default IPAddress.

defaultAddressClass: class
     Set the default address family to be used.  In the library, the
     address family is represented by a subclass of SocketAddress which
     is by default IPAddress.

defaultImplementationClass
     Answer the default implementation class.  Depending on the
     subclass, this might be the default stream socket implementation
     class of the default address class, or rather its default datagram
     socket implementation class



File: gst-libs.info,  Node: TCP.AbstractSocket class-instance creation,  Next: TCP.AbstractSocket class-timed-out operations,  Prev: TCP.AbstractSocket class-defaults,  Up: TCP.AbstractSocket

TCP.AbstractSocket class: instance creation
-------------------------------------------

new
     This method should not be called for instances of this class.

new: implementation
     Answer a new instance of the receiver, using as the underlying
     layer the object passed as the `implementation' parameter; the
     object is probably going to be some kind of AbstractSocketImpl.



File: gst-libs.info,  Node: TCP.AbstractSocket class-timed-out operations,  Next: TCP.AbstractSocket-accessing,  Prev: TCP.AbstractSocket class-instance creation,  Up: TCP.AbstractSocket

TCP.AbstractSocket class: timed-out operations
----------------------------------------------

checkPeriod
     Answer the period that is to elapse between socket polls if data
     data is not ready and the connection is still open (in
     milliseconds)

checkPeriod: anInteger
     Set the period that is to elapse between socket polls if data data
     is not ready and the connection is still open (in milliseconds)

timeout
     Answer the period that is to elapse between the request for (yet
     unavailable) data and the moment when the connection is considered
     dead (in milliseconds)

timeout: anInteger
     Set the period that is to elapse between the request for (yet
     unavailable) data and the moment when the connection is considered
     dead (in milliseconds)



File: gst-libs.info,  Node: TCP.AbstractSocket-accessing,  Next: TCP.AbstractSocket-printing,  Prev: TCP.AbstractSocket class-timed-out operations,  Up: TCP.AbstractSocket

TCP.AbstractSocket: accessing
-----------------------------

address
     Answer an IP address that is of common interest (this can be either
     the local or the remote address, according to the definition in the
     subclass).

available
     Answer whether there is data available on the socket.

close
     Close the socket represented by the receiver.

flush
     Flush any buffers used by the receiver.

isOpen
     Answer whether the connection between the receiver and the remote
     endpoint is still alive.

localAddress
     Answer the local IP address of the socket.

localPort
     Answer the local IP port of the socket.

port
     Answer an IP port that is of common interest (this can be the port
     for either the local or remote endpoint, according to the
     definitions in the subclass

remoteAddress
     Answer the IP address of the socket's remote endpoint.

remotePort
     Answer the IP port of the socket's remote endpoint.



File: gst-libs.info,  Node: TCP.AbstractSocket-printing,  Next: TCP.AbstractSocket-socket options,  Prev: TCP.AbstractSocket-accessing,  Up: TCP.AbstractSocket

TCP.AbstractSocket: printing
----------------------------

printOn: aStream
     Print a representation of the receiver on aStream



File: gst-libs.info,  Node: TCP.AbstractSocket-socket options,  Next: TCP.AbstractSocket-stream protocol,  Prev: TCP.AbstractSocket-printing,  Up: TCP.AbstractSocket

TCP.AbstractSocket: socket options
----------------------------------

soLinger
     Answer the number of seconds that the socket is allowed to wait if
     it promises reliable delivery but has unacknowledged/untransmitted
     packets when it is closed, or nil if those packets are left to
     their destiny or discarded.

soLinger: linger
     Set the number of seconds that the socket is allowed to wait if it
     promises reliable delivery but has unacknowledged/untransmitted
     packets when it is closed.

soLingerOff
     Specify that, even if the socket promises reliable delivery, any
     packets that are unacknowledged/untransmitted when it is closed
     are to be left to their destiny or discarded.

species
     Answer `String'.



File: gst-libs.info,  Node: TCP.AbstractSocket-stream protocol,  Next: TCP.AbstractSocket-testing,  Prev: TCP.AbstractSocket-socket options,  Up: TCP.AbstractSocket

TCP.AbstractSocket: stream protocol
-----------------------------------

atEnd
     By default, answer whether the connection is still open.

next
     Read another character from the socket, failing if the connection
     is dead.

nextPut: char
     Write `char' to the socket, failing if the connection is dead.  The
     SIGPIPE signal is automatically caught and ignored by the system.



File: gst-libs.info,  Node: TCP.AbstractSocket-testing,  Prev: TCP.AbstractSocket-stream protocol,  Up: TCP.AbstractSocket

TCP.AbstractSocket: testing
---------------------------

isExternalStream
     Answer whether the receiver streams on a file or socket.



File: gst-libs.info,  Node: TCP.AbstractSocketImpl,  Next: TCP.Datagram,  Prev: TCP.AbstractSocket,  Up: TCP

TCP.AbstractSocketImpl
======================

Defined in namespace TCP
Superclass: FileDescriptor
Category: Sockets-Protocols

* Menu:

* TCP.AbstractSocketImpl class-abstract::  (class)
* TCP.AbstractSocketImpl class-socket creation::  (class)
* TCP.AbstractSocketImpl-accessing::  (instance)
* TCP.AbstractSocketImpl-asynchronous operations::  (instance)
* TCP.AbstractSocketImpl-socket operations::  (instance)
* TCP.AbstractSocketImpl-socket options::  (instance)


File: gst-libs.info,  Node: TCP.AbstractSocketImpl class-abstract,  Next: TCP.AbstractSocketImpl class-socket creation,  Up: TCP.AbstractSocketImpl

TCP.AbstractSocketImpl class: abstract
--------------------------------------

addressClass
     Answer the class responsible for handling addresses for the
     receiver

protocol
     Answer the protocol parameter for `create'

socketType
     Answer the socket type parameter for `create'.



File: gst-libs.info,  Node: TCP.AbstractSocketImpl class-socket creation,  Next: TCP.AbstractSocketImpl-accessing,  Prev: TCP.AbstractSocketImpl class-abstract,  Up: TCP.AbstractSocketImpl

TCP.AbstractSocketImpl class: socket creation
---------------------------------------------

new
     Create a socket for the receiver.



File: gst-libs.info,  Node: TCP.AbstractSocketImpl-accessing,  Next: TCP.AbstractSocketImpl-asynchronous operations,  Prev: TCP.AbstractSocketImpl class-socket creation,  Up: TCP.AbstractSocketImpl

TCP.AbstractSocketImpl: accessing
---------------------------------

connectTo: ipAddress port: port
     Connect the receiver to the given IP address and port. `Connecting'
     means attaching the remote endpoint of the socket.

localAddress
     Answer the address of the local endpoint of the socket (even if IP
     is not being used, this identifies the machine that is bound to the
     socket).

localPort
     Answer the port of the local endpoint of the socket (even if IP is
     not being used, this identifies the service or process that is
     bound to the socket).

remoteAddress
     Answer the address of the remote endpoint of the socket (even if IP
     is not being used, this identifies the machine to which the socket
     is connected).

remotePort
     Answer the port of the remote endpoint of the socket (even if IP
     is not being used, this identifies the service or process to which
     the socket is connected).



File: gst-libs.info,  Node: TCP.AbstractSocketImpl-asynchronous operations,  Next: TCP.AbstractSocketImpl-socket operations,  Prev: TCP.AbstractSocketImpl-accessing,  Up: TCP.AbstractSocketImpl

TCP.AbstractSocketImpl: asynchronous operations
-----------------------------------------------

ensureReadable
     If the file is open, wait until data can be read from it.  The wait
     allows other Processes to run.

ensureWriteable
     If the file is open, wait until we can write to it.  The wait
     allows other Processes to run.

waitForException
     If the file is open, wait until an exceptional condition (such as
     presence of out of band data) has occurred on it.  The wait allows
     other Processes to run.



File: gst-libs.info,  Node: TCP.AbstractSocketImpl-socket operations,  Next: TCP.AbstractSocketImpl-socket options,  Prev: TCP.AbstractSocketImpl-asynchronous operations,  Up: TCP.AbstractSocketImpl

TCP.AbstractSocketImpl: socket operations
-----------------------------------------

accept: implementationClass
     Accept a connection on the receiver, and create a new instance of
     implementationClass that will deal with the newly created active
     server socket.

addressClass
     Answer the class responsible for handling addresses for the
     receiver

bindTo: ipAddress port: port
     Bind the receiver to the given IP address and port. `Binding' means
     attaching the local endpoint of the socket.

fileOp: ioFuncIndex
     Private - Used to limit the number of primitives used by
     FileStreams

fileOp: ioFuncIndex ifFail: aBlock
     Private - Used to limit the number of primitives used by
     FileStreams.

fileOp: ioFuncIndex with: arg1
     Private - Used to limit the number of primitives used by
     FileStreams

fileOp: ioFuncIndex with: arg1 ifFail: aBlock
     Private - Used to limit the number of primitives used by
     FileStreams.

fileOp: ioFuncIndex with: arg1 with: arg2
     Private - Used to limit the number of primitives used by
     FileStreams

fileOp: ioFuncIndex with: arg1 with: arg2 ifFail: aBlock
     Private - Used to limit the number of primitives used by
     FileStreams.

fileOp: ioFuncIndex with: arg1 with: arg2 with: arg3
     Private - Used to limit the number of primitives used by
     FileStreams

fileOp: ioFuncIndex with: arg1 with: arg2 with: arg3 ifFail: aBlock
     Private - Used to limit the number of primitives used by
     FileStreams.

getSockName
     Retrieve a ByteArray containing a sockaddr_in struct for the local
     endpoint of the socket.

listen: backlog
     Make the receiver a passive server socket with a pending
     connections queue of the given size.



File: gst-libs.info,  Node: TCP.AbstractSocketImpl-socket options,  Prev: TCP.AbstractSocketImpl-socket operations,  Up: TCP.AbstractSocketImpl

TCP.AbstractSocketImpl: socket options
--------------------------------------

optionAt: opt level: level put: anObject
     Modify the value of a socket option.  The option identifier is in
     `opt' and the level is in `level'.  anObject can be a boolean,
     integer, socket address or ByteArray. A layer over this method is
     provided for the most common socket options, so this will be rarely
     used.

optionAt: opt level: level size: size
     Answer in a ByteArray of the given size the value of a socket
     option.  The option identifier is in `opt' and the level is in
     `level'.  A layer over this method is provided for the most common
     socket options, so this will be rarely used.

soError
     Answer the pending error on the socket, or 0 if none

soLinger
     Answer the number of seconds by which a `close' operation can block
     to ensure that all the packets have reliably reached the
     destination, or nil if those packets are left to their destiny.

soLinger: linger
     Set the number of seconds by which a `close' operation can block
     to ensure that all the packets have reliably reached the
     destination.  If linger is nil, those packets are left to their
     destiny.

soReuseAddr
     Answer whether another socket can be bound the same local address
     as this one.  If you enable this option, you can actually have two
     sockets with the same Internet port number; but the system won't
     allow you to use the two identically-named sockets in a way that
     would confuse the Internet.  The reason for this option is that
     some higher-level Internet protocols, including FTP, require you
     to keep reusing the same socket number.

soReuseAddr: aBoolean
     Set whether another socket can be bound the same local address as
     this one.



File: gst-libs.info,  Node: TCP.Datagram,  Next: TCP.DatagramSocket,  Prev: TCP.AbstractSocketImpl,  Up: TCP

TCP.Datagram
============

Defined in namespace TCP
Superclass: Object
Category: Sockets-Protocols

* Menu:

* TCP.Datagram class-instance creation::  (class)
* TCP.Datagram-accessing::  (instance)


File: gst-libs.info,  Node: TCP.Datagram class-instance creation,  Next: TCP.Datagram-accessing,  Up: TCP.Datagram

TCP.Datagram class: instance creation
-------------------------------------

data: aByteArray
     Answer a new datagram with the specified data.

data: aByteArray address: ipAddress port: port
     Answer a new datagram with the specified target socket, and
     aByteArray as its data.

object: object address: ipAddress port: port
     Serialize the object onto a ByteArray, and create a Datagram with
     the object as its contents, and the specified receiver.  Note that
     each invocation of this method creates a separate ObjectDumper; if
     different objects that you're sending are likely to contain
     references to the same objects, you should use
     #object:objectDumper:address:port:.

object: object objectDumper: od address: ipAddress port: port
     Serialize the object onto a ByteArray, and create a Datagram with
     the object as its contents, and the specified receiver.
     Serialization takes place through ObjectDumper passed as `od', and
     the stream attached to the ObjectDumper is resetted every time.
     Using this method is indicated if different objects that you're
     sending are likely to contain references to the same objects.



File: gst-libs.info,  Node: TCP.Datagram-accessing,  Prev: TCP.Datagram class-instance creation,  Up: TCP.Datagram

TCP.Datagram: accessing
-----------------------

address
     Answer the address of the target socket

address: ipAddress
     Set the address of the target socket

data
     Answer the data attached to the datagram

data: aByteArray
     Set the data attached to the datagram

get
     Parse the data attached to the datagram through a newly created
     ObjectDumper, and answer the resulting object.  This method is
     complementary to #object:address:port:.

getThrough: objectDumper
     Parse the data attached to the datagram through the given
     ObjectDumper without touching the stream to which it is attached,
     and answer the resulting object.  The state of the ObjectDumper,
     though, is updated.  This method is complementary to
     #object:objectDumper:address:port:.

port
     Answer the IP port of the target socket

port: thePort
     Set the IP port of the target socket



File: gst-libs.info,  Node: TCP.DatagramSocket,  Next: TCP.DatagramSocketImpl,  Prev: TCP.Datagram,  Up: TCP

TCP.DatagramSocket
==================

Defined in namespace TCP
Superclass: TCP.AbstractSocket
Category: Sockets-Streams

* Menu:

* TCP.DatagramSocket class-accessing::  (class)
* TCP.DatagramSocket class-initialization::  (class)
* TCP.DatagramSocket class-instance creation::  (class)
* TCP.DatagramSocket-accessing::  (instance)
* TCP.DatagramSocket-direct operations::  (instance)


File: gst-libs.info,  Node: TCP.DatagramSocket class-accessing,  Next: TCP.DatagramSocket class-initialization,  Up: TCP.DatagramSocket

TCP.DatagramSocket class: accessing
-----------------------------------

defaultBufferSize
     Answer the default maximum size for input datagrams.

defaultBufferSize: size
     Set the default maximum size for input datagrams.

defaultImplementationClass
     Answer the default implementation class.  Depending on the
     subclass, this might be the default stream socket implementation
     class of the default address class, or rather its default datagram
     socket implementation class



File: gst-libs.info,  Node: TCP.DatagramSocket class-initialization,  Next: TCP.DatagramSocket class-instance creation,  Prev: TCP.DatagramSocket class-accessing,  Up: TCP.DatagramSocket

TCP.DatagramSocket class: initialization
----------------------------------------

initialize
     Initialize the class to use an input datagram size of 128.



File: gst-libs.info,  Node: TCP.DatagramSocket class-instance creation,  Next: TCP.DatagramSocket-accessing,  Prev: TCP.DatagramSocket class-initialization,  Up: TCP.DatagramSocket

TCP.DatagramSocket class: instance creation
-------------------------------------------

local: ipAddressOrString port: remotePort
     Create a new socket and bind it to the given host (passed as a
     String to be resolved or as an IPAddress), on the given port.

new
     Answer a new datagram socket (by default an UDP socket), without a
     specified local address and port.

port: localPort
     Create a new socket and bind it to the local host on the given
     port.

remote: ipAddressOrString port: remotePort local: ipAddress port: localPort
     Create a new socket and bind it to the given host (passed as a
     String to be resolved or as an IPAddress), and to the given
     remotePort.  The default destination for the datagrams will be
     ipAddressOrString (if not nil), on the remotePort port.



File: gst-libs.info,  Node: TCP.DatagramSocket-accessing,  Next: TCP.DatagramSocket-direct operations,  Prev: TCP.DatagramSocket class-instance creation,  Up: TCP.DatagramSocket

TCP.DatagramSocket: accessing
-----------------------------

address
     Answer the local address.

bufferSize
     Answer the size of the buffer in which datagrams are stored.

bufferSize: size
     Set the size of the buffer in which datagrams are stored.

next
     Read a datagram on the socket and answer it.

nextPut: aDatagram
     Send the given datagram on the socket.

peek
     Peek for a datagram on the socket and answer it.

peek: datagram
     Peek for a datagram on the socket, store it in `datagram', and
     answer the datagram itself.

port
     Answer the local port.

receive: datagram
     Read a datagram from the socket, store it in `datagram', and
     answer the datagram itself.



File: gst-libs.info,  Node: TCP.DatagramSocket-direct operations,  Prev: TCP.DatagramSocket-accessing,  Up: TCP.DatagramSocket

TCP.DatagramSocket: direct operations
-------------------------------------

nextFrom: ipAddress port: port
     Answer the next datagram from the given address and port.



File: gst-libs.info,  Node: TCP.DatagramSocketImpl,  Next: TCP.ICMPSocketImpl,  Prev: TCP.DatagramSocket,  Up: TCP

TCP.DatagramSocketImpl
======================

Defined in namespace TCP
Superclass: TCP.AbstractSocketImpl
Category: Sockets-Protocols

* Menu:

* TCP.DatagramSocketImpl class-parameters::  (class)
* TCP.DatagramSocketImpl-accessing::  (instance)
* TCP.DatagramSocketImpl-socket operations::  (instance)


File: gst-libs.info,  Node: TCP.DatagramSocketImpl class-parameters,  Next: TCP.DatagramSocketImpl-accessing,  Up: TCP.DatagramSocketImpl

TCP.DatagramSocketImpl class: parameters
----------------------------------------

socketType
     Answer the socket type parameter for `create'.



File: gst-libs.info,  Node: TCP.DatagramSocketImpl-accessing,  Next: TCP.DatagramSocketImpl-socket operations,  Prev: TCP.DatagramSocketImpl class-parameters,  Up: TCP.DatagramSocketImpl

TCP.DatagramSocketImpl: accessing
---------------------------------

bufferSize
     Answer the size of the buffer in which datagrams are stored.

bufferSize: size
     Set the size of the buffer in which datagrams are stored.



File: gst-libs.info,  Node: TCP.DatagramSocketImpl-socket operations,  Prev: TCP.DatagramSocketImpl-accessing,  Up: TCP.DatagramSocketImpl

TCP.DatagramSocketImpl: socket operations
-----------------------------------------

next
     Retrieve a datagram from the receiver, answer a new Datagram object

nextPut: aDatagram
     Send aDatagram on the socket

peek
     Peek for a datagram on the receiver, answer a new Datagram object

peek: aDatagram
     Peek for a datagram on the receiver, answer aDatagram modified to
     contain information on the newly received datagram.

receive: aDatagram
     Retrieve a datagram from the receiver, answer aDatagram modified
     to contain information on the newly received datagram.

receive: flags datagram: aDatagram
     Receive a new datagram into `datagram', with the given flags, and
     answer `datagram' itself; this is an abstract method.  The flags
     can be zero to receive the datagram, or `self msgPeek' to only
     peek for it without removing it from the queue.

send: aDatagram to: theReceiver port: port
     Send aDatagram on the socket to the given receiver and port



File: gst-libs.info,  Node: TCP.ICMPSocketImpl,  Next: TCP.IPAddress,  Prev: TCP.DatagramSocketImpl,  Up: TCP

TCP.ICMPSocketImpl
==================

Defined in namespace TCP
Superclass: TCP.RawSocketImpl
Category: Sockets-Protocols

* Menu:

* TCP.ICMPSocketImpl class-implementation::  (class)


File: gst-libs.info,  Node: TCP.ICMPSocketImpl class-implementation,  Up: TCP.ICMPSocketImpl

TCP.ICMPSocketImpl class: implementation
----------------------------------------

addressClass
     Answer the class that holds network addresses for ICMP sockets,
     i.e. IPAddress.



File: gst-libs.info,  Node: TCP.IPAddress,  Next: TCP.MulticastSocket,  Prev: TCP.ICMPSocketImpl,  Up: TCP

TCP.IPAddress
=============

Defined in namespace TCP
Superclass: TCP.SocketAddress
Category: Sockets-Protocols

* Menu:

* TCP.IPAddress class-constants::  (class)
* TCP.IPAddress class-initialization::  (class)
* TCP.IPAddress class-instance creation::  (class)
* TCP.IPAddress-accessing::  (instance)
* TCP.IPAddress-printing::  (instance)


File: gst-libs.info,  Node: TCP.IPAddress class-constants,  Next: TCP.IPAddress class-initialization,  Up: TCP.IPAddress

TCP.IPAddress class: constants
------------------------------

addressSize
     Answer the size of an IPv4 address.

version
     Answer the version of IP that the receiver implements.



File: gst-libs.info,  Node: TCP.IPAddress class-initialization,  Next: TCP.IPAddress class-instance creation,  Prev: TCP.IPAddress class-constants,  Up: TCP.IPAddress

TCP.IPAddress class: initialization
-----------------------------------

createLocalAddress
     Answer an object representing a local address in the address
     family for the receiver

createLoopbackHost
     Answer an object representing the loopback host in the address
     family for the receiver.  This is 127.0.0.1 for IPv4.

createUnknownAddress
     Answer an object representing an unkown address in the address
     family for the receiver

initialize
     Set up the default implementation classes for the receiver



File: gst-libs.info,  Node: TCP.IPAddress class-instance creation,  Next: TCP.IPAddress-accessing,  Prev: TCP.IPAddress class-initialization,  Up: TCP.IPAddress

TCP.IPAddress class: instance creation
--------------------------------------

fromArray: parts
     Answer a new IPAddress from an array of numbers; the numbers are
     to be thought as the dot-separated numbers in the standard
     numbers-and-dots notation for IPv4 addresses.

fromBytes: aByteArray
     Answer a new IPAddress from a ByteArray containing the bytes in
     the same order as the digit form: 131.175.6.2 would be represented
     as #[131 175 6 2].

fromSockAddr: aByteArray port: portAdaptor
     Private - Answer a new IPAddress from a ByteArray containing a C
     sockaddr_in structure.  The portAdaptor's value is changed to
     contain the port that the structure refers to.

fromString: aString
     Answer a new IPAddress from a String containing the requested
     address in digit form.  Hexadecimal forms are not allowed.  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.

new
     This method should not be called for instances of this class.

with: b1 with: b2 with: b3 with: b4
     Answer a new IPAddress whose bytes (from most-significant to
     least-significant) are in the parameters.



File: gst-libs.info,  Node: TCP.IPAddress-accessing,  Next: TCP.IPAddress-printing,  Prev: TCP.IPAddress class-instance creation,  Up: TCP.IPAddress

TCP.IPAddress: accessing
------------------------

addressClass
     Answer the `address class' of the receiver (see IPAddress
     class>>#fromString:)

asByteArray
     Answer a read-only ByteArray of size four containing the
     receiver's bytes in network order (big-endian)

host
     Answer an host number for the receiver; this is given by the last
     three bytes for class A addresses, by the last two bytes for class
     B addresses, else by the last byte.

isMulticast
     Answer whether the receiver reprensents an address reserved for
     multicast datagram connections

network
     Answer a network number for the receiver; this is given by the
     first three bytes for class C/D/E addresses, by the first two
     bytes for class B addresses, else by the first byte.

subnet
     Answer an host number for the receiver; this is 0 for class A
     addresses, while it is given by the last byte of the network
     number for class B/C/D/E addresses.



File: gst-libs.info,  Node: TCP.IPAddress-printing,  Prev: TCP.IPAddress-accessing,  Up: TCP.IPAddress

TCP.IPAddress: printing
-----------------------

printOn: aStream
     Print the receiver in dot notation.



File: gst-libs.info,  Node: TCP.MulticastSocket,  Next: TCP.MulticastSocketImpl,  Prev: TCP.IPAddress,  Up: TCP

TCP.MulticastSocket
===================

Defined in namespace TCP
Superclass: TCP.DatagramSocket
Category: Sockets-Streams

* Menu:

* TCP.MulticastSocket-instance creation::  (instance)


File: gst-libs.info,  Node: TCP.MulticastSocket-instance creation,  Up: TCP.MulticastSocket

TCP.MulticastSocket: instance creation
--------------------------------------

interface
     Answer the local device supporting the multicast socket.  This is
     usually set to any local address.

interface: ipAddress
     Set the local device supporting the multicast socket.  This is
     usually set to any local address.

join: ipAddress
     Join the multicast socket at the given IP address

leave: ipAddress
     Leave the multicast socket at the given IP address

nextPut: packet timeToLive: timeToLive
     Send the datagram with a specific TTL (time-to-live)

timeToLive
     Answer the socket's datagrams' default time-to-live

timeToLive: newTTL
     Set the default time-to-live for the socket's datagrams



File: gst-libs.info,  Node: TCP.MulticastSocketImpl,  Next: TCP.OOBSocketImpl,  Prev: TCP.MulticastSocket,  Up: TCP

TCP.MulticastSocketImpl
=======================

Defined in namespace TCP
Superclass: TCP.DatagramSocketImpl
Category: Sockets-Protocols

* Menu:

* TCP.MulticastSocketImpl-multicasting::  (instance)


File: gst-libs.info,  Node: TCP.MulticastSocketImpl-multicasting,  Up: TCP.MulticastSocketImpl

TCP.MulticastSocketImpl: multicasting
-------------------------------------

ipMulticastIf
     Answer the local device for a multicast socket (in the form of an
     address)

ipMulticastIf: interface
     Set the local device for a multicast socket (in the form of an
     address, usually anyLocalAddress)

join: ipAddress
     Join the multicast socket at the given address

leave: ipAddress
     Leave the multicast socket at the given address

timeToLive
     Answer the time to live of the datagrams sent through the receiver
     to a multicast socket.

timeToLive: ttl
     Set the time to live of the datagrams sent through the receiver to
     a multicast socket.



File: gst-libs.info,  Node: TCP.OOBSocketImpl,  Next: TCP.RawSocketImpl,  Prev: TCP.MulticastSocketImpl,  Up: TCP

TCP.OOBSocketImpl
=================

Defined in namespace TCP
Superclass: TCP.DatagramSocketImpl
Category: Sockets-Protocols

* Menu:

* TCP.OOBSocketImpl class-implementation::  (class)
* TCP.OOBSocketImpl-implementation::  (instance)


File: gst-libs.info,  Node: TCP.OOBSocketImpl class-implementation,  Next: TCP.OOBSocketImpl-implementation,  Up: TCP.OOBSocketImpl

TCP.OOBSocketImpl class: implementation
---------------------------------------

addressClass
     Answer the class that holds network addresses for TCP sockets,
     i.e. IPAddress.



File: gst-libs.info,  Node: TCP.OOBSocketImpl-implementation,  Prev: TCP.OOBSocketImpl class-implementation,  Up: TCP.OOBSocketImpl

TCP.OOBSocketImpl: implementation
---------------------------------

canRead
     Answer whether out-of-band data is available on the socket

ensureReadable
     Stop the process until an error occurs or out-of-band data becomes
     available on the socket



File: gst-libs.info,  Node: TCP.RawSocketImpl,  Next: TCP.ReadBuffer,  Prev: TCP.OOBSocketImpl,  Up: TCP

TCP.RawSocketImpl
=================

Defined in namespace TCP
Superclass: TCP.DatagramSocketImpl
Category: Sockets-Protocols

* Menu:

* TCP.RawSocketImpl class-parameters::  (class)


File: gst-libs.info,  Node: TCP.RawSocketImpl class-parameters,  Up: TCP.RawSocketImpl

TCP.RawSocketImpl class: parameters
-----------------------------------

socketType
     Answer the socket type parameter for `create'.



File: gst-libs.info,  Node: TCP.ReadBuffer,  Next: TCP.ServerSocket,  Prev: TCP.RawSocketImpl,  Up: TCP

TCP.ReadBuffer
==============

Defined in namespace TCP
Superclass: ReadStream
Category: Examples-Useful tools
     I'm a ReadStream that, when the end of the stream is reached,
     evaluates an user defined block to try to get some more data.

* Menu:

* TCP.ReadBuffer class-instance creation::  (class)
* TCP.ReadBuffer-buffer handling::  (instance)


File: gst-libs.info,  Node: TCP.ReadBuffer class-instance creation,  Next: TCP.ReadBuffer-buffer handling,  Up: TCP.ReadBuffer

TCP.ReadBuffer class: instance creation
---------------------------------------

on: aCollection
     Answer a Stream that uses aCollection as a buffer.  You should
     ensure that the fillBlock is set before the first operation,
     because the buffer will report that the data has ended until you
     set the fillBlock.



File: gst-libs.info,  Node: TCP.ReadBuffer-buffer handling,  Prev: TCP.ReadBuffer class-instance creation,  Up: TCP.ReadBuffer

TCP.ReadBuffer: buffer handling
-------------------------------

atEnd
     Answer whether the data stream has ended.

bufferContents
     Answer the data that is in the buffer, and empty it.

fill
     Fill the buffer with more data if it is empty, and answer true if
     the fill block was able to read more data.

fillBlock: block
     Set the block that fills the buffer. It receives a collection and
     the number of bytes to fill in it, and must return the number of
     bytes actually read

isEmpty
     Answer whether the next input operation will force a buffer fill

isFull
     Answer whether the buffer has been just filled

notEmpty
     Check whether the next input operation will force a buffer fill
     and answer true if it will not.



File: gst-libs.info,  Node: TCP.ServerSocket,  Next: TCP.Socket,  Prev: TCP.ReadBuffer,  Up: TCP

TCP.ServerSocket
================

Defined in namespace TCP
Superclass: TCP.AbstractSocket
Category: Sockets-Streams

* Menu:

* TCP.ServerSocket class-instance creation::  (class)
* TCP.ServerSocket-accessing::  (instance)
* TCP.ServerSocket-initializing::  (instance)


File: gst-libs.info,  Node: TCP.ServerSocket class-instance creation,  Next: TCP.ServerSocket-accessing,  Up: TCP.ServerSocket

TCP.ServerSocket class: instance creation
-----------------------------------------

defaultQueueSize
     Answer the default length of the queue for pending connections.
     When the queue fills, new clients attempting to connect fail until
     the server is send #accept to accept a connection from the queue.

port: anInteger
     Answer a new ServerSocket serving on any local address, on the
     given port, with a pending connections queue of the default length.

port: anInteger bindTo: ipAddress
     Answer a new ServerSocket serving on the given address and port,
     with a pending connections queue of the default length.

port: anInteger queueSize: backlog
     Answer a new ServerSocket serving on any local address, on the
     given port, with a pending connections queue of the given length.

port: anInteger queueSize: backlog bindTo: ipAddress
     Answer a new ServerSocket serving on the given address and port,
     and with a pending connections queue of the given length.

queueSize: backlog
     Answer a new ServerSocket serving on any local address and port,
     with a pending connections queue of the given length.

queueSize: backlog bindTo: ipAddress
     Answer a new ServerSocket serving on the given local address, and
     on any port, with a pending connections queue of the given length.



File: gst-libs.info,  Node: TCP.ServerSocket-accessing,  Next: TCP.ServerSocket-initializing,  Prev: TCP.ServerSocket class-instance creation,  Up: TCP.ServerSocket

TCP.ServerSocket: accessing
---------------------------

accept
     Accept a new connection and create a new instance of Socket if
     there is one, else answer nil.

accept: socketClass
     Accept a new connection and create a new instance of socketClass if
     there is one, else answer nil.  This is usually needed only to
     create DatagramSockets.

address
     Answer the local address

port
     Answer the local port (the port that the passive socket is
     listening on).

primAccept: socketClass
     Accept a new connection and create a new instance of Socket if
     there is one, else fail.

waitForConnection
     Wait for a connection to be available, and suspend the currently
     executing process in the meanwhile.



File: gst-libs.info,  Node: TCP.ServerSocket-initializing,  Prev: TCP.ServerSocket-accessing,  Up: TCP.ServerSocket

TCP.ServerSocket: initializing
------------------------------

port: anInteger queueSize: backlog bindTo: localAddr
     Initialize the ServerSocket so that it serves on the given address
     and port, and has a pending connections queue of the given length.



File: gst-libs.info,  Node: TCP.Socket,  Next: TCP.SocketAddress,  Prev: TCP.ServerSocket,  Up: TCP

TCP.Socket
==========

Defined in namespace TCP
Superclass: TCP.AbstractSocket
Category: Sockets-Streams

* Menu:

* TCP.Socket class-accessing::  (class)
* TCP.Socket class-instance creation::  (class)
* TCP.Socket class-tests::  (class)
* TCP.Socket class-well known ports::  (class)
* TCP.Socket-accessing::  (instance)
* TCP.Socket-out-of-band data::  (instance)
* TCP.Socket-printing::  (instance)
* TCP.Socket-stream protocol::  (instance)


File: gst-libs.info,  Node: TCP.Socket class-accessing,  Next: TCP.Socket class-instance creation,  Up: TCP.Socket

TCP.Socket class: accessing
---------------------------

defaultImplementationClass
     Answer the default implementation class.  Depending on the
     subclass, this might be the default stream socket implementation
     class of the default address class, or rather its default datagram
     socket implementation class

readBufferSize
     Answer the size of the read buffer for newly-created sockets

readBufferSize: anInteger
     Set the size of the read buffer for newly-created sockets

writeBufferSize
     Answer the size of the write buffer for newly-created sockets

writeBufferSize: anInteger
     Set the size of the write buffer for newly-created sockets



File: gst-libs.info,  Node: TCP.Socket class-instance creation,  Next: TCP.Socket class-tests,  Prev: TCP.Socket class-accessing,  Up: TCP.Socket

TCP.Socket class: instance creation
-----------------------------------

remote: ipAddressOrString port: remotePort
     Create a new socket and connect to the given host (passed as a
     String to be resolved or as a SocketAddress), and to the given
     port.

remote: ipAddressOrString port: remotePort local: ipAddress port: localPort
     Create a new socket and connect to the given host (passed as a
     String to be resolved or as a SocketAddress), and to the given
     remotePort.  Then bind it to the local address passed in
     ipAddress, on the localPort port; if the former is nil, any local
     address will do, and if the latter is 0, any local port will do.



File: gst-libs.info,  Node: TCP.Socket class-tests,  Next: TCP.Socket class-well known ports,  Prev: TCP.Socket class-instance creation,  Up: TCP.Socket

TCP.Socket class: tests
-----------------------

loopbackTest
     Send data from one socket to another on the local machine. Tests
     most of the socket primitives.

loopbackTest: bufferSizes
     Send data from one socket to another on the local machine. Tests
     most of the socket primitives.  The parameter is the size of the
     input and output buffer sizes.

microTest
     Extremely small test (try to receive SMTP header)

producerConsumerTest
     Send data from one socket to another on the local machine. Tests
     most of the socket primitives and works with different processes.

sendTest
     Send data to the 'discard' socket of localhost.

sendTest: host
     Send data to the 'discard' socket of the given host. Tests the
     speed of one-way data transfers across the network to the given
     host. Note that many hosts do not run a discard server.

tweakedLoopbackTest
     Send data from one socket to another on the local machine, trying
     to avoid buffering overhead.  Tests most of the socket primitives.
     Comparison of the results of loopbackTest and tweakedLoopbackTest
     should give a measure of the overhead of buffering when
     sending/receiving large quantities of data.

udpLoopbackTest
     Send data from one UDP socket to another on the local machine.
     Tests most of the socket primitives and works with different
     processes.



File: gst-libs.info,  Node: TCP.Socket class-well known ports,  Next: TCP.Socket-accessing,  Prev: TCP.Socket class-tests,  Up: TCP.Socket

TCP.Socket class: well known ports
----------------------------------

defaultPortAt: protocol
     Answer the port that is used (by default) for the given service
     (high level protocol)

defaultPortAt: protocol ifAbsent: port
     Answer the port that is used (by default) for the given service
     (high level protocol), or the specified port if none is registered.

defaultPortAt: protocol put: port
     Associate the given port to the service specified by `protocol'.

initialize
     Initialize the receiver's defaults

portCmdServer
     Answer the port on which the rsh daemon listens

portDayTime
     Answer the port on which the TOD service listens

portDiscard
     Answer the port on which the DISCARD service listens

portDNS
     Answer the port on which the DNS listens

portEcho
     Answer the port on which the ECHO service listens

portExecServer
     Answer the port on which the exec server listens

portFinger
     Answer the port on which the finger daemon listens

portFTP
     Answer the port on which the FTP daemon listens

portGopher
     Answer the port on which the Gopher daemon listens

portHTTP
     Answer the port on which the http daemon listens

portLoginServer
     Answer the port on which the rlogin daemon listens

portNetStat
     Answer the port on which the NETSTAT service listens

portNNTP
     Answer the port on which the nntp daemon listens

portPOP3
     Answer the port on which the pop3 daemon listens

portReserved
     Answer the last port reserved to privileged processes

portSMTP
     Answer the port on which the SMTP daemon listens

portSSH
     Answer the port on which the SSH daemon listens

portSystat
     Answer the port on which the SYSTAT service listens

portTelnet
     Answer the port on which the TELNET daemon listens

portTimeServer
     Answer the port on which the time server listens

portWhois
     Answer the port on which the WHOIS daemon listens



File: gst-libs.info,  Node: TCP.Socket-accessing,  Next: TCP.Socket-out-of-band data,  Prev: TCP.Socket class-well known ports,  Up: TCP.Socket

TCP.Socket: accessing
---------------------

address
     Answer the address of the remote endpoint

port
     Answer the port of the remote endpoint



File: gst-libs.info,  Node: TCP.Socket-out-of-band data,  Next: TCP.Socket-printing,  Prev: TCP.Socket-accessing,  Up: TCP.Socket

TCP.Socket: out-of-band data
----------------------------

outOfBand
     Return a datagram socket to be used for receiving out-of-band data
     on the receiver.



File: gst-libs.info,  Node: TCP.Socket-printing,  Next: TCP.Socket-stream protocol,  Prev: TCP.Socket-out-of-band data,  Up: TCP.Socket

TCP.Socket: printing
--------------------

printOn: aStream
     Print a representation of the receiver on aStream



File: gst-libs.info,  Node: TCP.Socket-stream protocol,  Prev: TCP.Socket-printing,  Up: TCP.Socket

TCP.Socket: stream protocol
---------------------------

atEnd
     Answer whether more data is available on the socket

available
     Answer whether more data is available in the socket's read buffer
     or from the operating system.

bufferContents
     Answer the current contents of the read buffer

close
     Flush and close the socket.

fill
     Fill the read buffer with data read from the socket

flush
     Flush the write buffer to the operating system

isPeerAlive
     Answer whether the connection with the peer remote machine is still
     valid.

next
     Read a byte from the socket.  This might yield control to other
     Smalltalk Processes.

next: count
     Read `count' bytes from the socket.  This might yield control to
     other Smalltalk Processes.

nextHunk
     Answer the next buffers worth of stuff in the Stream represented
     by the receiver.  Do at most one actual input operation.

nextPut: char
     Write a character to the socket; this acts as a bit-bucket when
     the socket is closed.  This might yield control to other Smalltalk
     Processes.

nextPutAll: aString
     Write aString to the socket; this acts as a bit-bucket when the
     socket is closed.  This might yield control to other Smalltalk
     Processes.

peek
     Read a byte from the socket, without advancing the buffer; answer
     nil if no more data is available.  This might yield control to
     other Smalltalk Processes.

peekFor: anObject
     Read a byte from the socket, advancing the buffer only if it
     matches anObject; answer whether they did match or not.  This
     might yield control to other Smalltalk Processes.

readBufferSize: size
     Create a new read buffer of the given size (which is only possible
     before the first read or if the current buffer is empty).

writeBufferSize: size
     Create a new write buffer of the given size, flushing the old one
     is needed.  This might yield control to other Smalltalk Processes.



File: gst-libs.info,  Node: TCP.SocketAddress,  Next: TCP.SocketImpl,  Prev: TCP.Socket,  Up: TCP

TCP.SocketAddress
=================

Defined in namespace TCP
Superclass: Object
Category: Sockets-Protocols

* Menu:

* TCP.SocketAddress class-abstract::  (class)
* TCP.SocketAddress class-accessing::  (class)
* TCP.SocketAddress class-host name lookup::  (class)
* TCP.SocketAddress class-initialization::  (class)
* TCP.SocketAddress-accessing::  (instance)


File: gst-libs.info,  Node: TCP.SocketAddress class-abstract,  Next: TCP.SocketAddress class-accessing,  Up: TCP.SocketAddress

TCP.SocketAddress class: abstract
---------------------------------

fromSockAddr: aByteArray port: portAdaptor
     Private - Answer a new IPAddress from a ByteArray containing a C
     sockaddr structure.  The portAdaptor's value is changed to contain
     the port that the structure refers to.



File: gst-libs.info,  Node: TCP.SocketAddress class-accessing,  Next: TCP.SocketAddress class-host name lookup,  Prev: TCP.SocketAddress class-abstract,  Up: TCP.SocketAddress

TCP.SocketAddress class: accessing
----------------------------------

addressFamily
     Answer the address family used for sockets whose endpoint is an
     instance of the receiver.

anyLocalAddress
     Answer an IPAddress representing a local address.

at: host cache: aBlock
     Private - Answer the list of addresses associated to the given
     host in the cache.  If the host is not cached yet, evaluate aBlock
     and cache and answer the result.

defaultDatagramSocketImplClass
     Answer the class that, by default, is used to map between the
     Socket's protocol and a low-level C interface.

defaultDatagramSocketImplClass: aClass
     Set which class will be used by default to map between the
     receiver's protocol and a low-level C interface.

defaultRawSocketImplClass
     Answer the class that, by default, is used to map between the
     Socket's protocol and a low-level C interface.

defaultRawSocketImplClass: aClass
     Set which class will be used by default to map between the
     receiver's protocol and a low-level C interface.

defaultStreamSocketImplClass
     Answer the class that, by default, is used to map between the
     Socket's protocol and a low-level C interface.

defaultStreamSocketImplClass: aClass
     Set which class will be used by default to map between the
     receiver's protocol and a low-level C interface.

isDigitAddress: aString
     Answer whether the receiver can interpret aStrnig as a valid
     address without going through a resolver.

localHostName
     Answer the name of the local machine.

loopbackHost
     Answer an instance of the receiver representing the local machine
     (127.0.0.1 in the IPv4 family).

unknownAddress
     Answer an instance of the receiver representing an unknown machine
     (0.0.0.0 in the IPv4 family).



File: gst-libs.info,  Node: TCP.SocketAddress class-host name lookup,  Next: TCP.SocketAddress class-initialization,  Prev: TCP.SocketAddress class-accessing,  Up: TCP.SocketAddress

TCP.SocketAddress class: host name lookup
-----------------------------------------

allByName: aString
     Answer all the IP addresses that refer to the the given host.  If
     a digit address is passed in aString, the result is an array
     containing the single passed address.  If the host could not be
     resolved to an IP address, answer nil.

byName: aString
     Answer a single IP address that refer to the the given host.  If a
     digit address is passed in aString, the result is the same as
     using #fromString:.  If the host could not be resolved to an IP
     address, answer nil.



File: gst-libs.info,  Node: TCP.SocketAddress class-initialization,  Next: TCP.SocketAddress-accessing,  Prev: TCP.SocketAddress class-host name lookup,  Up: TCP.SocketAddress

TCP.SocketAddress class: initialization
---------------------------------------

createLocalAddress
     Answer an object representing a local address in the address
     family for the receiver

createLoopbackHost
     Answer an object representing the loopback host in the address
     family for the receiver.  By default this is the same as
     #createLocalAddress, since the loopback host is actually a local
     address that some implementations optimize specially.

createUnknownAddress
     Answer an object representing an unkown address in the address
     family for the receiver

flush
     Flush the cached IP addresses.

newRawSocket
     Create a new raw socket, providing access to low-level network
     protocols and interfaces for the protocol family represented by
     the receiver (for example, the C protocol family PF_INET for the
     IPAddress class) Ordinary user programs usually have no need to
     use this method.

update: aspect
     Flush all the caches for IPAddress subclasses



File: gst-libs.info,  Node: TCP.SocketAddress-accessing,  Prev: TCP.SocketAddress class-initialization,  Up: TCP.SocketAddress

TCP.SocketAddress: accessing
----------------------------

= anIPAddress
     Answer whether the receiver and anIPAddress represent the same
     machine.  The host name is not checked because an IPAddress
     created before a DNS is activated is named after its
     numbers-and-dots notation, while the same IPAddress, created when
     a DNS is active, is named after its resolved name.

asByteArray
     Convert the receiver to a ByteArray passed to the operating
     system's socket functions)

hash
     Answer an hash value for the receiver

name
     Answer the host name (or the digit notation if the DNS could not
     resolve the address).  If the DNS answers a different IP address
     for the same name, the second response is not cached and the digit
     notation is also returned (somebody's likely playing strange jokes
     with your DNS).



File: gst-libs.info,  Node: TCP.SocketImpl,  Next: TCP.TCPSocketImpl,  Prev: TCP.SocketAddress,  Up: TCP

TCP.SocketImpl
==============

Defined in namespace TCP
Superclass: TCP.AbstractSocketImpl
Category: Sockets-Protocols

* Menu:

* TCP.SocketImpl class-parameters::  (class)
* TCP.SocketImpl-abstract::  (instance)
* TCP.SocketImpl-socket operations::  (instance)


File: gst-libs.info,  Node: TCP.SocketImpl class-parameters,  Next: TCP.SocketImpl-abstract,  Up: TCP.SocketImpl

TCP.SocketImpl class: parameters
--------------------------------

socketType
     Answer the socket type parameter for `create'.



File: gst-libs.info,  Node: TCP.SocketImpl-abstract,  Next: TCP.SocketImpl-socket operations,  Prev: TCP.SocketImpl class-parameters,  Up: TCP.SocketImpl

TCP.SocketImpl: abstract
------------------------

outOfBandImplClass
     Return an implementation class to be used for out-of-band data on
     the receiver.



File: gst-libs.info,  Node: TCP.SocketImpl-socket operations,  Prev: TCP.SocketImpl-abstract,  Up: TCP.SocketImpl

TCP.SocketImpl: socket operations
---------------------------------

connectTo: ipAddress port: port
     Try to connect the socket represented by the receiver to the given
     remote machine.

getPeerName
     Retrieve a ByteArray containing a sockaddr_in struct for the
     remote endpoint of the socket.



File: gst-libs.info,  Node: TCP.TCPSocketImpl,  Next: TCP.UDPSocketImpl,  Prev: TCP.SocketImpl,  Up: TCP

TCP.TCPSocketImpl
=================

Defined in namespace TCP
Superclass: TCP.SocketImpl
Category: Sockets-Protocols

* Menu:

* TCP.TCPSocketImpl class-implementation::  (class)
* TCP.TCPSocketImpl-implementation::  (instance)


File: gst-libs.info,  Node: TCP.TCPSocketImpl class-implementation,  Next: TCP.TCPSocketImpl-implementation,  Up: TCP.TCPSocketImpl

TCP.TCPSocketImpl class: implementation
---------------------------------------

addressClass
     Answer the class that holds network addresses for TCP sockets,
     i.e. IPAddress.



File: gst-libs.info,  Node: TCP.TCPSocketImpl-implementation,  Prev: TCP.TCPSocketImpl class-implementation,  Up: TCP.TCPSocketImpl

TCP.TCPSocketImpl: implementation
---------------------------------

outOfBandImplClass
     Return an implementation class to be used for out-of-band data on
     the receiver.



File: gst-libs.info,  Node: TCP.UDPSocketImpl,  Next: TCP.WriteBuffer,  Prev: TCP.TCPSocketImpl,  Up: TCP

TCP.UDPSocketImpl
=================

Defined in namespace TCP
Superclass: TCP.MulticastSocketImpl
Category: Sockets-Protocols

* Menu:

* TCP.UDPSocketImpl class-implementation::  (class)
* TCP.UDPSocketImpl-multicasting::  (instance)


File: gst-libs.info,  Node: TCP.UDPSocketImpl class-implementation,  Next: TCP.UDPSocketImpl-multicasting,  Up: TCP.UDPSocketImpl

TCP.UDPSocketImpl class: implementation
---------------------------------------

addressClass
     Answer the class that holds network addresses for UDP sockets,
     i.e. IPAddress.



File: gst-libs.info,  Node: TCP.UDPSocketImpl-multicasting,  Prev: TCP.UDPSocketImpl class-implementation,  Up: TCP.UDPSocketImpl

TCP.UDPSocketImpl: multicasting
-------------------------------

ipMulticastIf
     Answer the local device for a multicast socket (in the form of an
     address)

ipMulticastIf: interface
     Set the local device for a multicast socket (in the form of an
     address, usually anyLocalAddress)

join: ipAddress
     Join the multicast socket at the given address

leave: ipAddress
     Leave the multicast socket at the given address

primJoinLeave: ipAddress option: opt
     Private - Used to join or leave a multicast service.

timeToLive
     Answer the time to live of the datagrams sent through the receiver
     to a multicast socket.

timeToLive: ttl
     Set the time to live of the datagrams sent through the receiver to
     a multicast socket.



File: gst-libs.info,  Node: TCP.WriteBuffer,  Prev: TCP.UDPSocketImpl,  Up: TCP

TCP.WriteBuffer
===============

Defined in namespace TCP
Superclass: WriteStream
Category: Examples-Useful tools
     I'm a WriteStream that, instead of growing the collection,
     evaluates an user defined block and starts over with the same
     collection.

* Menu:

* TCP.WriteBuffer-buffer handling::  (instance)


File: gst-libs.info,  Node: TCP.WriteBuffer-buffer handling,  Up: TCP.WriteBuffer

TCP.WriteBuffer: buffer handling
--------------------------------

flush
     Evaluate the flushing block and reset the stream

flushBlock: block
     Set which block will be used to flush the buffer.  The block will
     be evaluated with a collection and an Integer n as parameters, and
     will have to write the first n elements of the collection.



File: gst-libs.info,  Node: I18N,  Next: XML,  Prev: TCP,  Up: Top

I18N
****

* Menu:


Alphabetic list:
* I18N.BigEndianFileStream::
* I18N.EncodedStream::
* I18N.Encoder::
* I18N.Encoders.ComposeUCS4BE::
* I18N.Encoders.ComposeUCS4LE::
* I18N.Encoders.FromUCS4::
* I18N.Encoders.FromUTF7::
* I18N.Encoders.Iconv::
* I18N.Encoders.SplitUCS4BE::
* I18N.Encoders.SplitUCS4LE::
* I18N.Encoders.ToUCS4::
* I18N.Encoders.ToUTF7::
* I18N.FileStreamSegment::
* I18N.IncompleteSequenceError::
* I18N.InvalidCharsetError::
* I18N.InvalidSequenceError::
* I18N.LcMessages::
* I18N.LcMessagesCatalog::
* I18N.LcMessagesDomain::
* I18N.LcMessagesDummyDomain::
* I18N.LcMessagesMoFileVersion0::
* I18N.LcMessagesTerritoryDomain::
* I18N.LcMonetary::
* I18N.LcMonetaryISO::
* I18N.LcNumeric::
* I18N.LcPrintFormats::
* I18N.LcTime::
* I18N.Locale::
* I18N.LocaleConventions::
* I18N.LocaleData::
* I18N.RTEAlternativeNode::
* I18N.RTEBinaryNode::
* I18N.RTELiteralNode::
* I18N.RTENegationNode::
* I18N.RTEParameterNode::
* I18N.RunTimeExpression::


Class tree:
  (Object)
    (FileSegment)
*     I18N.FileStreamSegment::
*   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::
    (Signal)
      (Exception)
        (Error)
*         I18N.IncompleteSequenceError::
*         I18N.InvalidSequenceError::
          (SystemExceptions.InvalidValue)
            (SystemExceptions.InvalidArgument)
*             I18N.InvalidCharsetError::
    (Stream)
*     I18N.Encoder::
*       I18N.EncodedStream::
*       I18N.Encoders.FromUCS4::
*         I18N.Encoders.SplitUCS4BE::
*         I18N.Encoders.SplitUCS4LE::
*         I18N.Encoders.ToUTF7::
*       I18N.Encoders.Iconv::
*       I18N.Encoders.ToUCS4::
*         I18N.Encoders.ComposeUCS4BE::
*         I18N.Encoders.ComposeUCS4LE::
*         I18N.Encoders.FromUTF7::
      (PositionableStream)
        (WriteStream)
          (ReadWriteStream)
            (ByteStream)
              (FileDescriptor)
                (FileStream)
*                 I18N.BigEndianFileStream::


File: gst-libs.info,  Node: I18N.BigEndianFileStream,  Next: I18N.EncodedStream,  Up: I18N

I18N.BigEndianFileStream
========================

Defined in namespace I18N
Superclass: FileStream
Category: i18n-Messages
     Unlike ByteStream and FileStream, this retrieves integer numbers in
     big-endian (68000, PowerPC, SPARC) order.

* Menu:


File: gst-libs.info,  Node: I18N.EncodedStream,  Next: I18N.Encoder,  Prev: I18N.BigEndianFileStream,  Up: I18N

I18N.EncodedStream
==================

Defined in namespace I18N
Superclass: I18N.Encoder
Category: i18n-Character sets
     This class is a factory for subclasses of Encoder.  The Encoder is
     in practice a pipe, so the purpose of this class is simply to
     construct an appropriate pipe.

* Menu:

* I18N.EncodedStream class-initializing::  (class)
* I18N.EncodedStream class-instance creation::  (class)


File: gst-libs.info,  Node: I18N.EncodedStream class-initializing,  Next: I18N.EncodedStream class-instance creation,  Up: I18N.EncodedStream

I18N.EncodedStream class: initializing
--------------------------------------

initialize
     Initialize the registry of the encoders to include the standard
     encoders contained in the library.

registerEncoderFor: arrayOfAliases toUCS4: toUCS4Class fromUCS4: fromUCS4Class
     Register the two classes that will respectively convert from the
     charsets in arrayOfAliases to UCS4 and vice versa.  The former
     class is a stream that accepts characters and returns (via #next)
     integers representing UCS-4 character codes, while the latter
     accepts UCS-4 character codes and converts them to characters.
     For an example see respectively FromUTF7 and ToUTF7 (I admit it is
     not a trivial example).



File: gst-libs.info,  Node: I18N.EncodedStream class-instance creation,  Prev: I18N.EncodedStream class-initializing,  Up: I18N.EncodedStream

I18N.EncodedStream class: instance creation
-------------------------------------------

on: aStringOrStream from: fromEncoding
     Answer a pipe of encoders that converts aStringOrStream (which can
     be a string or another stream) from the given encoding to the
     default locale's default charset.

on: aStringOrStream from: fromEncoding to: toEncoding
     Answer a pipe of encoders that converts aStringOrStream (which can
     be a string or another stream) between the two supplied encodings
     (which can be ASCII Strings or Symbols)

on: aStringOrStream to: toEncoding
     Answer a pipe of encoders that converts aStringOrStream (which can
     be a string or another stream) from the default locale's default
     charset to the given encoding.



File: gst-libs.info,  Node: I18N.Encoder,  Next: I18N.Encoders.ComposeUCS4BE,  Prev: I18N.EncodedStream,  Up: I18N

I18N.Encoder
============

Defined in namespace I18N
Superclass: Stream
Category: i18n-Character sets
     This class is the superclass of streams that take an origin and
     encode it to another character set.  Most of the subclasses are
     for internal use, the one you really want to use is probably
     EncodedStream.

* Menu:

* I18N.Encoder class-instance creation::  (class)
* I18N.Encoder-stream operations::  (instance)


File: gst-libs.info,  Node: I18N.Encoder class-instance creation,  Next: I18N.Encoder-stream operations,  Up: I18N.Encoder

I18N.Encoder class: instance creation
-------------------------------------

on: aStringOrStream from: fromEncoding to: toEncoding
     Answer a new encoder that translates from fromEncoding to
     toEncoding.  The encodings are guaranteed to be those for which
     the encoder was registered.



File: gst-libs.info,  Node: I18N.Encoder-stream operations,  Prev: I18N.Encoder class-instance creation,  Up: I18N.Encoder

I18N.Encoder: stream operations
-------------------------------

atEnd
     Return whether the receiver can produce another character in the
     receiver; by default, this is true if there is another character
     in the origin.

atEndOfInput
     Return whether there is another character in the origin.  This
     method is for private use by encoders, calling it outside won't
     corrupt the internal state of the encoder but the result probably
     won't be meaningful (depending on the innards of the encoder).

next
     Return the next character in the receiver; by default, this is the
     next character in the origin.

nextInput
     Return the next character in the origin.  This method is for
     private use by encoders, calling it outside may corrupt the
     internal state of the encoder.

species
     Answer the kind of data that is answered, which is the same kind
     of data that the origin answers



File: gst-libs.info,  Node: I18N.Encoders.ComposeUCS4BE,  Next: I18N.Encoders.ComposeUCS4LE,  Prev: I18N.Encoder,  Up: I18N

I18N.Encoders.ComposeUCS4BE
===========================

Defined in namespace I18N.Encoders
Superclass: I18N.Encoders.ToUCS4
Category: i18n-Character sets
     This class is used internally to provide UCS4 characters encoded as
     32-bit integers for a descendent of FromUCS4, when the starting
     encoding is big-endian.

* Menu:

* I18N.Encoders.ComposeUCS4BE-stream operation::  (instance)


File: gst-libs.info,  Node: I18N.Encoders.ComposeUCS4BE-stream operation,  Up: I18N.Encoders.ComposeUCS4BE

I18N.Encoders.ComposeUCS4BE: stream operation
---------------------------------------------

next
     Answer a 32-bit integer obtained by reading four 8-bit character
     codes in big-endian order and putting them together



File: gst-libs.info,  Node: I18N.Encoders.ComposeUCS4LE,  Next: I18N.Encoders.FromUCS4,  Prev: I18N.Encoders.ComposeUCS4BE,  Up: I18N

I18N.Encoders.ComposeUCS4LE
===========================

Defined in namespace I18N.Encoders
Superclass: I18N.Encoders.ToUCS4
Category: i18n-Character sets
     This class is used internally to provide UCS4 characters encoded as
     32-bit integers for a descendent of FromUCS4, when the starting
     encoding is little-endian.

* Menu:

* I18N.Encoders.ComposeUCS4LE-stream operation::  (instance)


File: gst-libs.info,  Node: I18N.Encoders.ComposeUCS4LE-stream operation,  Up: I18N.Encoders.ComposeUCS4LE

I18N.Encoders.ComposeUCS4LE: stream operation
---------------------------------------------

next
     Answer a 32-bit integer obtained by reading four 8-bit character
     codes in little-endian order and putting them together



File: gst-libs.info,  Node: I18N.Encoders.FromUCS4,  Next: I18N.Encoders.FromUTF7,  Prev: I18N.Encoders.ComposeUCS4LE,  Up: I18N

I18N.Encoders.FromUCS4
======================

Defined in namespace I18N.Encoders
Superclass: I18N.Encoder
Category: i18n-Character sets
     This class is a superclass for classes that convert from UCS4
     characters (encoded as 32-bit Integers) to bytes in another
     encoding (encoded as Characters).

* Menu:

* I18N.Encoders.FromUCS4-stream operation::  (instance)


File: gst-libs.info,  Node: I18N.Encoders.FromUCS4-stream operation,  Up: I18N.Encoders.FromUCS4

I18N.Encoders.FromUCS4: stream operation
----------------------------------------

species
     We answer a string of Characters encoded in our destination
     encoding.



File: gst-libs.info,  Node: I18N.Encoders.FromUTF7,  Next: I18N.Encoders.Iconv,  Prev: I18N.Encoders.FromUCS4,  Up: I18N

I18N.Encoders.FromUTF7
======================

Defined in namespace I18N.Encoders
Superclass: I18N.Encoders.ToUCS4
Category: i18n-Encodings

* Menu:

* I18N.Encoders.FromUTF7 class-initialization::  (class)
* I18N.Encoders.FromUTF7-converting::  (instance)


File: gst-libs.info,  Node: I18N.Encoders.FromUTF7 class-initialization,  Next: I18N.Encoders.FromUTF7-converting,  Up: I18N.Encoders.FromUTF7

I18N.Encoders.FromUTF7 class: initialization
--------------------------------------------

initialize
     Initialize the tables used by the UTF7-to-UCS4 converter



File: gst-libs.info,  Node: I18N.Encoders.FromUTF7-converting,  Prev: I18N.Encoders.FromUTF7 class-initialization,  Up: I18N.Encoders.FromUTF7

I18N.Encoders.FromUTF7: converting
----------------------------------

atEnd
     Answer whether the receiver can produce another UCS4 32-bit
     encoded integer

flush
     Flush any remaining state left in the encoder by the last character
     (this is because UTF-7 encodes 6 bits at a time, so it takes three
     characters before it can provide a single 16-bit character and up
     to six characters before it can provide a full UCS-4 character).

next
     Answer the next character that the receiver can produce.



File: gst-libs.info,  Node: I18N.Encoders.Iconv,  Next: I18N.Encoders.SplitUCS4BE,  Prev: I18N.Encoders.FromUTF7,  Up: I18N

I18N.Encoders.Iconv
===================

Defined in namespace I18N.Encoders
Superclass: I18N.Encoder
Category: i18n-Character sets
     This class is used to delegate the actual character set conversion
     to the C library's iconv function.  Most conversions use iconv as
     the only step in the conversions, sometimes the structure is
     ToUCS4+SplitUCS4xx+Iconv or Iconv+ComposeUCS4xx+FromUCS4, rarely
     Iconv is skipped altogether and only Smalltalk converters are used.

* Menu:

* I18N.Encoders.Iconv-stream operation::  (instance)


File: gst-libs.info,  Node: I18N.Encoders.Iconv-stream operation,  Up: I18N.Encoders.Iconv

I18N.Encoders.Iconv: stream operation
-------------------------------------

atEnd
     Answer whether the receiver can produce more characters

next
     Answer the next character that the receiver can produce.

species
     We answer a string of Characters encoded in our destination
     encoding.



File: gst-libs.info,  Node: I18N.Encoders.SplitUCS4BE,  Next: I18N.Encoders.SplitUCS4LE,  Prev: I18N.Encoders.Iconv,  Up: I18N

I18N.Encoders.SplitUCS4BE
=========================

Defined in namespace I18N.Encoders
Superclass: I18N.Encoders.FromUCS4
Category: i18n-Character sets
     This class is used internally to split into four 8-bit characters
     the 32-bit UCS4 integers coming from a descendent of ToUCS4, when
     the destination encoding is big-endian.

* Menu:

* I18N.Encoders.SplitUCS4BE-stream operation::  (instance)


File: gst-libs.info,  Node: I18N.Encoders.SplitUCS4BE-stream operation,  Up: I18N.Encoders.SplitUCS4BE

I18N.Encoders.SplitUCS4BE: stream operation
-------------------------------------------

atEnd
     Answer whether the receiver can produce more characters

flush
     Flush any remaining bytes in the last 32-bit character read from
     the input

next
     Answer an 8-bit Character obtained by converting each 32-bit
     Integer found in the origin to the four bytes that make it up, and
     ordering them from the most significant to the least significant.



File: gst-libs.info,  Node: I18N.Encoders.SplitUCS4LE,  Next: I18N.Encoders.ToUCS4,  Prev: I18N.Encoders.SplitUCS4BE,  Up: I18N

I18N.Encoders.SplitUCS4LE
=========================

Defined in namespace I18N.Encoders
Superclass: I18N.Encoders.FromUCS4
Category: i18n-Character sets
     This class is used internally to split into four 8-bit characters
     the 32-bit UCS4 integers coming from a descendent of ToUCS4, when
     the destination encoding is little-endian.

* Menu:

* I18N.Encoders.SplitUCS4LE-stream operation::  (instance)


File: gst-libs.info,  Node: I18N.Encoders.SplitUCS4LE-stream operation,  Up: I18N.Encoders.SplitUCS4LE

I18N.Encoders.SplitUCS4LE: stream operation
-------------------------------------------

atEnd
     Answer whether the receiver can produce more characters

flush
     Flush any remaining bytes in the last 32-bit character read from
     the input

next
     Answer an 8-bit Character obtained by converting each 32-bit
     Integer found in the origin to the four bytes that make it up, and
     ordering them from the least significant to the most significant.



File: gst-libs.info,  Node: I18N.Encoders.ToUCS4,  Next: I18N.Encoders.ToUTF7,  Prev: I18N.Encoders.SplitUCS4LE,  Up: I18N

I18N.Encoders.ToUCS4
====================

Defined in namespace I18N.Encoders
Superclass: I18N.Encoder
Category: i18n-Character sets
     This class is a superclass for classes that convert from bytes
     (encoded as Characters) to UCS4 characters (encoded as 32-bit
     Integers to simplify the code and to avoid endianness conversions).

* Menu:

* I18N.Encoders.ToUCS4-stream operation::  (instance)


File: gst-libs.info,  Node: I18N.Encoders.ToUCS4-stream operation,  Up: I18N.Encoders.ToUCS4

I18N.Encoders.ToUCS4: stream operation
--------------------------------------

species
     We answer a WordArray of UCS4 characters encoded as a series of
     32-bit Integers.



File: gst-libs.info,  Node: I18N.Encoders.ToUTF7,  Next: I18N.FileStreamSegment,  Prev: I18N.Encoders.ToUCS4,  Up: I18N

I18N.Encoders.ToUTF7
====================

Defined in namespace I18N.Encoders
Superclass: I18N.Encoders.FromUCS4
Category: i18n-Encodings
     This class implements a converter that transliterates UTF-7
     encoded characters to UCS4 values (encoded as 32-bit Integers).

* Menu:

* I18N.Encoders.ToUTF7 class-initialization::  (class)
* I18N.Encoders.ToUTF7-conversion::  (instance)


File: gst-libs.info,  Node: I18N.Encoders.ToUTF7 class-initialization,  Next: I18N.Encoders.ToUTF7-conversion,  Up: I18N.Encoders.ToUTF7

I18N.Encoders.ToUTF7 class: initialization
------------------------------------------

initialize
     Initialize the tables used by the UCS4-to-UTF7 converter



File: gst-libs.info,  Node: I18N.Encoders.ToUTF7-conversion,  Prev: I18N.Encoders.ToUTF7 class-initialization,  Up: I18N.Encoders.ToUTF7

I18N.Encoders.ToUTF7: conversion
--------------------------------

atEnd
     Answer whether the receiver can produce more characters

flush
     Flush any remaining bytes in the last 32-bit character read from
     the input

next
     Answer the next character that the receiver can produce.



File: gst-libs.info,  Node: I18N.FileStreamSegment,  Next: I18N.IncompleteSequenceError,  Prev: I18N.Encoders.ToUTF7,  Up: I18N

I18N.FileStreamSegment
======================

Defined in namespace I18N
Superclass: FileSegment
Category: i18n-Messages
     Unlike FileSegment, this object assumes that the `file' instance
     variable is a FileStream, not a file name.

* Menu:

* I18N.FileStreamSegment-basic::  (instance)


File: gst-libs.info,  Node: I18N.FileStreamSegment-basic,  Up: I18N.FileStreamSegment

I18N.FileStreamSegment: basic
-----------------------------

fileName
     Answer the name of the file containing the segment

withFileDo: aBlock
     Evaluate aBlock, passing a FileStream corresponding to the file



File: gst-libs.info,  Node: I18N.IncompleteSequenceError,  Next: I18N.InvalidCharsetError,  Prev: I18N.FileStreamSegment,  Up: I18N

I18N.IncompleteSequenceError
============================

Defined in namespace I18N
Superclass: Error
Category: i18n-Character sets
     I am raised if an invalid sequence is found while converting a
     string from a charset to another.  In particular, I am raised if
     the input stream ends abruptly in the middle of a multi-byte
     sequence.

* Menu:

* I18N.IncompleteSequenceError-accessing::  (instance)


File: gst-libs.info,  Node: I18N.IncompleteSequenceError-accessing,  Up: I18N.IncompleteSequenceError

I18N.IncompleteSequenceError: accessing
---------------------------------------

description
     Answer a textual description of the exception.



File: gst-libs.info,  Node: I18N.InvalidCharsetError,  Next: I18N.InvalidSequenceError,  Prev: I18N.IncompleteSequenceError,  Up: I18N

I18N.InvalidCharsetError
========================

Defined in namespace I18N
Superclass: SystemExceptions.InvalidArgument
Category: i18n-Character sets
     I am raised if the user tries to encode from or to an unknown
     encoding

* Menu:

* I18N.InvalidCharsetError-accessing::  (instance)


File: gst-libs.info,  Node: I18N.InvalidCharsetError-accessing,  Up: I18N.InvalidCharsetError

I18N.InvalidCharsetError: accessing
-----------------------------------

description
     Answer a textual description of the exception.



File: gst-libs.info,  Node: I18N.InvalidSequenceError,  Next: I18N.LcMessages,  Prev: I18N.InvalidCharsetError,  Up: I18N

I18N.InvalidSequenceError
=========================

Defined in namespace I18N
Superclass: Error
Category: i18n-Character sets
     I am raised if an invalid sequence is found while converting a
     string from a charset to another

* Menu:

* I18N.InvalidSequenceError-accessing::  (instance)


File: gst-libs.info,  Node: I18N.InvalidSequenceError-accessing,  Up: I18N.InvalidSequenceError

I18N.InvalidSequenceError: accessing
------------------------------------

description
     Answer a textual description of the exception.



File: gst-libs.info,  Node: I18N.LcMessages,  Next: I18N.LcMessagesCatalog,  Prev: I18N.InvalidSequenceError,  Up: I18N

I18N.LcMessages
===============

Defined in namespace I18N
Superclass: I18N.LocaleConventions
Category: i18n-Messages
     This object is a factory of LcMessagesDomain objects

* Menu:

* I18N.LcMessages class-accessing::  (class)
* I18N.LcMessages-accessing::  (instance)
* I18N.LcMessages-opening MO files::  (instance)


File: gst-libs.info,  Node: I18N.LcMessages class-accessing,  Next: I18N.LcMessages-accessing,  Up: I18N.LcMessages

I18N.LcMessages class: accessing
--------------------------------

category
     Answer the environment variable used to determine the default
     locale

selector
     Answer the selector that accesses the receiver when sent to a
     Locale object.



File: gst-libs.info,  Node: I18N.LcMessages-accessing,  Next: I18N.LcMessages-opening MO files,  Prev: I18N.LcMessages class-accessing,  Up: I18N.LcMessages

I18N.LcMessages: accessing
--------------------------

languageDirectory
     Answer the directory holding MO files for the language

languageDirectory: rootDirectory
     Answer the directory holding MO files for the language, given the
     root directory of the locale data.

territoryDirectory
     Answer the directory holding MO files for the language, specific to
     the territory

territoryDirectory: rootDirectory
     Answer the directory holding MO files for the language, specific to
     the territory, given the root directory of the locale data.



File: gst-libs.info,  Node: I18N.LcMessages-opening MO files,  Prev: I18N.LcMessages-accessing,  Up: I18N.LcMessages

I18N.LcMessages: opening MO files
---------------------------------

? aString
     Answer an object for the aString domain, querying both the
     language catalog (e.g. pt) and the territory catalog (e.g. pt_BR
     or pt_PT).

domain: aString
     Answer an object for the aString domain, querying both the
     language catalog (e.g. pt) and the territory catalog (e.g. pt_BR
     or pt_PT).

domain: aString localeDirectory: rootDirectory
     Answer an object for the aString domain, querying both the
     language catalog (e.g. pt) and the territory catalog (e.g. pt_BR
     or pt_PT). The localeDirectory is usually
     '<installprefix>/share/locale'.



File: gst-libs.info,  Node: I18N.LcMessagesCatalog,  Next: I18N.LcMessagesDomain,  Prev: I18N.LcMessages,  Up: I18N

I18N.LcMessagesCatalog
======================

Defined in namespace I18N
Superclass: I18N.LcMessagesDomain
Category: i18n-Messages
     This object is an abstract superclass of objects that retrieve
     translated strings from a file.

* Menu:


File: gst-libs.info,  Node: I18N.LcMessagesDomain,  Next: I18N.LcMessagesDummyDomain,  Prev: I18N.LcMessagesCatalog,  Up: I18N

I18N.LcMessagesDomain
=====================

Defined in namespace I18N
Superclass: I18N.LocaleData
Category: i18n-Messages
     This object is an abstract superclass for message domains
     (catalogs).  It contains methods to create instances of its
     subclasses, but they are commonly used only by LcMessages.

     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)

* Menu:

* I18N.LcMessagesDomain class-opening MO files::  (class)
* I18N.LcMessagesDomain-handling the cache::  (instance)
* I18N.LcMessagesDomain-querying::  (instance)


File: gst-libs.info,  Node: I18N.LcMessagesDomain class-opening MO files,  Next: I18N.LcMessagesDomain-handling the cache,  Up: I18N.LcMessagesDomain

I18N.LcMessagesDomain class: opening MO files
---------------------------------------------

id: anArray on: aFileName
     Create an instance of the receiver with a given locale identifier
     from a path to the MO file



File: gst-libs.info,  Node: I18N.LcMessagesDomain-handling the cache,  Next: I18N.LcMessagesDomain-querying,  Prev: I18N.LcMessagesDomain class-opening MO files,  Up: I18N.LcMessagesDomain

I18N.LcMessagesDomain: handling the cache
-----------------------------------------

flush
     Flush the receiver's cache of translations

shouldCache
     Answer whether translations should be cached.  Never override this
     method to always answer false, because that would cause bugs when
     transliteration is being used.



File: gst-libs.info,  Node: I18N.LcMessagesDomain-querying,  Prev: I18N.LcMessagesDomain-handling the cache,  Up: I18N.LcMessagesDomain

I18N.LcMessagesDomain: querying
-------------------------------

? aString
     Answer the translation of `aString', or answer aString itself if
     none is available.

at: aString
     Answer the translation of `aString', or answer aString itself if
     none is available.

at: singularString plural: pluralString with: n
     Answer either the translation of pluralString with `%1' replaced by
     n if n ~= 1, or the translation of singularString if n = 1.

at: aString put: anotherString
     This method should not be called for instances of this class.

translatorInformation
     Answer information on the translation, or nil if there is none.
     This information is stored as the `translation' of an empty string.

translatorInformationAt: key
     Answer information on the translation associated to a given key

translatorInformationAt: key at: subkey
     Answer information on the translation associated to a given key
     and to a subkey of the key



File: gst-libs.info,  Node: I18N.LcMessagesDummyDomain,  Next: I18N.LcMessagesMoFileVersion0,  Prev: I18N.LcMessagesDomain,  Up: I18N

I18N.LcMessagesDummyDomain
==========================

Defined in namespace I18N
Superclass: I18N.LcMessagesDomain
Category: i18n-Messages
     This object does no attempt to translate strings, returning
     instead the same string passed as an argument to #?.

* Menu:


File: gst-libs.info,  Node: I18N.LcMessagesMoFileVersion0,  Next: I18N.LcMessagesTerritoryDomain,  Prev: I18N.LcMessagesDummyDomain,  Up: I18N

I18N.LcMessagesMoFileVersion0
=============================

Defined in namespace I18N
Superclass: I18N.LcMessagesCatalog
Category: i18n-Messages
     This object is an concrete class that retrieves translated strings
     from a GNU gettext MO file.  The class method
     #fileFormatDescription contains an explanation of the file format.

* Menu:

* I18N.LcMessagesMoFileVersion0 class-documentation::  (class)
* I18N.LcMessagesMoFileVersion0 class-plurals::  (class)
* I18N.LcMessagesMoFileVersion0-flushing the cache::  (instance)


File: gst-libs.info,  Node: I18N.LcMessagesMoFileVersion0 class-documentation,  Next: I18N.LcMessagesMoFileVersion0 class-plurals,  Up: I18N.LcMessagesMoFileVersion0

I18N.LcMessagesMoFileVersion0 class: documentation
--------------------------------------------------

fileFormatDescription
     The Format of GNU MO Files (excerpt of the GNU gettext manual)
     ============================================================== 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'.



File: gst-libs.info,  Node: I18N.LcMessagesMoFileVersion0 class-plurals,  Next: I18N.LcMessagesMoFileVersion0-flushing the cache,  Prev: I18N.LcMessagesMoFileVersion0 class-documentation,  Up: I18N.LcMessagesMoFileVersion0

I18N.LcMessagesMoFileVersion0 class: plurals
--------------------------------------------

initialize
     Initialize a table with the expressions computing the plurals for
     the most common languages

pluralExpressionFor: locale ifAbsent: aBlock
     Answer a RunTimeExpression yielding the plural form for the given
     language and territory, if one is known, else evaluate aBlock and
     answer it.



File: gst-libs.info,  Node: I18N.LcMessagesMoFileVersion0-flushing the cache,  Prev: I18N.LcMessagesMoFileVersion0 class-plurals,  Up: I18N.LcMessagesMoFileVersion0

I18N.LcMessagesMoFileVersion0: flushing the cache
-------------------------------------------------

flush
     Flush the cache and reread the catalog's metadata.

shouldCache
     Answer true, we always cache translations if they are read from a
     file



File: gst-libs.info,  Node: I18N.LcMessagesTerritoryDomain,  Next: I18N.LcMonetary,  Prev: I18N.LcMessagesMoFileVersion0,  Up: I18N

I18N.LcMessagesTerritoryDomain
==============================

Defined in namespace I18N
Superclass: I18N.LcMessagesDomain
Category: i18n-Messages
     This object asks for strings to a primary domain (e.g. it_IT) and
     a secondary one (e.g. it).

* Menu:

* I18N.LcMessagesTerritoryDomain class-instance creation::  (class)


File: gst-libs.info,  Node: I18N.LcMessagesTerritoryDomain class-instance creation,  Up: I18N.LcMessagesTerritoryDomain

I18N.LcMessagesTerritoryDomain class: instance creation
-------------------------------------------------------

primary: domain1 secondary: domain2
     Answer an instance of the receiver that queries, in sequence,
     domain1 and domain2



File: gst-libs.info,  Node: I18N.LcMonetary,  Next: I18N.LcMonetaryISO,  Prev: I18N.LcMessagesTerritoryDomain,  Up: I18N

I18N.LcMonetary
===============

Defined in namespace I18N
Superclass: I18N.LcNumeric
Category: i18n-Printing
     Sending either #?, #printString: or #print:on: converts a Number to
     a String according to the rules that are mandated by ISO for
     printing currency amounts in the current locale.

* Menu:

* I18N.LcMonetary class-accessing::  (class)
* I18N.LcMonetary-printing::  (instance)


File: gst-libs.info,  Node: I18N.LcMonetary class-accessing,  Next: I18N.LcMonetary-printing,  Up: I18N.LcMonetary

I18N.LcMonetary class: accessing
--------------------------------

category
     Answer the environment variable used to determine the default
     locale

selector
     Answer the selector that accesses the receiver when sent to a
     Locale object.



File: gst-libs.info,  Node: I18N.LcMonetary-printing,  Prev: I18N.LcMonetary class-accessing,  Up: I18N.LcMonetary

I18N.LcMonetary: printing
-------------------------

print: aNumber on: aStream
     Print aNumber on aStream according to the receiver's formatting
     conventions.  Always print a currency sign and don't force to
     print negative numbers by putting parentheses around them.

print: aNumber on: aStream currency: currency parentheses: p
     Print aNumber on aStream according to the receiver's formatting
     conventions.  If currency is true, print a currency sign, and if p
     is true force to print negative numbers by putting parentheses
     around them.  If p is true, for positive numbers spaces are put
     around the number to keep them aligned.



File: gst-libs.info,  Node: I18N.LcMonetaryISO,  Next: I18N.LcNumeric,  Prev: I18N.LcMonetary,  Up: I18N

I18N.LcMonetaryISO
==================

Defined in namespace I18N
Superclass: I18N.LcMonetary
Category: i18n-Printing

* Menu:

* I18N.LcMonetaryISO class-accessing::  (class)


File: gst-libs.info,  Node: I18N.LcMonetaryISO class-accessing,  Up: I18N.LcMonetaryISO

I18N.LcMonetaryISO class: accessing
-----------------------------------

selector
     Answer the selector that accesses the receiver when sent to a
     Locale object.



File: gst-libs.info,  Node: I18N.LcNumeric,  Next: I18N.LcPrintFormats,  Prev: I18N.LcMonetaryISO,  Up: I18N

I18N.LcNumeric
==============

Defined in namespace I18N
Superclass: I18N.LcPrintFormats
Category: i18n-Printing
     Sending either #?, #printString: or #print:on: converts a Number to
     a String according to the rules that are used in the given locale.

* Menu:

* I18N.LcNumeric class-accessing::  (class)
* I18N.LcNumeric-printing::  (instance)


File: gst-libs.info,  Node: I18N.LcNumeric class-accessing,  Next: I18N.LcNumeric-printing,  Up: I18N.LcNumeric

I18N.LcNumeric class: accessing
-------------------------------

category
     Answer the environment variable used to determine the default
     locale

selector
     Answer the selector that accesses the receiver when sent to a
     Locale object.



File: gst-libs.info,  Node: I18N.LcNumeric-printing,  Prev: I18N.LcNumeric class-accessing,  Up: I18N.LcNumeric

I18N.LcNumeric: printing
------------------------

basicPrint: aNumber on: aStream
     Print aNumber on aStream according to the receiver's formatting
     conventions, without currency signs or anything like that.  This
     method must not be overridden.

print: aNumber on: aStream
     Print aNumber on aStream according to the receiver's formatting
     conventions.



File: gst-libs.info,  Node: I18N.LcPrintFormats,  Next: I18N.LcTime,  Prev: I18N.LcNumeric,  Up: I18N

I18N.LcPrintFormats
===================

Defined in namespace I18N
Superclass: I18N.LocaleConventions
Category: i18n-Messages
     LcPrintFormats subclasses have instances that understand #?,
     #printString: and #print:on: (the last of which is abstract) which
     provide a means to convert miscellaneous objects to Strings
     according to the rules that are used in the given locale.

* Menu:

* I18N.LcPrintFormats-printing::  (instance)


File: gst-libs.info,  Node: I18N.LcPrintFormats-printing,  Up: I18N.LcPrintFormats

I18N.LcPrintFormats: printing
-----------------------------

? anObject
     Answer how anObject must be printed according to the receiver's
     formatting conventions.

print: anObject on: aStream
     Print anObject on aStream according to the receiver's formatting
     conventions.

printString: anObject
     Answer how anObject must be printed according to the receiver's
     formatting conventions.



File: gst-libs.info,  Node: I18N.LcTime,  Next: I18N.Locale,  Prev: I18N.LcPrintFormats,  Up: I18N

I18N.LcTime
===========

Defined in namespace I18N
Superclass: I18N.LcPrintFormats
Category: i18n-Printing
     Sending either #?, #printString: or #print:on: converts a Date or
     Time to a String according to the rules that are used in the given
     locale.

* Menu:

* I18N.LcTime class-accessing::  (class)
* I18N.LcTime-printing::  (instance)
* I18N.LcTime-tests::  (instance)


File: gst-libs.info,  Node: I18N.LcTime class-accessing,  Next: I18N.LcTime-printing,  Up: I18N.LcTime

I18N.LcTime class: accessing
----------------------------

category
     Answer the environment variable used to determine the default
     locale

selector
     Answer the selector that accesses the receiver when sent to a
     Locale object.



File: gst-libs.info,  Node: I18N.LcTime-printing,  Next: I18N.LcTime-tests,  Prev: I18N.LcTime class-accessing,  Up: I18N.LcTime

I18N.LcTime: printing
---------------------

print: aDateOrTimeOrArray on: aStream
     Print aDateOrTimeOrArray on aStream according to the receiver's
     formatting conventions.  It can be a Date, Time, DateTime, or an
     array made of a Date and a Time

print: aDateOrTimeOrArray on: aStream ifFull: fullFmt ifDate: dateFmt ifTime: timeFmt
     Print aDateOrTimeOrArray on aStream according to the receiver's
     formatting conventions.  It can be a Date, Time, DateTime, or an
     array made of a Date and a Time: Date is printed with dateFmt and
     Time with timeFmt, while in the other cases fullFmt is used.  For
     information on the formatting codes, see #print:time:format:on:.

print: aDate time: aTime format: aString on: aStream
     Print the specified date and time on aStream according to the
     receiver's formatting conventions, using the given format.  The
     valid abbreviations are the same used by the C function strftime:
     abbreviated weekday           (%a) weekday
       (%A) abbreviated month          (%b) month
            (%B) date & time                (%c) century
                 (%C) day of the month           (%d) date (US)
              (%D) day of the month           (%e) year for the ISO
     week              (%g) year for the ISO week              (%G)
     abbreviated month          (%h) hours
     (%H) hours (AM/PM)                      (%I) day of the year
                 (%j) hours                              (%k) hours
     (AM/PM)                      (%l) month
      (%m) minutes                            (%M) AM/PM
                   (%p) lowercase AM/PM                    (%P) AM/PM
     time                 (%r) time (US)                  (%R) time_t
                              (%s) seconds
     (%S) time (US)                  (%T) day of the week
         (%u) week number starting at Sun   (%U) week number starting
     at Thu   (%V) day of the week, Sunday=0     (%w) week number
     starting at Mon   (%W) date                           (%x) time
                       (%X) year (2-digit)                     (%y)
     year (4-digit)                     (%Y).



File: gst-libs.info,  Node: I18N.LcTime-tests,  Prev: I18N.LcTime-printing,  Up: I18N.LcTime

I18N.LcTime: tests
------------------

allFormatsExample
     Answer a long string that includes all the possible formats



File: gst-libs.info,  Node: I18N.Locale,  Next: I18N.LocaleConventions,  Prev: I18N.LcTime,  Up: I18N

I18N.Locale
===========

Defined in namespace I18N
Superclass: I18N.LocaleData
Category: i18n-Messages
     This object is an abstract superclass of objects related to the
     territory and language in which the program is being used.
     Instances of it are asked about information on the current locale,
     and provide a means to be asked for things with a common idiom,
     the #? binary message.

* Menu:

* I18N.Locale class-initialization::  (class)
* I18N.Locale class-instance creation::  (class)
* I18N.Locale-subobjects::  (instance)


File: gst-libs.info,  Node: I18N.Locale class-initialization,  Next: I18N.Locale class-instance creation,  Up: I18N.Locale

I18N.Locale class: initialization
---------------------------------

rootDirectory
     Answer the directory under which locale definition files are found.

rootDirectory: aString
     Set under which directory locale definition files are found.



File: gst-libs.info,  Node: I18N.Locale class-instance creation,  Next: I18N.Locale-subobjects,  Prev: I18N.Locale class-initialization,  Up: I18N.Locale

I18N.Locale class: instance creation
------------------------------------

default
     Answer an instance of the receiver that accesses the default
     locale.

flush
     Flush the information on locales that are not valid across an
     image save/load.

fromString: aString
     Answer an instance of the receiver that accesses the given locale
     (in the form language[_territory][.charset]).

posix
     Answer an instance of the receiver that accesses the POSIX locale.



File: gst-libs.info,  Node: I18N.Locale-subobjects,  Prev: I18N.Locale class-instance creation,  Up: I18N.Locale

I18N.Locale: subobjects
-----------------------

messages
     Answer the LcMessages object for the locale represented by the
     receiver.

monetary
     Answer the LcMonetary object for the locale represented by the
     receiver.

monetaryIso
     Answer the LcMonetaryISO object for the locale represented by the
     receiver.

numeric
     Answer the LcNumeric object for the locale represented by the
     receiver.

time
     Answer the LcTime object for the locale represented by the
     receiver.



File: gst-libs.info,  Node: I18N.LocaleConventions,  Next: I18N.LocaleData,  Prev: I18N.Locale,  Up: I18N

I18N.LocaleConventions
======================

Defined in namespace I18N
Superclass: I18N.LocaleData
Category: i18n-Messages
     I am an abstract superclass of objects that are referred to by a
     Locale object.

* Menu:

* I18N.LocaleConventions class-accessing::  (class)
* I18N.LocaleConventions-accessing::  (instance)


File: gst-libs.info,  Node: I18N.LocaleConventions class-accessing,  Next: I18N.LocaleConventions-accessing,  Up: I18N.LocaleConventions

I18N.LocaleConventions class: accessing
---------------------------------------

? anObject
     Query the default object, forwarding the message to it.

default
     Answer an instance of the receiver that accesses the default
     locale.

fromString: aString
     Answer an instance of the receiver that accesses the given locale
     (in the form language[_territory][.charset]).

posix
     Answer an instance of the receiver that accesses the POSIX locale.

selector
     This method's functionality should be implemented by subclasses of
     LocaleConventions



File: gst-libs.info,  Node: I18N.LocaleConventions-accessing,  Prev: I18N.LocaleConventions class-accessing,  Up: I18N.LocaleConventions

I18N.LocaleConventions: accessing
---------------------------------

? anObject
     This method's functionality should be implemented by subclasses of
     LocaleConventions



File: gst-libs.info,  Node: I18N.LocaleData,  Next: I18N.RTEAlternativeNode,  Prev: I18N.LocaleConventions,  Up: I18N

I18N.LocaleData
===============

Defined in namespace I18N
Superclass: Object
Category: i18n-Messages
     I am an abstract superclass of objects that represent localization
     information.

* Menu:

* I18N.LocaleData class-accessing::  (class)
* I18N.LocaleData class-database::  (class)
* I18N.LocaleData-accessing::  (instance)
* I18N.LocaleData-initialization::  (instance)


File: gst-libs.info,  Node: I18N.LocaleData class-accessing,  Next: I18N.LocaleData class-database,  Up: I18N.LocaleData

I18N.LocaleData class: accessing
--------------------------------

category
     Answer `nil'.

default
     This method's functionality should be implemented by subclasses of
     LocaleData

flush
     Flush the contents of the instances of each subclass of LocaleData.

fromString: lang
     This method's functionality should be implemented by subclasses of
     LocaleData

language: lang
     Answer the local object for the given language.

language: lang territory: territory
     Answer the local object for the given language and territory.

language: lang territory: territory charset: charset
     Answer the local object for the given language, territory and
     charset.

new
     This method should not be called for instances of this class.

posix
     This method's functionality should be implemented by subclasses of
     LocaleData

update: aspect
     Flush instances of the receiver when an image is loaded.



File: gst-libs.info,  Node: I18N.LocaleData class-database,  Next: I18N.LocaleData-accessing,  Prev: I18N.LocaleData class-accessing,  Up: I18N.LocaleData

I18N.LocaleData class: database
-------------------------------

defaults
     Answer the default territory-language and language-charset
     associations.

initialize
     Initialize the receiver's class variables.

languages
     ISO639 language codes

territories
     ISO3166 territory codes



File: gst-libs.info,  Node: I18N.LocaleData-accessing,  Next: I18N.LocaleData-initialization,  Prev: I18N.LocaleData class-database,  Up: I18N.LocaleData

I18N.LocaleData: accessing
--------------------------

charset
     Return the charset supported by the receiver.

id
     Return the identifier of the locale supported by the receiver.

isPosixLocale
     Answer whether the receiver implements the default POSIX behavior
     for a locale.

language
     Return the language supported by the receiver.

languageDirectory
     Answer the directory where data files for the current language
     reside.

languageDirectory: rootDirectory
     Answer the directory where data files for the current language
     reside, given the root directory of the locale data.

territory
     Return the territory supported by the receiver.

territoryDirectory
     Answer the directory where data files for the current language,
     specific to the territory, reside.

territoryDirectory: rootDirectory
     Answer the directory where data files for the current language,
     specific to the territory, reside, given the root directory of the
     locale data.



File: gst-libs.info,  Node: I18N.LocaleData-initialization,  Prev: I18N.LocaleData-accessing,  Up: I18N.LocaleData

I18N.LocaleData: initialization
-------------------------------

id: anArray
     Private - Set which locale the receiver contains data for

initialize: aString
     Set which locale the receiver contains data for, starting from a
     string describing the locale.



File: gst-libs.info,  Node: I18N.RTEAlternativeNode,  Next: I18N.RTEBinaryNode,  Prev: I18N.LocaleData,  Up: I18N

I18N.RTEAlternativeNode
=======================

Defined in namespace I18N
Superclass: I18N.RunTimeExpression
Category: i18n-Messages

* Menu:

* I18N.RTEAlternativeNode class-compiling::  (class)
* I18N.RTEAlternativeNode-computing::  (instance)


File: gst-libs.info,  Node: I18N.RTEAlternativeNode class-compiling,  Next: I18N.RTEAlternativeNode-computing,  Up: I18N.RTEAlternativeNode

I18N.RTEAlternativeNode class: compiling
----------------------------------------

condition: cond ifTrue: trueNode ifFalse: falseNode
     Private - Create a node in the parse tree for the run-time
     expression, mapping s to a Smalltalk arithmetic selector



File: gst-libs.info,  Node: I18N.RTEAlternativeNode-computing,  Prev: I18N.RTEAlternativeNode class-compiling,  Up: I18N.RTEAlternativeNode

I18N.RTEAlternativeNode: computing
----------------------------------

condition: condNode ifTrue: trueNode ifFalse: falseNode
     Initialize the children of the receiver and the conditional
     expression to choose between them

printOn: aStream
     Print a representation of the receiver on aStream

send: parameter
     Evaluate the receiver by conditionally choosing one of its children
     and evaluating it



File: gst-libs.info,  Node: I18N.RTEBinaryNode,  Next: I18N.RTELiteralNode,  Prev: I18N.RTEAlternativeNode,  Up: I18N

I18N.RTEBinaryNode
==================

Defined in namespace I18N
Superclass: I18N.RunTimeExpression
Category: i18n-Messages

* Menu:

* I18N.RTEBinaryNode class-compiling::  (class)
* I18N.RTEBinaryNode-compiling::  (instance)
* I18N.RTEBinaryNode-computing::  (instance)


File: gst-libs.info,  Node: I18N.RTEBinaryNode class-compiling,  Next: I18N.RTEBinaryNode-compiling,  Up: I18N.RTEBinaryNode

I18N.RTEBinaryNode class: compiling
-----------------------------------

lhs: lhs op: op rhs: rhs
     Private - Create a node in the parse tree for the run-time
     expression, mapping s to a Smalltalk arithmetic selector



File: gst-libs.info,  Node: I18N.RTEBinaryNode-compiling,  Next: I18N.RTEBinaryNode-computing,  Prev: I18N.RTEBinaryNode class-compiling,  Up: I18N.RTEBinaryNode

I18N.RTEBinaryNode: compiling
-----------------------------

lhs
     Answer `lhs'.

op
     Answer `op'.

rhs
     Answer `rhs'.



File: gst-libs.info,  Node: I18N.RTEBinaryNode-computing,  Prev: I18N.RTEBinaryNode-compiling,  Up: I18N.RTEBinaryNode

I18N.RTEBinaryNode: computing
-----------------------------

lhs: lhsNode op: aSymbol rhs: rhsNode
     Initialize the children of the receiver and the operation to be
     done between them

printOn: aStream
     Print a representation of the receiver on aStream

send: parameter
     Private - Evaluate the receiver by evaluating both children and
     performing an arithmetic operation between them.



File: gst-libs.info,  Node: I18N.RTELiteralNode,  Next: I18N.RTENegationNode,  Prev: I18N.RTEBinaryNode,  Up: I18N

I18N.RTELiteralNode
===================

Defined in namespace I18N
Superclass: I18N.RunTimeExpression
Category: i18n-Messages

* Menu:

* I18N.RTELiteralNode class-initializing::  (class)
* I18N.RTELiteralNode-computing::  (instance)


File: gst-libs.info,  Node: I18N.RTELiteralNode class-initializing,  Next: I18N.RTELiteralNode-computing,  Up: I18N.RTELiteralNode

I18N.RTELiteralNode class: initializing
---------------------------------------

parseFrom: aStream
     Parse a literal number from aStream and return a new node



File: gst-libs.info,  Node: I18N.RTELiteralNode-computing,  Prev: I18N.RTELiteralNode class-initializing,  Up: I18N.RTELiteralNode

I18N.RTELiteralNode: computing
------------------------------

n: value
     Set the value of the literal that the node represents

printOn: aStream
     Print a representation of the receiver on aStream

send: parameter
     Answer a fixed value, the literal encoded in the node



File: gst-libs.info,  Node: I18N.RTENegationNode,  Next: I18N.RTEParameterNode,  Prev: I18N.RTELiteralNode,  Up: I18N

I18N.RTENegationNode
====================

Defined in namespace I18N
Superclass: I18N.RunTimeExpression
Category: i18n-Messages

* Menu:

* I18N.RTENegationNode class-initializing::  (class)
* I18N.RTENegationNode-computing::  (instance)


File: gst-libs.info,  Node: I18N.RTENegationNode class-initializing,  Next: I18N.RTENegationNode-computing,  Up: I18N.RTENegationNode

I18N.RTENegationNode class: initializing
----------------------------------------

child: aNode
     Answer a new node representing the logical negation of aNode



File: gst-libs.info,  Node: I18N.RTENegationNode-computing,  Prev: I18N.RTENegationNode class-initializing,  Up: I18N.RTENegationNode

I18N.RTENegationNode: computing
-------------------------------

child: value
     Set the child of which the receiver will compute the negation

printOn: aStream
     Print a representation of the receiver on aStream

send: parameter
     Evaluate the receiver by computing the child's logical negation



File: gst-libs.info,  Node: I18N.RTEParameterNode,  Next: I18N.RunTimeExpression,  Prev: I18N.RTENegationNode,  Up: I18N

I18N.RTEParameterNode
=====================

Defined in namespace I18N
Superclass: I18N.RunTimeExpression
Category: i18n-Messages

* Menu:

* I18N.RTEParameterNode-computing::  (instance)


File: gst-libs.info,  Node: I18N.RTEParameterNode-computing,  Up: I18N.RTEParameterNode

I18N.RTEParameterNode: computing
--------------------------------

printOn: aStream
     Print a representation of the receiver on aStream

send: parameter
     Evaluate the receiver by answering the parameter



File: gst-libs.info,  Node: I18N.RunTimeExpression,  Prev: I18N.RTEParameterNode,  Up: I18N

I18N.RunTimeExpression
======================

Defined in namespace I18N
Superclass: Object
Category: i18n-Messages

* Menu:

* I18N.RunTimeExpression class-compiling::  (class)
* I18N.RunTimeExpression class-initializing::  (class)
* I18N.RunTimeExpression class-instance creation::  (class)
* I18N.RunTimeExpression-computing::  (instance)


File: gst-libs.info,  Node: I18N.RunTimeExpression class-compiling,  Next: I18N.RunTimeExpression class-initializing,  Up: I18N.RunTimeExpression

I18N.RunTimeExpression class: compiling
---------------------------------------

parseExpression: stream
     Private - Compile the expression in the stream

parseOperand: stream
     Parse an operand from the stream (i.e. an unary negation, a
     parenthesized subexpression, `n' or a number) and answer the
     corresponding parse node.

parseOperator: stream
     Answer a Symbol for an operator read from stream, or nil if
     something else is found.



File: gst-libs.info,  Node: I18N.RunTimeExpression class-initializing,  Next: I18N.RunTimeExpression class-instance creation,  Prev: I18N.RunTimeExpression class-compiling,  Up: I18N.RunTimeExpression

I18N.RunTimeExpression class: initializing
------------------------------------------

initialize
     Private - Initialize internal tables for the parser



File: gst-libs.info,  Node: I18N.RunTimeExpression class-instance creation,  Next: I18N.RunTimeExpression-computing,  Prev: I18N.RunTimeExpression class-initializing,  Up: I18N.RunTimeExpression

I18N.RunTimeExpression class: instance creation
-----------------------------------------------

on: aString
     Compile aString and answer a RunTimeExpression



File: gst-libs.info,  Node: I18N.RunTimeExpression-computing,  Prev: I18N.RunTimeExpression class-instance creation,  Up: I18N.RunTimeExpression

I18N.RunTimeExpression: computing
---------------------------------

send: parameter
     This method's functionality should be implemented by subclasses of
     RunTimeExpression

value: parameter
     Evaluate the receiver, and answer its value as an integer



File: gst-libs.info,  Node: XML,  Next: Class index,  Prev: I18N,  Up: Top

XML
***

_by Thomas Gagne_

* Menu:

* Building a DOM from XML::
* Building XML::
* Using DTDs::
* XSL Processing::
* Attributions::


File: gst-libs.info,  Node: Building a DOM from XML,  Next: Building XML,  Up: XML

Building a DOM from XML
=======================

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: [].


File: gst-libs.info,  Node: Building XML,  Next: Using DTDs,  Prev: Building a DOM from XML,  Up: XML

Building XML
============

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: '&amp;'))].
         ^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>


File: gst-libs.info,  Node: Using DTDs,  Next: XSL Processing,  Prev: Building XML,  Up: XML

Using DTDs
==========

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'd like to make sure the documents I build are built correctly.
     It would be great if a DTD could be attached to an empty XML
     document so that exceptions could be thrown as misplaced elements
     were added.

   * It would be great to specify which DTD the XML parser should use
     when parsing incoming XML so that the incoming XML wouldn't always
     have to include a <!DOCTYPE> tag.  Though it's fairly easy to add
     the tag at the start of XML text, it's really not that simple.
     You need to know the XML's root element before adding the
     <!DOCTYPE> tag but you really don't know that until after you've
     parsed the XML   You would have to parse the XML, determine the
     root tag, then parse the output of the first into a new XML
     document with validation turned-on.

   * Another reason to be able to create a DTD document to use with
     subsequent parsing is to avoid the overhead of parsing the same
     DTD over and over again.  In transaction processing systems this
     kind of redundant task could be eliminated and the spare CPU
     cycles put to better use.


File: gst-libs.info,  Node: XSL Processing,  Next: Attributions,  Prev: Using DTDs,  Up: XML

XSL Processing
==============

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.

   * Transforming an XML document requires you parse the XSL and XML
     documents separately first.  After that, you tell the XSL
     RuleDatabase to process the XML document.  The result is another
     XML document with the transformations.

     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:'.

   * VW's XSL library doesn't use the W3-approved stylesheet, but
     instead uses the draft version (same one Microsoft uses).
     `<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">'

   * The functions `position()' and `count()' aren't implemented, or if
     they are, aren't implemented in the way other XSL tools implement
     it.


File: gst-libs.info,  Node: Attributions,  Prev: XSL Processing,  Up: XML

Attributions
============

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.


File: gst-libs.info,  Node: Class index,  Next: Method index,  Prev: XML,  Up: Top

Class index
***********

* Menu:

* BLOX.BArc:                             BLOX.BArc.
* BLOX.BBalloon:                         BLOX.BBalloon.
* BLOX.BBoundingBox:                     BLOX.BBoundingBox.
* BLOX.BButton:                          BLOX.BButton.
* BLOX.BButtonLike:                      BLOX.BButtonLike.
* BLOX.BCanvas:                          BLOX.BCanvas.
* BLOX.BCanvasObject:                    BLOX.BCanvasObject.
* BLOX.BCheckMenuItem:                   BLOX.BCheckMenuItem.
* BLOX.BColorButton:                     BLOX.BColorButton.
* BLOX.BContainer:                       BLOX.BContainer.
* BLOX.BDialog:                          BLOX.BDialog.
* BLOX.BDropDown:                        BLOX.BDropDown.
* BLOX.BDropDownEdit:                    BLOX.BDropDownEdit.
* BLOX.BDropDownList:                    BLOX.BDropDownList.
* BLOX.BEdit:                            BLOX.BEdit.
* BLOX.BEmbeddedImage:                   BLOX.BEmbeddedImage.
* BLOX.BEmbeddedText:                    BLOX.BEmbeddedText.
* BLOX.BEventSet:                        BLOX.BEventSet.
* BLOX.BEventTarget:                     BLOX.BEventTarget.
* BLOX.BExtended:                        BLOX.BExtended.
* BLOX.BForm:                            BLOX.BForm.
* BLOX.BImage:                           BLOX.BImage.
* BLOX.BLabel:                           BLOX.BLabel.
* BLOX.BLine:                            BLOX.BLine.
* BLOX.BList:                            BLOX.BList.
* BLOX.Blox:                             BLOX.Blox.
* BLOX.BMenu:                            BLOX.BMenu.
* BLOX.BMenuBar:                         BLOX.BMenuBar.
* BLOX.BMenuItem:                        BLOX.BMenuItem.
* BLOX.BMenuObject:                      BLOX.BMenuObject.
* BLOX.BOval:                            BLOX.BOval.
* BLOX.BPolyline:                        BLOX.BPolyline.
* BLOX.BPopupMenu:                       BLOX.BPopupMenu.
* BLOX.BPopupWindow:                     BLOX.BPopupWindow.
* BLOX.BPrimitive:                       BLOX.BPrimitive.
* BLOX.BProgress:                        BLOX.BProgress.
* BLOX.BRadioButton:                     BLOX.BRadioButton.
* BLOX.BRadioGroup:                      BLOX.BRadioGroup.
* BLOX.BRectangle:                       BLOX.BRectangle.
* BLOX.BScrolledCanvas:                  BLOX.BScrolledCanvas.
* BLOX.BSpline:                          BLOX.BSpline.
* BLOX.BText:                            BLOX.BText.
* BLOX.BTextAttributes:                  BLOX.BTextAttributes.
* BLOX.BTextBindings:                    BLOX.BTextBindings.
* BLOX.BTextTags:                        BLOX.BTextTags.
* BLOX.BToggle:                          BLOX.BToggle.
* BLOX.BTransientWindow:                 BLOX.BTransientWindow.
* BLOX.BViewport:                        BLOX.BViewport.
* BLOX.BWidget:                          BLOX.BWidget.
* BLOX.BWindow:                          BLOX.BWindow.
* BLOX.Gui:                              BLOX.Gui.
* I18N.BigEndianFileStream:              I18N.BigEndianFileStream.
* I18N.EncodedStream:                    I18N.EncodedStream.
* I18N.Encoder:                          I18N.Encoder.
* I18N.Encoders.ComposeUCS4BE:           I18N.Encoders.ComposeUCS4BE.
* I18N.Encoders.ComposeUCS4LE:           I18N.Encoders.ComposeUCS4LE.
* I18N.Encoders.FromUCS4:                I18N.Encoders.FromUCS4.
* I18N.Encoders.FromUTF7:                I18N.Encoders.FromUTF7.
* I18N.Encoders.Iconv:                   I18N.Encoders.Iconv.
* I18N.Encoders.SplitUCS4BE:             I18N.Encoders.SplitUCS4BE.
* I18N.Encoders.SplitUCS4LE:             I18N.Encoders.SplitUCS4LE.
* I18N.Encoders.ToUCS4:                  I18N.Encoders.ToUCS4.
* I18N.Encoders.ToUTF7:                  I18N.Encoders.ToUTF7.
* I18N.FileStreamSegment:                I18N.FileStreamSegment.
* I18N.IncompleteSequenceError:          I18N.IncompleteSequenceError.
* I18N.InvalidCharsetError:              I18N.InvalidCharsetError.
* I18N.InvalidSequenceError:             I18N.InvalidSequenceError.
* I18N.LcMessages:                       I18N.LcMessages.
* I18N.LcMessagesCatalog:                I18N.LcMessagesCatalog.
* I18N.LcMessagesDomain:                 I18N.LcMessagesDomain.
* I18N.LcMessagesDummyDomain:            I18N.LcMessagesDummyDomain.
* I18N.LcMessagesMoFileVersion0:         I18N.LcMessagesMoFileVersion0.
* I18N.LcMessagesTerritoryDomain:        I18N.LcMessagesTerritoryDomain.
* I18N.LcMonetary:                       I18N.LcMonetary.
* I18N.LcMonetaryISO:                    I18N.LcMonetaryISO.
* I18N.LcNumeric:                        I18N.LcNumeric.
* I18N.LcPrintFormats:                   I18N.LcPrintFormats.
* I18N.LcTime:                           I18N.LcTime.
* I18N.Locale:                           I18N.Locale.
* I18N.LocaleConventions:                I18N.LocaleConventions.
* I18N.LocaleData:                       I18N.LocaleData.
* I18N.RTEAlternativeNode:               I18N.RTEAlternativeNode.
* I18N.RTEBinaryNode:                    I18N.RTEBinaryNode.
* I18N.RTELiteralNode:                   I18N.RTELiteralNode.
* I18N.RTENegationNode:                  I18N.RTENegationNode.
* I18N.RTEParameterNode:                 I18N.RTEParameterNode.
* I18N.RunTimeExpression:                I18N.RunTimeExpression.
* TCP.AbstractSocket:                    TCP.AbstractSocket.
* TCP.AbstractSocketImpl:                TCP.AbstractSocketImpl.
* TCP.Datagram:                          TCP.Datagram.
* TCP.DatagramSocket:                    TCP.DatagramSocket.
* TCP.DatagramSocketImpl:                TCP.DatagramSocketImpl.
* TCP.ICMPSocketImpl:                    TCP.ICMPSocketImpl.
* TCP.IPAddress:                         TCP.IPAddress.
* TCP.MulticastSocket:                   TCP.MulticastSocket.
* TCP.MulticastSocketImpl:               TCP.MulticastSocketImpl.
* TCP.OOBSocketImpl:                     TCP.OOBSocketImpl.
* TCP.RawSocketImpl:                     TCP.RawSocketImpl.
* TCP.ReadBuffer:                        TCP.ReadBuffer.
* TCP.ServerSocket:                      TCP.ServerSocket.
* TCP.Socket:                            TCP.Socket.
* TCP.SocketAddress:                     TCP.SocketAddress.
* TCP.SocketImpl:                        TCP.SocketImpl.
* TCP.TCPSocketImpl:                     TCP.TCPSocketImpl.
* TCP.UDPSocketImpl:                     TCP.UDPSocketImpl.
* TCP.WriteBuffer:                       TCP.WriteBuffer.


File: gst-libs.info,  Node: Method index,  Next: Cross-reference,  Prev: Class index,  Up: Top

Method index
************

* Menu:

* =:                                     TCP.SocketAddress-accessing.
* ? <1>:                                 I18N.LocaleConventions-accessing.
* ? <2>:                                 I18N.LcMessagesDomain-querying.
* ? <3>:                                 I18N.LcMessages-opening MO files.
* ? <4>:                                 I18N.LcPrintFormats-printing.
* ?:                                     I18N.LocaleConventions class-accessing.
* accept:                                TCP.ServerSocket-accessing.
* accept_ <1>:                           TCP.ServerSocket-accessing.
* accept_:                               TCP.AbstractSocketImpl-socket operations.
* activate:                              BLOX.BWidget-widget protocol.
* activateNext:                          BLOX.BWidget-widget protocol.
* activatePrevious:                      BLOX.BWidget-widget protocol.
* active:                                BLOX.Blox class-utility.
* activeBackground:                      BLOX.BMenuObject-accessing.
* activeBackground_:                     BLOX.BMenuObject-accessing.
* activeForeground:                      BLOX.BMenuObject-accessing.
* activeForeground_:                     BLOX.BMenuObject-accessing.
* add_:                                  BLOX.BMenuBar-accessing.
* add_afterIndex_ <1>:                   BLOX.BDropDown-list box accessing.
* add_afterIndex_:                       BLOX.BList-accessing.
* add_element_afterIndex_ <1>:           BLOX.BList-accessing.
* add_element_afterIndex_:               BLOX.BDropDown-list box accessing.
* addButton_receiver_index_:             BLOX.BDialog-accessing.
* addButton_receiver_message_:           BLOX.BDialog-accessing.
* addButton_receiver_message_argument_:  BLOX.BDialog-accessing.
* addChild_ <1>:                         BLOX.BCanvas-geometry management.
* addChild_ <2>:                         BLOX.BWidget-customization.
* addChild_ <3>:                         BLOX.Blox-customization.
* addChild_:                             BLOX.BPopupWindow-geometry management.
* addEventSet_:                          BLOX.BEventTarget-intercepting events.
* addLast_ <1>:                          BLOX.BList-accessing.
* addLast_:                              BLOX.BDropDown-list box accessing.
* addLast_element_ <1>:                  BLOX.BDropDown-list box accessing.
* addLast_element_:                      BLOX.BList-accessing.
* addLine:                               BLOX.BMenu-callback registration.
* addMenuItemFor_notifying_:             BLOX.BMenu-callback registration.
* address <1>:                           TCP.Datagram-accessing.
* address <2>:                           TCP.ServerSocket-accessing.
* address <3>:                           TCP.DatagramSocket-accessing.
* address <4>:                           TCP.Socket-accessing.
* address:                               TCP.AbstractSocket-accessing.
* address_:                              TCP.Datagram-accessing.
* addressClass <1>:                      TCP.AbstractSocketImpl class-abstract.
* addressClass <2>:                      TCP.ICMPSocketImpl class-implementation.
* addressClass <3>:                      TCP.IPAddress-accessing.
* addressClass <4>:                      TCP.OOBSocketImpl class-implementation.
* addressClass <5>:                      TCP.AbstractSocketImpl-socket operations.
* addressClass <6>:                      TCP.UDPSocketImpl class-implementation.
* addressClass:                          TCP.TCPSocketImpl class-implementation.
* addressFamily:                         TCP.SocketAddress class-accessing.
* addressSize:                           TCP.IPAddress class-constants.
* alignment:                             BLOX.BLabel-accessing.
* alignment_:                            BLOX.BLabel-accessing.
* allByName_:                            TCP.SocketAddress class-host name lookup.
* allFormatsExample:                     I18N.LcTime-tests.
* anyLocalAddress:                       TCP.SocketAddress class-accessing.
* asByteArray <1>:                       TCP.SocketAddress-accessing.
* asByteArray:                           TCP.IPAddress-accessing.
* asPrimitiveWidget <1>:                 BLOX.BMenuObject-accessing.
* asPrimitiveWidget <2>:                 BLOX.Blox-widget protocol.
* asPrimitiveWidget <3>:                 BLOX.BPrimitive-accessing.
* asPrimitiveWidget:                     BLOX.BExtended-accessing.
* associationAt_ <1>:                    BLOX.BList-accessing.
* associationAt_:                        BLOX.BDropDown-list box accessing.
* at_ <1>:                               BLOX.Blox class-utility.
* at_ <2>:                               BLOX.BDropDown-list box accessing.
* at_ <3>:                               BLOX.BCanvas-widget protocol.
* at_ <4>:                               I18N.LcMessagesDomain-querying.
* at_:                                   BLOX.BList-accessing.
* at_cache_:                             TCP.SocketAddress class-accessing.
* at_plural_with_:                       I18N.LcMessagesDomain-querying.
* at_put_:                               I18N.LcMessagesDomain-querying.
* atEnd <1>:                             TCP.ReadBuffer-buffer handling.
* atEnd <2>:                             I18N.Encoders.ToUTF7-conversion.
* atEnd <3>:                             I18N.Encoders.SplitUCS4LE-stream operation.
* atEnd <4>:                             I18N.Encoders.SplitUCS4BE-stream operation.
* atEnd <5>:                             I18N.Encoders.Iconv-stream operation.
* atEnd <6>:                             I18N.Encoders.FromUTF7-converting.
* atEnd <7>:                             I18N.Encoder-stream operations.
* atEnd <8>:                             TCP.AbstractSocket-stream protocol.
* atEnd:                                 TCP.Socket-stream protocol.
* atEndOfInput:                          I18N.Encoder-stream operations.
* atMouse:                               BLOX.Blox class-utility.
* available <1>:                         TCP.AbstractSocket-accessing.
* available:                             TCP.Socket-stream protocol.
* backgroundColor <1>:                   BLOX.BDropDown-accessing.
* backgroundColor <2>:                   BLOX.BTextAttributes-setting attributes.
* backgroundColor <3>:                   BLOX.BList-accessing.
* backgroundColor <4>:                   BLOX.BMenuObject-accessing.
* backgroundColor <5>:                   BLOX.BText-accessing.
* backgroundColor <6>:                   BLOX.BButton-accessing.
* backgroundColor <7>:                   BLOX.BCanvas-accessing.
* backgroundColor <8>:                   BLOX.BEdit-accessing.
* backgroundColor <9>:                   BLOX.BForm-accessing.
* backgroundColor <10>:                  BLOX.BLabel-accessing.
* backgroundColor <11>:                  BLOX.BImage-accessing.
* backgroundColor:                       BLOX.BProgress-accessing.
* backgroundColor_ <1>:                  BLOX.BTextAttributes class-instance-creation shortcuts.
* backgroundColor_ <2>:                  BLOX.BEdit-accessing.
* backgroundColor_ <3>:                  BLOX.BList-accessing.
* backgroundColor_ <4>:                  BLOX.BCanvas-accessing.
* backgroundColor_ <5>:                  BLOX.BLabel-accessing.
* backgroundColor_ <6>:                  BLOX.BTextAttributes-setting attributes.
* backgroundColor_ <7>:                  BLOX.BDropDown-accessing.
* backgroundColor_ <8>:                  BLOX.BProgress-accessing.
* backgroundColor_ <9>:                  BLOX.BImage-accessing.
* backgroundColor_ <10>:                 BLOX.BText-accessing.
* backgroundColor_ <11>:                 BLOX.BMenuObject-accessing.
* backgroundColor_ <12>:                 BLOX.BButton-accessing.
* backgroundColor_ <13>:                 BLOX.BForm-accessing.
* backgroundColor_ <14>:                 BLOX.BDropDownEdit-accessing.
* backgroundColor_:                      BLOX.BDropDownList-accessing.
* balloonDelayTime:                      BLOX.BBalloon class-accessing.
* balloonDelayTime_:                     BLOX.BBalloon class-accessing.
* basicAddChild_:                        BLOX.Blox-customization.
* basicPrint_on_:                        I18N.LcNumeric-printing.
* beep:                                  BLOX.Blox class-utility.
* between_and_do_:                       BLOX.BCanvas-widget protocol.
* bindTo_port_:                          TCP.AbstractSocketImpl-socket operations.
* black <1>:                             BLOX.BTextAttributes-colors.
* black:                                 BLOX.BTextAttributes class-instance-creation shortcuts.
* blank:                                 BLOX.BImage-image management.
* blox <1>:                              BLOX.Gui-accessing.
* blox:                                  BLOX.BCanvasObject-accessing.
* blox_:                                 BLOX.Gui-accessing.
* blue <1>:                              BLOX.BTextAttributes-colors.
* blue:                                  BLOX.BTextAttributes class-instance-creation shortcuts.
* borderWidth:                           BLOX.BWidget-accessing.
* borderWidth_:                          BLOX.BWidget-accessing.
* boundingBox <1>:                       BLOX.BCanvas-widget protocol.
* boundingBox <2>:                       BLOX.BBoundingBox-accessing.
* boundingBox <3>:                       BLOX.BWidget-geometry management.
* boundingBox <4>:                       BLOX.BPolyline-accessing.
* boundingBox:                           BLOX.BCanvasObject-accessing.
* boundingBox_:                          BLOX.BWidget-geometry management.
* bringToTop:                            BLOX.BWidget-widget protocol.
* bufferContents <1>:                    TCP.ReadBuffer-buffer handling.
* bufferContents:                        TCP.Socket-stream protocol.
* bufferSize <1>:                        TCP.DatagramSocket-accessing.
* bufferSize:                            TCP.DatagramSocketImpl-accessing.
* bufferSize_ <1>:                       TCP.DatagramSocketImpl-accessing.
* bufferSize_:                           TCP.DatagramSocket-accessing.
* byName_:                               TCP.SocketAddress class-host name lookup.
* callback <1>:                          BLOX.BMenuObject-callback.
* callback <2>:                          BLOX.BEdit-accessing.
* callback <3>:                          BLOX.BButtonLike-accessing.
* callback <4>:                          BLOX.BButton-accessing.
* callback <5>:                          BLOX.BWindow-accessing.
* callback <6>:                          BLOX.BList-widget protocol.
* callback <7>:                          BLOX.BDropDown-callbacks.
* callback:                              BLOX.BText-accessing.
* callback_message_ <1>:                 BLOX.BList-widget protocol.
* callback_message_ <2>:                 BLOX.BToggle-accessing.
* callback_message_ <3>:                 BLOX.BDropDown-callbacks.
* callback_message_ <4>:                 BLOX.BMenuObject-callback.
* callback_message_ <5>:                 BLOX.BDropDownList-callbacks.
* callback_message_ <6>:                 BLOX.BEdit-accessing.
* callback_message_ <7>:                 BLOX.BWindow-accessing.
* callback_message_ <8>:                 BLOX.BText-accessing.
* callback_message_ <9>:                 BLOX.BRadioButton-accessing.
* callback_message_ <10>:                BLOX.BButtonLike-accessing.
* callback_message_:                     BLOX.BButton-accessing.
* callback_message_argument_:            BLOX.BMenuObject-callback.
* callback_using_:                       BLOX.BMenu-callback registration.
* canRead:                               TCP.OOBSocketImpl-implementation.
* cap <1>:                               BLOX.BPolyline-accessing.
* cap:                                   BLOX.BLine-accessing.
* cap_ <1>:                              BLOX.BLine-accessing.
* cap_:                                  BLOX.BPolyline-accessing.
* category <1>:                          I18N.LcNumeric class-accessing.
* category <2>:                          I18N.LcMessages class-accessing.
* category <3>:                          I18N.LcTime class-accessing.
* category <4>:                          I18N.LcMonetary class-accessing.
* category:                              I18N.LocaleData class-accessing.
* center <1>:                            BLOX.BDialog-widget protocol.
* center <2>:                            BLOX.BWindow-widget protocol.
* center <3>:                            BLOX.BBoundingBox-accessing.
* center <4>:                            BLOX.BTextAttributes-setting attributes.
* center:                                BLOX.BTextAttributes class-instance-creation shortcuts.
* center_extent_:                        BLOX.BBoundingBox-accessing.
* centerIn_ <1>:                         BLOX.BWindow-widget protocol.
* centerIn_:                             BLOX.BDialog-widget protocol.
* charset:                               I18N.LocaleData-accessing.
* charsInLine_:                          BLOX.BText-position & lines.
* checkPeriod:                           TCP.AbstractSocket class-timed-out operations.
* checkPeriod_:                          TCP.AbstractSocket class-timed-out operations.
* child_ <1>:                            I18N.RTENegationNode class-initializing.
* child_:                                I18N.RTENegationNode-computing.
* child_height_ <1>:                     BLOX.BPopupWindow-geometry management.
* child_height_ <2>:                     BLOX.BText-geometry management.
* child_height_ <3>:                     BLOX.BWidget-geometry management.
* child_height_:                         BLOX.BCanvas-geometry management.
* child_heightOffset_ <1>:               BLOX.BPopupWindow-geometry management.
* child_heightOffset_ <2>:               BLOX.BText-geometry management.
* child_heightOffset_ <3>:               BLOX.BWidget-geometry management.
* child_heightOffset_:                   BLOX.BCanvas-geometry management.
* child_stretch_:                        BLOX.BWidget-geometry management.
* child_width_ <1>:                      BLOX.BWidget-geometry management.
* child_width_ <2>:                      BLOX.BText-geometry management.
* child_width_ <3>:                      BLOX.BCanvas-geometry management.
* child_width_:                          BLOX.BPopupWindow-geometry management.
* child_widthOffset_ <1>:                BLOX.BWidget-geometry management.
* child_widthOffset_ <2>:                BLOX.BCanvas-geometry management.
* child_widthOffset_ <3>:                BLOX.BPopupWindow-geometry management.
* child_widthOffset_:                    BLOX.BText-geometry management.
* child_x_ <1>:                          BLOX.BPopupWindow-geometry management.
* child_x_ <2>:                          BLOX.BText-geometry management.
* child_x_ <3>:                          BLOX.BCanvas-geometry management.
* child_x_:                              BLOX.BWidget-geometry management.
* child_xOffset_ <1>:                    BLOX.BWidget-geometry management.
* child_xOffset_ <2>:                    BLOX.BCanvas-geometry management.
* child_xOffset_ <3>:                    BLOX.BText-geometry management.
* child_xOffset_:                        BLOX.BPopupWindow-geometry management.
* child_y_ <1>:                          BLOX.BWidget-geometry management.
* child_y_ <2>:                          BLOX.BText-geometry management.
* child_y_ <3>:                          BLOX.BPopupWindow-geometry management.
* child_y_:                              BLOX.BCanvas-geometry management.
* child_yOffset_ <1>:                    BLOX.BWidget-geometry management.
* child_yOffset_ <2>:                    BLOX.BText-geometry management.
* child_yOffset_ <3>:                    BLOX.BPopupWindow-geometry management.
* child_yOffset_:                        BLOX.BCanvas-geometry management.
* childrenCount:                         BLOX.Blox-widget protocol.
* childrenDo_:                           BLOX.Blox-widget protocol.
* chooseColor_label_default_:            BLOX.BDialog class-prompters.
* chooseFileToOpen_label_default_defaultExtension_types_: BLOX.BDialog class-prompters.
* chooseFileToSave_label_default_defaultExtension_types_: BLOX.BDialog class-prompters.
* clearClipboard:                        BLOX.Blox class-utility.
* clipboard:                             BLOX.Blox class-utility.
* clipboard_:                            BLOX.Blox class-utility.
* close <1>:                             TCP.AbstractSocket-accessing.
* close:                                 TCP.Socket-stream protocol.
* closed:                                BLOX.BPolyline-accessing.
* closed_:                               BLOX.BPolyline-accessing.
* color <1>:                             BLOX.BColorButton-accessing.
* color:                                 BLOX.BCanvasObject-accessing.
* color_ <1>:                            BLOX.BColorButton-accessing.
* color_:                                BLOX.BCanvasObject-accessing.
* condition_ifTrue_ifFalse_ <1>:         I18N.RTEAlternativeNode class-compiling.
* condition_ifTrue_ifFalse_:             I18N.RTEAlternativeNode-computing.
* connected:                             BLOX.BViewport-accessing.
* connectTo_port_ <1>:                   TCP.AbstractSocketImpl-accessing.
* connectTo_port_:                       TCP.SocketImpl-socket operations.
* contents <1>:                          BLOX.BText-accessing.
* contents <2>:                          BLOX.BDialog-accessing.
* contents:                              BLOX.BEdit-accessing.
* contents_ <1>:                         BLOX.BText-accessing.
* contents_ <2>:                         BLOX.BList-accessing.
* contents_ <3>:                         BLOX.BDropDown-list box accessing.
* contents_ <4>:                         BLOX.BEdit-accessing.
* contents_:                             BLOX.BDialog-accessing.
* contents_elements_ <1>:                BLOX.BDropDown-list box accessing.
* contents_elements_:                    BLOX.BList-accessing.
* copyInto_ <1>:                         BLOX.BEmbeddedImage-accessing.
* copyInto_:                             BLOX.BCanvasObject-accessing.
* copyObject:                            BLOX.BCanvasObject-accessing.
* corner:                                BLOX.BBoundingBox-accessing.
* corner_:                               BLOX.BBoundingBox-accessing.
* create <1>:                            BLOX.BCanvasObject-widget protocol.
* create <2>:                            BLOX.BExtended-customization.
* create:                                BLOX.BWidget-customization.
* createColor_green_blue_:               BLOX.Blox class-utility.
* createColor_magenta_yellow_:           BLOX.Blox class-utility.
* createColor_magenta_yellow_black_:     BLOX.Blox class-utility.
* createColor_saturation_value_:         BLOX.Blox class-utility.
* createCopy:                            BLOX.BCanvasObject-accessing.
* createCopyInto_:                       BLOX.BCanvasObject-accessing.
* created:                               BLOX.BCanvasObject-widget protocol.
* createList:                            BLOX.BDropDown-flexibility.
* createLocalAddress <1>:                TCP.SocketAddress class-initialization.
* createLocalAddress:                    TCP.IPAddress class-initialization.
* createLoopbackHost <1>:                TCP.IPAddress class-initialization.
* createLoopbackHost:                    TCP.SocketAddress class-initialization.
* createTextWidget:                      BLOX.BDropDown-flexibility.
* createUnknownAddress <1>:              TCP.IPAddress class-initialization.
* createUnknownAddress:                  TCP.SocketAddress class-initialization.
* currentColumn:                         BLOX.BText-position & lines.
* currentLine:                           BLOX.BText-position & lines.
* currentPosition:                       BLOX.BText-position & lines.
* currentPosition_:                      BLOX.BText-position & lines.
* cursor:                                BLOX.BWidget-accessing.
* cursor_:                               BLOX.BWidget-accessing.
* cyan <1>:                              BLOX.BTextAttributes class-instance-creation shortcuts.
* cyan:                                  BLOX.BTextAttributes-colors.
* darkCyan <1>:                          BLOX.BTextAttributes class-instance-creation shortcuts.
* darkCyan:                              BLOX.BTextAttributes-colors.
* darkGreen <1>:                         BLOX.BTextAttributes-colors.
* darkGreen:                             BLOX.BTextAttributes class-instance-creation shortcuts.
* darkMagenta <1>:                       BLOX.BTextAttributes-colors.
* darkMagenta:                           BLOX.BTextAttributes class-instance-creation shortcuts.
* data <1>:                              BLOX.BEmbeddedImage-accessing.
* data:                                  TCP.Datagram-accessing.
* data_ <1>:                             BLOX.BEmbeddedImage-accessing.
* data_ <2>:                             TCP.Datagram class-instance creation.
* data_ <3>:                             BLOX.BImage-image management.
* data_:                                 TCP.Datagram-accessing.
* data_address_port_:                    TCP.Datagram class-instance creation.
* deepCopy <1>:                          BLOX.BCanvasObject-accessing.
* deepCopy:                              BLOX.Blox-basic.
* default <1>:                           I18N.LocaleConventions class-accessing.
* default <2>:                           I18N.LocaleData class-accessing.
* default:                               I18N.Locale class-instance creation.
* defaultAddressClass:                   TCP.AbstractSocket class-defaults.
* defaultAddressClass_:                  TCP.AbstractSocket class-defaults.
* defaultBufferSize:                     TCP.DatagramSocket class-accessing.
* defaultBufferSize_:                    TCP.DatagramSocket class-accessing.
* defaultDatagramSocketImplClass:        TCP.SocketAddress class-accessing.
* defaultDatagramSocketImplClass_:       TCP.SocketAddress class-accessing.
* defaultHeight:                         BLOX.BForm-accessing.
* defaultHeight_:                        BLOX.BForm-accessing.
* defaultImplementationClass <1>:        TCP.Socket class-accessing.
* defaultImplementationClass <2>:        TCP.AbstractSocket class-defaults.
* defaultImplementationClass:            TCP.DatagramSocket class-accessing.
* defaultPortAt_:                        TCP.Socket class-well known ports.
* defaultPortAt_ifAbsent_:               TCP.Socket class-well known ports.
* defaultPortAt_put_:                    TCP.Socket class-well known ports.
* defaultQueueSize:                      TCP.ServerSocket class-instance creation.
* defaultRawSocketImplClass:             TCP.SocketAddress class-accessing.
* defaultRawSocketImplClass_:            TCP.SocketAddress class-accessing.
* defaults:                              I18N.LocaleData class-database.
* defaultStreamSocketImplClass:          TCP.SocketAddress class-accessing.
* defaultStreamSocketImplClass_:         TCP.SocketAddress class-accessing.
* defaultWidth:                          BLOX.BForm-accessing.
* defaultWidth_:                         BLOX.BForm-accessing.
* description <1>:                       I18N.InvalidSequenceError-accessing.
* description <2>:                       I18N.InvalidCharsetError-accessing.
* description:                           I18N.IncompleteSequenceError-accessing.
* destroy <1>:                           BLOX.Blox-widget protocol.
* destroy:                               BLOX.BMenu-callback registration.
* destroyed <1>:                         BLOX.BRadioGroup-widget protocol.
* destroyed <2>:                         BLOX.BCanvas-widget protocol.
* destroyed <3>:                         BLOX.BDialog-widget protocol.
* destroyed <4>:                         BLOX.BEdit-widget protocol.
* destroyed:                             BLOX.BImage-widget protocol.
* directory:                             BLOX.BImage class-small icons.
* dispatchEvents:                        BLOX.Blox class-event dispatching.
* dispatchEvents_:                       BLOX.Blox class-event dispatching.
* displayHeight:                         BLOX.BImage-accessing.
* displayHeight_:                        BLOX.BImage-accessing.
* displayWidth:                          BLOX.BImage-accessing.
* displayWidth_:                         BLOX.BImage-accessing.
* dither:                                BLOX.BImage-image management.
* do_ <1>:                               BLOX.BDropDown-list box accessing.
* do_ <2>:                               BLOX.BList-accessing.
* do_:                                   BLOX.BCanvas-widget protocol.
* domain_:                               I18N.LcMessages-opening MO files.
* domain_localeDirectory_:               I18N.LcMessages-opening MO files.
* downArrow:                             BLOX.BImage class-arrows.
* drawingArea:                           BLOX.Blox-widget protocol.
* dropdown:                              BLOX.BDropDown-widget protocol.
* droppedRows:                           BLOX.BDropDown-accessing.
* droppedRows_:                          BLOX.BDropDown-accessing.
* dropRectangle:                         BLOX.BDropDown-widget protocol.
* effect:                                BLOX.BWidget-accessing.
* effect_:                               BLOX.BWidget-accessing.
* elements:                              BLOX.BList-accessing.
* elements_ <1>:                         BLOX.BDropDown-list box accessing.
* elements_:                             BLOX.BList-accessing.
* emacsLike:                             BLOX.BText class-accessing.
* emacsLike_:                            BLOX.BText class-accessing.
* empty <1>:                             BLOX.BMenu-callback registration.
* empty:                                 BLOX.BCanvas-widget protocol.
* enabled:                               BLOX.Blox-widget protocol.
* enabled_:                              BLOX.Blox-widget protocol.
* endAngle:                              BLOX.BArc-accessing.
* endAngle_:                             BLOX.BArc-accessing.
* ensureReadable <1>:                    TCP.AbstractSocketImpl-asynchronous operations.
* ensureReadable:                        TCP.OOBSocketImpl-implementation.
* ensureWriteable:                       TCP.AbstractSocketImpl-asynchronous operations.
* events:                                BLOX.BTextAttributes-setting attributes.
* events_ <1>:                           BLOX.BTextAttributes class-instance-creation shortcuts.
* events_:                               BLOX.BTextAttributes-setting attributes.
* exclaim:                               BLOX.BImage class-icons.
* exists:                                BLOX.Blox-widget protocol.
* extent <1>:                            BLOX.BWidget-geometry management.
* extent:                                BLOX.BBoundingBox-accessing.
* extent_ <1>:                           BLOX.BWidget-geometry management.
* extent_:                               BLOX.BBoundingBox-accessing.
* extraSpace:                            BLOX.BCanvas-widget protocol.
* extraSpace_:                           BLOX.BCanvas-widget protocol.
* file:                                  BLOX.BImage class-small icons.
* fileFormatDescription:                 I18N.LcMessagesMoFileVersion0 class-documentation.
* fileName:                              I18N.FileStreamSegment-basic.
* fileOp_:                               TCP.AbstractSocketImpl-socket operations.
* fileOp_ifFail_:                        TCP.AbstractSocketImpl-socket operations.
* fileOp_with_:                          TCP.AbstractSocketImpl-socket operations.
* fileOp_with_ifFail_:                   TCP.AbstractSocketImpl-socket operations.
* fileOp_with_with_:                     TCP.AbstractSocketImpl-socket operations.
* fileOp_with_with_ifFail_:              TCP.AbstractSocketImpl-socket operations.
* fileOp_with_with_with_:                TCP.AbstractSocketImpl-socket operations.
* fileOp_with_with_with_ifFail_:         TCP.AbstractSocketImpl-socket operations.
* fill <1>:                              TCP.ReadBuffer-buffer handling.
* fill:                                  TCP.Socket-stream protocol.
* fillBlock_:                            TCP.ReadBuffer-buffer handling.
* fillChord:                             BLOX.BArc-accessing.
* filledColor:                           BLOX.BProgress-accessing.
* filledColor_:                          BLOX.BProgress-accessing.
* fillFrom_extent_color_:                BLOX.BImage-image management.
* fillFrom_to_color_:                    BLOX.BImage-image management.
* fillRectangle_color_:                  BLOX.BImage-image management.
* fillSlice:                             BLOX.BArc-accessing.
* flush <1>:                             TCP.WriteBuffer-buffer handling.
* flush <2>:                             I18N.Encoders.FromUTF7-converting.
* flush <3>:                             I18N.LocaleData class-accessing.
* flush <4>:                             I18N.LcMessagesMoFileVersion0-flushing the cache.
* flush <5>:                             TCP.SocketAddress class-initialization.
* flush <6>:                             TCP.AbstractSocket-accessing.
* flush <7>:                             TCP.Socket-stream protocol.
* flush <8>:                             I18N.LcMessagesDomain-handling the cache.
* flush <9>:                             I18N.Locale class-instance creation.
* flush <10>:                            I18N.Encoders.ToUTF7-conversion.
* flush <11>:                            I18N.Encoders.SplitUCS4LE-stream operation.
* flush:                                 I18N.Encoders.SplitUCS4BE-stream operation.
* flushBlock_:                           TCP.WriteBuffer-buffer handling.
* font <1>:                              BLOX.BEdit-accessing.
* font <2>:                              BLOX.BLabel-accessing.
* font <3>:                              BLOX.BText-accessing.
* font <4>:                              BLOX.BList-accessing.
* font <5>:                              BLOX.BEmbeddedText-accessing.
* font <6>:                              BLOX.BDropDown-accessing.
* font <7>:                              BLOX.BTextAttributes-setting attributes.
* font:                                  BLOX.BButton-accessing.
* font_ <1>:                             BLOX.BDropDownList-accessing.
* font_ <2>:                             BLOX.BEmbeddedText-accessing.
* font_ <3>:                             BLOX.BList-accessing.
* font_ <4>:                             BLOX.BTextAttributes class-instance-creation shortcuts.
* font_ <5>:                             BLOX.BTextAttributes-setting attributes.
* font_ <6>:                             BLOX.BButton-accessing.
* font_ <7>:                             BLOX.BDropDown-accessing.
* font_ <8>:                             BLOX.BDropDownEdit-accessing.
* font_ <9>:                             BLOX.BLabel-accessing.
* font_ <10>:                            BLOX.BEdit-accessing.
* font_:                                 BLOX.BText-accessing.
* fontHeight_:                           BLOX.Blox-widget protocol.
* fonts:                                 BLOX.Blox class-utility.
* fontWidth_:                            BLOX.Blox-widget protocol.
* foregroundColor <1>:                   BLOX.BButton-accessing.
* foregroundColor <2>:                   BLOX.BDropDown-accessing.
* foregroundColor <3>:                   BLOX.BMenuObject-accessing.
* foregroundColor <4>:                   BLOX.BEdit-accessing.
* foregroundColor <5>:                   BLOX.BProgress-accessing.
* foregroundColor <6>:                   BLOX.BTextAttributes-setting attributes.
* foregroundColor <7>:                   BLOX.BText-accessing.
* foregroundColor <8>:                   BLOX.BLabel-accessing.
* foregroundColor <9>:                   BLOX.BCanvas-accessing.
* foregroundColor <10>:                  BLOX.BImage-accessing.
* foregroundColor:                       BLOX.BList-accessing.
* foregroundColor_ <1>:                  BLOX.BText-accessing.
* foregroundColor_ <2>:                  BLOX.BDropDownList-accessing.
* foregroundColor_ <3>:                  BLOX.BDropDownEdit-accessing.
* foregroundColor_ <4>:                  BLOX.BImage-accessing.
* foregroundColor_ <5>:                  BLOX.BCanvas-accessing.
* foregroundColor_ <6>:                  BLOX.BList-accessing.
* foregroundColor_ <7>:                  BLOX.BButton-accessing.
* foregroundColor_ <8>:                  BLOX.BProgress-accessing.
* foregroundColor_ <9>:                  BLOX.BTextAttributes class-instance-creation shortcuts.
* foregroundColor_ <10>:                 BLOX.BDropDown-accessing.
* foregroundColor_ <11>:                 BLOX.BMenuObject-accessing.
* foregroundColor_ <12>:                 BLOX.BEdit-accessing.
* foregroundColor_ <13>:                 BLOX.BLabel-accessing.
* foregroundColor_:                      BLOX.BTextAttributes-setting attributes.
* from:                                  BLOX.BArc-accessing.
* from_:                                 BLOX.BArc-accessing.
* from_to_:                              BLOX.BArc-accessing.
* fromArray_:                            TCP.IPAddress class-instance creation.
* fromBytes_:                            TCP.IPAddress class-instance creation.
* fromSockAddr_port_ <1>:                TCP.IPAddress class-instance creation.
* fromSockAddr_port_:                    TCP.SocketAddress class-abstract.
* fromString_ <1>:                       I18N.LocaleData class-accessing.
* fromString_ <2>:                       TCP.IPAddress class-instance creation.
* fromString_ <3>:                       I18N.LocaleConventions class-accessing.
* fromString_:                           I18N.Locale class-instance creation.
* gamma:                                 BLOX.BImage-accessing.
* gamma_:                                BLOX.BImage-accessing.
* get:                                   TCP.Datagram-accessing.
* getPeerName:                           TCP.SocketImpl-socket operations.
* getSelection:                          BLOX.BText-accessing.
* getSockName:                           TCP.AbstractSocketImpl-socket operations.
* getThrough_:                           TCP.Datagram-accessing.
* gnu:                                   BLOX.BImage class-GNU.
* gotoLine_end_:                         BLOX.BText-position & lines.
* grayOut:                               BLOX.BCanvasObject-accessing.
* green <1>:                             BLOX.BTextAttributes class-instance-creation shortcuts.
* green:                                 BLOX.BTextAttributes-colors.
* hash:                                  TCP.SocketAddress-accessing.
* hasSelection:                          BLOX.BEdit-widget protocol.
* height <1>:                            BLOX.BWindow-widget protocol.
* height:                                BLOX.BWidget-geometry management.
* height_ <1>:                           BLOX.BWidget-geometry management.
* height_:                               BLOX.BWindow-widget protocol.
* heightAbsolute <1>:                    BLOX.BWindow-widget protocol.
* heightAbsolute:                        BLOX.BWidget-geometry management.
* heightChild_ <1>:                      BLOX.BText-geometry management.
* heightChild_ <2>:                      BLOX.BCanvas-geometry management.
* heightChild_ <3>:                      BLOX.BWidget-geometry management.
* heightChild_:                          BLOX.BPopupWindow-geometry management.
* heightOffset:                          BLOX.BWidget-geometry management.
* heightOffset_ <1>:                     BLOX.BWindow-widget protocol.
* heightOffset_:                         BLOX.BWidget-geometry management.
* heightPixels_:                         BLOX.BWidget-geometry management.
* highlight_:                            BLOX.BList-widget protocol.
* highlightBackground <1>:               BLOX.BList-accessing.
* highlightBackground:                   BLOX.BDropDown-accessing.
* highlightBackground_ <1>:              BLOX.BDropDownList-accessing.
* highlightBackground_ <2>:              BLOX.BDropDown-accessing.
* highlightBackground_ <3>:              BLOX.BDropDownEdit-accessing.
* highlightBackground_:                  BLOX.BList-accessing.
* highlightForeground <1>:               BLOX.BDropDown-accessing.
* highlightForeground:                   BLOX.BList-accessing.
* highlightForeground_ <1>:              BLOX.BDropDownEdit-accessing.
* highlightForeground_ <2>:              BLOX.BDropDownList-accessing.
* highlightForeground_ <3>:              BLOX.BList-accessing.
* highlightForeground_:                  BLOX.BDropDown-accessing.
* horizontal:                            BLOX.BViewport-scrollbars.
* horizontal_:                           BLOX.BViewport-scrollbars.
* horizontalNeeded:                      BLOX.BViewport-scrollbars.
* horizontalShown:                       BLOX.BViewport-scrollbars.
* host:                                  TCP.IPAddress-accessing.
* iconify:                               BLOX.BWindow-widget protocol.
* id:                                    I18N.LocaleData-accessing.
* id_:                                   I18N.LocaleData-initialization.
* id_on_:                                I18N.LcMessagesDomain class-opening MO files.
* image_:                                BLOX.BImage-image management.
* imageHeight:                           BLOX.BImage-image management.
* imageWidth:                            BLOX.BImage-image management.
* index <1>:                             BLOX.BDropDownList-list box accessing.
* index:                                 BLOX.BList-accessing.
* index_:                                BLOX.BDropDown-list box accessing.
* indexAt_ <1>:                          BLOX.BText-position & lines.
* indexAt_:                              BLOX.BList-accessing.
* info:                                  BLOX.BImage class-icons.
* initialize <1>:                        I18N.RunTimeExpression class-initializing.
* initialize <2>:                        I18N.Encoders.ToUTF7 class-initialization.
* initialize <3>:                        TCP.DatagramSocket class-initialization.
* initialize <4>:                        I18N.LocaleData class-database.
* initialize <5>:                        I18N.LcMessagesMoFileVersion0 class-plurals.
* initialize <6>:                        I18N.EncodedStream class-initializing.
* initialize <7>:                        TCP.Socket class-well known ports.
* initialize <8>:                        TCP.IPAddress class-initialization.
* initialize <9>:                        I18N.Encoders.FromUTF7 class-initialization.
* initialize:                            BLOX.BLabel class-initialization.
* initialize_ <1>:                       BLOX.BEventSet-initializing.
* initialize_ <2>:                       BLOX.BBalloon-initializing.
* initialize_ <3>:                       BLOX.BWidget-customization.
* initialize_:                           I18N.LocaleData-initialization.
* insertAtEnd_ <1>:                      BLOX.BEdit-widget protocol.
* insertAtEnd_ <2>:                      BLOX.BDropDownEdit-text accessing.
* insertAtEnd_:                          BLOX.BText-inserting text.
* insertAtEnd_attribute_:                BLOX.BText-attributes.
* insertImage_:                          BLOX.BText-images.
* insertImage_at_:                       BLOX.BText-images.
* insertImageAtEnd_:                     BLOX.BText-images.
* insertSelectedText_:                   BLOX.BText-inserting text.
* insertText_ <1>:                       BLOX.BEdit-widget protocol.
* insertText_:                           BLOX.BText-inserting text.
* insertText_at_:                        BLOX.BText-inserting text.
* insertText_attribute_:                 BLOX.BText-attributes.
* insertTextSelection_:                  BLOX.BText-inserting text.
* inset_:                                BLOX.BWidget-geometry management.
* interface:                             TCP.MulticastSocket-instance creation.
* interface_:                            TCP.MulticastSocket-instance creation.
* invokeCallback <1>:                    BLOX.BButton-accessing.
* invokeCallback <2>:                    BLOX.BEdit-widget protocol.
* invokeCallback <3>:                    BLOX.BMenuObject-callback.
* invokeCallback <4>:                    BLOX.BButtonLike-accessing.
* invokeCallback <5>:                    BLOX.BWindow-accessing.
* invokeCallback <6>:                    BLOX.BToggle-accessing.
* invokeCallback <7>:                    BLOX.BDropDownList-callbacks.
* invokeCallback <8>:                    BLOX.BList-widget protocol.
* invokeCallback <9>:                    BLOX.BCheckMenuItem-accessing.
* invokeCallback <10>:                   BLOX.BDropDown-callbacks.
* invokeCallback:                        BLOX.BText-inserting text.
* invokeCallback_:                       BLOX.BDialog-widget protocol.
* ipMulticastIf <1>:                     TCP.UDPSocketImpl-multicasting.
* ipMulticastIf:                         TCP.MulticastSocketImpl-multicasting.
* ipMulticastIf_ <1>:                    TCP.UDPSocketImpl-multicasting.
* ipMulticastIf_:                        TCP.MulticastSocketImpl-multicasting.
* isActive:                              BLOX.BWidget-widget protocol.
* isCentered:                            BLOX.BTextAttributes-setting attributes.
* isDigitAddress_:                       TCP.SocketAddress class-accessing.
* isDropdownVisible:                     BLOX.BDropDown-widget protocol.
* isEmpty:                               TCP.ReadBuffer-buffer handling.
* isExternalStream:                      TCP.AbstractSocket-testing.
* isFull:                                TCP.ReadBuffer-buffer handling.
* isMapped:                              BLOX.BWindow-widget protocol.
* isMulticast:                           TCP.IPAddress-accessing.
* isOpen:                                TCP.AbstractSocket-accessing.
* isPeerAlive:                           TCP.Socket-stream protocol.
* isPosixLocale:                         I18N.LocaleData-accessing.
* isSelected_:                           BLOX.BList-accessing.
* isStruckout:                           BLOX.BTextAttributes-setting attributes.
* isUnderlined:                          BLOX.BTextAttributes-setting attributes.
* isWindow <1>:                          BLOX.BWindow-widget protocol.
* isWindow:                              BLOX.Blox-widget protocol.
* itemHeight:                            BLOX.BDropDown-flexibility.
* items:                                 BLOX.BCanvas-widget protocol.
* join:                                  BLOX.BPolyline-accessing.
* join_ <1>:                             TCP.MulticastSocket-instance creation.
* join_ <2>:                             BLOX.BPolyline-accessing.
* join_ <3>:                             TCP.MulticastSocketImpl-multicasting.
* join_:                                 TCP.UDPSocketImpl-multicasting.
* justify:                               BLOX.BEmbeddedText-accessing.
* justify_:                              BLOX.BEmbeddedText-accessing.
* label <1>:                             BLOX.BMenu-accessing.
* label <2>:                             BLOX.BButton-accessing.
* label <3>:                             BLOX.BLabel-accessing.
* label <4>:                             BLOX.BWindow-accessing.
* label:                                 BLOX.BMenuItem-accessing.
* label_ <1>:                            BLOX.BMenu-accessing.
* label_ <2>:                            BLOX.BLabel-accessing.
* label_ <3>:                            BLOX.BButton-accessing.
* label_ <4>:                            BLOX.BWindow-accessing.
* label_:                                BLOX.BMenuItem-accessing.
* labelAt_ <1>:                          BLOX.BList-accessing.
* labelAt_:                              BLOX.BDropDown-list box accessing.
* labels:                                BLOX.BList-accessing.
* labelsDo_ <1>:                         BLOX.BList-accessing.
* labelsDo_:                             BLOX.BDropDown-list box accessing.
* language:                              I18N.LocaleData-accessing.
* language_:                             I18N.LocaleData class-accessing.
* language_territory_:                   I18N.LocaleData class-accessing.
* language_territory_charset_:           I18N.LocaleData class-accessing.
* languageDirectory <1>:                 I18N.LocaleData-accessing.
* languageDirectory:                     I18N.LcMessages-accessing.
* languageDirectory_ <1>:                I18N.LcMessages-accessing.
* languageDirectory_:                    I18N.LocaleData-accessing.
* languages:                             I18N.LocaleData class-database.
* leave_ <1>:                            TCP.MulticastSocket-instance creation.
* leave_ <2>:                            TCP.MulticastSocketImpl-multicasting.
* leave_:                                TCP.UDPSocketImpl-multicasting.
* left_top_right_bottom_:                BLOX.BWidget-geometry management.
* leftArrow:                             BLOX.BImage class-arrows.
* lhs:                                   I18N.RTEBinaryNode-compiling.
* lhs_op_rhs_ <1>:                       I18N.RTEBinaryNode-computing.
* lhs_op_rhs_:                           I18N.RTEBinaryNode class-compiling.
* lineAt_:                               BLOX.BText-position & lines.
* lineFrom_extent_color_:                BLOX.BImage-image management.
* lineFrom_to_color_:                    BLOX.BImage-image management.
* lineFrom_toX_color_:                   BLOX.BImage-image management.
* lineFrom_toY_color_:                   BLOX.BImage-image management.
* lineInside_color_:                     BLOX.BImage-image management.
* listCallback:                          BLOX.BDropDown-flexibility.
* listen_:                               TCP.AbstractSocketImpl-socket operations.
* listSelectAt_:                         BLOX.BDropDown-flexibility.
* listText:                              BLOX.BDropDown-flexibility.
* local_port_:                           TCP.DatagramSocket class-instance creation.
* localAddress <1>:                      TCP.AbstractSocket-accessing.
* localAddress:                          TCP.AbstractSocketImpl-accessing.
* localHostName:                         TCP.SocketAddress class-accessing.
* localPort <1>:                         TCP.AbstractSocket-accessing.
* localPort:                             TCP.AbstractSocketImpl-accessing.
* loop:                                  BLOX.BDialog-widget protocol.
* loopbackHost:                          TCP.SocketAddress class-accessing.
* loopbackTest:                          TCP.Socket class-tests.
* loopbackTest_:                         TCP.Socket class-tests.
* lower:                                 BLOX.BCanvasObject-widget protocol.
* magenta <1>:                           BLOX.BTextAttributes class-instance-creation shortcuts.
* magenta:                               BLOX.BTextAttributes-colors.
* make_:                                 BLOX.Blox-creating children.
* make_on_:                              BLOX.Blox-creating children.
* makeChild_on_:                         BLOX.Blox-creating children.
* map <1>:                               BLOX.BWindow-widget protocol.
* map:                                   BLOX.BTransientWindow-widget protocol.
* mapPoint_:                             BLOX.BCanvas-widget protocol.
* menu_:                                 BLOX.BWindow-accessing.
* messages:                              I18N.Locale-subobjects.
* microTest:                             TCP.Socket class-tests.
* modalMap:                              BLOX.BWindow-widget protocol.
* mode:                                  BLOX.BList-accessing.
* mode_:                                 BLOX.BList-accessing.
* monetary:                              I18N.Locale-subobjects.
* monetaryIso:                           I18N.Locale-subobjects.
* mousePointer:                          BLOX.Blox class-utility.
* moveBy_:                               BLOX.BBoundingBox-accessing.
* n_:                                    I18N.RTELiteralNode-computing.
* name:                                  TCP.SocketAddress-accessing.
* network:                               TCP.IPAddress-accessing.
* new <1>:                               BLOX.BTransientWindow class-instance creation.
* new <2>:                               TCP.AbstractSocketImpl class-socket creation.
* new <3>:                               BLOX.Blox class-instance creation.
* new <4>:                               BLOX.BCanvasObject class-instance creation.
* new <5>:                               BLOX.BTextBindings class-instance creation.
* new <6>:                               I18N.LocaleData class-accessing.
* new <7>:                               BLOX.BWidget class-popups.
* new <8>:                               BLOX.BWindow class-instance creation.
* new <9>:                               TCP.DatagramSocket class-instance creation.
* new <10>:                              TCP.IPAddress class-instance creation.
* new <11>:                              BLOX.BEventSet class-initializing.
* new:                                   TCP.AbstractSocket class-instance creation.
* new_ <1>:                              BLOX.BCanvasObject class-instance creation.
* new_ <2>:                              BLOX.BWindow class-instance creation.
* new_ <3>:                              BLOX.BDialog class-instance creation.
* new_ <4>:                              BLOX.BTransientWindow class-instance creation.
* new_ <5>:                              BLOX.BCheckMenuItem class-instance creation.
* new_ <6>:                              TCP.AbstractSocket class-instance creation.
* new_ <7>:                              BLOX.Blox class-instance creation.
* new_ <8>:                              BLOX.BMenuItem class-instance creation.
* new_:                                  BLOX.BEventSet class-initializing.
* new_contents_:                         BLOX.BEdit class-instance creation.
* new_data_:                             BLOX.BImage class-instance creation.
* new_image_:                            BLOX.BImage class-instance creation.
* new_in_:                               BLOX.BTransientWindow class-instance creation.
* new_label_ <1>:                        BLOX.BDialog class-instance creation.
* new_label_ <2>:                        BLOX.BButton class-instance creation.
* new_label_ <3>:                        BLOX.BLabel class-instance creation.
* new_label_ <4>:                        BLOX.BMenuItem class-instance creation.
* new_label_:                            BLOX.BMenu class-instance creation.
* new_label_prompt_:                     BLOX.BDialog class-instance creation.
* new_size_:                             BLOX.BImage class-instance creation.
* newPrimitive:                          BLOX.BExtended-customization.
* newRawSocket:                          TCP.SocketAddress class-initialization.
* newReadOnly_:                          BLOX.BText class-instance creation.
* next <1>:                              I18N.Encoders.SplitUCS4LE-stream operation.
* next <2>:                              I18N.Encoders.FromUTF7-converting.
* next <3>:                              I18N.Encoders.ToUTF7-conversion.
* next <4>:                              TCP.DatagramSocketImpl-socket operations.
* next <5>:                              TCP.AbstractSocket-stream protocol.
* next <6>:                              I18N.Encoders.ComposeUCS4LE-stream operation.
* next <7>:                              I18N.Encoder-stream operations.
* next <8>:                              I18N.Encoders.ComposeUCS4BE-stream operation.
* next <9>:                              TCP.Socket-stream protocol.
* next <10>:                             I18N.Encoders.SplitUCS4BE-stream operation.
* next <11>:                             I18N.Encoders.Iconv-stream operation.
* next:                                  TCP.DatagramSocket-accessing.
* next_:                                 TCP.Socket-stream protocol.
* nextFrom_port_:                        TCP.DatagramSocket-direct operations.
* nextHunk:                              TCP.Socket-stream protocol.
* nextInput:                             I18N.Encoder-stream operations.
* nextPut_ <1>:                          TCP.DatagramSocket-accessing.
* nextPut_ <2>:                          TCP.Socket-stream protocol.
* nextPut_ <3>:                          BLOX.BEdit-widget protocol.
* nextPut_ <4>:                          BLOX.BText-inserting text.
* nextPut_ <5>:                          TCP.AbstractSocket-stream protocol.
* nextPut_:                              TCP.DatagramSocketImpl-socket operations.
* nextPut_timeToLive_:                   TCP.MulticastSocket-instance creation.
* nextPutAll_ <1>:                       BLOX.BText-inserting text.
* nextPutAll_ <2>:                       BLOX.BEdit-widget protocol.
* nextPutAll_:                           TCP.Socket-stream protocol.
* nl <1>:                                BLOX.BEdit-widget protocol.
* nl:                                    BLOX.BText-inserting text.
* notEmpty:                              TCP.ReadBuffer-buffer handling.
* numberOfLines:                         BLOX.BText-position & lines.
* numberOfStrings <1>:                   BLOX.BDropDown-list box accessing.
* numberOfStrings:                       BLOX.BList-accessing.
* numeric:                               I18N.Locale-subobjects.
* object_address_port_:                  TCP.Datagram class-instance creation.
* object_objectDumper_address_port_:     TCP.Datagram class-instance creation.
* on_ <1>:                               I18N.RunTimeExpression class-instance creation.
* on_:                                   TCP.ReadBuffer class-instance creation.
* on_from_:                              I18N.EncodedStream class-instance creation.
* on_from_to_ <1>:                       I18N.Encoder class-instance creation.
* on_from_to_:                           I18N.EncodedStream class-instance creation.
* on_to_:                                I18N.EncodedStream class-instance creation.
* onAsciiKeyEventSend_to_:               BLOX.BEventTarget-intercepting events.
* onDestroySend_to_:                     BLOX.BEventTarget-intercepting events.
* onFocusEnterEventSend_to_:             BLOX.BEventTarget-intercepting events.
* onFocusLeaveEventSend_to_:             BLOX.BEventTarget-intercepting events.
* onKeyEvent_send_to_:                   BLOX.BEventTarget-intercepting events.
* onKeyEventSend_to_:                    BLOX.BEventTarget-intercepting events.
* onKeyUpEventSend_to_:                  BLOX.BEventTarget-intercepting events.
* onMouseDoubleEvent_send_to_:           BLOX.BEventTarget-intercepting events.
* onMouseDoubleEventSend_to_:            BLOX.BEventTarget-intercepting events.
* onMouseDownEvent_send_to_:             BLOX.BEventTarget-intercepting events.
* onMouseDownEventSend_to_:              BLOX.BEventTarget-intercepting events.
* onMouseEnterEventSend_to_:             BLOX.BEventTarget-intercepting events.
* onMouseLeaveEventSend_to_:             BLOX.BEventTarget-intercepting events.
* onMouseMoveEvent_send_to_:             BLOX.BEventTarget-intercepting events.
* onMouseMoveEventSend_to_:              BLOX.BEventTarget-intercepting events.
* onMouseTripleEvent_send_to_:           BLOX.BEventTarget-intercepting events.
* onMouseTripleEventSend_to_:            BLOX.BEventTarget-intercepting events.
* onMouseUpEvent_send_to_:               BLOX.BEventTarget-intercepting events.
* onMouseUpEventSend_to_:                BLOX.BEventTarget-intercepting events.
* onResizeSend_to_:                      BLOX.BEventTarget-intercepting events.
* op:                                    I18N.RTEBinaryNode-compiling.
* optionAt_level_put_:                   TCP.AbstractSocketImpl-socket options.
* optionAt_level_size_:                  TCP.AbstractSocketImpl-socket options.
* origin:                                BLOX.BBoundingBox-accessing.
* origin_:                               BLOX.BBoundingBox-accessing.
* origin_corner_:                        BLOX.BBoundingBox-accessing.
* origin_extent_:                        BLOX.BBoundingBox-accessing.
* outlineColor <1>:                      BLOX.BPolyline-accessing.
* outlineColor:                          BLOX.BRectangle-accessing.
* outlineColor_ <1>:                     BLOX.BPolyline-accessing.
* outlineColor_:                         BLOX.BRectangle-accessing.
* outOfBand:                             TCP.Socket-out-of-band data.
* outOfBandImplClass <1>:                TCP.SocketImpl-abstract.
* outOfBandImplClass:                    TCP.TCPSocketImpl-implementation.
* parent:                                BLOX.Blox-widget protocol.
* parseExpression_:                      I18N.RunTimeExpression class-compiling.
* parseFrom_:                            I18N.RTELiteralNode class-initializing.
* parseOperand_:                         I18N.RunTimeExpression class-compiling.
* parseOperator_:                        I18N.RunTimeExpression class-compiling.
* peek <1>:                              TCP.DatagramSocket-accessing.
* peek <2>:                              TCP.Socket-stream protocol.
* peek:                                  TCP.DatagramSocketImpl-socket operations.
* peek_ <1>:                             TCP.DatagramSocketImpl-socket operations.
* peek_:                                 TCP.DatagramSocket-accessing.
* peekFor_:                              TCP.Socket-stream protocol.
* platform:                              BLOX.Blox class-utility.
* pluralExpressionFor_ifAbsent_:         I18N.LcMessagesMoFileVersion0 class-plurals.
* points:                                BLOX.BPolyline-accessing.
* points_:                               BLOX.BPolyline-accessing.
* popup:                                 BLOX.BPopupMenu-widget protocol.
* popup_ <1>:                            BLOX.BWidget class-popups.
* popup_:                                BLOX.BWindow class-instance creation.
* port <1>:                              TCP.Socket-accessing.
* port <2>:                              TCP.ServerSocket-accessing.
* port <3>:                              TCP.AbstractSocket-accessing.
* port <4>:                              TCP.DatagramSocket-accessing.
* port:                                  TCP.Datagram-accessing.
* port_ <1>:                             TCP.ServerSocket class-instance creation.
* port_ <2>:                             TCP.DatagramSocket class-instance creation.
* port_:                                 TCP.Datagram-accessing.
* port_bindTo_:                          TCP.ServerSocket class-instance creation.
* port_queueSize_:                       TCP.ServerSocket class-instance creation.
* port_queueSize_bindTo_ <1>:            TCP.ServerSocket-initializing.
* port_queueSize_bindTo_:                TCP.ServerSocket class-instance creation.
* portCmdServer:                         TCP.Socket class-well known ports.
* portDayTime:                           TCP.Socket class-well known ports.
* portDiscard:                           TCP.Socket class-well known ports.
* portDNS:                               TCP.Socket class-well known ports.
* portEcho:                              TCP.Socket class-well known ports.
* portExecServer:                        TCP.Socket class-well known ports.
* portFinger:                            TCP.Socket class-well known ports.
* portFTP:                               TCP.Socket class-well known ports.
* portGopher:                            TCP.Socket class-well known ports.
* portHTTP:                              TCP.Socket class-well known ports.
* portLoginServer:                       TCP.Socket class-well known ports.
* portNetStat:                           TCP.Socket class-well known ports.
* portNNTP:                              TCP.Socket class-well known ports.
* portPOP3:                              TCP.Socket class-well known ports.
* portReserved:                          TCP.Socket class-well known ports.
* portSMTP:                              TCP.Socket class-well known ports.
* portSSH:                               TCP.Socket class-well known ports.
* portSystat:                            TCP.Socket class-well known ports.
* portTelnet:                            TCP.Socket class-well known ports.
* portTimeServer:                        TCP.Socket class-well known ports.
* portWhois:                             TCP.Socket class-well known ports.
* pos_:                                  BLOX.BWidget-geometry management.
* posHoriz_:                             BLOX.BWidget-geometry management.
* posix <1>:                             I18N.LocaleConventions class-accessing.
* posix <2>:                             I18N.Locale class-instance creation.
* posix:                                 I18N.LocaleData class-accessing.
* posVert_:                              BLOX.BWidget-geometry management.
* pressed <1>:                           BLOX.BButtonLike-accessing.
* pressed:                               BLOX.BColorButton-accessing.
* primAccept_:                           TCP.ServerSocket-accessing.
* primary_secondary_:                    I18N.LcMessagesTerritoryDomain class-instance creation.
* primJoinLeave_option_:                 TCP.UDPSocketImpl-multicasting.
* print_on_ <1>:                         I18N.LcNumeric-printing.
* print_on_ <2>:                         I18N.LcPrintFormats-printing.
* print_on_ <3>:                         I18N.LcTime-printing.
* print_on_:                             I18N.LcMonetary-printing.
* print_on_currency_parentheses_:        I18N.LcMonetary-printing.
* print_on_ifFull_ifDate_ifTime_:        I18N.LcTime-printing.
* print_time_format_on_:                 I18N.LcTime-printing.
* printOn_ <1>:                          TCP.AbstractSocket-printing.
* printOn_ <2>:                          I18N.RTEAlternativeNode-computing.
* printOn_ <3>:                          I18N.RTEParameterNode-computing.
* printOn_ <4>:                          I18N.RTELiteralNode-computing.
* printOn_ <5>:                          I18N.RTENegationNode-computing.
* printOn_ <6>:                          I18N.RTEBinaryNode-computing.
* printOn_ <7>:                          TCP.Socket-printing.
* printOn_:                              TCP.IPAddress-printing.
* printString_:                          I18N.LcPrintFormats-printing.
* producerConsumerTest:                  TCP.Socket class-tests.
* protocol:                              TCP.AbstractSocketImpl class-abstract.
* question:                              BLOX.BImage class-icons.
* queueSize_:                            TCP.ServerSocket class-instance creation.
* queueSize_bindTo_:                     TCP.ServerSocket class-instance creation.
* raise:                                 BLOX.BCanvasObject-widget protocol.
* readBufferSize:                        TCP.Socket class-accessing.
* readBufferSize_ <1>:                   TCP.Socket class-accessing.
* readBufferSize_:                       TCP.Socket-stream protocol.
* receive_ <1>:                          TCP.DatagramSocketImpl-socket operations.
* receive_:                              TCP.DatagramSocket-accessing.
* receive_datagram_:                     TCP.DatagramSocketImpl-socket operations.
* red <1>:                               BLOX.BTextAttributes-colors.
* red:                                   BLOX.BTextAttributes class-instance-creation shortcuts.
* redraw <1>:                            BLOX.BEmbeddedImage-accessing.
* redraw <2>:                            BLOX.BEmbeddedText-accessing.
* redraw:                                BLOX.BCanvasObject-widget protocol.
* refuseTabs:                            BLOX.BText-inserting text.
* registerEncoderFor_toUCS4_fromUCS4_:   I18N.EncodedStream class-initializing.
* registerImage_:                        BLOX.BText-images.
* release:                               BLOX.Blox-basic.
* remote_port_:                          TCP.Socket class-instance creation.
* remote_port_local_port_ <1>:           TCP.Socket class-instance creation.
* remote_port_local_port_:               TCP.DatagramSocket class-instance creation.
* remoteAddress <1>:                     TCP.AbstractSocket-accessing.
* remoteAddress:                         TCP.AbstractSocketImpl-accessing.
* remotePort <1>:                        TCP.AbstractSocketImpl-accessing.
* remotePort:                            TCP.AbstractSocket-accessing.
* remove:                                BLOX.BCanvasObject-widget protocol.
* remove_:                               BLOX.BMenuBar-accessing.
* removeAtIndex_ <1>:                    BLOX.BList-accessing.
* removeAtIndex_:                        BLOX.BDropDown-list box accessing.
* removeAttributes:                      BLOX.BText-attributes.
* removeAttributesFrom_to_:              BLOX.BText-attributes.
* replaceSelection_ <1>:                 BLOX.BEdit-widget protocol.
* replaceSelection_ <2>:                 BLOX.BDropDownEdit-text accessing.
* replaceSelection_:                     BLOX.BText-inserting text.
* resizable:                             BLOX.BWindow-accessing.
* resizable_:                            BLOX.BWindow-accessing.
* rhs:                                   I18N.RTEBinaryNode-compiling.
* rightArrow:                            BLOX.BImage class-arrows.
* rootDirectory:                         I18N.Locale class-initialization.
* rootDirectory_:                        I18N.Locale class-initialization.
* screenOrigin:                          BLOX.Blox class-utility.
* screenResolution:                      BLOX.Blox class-utility.
* screenSize:                            BLOX.Blox class-utility.
* searchString_:                         BLOX.BText-inserting text.
* select_:                               BLOX.BList-widget protocol.
* selectAll <1>:                         BLOX.BDropDownEdit-text accessing.
* selectAll:                             BLOX.BEdit-widget protocol.
* selectBackground <1>:                  BLOX.BEdit-accessing.
* selectBackground:                      BLOX.BText-accessing.
* selectBackground_ <1>:                 BLOX.BText-accessing.
* selectBackground_:                     BLOX.BEdit-accessing.
* selectForeground <1>:                  BLOX.BText-accessing.
* selectForeground:                      BLOX.BEdit-accessing.
* selectForeground_ <1>:                 BLOX.BEdit-accessing.
* selectForeground_:                     BLOX.BText-accessing.
* selectFrom_to_ <1>:                    BLOX.BDropDownEdit-text accessing.
* selectFrom_to_ <2>:                    BLOX.BEdit-widget protocol.
* selectFrom_to_:                        BLOX.BText-position & lines.
* selection <1>:                         BLOX.BEdit-widget protocol.
* selection:                             BLOX.BDropDownEdit-text accessing.
* selectionRange <1>:                    BLOX.BDropDownEdit-text accessing.
* selectionRange:                        BLOX.BEdit-widget protocol.
* selector <1>:                          I18N.LocaleConventions class-accessing.
* selector <2>:                          I18N.LcTime class-accessing.
* selector <3>:                          I18N.LcMonetary class-accessing.
* selector <4>:                          I18N.LcNumeric class-accessing.
* selector <5>:                          I18N.LcMonetaryISO class-accessing.
* selector:                              I18N.LcMessages class-accessing.
* send_ <1>:                             I18N.RTENegationNode-computing.
* send_ <2>:                             I18N.RunTimeExpression-computing.
* send_ <3>:                             I18N.RTEParameterNode-computing.
* send_ <4>:                             I18N.RTEBinaryNode-computing.
* send_ <5>:                             I18N.RTELiteralNode-computing.
* send_:                                 I18N.RTEAlternativeNode-computing.
* send_to_port_:                         TCP.DatagramSocketImpl-socket operations.
* sendTest:                              TCP.Socket class-tests.
* sendTest_:                             TCP.Socket class-tests.
* sendToBack:                            BLOX.BWidget-widget protocol.
* setAttributes_from_to_:                BLOX.BText-attributes.
* setInitialSize:                        BLOX.BWidget-customization.
* setToEnd:                              BLOX.BText-position & lines.
* setVerticalLayout_:                    BLOX.BContainer-accessing.
* shallowCopy <1>:                       BLOX.BCanvasObject-accessing.
* shallowCopy:                           BLOX.Blox-basic.
* shouldCache <1>:                       I18N.LcMessagesMoFileVersion0-flushing the cache.
* shouldCache:                           I18N.LcMessagesDomain-handling the cache.
* show:                                  BLOX.BCanvasObject-widget protocol.
* show_:                                 BLOX.BList-widget protocol.
* shown <1>:                             BLOX.BBalloon-accessing.
* shown:                                 BLOX.BBalloon class-accessing.
* size <1>:                              BLOX.BDropDown-list box accessing.
* size:                                  BLOX.BList-accessing.
* smoothness:                            BLOX.BSpline-accessing.
* smoothness_:                           BLOX.BSpline-accessing.
* socketType <1>:                        TCP.SocketImpl class-parameters.
* socketType <2>:                        TCP.RawSocketImpl class-parameters.
* socketType <3>:                        TCP.AbstractSocketImpl class-abstract.
* socketType:                            TCP.DatagramSocketImpl class-parameters.
* soError:                               TCP.AbstractSocketImpl-socket options.
* soLinger <1>:                          TCP.AbstractSocket-socket options.
* soLinger:                              TCP.AbstractSocketImpl-socket options.
* soLinger_ <1>:                         TCP.AbstractSocketImpl-socket options.
* soLinger_:                             TCP.AbstractSocket-socket options.
* soLingerOff:                           TCP.AbstractSocket-socket options.
* soReuseAddr:                           TCP.AbstractSocketImpl-socket options.
* soReuseAddr_:                          TCP.AbstractSocketImpl-socket options.
* space <1>:                             BLOX.BText-inserting text.
* space:                                 BLOX.BEdit-widget protocol.
* species <1>:                           I18N.Encoder-stream operations.
* species <2>:                           TCP.AbstractSocket-socket options.
* species <3>:                           I18N.Encoders.ToUCS4-stream operation.
* species <4>:                           I18N.Encoders.Iconv-stream operation.
* species:                               I18N.Encoders.FromUCS4-stream operation.
* startAngle:                            BLOX.BArc-accessing.
* startAngle_:                           BLOX.BArc-accessing.
* state <1>:                             BLOX.Blox-accessing.
* state:                                 BLOX.BWindow-widget protocol.
* state_ <1>:                            BLOX.BWindow-widget protocol.
* state_:                                BLOX.Blox-accessing.
* stop:                                  BLOX.BImage class-icons.
* stretch_:                              BLOX.BWidget-geometry management.
* strikeout <1>:                         BLOX.BTextAttributes-setting attributes.
* strikeout:                             BLOX.BTextAttributes class-instance-creation shortcuts.
* subnet:                                TCP.IPAddress-accessing.
* sweepAngle:                            BLOX.BArc-accessing.
* sweepAngle_:                           BLOX.BArc-accessing.
* tabStop:                               BLOX.BWidget-accessing.
* tabStop_:                              BLOX.BWidget-accessing.
* terminateMainLoop:                     BLOX.Blox class-event dispatching.
* territories:                           I18N.LocaleData class-database.
* territory:                             I18N.LocaleData-accessing.
* territoryDirectory <1>:                I18N.LocaleData-accessing.
* territoryDirectory:                    I18N.LcMessages-accessing.
* territoryDirectory_ <1>:               I18N.LocaleData-accessing.
* territoryDirectory_:                   I18N.LcMessages-accessing.
* text <1>:                              BLOX.BDropDownEdit-accessing-overrides.
* text <2>:                              BLOX.BDropDownList-accessing.
* text <3>:                              BLOX.BDropDown-flexibility.
* text <4>:                              BLOX.BEmbeddedText-accessing.
* text:                                  BLOX.BBalloon-accessing.
* text_ <1>:                             BLOX.BBalloon-accessing.
* text_ <2>:                             BLOX.BDropDownEdit-text accessing.
* text_ <3>:                             BLOX.BEmbeddedText-accessing.
* text_:                                 BLOX.BDropDown-flexibility.
* time:                                  I18N.Locale-subobjects.
* timeout:                               TCP.AbstractSocket class-timed-out operations.
* timeout_:                              TCP.AbstractSocket class-timed-out operations.
* timeToLive <1>:                        TCP.UDPSocketImpl-multicasting.
* timeToLive <2>:                        TCP.MulticastSocket-instance creation.
* timeToLive:                            TCP.MulticastSocketImpl-multicasting.
* timeToLive_ <1>:                       TCP.MulticastSocket-instance creation.
* timeToLive_ <2>:                       TCP.UDPSocketImpl-multicasting.
* timeToLive_:                           TCP.MulticastSocketImpl-multicasting.
* to:                                    BLOX.BArc-accessing.
* to_:                                   BLOX.BArc-accessing.
* toggle:                                BLOX.BDropDown-widget protocol.
* toplevel:                              BLOX.Blox-widget protocol.
* translatorInformation:                 I18N.LcMessagesDomain-querying.
* translatorInformationAt_:              I18N.LcMessagesDomain-querying.
* translatorInformationAt_at_:           I18N.LcMessagesDomain-querying.
* tweakedLoopbackTest:                   TCP.Socket class-tests.
* udpLoopbackTest:                       TCP.Socket class-tests.
* underline <1>:                         BLOX.BTextAttributes class-instance-creation shortcuts.
* underline:                             BLOX.BTextAttributes-setting attributes.
* unhighlight:                           BLOX.BList-widget protocol.
* unknownAddress:                        TCP.SocketAddress class-accessing.
* unmap:                                 BLOX.BWindow-widget protocol.
* unmapList:                             BLOX.BDropDown-widget protocol.
* unselect_:                             BLOX.BList-widget protocol.
* upArrow:                               BLOX.BImage class-arrows.
* update_ <1>:                           TCP.SocketAddress class-initialization.
* update_ <2>:                           BLOX.Blox class-event dispatching.
* update_:                               I18N.LocaleData class-accessing.
* value <1>:                             BLOX.BToggle-accessing.
* value <2>:                             BLOX.BProgress-accessing.
* value <3>:                             BLOX.BCheckMenuItem-accessing.
* value <4>:                             BLOX.BRadioButton-accessing.
* value:                                 BLOX.BRadioGroup-accessing.
* value_ <1>:                            BLOX.BRadioButton-accessing.
* value_ <2>:                            I18N.RunTimeExpression-computing.
* value_ <3>:                            BLOX.BToggle-accessing.
* value_ <4>:                            BLOX.BProgress-accessing.
* value_ <5>:                            BLOX.BRadioGroup-accessing.
* value_:                                BLOX.BCheckMenuItem-accessing.
* variable_:                             BLOX.BToggle-accessing.
* version:                               TCP.IPAddress class-constants.
* vertical:                              BLOX.BViewport-scrollbars.
* vertical_:                             BLOX.BViewport-scrollbars.
* verticalNeeded:                        BLOX.BViewport-scrollbars.
* verticalShown:                         BLOX.BViewport-scrollbars.
* waitForConnection:                     TCP.ServerSocket-accessing.
* waitForException:                      TCP.AbstractSocketImpl-asynchronous operations.
* white <1>:                             BLOX.BTextAttributes-colors.
* white:                                 BLOX.BTextAttributes class-instance-creation shortcuts.
* widget:                                BLOX.BEventSet-accessing.
* width <1>:                             BLOX.BWidget-geometry management.
* width <2>:                             BLOX.BWindow-widget protocol.
* width <3>:                             BLOX.BRectangle-accessing.
* width <4>:                             BLOX.BLine-accessing.
* width:                                 BLOX.BPolyline-accessing.
* width_ <1>:                            BLOX.BLine-accessing.
* width_ <2>:                            BLOX.BWindow-widget protocol.
* width_ <3>:                            BLOX.BPolyline-accessing.
* width_ <4>:                            BLOX.BRectangle-accessing.
* width_:                                BLOX.BWidget-geometry management.
* width_height_ <1>:                     BLOX.BWindow-widget protocol.
* width_height_:                         BLOX.BWidget-geometry management.
* widthAbsolute <1>:                     BLOX.BWidget-geometry management.
* widthAbsolute:                         BLOX.BWindow-widget protocol.
* widthChild_ <1>:                       BLOX.BCanvas-geometry management.
* widthChild_ <2>:                       BLOX.BWidget-geometry management.
* widthChild_ <3>:                       BLOX.BText-geometry management.
* widthChild_:                           BLOX.BPopupWindow-geometry management.
* widthOffset:                           BLOX.BWidget-geometry management.
* widthOffset_ <1>:                      BLOX.BWidget-geometry management.
* widthOffset_:                          BLOX.BWindow-widget protocol.
* widthPixels_:                          BLOX.BWidget-geometry management.
* window <1>:                            BLOX.BWindow-widget protocol.
* window:                                BLOX.Blox-widget protocol.
* with_with_with_with_:                  TCP.IPAddress class-instance creation.
* withChildrenDo_:                       BLOX.Blox-widget protocol.
* withFileDo_:                           I18N.FileStreamSegment-basic.
* wrap:                                  BLOX.BText-accessing.
* wrap_:                                 BLOX.BText-accessing.
* writeBufferSize:                       TCP.Socket class-accessing.
* writeBufferSize_ <1>:                  TCP.Socket class-accessing.
* writeBufferSize_:                      TCP.Socket-stream protocol.
* x <1>:                                 BLOX.BWindow-widget protocol.
* x:                                     BLOX.BWidget-geometry management.
* x_ <1>:                                BLOX.BWidget-geometry management.
* x_:                                    BLOX.BWindow-widget protocol.
* x_y_ <1>:                              BLOX.BWindow-widget protocol.
* x_y_:                                  BLOX.BWidget-geometry management.
* x_y_width_height_ <1>:                 BLOX.BWindow-widget protocol.
* x_y_width_height_:                     BLOX.BWidget-geometry management.
* xAbsolute <1>:                         BLOX.BWindow-widget protocol.
* xAbsolute:                             BLOX.BWidget-geometry management.
* xChild_ <1>:                           BLOX.BCanvas-geometry management.
* xChild_ <2>:                           BLOX.BPopupWindow-geometry management.
* xChild_ <3>:                           BLOX.BWidget-geometry management.
* xChild_:                               BLOX.BText-geometry management.
* xOffset:                               BLOX.BWidget-geometry management.
* xOffset_ <1>:                          BLOX.BWindow-widget protocol.
* xOffset_:                              BLOX.BWidget-geometry management.
* xPixels_:                              BLOX.BWidget-geometry management.
* xRoot:                                 BLOX.BWidget-geometry management.
* y <1>:                                 BLOX.BWindow-widget protocol.
* y:                                     BLOX.BWidget-geometry management.
* y_ <1>:                                BLOX.BWidget-geometry management.
* y_:                                    BLOX.BWindow-widget protocol.
* yAbsolute <1>:                         BLOX.BWindow-widget protocol.
* yAbsolute:                             BLOX.BWidget-geometry management.
* yChild_ <1>:                           BLOX.BPopupWindow-geometry management.
* yChild_ <2>:                           BLOX.BCanvas-geometry management.
* yChild_ <3>:                           BLOX.BText-geometry management.
* yChild_:                               BLOX.BWidget-geometry management.
* yellow <1>:                            BLOX.BTextAttributes-colors.
* yellow:                                BLOX.BTextAttributes class-instance-creation shortcuts.
* yOffset:                               BLOX.BWidget-geometry management.
* yOffset_ <1>:                          BLOX.BWidget-geometry management.
* yOffset_:                              BLOX.BWindow-widget protocol.
* yPixels_:                              BLOX.BWidget-geometry management.
* yRoot:                                 BLOX.BWidget-geometry management.


File: gst-libs.info,  Node: Cross-reference,  Prev: Method index,  Up: Top

Selector cross-reference
************************

* Menu:

* [131:                                  TCP.IPAddress class-instance creation.
* accept:                                TCP.ServerSocket class-instance creation.
* addChild_:                             BLOX.Blox-customization.
* addEventSet_:                          BLOX.BEventSet class-initializing.
* addMenuItemFor_notifying_:             BLOX.BMenu-callback registration.
* at_ <1>:                               BLOX.BDropDown-list box accessing.
* at_:                                   BLOX.BList-accessing.
* backgroundColor_:                      BLOX.Blox-creating children.
* basicAddChild_ <1>:                    BLOX.BCanvas-geometry management.
* basicAddChild_ <2>:                    BLOX.BPopupWindow-geometry management.
* basicAddChild_:                        BLOX.Blox-customization.
* bevel:                                 BLOX.BPolyline-accessing.
* bottomCenter:                          BLOX.BLabel-accessing.
* bottomLeft:                            BLOX.BLabel-accessing.
* bottomRight:                           BLOX.BLabel-accessing.
* butt <1>:                              BLOX.BPolyline-accessing.
* butt:                                  BLOX.BLine-accessing.
* center <1>:                            BLOX.BLabel-accessing.
* center <2>:                            BLOX.BEmbeddedText-accessing.
* center:                                BLOX.BLabel-accessing.
* char:                                  BLOX.BText-accessing.
* copy:                                  BLOX.BCanvasObject-accessing.
* copyObject:                            BLOX.BCanvasObject-accessing.
* create <1>:                            BLOX.BBoundingBox-accessing.
* create <2>:                            BLOX.BPolyline-accessing.
* create <3>:                            BLOX.BBoundingBox-accessing.
* create <4>:                            BLOX.BExtended-customization.
* create:                                BLOX.BBoundingBox-accessing.
* createLocalAddress:                    TCP.SocketAddress class-initialization.
* destroy:                               BLOX.BWidget class-popups.
* dispatch_:                             BLOX.BDialog-accessing.
* dispatchEvents:                        BLOX.Blox class-event dispatching.
* eventTest:                             BLOX.BEventTarget-intercepting events.
* font <1>:                              BLOX.Blox-widget protocol.
* font <2>:                              BLOX.BDropDown-flexibility.
* font:                                  BLOX.Blox-widget protocol.
* fromString_ <1>:                       TCP.SocketAddress class-host name lookup.
* fromString_:                           TCP.IPAddress-accessing.
* height:                                BLOX.BWidget-geometry management.
* height_ <1>:                           BLOX.BWidget-geometry management.
* height_ <2>:                           BLOX.Blox-creating children.
* height_:                               BLOX.BWidget-geometry management.
* heightOffset_:                         BLOX.BWidget-geometry management.
* initialize_:                           BLOX.BWidget-customization.
* inset_:                                BLOX.BWidget-geometry management.
* left:                                  BLOX.BEmbeddedText-accessing.
* leftCenter:                            BLOX.BLabel-accessing.
* loopbackHost:                          TCP.IPAddress class-instance creation.
* macintosh:                             BLOX.Blox class-utility.
* make_:                                 BLOX.Blox-creating children.
* map:                                   BLOX.BWindow-widget protocol.
* miter:                                 BLOX.BPolyline-accessing.
* modalMap:                              BLOX.BDialog-widget protocol.
* new_:                                  BLOX.BWidget-customization.
* newPrimitive:                          BLOX.BExtended-customization.
* next:                                  I18N.EncodedStream class-initializing.
* none:                                  BLOX.BText-accessing.
* object_address_port_:                  TCP.Datagram-accessing.
* object_objectDumper_address_port_ <1>: TCP.Datagram class-instance creation.
* object_objectDumper_address_port_:     TCP.Datagram-accessing.
* onKeyEvent_send_to_:                   BLOX.BEventTarget-intercepting events.
* print_time_format_on_:                 I18N.LcTime-printing.
* projecting <1>:                        BLOX.BLine-accessing.
* projecting <2>:                        BLOX.BPolyline-accessing.
* projecting:                            BLOX.BLine-accessing.
* redraw <1>:                            BLOX.BBoundingBox-accessing.
* redraw <2>:                            BLOX.BPolyline-accessing.
* redraw:                                BLOX.BBoundingBox-accessing.
* registerImage_:                        BLOX.BText-images.
* right:                                 BLOX.BEmbeddedText-accessing.
* rightCenter:                           BLOX.BLabel-accessing.
* round <1>:                             BLOX.BPolyline-accessing.
* round <2>:                             BLOX.BLine-accessing.
* round:                                 BLOX.BPolyline-accessing.
* state:                                 BLOX.Blox-widget protocol.
* state_:                                BLOX.Blox-widget protocol.
* tabStop_:                              BLOX.BWidget-widget protocol.
* terminateMainLoop:                     BLOX.Blox class-event dispatching.
* topCenter:                             BLOX.BLabel-accessing.
* topLeft:                               BLOX.BLabel-accessing.
* toplevel:                              BLOX.Blox-widget protocol.
* topRight:                              BLOX.BLabel-accessing.
* unix:                                  BLOX.Blox class-utility.
* unmap:                                 BLOX.BWindow-widget protocol.
* width:                                 BLOX.BWidget-geometry management.
* width_ <1>:                            BLOX.BWidget-geometry management.
* width_ <2>:                            BLOX.Blox-creating children.
* width_:                                BLOX.BWidget-geometry management.
* widthOffset_:                          BLOX.BWidget-geometry management.
* windows:                               BLOX.Blox class-utility.
* word:                                  BLOX.BText-accessing.
* x:                                     BLOX.BWidget-geometry management.
* x_:                                    BLOX.BWidget-geometry management.
* xOffset_:                              BLOX.BWidget-geometry management.
* y:                                     BLOX.BWidget-geometry management.
* y_:                                    BLOX.BWidget-geometry management.
* yOffset_:                              BLOX.BWidget-geometry management.
* {Blox:                                 BLOX.Blox-creating children.



Tag Table:
Node: Top1017
Node: BLOX2321
Node: BLOX.BArc4863
Node: BLOX.BArc-accessing5168
Node: BLOX.BBalloon6702
Node: BLOX.BBalloon class-accessing7166
Node: BLOX.BBalloon-accessing7582
Node: BLOX.BBalloon-initializing7966
Node: BLOX.BBoundingBox8204
Node: BLOX.BBoundingBox-accessing8667
Node: BLOX.BButton11396
Node: BLOX.BButton class-instance creation11863
Node: BLOX.BButton-accessing12199
Node: BLOX.BButtonLike16372
Node: BLOX.BButtonLike-accessing16711
Node: BLOX.BCanvas17500
Node: BLOX.BCanvas-accessing18258
Node: BLOX.BCanvas-geometry management19102
Node: BLOX.BCanvas-widget protocol20809
Node: BLOX.BCanvasObject22022
Node: BLOX.BCanvasObject class-instance creation22556
Node: BLOX.BCanvasObject-accessing22961
Node: BLOX.BCanvasObject-widget protocol24899
Node: BLOX.BCheckMenuItem26172
Node: BLOX.BCheckMenuItem class-instance creation26611
Node: BLOX.BCheckMenuItem-accessing26922
Node: BLOX.BColorButton27372
Node: BLOX.BColorButton-accessing27793
Node: BLOX.BContainer28248
Node: BLOX.BContainer-accessing28685
Node: BLOX.BDialog29338
Node: BLOX.BDialog class-instance creation29951
Node: BLOX.BDialog class-prompters30854
Node: BLOX.BDialog-accessing34377
Node: BLOX.BDialog-widget protocol35571
Node: BLOX.BDropDown36459
Node: BLOX.BDropDown-accessing37381
Node: BLOX.BDropDown-callbacks42631
Node: BLOX.BDropDown-flexibility43243
Node: BLOX.BDropDown-list box accessing44724
Node: BLOX.BDropDown-widget protocol47760
Node: BLOX.BDropDownEdit48689
Node: BLOX.BDropDownEdit-accessing49215
Node: BLOX.BDropDownEdit-accessing-overrides51365
Node: BLOX.BDropDownEdit-text accessing51668
Node: BLOX.BDropDownList53064
Node: BLOX.BDropDownList-accessing53603
Node: BLOX.BDropDownList-callbacks56276
Node: BLOX.BDropDownList-list box accessing56962
Node: BLOX.BEdit57388
Node: BLOX.BEdit class-instance creation57795
Node: BLOX.BEdit-accessing58119
Node: BLOX.BEdit-widget protocol62468
Node: BLOX.BEmbeddedImage64432
Node: BLOX.BEmbeddedImage-accessing64773
Node: BLOX.BEmbeddedText65708
Node: BLOX.BEmbeddedText-accessing66060
Node: BLOX.BEventSet68991
Node: BLOX.BEventSet class-initializing69679
Node: BLOX.BEventSet-accessing70133
Node: BLOX.BEventSet-initializing70408
Node: BLOX.BEventTarget70777
Node: BLOX.BEventTarget-intercepting events71138
Node: BLOX.BExtended77220
Node: BLOX.BExtended-accessing78028
Node: BLOX.BExtended-customization78278
Node: BLOX.BForm79278
Node: BLOX.BForm-accessing79641
Node: BLOX.BImage81074
Node: BLOX.BImage class-arrows81649
Node: BLOX.BImage class-GNU82137
Node: BLOX.BImage class-icons82377
Node: BLOX.BImage class-instance creation82876
Node: BLOX.BImage class-small icons83620
Node: BLOX.BImage-accessing83988
Node: BLOX.BImage-image management87102
Node: BLOX.BImage-widget protocol89614
Node: BLOX.BLabel89909
Node: BLOX.BLabel class-initialization90291
Node: BLOX.BLabel class-instance creation90557
Node: BLOX.BLabel-accessing90928
Node: BLOX.BLine95613
Node: BLOX.BLine-accessing95949
Node: BLOX.BList96505
Node: BLOX.BList-accessing96870
Node: BLOX.BList-widget protocol108752
Node: BLOX.Blox110121
Node: BLOX.Blox class-event dispatching111199
Node: BLOX.Blox class-instance creation112476
Node: BLOX.Blox class-utility112912
Node: BLOX.Blox-accessing116035
Node: BLOX.Blox-basic117375
Node: BLOX.Blox-creating children117958
Node: BLOX.Blox-customization118965
Node: BLOX.Blox-widget protocol119748
Node: BLOX.BMenu121995
Node: BLOX.BMenu class-instance creation122383
Node: BLOX.BMenu-accessing122786
Node: BLOX.BMenu-callback registration123621
Node: BLOX.BMenuBar124705
Node: BLOX.BMenuBar-accessing125030
Node: BLOX.BMenuItem125251
Node: BLOX.BMenuItem class-instance creation125731
Node: BLOX.BMenuItem-accessing126121
Node: BLOX.BMenuObject126935
Node: BLOX.BMenuObject-accessing127324
Node: BLOX.BMenuObject-callback129649
Node: BLOX.BOval130591
Node: BLOX.BPolyline130905
Node: BLOX.BPolyline-accessing131234
Node: BLOX.BPopupMenu133557
Node: BLOX.BPopupMenu-widget protocol133964
Node: BLOX.BPopupWindow134167
Node: BLOX.BPopupWindow-geometry management134760
Node: BLOX.BPrimitive136814
Node: BLOX.BPrimitive-accessing137195
Node: BLOX.BProgress137412
Node: BLOX.BProgress-accessing137734
Node: BLOX.BRadioButton138966
Node: BLOX.BRadioButton-accessing139305
Node: BLOX.BRadioGroup140179
Node: BLOX.BRadioGroup-accessing140802
Node: BLOX.BRadioGroup-widget protocol141263
Node: BLOX.BRectangle141579
Node: BLOX.BRectangle-accessing141917
Node: BLOX.BScrolledCanvas142391
Node: BLOX.BSpline142810
Node: BLOX.BSpline-accessing143137
Node: BLOX.BText143554
Node: BLOX.BText class-accessing144169
Node: BLOX.BText class-instance creation144498
Node: BLOX.BText-accessing144852
Node: BLOX.BText-attributes150685
Node: BLOX.BText-geometry management151942
Node: BLOX.BText-images153507
Node: BLOX.BText-inserting text155175
Node: BLOX.BText-position & lines157177
Node: BLOX.BTextAttributes158970
Node: BLOX.BTextAttributes class-instance-creation shortcuts159426
Node: BLOX.BTextAttributes-colors162271
Node: BLOX.BTextAttributes-setting attributes163346
Node: BLOX.BTextBindings167486
Node: BLOX.BTextBindings class-instance creation168020
Node: BLOX.BTextTags168258
Node: BLOX.BToggle168617
Node: BLOX.BToggle-accessing168996
Node: BLOX.BTransientWindow169880
Node: BLOX.BTransientWindow class-instance creation170389
Node: BLOX.BTransientWindow-widget protocol170994
Node: BLOX.BViewport171572
Node: BLOX.BViewport-accessing172003
Node: BLOX.BViewport-scrollbars172249
Node: BLOX.BWidget173195
Node: BLOX.BWidget class-popups173754
Node: BLOX.BWidget-accessing174995
Node: BLOX.BWidget-customization179596
Node: BLOX.BWidget-geometry management181211
Node: BLOX.BWidget-widget protocol197703
Node: BLOX.BWindow199729
Node: BLOX.BWindow class-instance creation200172
Node: BLOX.BWindow-accessing200595
Node: BLOX.BWindow-widget protocol203303
Node: BLOX.Gui207999
Node: BLOX.Gui-accessing208389
Node: TCP208636
Node: TCP.AbstractSocket209976
Node: TCP.AbstractSocket class-defaults210582
Node: TCP.AbstractSocket class-instance creation211456
Node: TCP.AbstractSocket class-timed-out operations212039
Node: TCP.AbstractSocket-accessing213018
Node: TCP.AbstractSocket-printing214151
Node: TCP.AbstractSocket-socket options214447
Node: TCP.AbstractSocket-stream protocol215368
Node: TCP.AbstractSocket-testing215929
Node: TCP.AbstractSocketImpl216193
Node: TCP.AbstractSocketImpl class-abstract216775
Node: TCP.AbstractSocketImpl class-socket creation217221
Node: TCP.AbstractSocketImpl-accessing217551
Node: TCP.AbstractSocketImpl-asynchronous operations218700
Node: TCP.AbstractSocketImpl-socket operations219430
Node: TCP.AbstractSocketImpl-socket options221384
Node: TCP.Datagram223346
Node: TCP.Datagram class-instance creation223657
Node: TCP.Datagram-accessing224956
Node: TCP.DatagramSocket225977
Node: TCP.DatagramSocket class-accessing226476
Node: TCP.DatagramSocket class-initialization227113
Node: TCP.DatagramSocket class-instance creation227463
Node: TCP.DatagramSocket-accessing228466
Node: TCP.DatagramSocket-direct operations229357
Node: TCP.DatagramSocketImpl229660
Node: TCP.DatagramSocketImpl class-parameters230083
Node: TCP.DatagramSocketImpl-accessing230372
Node: TCP.DatagramSocketImpl-socket operations230791
Node: TCP.ICMPSocketImpl231931
Node: TCP.ICMPSocketImpl class-implementation232230
Node: TCP.IPAddress232514
Node: TCP.IPAddress class-constants232968
Node: TCP.IPAddress class-initialization233279
Node: TCP.IPAddress class-instance creation233980
Node: TCP.IPAddress-accessing237843
Node: TCP.IPAddress-printing238969
Node: TCP.MulticastSocket239184
Node: TCP.MulticastSocket-instance creation239487
Node: TCP.MulticastSocketImpl240306
Node: TCP.MulticastSocketImpl-multicasting240626
Node: TCP.OOBSocketImpl241401
Node: TCP.OOBSocketImpl class-implementation241755
Node: TCP.OOBSocketImpl-implementation242075
Node: TCP.RawSocketImpl242470
Node: TCP.RawSocketImpl class-parameters242762
Node: TCP.ReadBuffer242990
Node: TCP.ReadBuffer class-instance creation243452
Node: TCP.ReadBuffer-buffer handling243909
Node: TCP.ServerSocket244797
Node: TCP.ServerSocket class-instance creation245168
Node: TCP.ServerSocket-accessing246630
Node: TCP.ServerSocket-initializing247541
Node: TCP.Socket247922
Node: TCP.Socket class-accessing248472
Node: TCP.Socket class-instance creation249263
Node: TCP.Socket class-tests250093
Node: TCP.Socket class-well known ports251640
Node: TCP.Socket-accessing253716
Node: TCP.Socket-out-of-band data254015
Node: TCP.Socket-printing254313
Node: TCP.Socket-stream protocol254569
Node: TCP.SocketAddress256650
Node: TCP.SocketAddress class-abstract257114
Node: TCP.SocketAddress class-accessing257544
Node: TCP.SocketAddress class-host name lookup259538
Node: TCP.SocketAddress class-initialization260330
Node: TCP.SocketAddress-accessing261526
Node: TCP.SocketImpl262519
Node: TCP.SocketImpl class-parameters262891
Node: TCP.SocketImpl-abstract263139
Node: TCP.SocketImpl-socket operations263458
Node: TCP.TCPSocketImpl263886
Node: TCP.TCPSocketImpl class-implementation264223
Node: TCP.TCPSocketImpl-implementation264543
Node: TCP.UDPSocketImpl264858
Node: TCP.UDPSocketImpl class-implementation265203
Node: TCP.UDPSocketImpl-multicasting265521
Node: TCP.WriteBuffer266415
Node: TCP.WriteBuffer-buffer handling266819
Node: I18N267259
Node: I18N.BigEndianFileStream269820
Node: I18N.EncodedStream270168
Node: I18N.EncodedStream class-initializing270696
Node: I18N.EncodedStream class-instance creation271567
Node: I18N.Encoder272477
Node: I18N.Encoder class-instance creation273029
Node: I18N.Encoder-stream operations273453
Node: I18N.Encoders.ComposeUCS4BE274509
Node: I18N.Encoders.ComposeUCS4BE-stream operation275034
Node: I18N.Encoders.ComposeUCS4LE275371
Node: I18N.Encoders.ComposeUCS4LE-stream operation275909
Node: I18N.Encoders.FromUCS4276249
Node: I18N.Encoders.FromUCS4-stream operation276756
Node: I18N.Encoders.FromUTF7277029
Node: I18N.Encoders.FromUTF7 class-initialization277411
Node: I18N.Encoders.FromUTF7-converting277723
Node: I18N.Encoders.Iconv278395
Node: I18N.Encoders.Iconv-stream operation279069
Node: I18N.Encoders.SplitUCS4BE279466
Node: I18N.Encoders.SplitUCS4BE-stream operation280006
Node: I18N.Encoders.SplitUCS4LE280577
Node: I18N.Encoders.SplitUCS4LE-stream operation281121
Node: I18N.Encoders.ToUCS4281692
Node: I18N.Encoders.ToUCS4-stream operation282224
Node: I18N.Encoders.ToUTF7282500
Node: I18N.Encoders.ToUTF7 class-initialization283009
Node: I18N.Encoders.ToUTF7-conversion283311
Node: I18N.FileStreamSegment283747
Node: I18N.FileStreamSegment-basic284173
Node: I18N.IncompleteSequenceError284479
Node: I18N.IncompleteSequenceError-accessing285032
Node: I18N.InvalidCharsetError285284
Node: I18N.InvalidCharsetError-accessing285717
Node: I18N.InvalidSequenceError285953
Node: I18N.InvalidSequenceError-accessing286374
Node: I18N.LcMessages286614
Node: I18N.LcMessages class-accessing287060
Node: I18N.LcMessages-accessing287433
Node: I18N.LcMessages-opening MO files288158
Node: I18N.LcMessagesCatalog288942
Node: I18N.LcMessagesDomain289307
Node: I18N.LcMessagesDomain class-opening MO files290407
Node: I18N.LcMessagesDomain-handling the cache290784
Node: I18N.LcMessagesDomain-querying291309
Node: I18N.LcMessagesDummyDomain292418
Node: I18N.LcMessagesMoFileVersion0292827
Node: I18N.LcMessagesMoFileVersion0 class-documentation293510
Node: I18N.LcMessagesMoFileVersion0 class-plurals301457
Node: I18N.LcMessagesMoFileVersion0-flushing the cache302093
Node: I18N.LcMessagesTerritoryDomain302520
Node: I18N.LcMessagesTerritoryDomain class-instance creation302984
Node: I18N.LcMonetary303350
Node: I18N.LcMonetary class-accessing303874
Node: I18N.LcMonetary-printing304246
Node: I18N.LcMonetaryISO305031
Node: I18N.LcMonetaryISO class-accessing305315
Node: I18N.LcNumeric305577
Node: I18N.LcNumeric class-accessing306042
Node: I18N.LcNumeric-printing306409
Node: I18N.LcPrintFormats306899
Node: I18N.LcPrintFormats-printing307452
Node: I18N.LcTime307948
Node: I18N.LcTime class-accessing308436
Node: I18N.LcTime-printing308788
Node: I18N.LcTime-tests311074
Node: I18N.Locale311294
Node: I18N.Locale class-initialization311949
Node: I18N.Locale class-instance creation312323
Node: I18N.Locale-subobjects312962
Node: I18N.LocaleConventions313589
Node: I18N.LocaleConventions class-accessing314025
Node: I18N.LocaleConventions-accessing314735
Node: I18N.LocaleData315052
Node: I18N.LocaleData class-accessing315554
Node: I18N.LocaleData class-database316611
Node: I18N.LocaleData-accessing317068
Node: I18N.LocaleData-initialization318227
Node: I18N.RTEAlternativeNode318613
Node: I18N.RTEAlternativeNode class-compiling318978
Node: I18N.RTEAlternativeNode-computing319384
Node: I18N.RTEBinaryNode319946
Node: I18N.RTEBinaryNode class-compiling320340
Node: I18N.RTEBinaryNode-compiling320694
Node: I18N.RTEBinaryNode-computing320991
Node: I18N.RTELiteralNode321519
Node: I18N.RTELiteralNode class-initializing321872
Node: I18N.RTELiteralNode-computing322171
Node: I18N.RTENegationNode322587
Node: I18N.RTENegationNode class-initializing322947
Node: I18N.RTENegationNode-computing323248
Node: I18N.RTEParameterNode323691
Node: I18N.RTEParameterNode-computing324004
Node: I18N.RunTimeExpression324307
Node: I18N.RunTimeExpression class-compiling324745
Node: I18N.RunTimeExpression class-initializing325355
Node: I18N.RunTimeExpression class-instance creation325716
Node: I18N.RunTimeExpression-computing326077
Node: XML326488
Node: Building a DOM from XML326700
Node: Building XML332081
Node: Using DTDs335246
Node: XSL Processing338497
Node: Attributions339919
Node: Class index340255
Node: Method index346726
Node: Cross-reference428786

End Tag Table
