annotate oldXMenu/DelSel.c @ 112402:a102f5772eaa

Merge from mainline.
author Paul Eggert <eggert@cs.ucla.edu>
date Fri, 21 Jan 2011 12:27:07 -0800
parents ef719132ddfa
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
76174
fec5e03aaf59 Remove FSF copyright since file does not differ significantly from X11
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
1 /* Copyright Massachusetts Institute of Technology 1985 */
fec5e03aaf59 Remove FSF copyright since file does not differ significantly from X11
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
2
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
3 #include "copyright.h"
Dave Love <fx@gnu.org>
parents:
diff changeset
4
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 * XMenuDeleteSelection - Deletes a selection from an XMenu object.
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 * 20-Nov-85
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 int
109124
5cc91198ffb2 Convert function definitions in oldXMenu to standard C.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 76174
diff changeset
19 XMenuDeleteSelection(register Display *display, register XMenu *menu, register int p_num, register int s_num)
5cc91198ffb2 Convert function definitions in oldXMenu to standard C.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 76174
diff changeset
20 /* Previously opened display. */
5cc91198ffb2 Convert function definitions in oldXMenu to standard C.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 76174
diff changeset
21 /* Menu object to be modified. */
5cc91198ffb2 Convert function definitions in oldXMenu to standard C.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 76174
diff changeset
22 /* Pane number to be deleted. */
5cc91198ffb2 Convert function definitions in oldXMenu to standard C.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 76174
diff changeset
23 /* Selection number to be deleted. */
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
24 {
Dave Love <fx@gnu.org>
parents:
diff changeset
25 register XMPane *p_ptr; /* Pointer to pane being deleted. */
Dave Love <fx@gnu.org>
parents:
diff changeset
26 register XMSelect *s_ptr; /* Pointer to selections being deleted. */
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
27
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
28 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
29 * Find the right pane.
Dave Love <fx@gnu.org>
parents:
diff changeset
30 */
Dave Love <fx@gnu.org>
parents:
diff changeset
31 p_ptr = _XMGetPanePtr(menu, p_num);
Dave Love <fx@gnu.org>
parents:
diff changeset
32 if (p_ptr == NULL) return(XM_FAILURE);
Dave Love <fx@gnu.org>
parents:
diff changeset
33
Dave Love <fx@gnu.org>
parents:
diff changeset
34 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
35 * Find the right selection.
Dave Love <fx@gnu.org>
parents:
diff changeset
36 */
Dave Love <fx@gnu.org>
parents:
diff changeset
37 s_ptr = _XMGetSelectionPtr(p_ptr, s_num);
Dave Love <fx@gnu.org>
parents:
diff changeset
38 if (s_ptr == NULL) return(XM_FAILURE);
Dave Love <fx@gnu.org>
parents:
diff changeset
39
Dave Love <fx@gnu.org>
parents:
diff changeset
40 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
41 * Remove the selection from the association table.
Dave Love <fx@gnu.org>
parents:
diff changeset
42 */
Dave Love <fx@gnu.org>
parents:
diff changeset
43 XDeleteAssoc(display, menu->assoc_tab, s_ptr->window);
Dave Love <fx@gnu.org>
parents:
diff changeset
44
Dave Love <fx@gnu.org>
parents:
diff changeset
45 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
46 * Remove the selection from the parent pane's selection
Dave Love <fx@gnu.org>
parents:
diff changeset
47 * list and update the selection count.
Dave Love <fx@gnu.org>
parents:
diff changeset
48 */
Dave Love <fx@gnu.org>
parents:
diff changeset
49 emacs_remque(s_ptr);
Dave Love <fx@gnu.org>
parents:
diff changeset
50 p_ptr->s_count--;
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 selection transparency.
Dave Love <fx@gnu.org>
parents:
diff changeset
54 */
Dave Love <fx@gnu.org>
parents:
diff changeset
55 if (s_ptr->window) XDestroyWindow(display, s_ptr->window);
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
56
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
57 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
58 * Free the selection's XMSelect structure.
Dave Love <fx@gnu.org>
parents:
diff changeset
59 */
Dave Love <fx@gnu.org>
parents:
diff changeset
60 free(s_ptr);
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 * Schedule a recompute.
Dave Love <fx@gnu.org>
parents:
diff changeset
64 */
Dave Love <fx@gnu.org>
parents:
diff changeset
65 menu->recompute = 1;
Dave Love <fx@gnu.org>
parents:
diff changeset
66
Dave Love <fx@gnu.org>
parents:
diff changeset
67 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
68 * Return the selection number just deleted.
Dave Love <fx@gnu.org>
parents:
diff changeset
69 */
Dave Love <fx@gnu.org>
parents:
diff changeset
70 _XMErrorCode = XME_NO_ERROR;
Dave Love <fx@gnu.org>
parents:
diff changeset
71 return(s_num);
Dave Love <fx@gnu.org>
parents:
diff changeset
72 }
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
73