This commit was generated by cvs2svn to compensate for changes in r6453,
[chise/xemacs-chise.git.1] / info / external-widget.info
1 This is Info file ../info/external-widget.info, produced by Makeinfo
2 version 1.68 from the input file external-widget.texi.
3
4 INFO-DIR-SECTION XEmacs Editor
5 START-INFO-DIR-ENTRY
6 * External Widget: (external-widget) External Client Widget.
7 END-INFO-DIR-ENTRY
8
9 \1f
10 File: external-widget.info,  Node: Top,  Next: Using an External Client Widget,  Up: (dir)
11
12    An "external client widget" is a widget that is part of another
13 program but functions as an Emacs frame.  This is intended to be a more
14 powerful replacement for standard text widgets.
15
16 * Menu:
17
18 * Using an External Client Widget::
19 * External Client Widget Resource Settings::
20 * Motif-Specific Info About the External Client Widget::
21
22 \1f
23 File: external-widget.info,  Node: Using an External Client Widget,  Next: External Client Widget Resource Settings,  Prev: Top,  Up: Top
24
25 Using an External Client Widget
26 *******************************
27
28    There are three different implementations of the external client
29 widget.  One is designed for use in Motif applications and is linked
30 with the option `-lextcli_Xm'.  Another is designed for non-Motif
31 applications that still use the X toolkit; it is linked with the option
32 `-lextcli_Xt'.  The third is designed for applications that do not use
33 the X toolkit; it is linked with the option `-lextcli_Xlib'.  In order
34 to use an external client widget in a client program that uses the X
35 toolkit (i.e. either of the first two options described above), simply
36 create an instance of widget type ExternalClient and link your program
37 with the appropriate library.  The corresponding header file is called
38 `ExternalClient.h'.
39
40    Documentation still needs to be provided for using the raw Xlib
41 version of the external client widget.
42
43    The external client widget will not do anything until an instance of
44 Emacs is told about this particular widget.  To do that, call the
45 function `make-frame', specifying a value for the frame parameter
46 `window-id'.  This value should be a string containing the decimal
47 representation of the widget's X window ID number (this can be obtained
48 by the Xt function `XtWindow()').  In order for the client program to
49 communicate this information to Emacs, a method such as sending a
50 ToolTalk message needs to be used.
51
52    Once `make-frame' has been called, Emacs will create a frame that
53 occupies the client widget's window.  This frame can be used just like
54 any other frame in Emacs.
55
56 \1f
57 File: external-widget.info,  Node: External Client Widget Resource Settings,  Next: Motif-Specific Info About the External Client Widget,  Prev: Using an External Client Widget,  Up: Top
58
59 External Client Widget Resource Settings
60 ****************************************
61
62    The external client widget is a subclass of the Motif widget
63 XmPrimitive and thus inherits all its resources.  In addition, the
64 following new resources are defined:
65
66 `deadShell (class DeadShell)'
67      A boolean resource indicating whether the last request to the
68      ExternalShell widget that contains the frame corresponding to this
69      widget timed out.  If true, no further requests will be made (all
70      requests will automatically fail) until a response to the last
71      request is received.  This resource should normally not be set by
72      the user.
73
74 `shellTimeout (class ShellTimeout)'
75      A value specifying how long (in milliseconds) the client should
76      wait for a response when making a request to the corresponding
77      ExternalShell widget.  If this timeout is exceeded, the client
78      will assume that the shell is dead and will fail the request and
79      all subsequent requests until a response to the request is
80      received.  Default value is 5000, or 5 seconds.
81
82    The shell that contains the frame corresponding to an external client
83 widget is of type ExternalShell, as opposed to standard frames, whose
84 shell is of type TopLevelShell.  The ExternalShell widget is a direct
85 subclass of Shell and thus inherits its resources.  In addition, the
86 following new resources are defined:
87
88 `window (class Window)'
89      The X window ID of the widget to use for this Emacs frame.  This is
90      normally set by the call to `x-create-frame' and should not be
91      modified by the user.
92
93 `deadClient (class DeadClient)'
94      A boolean resource indicating whether the last request to the
95      corresponding ExternalClient widget timed out.  If true, no further
96      requests will be made (all requests will automatically fail) until
97      a response to the last request is received.  This resource should
98      normally not be set by the user.
99
100 `ClientTimeout (class ClientTimeout)'
101      A value specifying how long (in milliseconds) the shell should wait
102      for a response when making a request to the corresponding
103      ExternalClient widget.  If this timeout is exceeded, the shell
104      will assume that the client is dead and will fail the request and
105      all subsequent requests until a response to the request is
106      received.  Default value is 5000, or 5 seconds.
107
108    Note that the requests that are made between the client and the shell
109 are primarily for handling query-geometry and geometry-manager requests
110 made by parent or child widgets.
111
112 \1f
113 File: external-widget.info,  Node: Motif-Specific Info About the External Client Widget,  Prev: External Client Widget Resource Settings,  Up: Top
114
115 Motif-Specific Info About the External Client Widget
116 ****************************************************
117
118    By default, the external client widget has navigation type
119 `XmTAB_GROUP'.
120
121    The widget traversal keystrokes are modified slightly from the
122 standard XmPrimitive keystrokes.  In particular, `<TAB>' alone does not
123 traverse to the next widget (`Ctrl-<TAB>' must be used instead), but
124 functions like a normal <TAB> in Emacs.  This follows the semantics of
125 the Motif text widget.  The traversal keystrokes `Ctrl-<TAB>' and
126 `Shift-<TAB>' are silently filtered by the external client widget and
127 are not seen by Emacs.
128
129
130 \1f
131 Tag Table:
132 Node: Top\7f258
133 Node: Using an External Client Widget\7f688
134 Node: External Client Widget Resource Settings\7f2403
135 Node: Motif-Specific Info About the External Client Widget\7f5146
136 \1f
137 End Tag Table