WPrefs: Update translations
[wmaker-crm.git] / WPrefs.app / editmenu.h
blob4cba6eaee786b7b98fdb656a7f97f66b98e9d9cc
1 /* editmenu.h - editable menus
3 * WPrefs - Window Maker Preferences Program
5 * Copyright (c) 2000-2003 Alfredo K. Kojima
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 #ifndef _editmenu_h_
24 #define _editmenu_h_
26 typedef struct W_EditMenu WEditMenu;
27 typedef struct W_EditMenuItem WEditMenuItem;
30 typedef struct WEditMenuDelegate {
31 void *data;
33 void (*itemCloned)(struct WEditMenuDelegate*, WEditMenu*,
34 WEditMenuItem*, WEditMenuItem *);
35 void (*itemEdited)(struct WEditMenuDelegate*, WEditMenu*,
36 WEditMenuItem*);
37 void (*itemSelected)(struct WEditMenuDelegate*, WEditMenu*,
38 WEditMenuItem*);
39 void (*itemDeselected)(struct WEditMenuDelegate*, WEditMenu*,
40 WEditMenuItem*);
41 Bool (*shouldRemoveItem)(struct WEditMenuDelegate*, WEditMenu*,
42 WEditMenuItem*);
43 } WEditMenuDelegate;
48 WEditMenuItem *WCreateEditMenuItem(WMWidget *parent, char *title,
49 Bool isTitle);
52 char *WGetEditMenuItemTitle(WEditMenuItem *item);
54 void *WGetEditMenuItemData(WEditMenuItem *item);
56 void WSetEditMenuItemData(WEditMenuItem *item, void *data,
57 WMCallback *destroyer);
59 void WSetEditMenuItemImage(WEditMenuItem *item, WMPixmap *pixmap);
61 WEditMenu *WCreateEditMenu(WMScreen *scr, char *title);
63 WEditMenu *WCreateEditMenuPad(WMWidget *parent);
65 void WSetEditMenuDelegate(WEditMenu *mPtr, WEditMenuDelegate *delegate);
67 WEditMenuItem *WInsertMenuItemWithTitle(WEditMenu *mPtr, int index,
68 char *title);
70 WEditMenuItem *WAddMenuItemWithTitle(WEditMenu *mPtr, char *title);
72 WEditMenuItem *WGetEditMenuItem(WEditMenu *mPtr, int index);
74 void WSetEditMenuTitle(WEditMenu *mPtr, char *title);
76 char *WGetEditMenuTitle(WEditMenu *mPtr);
78 void WSetEditMenuAcceptsDrop(WEditMenu *mPtr, Bool flag);
80 void WSetEditMenuSubmenu(WEditMenu *mPtr, WEditMenuItem *item,
81 WEditMenu *submenu);
84 WEditMenu *WGetEditMenuSubmenu(WEditMenu *mPtr, WEditMenuItem *item);
86 void WRemoveEditMenuItem(WEditMenu *mPtr, WEditMenuItem *item);
88 void WSetEditMenuSelectable(WEditMenu *mPtr, Bool flag);
90 void WSetEditMenuEditable(WEditMenu *mPtr, Bool flag);
92 void WSetEditMenuIsFactory(WEditMenu *mPtr, Bool flag);
94 void WSetEditMenuMinSize(WEditMenu *mPtr, WMSize size);
96 void WSetEditMenuMaxSize(WEditMenu *mPtr, WMSize size);
98 WMPoint WGetEditMenuLocationForSubmenu(WEditMenu *mPtr, WEditMenu *submenu);
100 void WTearOffEditMenu(WEditMenu *menu, WEditMenu *submenu);
102 Bool WEditMenuIsTornOff(WEditMenu *mPtr);
105 void WEditMenuHide(WEditMenu *menu);
107 void WEditMenuUnhide(WEditMenu *menu);
109 void WEditMenuShowAt(WEditMenu *menu, int x, int y);
112 #endif