Ardour
9.0-pre0-582-g084a23a80d
property_list.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2010-2015 Paul Davis <paul@linuxaudiosystems.com>
3
* Copyright (C) 2010 Carl Hetherington <carl@carlh.net>
4
* Copyright (C) 2015-2017 Robin Gareus <robin@gareus.org>
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License along
17
* with this program; if not, write to the Free Software Foundation, Inc.,
18
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
*/
20
21
#pragma once
22
23
#include <map>
24
25
#include "
pbd/libpbd_visibility.h
"
26
#include "
pbd/property_basics.h
"
27
28
class
XMLNode
;
29
30
namespace
PBD
{
31
33
class
LIBPBD_API
PropertyList
:
public
std::map<PropertyID, PropertyBase*>
34
{
35
public
:
36
PropertyList
();
37
PropertyList
(
PropertyList
const
&);
38
39
virtual
~PropertyList
();
40
41
void
get_changes_as_xml
(
XMLNode
*);
42
void
invert
();
43
49
bool
add
(
PropertyBase
* prop);
50
58
template
<
typename
T,
typename
V>
bool
add
(
PropertyDescriptor<T>
pid,
const
V& v);
59
template
<
typename
T>
bool
remove (
PropertyDescriptor<T>
pid);
60
61
protected
:
62
bool
_property_owner
;
63
};
64
72
class
LIBPBD_API
OwnedPropertyList
:
public
PropertyList
73
{
74
public
:
75
OwnedPropertyList
();
76
84
bool
add
(
PropertyBase
& p);
85
};
86
87
}
88
PBD::OwnedPropertyList
Definition:
property_list.h:73
PBD::OwnedPropertyList::add
bool add(PropertyBase &p)
PBD::OwnedPropertyList::OwnedPropertyList
OwnedPropertyList()
PBD::PropertyBase
Definition:
property_basics.h:90
PBD::PropertyList
Definition:
property_list.h:34
PBD::PropertyList::add
bool add(PropertyBase *prop)
PBD::PropertyList::~PropertyList
virtual ~PropertyList()
PBD::PropertyList::get_changes_as_xml
void get_changes_as_xml(XMLNode *)
PBD::PropertyList::_property_owner
bool _property_owner
Definition:
property_list.h:62
PBD::PropertyList::PropertyList
PropertyList(PropertyList const &)
PBD::PropertyList::PropertyList
PropertyList()
PBD::PropertyList::invert
void invert()
XMLNode
Definition:
xml++.h:114
libpbd_visibility.h
LIBPBD_API
#define LIBPBD_API
Definition:
libpbd_visibility.h:50
Gtk::Stock::add
void add(const Gtk::StockItem &item)
PBD
Definition:
axis_view.h:42
property_basics.h
PBD::PropertyDescriptor
Definition:
property_basics.h:40
libs
pbd
pbd
property_list.h
Generated on Wed Dec 25 2024 05:44:45 for Ardour by
1.9.1