Ardour
9.0-pre0-582-g084a23a80d
route_group_menu.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2009-2011 Carl Hetherington <carl@carlh.net>
3
* Copyright (C) 2009-2016 Paul Davis <paul@linuxaudiosystems.com>
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
9
*
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
*
15
* You should have received a copy of the GNU General Public License along
16
* with this program; if not, write to the Free Software Foundation, Inc.,
17
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18
*/
19
20
#pragma once
21
22
#include "
ardour/route_group.h
"
23
#include "
ardour/session_handle.h
"
24
25
#include <
gtkmm/menu.h
>
26
#include <
gtkmm/radiomenuitem.h
>
27
28
class
RouteGroupDialog
;
29
30
class
RouteGroupMenu
:
public
ARDOUR::SessionHandlePtr
31
{
32
public
:
33
RouteGroupMenu
(
ARDOUR::Session
*,
PBD::PropertyList
*);
34
~RouteGroupMenu
();
35
36
Gtk::Menu
*
menu
();
37
void
build
(
ARDOUR::WeakRouteList
const
&);
38
void
detach
();
39
40
private
:
41
void
add_item
(
ARDOUR::RouteGroup
*, std::set<ARDOUR::RouteGroup*>
const
&,
Gtk::RadioMenuItem::Group
*);
42
void
new_group
();
43
void
edit_group
(
ARDOUR::RouteGroup
*);
44
void
set_group
(
Gtk::RadioMenuItem
*,
ARDOUR::RouteGroup
*);
45
void
new_group_dialog_finished
(
int
,
RouteGroupDialog
*);
46
47
Gtk::Menu
*
_menu
;
48
49
PBD::PropertyList
*
_default_properties
;
50
bool
_inhibit_group_selected
;
51
ARDOUR::WeakRouteList
_subject
;
52
};
53
ARDOUR::RouteGroup
Definition:
route_group.h:73
ARDOUR::SessionHandlePtr
Definition:
session_handle.h:46
ARDOUR::Session
Definition:
session.h:211
Gtk::Menu
Definition:
tk/ytkmm/ytkmm/gtkmm/menu.h:59
Gtk::RadioButtonGroup
Definition:
radiobuttongroup.h:48
Gtk::RadioMenuItem
Definition:
radiomenuitem.h:55
PBD::PropertyList
Definition:
property_list.h:34
RouteGroupDialog
Definition:
route_group_dialog.h:36
RouteGroupMenu
Definition:
route_group_menu.h:31
RouteGroupMenu::_subject
ARDOUR::WeakRouteList _subject
Definition:
route_group_menu.h:51
RouteGroupMenu::set_group
void set_group(Gtk::RadioMenuItem *, ARDOUR::RouteGroup *)
RouteGroupMenu::detach
void detach()
RouteGroupMenu::RouteGroupMenu
RouteGroupMenu(ARDOUR::Session *, PBD::PropertyList *)
RouteGroupMenu::add_item
void add_item(ARDOUR::RouteGroup *, std::set< ARDOUR::RouteGroup * > const &, Gtk::RadioMenuItem::Group *)
RouteGroupMenu::_inhibit_group_selected
bool _inhibit_group_selected
Definition:
route_group_menu.h:50
RouteGroupMenu::new_group
void new_group()
RouteGroupMenu::build
void build(ARDOUR::WeakRouteList const &)
RouteGroupMenu::menu
Gtk::Menu * menu()
RouteGroupMenu::new_group_dialog_finished
void new_group_dialog_finished(int, RouteGroupDialog *)
RouteGroupMenu::~RouteGroupMenu
~RouteGroupMenu()
RouteGroupMenu::_menu
Gtk::Menu * _menu
Definition:
route_group_menu.h:47
RouteGroupMenu::_default_properties
PBD::PropertyList * _default_properties
Definition:
route_group_menu.h:49
RouteGroupMenu::edit_group
void edit_group(ARDOUR::RouteGroup *)
ARDOUR::WeakRouteList
std::list< std::weak_ptr< Route > > WeakRouteList
Definition:
ardour/ardour/types.h:690
radiomenuitem.h
route_group.h
session_handle.h
menu.h
gtk2_ardour
route_group_menu.h
Generated on Wed Dec 25 2024 05:44:46 for Ardour by
1.9.1