Mercurial > hg > xemacs-beta
comparison src/glyphs-msw.c @ 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 | 19a72041c5ed |
children | 3c3c1d139863 |
comparison
equal
deleted
inserted
replaced
4972:c448f4c38d65 | 4981:4aebb0131297 |
---|---|
966 | 966 |
967 CHECK_MSGDI_DEVICE (device); | 967 CHECK_MSGDI_DEVICE (device); |
968 | 968 |
969 assert (!NILP (data)); | 969 assert (!NILP (data)); |
970 | 970 |
971 TO_EXTERNAL_FORMAT (LISP_STRING, data, | 971 LISP_STRING_TO_SIZED_EXTERNAL (data, bytes, len, Qbinary); |
972 ALLOCA, (bytes, len), | |
973 Qbinary); | |
974 | 972 |
975 /* in case we have color symbols */ | 973 /* in case we have color symbols */ |
976 color_symbols = extract_xpm_color_names (device, domain, | 974 color_symbols = extract_xpm_color_names (device, domain, |
977 color_symbol_alist, &nsymbols); | 975 color_symbol_alist, &nsymbols); |
978 | 976 |
1053 | 1051 |
1054 CHECK_MSGDI_DEVICE (device); | 1052 CHECK_MSGDI_DEVICE (device); |
1055 | 1053 |
1056 assert (!NILP (data)); | 1054 assert (!NILP (data)); |
1057 | 1055 |
1058 TO_EXTERNAL_FORMAT (LISP_STRING, data, | 1056 LISP_STRING_TO_SIZED_EXTERNAL (data, bytes, len, Qbinary); |
1059 ALLOCA, (bytes, len), | |
1060 Qbinary); | |
1061 | 1057 |
1062 /* Then slurp the image into memory, decoding along the way. | 1058 /* Then slurp the image into memory, decoding along the way. |
1063 The result is the image in a simple one-byte-per-pixel | 1059 The result is the image in a simple one-byte-per-pixel |
1064 format. */ | 1060 format. */ |
1065 | 1061 |
1252 hinst = qxeLoadLibraryEx (fname, NULL, LOAD_LIBRARY_AS_DATAFILE); | 1248 hinst = qxeLoadLibraryEx (fname, NULL, LOAD_LIBRARY_AS_DATAFILE); |
1253 resid = MAKEINTRESOURCE (resource_name_to_resource (resource_id, | 1249 resid = MAKEINTRESOURCE (resource_name_to_resource (resource_id, |
1254 type)); | 1250 type)); |
1255 | 1251 |
1256 if (!resid) | 1252 if (!resid) |
1257 LISP_STRING_TO_TSTR (resource_id, resid); | 1253 resid = LISP_STRING_TO_TSTR (resource_id); |
1258 } | 1254 } |
1259 } | 1255 } |
1260 else if (!(resid = MAKEINTRESOURCE (resource_name_to_resource (resource_id, | 1256 else if (!(resid = MAKEINTRESOURCE (resource_name_to_resource (resource_id, |
1261 type)))) | 1257 type)))) |
1262 invalid_argument ("Invalid resource identifier", resource_id); | 1258 invalid_argument ("Invalid resource identifier", resource_id); |
1571 | 1567 |
1572 if (!NILP (mask_data)) | 1568 if (!NILP (mask_data)) |
1573 { | 1569 { |
1574 Binbyte *ext_data; | 1570 Binbyte *ext_data; |
1575 | 1571 |
1576 TO_EXTERNAL_FORMAT (LISP_STRING, XCAR (XCDR (XCDR (mask_data))), | 1572 ext_data = |
1577 C_STRING_ALLOCA, ext_data, | 1573 (Binbyte *) LISP_STRING_TO_EXTERNAL (XCAR (XCDR (XCDR (mask_data))), |
1578 Qbinary); | 1574 Qbinary); |
1579 mask = xbm_create_bitmap_from_data (hdc, | 1575 mask = xbm_create_bitmap_from_data (hdc, |
1580 ext_data, | 1576 ext_data, |
1581 XINT (XCAR (mask_data)), | 1577 XINT (XCAR (mask_data)), |
1582 XINT (XCAR (XCDR (mask_data))), | 1578 XINT (XCAR (XCDR (mask_data))), |
1583 FALSE, | 1579 FALSE, |
1601 Lisp_Object data = find_keyword_in_vector (instantiator, Q_data); | 1597 Lisp_Object data = find_keyword_in_vector (instantiator, Q_data); |
1602 const Binbyte *ext_data; | 1598 const Binbyte *ext_data; |
1603 | 1599 |
1604 assert (!NILP (data)); | 1600 assert (!NILP (data)); |
1605 | 1601 |
1606 TO_EXTERNAL_FORMAT (LISP_STRING, XCAR (XCDR (XCDR (data))), | 1602 ext_data = |
1607 C_STRING_ALLOCA, ext_data, | 1603 (const Binbyte *) LISP_STRING_TO_EXTERNAL (XCAR (XCDR (XCDR (data))), |
1608 Qbinary); | 1604 Qbinary); |
1609 | 1605 |
1610 xbm_instantiate_1 (image_instance, instantiator, pointer_fg, | 1606 xbm_instantiate_1 (image_instance, instantiator, pointer_fg, |
1611 pointer_bg, dest_mask, XINT (XCAR (data)), | 1607 pointer_bg, dest_mask, XINT (XCAR (data)), |
1612 XINT (XCAR (XCDR (data))), ext_data); | 1608 XINT (XCAR (XCDR (data))), ext_data); |
1613 } | 1609 } |
1648 const CIbyte * volatile emsg = 0; | 1644 const CIbyte * volatile emsg = 0; |
1649 const Binbyte * volatile dstring; | 1645 const Binbyte * volatile dstring; |
1650 | 1646 |
1651 assert (!NILP (data)); | 1647 assert (!NILP (data)); |
1652 | 1648 |
1653 TO_EXTERNAL_FORMAT (LISP_STRING, data, | 1649 dstring = (const Binbyte *) LISP_STRING_TO_EXTERNAL (data, Qbinary); |
1654 C_STRING_ALLOCA, dstring, | |
1655 Qbinary); | |
1656 | 1650 |
1657 if ((p = (Binbyte *) strchr ((char *) dstring, ':'))) | 1651 if ((p = (Binbyte *) strchr ((char *) dstring, ':'))) |
1658 { | 1652 { |
1659 dstring = p + 1; | 1653 dstring = p + 1; |
1660 } | 1654 } |
2030 /* Possibly update the text in the widget. */ | 2024 /* Possibly update the text in the widget. */ |
2031 if (IMAGE_INSTANCE_TEXT_CHANGED (p) | 2025 if (IMAGE_INSTANCE_TEXT_CHANGED (p) |
2032 && !NILP (IMAGE_INSTANCE_WIDGET_TEXT (p))) | 2026 && !NILP (IMAGE_INSTANCE_WIDGET_TEXT (p))) |
2033 { | 2027 { |
2034 Extbyte *lparam = 0; | 2028 Extbyte *lparam = 0; |
2035 LISP_STRING_TO_TSTR (IMAGE_INSTANCE_WIDGET_TEXT (p), lparam); | 2029 lparam = LISP_STRING_TO_TSTR (IMAGE_INSTANCE_WIDGET_TEXT (p)); |
2036 qxeSendMessage (WIDGET_INSTANCE_MSWINDOWS_HANDLE (p), | 2030 qxeSendMessage (WIDGET_INSTANCE_MSWINDOWS_HANDLE (p), |
2037 WM_SETTEXT, 0, (LPARAM) lparam); | 2031 WM_SETTEXT, 0, (LPARAM) lparam); |
2038 } | 2032 } |
2039 /* Set active state. */ | 2033 /* Set active state. */ |
2040 if (IMAGE_INSTANCE_WIDGET_ITEMS_CHANGED (p)) | 2034 if (IMAGE_INSTANCE_WIDGET_ITEMS_CHANGED (p)) |
2248 { | 2242 { |
2249 id = mswindows_register_widget_instance (image_instance, domain); | 2243 id = mswindows_register_widget_instance (image_instance, domain); |
2250 } | 2244 } |
2251 | 2245 |
2252 if (!NILP (IMAGE_INSTANCE_WIDGET_TEXT (ii))) | 2246 if (!NILP (IMAGE_INSTANCE_WIDGET_TEXT (ii))) |
2253 LISP_STRING_TO_TSTR (IMAGE_INSTANCE_WIDGET_TEXT (ii), nm); | 2247 nm = LISP_STRING_TO_TSTR (IMAGE_INSTANCE_WIDGET_TEXT (ii)); |
2254 | 2248 |
2255 /* allocate space for the clip window and then allocate the clip window */ | 2249 /* allocate space for the clip window and then allocate the clip window */ |
2256 ii->data = xnew_and_zero (struct mswindows_subwindow_data); | 2250 ii->data = xnew_and_zero (struct mswindows_subwindow_data); |
2257 | 2251 |
2258 if ((IMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW (ii) | 2252 if ((IMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW (ii) |
2270 NULL, /* must be null for this class */ | 2264 NULL, /* must be null for this class */ |
2271 NULL)) == NULL) | 2265 NULL)) == NULL) |
2272 gui_error ("window creation failed with code", | 2266 gui_error ("window creation failed with code", |
2273 make_int (GetLastError())); | 2267 make_int (GetLastError())); |
2274 | 2268 |
2275 C_STRING_TO_TSTR (class_, classext); | 2269 classext = ITEXT_TO_TSTR (class_); |
2276 | 2270 |
2277 if ((wnd = qxeCreateWindowEx (exflags /* | WS_EX_NOPARENTNOTIFY*/, | 2271 if ((wnd = qxeCreateWindowEx (exflags /* | WS_EX_NOPARENTNOTIFY*/, |
2278 classext, | 2272 classext, |
2279 nm, | 2273 nm, |
2280 flags | WS_CHILD | WS_VISIBLE, | 2274 flags | WS_CHILD | WS_VISIBLE, |
2484 if (GUI_ITEMP (item)) | 2478 if (GUI_ITEMP (item)) |
2485 { | 2479 { |
2486 tvitem.item.lParam = | 2480 tvitem.item.lParam = |
2487 mswindows_register_gui_item (image_instance, item, domain); | 2481 mswindows_register_gui_item (image_instance, item, domain); |
2488 tvitem.item.mask |= TVIF_PARAM; | 2482 tvitem.item.mask |= TVIF_PARAM; |
2489 LISP_STRING_TO_TSTR (XGUI_ITEM (item)->name, tvitem.item.pszText); | 2483 tvitem.item.pszText = |
2484 (LPWSTR) LISP_STRING_TO_TSTR (XGUI_ITEM (item)->name); | |
2490 } | 2485 } |
2491 else | 2486 else |
2492 LISP_STRING_TO_TSTR (item, tvitem.item.pszText); | 2487 tvitem.item.pszText = (LPWSTR) LISP_STRING_TO_TSTR (item); |
2493 | 2488 |
2494 tvitem.item.cchTextMax = qxetcslen ((Extbyte *) tvitem.item.pszText); | 2489 tvitem.item.cchTextMax = qxetcslen ((Extbyte *) tvitem.item.pszText); |
2495 | 2490 |
2496 if ((ret = (HTREEITEM) qxeSendMessage (wnd, TVM_INSERTITEM, | 2491 if ((ret = (HTREEITEM) qxeSendMessage (wnd, TVM_INSERTITEM, |
2497 0, (LPARAM) &tvitem)) == 0) | 2492 0, (LPARAM) &tvitem)) == 0) |
2600 if (GUI_ITEMP (item)) | 2595 if (GUI_ITEMP (item)) |
2601 { | 2596 { |
2602 tcitem.lParam = | 2597 tcitem.lParam = |
2603 mswindows_register_gui_item (image_instance, item, domain); | 2598 mswindows_register_gui_item (image_instance, item, domain); |
2604 tcitem.mask |= TCIF_PARAM; | 2599 tcitem.mask |= TCIF_PARAM; |
2605 LISP_STRING_TO_TSTR (XGUI_ITEM (item)->name, tcitem.pszText); | 2600 tcitem.pszText = (XELPTSTR) LISP_STRING_TO_TSTR (XGUI_ITEM (item)->name); |
2606 } | 2601 } |
2607 else | 2602 else |
2608 { | 2603 { |
2609 CHECK_STRING (item); | 2604 CHECK_STRING (item); |
2610 LISP_STRING_TO_TSTR (item, tcitem.pszText); | 2605 tcitem.pszText = (XELPTSTR) LISP_STRING_TO_TSTR (item); |
2611 } | 2606 } |
2612 | 2607 |
2613 tcitem.cchTextMax = qxetcslen ((Extbyte *) tcitem.pszText); | 2608 tcitem.cchTextMax = qxetcslen ((Extbyte *) tcitem.pszText); |
2614 | 2609 |
2615 if ((ret = qxeSendMessage (wnd, TCM_INSERTITEM, i, (LPARAM) &tcitem)) < 0) | 2610 if ((ret = qxeSendMessage (wnd, TCM_INSERTITEM, i, (LPARAM) &tcitem)) < 0) |
2811 /* add items to the combo box */ | 2806 /* add items to the combo box */ |
2812 qxeSendMessage (wnd, CB_RESETCONTENT, 0, 0); | 2807 qxeSendMessage (wnd, CB_RESETCONTENT, 0, 0); |
2813 LIST_LOOP (rest, items) | 2808 LIST_LOOP (rest, items) |
2814 { | 2809 { |
2815 Extbyte *lparam; | 2810 Extbyte *lparam; |
2816 LISP_STRING_TO_TSTR (XCAR (rest), lparam); | 2811 lparam = LISP_STRING_TO_TSTR (XCAR (rest)); |
2817 if (qxeSendMessage (wnd, CB_ADDSTRING, 0, (LPARAM)lparam) == CB_ERR) | 2812 if (qxeSendMessage (wnd, CB_ADDSTRING, 0, (LPARAM)lparam) == CB_ERR) |
2818 gui_error ("error adding combo entries", instantiator); | 2813 gui_error ("error adding combo entries", instantiator); |
2819 } | 2814 } |
2820 } | 2815 } |
2821 | 2816 |
2928 Extbyte *str; | 2923 Extbyte *str; |
2929 Bytecount len; | 2924 Bytecount len; |
2930 SIZE size; | 2925 SIZE size; |
2931 | 2926 |
2932 SelectObject (hdc, mswindows_widget_hfont (face, domain, string)); | 2927 SelectObject (hdc, mswindows_widget_hfont (face, domain, string)); |
2933 TO_EXTERNAL_FORMAT (LISP_STRING, string, ALLOCA, (str, len), | 2928 LISP_STRING_TO_SIZED_EXTERNAL (string, str, len, Qmswindows_tstr); |
2934 Qmswindows_tstr); | |
2935 qxeGetTextExtentPoint32 (hdc, str, len / XETCHAR_SIZE, &size); | 2929 qxeGetTextExtentPoint32 (hdc, str, len / XETCHAR_SIZE, &size); |
2936 *width = size.cx; | 2930 *width = size.cx; |
2937 } | 2931 } |
2938 } | 2932 } |
2939 | 2933 |