You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.4 KiB
C++
37 lines
1.4 KiB
C++
#include "dialoguecreator.hpp"
|
|
|
|
#include <components/esm/loaddial.hpp>
|
|
|
|
#include "../../model/doc/document.hpp"
|
|
|
|
#include "../../model/world/data.hpp"
|
|
#include "../../model/world/commands.hpp"
|
|
#include "../../model/world/columns.hpp"
|
|
#include "../../model/world/idtable.hpp"
|
|
|
|
void CSVWorld::DialogueCreator::configureCreateCommand (CSMWorld::CreateCommand& command) const
|
|
{
|
|
int index =
|
|
dynamic_cast<CSMWorld::IdTable&> (*getData().getTableModel (getCollectionId())).
|
|
findColumnIndex (CSMWorld::Columns::ColumnId_DialogueType);
|
|
|
|
command.addValue (index, mType);
|
|
}
|
|
|
|
CSVWorld::DialogueCreator::DialogueCreator (CSMWorld::Data& data, QUndoStack& undoStack,
|
|
const CSMWorld::UniversalId& id, int type)
|
|
: GenericCreator (data, undoStack, id, true), mType (type)
|
|
{}
|
|
|
|
CSVWorld::Creator *CSVWorld::TopicCreatorFactory::makeCreator (CSMDoc::Document& document,
|
|
const CSMWorld::UniversalId& id) const
|
|
{
|
|
return new DialogueCreator (document.getData(), document.getUndoStack(), id, ESM::Dialogue::Topic);
|
|
}
|
|
|
|
CSVWorld::Creator *CSVWorld::JournalCreatorFactory::makeCreator (CSMDoc::Document& document,
|
|
const CSMWorld::UniversalId& id) const
|
|
{
|
|
return new DialogueCreator (document.getData(), document.getUndoStack(), id, ESM::Dialogue::Journal);
|
|
}
|