annotate lwlib/lwlib.h @ 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
76178
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
1 /*
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
2 Copyright (C) 1992, 1993 Lucid, Inc.
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
3 Copyright (C) 1994, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
79747
a1c6fb73c033 Add 2008 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 76178
diff changeset
4 2007, 2008 Free Software Foundation, Inc.
76178
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
5
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
6 This file is part of the Lucid Widget Library.
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
7
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
8 The Lucid Widget Library is free software; you can redistribute it and/or
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
9 modify it under the terms of the GNU General Public License as published by
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
10 the Free Software Foundation; either version 1, or (at your option)
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
11 any later version.
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
12
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
13 The Lucid Widget Library is distributed in the hope that it will be useful,
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
16 GNU General Public License for more details.
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
17
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
18 You should have received a copy of the GNU General Public License
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
19 along with GNU Emacs; see the file COPYING. If not, write to
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
20 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
21 Boston, MA 02110-1301, USA. */
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
22
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 56845
diff changeset
23
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24 #ifndef LWLIB_H
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25 #define LWLIB_H
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27 #include <X11/Intrinsic.h>
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 /*
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30 ** Widget values depend on the Widget type:
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 41766
diff changeset
31 **
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 ** widget: (name value key enabled data contents/selected)
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 **
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 ** label: ("name" "string" NULL NULL NULL NULL)
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35 ** button: ("name" "string" "key" T/F data <default-button-p>)
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 41766
diff changeset
36 ** button w/menu:
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37 ** ("name" "string" "key" T/F data (label|button|button w/menu...))
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38 ** menubar: ("name" NULL NULL T/F data (button w/menu))
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39 ** selectable thing:
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
40 ** ("name" "string" "key" T/F data T/F)
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
41 ** checkbox: selectable thing
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42 ** radio: ("name" NULL NULL T/F data (selectable thing...))
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43 ** strings: ("name" NULL NULL T/F data (selectable thing...))
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
44 ** text: ("name" "string" <ign> T/F data)
8784
0166e4ab659a *** empty log message ***
Paul Reilly <pmr@pajato.com>
parents: 5706
diff changeset
45 ** main: ("name")
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
46 */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
47
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
48 typedef unsigned long LWLIB_ID;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
49
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
50 typedef enum _change_type
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
51 {
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
52 NO_CHANGE = 0,
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
53 INVISIBLE_CHANGE = 1,
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
54 VISIBLE_CHANGE = 2,
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
55 STRUCTURAL_CHANGE = 3
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
56 } change_type;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
57
25035
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
58 enum button_type
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
59 {
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
60 BUTTON_TYPE_NONE,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
61 BUTTON_TYPE_TOGGLE,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
62 BUTTON_TYPE_RADIO
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
63 };
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
64
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
65 /* Menu separator types. */
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
66
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
67 enum menu_separator
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
68 {
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
69 /* These values are Motif compatible. */
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
70 SEPARATOR_NO_LINE,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
71 SEPARATOR_SINGLE_LINE,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
72 SEPARATOR_DOUBLE_LINE,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
73 SEPARATOR_SINGLE_DASHED_LINE,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
74 SEPARATOR_DOUBLE_DASHED_LINE,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
75 SEPARATOR_SHADOW_ETCHED_IN,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
76 SEPARATOR_SHADOW_ETCHED_OUT,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
77 SEPARATOR_SHADOW_ETCHED_IN_DASH,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
78 SEPARATOR_SHADOW_ETCHED_OUT_DASH,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
79
41766
32d440813da1 (_widget_value): `help' has type Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 29466
diff changeset
80 /* The following are supported by Lucid menus. */
25035
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
81 SEPARATOR_SHADOW_DOUBLE_ETCHED_IN,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
82 SEPARATOR_SHADOW_DOUBLE_ETCHED_OUT,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
83 SEPARATOR_SHADOW_DOUBLE_ETCHED_IN_DASH,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
84 SEPARATOR_SHADOW_DOUBLE_ETCHED_OUT_DASH
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
85 };
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
86
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
87 typedef struct _widget_value
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
88 {
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
89 /* name of widget */
56845
8a28788cef84 * lwlib.h (_widget_value): Added lname and lkey.
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
90 Lisp_Object lname;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
91 char* name;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
92 /* value (meaning depend on widget type) */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
93 char* value;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 41766
diff changeset
94 /* keyboard equivalent. no implications for XtTranslations */
56845
8a28788cef84 * lwlib.h (_widget_value): Added lname and lkey.
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
95 Lisp_Object lkey;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
96 char* key;
41766
32d440813da1 (_widget_value): `help' has type Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 29466
diff changeset
97 /* Help string or nil if none.
32d440813da1 (_widget_value): `help' has type Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 29466
diff changeset
98 GC finds this string through the frame's menu_bar_vector
32d440813da1 (_widget_value): `help' has type Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 29466
diff changeset
99 or through menu_items. */
32d440813da1 (_widget_value): `help' has type Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 29466
diff changeset
100 Lisp_Object help;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
101 /* true if enabled */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
102 Boolean enabled;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
103 /* true if selected */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
104 Boolean selected;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
105 /* true if was edited (maintained by get_value) */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
106 Boolean edited;
25035
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
107 /* The type of a button. */
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
108 enum button_type button_type;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
109 /* true if has changed (maintained by lw library) */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
110 change_type change;
14878
487b03096cc5 (struct widget_value): New field this_one_change.
Richard M. Stallman <rms@gnu.org>
parents: 14018
diff changeset
111 /* true if this widget itself has changed,
487b03096cc5 (struct widget_value): New field this_one_change.
Richard M. Stallman <rms@gnu.org>
parents: 14018
diff changeset
112 but not counting the other widgets found in the `next' field. */
487b03096cc5 (struct widget_value): New field this_one_change.
Richard M. Stallman <rms@gnu.org>
parents: 14018
diff changeset
113 change_type this_one_change;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
114 /* Contents of the sub-widgets, also selected slot for checkbox */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
115 struct _widget_value* contents;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
116 /* data passed to callback */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
117 XtPointer call_data;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
118 /* next one in the list */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
119 struct _widget_value* next;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
120 /* slot for the toolkit dependent part. Always initialize to NULL. */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
121 void* toolkit_data;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
122 /* tell us if we should free the toolkit data slot when freeing the
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
123 widget_value itself. */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
124 Boolean free_toolkit_data;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
125
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
126 /* we resource the widget_value structures; this points to the next
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
127 one on the free list if this one has been deallocated.
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 struct _widget_value *free_list;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
130 } widget_value;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
131
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
132
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
133 typedef void (*lw_callback) __P ((Widget w, LWLIB_ID id, void* data));
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
134
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
135 void lw_register_widget __P ((char* type, char* name, LWLIB_ID id,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
136 widget_value* val, lw_callback pre_activate_cb,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
137 lw_callback selection_cb,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
138 lw_callback post_activate_cb,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
139 lw_callback highlight_cb));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
140 Widget lw_get_widget __P ((LWLIB_ID id, Widget parent, Boolean pop_up_p));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
141 Widget lw_make_widget __P ((LWLIB_ID id, Widget parent, Boolean pop_up_p));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
142 Widget lw_create_widget __P ((char* type, char* name, LWLIB_ID id,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
143 widget_value* val, Widget parent, Boolean pop_up_p,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
144 lw_callback pre_activate_cb,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
145 lw_callback selection_cb,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
146 lw_callback post_activate_cb,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
147 lw_callback highlight_cb));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
148 LWLIB_ID lw_get_widget_id __P ((Widget w));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
149 int lw_modify_all_widgets __P ((LWLIB_ID id, widget_value* val, Boolean deep_p));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
150 void lw_destroy_widget __P ((Widget w));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
151 void lw_destroy_all_widgets __P ((LWLIB_ID id));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
152 void lw_destroy_everything __P ((void));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
153 void lw_destroy_all_pop_ups __P ((void));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
154 Widget lw_raise_all_pop_up_widgets __P ((void));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
155 widget_value* lw_get_all_values __P ((LWLIB_ID id));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
156 Boolean lw_get_some_values __P ((LWLIB_ID id, widget_value* val));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
157 void lw_pop_up_all_widgets __P ((LWLIB_ID id));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
158 void lw_pop_down_all_widgets __P ((LWLIB_ID id));
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
159 widget_value *malloc_widget_value ();
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
160 void free_widget_value __P ((widget_value *));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
161 void lw_popup_menu __P ((Widget, XEvent *));
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
162
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
163 /* Toolkit independent way of focusing on a Widget at the Xt level. */
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
164 void lw_set_keyboard_focus __P ((Widget parent, Widget w));
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
165
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
166 /* Silly Energize hack to invert the "sheet" button */
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
167 void lw_show_busy __P ((Widget w, Boolean busy));
8784
0166e4ab659a *** empty log message ***
Paul Reilly <pmr@pajato.com>
parents: 5706
diff changeset
168
0166e4ab659a *** empty log message ***
Paul Reilly <pmr@pajato.com>
parents: 5706
diff changeset
169 /* Silly hack to assist with Lucid/Athena geometry management. */
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
170 void lw_refigure_widget __P ((Widget w, Boolean doit));
8784
0166e4ab659a *** empty log message ***
Paul Reilly <pmr@pajato.com>
parents: 5706
diff changeset
171
0166e4ab659a *** empty log message ***
Paul Reilly <pmr@pajato.com>
parents: 5706
diff changeset
172 /* Toolkit independent way of determining if an event occurred on a
0166e4ab659a *** empty log message ***
Paul Reilly <pmr@pajato.com>
parents: 5706
diff changeset
173 menubar. */
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
174 Boolean lw_window_is_in_menubar __P ((Window win, Widget menubar_widget));
8784
0166e4ab659a *** empty log message ***
Paul Reilly <pmr@pajato.com>
parents: 5706
diff changeset
175
0166e4ab659a *** empty log message ***
Paul Reilly <pmr@pajato.com>
parents: 5706
diff changeset
176 /* Manage resizing: TRUE permits resizing widget w; FALSE disallows it. */
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
177 void lw_allow_resizing __P ((Widget w, Boolean flag));
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
178
9064
d716ea8937e2 entered into RCS
Paul Reilly <pmr@pajato.com>
parents: 8784
diff changeset
179 /* Set up the main window. */
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
180 void lw_set_main_areas __P ((Widget parent,
9064
d716ea8937e2 entered into RCS
Paul Reilly <pmr@pajato.com>
parents: 8784
diff changeset
181 Widget menubar,
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
182 Widget work_area));
9064
d716ea8937e2 entered into RCS
Paul Reilly <pmr@pajato.com>
parents: 8784
diff changeset
183
25035
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
184 /* Value is non-zero if LABEL is a menu separator. If it is, *TYPE is
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
185 set to an appropriate enumerator of type enum menu_separator.
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
186 MOTIF_P non-zero means map separator types not supported by Motif
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
187 to similar ones that are supported. */
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
188
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
189 int lw_separator_p __P ((char *label, enum menu_separator *type,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
190 int motif_p));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
191
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
192 void lwlib_bcopy __P ((char*, char*, int));
25035
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
193
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
194 #endif /* LWLIB_H */
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
195
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
196 /* arch-tag: 44d818d5-7eb2-4d87-acd7-b992bb0d5d20
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
197 (do not change this comment) */