Crossfire Server, Trunk
ArchetypesWrapper.h
Go to the documentation of this file.
1 /*
2  * Crossfire -- cooperative multi-player graphical RPG and adventure game
3  *
4  * Copyright (c) 2022 the Crossfire Development Team
5  *
6  * Crossfire is free software and comes with ABSOLUTELY NO WARRANTY. You are
7  * welcome to redistribute it under certain conditions. For details, please
8  * see COPYING and LICENSE.
9  *
10  * The authors can be reached via e-mail at <crossfire@metalforge.org>.
11  */
12 
13 #ifndef ARCHETYPES_WRAPPER_H
14 #define ARCHETYPES_WRAPPER_H
15 
16 #include <QObject>
17 
18 #include "assets.h"
19 #include "AssetsManager.h"
20 #include "global.h"
22 
23 class ResourcesManager;
24 
25 class ArchetypesWrapper : public AssetsCollectionWrapper<archetype> {
26  Q_OBJECT
27 
28 public:
29  ArchetypesWrapper(AssetWrapper *parent, ResourcesManager *resources) : AssetsCollectionWrapper(parent, tr("Archetypes"), getManager()->archetypes(), resources, tr("Display all archetypes.")) {
30  myResources = resources;
31  }
32 
33  virtual PossibleUse uses(const AssetWrapper *, std::string &) const override {
34  return ChildrenMayUse;
35  }
36 
37  virtual void fillMenu(QMenu *menu) override;
38 
39  virtual bool canExportAsCsv() const override { return true; }
40  virtual void fillCsvHeader(QString& contents) const;
41  virtual void exportAsCSV(const AssetWrapper *item, QString& contents) const override;
42 
43 protected:
44  void addArchetype();
45 
47 };
48 
49 #endif // ARCHETYPE_WRAPPER_H
ArchetypesWrapper::fillMenu
virtual void fillMenu(QMenu *menu) override
Definition: ArchetypesWrapper.cpp:42
global.h
ArchetypesWrapper::fillCsvHeader
virtual void fillCsvHeader(QString &contents) const
Definition: ArchetypesWrapper.cpp:67
ResourcesManager
Definition: ResourcesManager.h:80
AssetsManager.h
AssetWrapper::PossibleUse
PossibleUse
Definition: AssetWrapper.h:32
ArchetypesWrapper::exportAsCSV
virtual void exportAsCSV(const AssetWrapper *item, QString &contents) const override
Definition: ArchetypesWrapper.cpp:76
getManager
AssetsManager * getManager()
Definition: assets.cpp:305
AssetWrapper::ChildrenMayUse
@ ChildrenMayUse
Definition: AssetWrapper.h:32
AssetWrapper
Definition: AssetWrapper.h:25
ArchetypesWrapper::ArchetypesWrapper
ArchetypesWrapper(AssetWrapper *parent, ResourcesManager *resources)
Definition: ArchetypesWrapper.h:29
ArchetypesWrapper
Definition: ArchetypesWrapper.h:25
ArchetypesWrapper::canExportAsCsv
virtual bool canExportAsCsv() const override
Definition: ArchetypesWrapper.h:39
item
Definition: item.py:1
AssetsCollectionWrapper.h
assets.h
givecontents.contents
bool contents
DIALOGCHECK MINARGS 1 MAXARGS 1
Definition: givecontents.py:19
ArchetypesWrapper::uses
virtual PossibleUse uses(const AssetWrapper *, std::string &) const override
Definition: ArchetypesWrapper.h:33
AssetsCollectionWrapper
Definition: AssetsCollectionWrapper.h:21
ArchetypesWrapper::addArchetype
void addArchetype()
Definition: ArchetypesWrapper.cpp:46
ArchetypesWrapper::myResources
ResourcesManager * myResources
Definition: ArchetypesWrapper.h:46