Modal and modeless dialogs use DialogShell as the Shell parent.
DialogShell widgets cannot
be iconified. Instead, all secondary DialogShell widgets
associated with an ApplicationShell widget are iconified and
de-iconified as a group with the primary widget.
The client indirectly manipulates DialogShell through the convenience
interfaces during creation, and it can directly manipulate its
BulletinBoard-derived child.
Much of the functionality of DialogShell assumes
that its child is a BulletinBoard subclass, although it
can potentially stand alone.
Setting XmNheight, XmNwidth,
or XmNborderWidth for
either a DialogShell or its managed child usually sets that resource to the
same value in both the parent and the child. When an off-the-spot input
method exists, the height and width of the shell may be greater than
those of the managed child in order to accommodate the input method.
In this case, setting XmNheight
or XmNwidth for the
shell does not necessarily set that resource to the same value in
the managed child, and setting XmNheight
or XmNwidth
for the child does not necessarily set that resource to the same
value in the shell.
For the managed child of a DialogShell, regardless of the value of
the shell's XmNallowShellResize resource,
setting XmNx or XmNy
sets the corresponding resource of the parent but does not change the
child's position relative to the parent.
The XtGetValues resource for the child's
XmNx or XmNy yields the
value of the corresponding resource in the parent.
The x and y-coordinates of the child's upper left outside
corner relative to the parent's upper left inside corner are both 0 (zero)
minus the value of XmNborderWidth.
Note that the Inter-Client Communication Conventions Manual (ICCCM)
allows a window manager to change or control the border width of a reparented
top-level window.
DialogShell uses the XmQTdialogShellSavvy trait.
Classes
DialogShell inherits behavior, resources, and traits from the Core,
Composite, Shell,
WMShell, VendorShell, and TransientShell classes.
The class pointer is xmDialogShellWidgetClass.
The class name is XmDialogShell.
New Resources
DialogShell defines no new resources but overrides the XmNdeleteResponse
resource in the VendorShell class.
Inherited Resources
DialogShell inherits behavior and resources from the
superclasses described in the following tables,
which define sets of widget resources used by the programmer
to specify data.
For a complete description of each resource, refer to the
reference page for that superclass.
The programmer can also set the resource values for the
inherited classes to set attributes for this widget. To reference a
resource by name or by class in a .Xdefaults file, remove the
XmN or
XmC prefix and use the remaining letters. To specify one of the defined
values for a resource in a .Xdefaults file,
remove the Xm prefix and use
the remaining letters (in either lowercase or uppercase, but include any
underscores between words).
The codes in the access column indicate if the given resource can be
set at creation time (C),
set by using XtSetValues (S),
retrieved by using XtGetValues (G), or is not applicable
(N/A).
TransientShell Resource Set
Name
Class
Type
Default
Access
XmNtransientFor
XmCTransientFor
Widget
NULL
CSG
VendorShell Resource Set
Name
Class
Type
Default
Access
XmNaudibleWarning
XmCAudibleWarning
unsigned char
XmBELL
CSG
XmNbuttonFontList
XmCButtonFontList
XmFontList
dynamic
CSG
XmNbuttonRenderTable
XmCButtonRenderTable
XmRenderTable
dynamic
CSG
XmNdefaultFontList
XmCDefaultFontList
XmFontList
dynamic
CG
XmNdeleteResponse
XmCDeleteResponse
unsigned char
XmUNMAP
CSG
XmNinputMethod
XmCInputMethod
String
NULL
CSG
XmNinputPolicy
XmCInputPolicy
XmInputPolicy
XmPER_SHELL
CSG
XmNkeyboardFocusPolicy
XmCKeyboardFocusPolicy
unsigned char
XmEXPLICIT
CSG
XmNlabelFontList
XmCLabelFontList
XmFontList
dynamic
CSG
XmNlabelRenderTable
XmCLabelRenderTabel
XmRenderTable
dynamic
CSG
XmNlayoutDirection
XmCLayoutDirection
XmDirection
XmLEFT_TO_RIGHT
CG
XmNmwmDecorations
XmCMwmDecorations
int
-1
CG
XmNmwmFunctions
XmCMwmFunctions
int
-1
CG
XmNmwmInputMode
XmCMwmInputMode
int
-1
CG
XmNmwmMenu
XmCMwmMenu
String
NULL
CG
XmNpreeditType
XmCPreeditType
String
dynamic
CSG
XmNshellUnitType
XmCShellUnitType
unsigned char
XmPIXELS
CSG
XmNtextFontList
XmCTextFontList
XmFontList
dynamic
CSG
XmNtextRenderTable
XmCTextRenderTable
XmRenderTable
dynamic
CSG
XmNunitType
XmCUnitType
unsigned char
XmPIXELS
CSG
XmNuseAsyncGeometry
XmCUseAsyncGeometry
Boolean
False
CSG
WMShell Resource Set
Name
Class
Type
Default
Access
XmNbaseHeight
XmCBaseHeight
int
XtUnspecifiedShellInt
CSG
XmNbaseWidth
XmCBaseWidth
int
XtUnspecifiedShellInt
CSG
XmNheightInc
XmCHeightInc
int
XtUnspecifiedShellInt
CSG
XmNiconMask
XmCIconMask
Pixmap
NULL
CSG
XmNiconPixmap
XmCIconPixmap
Pixmap
NULL
CSG
XmNiconWindow
XmCIconWindow
Window
NULL
CSG
XmNiconX
XmCIconX
int
XtUnspecifiedShellInt
CSG
XmNiconY
XmCIconY
int
XtUnspecifiedShellInt
CSG
XmNinitialState
XmCInitialState
int
NormalState
CSG
XmNinput
XmCInput
Boolean
True
CSG
XmNmaxAspectX
XmCMaxAspectX
int
XtUnspecifiedShellInt
CSG
XmNmaxAspectY
XmCMaxAspectY
int
XtUnspecifiedShellInt
CSG
XmNmaxHeight
XmCMaxHeight
int
XtUnspecifiedShellInt
CSG
XmNmaxWidth
XmCMaxWidth
int
XtUnspecifiedShellInt
CSG
XmNminAspectX
XmCMinAspectX
int
XtUnspecifiedShellInt
CSG
XmNminAspectY
XmCMinAspectY
int
XtUnspecifiedShellInt
CSG
XmNminHeight
XmCMinHeight
int
XtUnspecifiedShellInt
CSG
XmNminWidth
XmCMinWidth
int
XtUnspecifiedShellInt
CSG
XmNtitle
XmCTitle
String
dynamic
CSG
XmNtitleEncoding
XmCTitleEncoding
Atom
dynamic
CSG
XmNtransient
XmCTransient
Boolean
True
CSG
XmNwaitForWm
XmCWaitForWm
Boolean
True
CSG
XmNwidthInc
XmCWidthInc
int
XtUnspecifiedShellInt
CSG
XmNwindowGroup
XmCWindowGroup
Window
dynamic
CSG
XmNwinGravity
XmCWinGravity
int
dynamic
CSG
XmNwmTimeout
XmCWmTimeout
int
5000 ms
CSG
Note:
If values for XmNminWidth and XmNminHeight are present,
and values for XmNbaseWidth and
XmNbaseHeight are absent,
XmNminWidth and
XmNminHeight will be used as
default values for XmNbaseWidth
and XmNbaseHeight,
and these values will be added to the shell size specified by the user.
To work around this, add arguments during widget
creation to explicitly set XmNbaseWidth and
XmNbaseHeight to zero.