annotate lwlib/lwlib.h @ 58195:c12b583f54b9

Fixed these problems: ** Clicking on partially visible lines fails From: David Kastrup <dak@gnu.org> Date: 27 Apr 2004 16:42:58 +0200 I had gnus display a mouse-highlighted line (a URL from browse-url) partially at the bottom of its window. If I click with middle mouse key on it, the window gets recentered while I hold the mouse key pressed. If I release it, the window returns into its old position (cursor in top row) and nothing happens, presumably because the click was not registered on the line itself, but on the magically recentered version. That is a nuisance. Recentering of even partially visible click targets should only happen if window-point moves there, but not at the time of the click. From the moment I hold down a key until it gets released, the displayed window portion should not change, with the sole exception of scrolling when dragging at the edge of the screen. (progn (setq line-spacing 4) (dotimes (i (window-height)) (insert "\n" (int-to-string i))) (forward-line -2) (recenter -1)) ** Can't drag modeline when mouse-autoselect-window is set From: Klaus Zeitler <kzeitler@lucent.com> Date: Mon, 11 Oct 2004 11:14:49 +0200 1. start emacs -q --no-site-file 2. set variable mouse-autoselect-window to t 3. split-window-vertically now I can drag the modeline only upwards but not downwards
author Kim F. Storm <storm@cua.dk>
date Sat, 13 Nov 2004 01:40:36 +0000
parents 8a28788cef84
children 9f78501bf1f3 3219f94257bc
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 #ifndef LWLIB_H
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2 #define LWLIB_H
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4 #include <X11/Intrinsic.h>
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 /*
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7 ** Widget values depend on the Widget type:
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 41766
diff changeset
8 **
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9 ** widget: (name value key enabled data contents/selected)
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10 **
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11 ** label: ("name" "string" NULL NULL NULL NULL)
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 ** button: ("name" "string" "key" T/F data <default-button-p>)
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 41766
diff changeset
13 ** button w/menu:
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14 ** ("name" "string" "key" T/F data (label|button|button w/menu...))
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15 ** menubar: ("name" NULL NULL T/F data (button w/menu))
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16 ** selectable thing:
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 ** ("name" "string" "key" T/F data T/F)
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18 ** checkbox: selectable thing
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
19 ** radio: ("name" NULL NULL T/F data (selectable thing...))
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
20 ** strings: ("name" NULL NULL T/F data (selectable thing...))
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
21 ** text: ("name" "string" <ign> T/F data)
8784
0166e4ab659a *** empty log message ***
Paul Reilly <pmr@pajato.com>
parents: 5706
diff changeset
22 ** main: ("name")
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
23 */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25 typedef unsigned long LWLIB_ID;
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 typedef enum _change_type
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 NO_CHANGE = 0,
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30 INVISIBLE_CHANGE = 1,
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31 VISIBLE_CHANGE = 2,
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 STRUCTURAL_CHANGE = 3
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 } change_type;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34
25035
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
35 enum button_type
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
36 {
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
37 BUTTON_TYPE_NONE,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
38 BUTTON_TYPE_TOGGLE,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
39 BUTTON_TYPE_RADIO
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
40 };
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
41
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
42 /* Menu separator types. */
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
43
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
44 enum menu_separator
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
45 {
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
46 /* These values are Motif compatible. */
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
47 SEPARATOR_NO_LINE,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
48 SEPARATOR_SINGLE_LINE,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
49 SEPARATOR_DOUBLE_LINE,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
50 SEPARATOR_SINGLE_DASHED_LINE,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
51 SEPARATOR_DOUBLE_DASHED_LINE,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
52 SEPARATOR_SHADOW_ETCHED_IN,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
53 SEPARATOR_SHADOW_ETCHED_OUT,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
54 SEPARATOR_SHADOW_ETCHED_IN_DASH,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
55 SEPARATOR_SHADOW_ETCHED_OUT_DASH,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
56
41766
32d440813da1 (_widget_value): `help' has type Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 29466
diff changeset
57 /* The following are supported by Lucid menus. */
25035
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
58 SEPARATOR_SHADOW_DOUBLE_ETCHED_IN,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
59 SEPARATOR_SHADOW_DOUBLE_ETCHED_OUT,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
60 SEPARATOR_SHADOW_DOUBLE_ETCHED_IN_DASH,
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
61 SEPARATOR_SHADOW_DOUBLE_ETCHED_OUT_DASH
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
62 };
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
63
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
64 typedef struct _widget_value
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
65 {
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
66 /* 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
67 Lisp_Object lname;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
68 char* name;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
69 /* value (meaning depend on widget type) */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
70 char* value;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 41766
diff changeset
71 /* 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
72 Lisp_Object lkey;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
73 char* key;
41766
32d440813da1 (_widget_value): `help' has type Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 29466
diff changeset
74 /* Help string or nil if none.
32d440813da1 (_widget_value): `help' has type Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 29466
diff changeset
75 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
76 or through menu_items. */
32d440813da1 (_widget_value): `help' has type Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 29466
diff changeset
77 Lisp_Object help;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
78 /* true if enabled */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
79 Boolean enabled;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
80 /* true if selected */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
81 Boolean selected;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
82 /* true if was edited (maintained by get_value) */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
83 Boolean edited;
25035
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
84 /* The type of a button. */
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
85 enum button_type button_type;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
86 /* true if has changed (maintained by lw library) */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
87 change_type change;
14878
487b03096cc5 (struct widget_value): New field this_one_change.
Richard M. Stallman <rms@gnu.org>
parents: 14018
diff changeset
88 /* 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
89 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
90 change_type this_one_change;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
91 /* Contents of the sub-widgets, also selected slot for checkbox */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
92 struct _widget_value* contents;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
93 /* data passed to callback */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
94 XtPointer call_data;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
95 /* next one in the list */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
96 struct _widget_value* next;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
97 /* slot for the toolkit dependent part. Always initialize to NULL. */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
98 void* toolkit_data;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
99 /* 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
100 widget_value itself. */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
101 Boolean free_toolkit_data;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
102
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
103 /* we resource the widget_value structures; this points to the next
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
104 one on the free list if this one has been deallocated.
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
105 */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
106 struct _widget_value *free_list;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
107 } widget_value;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
108
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
109
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
110 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
111
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
112 void lw_register_widget __P ((char* type, char* name, LWLIB_ID id,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
113 widget_value* val, lw_callback pre_activate_cb,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
114 lw_callback selection_cb,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
115 lw_callback post_activate_cb,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
116 lw_callback highlight_cb));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
117 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
118 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
119 Widget lw_create_widget __P ((char* type, char* name, LWLIB_ID id,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
120 widget_value* val, Widget parent, Boolean pop_up_p,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
121 lw_callback pre_activate_cb,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
122 lw_callback selection_cb,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
123 lw_callback post_activate_cb,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
124 lw_callback highlight_cb));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
125 LWLIB_ID lw_get_widget_id __P ((Widget w));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
126 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
127 void lw_destroy_widget __P ((Widget w));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
128 void lw_destroy_all_widgets __P ((LWLIB_ID id));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
129 void lw_destroy_everything __P ((void));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
130 void lw_destroy_all_pop_ups __P ((void));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
131 Widget lw_raise_all_pop_up_widgets __P ((void));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
132 widget_value* lw_get_all_values __P ((LWLIB_ID id));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
133 Boolean lw_get_some_values __P ((LWLIB_ID id, widget_value* val));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
134 void lw_pop_up_all_widgets __P ((LWLIB_ID id));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
135 void lw_pop_down_all_widgets __P ((LWLIB_ID id));
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
136 widget_value *malloc_widget_value ();
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
137 void free_widget_value __P ((widget_value *));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
138 void lw_popup_menu __P ((Widget, XEvent *));
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
139
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
140 /* 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
141 void lw_set_keyboard_focus __P ((Widget parent, Widget w));
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
142
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
143 /* Silly Energize hack to invert the "sheet" button */
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
144 void lw_show_busy __P ((Widget w, Boolean busy));
8784
0166e4ab659a *** empty log message ***
Paul Reilly <pmr@pajato.com>
parents: 5706
diff changeset
145
0166e4ab659a *** empty log message ***
Paul Reilly <pmr@pajato.com>
parents: 5706
diff changeset
146 /* Silly hack to assist with Lucid/Athena geometry management. */
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
147 void lw_refigure_widget __P ((Widget w, Boolean doit));
8784
0166e4ab659a *** empty log message ***
Paul Reilly <pmr@pajato.com>
parents: 5706
diff changeset
148
0166e4ab659a *** empty log message ***
Paul Reilly <pmr@pajato.com>
parents: 5706
diff changeset
149 /* Toolkit independent way of determining if an event occurred on a
0166e4ab659a *** empty log message ***
Paul Reilly <pmr@pajato.com>
parents: 5706
diff changeset
150 menubar. */
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
151 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
152
0166e4ab659a *** empty log message ***
Paul Reilly <pmr@pajato.com>
parents: 5706
diff changeset
153 /* Manage resizing: TRUE permits resizing widget w; FALSE disallows it. */
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
154 void lw_allow_resizing __P ((Widget w, Boolean flag));
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
155
9064
d716ea8937e2 entered into RCS
Paul Reilly <pmr@pajato.com>
parents: 8784
diff changeset
156 /* Set up the main window. */
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
157 void lw_set_main_areas __P ((Widget parent,
9064
d716ea8937e2 entered into RCS
Paul Reilly <pmr@pajato.com>
parents: 8784
diff changeset
158 Widget menubar,
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
159 Widget work_area));
9064
d716ea8937e2 entered into RCS
Paul Reilly <pmr@pajato.com>
parents: 8784
diff changeset
160
25035
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
161 /* 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
162 set to an appropriate enumerator of type enum menu_separator.
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
163 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
164 to similar ones that are supported. */
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
165
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
166 int lw_separator_p __P ((char *label, enum menu_separator *type,
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
167 int motif_p));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
168
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27996
diff changeset
169 void lwlib_bcopy __P ((char*, char*, int));
25035
d8d30f76cc61 (enum menu_separator): New.
Gerd Moellmann <gerd@gnu.org>
parents: 15630
diff changeset
170
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
171 #endif /* LWLIB_H */
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
172
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
173 /* arch-tag: 44d818d5-7eb2-4d87-acd7-b992bb0d5d20
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
174 (do not change this comment) */