浏览代码

code review: renaming

Laserlicht 4 月之前
父节点
当前提交
c2c936276c

+ 3 - 3
config/schemas/template.json

@@ -44,9 +44,9 @@
 				"treasureLikeZone" : { "type" : "number" },
 				"customObjectsLikeZone" : { "type" : "number" },
 
-				"visPositionX" : { "type" : "number" },
-				"visPositionY" : { "type" : "number" },
-				"visSize" : { "type" : "number" },
+				"visiblePositionX" : { "type" : "number" },
+				"visiblePositionY" : { "type" : "number" },
+				"visibleSize" : { "type" : "number" },
 				
 				"terrainTypes": {"$ref" : "#/definitions/stringArray"},
 				"bannedTerrains": {"$ref" : "#/definitions/stringArray"},

+ 13 - 13
lib/rmg/CRmgTemplate.cpp

@@ -153,8 +153,8 @@ ZoneOptions::ZoneOptions():
 	terrainTypeLikeZone(NO_ZONE),
 	treasureLikeZone(NO_ZONE),
 	customObjectsLikeZone(NO_ZONE),
-	visPosition(Point(0, 0)),
-	visSize(1.0)
+	visiblePosition(Point(0, 0)),
+	visibleSize(1.0)
 {
 }
 
@@ -334,24 +334,24 @@ TRmgTemplateZoneId ZoneOptions::getTownsLikeZone() const
 	return townsLikeZone;
 }
 
-Point ZoneOptions::getVisPosition() const
+Point ZoneOptions::getVisiblePosition() const
 {
-	return visPosition;
+	return visiblePosition;
 }
 
-void ZoneOptions::setVisPosition(Point value)
+void ZoneOptions::setVisiblePosition(Point value)
 {
-	visPosition = value;
+	visiblePosition = value;
 }
 
-float ZoneOptions::getVisSize() const
+float ZoneOptions::getVisibleSize() const
 {
-	return visSize;
+	return visibleSize;
 }
 
-void ZoneOptions::setVisSize(float value)
+void ZoneOptions::setVisibleSize(float value)
 {
-	visSize = value;
+	visibleSize = value;
 }
 
 void ZoneOptions::addConnection(const ZoneConnection & connection)
@@ -519,9 +519,9 @@ void ZoneOptions::serializeJson(JsonSerializeFormat & handler)
 	}
 
 	handler.serializeStruct("customObjects", objectConfig);
-	handler.serializeInt("visPositionX", visPosition.x);
-	handler.serializeInt("visPositionY", visPosition.y);
-	handler.serializeFloat("visSize", visSize);
+	handler.serializeInt("visiblePositionX", visiblePosition.x);
+	handler.serializeInt("visiblePositionY", visiblePosition.y);
+	handler.serializeFloat("visibleSize", visibleSize);
 }
 
 ZoneConnection::ZoneConnection():

+ 6 - 6
lib/rmg/CRmgTemplate.h

@@ -241,11 +241,11 @@ public:
 	TRmgTemplateZoneId getCustomObjectsLikeZone() const;
 	TRmgTemplateZoneId getTownsLikeZone() const;
 
-	Point getVisPosition() const;
-	void setVisPosition(Point value);
+	Point getVisiblePosition() const;
+	void setVisiblePosition(Point value);
 
-	float getVisSize() const;
-	void setVisSize(float value);
+	float getVisibleSize() const;
+	void setVisibleSize(float value);
 
 protected:
 	TRmgTemplateZoneId id;
@@ -254,8 +254,8 @@ protected:
 	ui32 maxTreasureValue;
 	std::optional<int> owner;
 
-	Point visPosition;
-	float visSize;
+	Point visiblePosition;
+	float visibleSize;
 
 	ObjectConfig objectConfig;
 	CTownInfo playerTowns;

+ 6 - 4
mapeditor/CMakeLists.txt

@@ -54,8 +54,9 @@ if(ENABLE_TEMPLATE_EDITOR)
 		${editor_SRCS}
 		templateeditor/templateeditor.cpp
 		templateeditor/templateview.cpp
-		templateeditor/graphicelements.cpp
-		templateeditor/algorithm.cpp
+		templateeditor/graphicelements/CardItem.cpp
+		templateeditor/graphicelements/LineItem.cpp
+		templateeditor/GeometryAlgorithm.cpp
 		templateeditor/terrainselector.cpp
 		templateeditor/factionselector.cpp
 		templateeditor/mineselector.cpp
@@ -119,8 +120,9 @@ if(ENABLE_TEMPLATE_EDITOR)
 		${editor_HEADERS}
 		templateeditor/templateeditor.h
 		templateeditor/templateview.h
-		templateeditor/graphicelements.h
-		templateeditor/algorithm.h
+		templateeditor/graphicelements/CardItem.h
+		templateeditor/graphicelements/LineItem.h
+		templateeditor/GeometryAlgorithm.h
 		templateeditor/terrainselector.h
 		templateeditor/factionselector.h
 		templateeditor/mineselector.h

+ 5 - 5
mapeditor/templateeditor/algorithm.cpp → mapeditor/templateeditor/GeometryAlgorithm.cpp

@@ -1,5 +1,5 @@
 /*
- * algorithm.cpp, part of VCMI engine
+ * GeometryAlgorithm.cpp, part of VCMI engine
  *
  * Authors: listed in file AUTHORS in main folder
  *
@@ -9,14 +9,14 @@
  */
 #include "StdInc.h"
 
-#include "algorithm.h"
+#include "GeometryAlgorithm.h"
 
-double Algorithm::distance(double x1, double y1, double x2, double y2)
+double GeometryAlgorithm::distance(double x1, double y1, double x2, double y2)
 {
     return std::sqrt((x1 - x2)*(x1 - x2) + (y1 - y2)*(y1 - y2)) + 1e-9;
 }
 
-bool Algorithm::edgesIntersect(const Node& a, const Node& b, const Node& c, const Node& d)
+bool GeometryAlgorithm::edgesIntersect(const Node& a, const Node& b, const Node& c, const Node& d)
 {
     auto cross = [](double x1, double y1, double x2, double y2) {
         return x1 * y2 - y1 * x2;
@@ -35,7 +35,7 @@ bool Algorithm::edgesIntersect(const Node& a, const Node& b, const Node& c, cons
     return s > 0 && s < 1 && t > 0 && t < 1;
 }
 
-void Algorithm::forceDirectedLayout(std::vector<Node> & nodes, const std::vector<Edge> & edges, int iterations, double width, double height)
+void GeometryAlgorithm::forceDirectedLayout(std::vector<Node> & nodes, const std::vector<Edge> & edges, int iterations, double width, double height)
 {
     const double area = width * height;
     const double k = std::sqrt(area / nodes.size());

+ 2 - 2
mapeditor/templateeditor/algorithm.h → mapeditor/templateeditor/GeometryAlgorithm.h

@@ -1,5 +1,5 @@
 /*
- * algorithm.h, part of VCMI engine
+ * GeometryAlgorithm.h, part of VCMI engine
  *
  * Authors: listed in file AUTHORS in main folder
  *
@@ -11,7 +11,7 @@
 
 #include "../StdInc.h"
 
-class Algorithm
+class GeometryAlgorithm
 {
 public:
     struct Node

+ 5 - 68
mapeditor/templateeditor/graphicelements.cpp → mapeditor/templateeditor/graphicelements/CardItem.cpp

@@ -1,5 +1,5 @@
 /*
- * graphicelements.cpp, part of VCMI engine
+ * CardItem.cpp, part of VCMI engine
  *
  * Authors: listed in file AUTHORS in main folder
  *
@@ -9,12 +9,12 @@
  */
 #include "StdInc.h"
 
-#include "graphicelements.h"
+#include "CardItem.h"
 
 #include <QObject>
 
-#include "../../lib/constants/EntityIdentifiers.h"
-#include "../../lib/rmg/CRmgTemplate.h"
+#include "../../../lib/constants/EntityIdentifiers.h"
+#include "../../../lib/rmg/CRmgTemplate.h"
 
 QDomElement CardItem::getElementById(const QDomDocument& doc, const QString& id)
 {
@@ -176,7 +176,7 @@ void CardItem::setChestValue(int val)
 	iconElem.setAttribute("opacity", val ? "1.0" : "0.1");
 }
 
-void CardItem::setSword(EMonsterStrength::EMonsterStrength val)
+void CardItem::setMonsterStrength(EMonsterStrength::EMonsterStrength val)
 {
 	int level = 0;
 	if(val == EMonsterStrength::ZONE_WEAK || val == EMonsterStrength::GLOBAL_WEAK)
@@ -227,66 +227,3 @@ QVariant CardItem::itemChange(GraphicsItemChange change, const QVariant &value)
 
 	return QGraphicsSvgItem::itemChange(change, value);
 }
-
-LineItem::LineItem():
-	clickCallback(nullptr)
-{
-	setZValue(-2);
-	for(int i = 0; i < 10; i++) // render multiple times to increase outline effect
-	{
-		auto tmpTextItem = new QGraphicsTextItem(this);
-		tmpTextItem->setZValue(-1);
-		QFont font;
-		font.setPointSize(18);
-		tmpTextItem->setFont(font);
-		QGraphicsDropShadowEffect *shadowEffect = new QGraphicsDropShadowEffect();
-		shadowEffect->setBlurRadius(10);
-		shadowEffect->setEnabled(true);
-		shadowEffect->setOffset(0, 0);
-		shadowEffect->setColor(Qt::black);
-		tmpTextItem->setGraphicsEffect(shadowEffect);
-		tmpTextItem->setDefaultTextColor(Qt::white);
-		textItem.push_back(tmpTextItem);
-	}
-}
-
-void LineItem::setLineToolTip(const QString &toolTip)
-{
-	for(auto & tmpTextItem : textItem)
-		tmpTextItem->setToolTip(toolTip);
-	setToolTip(toolTip);
-}
-
-void LineItem::setClickCallback(std::function<void()> func)
-{
-	clickCallback = func;
-}
-
-void LineItem::setText(QString text)
-{
-	for(auto & tmpTextItem : textItem)
-	{
-		tmpTextItem->setPlainText(text);
-		QRectF lineRect = boundingRect();
-		QRectF textRect = tmpTextItem->boundingRect();
-		tmpTextItem->setPos(QPointF(lineRect.x() + (lineRect.width() / 2) - (textRect.width() / 2), lineRect.y() + (lineRect.height() / 2) - (textRect.height() / 2)));
-	}
-}
-
-void LineItem::setId(int val)
-{
-	id = val;
-}
-
-int LineItem::getId()
-{
-	return id;
-}
-
-void LineItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
-{
-	if(event->button() == Qt::LeftButton && clickCallback)
-		clickCallback();
-
-	QGraphicsLineItem::mousePressEvent(event);
-}

+ 5 - 25
mapeditor/templateeditor/graphicelements.h → mapeditor/templateeditor/graphicelements/CardItem.h

@@ -1,5 +1,5 @@
 /*
- * graphicelements.h, part of VCMI engine
+ * CardItem.h, part of VCMI engine
  *
  * Authors: listed in file AUTHORS in main folder
  *
@@ -11,9 +11,9 @@
 #include <QWidget>
 #include <QGraphicsSvgItem>
 
-#include "../StdInc.h"
-#include "../../lib/constants/EntityIdentifiers.h"
-#include "../../lib/rmg/CRmgTemplate.h"
+#include "../../StdInc.h"
+#include "../../../lib/constants/EntityIdentifiers.h"
+#include "../../../lib/rmg/CRmgTemplate.h"
 
 class CardItem : public QGraphicsSvgItem
 {
@@ -44,30 +44,10 @@ public:
 	int getId();
 	void setResAmount(GameResID res, int val);
 	void setChestValue(int val);
-	void setSword(EMonsterStrength::EMonsterStrength val);
+	void setMonsterStrength(EMonsterStrength::EMonsterStrength val);
 
 protected:
 	void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
 	void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override;
 	QVariant itemChange(GraphicsItemChange change, const QVariant &value) override;
 };
-
-class LineItem : public QGraphicsLineItem
-{
-private:
-	std::vector<QGraphicsTextItem *> textItem;
-	std::function<void()> clickCallback;
-	int id = -1;
-
-	static constexpr int CLICKABLE_PADDING_AROUND_LINE = 10;
-public:
-	LineItem();
-	void setClickCallback(std::function<void()> func);
-	void setText(QString text);
-	void setId(int val);
-	int getId();
-	void setLineToolTip(const QString &toolTip);
-
-protected:
-	void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
-};

+ 77 - 0
mapeditor/templateeditor/graphicelements/LineItem.cpp

@@ -0,0 +1,77 @@
+/*
+ * LineItem.cpp, part of VCMI engine
+ *
+ * Authors: listed in file AUTHORS in main folder
+ *
+ * License: GNU General Public License v2.0 or later
+ * Full text of license available in license.txt file, in main folder
+ *
+ */
+#include "StdInc.h"
+
+#include "LineItem.h"
+
+#include <QObject>
+
+LineItem::LineItem():
+	clickCallback(nullptr)
+{
+	setZValue(-2);
+	for(int i = 0; i < 10; i++) // render multiple times to increase outline effect
+	{
+		auto tmpTextItem = new QGraphicsTextItem(this);
+		tmpTextItem->setZValue(-1);
+		QFont font;
+		font.setPointSize(18);
+		tmpTextItem->setFont(font);
+		QGraphicsDropShadowEffect *shadowEffect = new QGraphicsDropShadowEffect();
+		shadowEffect->setBlurRadius(10);
+		shadowEffect->setEnabled(true);
+		shadowEffect->setOffset(0, 0);
+		shadowEffect->setColor(Qt::black);
+		tmpTextItem->setGraphicsEffect(shadowEffect);
+		tmpTextItem->setDefaultTextColor(Qt::white);
+		textItem.push_back(tmpTextItem);
+	}
+}
+
+void LineItem::setLineToolTip(const QString &toolTip)
+{
+	for(auto & tmpTextItem : textItem)
+		tmpTextItem->setToolTip(toolTip);
+	setToolTip(toolTip);
+}
+
+void LineItem::setClickCallback(std::function<void()> func)
+{
+	clickCallback = func;
+}
+
+void LineItem::setText(QString text)
+{
+	for(auto & tmpTextItem : textItem)
+	{
+		tmpTextItem->setPlainText(text);
+		QRectF lineRect = boundingRect();
+		QRectF textRect = tmpTextItem->boundingRect();
+		tmpTextItem->setPos(QPointF(lineRect.x() + (lineRect.width() / 2) - (textRect.width() / 2), lineRect.y() + (lineRect.height() / 2) - (textRect.height() / 2)));
+	}
+}
+
+void LineItem::setId(int val)
+{
+	id = val;
+}
+
+int LineItem::getId()
+{
+	return id;
+}
+
+void LineItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
+{
+	if(event->button() == Qt::LeftButton && clickCallback)
+		clickCallback();
+
+	QGraphicsLineItem::mousePressEvent(event);
+}

+ 34 - 0
mapeditor/templateeditor/graphicelements/LineItem.h

@@ -0,0 +1,34 @@
+/*
+ * LineItem.h, part of VCMI engine
+ *
+ * Authors: listed in file AUTHORS in main folder
+ *
+ * License: GNU General Public License v2.0 or later
+ * Full text of license available in license.txt file, in main folder
+ *
+ */
+#pragma once
+#include <QWidget>
+#include <QGraphicsSvgItem>
+
+#include "../../StdInc.h"
+
+class LineItem : public QGraphicsLineItem
+{
+private:
+	std::vector<QGraphicsTextItem *> textItem;
+	std::function<void()> clickCallback;
+	int id = -1;
+
+	static constexpr int CLICKABLE_PADDING_AROUND_LINE = 10;
+public:
+	LineItem();
+	void setClickCallback(std::function<void()> func);
+	void setText(QString text);
+	void setId(int val);
+	int getId();
+	void setLineToolTip(const QString &toolTip);
+
+protected:
+	void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
+};

+ 22 - 21
mapeditor/templateeditor/templateeditor.cpp

@@ -10,11 +10,12 @@
 #include "StdInc.h"
 #include "templateeditor.h"
 #include "ui_templateeditor.h"
-#include "graphicelements.h"
+#include "graphicelements/CardItem.h"
+#include "graphicelements/LineItem.h"
 #include "terrainselector.h"
 #include "factionselector.h"
 #include "mineselector.h"
-#include "algorithm.h"
+#include "GeometryAlgorithm.h"
 
 #include "../helper.h"
 
@@ -88,29 +89,29 @@ void TemplateEditor::autoPositionZones()
 {
 	auto & zones = templates[selectedTemplate]->getZones();
 
-	std::vector<Algorithm::Node> nodes;
+	std::vector<GeometryAlgorithm::Node> nodes;
 	std::default_random_engine rng(0);
 	std::uniform_real_distribution<double> distX(0.0, 500);
 	std::uniform_real_distribution<double> distY(0.0, 500);
 	for(auto & item : zones)
 	{
-		Algorithm::Node node;
+		GeometryAlgorithm::Node node;
 		node.x = distX(rng);
 		node.y = distY(rng);
 		node.id = item.first;
 		nodes.push_back(node);
 	}
-	std::vector<Algorithm::Edge> edges;
+	std::vector<GeometryAlgorithm::Edge> edges;
 	for(auto & item : templates[selectedTemplate]->getConnectedZoneIds())
 		edges.push_back({
 			vstd::find_pos_if(nodes, [item](auto & elem){ return elem.id == item.getZoneA(); }),
 			vstd::find_pos_if(nodes, [item](auto & elem){ return elem.id == item.getZoneB(); })
 		});
 		
-	Algorithm::forceDirectedLayout(nodes, edges, 1000, 500, 500);
+	GeometryAlgorithm::forceDirectedLayout(nodes, edges, 1000, 500, 500);
 
 	for(auto & item : nodes)
-		zones.at(item.id)->setVisPosition(Point(CardItem::GRID_SIZE * round(item.x / CardItem::GRID_SIZE), CardItem::GRID_SIZE * round(item.y / CardItem::GRID_SIZE)));
+		zones.at(item.id)->setVisiblePosition(Point(CardItem::GRID_SIZE * round(item.x / CardItem::GRID_SIZE), CardItem::GRID_SIZE * round(item.y / CardItem::GRID_SIZE)));
 }
 
 void TemplateEditor::loadContent(bool autoPosition)
@@ -126,12 +127,12 @@ void TemplateEditor::loadContent(bool autoPosition)
 		return;
 
 	auto & zones = templates[selectedTemplate]->getZones();
-	if(autoPosition || std::all_of(zones.begin(), zones.end(), [](auto & item){ return item.second->getVisPosition().x == 0 && item.second->getVisPosition().y == 0; }))
+	if(autoPosition || std::all_of(zones.begin(), zones.end(), [](auto & item){ return item.second->getVisiblePosition().x == 0 && item.second->getVisiblePosition().y == 0; }))
 		autoPositionZones();
 	
 	for(auto & zone : zones)
-		if(zone.second->getVisSize() < 0.01)
-			zone.second->setVisSize(1.0);
+		if(zone.second->getVisibleSize() < 0.01)
+			zone.second->setVisibleSize(1.0);
 
 	for(auto & zone : zones)
 	{
@@ -153,8 +154,8 @@ void TemplateEditor::loadContent(bool autoPosition)
 			for(auto & zone : templates[selectedTemplate]->getZones())
 				if(zone.first == svgItem->getId())
 				{
-					zone.second->setVisPosition(Point(svgItem->pos().toPoint().rx() + (svgItem->boundingRect().width() * svgItem->scale() / 2), svgItem->pos().toPoint().ry() + (svgItem->boundingRect().height() * svgItem->scale() / 2)));
-					zone.second->setVisSize(svgItem->scale());
+					zone.second->setVisiblePosition(Point(svgItem->pos().toPoint().rx() + (svgItem->boundingRect().width() * svgItem->scale() / 2), svgItem->pos().toPoint().ry() + (svgItem->boundingRect().height() * svgItem->scale() / 2)));
+					zone.second->setVisibleSize(svgItem->scale());
 				}
 			loadZoneMenuContent(true);
 		});
@@ -241,8 +242,8 @@ void TemplateEditor::updateZonePositions()
 	for(auto & card : cards)
 	{
 		auto & zone = templates[selectedTemplate]->getZones().at(card.first);
-		card.second->setPos(zone->getVisPosition().x - (card.second->boundingRect().width() * card.second->scale() / 2), zone->getVisPosition().y - (card.second->boundingRect().height() * card.second->scale() / 2));
-		card.second->setScale(zone->getVisSize());
+		card.second->setPos(zone->getVisiblePosition().x - (card.second->boundingRect().width() * card.second->scale() / 2), zone->getVisiblePosition().y - (card.second->boundingRect().height() * card.second->scale() / 2));
+		card.second->setScale(zone->getVisibleSize());
 	}
 
 	updateConnectionLines();
@@ -282,9 +283,9 @@ void TemplateEditor::updateZoneCards(TRmgTemplateZoneId id)
 		for(auto & res : {GameResID::WOOD, GameResID::ORE, GameResID::MERCURY, GameResID::SULFUR, GameResID::CRYSTAL, GameResID::GEMS, GameResID::GOLD})
 			card.second->setResAmount(res, zone->getMinesInfo().count(res) ? zone->getMinesInfo().at(res) : 0);
 		card.second->setChestValue(zone->getMaxTreasureValue());
-		card.second->setSword(zone->monsterStrength);
+		card.second->setMonsterStrength(zone->monsterStrength);
 		card.second->setToolTip(getZoneToolTip(zone));
-		card.second->setScale(zone->getVisSize());
+		card.second->setScale(zone->getVisibleSize());
 		card.second->updateContent();
 	}
 }
@@ -296,9 +297,9 @@ void TemplateEditor::loadZoneMenuContent(bool onlyPosition)
 	
 	auto setValue = [](auto& target, const auto& newValue){ target->setValue(newValue); };
 	auto & zone = templates[selectedTemplate]->getZones().at(selectedZone);
-	setValue(ui->spinBoxZoneVisPosX, zone->getVisPosition().x);
-	setValue(ui->spinBoxZoneVisPosY, zone->getVisPosition().y);
-	setValue(ui->doubleSpinBoxZoneVisSize, zone->getVisSize());
+	setValue(ui->spinBoxZoneVisPosX, zone->getVisiblePosition().x);
+	setValue(ui->spinBoxZoneVisPosY, zone->getVisiblePosition().y);
+	setValue(ui->doubleSpinBoxZoneVisSize, zone->getVisibleSize());
 	
 	if(onlyPosition)
 		return;
@@ -467,8 +468,8 @@ void TemplateEditor::saveZoneMenuContent()
 	auto zone = templates[selectedTemplate]->getZones().at(selectedZone);
 	auto type = static_cast<ETemplateZoneType>(ui->comboBoxZoneType->currentData().toInt());
 
-	zone->setVisPosition(Point(ui->spinBoxZoneVisPosX->value(), ui->spinBoxZoneVisPosY->value()));
-	zone->setVisSize(ui->doubleSpinBoxZoneVisSize->value());
+	zone->setVisiblePosition(Point(ui->spinBoxZoneVisPosX->value(), ui->spinBoxZoneVisPosY->value()));
+	zone->setVisibleSize(ui->doubleSpinBoxZoneVisSize->value());
 	zone->setType(type);
 	zone->setSize(ui->spinBoxZoneSize->value());
 	zone->playerTowns.townCount = ui->spinBoxTownCountPlayer->value();