1
/***************************************************************************
2
* Copyright (C) 2004-2010 by Thomas Fischer *
3
* fischer@unix-ag.uni-kl.de *
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. *
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. *
15
* You should have received a copy of the GNU General Public License *
16
* along with this program; if not, write to the *
17
* Free Software Foundation, Inc., *
18
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19
***************************************************************************/
21
#ifndef KBIBTEX_IO_MACRO_H
22
#define KBIBTEX_IO_MACRO_H
30
* This class represents a macro in a BibTeX file. Macros in BibTeX
31
* are similar to variables, allowing to use the same value such as
32
* journal titles in several entries.
33
* @author Thomas Fischer <fischer@unix-ag.uni-kl.de>
35
class KBIBTEXIO_EXPORT Macro : public Element
37
Q_PROPERTY(QString key READ key WRITE setKey)
38
Q_PROPERTY(Value value READ value WRITE setValue)
42
* Create a new macro with a given key-value pair.
43
* @param key macro's key
44
* @param value macro's value
46
Macro(const QString& key = QString::null, const Value& value = Value());
49
* Copy constructor cloning another macro object.
50
* @param other macro object to clone
52
Macro(const Macro &other);
57
* Assignment operator, working similar to a copy constructor,
58
* but overwrites the current object's values.
60
Macro& operator= (const Macro& other);
63
* Set the key of this macro.
64
* @param key new key of this macro
66
void setKey(const QString &key);
69
* Retrieve the key of this macro.
70
* @return key of this comment
75
* Retrieve the key of this macro. Returns a reference which may not be modified.
76
* @return key of this comment
78
const Value& value() const;
81
* Retrieve the key of this macro. Returns a reference which may be modified.
82
* @return key of this comment
87
* Set the value of this macro.
88
* @param value new value of this macro
90
void setValue(const Value& value);
94
MacroPrivate * const d;