annotate oldXMenu/DelSel.c @ 89585:f89c9d4bd81c

(Fx_create_frame, x_create_tip_frame): Use new version of x_new_fontset. (w32_load_system_font): Initialize charset as unicode. font_info.encoding becomes encoding_type. (w32_to_x_font): Use decode_coding_c_string in place of decode_coding. (x_to_w32_font): Use encode_coding_object in place of encode_coding. (syms_of_w32fns): Set get_font_repertory_func.
author Jason Rumney <jasonr@gnu.org>
date Sat, 11 Oct 2003 22:35:25 +0000
parents 375f2633d815
children 68c22ea6027c
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
88123
375f2633d815 New directory
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
3 /* $Header: /cvs/emacs/oldXMenu/DelSel.c,v 1.1 1999/10/03 19:34:58 fx Exp $ */
25858
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 * 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
Dave Love <fx@gnu.org>
parents:
diff changeset
19 XMenuDeleteSelection(display, menu, p_num, s_num)
Dave Love <fx@gnu.org>
parents:
diff changeset
20 register Display *display; /* Previously opened display. */
Dave Love <fx@gnu.org>
parents:
diff changeset
21 register XMenu *menu; /* Menu object to be modified. */
Dave Love <fx@gnu.org>
parents:
diff changeset
22 register int p_num; /* Pane number to be deleted. */
Dave Love <fx@gnu.org>
parents:
diff changeset
23 register int s_num; /* Selection number to be deleted. */
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 }