root/branches/2.1/oldXMenu/DelSel.c

Revision 3207, 1.8 kB (checked in by miyoshi, 5 years ago)

Sync up with Emacs-21.2.

  • Property svn:eol-style set to native
Line 
1 #include "copyright.h"
2
3 /* $Header: /cvsroot/emacs/emacs/oldXMenu/DelSel.c,v 1.1 1999/10/03 19:34:58 fx Exp $ */
4 /* Copyright    Massachusetts Institute of Technology    1985   */
5
6 /*
7  * XMenu:       MIT Project Athena, X Window system menu package
8  *
9  *      XMenuDeleteSelection - Deletes a selection from an XMenu object.
10  *
11  *      Author:         Tony Della Fera, DEC
12  *                      20-Nov-85
13  *
14  */
15
16 #include "XMenuInt.h"
17
18 int
19 XMenuDeleteSelection(display, menu, p_num, s_num)
20     register Display *display;  /* Previously opened display. */
21     register XMenu *menu;       /* Menu object to be modified. */
22     register int p_num;         /* Pane number to be deleted. */
23     register int s_num;         /* Selection number to be deleted. */
24 {
25     register XMPane *p_ptr;     /* Pointer to pane being deleted. */
26     register XMSelect *s_ptr;   /* Pointer to selections being deleted. */
27        
28     /*
29      * Find the right pane.
30      */
31     p_ptr = _XMGetPanePtr(menu, p_num);
32     if (p_ptr == NULL) return(XM_FAILURE);
33
34     /*
35      * Find the right selection.
36      */
37     s_ptr = _XMGetSelectionPtr(p_ptr, s_num);
38     if (s_ptr == NULL) return(XM_FAILURE);
39
40     /*
41      * Remove the selection from the association table.
42      */
43     XDeleteAssoc(display, menu->assoc_tab, s_ptr->window);
44
45     /*
46      * Remove the selection from the parent pane's selection
47      * list and update the selection count.
48      */
49     emacs_remque(s_ptr);
50     p_ptr->s_count--;
51
52     /*
53      * Destroy the selection transparency.
54      */
55     if (s_ptr->window) XDestroyWindow(display, s_ptr->window);
56    
57     /*
58      * Free the selection's XMSelect structure.
59      */
60     free(s_ptr);
61
62     /*
63      * Schedule a recompute.
64      */
65     menu->recompute = 1;
66
67     /*
68      * Return the selection number just deleted.
69      */
70     _XMErrorCode = XME_NO_ERROR;
71     return(s_num);
72 }
Note: See TracBrowser for help on using the browser.