Mercurial > hg > xemacs-beta
comparison man/external-widget.texi @ 428:3ecd8885ac67 r21-2-22
Import from CVS: tag r21-2-22
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:28:15 +0200 |
parents | |
children | bb2ecf4a4a16 |
comparison
equal
deleted
inserted
replaced
427:0a0253eac470 | 428:3ecd8885ac67 |
---|---|
1 \input texinfo @c -*-texinfo-*- | |
2 @setfilename ../info/external-widget.info | |
3 | |
4 @ifinfo | |
5 @dircategory XEmacs Editor | |
6 @direntry | |
7 * External Widget: (external-widget) External Client Widget. | |
8 @end direntry | |
9 @end ifinfo | |
10 | |
11 @node Top, Using an External Client Widget,, (dir) | |
12 | |
13 An @dfn{external client widget} is a widget that is part of another program | |
14 but functions as an Emacs frame. This is intended to be a more | |
15 powerful replacement for standard text widgets. | |
16 | |
17 @menu | |
18 * Using an External Client Widget:: | |
19 * External Client Widget Resource Settings:: | |
20 * Motif-Specific Info About the External Client Widget:: | |
21 @end menu | |
22 | |
23 | |
24 @node Using an External Client Widget, External Client Widget Resource Settings, Top, Top | |
25 @chapter Using an External Client Widget | |
26 | |
27 There are three different implementations of the external client widget. | |
28 One is designed for use in Motif applications and is linked with the | |
29 option @code{-lextcli_Xm}. Another is designed for non-Motif | |
30 applications that still use the X toolkit; it is linked with the option | |
31 @code{-lextcli_Xt}. The third is designed for applications that do not | |
32 use the X toolkit; it is linked with the option @code{-lextcli_Xlib}. | |
33 In order to use an external client widget in a client program that uses | |
34 the X toolkit (i.e. either of the first two options described above), | |
35 simply create an instance of widget type ExternalClient and link your | |
36 program with the appropriate library. The corresponding header file is | |
37 called @file{ExternalClient.h}. | |
38 | |
39 Documentation still needs to be provided for using the raw Xlib | |
40 version of the external client widget. | |
41 | |
42 The external client widget will not do anything until an instance of | |
43 Emacs is told about this particular widget. To do that, call the | |
44 function @code{make-frame}, specifying a value for the frame parameter | |
45 @code{window-id}. This value should be a string containing the decimal | |
46 representation of the widget's X window ID number (this can be obtained | |
47 by the Xt function @code{XtWindow()}). In order for the client program | |
48 to communicate this information to Emacs, a method such as sending a | |
49 ToolTalk message needs to be used. | |
50 | |
51 Once @code{make-frame} has been called, Emacs will create a frame | |
52 that occupies the client widget's window. This frame can be used just | |
53 like any other frame in Emacs. | |
54 | |
55 | |
56 @node External Client Widget Resource Settings, Motif-Specific Info About the External Client Widget, Using an External Client Widget, Top | |
57 @chapter External Client Widget Resource Settings | |
58 | |
59 The external client widget is a subclass of the Motif widget XmPrimitive | |
60 and thus inherits all its resources. In addition, the following new | |
61 resources are defined: | |
62 | |
63 @table @samp | |
64 @item deadShell (class DeadShell) | |
65 A boolean resource indicating whether the last request to the | |
66 ExternalShell widget that contains the frame corresponding to this | |
67 widget timed out. If true, no further requests will be made (all | |
68 requests will automatically fail) until a response to the last | |
69 request is received. This resource should normally not be set by the | |
70 user. | |
71 | |
72 @item shellTimeout (class ShellTimeout) | |
73 A value specifying how long (in milliseconds) the client should wait | |
74 for a response when making a request to the corresponding ExternalShell | |
75 widget. If this timeout is exceeded, the client will assume that the | |
76 shell is dead and will fail the request and all subsequent requests | |
77 until a response to the request is received. Default value is 5000, | |
78 or 5 seconds. | |
79 @end table | |
80 | |
81 The shell that contains the frame corresponding to an external client | |
82 widget is of type ExternalShell, as opposed to standard frames, whose | |
83 shell is of type TopLevelShell. The ExternalShell widget is a direct | |
84 subclass of Shell and thus inherits its resources. In addition, the | |
85 following new resources are defined: | |
86 | |
87 @table @samp | |
88 @item 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 @code{x-create-frame} and should not be | |
91 modified by the user. | |
92 | |
93 @item 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 a | |
97 response to the last request is received. This resource should | |
98 normally not be set by the user. | |
99 | |
100 @item 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 ExternalClient | |
103 widget. If this timeout is exceeded, the shell will assume that the | |
104 client is dead and will fail the request and all subsequent requests | |
105 until a response to the request is received. Default value is 5000, | |
106 or 5 seconds. | |
107 @end table | |
108 | |
109 Note that the requests that are made between the client and the shell | |
110 are primarily for handling query-geometry and geometry-manager requests | |
111 made by parent or child widgets. | |
112 | |
113 | |
114 @node Motif-Specific Info About the External Client Widget, , External Client Widget Resource Settings, Top | |
115 @chapter Motif-Specific Info About the External Client Widget | |
116 | |
117 By default, the external client widget has navigation type | |
118 @samp{XmTAB_GROUP}. | |
119 | |
120 The widget traversal keystrokes are modified slightly from the standard | |
121 XmPrimitive keystrokes. In particular, @kbd{@key{TAB}} alone does not | |
122 traverse to the next widget (@kbd{Ctrl-@key{TAB}} must be used instead), | |
123 but functions like a normal @key{TAB} in Emacs. This follows the | |
124 semantics of the Motif text widget. The traversal keystrokes | |
125 @kbd{Ctrl-@key{TAB}} and @kbd{Shift-@key{TAB}} are silently filtered by | |
126 the external client widget and are not seen by Emacs. | |
127 | |
128 @summarycontents | |
129 @contents | |
130 @bye |