1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-20 14:23:53 +00:00
openmw/apps/opencs/model/tools/searchoperation.cpp
2022-09-22 21:35:26 +03:00

37 lines
1.1 KiB
C++

#include "searchoperation.hpp"
#include "../doc/document.hpp"
#include "../doc/state.hpp"
#include "../world/data.hpp"
#include "../world/idtablebase.hpp"
#include "searchstage.hpp"
CSMTools::SearchOperation::SearchOperation(CSMDoc::Document& document)
: CSMDoc::Operation(CSMDoc::State_Searching, false)
{
std::vector<CSMWorld::UniversalId::Type> types = CSMWorld::UniversalId::listTypes(
CSMWorld::UniversalId::Class_RecordList | CSMWorld::UniversalId::Class_ResourceList);
for (std::vector<CSMWorld::UniversalId::Type>::const_iterator iter(types.begin()); iter != types.end(); ++iter)
appendStage(new SearchStage(&dynamic_cast<CSMWorld::IdTableBase&>(*document.getData().getTableModel(*iter))));
setDefaultSeverity(CSMDoc::Message::Severity_Info);
}
void CSMTools::SearchOperation::configure(const Search& search)
{
mSearch = search;
}
void CSMTools::SearchOperation::appendStage(SearchStage* stage)
{
CSMDoc::Operation::appendStage(stage);
stage->setOperation(this);
}
const CSMTools::Search& CSMTools::SearchOperation::getSearch() const
{
return mSearch;
}