diff --git a/apps/opencs/CMakeLists.txt b/apps/opencs/CMakeLists.txt index 8a830f2cb..1f572c3f8 100644 --- a/apps/opencs/CMakeLists.txt +++ b/apps/opencs/CMakeLists.txt @@ -66,7 +66,7 @@ opencs_hdrs_noqt (view/doc opencs_units (view/world - table tablesubview scriptsubview util regionmapsubview tablebottombox creator genericcreator + table tablesubview scriptsubview util regionmapsubview tablebottombox creator genericcreator globalcreator cellcreator pathgridcreator referenceablecreator startscriptcreator referencecreator scenesubview infocreator scriptedit dialoguesubview previewsubview regionmap dragrecordtable nestedtable dialoguespinbox recordbuttonbar tableeditidaction scripterrortable extendedcommandconfigurator diff --git a/apps/opencs/view/world/globalcreator.cpp b/apps/opencs/view/world/globalcreator.cpp new file mode 100644 index 000000000..c7b140e15 --- /dev/null +++ b/apps/opencs/view/world/globalcreator.cpp @@ -0,0 +1,26 @@ +#include "globalcreator.hpp" + +#include + +#include "../../model/world/data.hpp" +#include "../../model/world/commands.hpp" +#include "../../model/world/columns.hpp" +#include "../../model/world/idtable.hpp" + +namespace CSVWorld +{ + void GlobalCreator::configureCreateCommand (CSMWorld::CreateCommand& command) const + { + CSMWorld::IdTable* table = static_cast(getData().getTableModel(getCollectionId())); + + int index = table->findColumnIndex(CSMWorld::Columns::ColumnId_ValueType); + int type = (int)ESM::VT_Float; + + command.addValue(index, type); + } + + GlobalCreator::GlobalCreator(CSMWorld::Data& data, QUndoStack& undoStack, const CSMWorld::UniversalId& id) + : GenericCreator (data, undoStack, id, true) + { + } +} diff --git a/apps/opencs/view/world/globalcreator.hpp b/apps/opencs/view/world/globalcreator.hpp new file mode 100644 index 000000000..bc6117f81 --- /dev/null +++ b/apps/opencs/view/world/globalcreator.hpp @@ -0,0 +1,20 @@ +#ifndef CSV_WORLD_GLOBALCREATOR_H +#define CSV_WORLD_GLOBALCREATOR_H + +#include "genericcreator.hpp" + +namespace CSVWorld +{ + class GlobalCreator : public GenericCreator + { + public: + + GlobalCreator(CSMWorld::Data& data, QUndoStack& undoStack, const CSMWorld::UniversalId& id); + + protected: + + virtual void configureCreateCommand(CSMWorld::CreateCommand& command) const; + }; +} + +#endif diff --git a/apps/opencs/view/world/subviews.cpp b/apps/opencs/view/world/subviews.cpp index 69c0c01cc..32661ed93 100644 --- a/apps/opencs/view/world/subviews.cpp +++ b/apps/opencs/view/world/subviews.cpp @@ -7,6 +7,7 @@ #include "scriptsubview.hpp" #include "regionmapsubview.hpp" #include "genericcreator.hpp" +#include "globalcreator.hpp" #include "cellcreator.hpp" #include "referenceablecreator.hpp" #include "referencecreator.hpp" @@ -32,7 +33,6 @@ void CSVWorld::addSubViewFactories (CSVDoc::SubViewFactoryManager& manager) static const CSMWorld::UniversalId::Type sTableTypes[] = { - CSMWorld::UniversalId::Type_Globals, CSMWorld::UniversalId::Type_Classes, CSMWorld::UniversalId::Type_Factions, CSMWorld::UniversalId::Type_Races, @@ -78,6 +78,9 @@ void CSVWorld::addSubViewFactories (CSVDoc::SubViewFactoryManager& manager) manager.add (CSMWorld::UniversalId::Type_Pathgrids, new CSVDoc::SubViewFactoryWithCreator >); + manager.add (CSMWorld::UniversalId::Type_Globals, + new CSVDoc::SubViewFactoryWithCreator >); + // Subviews for resources tables manager.add (CSMWorld::UniversalId::Type_Meshes, new CSVDoc::SubViewFactoryWithCreator);