| Type | Title | Author |
|---|---|---|
| Forum topic | WebEx Connect Integration Availability | kreester |
| Notebook entry | Day One Dream Factory | chuckbrady |
| Notebook entry | how to animate a sprite | butcher |
The border plugin implements scrolling and static borders in a variety of styles. These objects automatically clip the children inside of them.
Borders are similar to windows, but more generally useful, and can be used for the arbitrary grouping and / or clipping of anything.
Messages: nodemove, nodechange, nodeactive
Nodemove is sent when the position of the border changes.
Nodechange is sent when the interior page of the border is scrolled.
Nodeactive is sent when the active state of the border changes.
activeget, activeset
active TF = activeget(node name $) activeset(node name $, active TF)
Get or set the active attribute. Inactive borders are dull and do not respond to mouse input.
alignget, alignset
text align # = alignget(node name $) alignset(node name $, text align #)
Get or set text alignment for the title at the top of the border, -1 to 1 for left, center, and right.
barshorget, barshorset, barsverget, barsverset
has hor bar TF = barshorget(node name $) barshorset(node name $, has hor bar TF) has ver bar TF = barsverget(node name $) barsverset(node name $, has ver bar TF)
Control the existence of horizontal and vertical scrollbars.
barstyleget, barstyleset
bar style name $ = barstyleget(node name $) barstyleset(node name $, bar style name $)
Get or set the scrollbar style.
Available styles include: macintosh, windows, classic, modern, crystal, and native.
The native style matches the appearance of the current operating system.
boundsget, boundsset
rectangle $ = boundsget(node name $) boundsset(node name $, rectangle $)
Get or set the interior content rectangle. This may effect the external boundary of the border.
Externalget and externalset can be used to get or set the external boundary rectangle of the border.
See: externalset, externalget
clipopenget, clipopenset
clip open TF = clipopenget(node name $) clipopenset(node name $, clip open TF)
Get or set the clipopen property. If true, the border does not clip its children.
This is useful for children that need to extend outside the border.
externalget, externalset
rectangle $ = externalget(node name $) externalset(node name $, rectangle $)
Get or set the external boundary rectangle of the border frame, this may affect the content area.
Boundsget and boundsset can be used to get or set the content rectangle of the border.
See: boundsset, boundsget
fillcolorget, fillcolorset
fillcolor $ = fillcolorget(node name $) fillcolorset(node name $, fillcolor $)
Get or set the fill color for the content area of the border.
See: fillget, fillset
fillget, fillset
filled TF = fillget(node name $) fillset(node name $, filled TF)
Turn on and off filled borders. Filled borders have a fillcolor color, etc.
fontnameget, fontnameset
fontname $ = fontnameget(node name $) fontnameset(node name $, fontname $)
Get or set the font for the title.
fontsizeget, fontsizeset
fontsize # = fontsizeget(node name $) fontsizeset(node name $, fontsize #)
Get or set the font size for the title.
fullget, fullset, infoget, infoset
full $ = fullget(node name $) fullset(node name $, full $) info $ = infoget(node name $) infoset(node name $, info $)
Get or set XML data that describes all the settings for this node.
The fullget and fullset routines have a header element with appropriate namespaces, infoget and infoset are an XML snippet for access as a property. Example:
mynode.info.title = "new title"
growget, growset
grow box TF = growget(node name $) growset(node name $, grow box TF)
Hide or show a grow icon in the lower right corner of the border.
This is useful when a border is inside a window and you want to detect a click in the grow area of the border to resize the parent window.
guttercolorget, guttercolorset
guttercolor $ = guttercolorget(node name $) guttercolorset(node name $, guttercolor $)
Get or set the gutter color. Use an alpha value of zero for a transparent gutter.
See: gutterset, gutterget
gutterget, gutterset
text gutter # = gutterget(node name $) gutterset(node name $, text gutter #)
Get or set the gutter size, which is the extra space inside the line.
See: guttercolorget, guttercolorset, linesizeset, linesizeget
handlesget, handlesset
handles TF = handlesget(node name $) handlesset(node name $, handles TF)
Turn on or off dragable handles for reshaping the node.
This routine is used by the system tool palettes for manual positioning.
See: markersget, markersset, partget, partset
hiliteget, hiliteset
hilite $ = hiliteget(node name $) hiliteset(node name $, hilite $)
Get or set the hilite of the border, which inverts some part of the scrollbars.
Hilites include: none, leftarrow, rightarrow, uparrow, downarrow, horthumb, verthumb, pageleft, pageright, pageup, and pagedown.
This is useful to show mouse control of the scrollbars.
See: hittest
hittest, hittestall
part name $ = hittest(node name $, hor #, ver #) part name $ = hittestall(node name $, hor #, ver #)
This function hit tests the border frame to see what part has been clicked on.
Hittestall will return a part name even if the border is inactive.
Return values: none, inactive, content, title, gutter, grow, leftarrow, rightarrow, uparrow, downarrow, horthumb, verthumb, pageleft, pageright, pageup, and pagedown.
See: hiliteset, hiliteget
linebackcolorget, linebackcolorset, lineforecolorget, lineforecolorset
linebackcolor $ = linebackcolorget(node name $) linebackcolorset(node name $, linebackcolor $) lineforecolor $ = lineforecolorget(node name $) lineforecolorset(node name $, lineforecolor $)
Get or set the fore color and back color of the border line.
For example, beveled borders need a fore color and a back color.
linesizeget, linesizeset
linesize # = linesizeget(node name $) linesizeset(node name $, linesize #)
Get or set the line size for the border.
See: styleset
marginhorget, marginhorset, marginverget, marginverset
margin hor # = marginhorget(node name $) marginhorset(node name $, margin hor #) margin ver # = marginverget(node name $) marginverset(node name $, margin ver #)
Get or set the horizontal and vertical margin of the title.
The margin is the extra space around the title.
See: titlehorset, titleverset
markersget, markersset
markers TF = markersget(node name $) markersset(node name $, markers TF)
Turn on or off the node outline to show selection.
This routine is used by the system tool palettes to show that a node is selected.
See: handlesset, handlesget, partget, partset
pagelimitget, pagelimitset
page limit TF = pagelimitget(node name $) pagelimitset(node name $, page limit TF)
If the current page is smaller than the border's content area, then the pagelimit property controls the appearance of the area outside the page.
If pagelimit is true, a gray background is displayed in the area outside the page, and child nodes are clipped to the page area.
If pagelimit is false, the area outside the page is painted in the border's fill color, and child nodes are not clipped.
See: fillcolorset, fillcolorget
pageoriginhorget, pageoriginhorset, pageoriginhorver, pageoriginverget, pageoriginverset
hor # = pageoriginhorget(node name $) pageoriginhorset(node name $, hor #) pageoriginhorver(node name $, hor #, ver #) ver # = pageoriginverget(node name $) pageoriginverset(node name $, ver #)
This sets the origin of the current page.
See: pagesizehorver, pagesizehorget, pagesizeverget, pagesizehorset, pagesizeverset
pagesizehorget, pagesizehorset, pagesizehorver, pagesizeverget, pagesizeverset
hor # = pagesizehorget(node name $) pagesizehorset(node name $, hor #) pagesizehorver(node name $, hor #, ver #) ver # = pagesizeverget(node name $) pagesizeverset(node name $, ver #)
These functions get and set the page size of the border. This can be used with or without scrollbars.
This is the underlying document size the border looks in to.
See: pageoriginhorver, pageoriginhorget, pageoriginverget, pageoriginhorset, pageoriginverset
partget, partset
part # = partget(node name $, hor #, ver #) partset(node name $, hor #, ver #, part #)
Get or set the points for an individual handle.
See: markersget, markersset, handlesset, handlesget
savethumb
savethumb(node name $)
Saves the thumb position for "snap back" when the mouse moves out of the active area.
See: trackscroll
scrollspeedget, scrollspeedset
scroll speed # = scrollspeedget(node name $) scrollspeedset(node name $, scroll speed #)
Get or set the scroll speed in pixels per frame when clicking on the scroll arrows.
Set the value to zero for the default speed.
See: trackscroll
styleget, styleset
style name $ = styleget(node name $) styleset(node name $, style name $)
Get or set the style of the border.
Custom styles include: solid, dotted, shaded, double, beveled, raised, squaretab, roundtab, angledtab, rampedtab, diamond, rounded, and modgroup.
Platform styles include: macintosh, windows, classic, crystal, modern, and native.
The native style matches the appearance of the current operating system.
The native styles draw the standard platform specific surround for a border.
Solid has a solid border, dotted has the "marching ants" around the edges.
Shaded has the raised line with shadow effect, and beveled has the beveled corner.
Squaretab, roundtab, angledtab, and rampedtab are useful for windows or dialogs with multiple tabs.
textcolorget, textcolorset
textcolor $ = textcolorget(node name $) textcolorset(node name $, textcolor $)
Get or set the color of the title at the top of the border.
themecolorget, themecolorset
themecolor $ = themecolorget(node name $) themecolorset(node name $, themecolor $)
Get or set the themecolor for macintosh style scrollbars.
titleget, titleset
title $ = titleget(node name $) titleset(node name $, title $)
Set the title for the border. An empty string will set no title.
The title appears at the top of the border.
titlehorget, titlehorset, titleverget, titleverset
title hor # = titlehorget(node name $) titlehorset(node name $, title hor #) title ver # = titleverget(node name $) titleverset(node name $, title ver #)
Get or set the horizontal and vertical offset of the title.
The horizontal offset depends on the alignment left or right.
The vertical offset cannot push the title into the content area.
See: alignset, marginhorset, marginverset
titleopenget, titleopenset
open TF = titleopenget(node name $) titleopenset(node name $, open TF)
Turn on and off open titles. Open titles are clipped, and look better when placed on the border's top line.
trackscroll
trackscroll(node name $, part name $, hor #, ver #)
Trackscroll automatically adjusts the page origin of the border by tracking mouse input in the scrollbars.
Check the library script for tracking the mouse in a border for an example of how to use this command.
See: savethumb, scrollspeedget, scrollspeedset