chiark / gitweb /
Use hands-off reader in MP3 decoding.
[disorder] / disobedience / popup.h
CommitLineData
6982880f
RK
1/*
2 * This file is part of DisOrder
3 * Copyright (C) 2008 Richard Kettlewell
4 *
e7eb3a27 5 * This program is free software: you can redistribute it and/or modify
6982880f 6 * it under the terms of the GNU General Public License as published by
e7eb3a27 7 * the Free Software Foundation, either version 3 of the License, or
6982880f
RK
8 * (at your option) any later version.
9 *
e7eb3a27
RK
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
6982880f 15 * You should have received a copy of the GNU General Public License
e7eb3a27 16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
6982880f 17 */
132a5a4a
RK
18/** @file disobedience/popup.h
19 * @brief Disobedience popup menus
20 */
6982880f
RK
21#ifndef POPUP_H
22#define POPUP_H
23
24/** @brief A popup menu item */
25struct menuitem {
26 /** @brief Menu item name */
27 const char *name;
28
ba6f3dd4
RK
29 /** @brief Stock icon name */
30 const char *stock;
31
6982880f
RK
32 /** @brief Called to activate the menu item */
33 void (*activate)(GtkMenuItem *menuitem,
34 gpointer user_data);
35
36 /** @brief Called to determine whether the menu item is usable.
37 *
38 * Returns @c TRUE if it should be sensitive and @c FALSE otherwise.
39 */
40 int (*sensitive)(void *extra);
41
42 /** @brief Signal handler ID */
43 gulong handlerid;
44
45 /** @brief Widget for menu item */
46 GtkWidget *w;
47};
48
49void popup(GtkWidget **menup,
50 GdkEventButton *event,
51 struct menuitem *items,
52 int nitems,
53 void *extra);
54void ensure_selected(GtkTreeView *treeview,
55 GdkEventButton *event);
56
57#endif /* POPUP_H */
58
59/*
60Local Variables:
61c-basic-offset:2
62comment-column:40
63fill-column:79
64indent-tabs-mode:nil
65End:
66*/