Mercurial > hg > xemacs-beta
annotate lwlib/lwlib.h @ 4981:4aebb0131297
Cleanups/renaming of EXTERNAL_TO_C_STRING and friends
-------------------- ChangeLog entries follow: --------------------
modules/ChangeLog addition:
2010-02-05 Ben Wing <ben@xemacs.org>
* postgresql/postgresql.c:
* postgresql/postgresql.c (CHECK_LIVE_CONNECTION):
* postgresql/postgresql.c (Fpq_connectdb):
* postgresql/postgresql.c (Fpq_connect_start):
* postgresql/postgresql.c (Fpq_lo_import):
* postgresql/postgresql.c (Fpq_lo_export):
* ldap/eldap.c (Fldap_open):
* ldap/eldap.c (Fldap_search_basic):
* ldap/eldap.c (Fldap_add):
* ldap/eldap.c (Fldap_modify):
* ldap/eldap.c (Fldap_delete):
* canna/canna_api.c (Fcanna_initialize):
* canna/canna_api.c (Fcanna_store_yomi):
* canna/canna_api.c (Fcanna_parse):
* canna/canna_api.c (Fcanna_henkan_begin):
EXTERNAL_TO_C_STRING returns its argument instead of storing it
in a parameter, and is renamed to EXTERNAL_TO_ITEXT. Similar
things happen to related macros. See entry in src/ChangeLog.
More Mule-izing of postgresql.c. Extract out common code
between `pq-connectdb' and `pq-connect-start'. Fix places
that signal an error string using a formatted string to instead
follow the standard and have a fixed reason followed by the
particular error message stored as one of the frobs.
src/ChangeLog addition:
2010-02-05 Ben Wing <ben@xemacs.org>
* console-msw.c (write_string_to_mswindows_debugging_output):
* console-msw.c (Fmswindows_message_box):
* console-x.c (x_perhaps_init_unseen_key_defaults):
* console.c:
* database.c (dbm_get):
* database.c (dbm_put):
* database.c (dbm_remove):
* database.c (berkdb_get):
* database.c (berkdb_put):
* database.c (berkdb_remove):
* database.c (Fopen_database):
* device-gtk.c (gtk_init_device):
* device-msw.c (msprinter_init_device_internal):
* device-msw.c (msprinter_default_printer):
* device-msw.c (msprinter_init_device):
* device-msw.c (sync_printer_with_devmode):
* device-msw.c (Fmsprinter_select_settings):
* device-x.c (sanity_check_geometry_resource):
* device-x.c (Dynarr_add_validified_lisp_string):
* device-x.c (x_init_device):
* device-x.c (Fx_put_resource):
* device-x.c (Fx_valid_keysym_name_p):
* device-x.c (Fx_set_font_path):
* dialog-msw.c (push_lisp_string_as_unicode):
* dialog-msw.c (handle_directory_dialog_box):
* dialog-msw.c (handle_file_dialog_box):
* dialog-x.c (dbox_descriptor_to_widget_value):
* editfns.c (Fformat_time_string):
* editfns.c (Fencode_time):
* editfns.c (Fset_time_zone_rule):
* emacs.c (make_argc_argv):
* emacs.c (Fdump_emacs):
* emodules.c (emodules_load):
* eval.c:
* eval.c (maybe_signal_error_1):
* event-msw.c (Fdde_alloc_advise_item):
* event-msw.c (mswindows_dde_callback):
* event-msw.c (mswindows_wnd_proc):
* fileio.c (report_error_with_errno):
* fileio.c (Fsysnetunam):
* fileio.c (Fdo_auto_save):
* font-mgr.c (extract_fcapi_string):
* font-mgr.c (Ffc_config_app_font_add_file):
* font-mgr.c (Ffc_config_app_font_add_dir):
* font-mgr.c (Ffc_config_filename):
* frame-gtk.c (gtk_set_frame_text_value):
* frame-gtk.c (gtk_create_widgets):
* frame-msw.c (mswindows_init_frame_1):
* frame-msw.c (mswindows_set_title_from_ibyte):
* frame-msw.c (msprinter_init_frame_3):
* frame-x.c (x_set_frame_text_value):
* frame-x.c (x_set_frame_properties):
* frame-x.c (start_drag_internal_1):
* frame-x.c (x_cde_transfer_callback):
* frame-x.c (x_create_widgets):
* glyphs-eimage.c (my_jpeg_output_message):
* glyphs-eimage.c (jpeg_instantiate):
* glyphs-eimage.c (gif_instantiate):
* glyphs-eimage.c (png_instantiate):
* glyphs-eimage.c (tiff_instantiate):
* glyphs-gtk.c (xbm_instantiate_1):
* glyphs-gtk.c (gtk_xbm_instantiate):
* glyphs-gtk.c (gtk_xpm_instantiate):
* glyphs-gtk.c (gtk_xface_instantiate):
* glyphs-gtk.c (cursor_font_instantiate):
* glyphs-gtk.c (gtk_redisplay_widget):
* glyphs-gtk.c (gtk_widget_instantiate_1):
* glyphs-gtk.c (gtk_add_tab_item):
* glyphs-msw.c (mswindows_xpm_instantiate):
* glyphs-msw.c (bmp_instantiate):
* glyphs-msw.c (mswindows_resource_instantiate):
* glyphs-msw.c (xbm_instantiate_1):
* glyphs-msw.c (mswindows_xbm_instantiate):
* glyphs-msw.c (mswindows_xface_instantiate):
* glyphs-msw.c (mswindows_redisplay_widget):
* glyphs-msw.c (mswindows_widget_instantiate):
* glyphs-msw.c (add_tree_item):
* glyphs-msw.c (add_tab_item):
* glyphs-msw.c (mswindows_combo_box_instantiate):
* glyphs-msw.c (mswindows_widget_query_string_geometry):
* glyphs-x.c (x_locate_pixmap_file):
* glyphs-x.c (xbm_instantiate_1):
* glyphs-x.c (x_xbm_instantiate):
* glyphs-x.c (extract_xpm_color_names):
* glyphs-x.c (x_xpm_instantiate):
* glyphs-x.c (x_xface_instantiate):
* glyphs-x.c (autodetect_instantiate):
* glyphs-x.c (safe_XLoadFont):
* glyphs-x.c (cursor_font_instantiate):
* glyphs-x.c (x_redisplay_widget):
* glyphs-x.c (Fchange_subwindow_property):
* glyphs-x.c (x_widget_instantiate):
* glyphs-x.c (x_tab_control_redisplay):
* glyphs.c (pixmap_to_lisp_data):
* gui-x.c (menu_separator_style_and_to_external):
* gui-x.c (add_accel_and_to_external):
* gui-x.c (button_item_to_widget_value):
* hpplay.c (player_error_internal):
* hpplay.c (play_sound_file):
* hpplay.c (play_sound_data):
* intl.c (Fset_current_locale):
* lisp.h:
* menubar-gtk.c (gtk_xemacs_set_accel_keys):
* menubar-msw.c (populate_menu_add_item):
* menubar-msw.c (populate_or_checksum_helper):
* menubar-x.c (menu_item_descriptor_to_widget_value_1):
* nt.c (init_user_info):
* nt.c (get_long_basename):
* nt.c (nt_get_resource):
* nt.c (init_mswindows_environment):
* nt.c (get_cached_volume_information):
* nt.c (mswindows_readdir):
* nt.c (read_unc_volume):
* nt.c (mswindows_stat):
* nt.c (mswindows_getdcwd):
* nt.c (mswindows_executable_type):
* nt.c (Fmswindows_short_file_name):
* ntplay.c (nt_play_sound_file):
* objects-gtk.c:
* objects-gtk.c (gtk_valid_color_name_p):
* objects-gtk.c (gtk_initialize_font_instance):
* objects-gtk.c (gtk_font_list):
* objects-msw.c (font_enum_callback_2):
* objects-msw.c (parse_font_spec):
* objects-x.c (x_parse_nearest_color):
* objects-x.c (x_valid_color_name_p):
* objects-x.c (x_initialize_font_instance):
* objects-x.c (x_font_instance_truename):
* objects-x.c (x_font_list):
* objects-xlike-inc.c (XFUN):
* objects-xlike-inc.c (xft_find_charset_font):
* process-nt.c (mswindows_report_winsock_error):
* process-nt.c (nt_create_process):
* process-nt.c (get_internet_address):
* process-nt.c (nt_open_network_stream):
* process-unix.c:
* process-unix.c (allocate_pty):
* process-unix.c (get_internet_address):
* process-unix.c (unix_canonicalize_host_name):
* process-unix.c (unix_open_network_stream):
* realpath.c:
* select-common.h (lisp_data_to_selection_data):
* select-gtk.c (symbol_to_gtk_atom):
* select-gtk.c (atom_to_symbol):
* select-msw.c (symbol_to_ms_cf):
* select-msw.c (mswindows_register_selection_data_type):
* select-x.c (symbol_to_x_atom):
* select-x.c (x_atom_to_symbol):
* select-x.c (hack_motif_clipboard_selection):
* select-x.c (Fx_store_cutbuffer_internal):
* sound.c (Fplay_sound_file):
* sound.c (Fplay_sound):
* sound.h (sound_perror):
* sysdep.c:
* sysdep.c (qxe_allocating_getcwd):
* sysdep.c (qxe_execve):
* sysdep.c (copy_in_passwd):
* sysdep.c (qxe_getpwnam):
* sysdep.c (qxe_ctime):
* sysdll.c (dll_open):
* sysdll.c (dll_function):
* sysdll.c (dll_variable):
* sysdll.c (search_linked_libs):
* sysdll.c (dll_error):
* sysfile.h:
* sysfile.h (PATHNAME_CONVERT_OUT_TSTR):
* sysfile.h (PATHNAME_CONVERT_OUT_UTF_8):
* sysfile.h (PATHNAME_CONVERT_OUT):
* sysfile.h (LISP_PATHNAME_CONVERT_OUT):
* syswindows.h (ITEXT_TO_TSTR):
* syswindows.h (LOCAL_FILE_FORMAT_TO_TSTR):
* syswindows.h (TSTR_TO_LOCAL_FILE_FORMAT):
* syswindows.h (LOCAL_FILE_FORMAT_TO_INTERNAL_MSWIN):
* syswindows.h (LISP_LOCAL_FILE_FORMAT_MAYBE_URL_TO_TSTR):
* text.h:
* text.h (eicpy_ext_len):
* text.h (enum new_dfc_src_type):
* text.h (EXTERNAL_TO_ITEXT):
* text.h (GET_STRERROR):
* tooltalk.c (check_status):
* tooltalk.c (Fadd_tooltalk_message_arg):
* tooltalk.c (Fadd_tooltalk_pattern_attribute):
* tooltalk.c (Fadd_tooltalk_pattern_arg):
* win32.c (tstr_to_local_file_format):
* win32.c (mswindows_lisp_error_1):
* win32.c (mswindows_report_process_error):
* win32.c (Fmswindows_shell_execute):
* win32.c (mswindows_read_link_1):
Changes involving external/internal format conversion,
mostly code cleanup and renaming.
1. Eliminate the previous macros like LISP_STRING_TO_EXTERNAL
that stored its result in a parameter. The new version of
LISP_STRING_TO_EXTERNAL returns its result through the
return value, same as the previous NEW_LISP_STRING_TO_EXTERNAL.
Use the new-style macros throughout the code.
2. Rename C_STRING_TO_EXTERNAL and friends to ITEXT_TO_EXTERNAL,
in keeping with overall naming rationalization involving
Itext and related types.
Macros involved in previous two:
EXTERNAL_TO_C_STRING -> EXTERNAL_TO_ITEXT
EXTERNAL_TO_C_STRING_MALLOC -> EXTERNAL_TO_ITEXT_MALLOC
SIZED_EXTERNAL_TO_C_STRING -> SIZED_EXTERNAL_TO_ITEXT
SIZED_EXTERNAL_TO_C_STRING_MALLOC -> SIZED_EXTERNAL_TO_ITEXT_MALLOC
C_STRING_TO_EXTERNAL -> ITEXT_TO_EXTERNAL
C_STRING_TO_EXTERNAL_MALLOC -> ITEXT_TO_EXTERNAL_MALLOC
LISP_STRING_TO_EXTERNAL
LISP_STRING_TO_EXTERNAL_MALLOC
LISP_STRING_TO_TSTR
C_STRING_TO_TSTR -> ITEXT_TO_TSTR
TSTR_TO_C_STRING -> TSTR_TO_ITEXT
The following four still return their values through parameters,
since they have more than one value to return:
C_STRING_TO_SIZED_EXTERNAL -> ITEXT_TO_SIZED_EXTERNAL
LISP_STRING_TO_SIZED_EXTERNAL
C_STRING_TO_SIZED_EXTERNAL_MALLOC -> ITEXT_TO_SIZED_EXTERNAL_MALLOC
LISP_STRING_TO_SIZED_EXTERNAL_MALLOC
Sometimes additional casts had to be inserted, since the old
macros played strange games and completely defeated the type system
of the store params.
3. Rewrite many places where direct calls to TO_EXTERNAL_FORMAT
occurred with calls to one of the convenience macros listed above,
or to make_extstring().
4. Eliminate SIZED_C_STRING macros (they were hardly used, anyway)
and use a direct call to TO_EXTERNAL_FORMAT or TO_INTERNAL_FORMAT.
4. Use LISP_PATHNAME_CONVERT_OUT in many places instead of something
like LISP_STRING_TO_EXTERNAL(..., Qfile_name).
5. Eliminate some temporary variables that are no longer necessary
now that we return a value rather than storing it into a variable.
6. Some Mule-izing in database.c.
7. Error functions:
-- A bit of code cleanup in maybe_signal_error_1.
-- Eliminate report_file_type_error; it's just an alias for
signal_error_2 with params in a different order.
-- Fix some places in the hostname-handling code that directly
inserted externally-retrieved error strings into the
supposed ASCII "reason" param instead of doing the right thing
and sticking text descriptive of what was going on in "reason"
and putting the external message in a frob.
8. Use Ascbyte instead of CIbyte in process-unix.c and maybe one
or two other places.
9. Some code cleanup in copy_in_passwd() in sysdep.c.
10. Fix a real bug due to accidental variable shadowing in
tstr_to_local_file_format() in win32.c.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Fri, 05 Feb 2010 11:02:24 -0600 |
parents | 726060ee587c |
children | ade4c7e2c6cb |
rev | line source |
---|---|
440 | 1 #ifndef INCLUDED_lwlib_h_ |
2 #define INCLUDED_lwlib_h_ | |
428 | 3 |
4 #include <X11/Intrinsic.h> | |
4528
726060ee587c
First draft of g++ 4.3 warning removal patch. Builds. *Needs ChangeLogs.*
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4522
diff
changeset
|
5 #include "xt-wrappers.h" |
428 | 6 |
7 #if defined (LWLIB_MENUBARS_LUCID) || defined (LWLIB_MENUBARS_MOTIF) || defined (LWLIB_MENUBARS_ATHENA) | |
8 #define NEED_MENUBARS | |
9 #endif | |
10 #if defined (LWLIB_SCROLLBARS_LUCID) || defined (LWLIB_SCROLLBARS_MOTIF) || defined (LWLIB_SCROLLBARS_ATHENA) | |
11 #define NEED_SCROLLBARS | |
12 #endif | |
13 #if defined (LWLIB_DIALOGS_LUCID) || defined (LWLIB_DIALOGS_MOTIF) || defined (LWLIB_DIALOGS_ATHENA) | |
14 #define NEED_DIALOGS | |
15 #endif | |
16 | |
17 /* | |
18 ** Widget values depend on the Widget type: | |
19 ** | |
20 ** widget: (name value key enabled data contents/selected) | |
21 ** | |
22 ** label: ("name" "string" NULL NULL NULL NULL) | |
23 ** BUTTON: ("name" "string" "key" T/F data <default-button-p>) | |
24 ** CASCADE (button w/menu): | |
25 ** ("name" "string" "key" T/F data (label|button|button w/menu...)) | |
26 ** INCREMENTAL (button w/menu construction callback): | |
27 ** ("name" "string" NULL T/F <opaque pointer>) | |
28 ** menubar: ("name" NULL NULL T/F data (button w/menu)) | |
29 ** scrollbar:("name" NULL NULL T/F NULL NULL) | |
30 ** selectable thing: | |
31 ** ("name" "string" "key" T/F data T/F) | |
32 ** checkbox: selectable thing | |
33 ** radio: ("name" NULL NULL T/F data (selectable thing...)) | |
34 ** strings: ("name" NULL NULL T/F data (selectable thing...)) | |
35 ** TEXT: ("name" "string" <ign> T/F data) | |
36 ** | |
37 ** Note that the above is EXTREMELY bogus. The "type" of the various entities | |
38 ** that a widget_value structure can represent is implicit in the contents of | |
39 ** half a dozen slots, instead of there simply being a type field. This | |
40 ** should all be rethunk. I've added a type field, but for now it's only used | |
41 ** by the new xlwmenu code. | |
42 */ | |
43 | |
44 typedef unsigned long LWLIB_ID; | |
45 | |
46 typedef enum _change_type | |
47 { | |
48 NO_CHANGE = 0, | |
49 INVISIBLE_CHANGE = 1, | |
50 VISIBLE_CHANGE = 2, | |
51 STRUCTURAL_CHANGE = 3 | |
52 } change_type; | |
53 | |
54 typedef enum _widget_value_type | |
55 { | |
56 UNSPECIFIED_TYPE = 0, | |
57 BUTTON_TYPE = 1, | |
58 TOGGLE_TYPE = 2, | |
59 RADIO_TYPE = 3, | |
60 TEXT_TYPE = 4, | |
61 SEPARATOR_TYPE = 5, | |
62 CASCADE_TYPE = 6, | |
63 PUSHRIGHT_TYPE = 7, | |
64 INCREMENTAL_TYPE = 8 | |
65 } widget_value_type; | |
66 | |
67 typedef enum _scroll_action | |
68 { | |
69 SCROLLBAR_LINE_UP = 0, | |
70 SCROLLBAR_LINE_DOWN = 1, | |
71 SCROLLBAR_PAGE_UP = 2, | |
72 SCROLLBAR_PAGE_DOWN = 3, | |
73 SCROLLBAR_DRAG = 4, | |
74 SCROLLBAR_CHANGE = 5, | |
75 SCROLLBAR_TOP = 6, | |
76 SCROLLBAR_BOTTOM = 7 | |
77 } scroll_action; | |
78 | |
79 typedef struct _scroll_event | |
80 { | |
81 scroll_action action; | |
82 int slider_value; | |
83 Time time; | |
84 } scroll_event; | |
85 | |
86 typedef struct _scrollbar_values | |
87 { | |
88 int line_increment; | |
89 int page_increment; | |
90 | |
91 int minimum; | |
92 int maximum; | |
93 | |
94 int slider_size; | |
95 int slider_position; | |
96 | |
97 int scrollbar_width, scrollbar_height; | |
98 int scrollbar_x, scrollbar_y; | |
99 } scrollbar_values; | |
100 | |
434 | 101 typedef struct _widget_args |
102 { | |
103 /* some things are only possible at creation time. args are applied | |
104 to widgets at creation time. */ | |
105 ArgList args; | |
106 int nargs; | |
107 /* Copying args is impossible so we make the caller give us heap allocated | |
444 | 108 args and free them when no one wants them any more. */ |
434 | 109 int ref_count; |
450 | 110 /* Since we are reference counting we need to be able to determine |
111 when something has changed. */ | |
112 Boolean args_changed; | |
434 | 113 } widget_args; |
114 | |
428 | 115 typedef struct _widget_value |
116 { | |
117 /* This slot is only partially utilized right now. */ | |
118 widget_value_type type; | |
119 | |
120 /* name of widget */ | |
121 char* name; | |
444 | 122 /* value (meaning BOGUSLY depends on widget type) */ |
428 | 123 char* value; |
124 /* keyboard equivalent. no implications for XtTranslations */ | |
125 char* key; | |
126 /* accelerator key. For XEmacs, this should be a Lisp_Object holding a | |
127 char or symbol suitable for passing to event_matches_key_specifier_p. | |
128 Outside of emacs, this can be anything: an X KeySym is a good idea. | |
129 lwlib provides support functions for keyboard traversal of menus. Actual | |
130 implementation of those accelerators is up to the application. | |
131 */ | |
132 XtPointer accel; | |
133 /* true if enabled */ | |
134 Boolean enabled; | |
135 /* true if selected */ | |
136 Boolean selected; | |
137 /* true if was edited (maintained by get_value) */ | |
138 Boolean edited; | |
139 /* true if has changed (maintained by lw library) */ | |
140 change_type change; | |
444 | 141 /* Contents of sub-widgets, also selected slot for checkbox */ |
428 | 142 struct _widget_value* contents; |
143 /* data passed to callback */ | |
144 XtPointer call_data; | |
444 | 145 /* next in the list of siblings */ |
428 | 146 struct _widget_value* next; |
147 /* slot for the toolkit dependent part. Always initialize to NULL. */ | |
148 void* toolkit_data; | |
149 /* tell us if we should free the toolkit data slot when freeing the | |
150 widget_value itself. */ | |
151 Boolean free_toolkit_data; | |
152 | |
153 /* data defining a scrollbar; only valid if type == "scrollbar" */ | |
154 scrollbar_values *scrollbar_data; | |
155 | |
434 | 156 /* A reference counted arg structure. */ |
157 struct _widget_args *args; | |
428 | 158 /* we resource the widget_value structures; this points to the next |
159 one on the free list if this one has been deallocated. */ | |
160 struct _widget_value *free_list; | |
161 | |
162 } widget_value; | |
163 | |
164 | |
165 typedef void (*lw_callback) (Widget w, LWLIB_ID id, XtPointer data); | |
166 | |
167 /* menu stuff */ | |
168 /* maybe this should go into a generic lwmenu.h */ | |
169 | |
170 extern int lw_menu_active; | |
171 | |
172 #if defined (LWLIB_MENUBARS_LUCID) | |
173 #include "xlwmenu.h" | |
174 #define lw_set_menu xlw_set_menu | |
175 #define lw_push_menu xlw_push_menu | |
176 #define lw_pop_menu xlw_pop_menu | |
177 #define lw_set_item xlw_set_item | |
178 #define lw_map_menu xlw_map_menu | |
179 #define lw_display_menu xlw_display_menu | |
180 #define lw_kill_menus xlw_kill_menus | |
181 #define lw_get_entries xlw_get_entries | |
182 #define lw_menu_level xlw_menu_level | |
183 #else /* LWLIB_MENUBARS_LUCID */ | |
184 /* do this for the other toolkits too */ | |
185 #endif /* LWLIB_MENUBARS_LUCID */ | |
186 | |
187 #if defined (LWLIB_TABS_LUCID) | |
188 #include "xlwtabs.h" | |
189 #endif | |
190 | |
442 | 191 void lw_register_widget (const char* type, const char* name, LWLIB_ID id, |
428 | 192 widget_value* val, lw_callback pre_activate_cb, |
193 lw_callback selection_cb, | |
194 lw_callback post_activate_cb); | |
195 Widget lw_get_widget (LWLIB_ID id, Widget parent, Boolean pop_up_p); | |
196 Widget lw_make_widget (LWLIB_ID id, Widget parent, Boolean pop_up_p); | |
442 | 197 Widget lw_create_widget (const char* type, const char* name, LWLIB_ID id, |
428 | 198 widget_value* val, Widget parent, Boolean pop_up_p, |
199 lw_callback pre_activate_cb, | |
200 lw_callback selection_cb, | |
201 lw_callback post_activate_cb); | |
202 LWLIB_ID lw_get_widget_id (Widget w); | |
203 int lw_map_widget_values (LWLIB_ID id, int (*mapfunc) (widget_value *value, | |
204 void *closure), | |
205 void *closure); | |
206 void lw_modify_all_widgets (LWLIB_ID id, widget_value* val, Boolean deep_p); | |
207 void lw_destroy_widget (Widget w); | |
208 void lw_destroy_all_widgets (LWLIB_ID id); | |
209 void lw_destroy_everything (void); | |
210 void lw_destroy_all_pop_ups (void); | |
211 Widget lw_raise_all_pop_up_widgets (void); | |
212 widget_value* lw_get_all_values (LWLIB_ID id); | |
213 Boolean lw_get_some_values (LWLIB_ID id, widget_value* val); | |
214 void lw_pop_up_all_widgets (LWLIB_ID id); | |
215 void lw_pop_down_all_widgets (LWLIB_ID id); | |
216 void lw_add_value_args_to_args (widget_value* wv, ArgList addto, int* offset); | |
434 | 217 void lw_add_widget_value_arg (widget_value* wv, String name, XtArgVal value); |
639 | 218 XtArgVal lw_get_value_arg (widget_value* wv, String name); |
434 | 219 void lw_copy_widget_value_args (widget_value* copy, widget_value* val); |
442 | 220 widget_value * copy_widget_value_tree (widget_value *val, change_type change); |
428 | 221 |
222 widget_value *malloc_widget_value (void); | |
223 void free_widget_value (widget_value *); | |
224 void free_widget_value_tree (widget_value *wv); | |
225 widget_value *replace_widget_value_tree (widget_value*, widget_value*); | |
226 | |
227 void lw_popup_menu (Widget, XEvent *); | |
228 | |
229 /* Toolkit independent way of focusing on a Widget at the Xt level. */ | |
230 void lw_set_keyboard_focus (Widget parent, Widget w); | |
231 | |
232 /* Silly Energize hack to invert the "sheet" button */ | |
233 void lw_show_busy (Widget w, Boolean busy); | |
234 | |
442 | 235 void lw_remove_accelerator_spec (char *val); |
236 | |
440 | 237 #endif /* INCLUDED_lwlib_h_ */ |