diff options
Diffstat (limited to 'src/libgui/project.h')
-rw-r--r-- | src/libgui/project.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/libgui/project.h b/src/libgui/project.h new file mode 100644 index 0000000..0dfdeab --- /dev/null +++ b/src/libgui/project.h @@ -0,0 +1,49 @@ +/*************************************************************************** + * Copyright (C) 2005 Nicolas Hadacek <hadacek@kde.org> * + * Copyright (C) 2003 Alain Gibaud <alain.gibaud@free.fr> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#ifndef PROJECT_H +#define PROJECT_H + +#include "devices/base/register.h" +#include "common/global/xml_data_file.h" +#include "tools/base/generic_tool.h" + +class Project : public XmlDataFile +{ +public: + Project(const PURL::Url &url) : XmlDataFile(url, "piklab") {} + virtual bool load(QString &error); + + PURL::Directory directory() const { return url().directory(); } + QString name() const { return url().basename(); } + PURL::UrlList absoluteFiles() const; + QString version() const; + QString description() const; + Tool::OutputType outputType() const; + PURL::UrlList openedFiles() const; + PURL::Url customLinkerScript() const; + QValueList<Register::TypeData> watchedRegisters() const; + QString toSourceObject(const PURL::Url &url, const QString &extension, bool forWindows) const; + QStringList objectsForLinker(const QString &extension, bool forWindows) const; + QStringList librariesForLinker(const QString &prefix, bool forWindows) const; + QValueList<uint> bookmarkLines(const PURL::Url &url) const; // absolute filepath + + void removeFile(const PURL::Url &url); // take absolute filepath (but inside project dir) + void addFile(const PURL::Url &url); // take absolute filePath (but inside project dir) + void clearFiles(); + void setVersion(const QString &version); + void setDescription(const QString &description); + void setOutputType(Tool::OutputType type); + void setOpenedFiles(const PURL::UrlList &list); + void setCustomLinkerScript(const PURL::Url &url); + void setWatchedRegisters(const QValueList<Register::TypeData> &watched); + void setBookmarkLines(const PURL::Url &url, const QValueList<uint> &lines); // absolute filepath +}; + +#endif |