Something went wrong. Try again.
OpenMW is an open implementation of the Morrowind engine
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212#include "subviews.hpp"
#include "../doc/subviewfactoryimp.hpp"
#include "bodypartcreator.hpp"#include "cellcreator.hpp"#include "dialoguecreator.hpp"#include "dialoguesubview.hpp"#include "genericcreator.hpp"#include "globalcreator.hpp"#include "infocreator.hpp"#include "landcreator.hpp"#include "pathgridcreator.hpp"#include "previewsubview.hpp"#include "referenceablecreator.hpp"#include "referencecreator.hpp"#include "regionmapsubview.hpp"#include "scenesubview.hpp"#include "scriptsubview.hpp"#include "startscriptcreator.hpp"#include "tablesubview.hpp"
#include <apps/opencs/model/world/scope.hpp>#include <apps/opencs/model/world/universalid.hpp>#include <apps/opencs/view/doc/subview.hpp>#include <apps/opencs/view/doc/subviewfactory.hpp>#include <apps/opencs/view/world/creator.hpp>
void CSVWorld::addSubViewFactories(CSVDoc::SubViewFactoryManager& manager){ // Regular record tables (including references which are actually sub-records, but are promoted // to top-level records within the editor) manager.add( CSMWorld::UniversalId::Type_Gmsts, new CSVDoc::SubViewFactoryWithCreator<TableSubView, NullCreatorFactory>);
manager.add( CSMWorld::UniversalId::Type_Skills, new CSVDoc::SubViewFactoryWithCreator<TableSubView, NullCreatorFactory>);
manager.add(CSMWorld::UniversalId::Type_MagicEffects, new CSVDoc::SubViewFactoryWithCreator<TableSubView, NullCreatorFactory>);
static const CSMWorld::UniversalId::Type sTableTypes[] = { CSMWorld::UniversalId::Type_Classes, CSMWorld::UniversalId::Type_Factions, CSMWorld::UniversalId::Type_Races, CSMWorld::UniversalId::Type_Sounds, CSMWorld::UniversalId::Type_Regions, CSMWorld::UniversalId::Type_Birthsigns, CSMWorld::UniversalId::Type_Spells, CSMWorld::UniversalId::Type_Enchantments, CSMWorld::UniversalId::Type_SoundGens, // end marker CSMWorld::UniversalId::Type_None, };
for (int i = 0; sTableTypes[i] != CSMWorld::UniversalId::Type_None; ++i) manager.add( sTableTypes[i], new CSVDoc::SubViewFactoryWithCreator<TableSubView, CreatorFactory<GenericCreator>>);
manager.add(CSMWorld::UniversalId::Type_BodyParts, new CSVDoc::SubViewFactoryWithCreator<TableSubView, CreatorFactory<BodyPartCreator>>);
manager.add(CSMWorld::UniversalId::Type_StartScripts, new CSVDoc::SubViewFactoryWithCreator<TableSubView, StartScriptCreatorFactory>);
manager.add(CSMWorld::UniversalId::Type_Cells, new CSVDoc::SubViewFactoryWithCreator<TableSubView, CreatorFactory<CellCreator>>);
manager.add(CSMWorld::UniversalId::Type_Referenceables, new CSVDoc::SubViewFactoryWithCreator<TableSubView, CreatorFactory<ReferenceableCreator>>);
manager.add(CSMWorld::UniversalId::Type_References, new CSVDoc::SubViewFactoryWithCreator<TableSubView, ReferenceCreatorFactory>);
manager.add( CSMWorld::UniversalId::Type_Topics, new CSVDoc::SubViewFactoryWithCreator<TableSubView, TopicCreatorFactory>);
manager.add(CSMWorld::UniversalId::Type_Journals, new CSVDoc::SubViewFactoryWithCreator<TableSubView, JournalCreatorFactory>);
manager.add(CSMWorld::UniversalId::Type_TopicInfos, new CSVDoc::SubViewFactoryWithCreator<TableSubView, InfoCreatorFactory>(false));
manager.add(CSMWorld::UniversalId::Type_JournalInfos, new CSVDoc::SubViewFactoryWithCreator<TableSubView, InfoCreatorFactory>(false));
manager.add(CSMWorld::UniversalId::Type_Pathgrids, new CSVDoc::SubViewFactoryWithCreator<TableSubView, PathgridCreatorFactory>);
manager.add(CSMWorld::UniversalId::Type_Lands, new CSVDoc::SubViewFactoryWithCreator<TableSubView, CreatorFactory<LandCreator>>);
manager.add(CSMWorld::UniversalId::Type_LandTextures, new CSVDoc::SubViewFactoryWithCreator<TableSubView, CreatorFactory<GenericCreator>>);
manager.add(CSMWorld::UniversalId::Type_Globals, new CSVDoc::SubViewFactoryWithCreator<TableSubView, CreatorFactory<GlobalCreator>>);
// Subviews for resources tables manager.add( CSMWorld::UniversalId::Type_Meshes, new CSVDoc::SubViewFactoryWithCreator<TableSubView, NullCreatorFactory>); manager.add( CSMWorld::UniversalId::Type_Icons, new CSVDoc::SubViewFactoryWithCreator<TableSubView, NullCreatorFactory>); manager.add( CSMWorld::UniversalId::Type_Musics, new CSVDoc::SubViewFactoryWithCreator<TableSubView, NullCreatorFactory>); manager.add( CSMWorld::UniversalId::Type_SoundsRes, new CSVDoc::SubViewFactoryWithCreator<TableSubView, NullCreatorFactory>); manager.add( CSMWorld::UniversalId::Type_Textures, new CSVDoc::SubViewFactoryWithCreator<TableSubView, NullCreatorFactory>); manager.add( CSMWorld::UniversalId::Type_Videos, new CSVDoc::SubViewFactoryWithCreator<TableSubView, NullCreatorFactory>);
// Subviews for editing/viewing individual records manager.add(CSMWorld::UniversalId::Type_Script, new CSVDoc::SubViewFactory<ScriptSubView>);
// Other stuff (combined record tables) manager.add(CSMWorld::UniversalId::Type_RegionMap, new CSVDoc::SubViewFactory<RegionMapSubView>);
manager.add(CSMWorld::UniversalId::Type_Scene, new CSVDoc::SubViewFactory<SceneSubView>);
// More other stuff manager.add(CSMWorld::UniversalId::Type_Filters, new CSVDoc::SubViewFactoryWithCreator<TableSubView, CreatorFactory<GenericCreator, CSMWorld::Scope_Project | CSMWorld::Scope_Session>>);
manager.add(CSMWorld::UniversalId::Type_DebugProfiles, new CSVDoc::SubViewFactoryWithCreator<TableSubView, CreatorFactory<GenericCreator, CSMWorld::Scope_Project | CSMWorld::Scope_Session>>);
manager.add(CSMWorld::UniversalId::Type_Scripts, new CSVDoc::SubViewFactoryWithCreator<TableSubView, CreatorFactory<GenericCreator, CSMWorld::Scope_Project | CSMWorld::Scope_Content>>);
// Dialogue subviews static const CSMWorld::UniversalId::Type sTableTypes2[] = { CSMWorld::UniversalId::Type_Region, CSMWorld::UniversalId::Type_Spell, CSMWorld::UniversalId::Type_Birthsign, CSMWorld::UniversalId::Type_Global, CSMWorld::UniversalId::Type_Race, CSMWorld::UniversalId::Type_Class, CSMWorld::UniversalId::Type_Sound, CSMWorld::UniversalId::Type_Faction, CSMWorld::UniversalId::Type_Enchantment, CSMWorld::UniversalId::Type_SoundGen, // end marker CSMWorld::UniversalId::Type_None, };
for (int i = 0; sTableTypes2[i] != CSMWorld::UniversalId::Type_None; ++i) manager.add(sTableTypes2[i], new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, CreatorFactory<GenericCreator>>(false));
manager.add(CSMWorld::UniversalId::Type_BodyPart, new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, CreatorFactory<BodyPartCreator>>(false));
manager.add(CSMWorld::UniversalId::Type_StartScript, new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, StartScriptCreatorFactory>(false));
manager.add(CSMWorld::UniversalId::Type_Skill, new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, NullCreatorFactory>(false));
manager.add(CSMWorld::UniversalId::Type_MagicEffect, new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, NullCreatorFactory>(false));
manager.add(CSMWorld::UniversalId::Type_Gmst, new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, NullCreatorFactory>(false));
manager.add(CSMWorld::UniversalId::Type_Referenceable, new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, CreatorFactory<ReferenceableCreator>>(false));
manager.add(CSMWorld::UniversalId::Type_Reference, new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, ReferenceCreatorFactory>(false));
manager.add(CSMWorld::UniversalId::Type_Cell, new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, CreatorFactory<CellCreator>>(false));
manager.add(CSMWorld::UniversalId::Type_JournalInfo, new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, InfoCreatorFactory>(false));
manager.add(CSMWorld::UniversalId::Type_TopicInfo, new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, InfoCreatorFactory>(false));
manager.add(CSMWorld::UniversalId::Type_Topic, new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, TopicCreatorFactory>(false));
manager.add(CSMWorld::UniversalId::Type_Journal, new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, JournalCreatorFactory>(false));
manager.add(CSMWorld::UniversalId::Type_Pathgrid, new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, PathgridCreatorFactory>(false));
manager.add(CSMWorld::UniversalId::Type_Land, new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, CreatorFactory<LandCreator>>(false));
manager.add(CSMWorld::UniversalId::Type_LandTexture, new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, CreatorFactory<GenericCreator>>(false));
manager.add(CSMWorld::UniversalId::Type_DebugProfile, new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, CreatorFactory<GenericCreator, CSMWorld::Scope_Project | CSMWorld::Scope_Session>>(false));
manager.add(CSMWorld::UniversalId::Type_Filter, new CSVDoc::SubViewFactoryWithCreator<DialogueSubView, CreatorFactory<GenericCreator, CSMWorld::Scope_Project | CSMWorld::Scope_Session>>(false));
manager.add(CSMWorld::UniversalId::Type_MetaData, new CSVDoc::SubViewFactory<SimpleDialogueSubView>);
// preview manager.add(CSMWorld::UniversalId::Type_Preview, new CSVDoc::SubViewFactory<PreviewSubView>);}