annotate lwlib/lwlib-Xlw.c @ 98007:883843ca3292

* verilog-mode.el (verilog-library-extensions): Enable .sv filename extensions to call verilog-mode. (verilog-auto, verilog-auto-inst, verilog-faq) (verilog-submit-bug-report): Update author support URLs. (verilog-delete-auto, verilog-auto-inout-module) (verilog-auto-inout-comp, verilog-auto): Add AUTOINOUTCOMP for creating complemented testbench modules. Suggested by Yishay Belkind. (verilog-auto-inst-port, verilog-simplify-range-expression): When verilog-auto-inst-param-value is set, don't require a AUTO_TEMPLATE to expand parameter substitutions. Suggested by Yishay Belkind. (verilog-auto-inst-param-value): Add safe variable. (verilog-re-search-forward, verilog-re-search-backward): Fix returning wrong search results on Emacs 22.1. (verilog-modi-cache-results, verilog-auto): Fix warning message about "toggling font-lock-mode." (verilog-auto): Fix loosing font-lock on errors. (verilog-auto-inst-param-value, verilog-mode-version) (verilog-mode-version-date, verilog-read-inst-param-value) (verilog-auto-inst, verilog-auto-inst-param) (verilog-auto-inst-port, verilog-simplify-range-expression): Allow parameters to be replaced with their values, on the expansion of an AUTOINST with Verilog 2001 style parameter settings. Suggested by David Rogoff. * verilog-mode.el (verilog-beg-block-re-ordered, verilog-calc-1): Better support for the property statement. Sometimes this keyword introduces a statement which requires an endproperty keyword, and sometimes it doesn't, dependening on the work before the property word. If property is prefixed with assert, assume or cover keyword, then the statement is ended with a ';' Otherwise, property is like task or specify, and is followed by some number of statements, which are ended with an endproperty keyword. (electric-verilog-tab): Support Emacs 22.2 style handling of tab in a highlighted region: indent each line in region according to mode. Supply this so it works in XEmacs and older Emacs.
author Dan Nicolaescu <dann@ics.uci.edu>
date Fri, 05 Sep 2008 22:13:55 +0000
parents a1c6fb73c033
children 606f2d163a64 3c31d7653adf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1 /* The lwlib interface to "xlwmenu" menus.
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2 Copyright (C) 1992 Lucid, Inc.
64769
6358e3c6075c Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64083
diff changeset
3 Copyright (C) 1994, 2000, 2001, 2002, 2003, 2004,
79747
a1c6fb73c033 Add 2008 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
4 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6 This file is part of the Lucid Widget Library.
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 41767
diff changeset
8 The Lucid Widget Library is free software; you can redistribute it and/or
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9 modify it under the terms of the GNU General Public License as published by
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10 the Free Software Foundation; either version 1, or (at your option)
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11 any later version.
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 The Lucid Widget Library is distributed in the hope that it will be useful,
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 41767
diff changeset
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16 GNU General Public License for more details.
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18 You should have received a copy of the GNU General Public License
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
19 along with GNU Emacs; see the file COPYING. If not, write to
64083
23a17af379b1 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 53564
diff changeset
20 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23a17af379b1 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 53564
diff changeset
21 Boston, MA 02110-1301, USA. */
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
22
26087
e0d966fb548f Add support for large files, plus some locale improvements.
Paul Eggert <eggert@twinsun.com>
parents: 14186
diff changeset
23 #ifdef HAVE_CONFIG_H
e0d966fb548f Add support for large files, plus some locale improvements.
Paul Eggert <eggert@twinsun.com>
parents: 14186
diff changeset
24 #include <config.h>
e0d966fb548f Add support for large files, plus some locale improvements.
Paul Eggert <eggert@twinsun.com>
parents: 14186
diff changeset
25 #endif
e0d966fb548f Add support for large files, plus some locale improvements.
Paul Eggert <eggert@twinsun.com>
parents: 14186
diff changeset
26
51142
45a8df254788 Include lisp.h, not ../src/lisp.h.
Dave Love <fx@gnu.org>
parents: 49600
diff changeset
27 #include "lisp.h"
41767
7fb1caba0f51 Include ../src/lisp.h.
Richard M. Stallman <rms@gnu.org>
parents: 36955
diff changeset
28
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 #include "lwlib-Xlw.h"
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30 #include <X11/StringDefs.h>
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31 #include <X11/IntrinsicP.h>
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 #include <X11/ObjectP.h>
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 #include <X11/CompositeP.h>
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 #include <X11/Shell.h>
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35 #include "xlwmenu.h"
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36
36955
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
37 #if 0
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
38
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
39 #include <stdio.h>
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
40
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
41 /* Print the complete X resource name of widget WIDGET to stderr.
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
42 This is sometimes handy to have available. */
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
43
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
44 void
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
45 x_print_complete_resource_name (widget)
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
46 Widget widget;
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
47 {
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
48 int i;
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
49 String names[100];
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
50
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
51 for (i = 0; i < 100 && widget != NULL; ++i)
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
52 {
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
53 names[i] = XtName (widget);
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
54 widget = XtParent (widget);
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
55 }
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
56
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
57 for (--i; i >= 1; --i)
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
58 fprintf (stderr, "%s.", names[i]);
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
59 fprintf (stderr, "%s\n", names[0]);
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
60 }
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
61
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
62 #endif /* 0 */
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
63
ebb6774c41db (x_print_complete_resource_name) [0]: New function.
Gerd Moellmann <gerd@gnu.org>
parents: 29892
diff changeset
64
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
65 /* Menu callbacks */
27334
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
66
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
67 /* Callback XtNhighlightCallback for Lucid menus. W is the menu
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
68 widget, CLIENT_DATA contains a pointer to the widget_instance
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
69 for the menu, CALL_DATA contains a pointer to the widget_value
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
70 structure for the highlighted menu item. The latter may be null
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
71 if there isn't any highlighted menu item. */
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
72
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
73 static void
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
74 highlight_hook (w, client_data, call_data)
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
75 Widget w;
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
76 XtPointer client_data;
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
77 XtPointer call_data;
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
78 {
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
79 widget_instance *instance = (widget_instance *) client_data;
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
80
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
81 if (instance->info->highlight_cb
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
82 && !w->core.being_destroyed)
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
83 instance->info->highlight_cb (w, instance->info->id, call_data);
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
84 }
b0f7b611a20e (highlight_hook): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 26087
diff changeset
85
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
86 static void
75019
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
87 enter_hook (w, client_data, call_data)
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
88 Widget w;
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
89 XtPointer client_data;
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
90 XtPointer call_data;
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
91 {
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
92 highlight_hook (w, client_data, call_data);
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
93 }
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
94
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
95 static void
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
96 leave_hook (w, client_data, call_data)
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
97 Widget w;
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
98 XtPointer client_data;
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
99 XtPointer call_data;
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
100 {
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
101 highlight_hook (w, client_data, NULL);
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
102 }
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
103
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
104
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
105 static void
5708
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
106 pre_hook (w, client_data, call_data)
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
107 Widget w;
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
108 XtPointer client_data;
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
109 XtPointer call_data;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
110 {
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
111 widget_instance* instance = (widget_instance*)client_data;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
112 widget_value* val;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
113
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
114 if (w->core.being_destroyed)
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
115 return;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
116
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
117 val = lw_get_widget_value_for_widget (instance, w);
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
118 if (instance->info->pre_activate_cb)
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
119 instance->info->pre_activate_cb (w, instance->info->id,
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
120 val ? val->call_data : NULL);
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
121 }
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
122
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
123 static void
5708
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
124 pick_hook (w, client_data, call_data)
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
125 Widget w;
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
126 XtPointer client_data;
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
127 XtPointer call_data;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
128 {
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
129 widget_instance* instance = (widget_instance*)client_data;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
130 widget_value* contents_val = (widget_value*)call_data;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
131 widget_value* widget_val;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
132 XtPointer widget_arg;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
133
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
134 if (w->core.being_destroyed)
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
135 return;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
136
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
137 if (instance->info->selection_cb && contents_val && contents_val->enabled
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
138 && !contents_val->contents)
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
139 instance->info->selection_cb (w, instance->info->id,
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
140 contents_val->call_data);
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
141
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
142 widget_val = lw_get_widget_value_for_widget (instance, w);
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
143 widget_arg = widget_val ? widget_val->call_data : NULL;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
144 if (instance->info->post_activate_cb)
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
145 instance->info->post_activate_cb (w, instance->info->id, widget_arg);
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
146
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
147 }
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
148
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
149 /* creation functions */
5993
5feb28cb62c8 *** empty log message ***
Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr>
parents: 5983
diff changeset
150
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
151 static Widget
5708
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
152 xlw_create_menubar (instance)
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
153 widget_instance* instance;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
154 {
5951
ddd8c555b2fc *** empty log message ***
Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr>
parents: 5708
diff changeset
155 Widget widget;
8786
20cb460b85d3 entered into RCS
Paul Reilly <pmr@pajato.com>
parents: 6040
diff changeset
156 Arg al[5];
6040
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
157 int ac = 0;
5951
ddd8c555b2fc *** empty log message ***
Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr>
parents: 5708
diff changeset
158
6040
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
159 XtSetArg (al[ac], XtNmenu, instance->info->val); ac++;
8786
20cb460b85d3 entered into RCS
Paul Reilly <pmr@pajato.com>
parents: 6040
diff changeset
160 #ifdef emacs
20cb460b85d3 entered into RCS
Paul Reilly <pmr@pajato.com>
parents: 6040
diff changeset
161 XtSetArg (al[ac], XtNshowGrip, 0); ac++;
20cb460b85d3 entered into RCS
Paul Reilly <pmr@pajato.com>
parents: 6040
diff changeset
162 XtSetArg (al[ac], XtNresizeToPreferred, 1); ac++;
20cb460b85d3 entered into RCS
Paul Reilly <pmr@pajato.com>
parents: 6040
diff changeset
163 XtSetArg (al[ac], XtNallowResize, 1); ac++;
20cb460b85d3 entered into RCS
Paul Reilly <pmr@pajato.com>
parents: 6040
diff changeset
164 #endif
5951
ddd8c555b2fc *** empty log message ***
Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr>
parents: 5708
diff changeset
165
6040
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
166 /* This used to use XtVaCreateWidget, but an old Xt version
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
167 has a bug in XtVaCreateWidget that frees instance->info->name. */
6009
f68004daa523 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5993
diff changeset
168 widget
6040
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
169 = XtCreateWidget (instance->info->name, xlwMenuWidgetClass,
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
170 instance->parent, al, ac);
5952
908e36c0235d *** empty log message ***
Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr>
parents: 5951
diff changeset
171
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
172 XtAddCallback (widget, XtNopen, pre_hook, (XtPointer)instance);
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
173 XtAddCallback (widget, XtNselect, pick_hook, (XtPointer)instance);
75019
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
174 XtAddCallback (widget, XtNleaveCallback, leave_hook, (XtPointer)instance);
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
175 XtAddCallback (widget, XtNenterCallback, enter_hook, (XtPointer)instance);
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
176 return widget;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
177 }
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
178
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
179 static Widget
5708
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
180 xlw_create_popup_menu (instance)
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
181 widget_instance* instance;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
182 {
6009
f68004daa523 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5993
diff changeset
183 Widget popup_shell
f68004daa523 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5993
diff changeset
184 = XtCreatePopupShell (instance->info->name, overrideShellWidgetClass,
f68004daa523 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5993
diff changeset
185 instance->parent, NULL, 0);
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 41767
diff changeset
186
5952
908e36c0235d *** empty log message ***
Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr>
parents: 5951
diff changeset
187 Widget widget;
6040
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
188 Arg al[2];
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
189 int ac = 0;
5952
908e36c0235d *** empty log message ***
Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr>
parents: 5951
diff changeset
190
6040
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
191 XtSetArg (al[ac], XtNmenu, instance->info->val); ac++;
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
192 XtSetArg (al[ac], XtNhorizontal, False); ac++;
5952
908e36c0235d *** empty log message ***
Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr>
parents: 5951
diff changeset
193
6040
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
194 /* This used to use XtVaManagedCreateWidget, but an old Xt version
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
195 has a bug in XtVaManagedCreateWidget that frees instance->info->name. */
6009
f68004daa523 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5993
diff changeset
196 widget
6040
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
197 = XtCreateManagedWidget ("popup", xlwMenuWidgetClass,
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
198 popup_shell, al, ac);
5952
908e36c0235d *** empty log message ***
Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr>
parents: 5951
diff changeset
199
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
200 XtAddCallback (widget, XtNselect, pick_hook, (XtPointer)instance);
75019
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
201 XtAddCallback (widget, XtNleaveCallback, leave_hook, (XtPointer)instance);
6be52bf115d4 (enter_hook, leave_hook): New functions
Jan Djärv <jan.h.d@swipnet.se>
parents: 68640
diff changeset
202 XtAddCallback (widget, XtNenterCallback, enter_hook, (XtPointer)instance);
53564
609ef1718642 Changes for lucid popup menus (keyboard traversal enabled) and dialogs
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
203
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
204 return popup_shell;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
205 }
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
206
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 41767
diff changeset
207 widget_creation_entry
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
208 xlw_creation_table [] =
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
209 {
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
210 {"menubar", xlw_create_menubar},
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
211 {"popup", xlw_create_popup_menu},
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
212 {NULL, NULL}
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
213 };
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
214
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
215 Boolean
5708
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
216 lw_lucid_widget_p (widget)
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
217 Widget widget;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
218 {
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
219 WidgetClass the_class = XtClass (widget);
6009
f68004daa523 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5993
diff changeset
220
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
221 if (the_class == xlwMenuWidgetClass)
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
222 return True;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
223 if (the_class == overrideShellWidgetClass)
6009
f68004daa523 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5993
diff changeset
224 return (XtClass (((CompositeWidget)widget)->composite.children [0])
f68004daa523 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5993
diff changeset
225 == xlwMenuWidgetClass);
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
226 return False;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
227 }
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
228
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
229 void
51142
45a8df254788 Include lisp.h, not ../src/lisp.h.
Dave Love <fx@gnu.org>
parents: 49600
diff changeset
230 #ifdef PROTOTYPES
45a8df254788 Include lisp.h, not ../src/lisp.h.
Dave Love <fx@gnu.org>
parents: 49600
diff changeset
231 xlw_update_one_widget (widget_instance* instance, Widget widget,
45a8df254788 Include lisp.h, not ../src/lisp.h.
Dave Love <fx@gnu.org>
parents: 49600
diff changeset
232 widget_value* val, Boolean deep_p)
45a8df254788 Include lisp.h, not ../src/lisp.h.
Dave Love <fx@gnu.org>
parents: 49600
diff changeset
233 #else
5708
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
234 xlw_update_one_widget (instance, widget, val, deep_p)
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
235 widget_instance* instance;
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
236 Widget widget;
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
237 widget_value* val;
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
238 Boolean deep_p;
51142
45a8df254788 Include lisp.h, not ../src/lisp.h.
Dave Love <fx@gnu.org>
parents: 49600
diff changeset
239 #endif
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
240 {
6040
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
241 Arg al[1];
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
242
6040
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
243 /* This used to use XtVaSetValues, but some old Xt versions
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
244 that have a bug in XtVaCreateWidget might have it here too. */
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
245 XtSetArg (al[0], XtNmenu, instance->info->val);
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
246
7988b8acd29f *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6009
diff changeset
247 XtSetValues (widget, al, 1);
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
248 }
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
249
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
250 void
5708
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
251 xlw_update_one_value (instance, widget, val)
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
252 widget_instance* instance;
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
253 Widget widget;
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
254 widget_value* val;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
255 {
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
256 return;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
257 }
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
258
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
259 void
51142
45a8df254788 Include lisp.h, not ../src/lisp.h.
Dave Love <fx@gnu.org>
parents: 49600
diff changeset
260 #ifdef PROTOTYPES
45a8df254788 Include lisp.h, not ../src/lisp.h.
Dave Love <fx@gnu.org>
parents: 49600
diff changeset
261 xlw_pop_instance (widget_instance* instance, Boolean up)
45a8df254788 Include lisp.h, not ../src/lisp.h.
Dave Love <fx@gnu.org>
parents: 49600
diff changeset
262 #else
5708
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
263 xlw_pop_instance (instance, up)
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
264 widget_instance* instance;
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
265 Boolean up;
51142
45a8df254788 Include lisp.h, not ../src/lisp.h.
Dave Love <fx@gnu.org>
parents: 49600
diff changeset
266 #endif
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
267 {
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
268 }
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
269
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
270 void
12745
4da8b8ac5211 (xlw_popup_menu): New arg event.
Richard M. Stallman <rms@gnu.org>
parents: 8786
diff changeset
271 xlw_popup_menu (widget, event)
5708
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
272 Widget widget;
12745
4da8b8ac5211 (xlw_popup_menu): New arg event.
Richard M. Stallman <rms@gnu.org>
parents: 8786
diff changeset
273 XEvent *event;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
274 {
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
275 XlwMenuWidget mw;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
276
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
277 if (!XtIsShell (widget))
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
278 return;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
279
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
280 mw = (XlwMenuWidget)((CompositeWidget)widget)->composite.children [0];
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
281
12745
4da8b8ac5211 (xlw_popup_menu): New arg event.
Richard M. Stallman <rms@gnu.org>
parents: 8786
diff changeset
282 if (event)
53564
609ef1718642 Changes for lucid popup menus (keyboard traversal enabled) and dialogs
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
283 XtCallActionProc ((Widget) mw, "start", event, NULL, 0);
12745
4da8b8ac5211 (xlw_popup_menu): New arg event.
Richard M. Stallman <rms@gnu.org>
parents: 8786
diff changeset
284 else
4da8b8ac5211 (xlw_popup_menu): New arg event.
Richard M. Stallman <rms@gnu.org>
parents: 8786
diff changeset
285 {
53564
609ef1718642 Changes for lucid popup menus (keyboard traversal enabled) and dialogs
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
286 XEvent dummy;
609ef1718642 Changes for lucid popup menus (keyboard traversal enabled) and dialogs
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
287 XButtonPressedEvent *bd = &dummy.xbutton;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
288
53564
609ef1718642 Changes for lucid popup menus (keyboard traversal enabled) and dialogs
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
289 bd->type = ButtonPress;
609ef1718642 Changes for lucid popup menus (keyboard traversal enabled) and dialogs
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
290 bd->serial = 0;
609ef1718642 Changes for lucid popup menus (keyboard traversal enabled) and dialogs
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
291 bd->send_event = 0;
609ef1718642 Changes for lucid popup menus (keyboard traversal enabled) and dialogs
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
292 bd->display = XtDisplay (widget);
609ef1718642 Changes for lucid popup menus (keyboard traversal enabled) and dialogs
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
293 bd->window = XtWindow (XtParent (widget));
609ef1718642 Changes for lucid popup menus (keyboard traversal enabled) and dialogs
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
294 bd->time = CurrentTime;
609ef1718642 Changes for lucid popup menus (keyboard traversal enabled) and dialogs
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
295 bd->button = 0;
609ef1718642 Changes for lucid popup menus (keyboard traversal enabled) and dialogs
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
296 XQueryPointer (bd->display, bd->window, &bd->root,
609ef1718642 Changes for lucid popup menus (keyboard traversal enabled) and dialogs
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
297 &bd->subwindow, &bd->x_root, &bd->y_root,
609ef1718642 Changes for lucid popup menus (keyboard traversal enabled) and dialogs
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
298 &bd->x, &bd->y, &bd->state);
609ef1718642 Changes for lucid popup menus (keyboard traversal enabled) and dialogs
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
299
609ef1718642 Changes for lucid popup menus (keyboard traversal enabled) and dialogs
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
300 XtCallActionProc ((Widget) mw, "start", &dummy, NULL, 0);
12745
4da8b8ac5211 (xlw_popup_menu): New arg event.
Richard M. Stallman <rms@gnu.org>
parents: 8786
diff changeset
301 }
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
302 }
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
303
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
304 /* Destruction of instances */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
305 void
5708
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
306 xlw_destroy_instance (instance)
4870efc489ea *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
307 widget_instance* instance;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
308 {
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
309 if (instance->widget)
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
310 XtDestroyWidget (instance->widget);
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
311 }
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
312
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51142
diff changeset
313 /* arch-tag: 541e3912-477d-406e-9bf2-dbf2b7ff8c3b
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51142
diff changeset
314 (do not change this comment) */