Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmDisplay(Xm) — OpenDesktop Software Development System 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought


 XmDisplay(Xm)                  6 January 1993                  XmDisplay(Xm)


 Name

    XmDisplay - the Display widget class

 Syntax


    #include <Xm/Display.h>


 Description

    The XmDisplay object is used by the Motif widgets to store information
    that is specific to a display. It also allows the toolkit to access cer-
    tain information on widget hierarchies that would otherwise be unavail-
    able. Each client has one XmDisplay object for each display it accesses.

    An XmDisplay object is automatically created when the application creates
    the first shell on a display (usually accomplished by a call to XtAppIni-
    tialize or XtAppCreateShell). It is not necessary to create an XmDisplay
    object by any other means. An application can use the function
    XmGetXmDisplay to obtain the widget ID of the XmDisplay object for a
    given display.

    An application cannot supply initial values for XmDisplay resources as
    arguments to a call to any function that creates widgets. The application
    or user can supply initial values in a resource file. After creating the
    first shell on the display, the application can use XmGetXmDisplay to
    obtain the widget ID of the XmDisplay object and then call XtSetValues to
    set the XmDisplay resources.

    XmDisplay resources specify the drag protocol style for a client partici-
    pating in drag and drop transactions. There are two basic protocol types,
    preregister and dynamic. When a preregister protocol is used, the toolkit
    handles any communication between the initiator and receiver clients, and
    displays the appropriate drag-over and drag-under visual effects. A
    client registers its drop sites in advance and this information is stored
    in a property for each top-level window. When the drag pointer enters a
    top level window, the drop site information is read by the initiator. A
    dynamic protocol allows the source and destination clients to dynamically
    communicate drag and drop state information between each other, and to
    update their respective visuals accordingly. The toolkit provides drop
    site information as the pointer passes over any given drop site.  In this
    mode, a receiver can supply a procedure to generate its own drag-under
    effects.

    Classes

    Display inherits behavior and resources from Core, Composite, Shell,
    WMShell, VendorShell, TopLevelShell, and ApplicationShell classes.

    The class pointer is xmDisplayClass.

    The class name is XmDisplay.

    New resources

    The following table defines a set of widget resources used by the pro-
    grammer to specify data. The programmer can also set the resource values
    for the inherited classes to set attributes for this widget.  To refer-
    ence a resource by name or by class in an .Xdefaults file, remove the
    ``XmN'' or ``XmC'' prefix and use the remaining letters.  To specify one
    of the defined values for a resource in an .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).

 XmDisplay resource set

 ____________________________________________________________________________
 Name                Class              Type       Default    Access
 ____________________________________________________________________________
 XmNdefaultVirtual-  DefaultVirtual-    String     dynamic    CG
 Bindings            Bindings
 XmNdragInitiator-   XmCDragInitiator-  unsigned   char       XmDRAG_PREFER_-
 ProtocolStyle       ProtocolStyle                            RECEIVER
 XmNdragReceiver-    XmCDragReceiver-   unsigned   char       XmDRAG_PREFER_-
 ProtocolStyle       ProtocolStyle                            PREREGISTER

    XmNdefaultVirtualBindings
            Specifies the default virtual bindings for the display.  Follow-
            ing is an example of a specification for the defaultVirtualBind-
            ings resource in a resource file:

            *defaultVirtualBindings: \
                osfBackSpace    :   <Key>BackSpace  \n\
                osfInsert   :   <Key>InsertChar \n\
            ...
                osfDelete   :   <Key>DeleteChar

    XmNdragInitiatorProtocolStyle
            Specifies the drag and drop protocol requirements or preference
            when the client is an initiator. The possible values are:

            +  XmDRAGPREREGISTER -- as an initiator, this client does not
               use the dynamic protocol and can only arrange visual effects
               with receivers who provide preregistered information.

            +  XmDRAGDYNAMIC -- as an initiator, this client does not make
               use of any preregistered drop site information made available
               by other clients, and can only arrange visual effects with
               receivers who use the dynamic protocol.

            +  XmDRAGNONE -- specifies that drag and drop is disabled for
               this client.

            +  XmDRAGDROPONLY -- as an initiator, this client does not use
               either the preregistered drop site information or the dynamic
               protocol. It supports dragging, and any time the cursor is
               over a client that supports drag and drop, valid feedback is
               provided. There are no other visual effects.

            +  XmDRAGPREFERDYNAMIC -- as an initiator, this client can sup-
               port both the preregister and dynamic protocols, but prefers
               to use dynamic protocols whenever possible in order to provide
               high-quality drag-under feedback.

            +  XmDRAGPREFERPREREGISTER -- as an initiator, this client can
               support both the preregister and dynamic protocols, but
               prefers to use the preregister protocol whenever possible in
               order to accommodate performance needs or to provide con-
               sistent drag-over feedback.

            +  XmDRAGPREFERRECEIVER -- indicates that this client can sup-
               port both preregister and dynamic protocols, but will defer to
               the preference of the receiver client.  This value is valid
               only for the XmNdragInitiatorProtocolStyle resource, and is
               its default value.

    XmNdragReceiverProtocolStyle
            Specifies the drag and drop protocol requirements or preference
            when this client is a receiver. The values are:

            +  XmDRAGPREREGISTER -- as a receiver, this client preregisters
               drop site information and does not use the dynamic protocol.
               It can only arrange visual effects with initiators who make
               use of the preregistered information.

            +  XmDRAGDYNAMIC -- as a receiver, this client uses the dynamic
               protocol and does not preregister drop site information. It
               can only arrange visual effects with initiators who use the
               dynamic protocol.

            +  XmDRAGNONE -- specifies that drag and drop is disabled for
               this client.

            +  XmDRAGDROPONLY -- as a receiver, this client neither uses
               the dynamic protocol nor preregisters drop site information.
               It supports dropping, and when dragging over this client,
               valid feedback is always provided, but there are no other
               visual effects.

            +  XmDRAGPREFERDYNAMIC -- as a receiver, this client can sup-
               port both the preregister and dynamic protocols, but prefers
               to use dynamic protocol whenever possible in order to provide
               high-quality drag-under feedback.

            +  XmDRAGPREFERPREREGISTER -- as a receiver, this client can
               support both the preregister and dynamic protocols, but
               prefers to use the preregister protocol whenever possible in
               order to accommodate performance needs.

    The actual protocol used between an initiator and a receiver is based on
    the protocol style of the receiver and initiator. The decision matrix is
    as follows:

 __________________|_________________________________________________________
 Drag initiator    |              Drag receiver protocol style


                   |___________|_____________________________________________
 protocol style    |Preregister| Prefer Preregister Prefer Dynamic  Dynamic
 __________________|___________|_____________________________________________
 Preregister       |Preregister| Preregister        Preregister     Drop only
 Prefer Preregister|Preregister| Preregister        Preregister     Dynamic
 Prefer Receiver   |Preregister| Preregister        Dynamic         Dynamic
 Prefer Dynamic    |Preregister| Dynamic            Dynamic         Dynamic
 Dynamic           |Drop only  | Dynamic            Dynamic         Dynamic

    The value XmDRAGNONE does not appear in the above matrix. When specified
    for either the initiator or receiver side, XmDRAGNONE implies that drag
    and drop transactions are not supported. A value of XmDRAGDROPONLY
    (Drop Only) results when an initiator and receiver cannot compromise pro-
    tocol styles, that is, one client requires dynamic mode while the other
    can only support preregister mode, or if either explicitly has specified
    XmDRAGDROPONLY.

    Inherited resources

    All of the superclass resources inherited by XmDisplay are designated N/A
    (not applicable).

 See also

    ApplicationShell(Xm), Composite(Xm), Core(Xm), TopLevelShell(Xm),
    VendorShell(Xm), WMShell(Xm), XmGetXmDisplay(Xm) and XmScreen(Xm).



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026