3
// This file is part of Bombono DVD project.
5
// Copyright (c) 2010 Ilya Murav'jov
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
18
// along with this program; if not, write to the Free Software
19
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22
#include <mgui/_pc_.h>
26
Gtk::MenuItem& AppendMI(Gtk::MenuShell& ms, Gtk::MenuItem& mi)
32
Gtk::Menu& MakeSubmenu(Gtk::MenuItem& mi)
34
Gtk::Menu& sub_menu = NewManaged<Gtk::Menu>();
35
mi.set_submenu(sub_menu);
39
Gtk::MenuItem& MakeAppendMI(Gtk::MenuShell& ms, const char* name)
41
return AppendMI(ms, NewManaged<Gtk::MenuItem>(name));
44
void AppendSeparator(Gtk::MenuShell& ms)
46
ms.append(NewManaged<Gtk::SeparatorMenuItem>());
49
void Popup(Gtk::Menu& mn, GdkEventButton* event, bool show_all)
53
mn.popup(event->button, event->time);
56
void AddEnabledItem(Gtk::Menu& menu, const char* name, const ActionFunctor& fnr, bool is_enabled)
58
Gtk::MenuItem& itm = MakeAppendMI(menu, name);
59
itm.set_sensitive(is_enabled);
60
itm.signal_activate().connect(fnr);