Mercurial > hg > xemacs-beta
annotate src/gui-gtk.c @ 5925:08cfc8f77fb6 cygwin
make space for long ptr, and store as such, for frame in WINDOW data,
add a bit more debugging to debug-mswindow,
Vin Shelton patch to fix M-x shell
| author | Henry Thompson <ht@markup.co.uk> |
|---|---|
| date | Fri, 27 Feb 2015 17:41:20 +0000 |
| parents | 56144c8593a8 |
| children |
| rev | line source |
|---|---|
| 2168 | 1 /* General GUI code -- GTK-specific. (menubars, scrollbars, toolbars, dialogs) |
| 462 | 2 Copyright (C) 1995 Board of Trustees, University of Illinois. |
| 872 | 3 Copyright (C) 1995, 1996, 2002 Ben Wing. |
| 462 | 4 Copyright (C) 1995 Sun Microsystems, Inc. |
| 5 Copyright (C) 1998 Free Software Foundation, Inc. | |
| 6 | |
| 7 This file is part of XEmacs. | |
| 8 | |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
2552
diff
changeset
|
9 XEmacs is free software: you can redistribute it and/or modify it |
| 462 | 10 under the terms of the GNU General Public License as published by the |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
2552
diff
changeset
|
11 Free Software Foundation, either version 3 of the License, or (at your |
|
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
2552
diff
changeset
|
12 option) any later version. |
| 462 | 13 |
| 14 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
| 15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| 16 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
| 17 for more details. | |
| 18 | |
| 19 You should have received a copy of the GNU General Public License | |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
2552
diff
changeset
|
20 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */ |
| 462 | 21 |
| 22 /* Synched up with: Not in FSF. */ | |
| 23 | |
| 24 #include <config.h> | |
| 25 #include "lisp.h" | |
| 26 | |
| 27 #include "buffer.h" | |
| 872 | 28 #include "device-impl.h" |
| 462 | 29 #include "frame.h" |
| 30 #include "gui.h" | |
| 31 #include "opaque.h" | |
| 32 | |
| 872 | 33 #include "console-gtk-impl.h" |
| 34 | |
| 462 | 35 static GUI_ID gui_id_ctr = 0; |
| 36 | |
| 37 GUI_ID | |
| 38 new_gui_id (void) | |
| 39 { | |
| 40 return (++gui_id_ctr); | |
| 41 } | |
| 42 | |
| 43 /* This is like FRAME_MENUBAR_DATA (f), but contains an alist of | |
| 44 (id . popup-data) for GCPRO'ing the callbacks of the popup menus | |
| 45 and dialog boxes. */ | |
| 46 static Lisp_Object Vpopup_callbacks; | |
| 47 | |
| 48 void | |
| 49 gcpro_popup_callbacks (GUI_ID id, Lisp_Object data) | |
| 50 { | |
|
5581
56144c8593a8
Mechanically change INT to FIXNUM in our sources.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5402
diff
changeset
|
51 Vpopup_callbacks = Fcons (Fcons (make_fixnum (id), data), Vpopup_callbacks); |
| 462 | 52 } |
| 53 | |
| 54 void | |
| 55 ungcpro_popup_callbacks (GUI_ID id) | |
| 56 { | |
|
5581
56144c8593a8
Mechanically change INT to FIXNUM in our sources.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5402
diff
changeset
|
57 Lisp_Object lid = make_fixnum (id); |
| 2552 | 58 Lisp_Object this_callback = assq_no_quit (lid, Vpopup_callbacks); |
| 59 Vpopup_callbacks = delq_no_quit (this_callback, Vpopup_callbacks); | |
| 462 | 60 } |
| 61 | |
| 62 Lisp_Object | |
| 63 get_gcpro_popup_callbacks (GUI_ID id) | |
| 64 { | |
|
5581
56144c8593a8
Mechanically change INT to FIXNUM in our sources.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5402
diff
changeset
|
65 Lisp_Object lid = make_fixnum (id); |
| 2552 | 66 Lisp_Object this_callback = assq_no_quit (lid, Vpopup_callbacks); |
| 462 | 67 |
| 2552 | 68 if (!NILP (this_callback)) |
| 462 | 69 { |
| 2552 | 70 return (XCDR (this_callback)); |
| 462 | 71 } |
| 72 return (Qnil); | |
| 73 } | |
| 74 | |
| 75 void | |
| 76 syms_of_gui_gtk (void) | |
| 77 { | |
| 78 #ifdef HAVE_POPUPS | |
| 563 | 79 DEFSYMBOL (Qmenu_no_selection_hook); |
| 462 | 80 #endif |
| 81 } | |
| 82 | |
| 83 void | |
| 84 vars_of_gui_gtk (void) | |
| 85 { | |
| 86 staticpro (&Vpopup_callbacks); | |
| 87 Vpopup_callbacks = Qnil; | |
| 88 #ifdef HAVE_POPUPS | |
| 89 popup_up_p = 0; | |
| 90 | |
| 91 #if 0 | |
| 92 /* This DEFVAR_LISP is just for the benefit of make-docfile. */ | |
| 93 /* #### misnamed */ | |
| 94 DEFVAR_LISP ("menu-no-selection-hook", &Vmenu_no_selection_hook /* | |
| 95 Function or functions to call when a menu or dialog box is dismissed | |
| 96 without a selection having been made. | |
| 97 */ ); | |
| 98 #endif | |
| 99 | |
| 100 Fset (Qmenu_no_selection_hook, Qnil); | |
| 101 #endif /* HAVE_POPUPS */ | |
| 102 } |
