Mercurial > emacs
annotate lwlib/lwlib.h @ 6620:990d7d5095dc
(adjust_window_charstarts): New function.
(direct_output_for_insert): Call it.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 01 Apr 1994 02:10:14 +0000 |
parents | 75570af32e92 |
children | 0166e4ab659a |
rev | line source |
---|---|
5626 | 1 #ifndef LWLIB_H |
2 #define LWLIB_H | |
3 | |
4 #include <X11/Intrinsic.h> | |
5 | |
6 /* | |
7 ** Widget values depend on the Widget type: | |
8 ** | |
9 ** widget: (name value key enabled data contents/selected) | |
10 ** | |
11 ** label: ("name" "string" NULL NULL NULL NULL) | |
12 ** button: ("name" "string" "key" T/F data <default-button-p>) | |
13 ** button w/menu: | |
14 ** ("name" "string" "key" T/F data (label|button|button w/menu...)) | |
15 ** menubar: ("name" NULL NULL T/F data (button w/menu)) | |
16 ** selectable thing: | |
17 ** ("name" "string" "key" T/F data T/F) | |
18 ** checkbox: selectable thing | |
19 ** radio: ("name" NULL NULL T/F data (selectable thing...)) | |
20 ** strings: ("name" NULL NULL T/F data (selectable thing...)) | |
21 ** text: ("name" "string" <ign> T/F data) | |
22 */ | |
23 | |
24 typedef unsigned long LWLIB_ID; | |
25 | |
26 typedef enum _change_type | |
27 { | |
28 NO_CHANGE = 0, | |
29 INVISIBLE_CHANGE = 1, | |
30 VISIBLE_CHANGE = 2, | |
31 STRUCTURAL_CHANGE = 3 | |
32 } change_type; | |
33 | |
34 typedef struct _widget_value | |
35 { | |
36 /* name of widget */ | |
37 char* name; | |
38 /* value (meaning depend on widget type) */ | |
39 char* value; | |
40 /* keyboard equivalent. no implications for XtTranslations */ | |
41 char* key; | |
42 /* true if enabled */ | |
43 Boolean enabled; | |
44 /* true if selected */ | |
45 Boolean selected; | |
46 /* true if was edited (maintained by get_value) */ | |
47 Boolean edited; | |
48 /* true if has changed (maintained by lw library) */ | |
49 change_type change; | |
50 /* Contents of the sub-widgets, also selected slot for checkbox */ | |
51 struct _widget_value* contents; | |
52 /* data passed to callback */ | |
53 XtPointer call_data; | |
54 /* next one in the list */ | |
55 struct _widget_value* next; | |
56 /* slot for the toolkit dependent part. Always initialize to NULL. */ | |
57 void* toolkit_data; | |
58 /* tell us if we should free the toolkit data slot when freeing the | |
59 widget_value itself. */ | |
60 Boolean free_toolkit_data; | |
61 | |
62 /* we resource the widget_value structures; this points to the next | |
63 one on the free list if this one has been deallocated. | |
64 */ | |
65 struct _widget_value *free_list; | |
66 } widget_value; | |
67 | |
68 | |
5706
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
69 typedef void (*lw_callback) (); |
5626 | 70 |
5706
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
71 void lw_register_widget (); |
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
72 Widget lw_get_widget (); |
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
73 Widget lw_make_widget (); |
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
74 Widget lw_create_widget (); |
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
75 LWLIB_ID lw_get_widget_id (); |
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
76 void lw_modify_all_widgets (); |
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
77 void lw_destroy_widget (); |
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
78 void lw_destroy_all_widgets (); |
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
79 void lw_destroy_everything (); |
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
80 void lw_destroy_all_pop_ups (); |
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
81 Widget lw_raise_all_pop_up_widgets (); |
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
82 widget_value* lw_get_all_values (); |
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
83 Boolean lw_get_some_values (); |
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
84 void lw_pop_up_all_widgets (); |
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
85 void lw_pop_down_all_widgets (); |
5626 | 86 widget_value *malloc_widget_value (); |
5706
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
87 void free_widget_value (); |
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
88 void lw_popup_menu (); |
5626 | 89 |
90 /* Toolkit independent way of focusing on a Widget at the Xt level. */ | |
5706
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
91 void lw_set_keyboard_focus (); |
5626 | 92 |
93 /* Silly Energize hack to invert the "sheet" button */ | |
5706
75570af32e92
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
5626
diff
changeset
|
94 void lw_show_busy (); |
5626 | 95 |
96 #endif /* LWLIB_H */ |