mirror of https://github.com/OpenMW/openmw.git
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.
77 lines
1.9 KiB
C++
77 lines
1.9 KiB
C++
#ifndef PATHGRIDCREATOR_HPP
|
|
#define PATHGRIDCREATOR_HPP
|
|
|
|
#include <string>
|
|
|
|
#include "genericcreator.hpp"
|
|
|
|
#include <apps/opencs/model/world/universalid.hpp>
|
|
#include <apps/opencs/view/world/creator.hpp>
|
|
|
|
namespace CSMDoc
|
|
{
|
|
class Document;
|
|
}
|
|
|
|
namespace CSMWorld
|
|
{
|
|
class Data;
|
|
class IdCompletionManager;
|
|
class IdTable;
|
|
}
|
|
|
|
namespace CSVWidget
|
|
{
|
|
class DropLineEdit;
|
|
}
|
|
|
|
namespace CSVWorld
|
|
{
|
|
/// \brief Record creator for pathgrids.
|
|
class PathgridCreator : public GenericCreator
|
|
{
|
|
Q_OBJECT
|
|
|
|
CSVWidget::DropLineEdit* mCell;
|
|
|
|
private:
|
|
/// \return Cell ID entered by user.
|
|
std::string getId() const override;
|
|
|
|
/// \return reference to table containing pathgrids.
|
|
CSMWorld::IdTable& getPathgridsTable() const;
|
|
|
|
public:
|
|
PathgridCreator(CSMWorld::Data& data, QUndoStack& undoStack, const CSMWorld::UniversalId& id,
|
|
CSMWorld::IdCompletionManager& completionManager);
|
|
|
|
/// \brief Set cell ID input widget to ID of record to be cloned.
|
|
/// \param originId Cell ID to be cloned.
|
|
/// \param type Type of record to be cloned.
|
|
void cloneMode(const std::string& originId, const CSMWorld::UniversalId::Type type) override;
|
|
|
|
/// \return Error description for current user input.
|
|
std::string getErrors() const override;
|
|
|
|
/// \brief Set focus to cell ID input widget.
|
|
void focus() override;
|
|
|
|
/// \brief Clear cell ID input widget.
|
|
void reset() override;
|
|
|
|
private slots:
|
|
|
|
/// \brief Check user input for errors.
|
|
void cellChanged();
|
|
};
|
|
|
|
/// \brief Creator factory for pathgrid record creator.
|
|
class PathgridCreatorFactory : public CreatorFactoryBase
|
|
{
|
|
public:
|
|
Creator* makeCreator(CSMDoc::Document& document, const CSMWorld::UniversalId& id) const override;
|
|
};
|
|
}
|
|
|
|
#endif // PATHGRIDCREATOR_HPP
|