annotate oldXMenu/DelSel.c @ 55434:f88632e54afb

2004-05-08 John Wiegley <johnw@newartisans.com> * iswitchb.el (iswitchb-use-virtual-buffers): Added support for "virtual buffers" (off by default), which makes it possible to switch to the buffers of recently files. When a buffer name search fails, and this option is on, iswitchb will look at the list of recently visited files, and permit matching against those names. When the user hits RET on a match, it will revisit that file. (iswitchb-read-buffer): Added two optional arguments, which makes isearchb.el possible. (iswitchb-completions, iswitchb-set-matches, iswitchb-prev-match, iswitchb-next-match): Added support for virtual buffers.
author John Wiegley <johnw@newartisans.com>
date Sat, 08 May 2004 13:00:52 +0000
parents e8824c4f5f7e
children 3861ff8f4bf1 8e5779acd195
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 /* Copyright Massachusetts Institute of Technology 1985 */
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 * XMenu: MIT Project Athena, X Window system menu package
Dave Love <fx@gnu.org>
parents:
diff changeset
7 *
Dave Love <fx@gnu.org>
parents:
diff changeset
8 * XMenuDeleteSelection - Deletes a selection from an XMenu object.
Dave Love <fx@gnu.org>
parents:
diff changeset
9 *
Dave Love <fx@gnu.org>
parents:
diff changeset
10 * Author: Tony Della Fera, DEC
Dave Love <fx@gnu.org>
parents:
diff changeset
11 * 20-Nov-85
Dave Love <fx@gnu.org>
parents:
diff changeset
12 *
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 #include "XMenuInt.h"
Dave Love <fx@gnu.org>
parents:
diff changeset
16
Dave Love <fx@gnu.org>
parents:
diff changeset
17 int
Dave Love <fx@gnu.org>
parents:
diff changeset
18 XMenuDeleteSelection(display, menu, p_num, s_num)
Dave Love <fx@gnu.org>
parents:
diff changeset
19 register Display *display; /* Previously opened display. */
Dave Love <fx@gnu.org>
parents:
diff changeset
20 register XMenu *menu; /* Menu object to be modified. */
Dave Love <fx@gnu.org>
parents:
diff changeset
21 register int p_num; /* Pane number to be deleted. */
Dave Love <fx@gnu.org>
parents:
diff changeset
22 register int s_num; /* Selection number to be deleted. */
Dave Love <fx@gnu.org>
parents:
diff changeset
23 {
Dave Love <fx@gnu.org>
parents:
diff changeset
24 register XMPane *p_ptr; /* Pointer to pane being deleted. */
Dave Love <fx@gnu.org>
parents:
diff changeset
25 register XMSelect *s_ptr; /* Pointer to selections being deleted. */
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
26
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
27 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
28 * Find the right pane.
Dave Love <fx@gnu.org>
parents:
diff changeset
29 */
Dave Love <fx@gnu.org>
parents:
diff changeset
30 p_ptr = _XMGetPanePtr(menu, p_num);
Dave Love <fx@gnu.org>
parents:
diff changeset
31 if (p_ptr == NULL) return(XM_FAILURE);
Dave Love <fx@gnu.org>
parents:
diff changeset
32
Dave Love <fx@gnu.org>
parents:
diff changeset
33 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
34 * Find the right selection.
Dave Love <fx@gnu.org>
parents:
diff changeset
35 */
Dave Love <fx@gnu.org>
parents:
diff changeset
36 s_ptr = _XMGetSelectionPtr(p_ptr, s_num);
Dave Love <fx@gnu.org>
parents:
diff changeset
37 if (s_ptr == NULL) return(XM_FAILURE);
Dave Love <fx@gnu.org>
parents:
diff changeset
38
Dave Love <fx@gnu.org>
parents:
diff changeset
39 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
40 * Remove the selection from the association table.
Dave Love <fx@gnu.org>
parents:
diff changeset
41 */
Dave Love <fx@gnu.org>
parents:
diff changeset
42 XDeleteAssoc(display, menu->assoc_tab, s_ptr->window);
Dave Love <fx@gnu.org>
parents:
diff changeset
43
Dave Love <fx@gnu.org>
parents:
diff changeset
44 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
45 * Remove the selection from the parent pane's selection
Dave Love <fx@gnu.org>
parents:
diff changeset
46 * list and update the selection count.
Dave Love <fx@gnu.org>
parents:
diff changeset
47 */
Dave Love <fx@gnu.org>
parents:
diff changeset
48 emacs_remque(s_ptr);
Dave Love <fx@gnu.org>
parents:
diff changeset
49 p_ptr->s_count--;
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 * Destroy the selection transparency.
Dave Love <fx@gnu.org>
parents:
diff changeset
53 */
Dave Love <fx@gnu.org>
parents:
diff changeset
54 if (s_ptr->window) XDestroyWindow(display, s_ptr->window);
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
55
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
56 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
57 * Free the selection's XMSelect structure.
Dave Love <fx@gnu.org>
parents:
diff changeset
58 */
Dave Love <fx@gnu.org>
parents:
diff changeset
59 free(s_ptr);
Dave Love <fx@gnu.org>
parents:
diff changeset
60
Dave Love <fx@gnu.org>
parents:
diff changeset
61 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
62 * Schedule a recompute.
Dave Love <fx@gnu.org>
parents:
diff changeset
63 */
Dave Love <fx@gnu.org>
parents:
diff changeset
64 menu->recompute = 1;
Dave Love <fx@gnu.org>
parents:
diff changeset
65
Dave Love <fx@gnu.org>
parents:
diff changeset
66 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
67 * Return the selection number just deleted.
Dave Love <fx@gnu.org>
parents:
diff changeset
68 */
Dave Love <fx@gnu.org>
parents:
diff changeset
69 _XMErrorCode = XME_NO_ERROR;
Dave Love <fx@gnu.org>
parents:
diff changeset
70 return(s_num);
Dave Love <fx@gnu.org>
parents:
diff changeset
71 }
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
72
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
73 /* arch-tag: 24ca2bc7-8a37-471a-8095-e6363fc1ed10
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
74 (do not change this comment) */