Patch from ICS to do proper subclassing - this will make it more immune to
[nedit.git] / util / managedList.h
blobabd475bba75854f3dbd16cb3124ba239a09136c7
1 /* $Id: managedList.h,v 1.7 2004/11/09 21:58:45 yooden Exp $ */
2 /*******************************************************************************
3 * *
4 * managedList.h -- Nirvana Editor Managed List Header File *
5 * *
6 * Copyright 2002 The NEdit Developers *
7 * *
8 * This is free software; you can redistribute it and/or modify it under the *
9 * terms of the GNU General Public License as published by the Free Software *
10 * Foundation; either version 2 of the License, or (at your option) any later *
11 * version. In addition, you may distribute versions of this program linked to *
12 * Motif or Open Motif. See README for details. *
13 * *
14 * This software is distributed in the hope that it will be useful, but WITHOUT *
15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
16 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
17 * more details. *
18 * *
19 * You should have received a copy of the GNU General Public License along with *
20 * software; if not, write to the Free Software Foundation, Inc., 59 Temple *
21 * Place, Suite 330, Boston, MA 02111-1307 USA *
22 * *
23 * Nirvana Text Editor *
24 * July 31, 2001 *
25 * *
26 *******************************************************************************/
28 #ifndef NEDIT_MANAGEDLIST_H_INCLUDED
29 #define NEDIT_MANAGEDLIST_H_INCLUDED
31 #include <X11/Intrinsic.h>
33 Widget CreateManagedList(Widget parent, char *name, Arg *args,
34 int argC, void **itemList, int *nItems, int maxItems, int nColumns,
35 void *(*getDialogDataCB)(void *, int, int *, void *),
36 void *getDialogDataArg, void (*setDialogDataCB)(void *, void *),
37 void *setDialogDataArg, void (*freeItemCB)(void *));
38 Widget ManageListAndButtons(Widget listW,
39 Widget deleteBtn, Widget copyBtn, Widget moveUpBtn,
40 Widget moveDownBtn, void **itemList, int *nItems,
41 int maxItems, void *(*getDialogDataCB)(void *, int, int *, void *),
42 void *getDialogDataArg, void (*setDialogDataCB)(void *, void *),
43 void *setDialogDataArg, void (*freeItemCB)(void *));
44 int UpdateManagedList(Widget listW, int explicitRequest);
45 int ManagedListSelectedIndex(Widget listW);
46 void ChangeManagedListData(Widget listW);
47 void SelectManagedListItem(Widget listW, int itemIndex);
48 void AddDeleteConfirmCB(Widget listW, int (*deleteConfirmCB)(int, void *),
49 void *deleteConfirmArg);
51 #endif /* NEDIT_MANAGEDLIST_H_INCLUDED */