Manual pages › Libraries: curses, OPEN LOOK and others (3)
olOblngButon(3)
OblongButton
From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.
WIDGET CLASS NAME · GADGET CLASS NAME · SYNOPSIS · DESCRIPTION · RESOURCES
WIDGET CLASS NAME
OblongButton
GADGET CLASS NAME
OblongButton
SYNOPSIS
#include <Intrinsic.h> #include <OpenLook.h> #include <StringDefs.h> #include <OblongButt.h> widget = XtCreateWidget(name, oblongButtonWidgetClass, ...); OR widget = XtCreateWidget(name, oblongButtonGadgetClass, ...);
DESCRIPTION
OblongButton Components The OblongButton consists of a Label
surrounded by a rounded, or oblong, Border.
Figure 1. Oblong Buttons
Busy Button while Action Takes Place Each OblongButton is
associated with an application-defined action implemented as
a list of callbacks. To let the end user know that an
action is still taking place, the OblongButton stipples the
area inside the border before issuing the callbacks. When
the last callback returns, the OblongButton restores its
original appearance. If the application's action continues
to be "busy" after the callbacks return, the application
should set the XtNbusy resource to TRUE before returning
from the callbacks, then reset it to FALSE when the action
is no longer taking place. The "busy" stipple pattern is
designed to show enough dots to gray the button noticeably,
while still leaving a text label legible.
Oblong Buttons in a Pop-up Menu Entering an oblong button while MENU is depressed highlights the button's interior. Releasing MENU then restores the original appearance and invokes the action for the button as described above. Leaving the button before releasing MENU restores the appearance but does not invoke the action.
Oblong Buttons not in a Pop-up Menu Clicking SELECT on an oblong button starts the action associated with the button. Pressing SELECT, or moving the pointer into the button while SELECT is pressed, highlights the button's interior. Releasing SELECT restores the appearance and invokes the action for the button as described above. Moving the pointer off the button before releasing SELECT also restores the appearance, but does not invoke the action. If the oblong button is in a stay-up menu, clicking or pressing MENU works the same as SELECT. If the oblong button is not in a stay-up (or pop-up) menu, clicking or pressing MENU does not do anything; the event is passed up to an ancestor widget.
Amiga Unix Last change: 1
OblongButton Gadgets OblongButton gadgets cannot be parents (i.e., be used as the parent parameter when creating a widget or other gadget). Correct button behavior is not guaranteed if gadgets are positioned so that they overlap. Gadgets share some core fields but, since they are not subclasses of Core, do not have all Core fields. In particular, they don't have a name field or a translation field (so translations cannot be specified/overriden). Event Handlers cannot be added to gadgets using XtAddEventHandler.
OblongButton Coloration Figure 2 illustrates the resources
that affect the coloration of the OblongButton widget.
Note:
Events that occur outside the Border (but within the Oblong-
Button widget) are still in the domain of the button.
Figure 2. Oblong Button Coloration
RESOURCES
____________________________________________________________________________________
_____________________________OblongButton_Resource_Set______________________________
Name Class Type Default Access
____________________________________________________________________________________
Amiga Unix Last change: 2
() MISC. REFERENCE MANUAL PAGES ()
____________________________________________________________________________________
_XtNancestorSensitive____XtCSenstitive___Boolean__________TRUE_______________G*_____
XtNbackground XtCBackground Pixel White SGI-
____________________________________________________________________________________
_=_XtNbackgroundPixmap___XtCPixmap_______Pixmap___________(none)_____________SGI-___
XtNbusy XtCBusy Boolean FALSE SGI
____________________________________________________________________________________
_XtNdefault______________XtCDefault______Boolean__________FALSE______________SGI____
= XtNdepth XtCDepth int (parent's) GI
____________________________________________________________________________________
_XtNdestroyCallback______XtCCallback_____XtCallbackList___NULL_______________SI_____
XtNfont XtCFont XFontStruct * (OPEN LOOK font) SI
____________________________________________________________________________________
_XtNfontColor____________XtCFontColor____Pixel____________Black*_____________SGI____
XtNforeground XtCForeground Pixel Black SGI-
____________________________________________________________________________________
_XtNheight_______________XtCHeight_______Dimension________(calculated)_______SGI____
XtNlabel XtCLabel String (class name) SGI
____________________________________________________________________________________
|_XtNlabelImage___________XtCLabelImage___XImage_*_________NULL_______________SGI___|
| | | |
Amiga Unix Last change: 1
() MISC. REFERENCE MANUAL PAGES ()
________________________________________________________________________________________
|___________________________OblongButton_Resource_Set_(cont.)___________________________|
| Name | Class | Type | Default | Access|
|_______________________|______________________|________________|______________|________|
| XtNlabelJustify | XtCLabelJustify | OlDefine | OL_LEFT | SGI |
|_______________________|______________________|________________|______________|________|
|_XtNlabelTile__________|__XtCLabelTile________|__Boolean_______|__FALSE_______|__SGI___|
| XtNlabelType | XtCLabelType | int | OL_STRING | SGI |
|_______________________|______________________|________________|______________|________|
|_=_XtNmappedWhenManaged|__XtCMappedWhenManaged|__Boolean_______|__TRUE________|__SGI___|
| XtNrecomputeSize | XtCRecomputeSize | Boolean | TRUE | SGI |
|_______________________|______________________|________________|______________|________|
|_XtNselect_____________|__XtCCallback_________|__XtCallbackList|__NULL________|__SI____|
| XtNsensitive | XtCSensitive | Boolean | TRUE | GI* |
|_______________________|______________________|________________|______________|________|
|_XtNuserData___________|__XtCUserData_________|__XtPointer_____|__NULL________|__SGI___|
| XtNwidth | XtCWidth | Dimension | (calculated)| SGI |
|_______________________|______________________|________________|______________|________|
|_XtNx__________________|__XtCPosition_________|__Position______|__0___________|__SGI___|
| XtNy | XtCPosition | Position | 0 | SGI |
|_______________________|______________________|________________|______________|________|
= These resources are not available to OblongButton gadgets.
XtNbusy
Range of Values:
TRUE
FALSE
This resource controls whether the button interior should be stippled to show that the action associated with the button is ``busy.'' While XtNbusy is TRUE, the system will beep if the end user attempts to select the button; the attempt is refused and no callbacks are invoked.
XtNdefault
Range of Values:
TRUE
FALSE
If this resource is TRUE, and the button is in a menu, an oval ring is drawn around the button to show that the button is the default choice of one or more buttons.
XtNfont
Range of Values:
(any valid return from XLoadQueryFont())
Default:
(chosen to match the scale and screen resolution)
Amiga Unix Last change: 2
() MISC. REFERENCE MANUAL PAGES ()
This resource identifies the font to be used to display the Label. The default value points to a cached font structure; an application should not expect to get this value with a call to XtGetValues() and use it reliably thereafter.
Amiga Unix Last change: 3
() MISC. REFERENCE MANUAL PAGES ()
XtNfontColor
Range of Values:
(any Pixel value valid for the current display)/(any name from the rgb.txt file)
This resource specifies the color for the font. If not set, the color from the XtNforeground resource, if available, is used for the font. See the note about the interaction of this resource with other color resources under the description of the XtNbackground resource in CORE RESOURCES(3W).
XtNforeground This resource defines the foreground color for the widget. See the note about the interaction of this resource with other color resources under the description of the XtNbackground resource in CORE RESOURCES(3W).
XtNlabel This resource is a pointer to the text for the
Label. This resource is ignored if the XtNlabelType
resource has the value OL_IMAGE.
XtNlabelImage This resource is a pointer to the image for
the Label. This resource is ignored unless the XtNlabelType
resource has the value OL_IMAGE. If the image is of type
XYBitmap, the image is highlighted when appropriate by rev-
ersing the 0 and 1 values of each pixel (i.e. by "`xor'ing"
the image data). If the image is of type XYPixmap or ZPix-
map, the image is not highlighted, although the space around
the image inside the Border is highlighted. If the image is
smaller than the space available for it inside the Border
and XtNlabelTile is FALSE, the image is centered vertically
and either centered or left-justified horizontally, depend-
ing on the value of the XtNlabelJustify resource. If the
image is larger than the space available for it, it is
clipped so that it does not stray outside the Border. If
the XtNdefault resource is TRUE so that the Border is dou-
bled, the space available is that inside the inner line of
the Border.
XtNlabelJustify
Range of Values:
OL_LEFT/"left"
OL_CENTER/"center"
This resource dictates whether the Label should be left-justified or centered within the widget width.
Amiga Unix Last change: 4
() MISC. REFERENCE MANUAL PAGES ()
XtNlabelTile
Range of Values:
TRUE
FALSE
This resource augments the XtNlabelImage/XtNlabelPixmap resource to allow tiling the sub-object's background. For an image/pixmap that is smaller than the sub-object's background, the label area is tiled with the image/pixmap to fill the sub-object's background if this resource is TRUE; otherwise, the label is placed as described by the XtNlabel-Justify resource. The XtNlabelTile resource is ignored for text labels.
XtNlabelType
Range of Values:
OL_STRING/"string"
OL_IMAGE/"image"
OL-POPUP/"string..."
This resource identifies the form that the Label takes. It can have the value OL_STRING for text, OL_IMAGE for an image, or OL_POPUP for text followed by an ellipsis (such as XtNrecomputeSize
Range of Values:
TRUE
FALSE
This resource indicates whether the OblongButton widget should calculate its size and automatically set the XtNheight and XtNwidth resources. If set to TRUE, the OblongButton widget will do normal size calculations that may cause its geometry to change. If set to FALSE, the OblongButton widget will leave its size alone; this may cause truncation of the visible image being shown by the OblongButton widget if the fixed size is too small, or may cause padding if the fixed size is too large. The location of the padding is determined by the XtNlabelJustify resource.
XtNselect This is the list of callbacks invoked when the widget is selected.
Label Appearance The XtNwidth, XtNheight, XtNrecomputeSize, and XtNlabelJustify resources interact to produce a truncated, clipped, centered, or left-justified label as shown in Figure 3.
Amiga Unix Last change: 5
() MISC. REFERENCE MANUAL PAGES ()
Figure 3. Label Appearance
When the label is centered or left-justified, the extra
space is filled with the background color of the OblongBut-
ton widget, as determined by the XtNbackground and XtNback-
groundPixmap resources. When a text label is truncated, the
truncation occurs at a character boundary and a solid trian-
gle is inserted to show that part of the label is missing.
The triangle requires that more of the label be truncated
than would otherwise be necessary. If the width of the but-
ton is too small to show even one character with the trian-
gle, only the triangle is shown. If the width is so small
that the entire triangle cannot be shown, the triangle is
clipped on the right. An image label is simply truncated;
no triangle is shown. See also the XtNlabelTile resource
for how it affects the appearance of a label image.
Amiga Unix Last change: 6