summaryrefslogtreecommitdiffstats
path: root/src/libgui/project.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libgui/project.h')
-rw-r--r--src/libgui/project.h49
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