# HG changeset patch # User Teemu Piippo # Date 1658342926 -10800 # Node ID 719b909a7d2be44c098f34d333e29828a482b7f8 # Parent 5bb26aa33ad5c97431b8d90e0c82b07008acb636 Delete unused code Remove Model legacy type alias, QTextDocument is used now instead diff -r 5bb26aa33ad5 -r 719b909a7d2b src/documentmanager.cpp --- a/src/documentmanager.cpp Wed Jul 20 21:35:55 2022 +0300 +++ b/src/documentmanager.cpp Wed Jul 20 21:48:46 2022 +0300 @@ -54,7 +54,7 @@ return modelId; } -Model* DocumentManager::findDependencyByName(const ModelId modelId, const QString& name) +QTextDocument* DocumentManager::findDependencyByName(const ModelId modelId, const QString& name) { const auto modelsIterator = this->openModels.find(modelId); if (modelsIterator != std::end(this->openModels)) { @@ -78,7 +78,7 @@ * @param modelId id of model to find * @returns model pointer or null */ -Model *DocumentManager::getModelById(ModelId modelId) +QTextDocument *DocumentManager::getModelById(ModelId modelId) { const auto iterator = this->openModels.find(modelId); if (iterator != this->openModels.end()) @@ -228,7 +228,7 @@ * @param model model to look for * @return id or no value if not found */ -std::optional DocumentManager::findIdForModel(const Model *model) const +std::optional DocumentManager::findIdForModel(const QTextDocument *model) const { std::optional result; for (auto it = this->openModels.begin(); it != this->openModels.end(); ++it) @@ -325,7 +325,7 @@ void DocumentManager::makePolygonCacheForModel(const ModelId modelId) { - Model* model = this->getModelById(modelId); + QTextDocument* model = this->getModelById(modelId); if (model != nullptr) { const auto modelModified = [this, model]{ @@ -358,7 +358,7 @@ return referencedFilePath; } -static std::set referenceNames(const Model* model) +static std::set referenceNames(const QTextDocument* model) { std::set result; for (const QString& line : model->toPlainText().split("\n")) { diff -r 5bb26aa33ad5 -r 719b909a7d2b src/documentmanager.h --- a/src/documentmanager.h Wed Jul 20 21:35:55 2022 +0300 +++ b/src/documentmanager.h Wed Jul 20 21:48:46 2022 +0300 @@ -48,8 +48,8 @@ auto begin() const { return this->openModels.begin(); } auto end() const { return this->openModels.end(); } ModelId newModel(); - Model* findDependencyByName(const ModelId modelId, const QString& name); - Model* getModelById(ModelId modelId); + QTextDocument* findDependencyByName(const ModelId modelId, const QString& name); + QTextDocument* getModelById(ModelId modelId); std::optional openModel(const QString& path, QTextStream& errorStream, const OpenType openType); std::map loadDependenciesForAllModels(const LibrariesModel &libraries); void closeDocument(const ModelId modelId); @@ -60,7 +60,7 @@ const LibrariesModel &libraries, QTextStream &errorStream); bool saveModel(const ModelId modelId, QTextStream& errors); - std::optional findIdForModel(const Model* model) const; + std::optional findIdForModel(const QTextDocument* model) const; PolygonCache* getPolygonCacheForModel(ModelId modelId); const ModelInfo* find(ModelId modelId) const; void setModelPayload(ModelId modelId, QObject* object); @@ -75,7 +75,7 @@ private: int modelIdCounter = 0; std::map openModels; - void collectReferences(QSet &referenced, const QString& name, const Model* model); + void collectReferences(QSet &referenced, const QString& name, const QTextDocument* model); void updateDependencies(ModelInfo* model); void prune(); void makePolygonCacheForModel(const ModelId modelId); diff -r 5bb26aa33ad5 -r 719b909a7d2b src/gl/compiler.cpp --- a/src/gl/compiler.cpp Wed Jul 20 21:35:55 2022 +0300 +++ b/src/gl/compiler.cpp Wed Jul 20 21:48:46 2022 +0300 @@ -222,7 +222,7 @@ } template -void iterateModelPolygons(Model* model, DocumentManager* context, Fn&& fn) +void iterateModelPolygons(QTextDocument* model, DocumentManager* context, Fn&& fn) { PolygonCache* const cache = findPolygonCacheForModel(model, context); if (cache != nullptr) { @@ -260,7 +260,7 @@ /** * @brief Computes the minimum bounding box for a model */ -BoundingBox gl::boundingBoxForModel(Model* model, DocumentManager* context) +BoundingBox gl::boundingBoxForModel(QTextDocument* model, DocumentManager* context) { BoundingBox result = emptyBoundingBox; iterateModelPolygons(model, context, [&](const PolygonElement& polygon) @@ -277,7 +277,7 @@ */ void gl::build( gl::ModelShaders* shaders, - Model* model, + QTextDocument* model, const ColorTable& colorTable, DocumentManager* context, const gl::RenderPreferences& preferences) diff -r 5bb26aa33ad5 -r 719b909a7d2b src/gl/compiler.h --- a/src/gl/compiler.h Wed Jul 20 21:35:55 2022 +0300 +++ b/src/gl/compiler.h Wed Jul 20 21:48:46 2022 +0300 @@ -72,7 +72,7 @@ }; void build(ModelShaders* shaders, - Model* model, + QTextDocument* model, const ColorTable& colorTable, DocumentManager* context, const RenderPreferences& preferences); @@ -114,7 +114,7 @@ setShaderUniform(shaders, uniformName, value.x, value.y, value.z, value.w); } - BoundingBox boundingBoxForModel(Model* model, DocumentManager* context); + BoundingBox boundingBoxForModel(QTextDocument* model, DocumentManager* context); } #define CHECK_GL_ERROR() { checkGLError(__FILE__, __LINE__); } diff -r 5bb26aa33ad5 -r 719b909a7d2b src/gl/partrenderer.cpp --- a/src/gl/partrenderer.cpp Wed Jul 20 21:35:55 2022 +0300 +++ b/src/gl/partrenderer.cpp Wed Jul 20 21:48:46 2022 +0300 @@ -35,7 +35,7 @@ static constexpr double MAX_ZOOM = 3.0; PartRenderer::PartRenderer( - Model* model, + QTextDocument* model, DocumentManager* documents, const ColorTable& colorTable, QWidget* parent) : diff -r 5bb26aa33ad5 -r 719b909a7d2b src/gl/partrenderer.h --- a/src/gl/partrenderer.h Wed Jul 20 21:35:55 2022 +0300 +++ b/src/gl/partrenderer.h Wed Jul 20 21:48:46 2022 +0300 @@ -9,7 +9,7 @@ class PartRenderer final : public QOpenGLWidget { Q_OBJECT - Model* const model; + QTextDocument* const model; DocumentManager* const documents; const ColorTable& colorTable; BoundingBox boundingBox; @@ -32,7 +32,7 @@ bool frozen = false; public: PartRenderer( - Model* model, + QTextDocument* model, DocumentManager* documents, const ColorTable& colorTable, QWidget* parent = nullptr); diff -r 5bb26aa33ad5 -r 719b909a7d2b src/ldrawalgorithm.cpp --- a/src/ldrawalgorithm.cpp Wed Jul 20 21:35:55 2022 +0300 +++ b/src/ldrawalgorithm.cpp Wed Jul 20 21:48:46 2022 +0300 @@ -18,7 +18,7 @@ return result; } -std::vector ldraw::makeUnofficial(const Model* model) +std::vector ldraw::makeUnofficial(const QTextDocument* model) { std::vector actions; constexpr int ldrawOrgLinePosition = 3; diff -r 5bb26aa33ad5 -r 719b909a7d2b src/ldrawalgorithm.h --- a/src/ldrawalgorithm.h Wed Jul 20 21:35:55 2022 +0300 +++ b/src/ldrawalgorithm.h Wed Jul 20 21:48:46 2022 +0300 @@ -15,7 +15,7 @@ const Quadrilateral& q, ldraw::Diagonal diagonal); - std::vector makeUnofficial(const Model *model); + std::vector makeUnofficial(const QTextDocument *model); constexpr float circleAngle(unsigned int divisions, unsigned int i) { diff -r 5bb26aa33ad5 -r 719b909a7d2b src/main.cpp --- a/src/main.cpp Wed Jul 20 21:35:55 2022 +0300 +++ b/src/main.cpp Wed Jul 20 21:48:46 2022 +0300 @@ -53,7 +53,7 @@ std::unique_ptr axesLayer; std::unique_ptr gridLayer; std::unique_ptr textcursor; - Model* model; + QTextDocument* model; }; class Signal final : public QObject @@ -169,16 +169,6 @@ } } -static Model* currentModelBody(Ui_MainWindow* ui, DocumentManager* documents) -{ - if (auto* const activeSubWindow = currentModelSubWindow(ui)) { - return documents->getModelById(activeSubWindow->modelId); - } - else { - return nullptr; - } -} - static std::optional findCurrentModelId(Ui_MainWindow* ui) { ModelSubWindow* activeSubWindow = qobject_cast(ui->mdiArea->activeSubWindow()); @@ -332,15 +322,6 @@ } } -static QFont monospace() -{ - QFont font{"Monospace"}; - font.setStyleHint(QFont::TypeWriter); - font.setPointSize(10); - font.setFixedPitch(true); - return font; -} - constexpr bool sortModelIndexesByRow(const QModelIndex& a, const QModelIndex& b) { return a.row() < b.row(); @@ -409,17 +390,6 @@ return subWindow; } -static QSet resolveIdsFromSelection(const ModelData* data) -{ -// const auto selection = data->itemSelectionModel->selection(); - QSet selectedIndexes; -/* for (const QModelIndex& qindex : selection.indexes()) { - const std::size_t row = unsigned_cast(qindex.row()); - selectedIndexes.insert(data->model->idAt(row)); - } -*/ return selectedIndexes; -} - int main(int argc, char *argv[]) { doQtRegistrations(); @@ -469,7 +439,7 @@ } }; const auto executeAction = [&]( - Model* model, const ModelAction& action + QTextDocument* model, const ModelAction& action ) { std::visit(overloaded{ [model](const AppendToModel& action){ @@ -519,7 +489,7 @@ updateRecentlyOpenedDocumentsMenu(); }; const auto openModelForEditing = [&](const ModelId modelId){ - Model* model = documents.getModelById(modelId); + QTextDocument* model = documents.getModelById(modelId); if (model != nullptr) { ModelData* data = new ModelData(&documents); data->tools = std::make_unique(); @@ -756,7 +726,7 @@ &QAction::triggered, [&]{ if (ModelData* data = currentModelData(&ui, &documents)) { - Model* const model = data->model; + QTextDocument* const model = data->model; for (const ModelAction& action : ldraw::makeUnofficial(model)) { executeAction(model, action); } diff -r 5bb26aa33ad5 -r 719b909a7d2b src/model.cpp --- a/src/model.cpp Wed Jul 20 21:35:55 2022 +0300 +++ b/src/model.cpp Wed Jul 20 21:48:46 2022 +0300 @@ -179,7 +179,7 @@ * @brief Sets the path to the model * @param path New path to use */ -void updateHeaderNameField(Model& model, const QString &name) +void updateHeaderNameField(QTextDocument& model, const QString &name) { #if 0 // Update the "Name: 1234.dat" comment diff -r 5bb26aa33ad5 -r 719b909a7d2b src/model.h --- a/src/model.h Wed Jul 20 21:35:55 2022 +0300 +++ b/src/model.h Wed Jul 20 21:48:46 2022 +0300 @@ -21,9 +21,7 @@ #include #include "src/basics.h" #include "src/colors.h" - #include -using Model = QTextDocument; struct SubfileReference { diff -r 5bb26aa33ad5 -r 719b909a7d2b src/polygoncache.cpp --- a/src/polygoncache.cpp Wed Jul 20 21:35:55 2022 +0300 +++ b/src/polygoncache.cpp Wed Jul 20 21:48:46 2022 +0300 @@ -4,7 +4,7 @@ #include "src/polygoncache.h" #include "src/parser.h" -Model* resolve(const QString& name, const ModelId callingModelId, DocumentManager* documents) +QTextDocument* resolve(const QString& name, const ModelId callingModelId, DocumentManager* documents) { return documents->findDependencyByName(callingModelId, name); } @@ -19,7 +19,7 @@ return element; } -PolygonCache* findPolygonCacheForModel(Model* model, DocumentManager* context) +PolygonCache* findPolygonCacheForModel(QTextDocument* model, DocumentManager* context) { std::optional modelId = context->findIdForModel(model); if (modelId.has_value()) { @@ -74,7 +74,7 @@ } } -static Model* findDependency(const SubfileReference& ref, GetPolygonsContext* context) +static QTextDocument* findDependency(const SubfileReference& ref, GetPolygonsContext* context) { return context->documents->findDependencyByName(context->modelId, ref.name); } @@ -118,7 +118,7 @@ add({line5.value, line5.value.color}); }, [&add, context, &reserve](const LineType1& line1) { - Model* const dependency = findDependency(line1.value, context); + QTextDocument* const dependency = findDependency(line1.value, context); if (PolygonCache* cache = (dependency != nullptr) ? findPolygonCacheForModel(dependency, context->documents) : nullptr @@ -144,7 +144,7 @@ } static std::vector> inlinePolygons( - const Model* model, + const QTextDocument* model, GetPolygonsContext* context) { Winding winding = NoWinding; @@ -169,7 +169,7 @@ return result; } -void recacheIfNeeded(PolygonCache *cache, Model *model, DocumentManager *documents) +void recacheIfNeeded(PolygonCache *cache, QTextDocument *model, DocumentManager *documents) { if (cache->needRecache) { diff -r 5bb26aa33ad5 -r 719b909a7d2b src/polygoncache.h --- a/src/polygoncache.h Wed Jul 20 21:35:55 2022 +0300 +++ b/src/polygoncache.h Wed Jul 20 21:48:46 2022 +0300 @@ -19,6 +19,6 @@ void recacheIfNeeded( PolygonCache* cache, - Model* model, + QTextDocument* model, class DocumentManager* documents); PolygonCache* findPolygonCacheForModel(QTextDocument* model, DocumentManager* context); diff -r 5bb26aa33ad5 -r 719b909a7d2b src/vertexmap.cpp --- a/src/vertexmap.cpp Wed Jul 20 21:35:55 2022 +0300 +++ b/src/vertexmap.cpp Wed Jul 20 21:48:46 2022 +0300 @@ -10,7 +10,7 @@ }); } -VertexMap::VertexMap(const Model *model) : +VertexMap::VertexMap(const QTextDocument *model) : model{model} { this->build(); diff -r 5bb26aa33ad5 -r 719b909a7d2b src/vertexmap.h --- a/src/vertexmap.h Wed Jul 20 21:35:55 2022 +0300 +++ b/src/vertexmap.h Wed Jul 20 21:48:46 2022 +0300 @@ -19,13 +19,13 @@ glm::mat4 transform; }; using ApplyFunction = std::function; - VertexMap(const Model *model); + VertexMap(const QTextDocument *model); Q_SLOT void build(); void apply(ApplyFunction fn) const; Q_SIGNALS: Q_SIGNAL void verticesChanged(); private: - const Model* const model; + const QTextDocument* const model; QSet vertexHashes; std::vector vertices; std::map map;