Wizards: Refactor GeneratedFile in a extra file

Change-Id: I58f7053405c79774154c2f0447944533e6b10152
Reviewed-on: http://codereview.qt-project.org/4685
Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
This commit is contained in:
Marco Bubke
2011-09-12 16:52:54 +02:00
committed by Eike Ziller
parent f70233fe48
commit 72056e3570
5 changed files with 289 additions and 191 deletions

View File

@@ -34,6 +34,7 @@
#define BASEFILEWIZARD_H
#include "core_global.h"
#include "generatedfile.h"
#include <coreplugin/dialogs/iwizard.h>
@@ -58,58 +59,6 @@ class IFileWizardExtension;
class BaseFileWizardParameterData;
struct BaseFileWizardPrivate;
class GeneratedFilePrivate;
class CORE_EXPORT GeneratedFile
{
public:
enum Attribute { // Open this file in editor
OpenEditorAttribute = 0x01,
// Open project
OpenProjectAttribute = 0x02,
/* File is generated by external scripts, do not write out,
* see BaseFileWizard::writeFiles() */
CustomGeneratorAttribute = 0x4,
/* File exists and the user indicated that he wants to keep it */
KeepExistingFileAttribute = 0x8
};
Q_DECLARE_FLAGS(Attributes, Attribute)
GeneratedFile();
explicit GeneratedFile(const QString &path);
GeneratedFile(const GeneratedFile &);
GeneratedFile &operator=(const GeneratedFile &);
~GeneratedFile();
// Full path of the file should be created, or the suggested file name
QString path() const;
void setPath(const QString &p);
// Contents of the file (UTF8)
QString contents() const;
void setContents(const QString &c);
QByteArray binaryContents() const;
void setBinaryContents(const QByteArray &c);
// Defaults to false (Text file).
bool isBinary() const;
void setBinary(bool b);
// Id of editor to open the file with
QString editorId() const;
void setEditorId(const QString &k);
bool write(QString *errorMessage) const;
Attributes attributes() const;
void setAttributes(Attributes a);
private:
QSharedDataPointer<GeneratedFilePrivate> m_d;
};
typedef QList<GeneratedFile> GeneratedFiles;
class CORE_EXPORT BaseFileWizardParameters
{