2 * MacroTable.h - TaskJuggler
4 * Copyright (c) 2001 by Chris Schlaeger <cs@suse.de>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms version 2 of the GNU General Public License as
8 * published by the Free Software Foundation.
13 #ifndef _MacroTable_h_
14 #define _MacroTable_h_
17 #include <qstringlist.h>
19 #include <qvaluelist.h>
24 Macro(const QString& n, const QString& v, const QString& f, uint l)
25 : name(n), value(v), file(f), line(l) { }
28 const QString& getName() const { return name; }
29 const QString& getValue() const { return value; }
30 const QString& getFile() const { return file; }
31 const uint getLine() const { return line; }
34 Macro() { } // don't use this
47 macros.setAutoDelete(TRUE);
48 argStack.setAutoDelete(TRUE);
52 bool addMacro(Macro* m);
53 void pushArguments(QStringList* sl)
59 argStack.removeLast();
61 QString expand(const QString& name);
62 Macro* getMacro(const QString& name) const { return macros[name]; }
66 QPtrList<QStringList> argStack;