Mercurial > hg > xemacs-beta
comparison src/dialog-msw.c @ 563:183866b06e0b
[xemacs-hg @ 2001-05-24 07:50:48 by ben]
Makefile.in.in, abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, casetab.c, chartab.c, cmdloop.c, cmds.c, console-msw.c, console-msw.h, console-stream.c, console-tty.c, console-x.c, console.c, data.c, database.c, debug.c, device-gtk.c, device-msw.c, device-tty.c, device-x.c, device.c, dialog-gtk.c, dialog-msw.c, dialog-x.c, dialog.c, dired-msw.c, dired.c, doc.c, doprnt.c, dragdrop.c, editfns.c, eldap.c, eldap.h, elhash.c, emacs-widget-accessors.c, emacs.c, emodules.c, esd.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, events.c, extents.c, faces.c, file-coding.c, fileio.c, filelock.c, floatfns.c, fns.c, font-lock.c, frame-gtk.c, frame-x.c, frame.c, general-slots.h, glade.c, glyphs-gtk.c, glyphs-msw.c, glyphs-widget.c, glyphs-x.c, glyphs.c, glyphs.h, gpmevent.c, gui-gtk.c, gui-x.c, gui.c, gutter.c, hpplay.c, indent.c, input-method-xlib.c, insdel.c, intl.c, keymap.c, libsst.c, libsst.h, linuxplay.c, lisp.h, lread.c, lstream.c, lstream.h, macros.c, marker.c, md5.c, menubar-gtk.c, menubar-msw.c, menubar-x.c, menubar.c, minibuf.c, miscplay.c, miscplay.h, mule-ccl.c, mule-charset.c, mule-wnnfns.c, mule.c, nas.c, ntplay.c, ntproc.c, objects-gtk.c, objects-msw.c, objects-x.c, objects.c, postgresql.c, print.c, process-nt.c, process-unix.c, process.c, ralloc.c, rangetab.c, redisplay.c, scrollbar.c, search.c, select-gtk.c, select-x.c, select.c, sgiplay.c, sheap.c, sound.c, specifier.c, sunplay.c, symbols.c, symeval.h, symsinit.h, syntax.c, sysdep.c, toolbar-msw.c, toolbar.c, tooltalk.c, ui-byhand.c, ui-gtk.c, undo.c, unexaix.c, unexapollo.c, unexconvex.c, unexec.c, widget.c, win32.c, window.c:
-- defsymbol -> DEFSYMBOL.
-- add an error type to all errors.
-- eliminate the error functions in eval.c that let you just
use Qerror as the type.
-- redo the error API to be more consistent, sensibly named,
and easier to use.
-- redo the error hierarchy somewhat. create new errors:
structure-formation-error, gui-error, invalid-constant,
stack-overflow, out-of-memory, process-error, network-error,
sound-error, printing-unreadable-object, base64-conversion-
error; coding-system-error renamed to text-conversion error;
some others.
-- fix Mule problems in error strings in emodules.c, tooltalk.c.
-- fix error handling in mswin open-network-stream.
-- Mule-ize all sound files and clean up the headers.
-- nativesound.h -> sound.h and used for all sound files.
-- move some shared stuff into glyphs-shared.c: first attempt
at eliminating some of the massive GTK code duplication.
xemacs.mak: add glyphs-shared.c.
xemacs-faq.texi: document how to debug X errors
subr.el: fix doc string to reflect reality
author | ben |
---|---|
date | Thu, 24 May 2001 07:51:33 +0000 |
parents | 5bdbc721d46a |
children | 5fd7ba8b56e7 |
comparison
equal
deleted
inserted
replaced
562:c775bd016b32 | 563:183866b06e0b |
---|---|
373 ofn.Flags |= OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST; | 373 ofn.Flags |= OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST; |
374 else | 374 else |
375 ofn.Flags &= ~(OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST); | 375 ofn.Flags &= ~(OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST); |
376 } | 376 } |
377 else | 377 else |
378 syntax_error ("Unrecognized file-dialog keyword", key); | 378 invalid_constant ("Unrecognized file-dialog keyword", key); |
379 } | 379 } |
380 } | 380 } |
381 | 381 |
382 if (!GetOpenFileName (&ofn)) | 382 if (!GetOpenFileName (&ofn)) |
383 { | 383 { |
392 int i; | 392 int i; |
393 | 393 |
394 for (i = 0; i < countof (common_dialog_errors); i++) | 394 for (i = 0; i < countof (common_dialog_errors); i++) |
395 { | 395 { |
396 if (common_dialog_errors[i].errmess == err) | 396 if (common_dialog_errors[i].errmess == err) |
397 signal_type_error (Qdialog_box_error, | 397 signal_error (Qdialog_box_error, |
398 "Creating file-dialog-box", | 398 "Creating file-dialog-box", |
399 build_string | 399 build_string |
400 (common_dialog_errors[i].errname)); | 400 (common_dialog_errors[i].errname)); |
401 } | 401 } |
402 | 402 |
403 signal_type_error (Qdialog_box_error, | 403 signal_error (Qdialog_box_error, |
404 "Unknown common dialog box error???", | 404 "Unknown common dialog box error???", |
405 make_int (err)); | 405 make_int (err)); |
406 } | 406 } |
407 } | 407 } |
408 | 408 |
409 return tstr_to_local_file_format (ofn.lpstrFile); | 409 return tstr_to_local_file_format (ofn.lpstrFile); |
410 } | 410 } |
460 } | 460 } |
461 | 461 |
462 button_row_width -= X_BUTTON_MARGIN; | 462 button_row_width -= X_BUTTON_MARGIN; |
463 } | 463 } |
464 else | 464 else |
465 syntax_error ("Unrecognized question-dialog keyword", key); | 465 invalid_constant ("Unrecognized question-dialog keyword", key); |
466 } | 466 } |
467 } | 467 } |
468 | 468 |
469 if (Dynarr_length (dialog_items) == 0) | 469 if (Dynarr_length (dialog_items) == 0) |
470 syntax_error ("Dialog descriptor provides no buttons", keys); | 470 sferror ("Dialog descriptor provides no buttons", keys); |
471 | 471 |
472 if (NILP (question)) | 472 if (NILP (question)) |
473 syntax_error ("Dialog descriptor provides no question", keys); | 473 sferror ("Dialog descriptor provides no question", keys); |
474 | 474 |
475 /* Determine the final width layout */ | 475 /* Determine the final width layout */ |
476 { | 476 { |
477 Bufbyte *p = XSTRING_DATA (question); | 477 Bufbyte *p = XSTRING_DATA (question); |
478 Charcount string_max = 0, this_length = 0; | 478 Charcount string_max = 0, this_length = 0; |
657 (LPDLGTEMPLATE) Dynarr_atp (template, 0), | 657 (LPDLGTEMPLATE) Dynarr_atp (template, 0), |
658 FRAME_MSWINDOWS_HANDLE (f), dialog_proc, | 658 FRAME_MSWINDOWS_HANDLE (f), dialog_proc, |
659 (LPARAM) LISP_TO_VOID (dialog_data)); | 659 (LPARAM) LISP_TO_VOID (dialog_data)); |
660 if (!did->hwnd) | 660 if (!did->hwnd) |
661 /* Something went wrong creating the dialog */ | 661 /* Something went wrong creating the dialog */ |
662 signal_type_error (Qdialog_box_error, "Creating dialog", keys); | 662 signal_error (Qdialog_box_error, "Creating dialog", keys); |
663 | 663 |
664 Vdialog_data_list = Fcons (dialog_data, Vdialog_data_list); | 664 Vdialog_data_list = Fcons (dialog_data, Vdialog_data_list); |
665 | 665 |
666 /* Cease protection and free dynarrays */ | 666 /* Cease protection and free dynarrays */ |
667 unbind_to (unbind_count, Qnil); | 667 unbind_to (unbind_count, Qnil); |
680 else if (EQ (type, Qprint)) | 680 else if (EQ (type, Qprint)) |
681 return mswindows_handle_print_dialog_box (f, keys); | 681 return mswindows_handle_print_dialog_box (f, keys); |
682 else if (EQ (type, Qpage_setup)) | 682 else if (EQ (type, Qpage_setup)) |
683 return mswindows_handle_page_setup_dialog_box (f, keys); | 683 return mswindows_handle_page_setup_dialog_box (f, keys); |
684 else | 684 else |
685 signal_type_error (Qunimplemented, "Dialog box type", type); | 685 signal_error (Qunimplemented, "Dialog box type", type); |
686 return Qnil; | 686 return Qnil; |
687 } | 687 } |
688 | 688 |
689 void | 689 void |
690 console_type_create_dialog_mswindows (void) | 690 console_type_create_dialog_mswindows (void) |
707 DEFKEYWORD (Q_file_must_exist); | 707 DEFKEYWORD (Q_file_must_exist); |
708 DEFKEYWORD (Q_no_network_button); | 708 DEFKEYWORD (Q_no_network_button); |
709 DEFKEYWORD (Q_no_read_only_return); | 709 DEFKEYWORD (Q_no_read_only_return); |
710 | 710 |
711 /* Errors */ | 711 /* Errors */ |
712 DEFERROR_STANDARD (Qdialog_box_error, Qinvalid_operation); | 712 DEFERROR_STANDARD (Qdialog_box_error, Qgui_error); |
713 } | 713 } |
714 | 714 |
715 void | 715 void |
716 vars_of_dialog_mswindows (void) | 716 vars_of_dialog_mswindows (void) |
717 { | 717 { |