annotate oldXMenu/Destroy.c @ 36150:46e59561af4c

Display Vars node renamed Display Custom. Include info there about customizing cursor appearance. Clean up aggressive scrolling. Clarify horizontal scrolling discussion. Fix index entries for line number mode.
author Richard M. Stallman <rms@gnu.org>
date Sat, 17 Feb 2001 16:45:37 +0000
parents bbce331da1be
children 23a1cea22d13
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
1 #include "copyright.h"
Dave Love <fx@gnu.org>
parents:
diff changeset
2
Dave Love <fx@gnu.org>
parents:
diff changeset
3 /* $Header: /u/src/emacs/19.0/oldXMenu/RCS/Destroy.c,v 1.1 1992/04/11 22:10:18 jimb Exp $ */
Dave Love <fx@gnu.org>
parents:
diff changeset
4 /* Copyright Massachusetts Institute of Technology 1985 */
Dave Love <fx@gnu.org>
parents:
diff changeset
5
Dave Love <fx@gnu.org>
parents:
diff changeset
6 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
7 * XMenu: MIT Project Athena, X Window system menu package
Dave Love <fx@gnu.org>
parents:
diff changeset
8 *
Dave Love <fx@gnu.org>
parents:
diff changeset
9 * XMenuDestroy - Free all resources associated with and XMenu.
Dave Love <fx@gnu.org>
parents:
diff changeset
10 *
Dave Love <fx@gnu.org>
parents:
diff changeset
11 * Author: Tony Della Fera, DEC
Dave Love <fx@gnu.org>
parents:
diff changeset
12 * August, 1985
Dave Love <fx@gnu.org>
parents:
diff changeset
13 *
Dave Love <fx@gnu.org>
parents:
diff changeset
14 */
Dave Love <fx@gnu.org>
parents:
diff changeset
15
Dave Love <fx@gnu.org>
parents:
diff changeset
16 #include "XMenuInt.h"
Dave Love <fx@gnu.org>
parents:
diff changeset
17
Dave Love <fx@gnu.org>
parents:
diff changeset
18 XMenuDestroy(display, menu)
Dave Love <fx@gnu.org>
parents:
diff changeset
19 Display *display;
Dave Love <fx@gnu.org>
parents:
diff changeset
20 register XMenu *menu; /* Menu object to destroy. */
Dave Love <fx@gnu.org>
parents:
diff changeset
21 {
Dave Love <fx@gnu.org>
parents:
diff changeset
22 register XMPane *p_ptr; /* Pointer to the current pane. */
Dave Love <fx@gnu.org>
parents:
diff changeset
23 register XMPane *p_next; /* Pointer to the next pane. */
Dave Love <fx@gnu.org>
parents:
diff changeset
24 register XMSelect *s_ptr; /* Pointer to the current selection. */
Dave Love <fx@gnu.org>
parents:
diff changeset
25 register XMSelect *s_next; /* Pointer to the next selection. */
Dave Love <fx@gnu.org>
parents:
diff changeset
26
Dave Love <fx@gnu.org>
parents:
diff changeset
27 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
28 * Destroy the selection and pane X windows and free
Dave Love <fx@gnu.org>
parents:
diff changeset
29 * their corresponding XMWindows.
Dave Love <fx@gnu.org>
parents:
diff changeset
30 */
Dave Love <fx@gnu.org>
parents:
diff changeset
31 for (
Dave Love <fx@gnu.org>
parents:
diff changeset
32 p_ptr = menu->p_list->next;
Dave Love <fx@gnu.org>
parents:
diff changeset
33 p_ptr != menu->p_list;
Dave Love <fx@gnu.org>
parents:
diff changeset
34 p_ptr = p_next
Dave Love <fx@gnu.org>
parents:
diff changeset
35 ) {
Dave Love <fx@gnu.org>
parents:
diff changeset
36 for (
Dave Love <fx@gnu.org>
parents:
diff changeset
37 s_ptr = p_ptr->s_list->next;
Dave Love <fx@gnu.org>
parents:
diff changeset
38 s_ptr != p_ptr->s_list;
Dave Love <fx@gnu.org>
parents:
diff changeset
39 s_ptr = s_next
Dave Love <fx@gnu.org>
parents:
diff changeset
40 ) {
Dave Love <fx@gnu.org>
parents:
diff changeset
41 s_next = s_ptr->next;
Dave Love <fx@gnu.org>
parents:
diff changeset
42 free(s_ptr);
Dave Love <fx@gnu.org>
parents:
diff changeset
43 }
Dave Love <fx@gnu.org>
parents:
diff changeset
44 if (p_ptr->window) {
Dave Love <fx@gnu.org>
parents:
diff changeset
45 XDestroySubwindows(display, p_ptr->window);
Dave Love <fx@gnu.org>
parents:
diff changeset
46 XDestroyWindow(display, p_ptr->window);
Dave Love <fx@gnu.org>
parents:
diff changeset
47 }
Dave Love <fx@gnu.org>
parents:
diff changeset
48 p_next = p_ptr->next;
Dave Love <fx@gnu.org>
parents:
diff changeset
49 free(p_ptr);
Dave Love <fx@gnu.org>
parents:
diff changeset
50 }
Dave Love <fx@gnu.org>
parents:
diff changeset
51
Dave Love <fx@gnu.org>
parents:
diff changeset
52 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
53 * Destroy the association table.
Dave Love <fx@gnu.org>
parents:
diff changeset
54 */
Dave Love <fx@gnu.org>
parents:
diff changeset
55 XDestroyAssocTable(menu->assoc_tab);
Dave Love <fx@gnu.org>
parents:
diff changeset
56
Dave Love <fx@gnu.org>
parents:
diff changeset
57 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
58 * Free the mouse cursor.
Dave Love <fx@gnu.org>
parents:
diff changeset
59 */
Dave Love <fx@gnu.org>
parents:
diff changeset
60 XFreeCursor(display, menu->mouse_cursor);
Dave Love <fx@gnu.org>
parents:
diff changeset
61
Dave Love <fx@gnu.org>
parents:
diff changeset
62 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
63 * Free the fonts.
Dave Love <fx@gnu.org>
parents:
diff changeset
64 */
Dave Love <fx@gnu.org>
parents:
diff changeset
65 XFreeFont(display, menu->p_fnt_info);
Dave Love <fx@gnu.org>
parents:
diff changeset
66 XFreeFont(display, menu->s_fnt_info);
Dave Love <fx@gnu.org>
parents:
diff changeset
67
Dave Love <fx@gnu.org>
parents:
diff changeset
68 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
69 * Free the pixmaps.
Dave Love <fx@gnu.org>
parents:
diff changeset
70 */
Dave Love <fx@gnu.org>
parents:
diff changeset
71 /* XFreePixmap(display, menu->p_bdr_pixmap);
Dave Love <fx@gnu.org>
parents:
diff changeset
72 XFreePixmap(display, menu->s_bdr_pixmap);
Dave Love <fx@gnu.org>
parents:
diff changeset
73 XFreePixmap(display, menu->p_frg_pixmap);
Dave Love <fx@gnu.org>
parents:
diff changeset
74 XFreePixmap(display, menu->s_frg_pixmap);
Dave Love <fx@gnu.org>
parents:
diff changeset
75 XFreePixmap(display, menu->bkgnd_pixmap); */
Dave Love <fx@gnu.org>
parents:
diff changeset
76 XFreePixmap(display, menu->inact_pixmap);
Dave Love <fx@gnu.org>
parents:
diff changeset
77
Dave Love <fx@gnu.org>
parents:
diff changeset
78 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
79 * Free the color cells.
Dave Love <fx@gnu.org>
parents:
diff changeset
80 */
Dave Love <fx@gnu.org>
parents:
diff changeset
81 if ((menu->p_bdr_color != BlackPixel(display, DefaultScreen(display))) && (menu->p_bdr_color != WhitePixel(display, DefaultScreen(display))))
Dave Love <fx@gnu.org>
parents:
diff changeset
82 XFreeColors(
Dave Love <fx@gnu.org>
parents:
diff changeset
83 display,
Dave Love <fx@gnu.org>
parents:
diff changeset
84 DefaultColormap(display, DefaultScreen(display)),
Dave Love <fx@gnu.org>
parents:
diff changeset
85 &menu->p_bdr_color,
Dave Love <fx@gnu.org>
parents:
diff changeset
86 1, 0);
Dave Love <fx@gnu.org>
parents:
diff changeset
87 if ((menu->s_bdr_color != BlackPixel(display, DefaultScreen(display))) && (menu->s_bdr_color != WhitePixel(display, DefaultScreen(display))))
Dave Love <fx@gnu.org>
parents:
diff changeset
88 XFreeColors(
Dave Love <fx@gnu.org>
parents:
diff changeset
89 display,
Dave Love <fx@gnu.org>
parents:
diff changeset
90 DefaultColormap(display, DefaultScreen(display)),
Dave Love <fx@gnu.org>
parents:
diff changeset
91 &menu->s_bdr_color,
Dave Love <fx@gnu.org>
parents:
diff changeset
92 1, 0);
Dave Love <fx@gnu.org>
parents:
diff changeset
93 if ((menu->p_frg_color != BlackPixel(display, DefaultScreen(display))) && (menu->p_frg_color != WhitePixel(display, DefaultScreen(display))))
Dave Love <fx@gnu.org>
parents:
diff changeset
94 XFreeColors(
Dave Love <fx@gnu.org>
parents:
diff changeset
95 display,
Dave Love <fx@gnu.org>
parents:
diff changeset
96 DefaultColormap(display, DefaultScreen(display)),
Dave Love <fx@gnu.org>
parents:
diff changeset
97 &menu->p_frg_color,
Dave Love <fx@gnu.org>
parents:
diff changeset
98 1, 0);
Dave Love <fx@gnu.org>
parents:
diff changeset
99 if ((menu->s_frg_color != BlackPixel(display, DefaultScreen(display))) && (menu->s_frg_color != WhitePixel(display, DefaultScreen(display))))
Dave Love <fx@gnu.org>
parents:
diff changeset
100 XFreeColors(
Dave Love <fx@gnu.org>
parents:
diff changeset
101 display,
Dave Love <fx@gnu.org>
parents:
diff changeset
102 DefaultColormap(display, DefaultScreen(display)),
Dave Love <fx@gnu.org>
parents:
diff changeset
103 &menu->s_frg_color,
Dave Love <fx@gnu.org>
parents:
diff changeset
104 1, 0);
Dave Love <fx@gnu.org>
parents:
diff changeset
105 if ((menu->bkgnd_color != BlackPixel(display, DefaultScreen(display))) && (menu->bkgnd_color != WhitePixel(display, DefaultScreen(display))))
Dave Love <fx@gnu.org>
parents:
diff changeset
106 XFreeColors(
Dave Love <fx@gnu.org>
parents:
diff changeset
107 display,
Dave Love <fx@gnu.org>
parents:
diff changeset
108 DefaultColormap(display, DefaultScreen(display)),
Dave Love <fx@gnu.org>
parents:
diff changeset
109 &menu->bkgnd_color,
Dave Love <fx@gnu.org>
parents:
diff changeset
110 1, 0);
Dave Love <fx@gnu.org>
parents:
diff changeset
111
Dave Love <fx@gnu.org>
parents:
diff changeset
112 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
113 * Free the XMenu.
Dave Love <fx@gnu.org>
parents:
diff changeset
114 */
Dave Love <fx@gnu.org>
parents:
diff changeset
115 free(menu);
Dave Love <fx@gnu.org>
parents:
diff changeset
116 }