diff options
author | Jarek Kobus <jaroslaw.kobus@qt.io> | 2020-07-06 11:55:39 +0200 |
---|---|---|
committer | Jarek Kobus <jaroslaw.kobus@qt.io> | 2020-07-07 20:35:05 +0200 |
commit | 471e4fcb226c4523efe93b1bdaf0db026495da94 (patch) | |
tree | bb963937b2446eb32d7632568433083a386f2c68 /src/gui/util | |
parent | 7f400522c39f6a1abf083dc1af49ea3109635cc8 (diff) |
Use QList instead of QVector in gui implementation
Task-number: QTBUG-84469
Change-Id: I366e845249203d80d640355a7780ac2f91a762f1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'src/gui/util')
-rw-r--r-- | src/gui/util/qgridlayoutengine.cpp | 16 | ||||
-rw-r--r-- | src/gui/util/qshadergenerator.cpp | 16 | ||||
-rw-r--r-- | src/gui/util/qshadergraph.cpp | 62 | ||||
-rw-r--r-- | src/gui/util/qshadernode.cpp | 6 | ||||
-rw-r--r-- | src/gui/util/qtexturefiledata.cpp | 4 |
5 files changed, 52 insertions, 52 deletions
diff --git a/src/gui/util/qgridlayoutengine.cpp b/src/gui/util/qgridlayoutengine.cpp index 44a95b1805..4c36ff197b 100644 --- a/src/gui/util/qgridlayoutengine.cpp +++ b/src/gui/util/qgridlayoutengine.cpp @@ -47,8 +47,8 @@ QT_BEGIN_NAMESPACE -template <typename T> -static void insertOrRemoveItems(QVector<T> &items, int index, int delta) +template<typename T> +static void insertOrRemoveItems(QList<T> &items, int index, int delta) { int count = items.count(); if (index < count) { @@ -355,7 +355,7 @@ void QGridLayoutRowData::calculateGeometries(int start, int end, qreal targetSiz if (newSizes[i] >= 0.0) continue; - const QVector<QGridLayoutBox> &rBoxes = isLargerThanMaximum ? rowInfo.boxes : boxes; + const QList<QGridLayoutBox> &rBoxes = isLargerThanMaximum ? rowInfo.boxes : boxes; const QGridLayoutBox &box = rBoxes.value(start + i); qreal maxBoxSize = box.q_maximumSize; @@ -1095,8 +1095,8 @@ QSizeF QGridLayoutEngine::sizeHint(Qt::SizeHint which, const QSizeF &constraint, //We have items whose height depends on their width if (constraint.width() >= 0) { ensureColumnAndRowData(&q_columnData, &sizehint_totalBoxes[Qt::Horizontal], nullptr, nullptr, Qt::Horizontal, styleInfo); - QVector<qreal> sizehint_xx; - QVector<qreal> sizehint_widths; + QList<qreal> sizehint_xx; + QList<qreal> sizehint_widths; sizehint_xx.resize(columnCount()); sizehint_widths.resize(columnCount()); @@ -1112,8 +1112,8 @@ QSizeF QGridLayoutEngine::sizeHint(Qt::SizeHint which, const QSizeF &constraint, if (constraint.height() >= 0) { //We have items whose width depends on their height ensureColumnAndRowData(&q_rowData, &sizehint_totalBoxes[Qt::Vertical], nullptr, nullptr, Qt::Vertical, styleInfo); - QVector<qreal> sizehint_yy; - QVector<qreal> sizehint_heights; + QList<qreal> sizehint_yy; + QList<qreal> sizehint_heights; sizehint_yy.resize(rowCount()); sizehint_heights.resize(rowCount()); @@ -1210,7 +1210,7 @@ void QGridLayoutEngine::dump(int indent) const q_rowData.dump(indent + 2); qDebug("%*s Geometries output", indent, ""); - QVector<qreal> *cellPos = &q_yy; + QList<qreal> *cellPos = &q_yy; for (int pass = 0; pass < 2; ++pass) { QString message; for (i = 0; i < cellPos->count(); ++i) { diff --git a/src/gui/util/qshadergenerator.cpp b/src/gui/util/qshadergenerator.cpp index 1ec25ccd7b..4933e913a3 100644 --- a/src/gui/util/qshadergenerator.cpp +++ b/src/gui/util/qshadergenerator.cpp @@ -322,17 +322,17 @@ QByteArray QShaderGenerator::createShaderCode(const QStringList &enabledLayers) [enabledLayers] (const QString &s) { return enabledLayers.contains(s); }); }; - QVector<QString> globalInputVariables; + QList<QString> globalInputVariables; const QRegularExpression globalInputExtractRegExp(QStringLiteral("^.*\\s+(\\w+).*;$")); - const QVector<QShaderNode> nodes = graph.nodes(); + const QList<QShaderNode> nodes = graph.nodes(); for (const QShaderNode &node : nodes) { if (intersectsEnabledLayers(node.layers())) { const QByteArrayList headerSnippets = node.rule(format).headerSnippets; for (const QByteArray &snippet : headerSnippets) { code << replaceParameters(snippet, node, format); - // If node is an input, record the variable name into the globalInputVariables vector + // If node is an input, record the variable name into the globalInputVariables list if (node.type() == QShaderNode::Input) { const QRegularExpressionMatch match = globalInputExtractRegExp.match(QString::fromUtf8(code.last())); if (match.hasMatch()) @@ -355,7 +355,7 @@ QByteArray QShaderGenerator::createShaderCode(const QStringList &enabledLayers) struct Assignment { QString expression; - QVector<Variable *> referencedVariables; + QList<Variable *> referencedVariables; }; struct Variable @@ -415,11 +415,11 @@ QByteArray QShaderGenerator::createShaderCode(const QStringList &enabledLayers) // just use vertexPosition directly. // The added benefit is when having arrays, we don't try to create // mat4 v38 = skinningPalelette[100] which would be invalid - QVector<Variable> temporaryVariables; + QList<Variable> temporaryVariables; // Reserve more than enough space to ensure no reallocation will take place temporaryVariables.reserve(nodes.size() * 8); - QVector<LineContent> lines; + QList<LineContent> lines; auto createVariable = [&] () -> Variable * { Q_ASSERT(temporaryVariables.capacity() > 0); @@ -456,14 +456,14 @@ QByteArray QShaderGenerator::createShaderCode(const QStringList &enabledLayers) for (const QShaderGraph::Statement &statement : graph.createStatements(enabledLayers)) { const QShaderNode node = statement.node; QByteArray line = node.rule(format).substitution; - const QVector<QShaderNodePort> ports = node.ports(); + const QList<QShaderNodePort> ports = node.ports(); struct VariableReplacement { QByteArray placeholder; QByteArray variable; }; - QVector<VariableReplacement> variableReplacements; + QList<VariableReplacement> variableReplacements; // Generate temporary variable names vN for (const QShaderNodePort &port : ports) { diff --git a/src/gui/util/qshadergraph.cpp b/src/gui/util/qshadergraph.cpp index 611bb4b938..5d2d7f3627 100644 --- a/src/gui/util/qshadergraph.cpp +++ b/src/gui/util/qshadergraph.cpp @@ -44,9 +44,9 @@ QT_BEGIN_NAMESPACE namespace { - QVector<QShaderNode> copyOutputNodes(const QVector<QShaderNode> &nodes, const QVector<QShaderGraph::Edge> &edges) + QList<QShaderNode> copyOutputNodes(const QList<QShaderNode> &nodes, const QList<QShaderGraph::Edge> &edges) { - auto res = QVector<QShaderNode>(); + auto res = QList<QShaderNode>(); std::copy_if(nodes.cbegin(), nodes.cend(), std::back_inserter(res), [&edges] (const QShaderNode &node) { @@ -62,9 +62,9 @@ namespace return res; } - QVector<QShaderGraph::Edge> incomingEdges(const QVector<QShaderGraph::Edge> &edges, const QUuid &uuid) + QList<QShaderGraph::Edge> incomingEdges(const QList<QShaderGraph::Edge> &edges, const QUuid &uuid) { - auto res = QVector<QShaderGraph::Edge>(); + auto res = QList<QShaderGraph::Edge>(); std::copy_if(edges.cbegin(), edges.cend(), std::back_inserter(res), [uuid] (const QShaderGraph::Edge &edge) { @@ -73,9 +73,9 @@ namespace return res; } - QVector<QShaderGraph::Edge> outgoingEdges(const QVector<QShaderGraph::Edge> &edges, const QUuid &uuid) + QList<QShaderGraph::Edge> outgoingEdges(const QList<QShaderGraph::Edge> &edges, const QUuid &uuid) { - auto res = QVector<QShaderGraph::Edge>(); + auto res = QList<QShaderGraph::Edge>(); std::copy_if(edges.cbegin(), edges.cend(), std::back_inserter(res), [uuid] (const QShaderGraph::Edge &edge) { @@ -89,7 +89,7 @@ namespace auto statement = QShaderGraph::Statement(); statement.node = node; - const QVector<QShaderNodePort> ports = node.ports(); + const QList<QShaderNodePort> ports = node.ports(); for (const QShaderNodePort &port : ports) { if (port.direction == QShaderNodePort::Input) { statement.inputs.append(-1); @@ -102,7 +102,7 @@ namespace } QShaderGraph::Statement completeStatement(const QHash<QUuid, QShaderGraph::Statement> &idHash, - const QVector<QShaderGraph::Edge> edges, + const QList<QShaderGraph::Edge> edges, const QUuid &uuid) { auto targetStatement = idHash.value(uuid); @@ -117,29 +117,29 @@ namespace if (sourcePortIndex < 0 || targetPortIndex < 0) continue; - const QVector<int> sourceOutputs = sourceStatement.outputs; - QVector<int> &targetInputs = targetStatement.inputs; + const QList<int> sourceOutputs = sourceStatement.outputs; + QList<int> &targetInputs = targetStatement.inputs; targetInputs[targetPortIndex] = sourceOutputs[sourcePortIndex]; } return targetStatement; } - void removeNodesWithUnboundInputs(QVector<QShaderGraph::Statement> &statements, - const QVector<QShaderGraph::Edge> &allEdges) + void removeNodesWithUnboundInputs(QList<QShaderGraph::Statement> &statements, + const QList<QShaderGraph::Edge> &allEdges) { // A node is invalid if any of its input ports is disconected // or connected to the output port of another invalid node. // Keeps track of the edges from the nodes we know to be valid // to unvisited nodes - auto currentEdges = QVector<QShaderGraph::Edge>(); + auto currentEdges = QList<QShaderGraph::Edge>(); statements.erase(std::remove_if(statements.begin(), statements.end(), [¤tEdges, &allEdges] (const QShaderGraph::Statement &statement) { const QShaderNode &node = statement.node; - const QVector<QShaderGraph::Edge> outgoing = outgoingEdges(currentEdges, node.uuid()); - const QVector<QShaderNodePort> ports = node.ports(); + const QList<QShaderGraph::Edge> outgoing = outgoingEdges(currentEdges, node.uuid()); + const QList<QShaderNodePort> ports = node.ports(); bool allInputsConnected = true; for (const QShaderNodePort &port : node.ports()) { @@ -159,7 +159,7 @@ namespace } if (allInputsConnected) { - const QVector<QShaderGraph::Edge> incoming = incomingEdges(allEdges, node.uuid()); + const QList<QShaderGraph::Edge> incoming = incomingEdges(allEdges, node.uuid()); currentEdges.append(incoming); } @@ -176,7 +176,7 @@ QUuid QShaderGraph::Statement::uuid() const noexcept int QShaderGraph::Statement::portIndex(QShaderNodePort::Direction direction, const QString &portName) const noexcept { - const QVector<QShaderNodePort> ports = node.ports(); + const QList<QShaderNodePort> ports = node.ports(); int index = 0; for (const QShaderNodePort &port : ports) { if (port.name == portName && port.direction == direction) @@ -201,7 +201,7 @@ void QShaderGraph::removeNode(const QShaderNode &node) m_nodes.erase(it); } -QVector<QShaderNode> QShaderGraph::nodes() const noexcept +QList<QShaderNode> QShaderGraph::nodes() const noexcept { return m_nodes; } @@ -218,12 +218,12 @@ void QShaderGraph::removeEdge(const QShaderGraph::Edge &edge) m_edges.removeAll(edge); } -QVector<QShaderGraph::Edge> QShaderGraph::edges() const noexcept +QList<QShaderGraph::Edge> QShaderGraph::edges() const noexcept { return m_edges; } -QVector<QShaderGraph::Statement> QShaderGraph::createStatements(const QStringList &enabledLayers) const +QList<QShaderGraph::Statement> QShaderGraph::createStatements(const QStringList &enabledLayers) const { const auto intersectsEnabledLayers = [enabledLayers] (const QStringList &layers) { return layers.isEmpty() @@ -231,8 +231,8 @@ QVector<QShaderGraph::Statement> QShaderGraph::createStatements(const QStringLis [enabledLayers] (const QString &s) { return enabledLayers.contains(s); }); }; - const QVector<QShaderNode> enabledNodes = [this, intersectsEnabledLayers] { - auto res = QVector<QShaderNode>(); + const QList<QShaderNode> enabledNodes = [this, intersectsEnabledLayers] { + auto res = QList<QShaderNode>(); std::copy_if(m_nodes.cbegin(), m_nodes.cend(), std::back_inserter(res), [intersectsEnabledLayers] (const QShaderNode &node) { @@ -241,8 +241,8 @@ QVector<QShaderGraph::Statement> QShaderGraph::createStatements(const QStringLis return res; }(); - const QVector<Edge> enabledEdges = [this, intersectsEnabledLayers] { - auto res = QVector<Edge>(); + const QList<Edge> enabledEdges = [this, intersectsEnabledLayers] { + auto res = QList<Edge>(); std::copy_if(m_edges.cbegin(), m_edges.cend(), std::back_inserter(res), [intersectsEnabledLayers] (const Edge &edge) { @@ -259,11 +259,11 @@ QVector<QShaderGraph::Statement> QShaderGraph::createStatements(const QStringLis return res; }(); - auto result = QVector<Statement>(); - QVector<Edge> currentEdges = enabledEdges; - QVector<QUuid> currentUuids = [enabledNodes, enabledEdges] { - const QVector<QShaderNode> inputs = copyOutputNodes(enabledNodes, enabledEdges); - auto res = QVector<QUuid>(); + auto result = QList<Statement>(); + QList<Edge> currentEdges = enabledEdges; + QList<QUuid> currentUuids = [enabledNodes, enabledEdges] { + const QList<QShaderNode> inputs = copyOutputNodes(enabledNodes, enabledEdges); + auto res = QList<QUuid>(); std::transform(inputs.cbegin(), inputs.cend(), std::back_inserter(res), [](const QShaderNode &node) { return node.uuid(); }); @@ -280,11 +280,11 @@ QVector<QShaderGraph::Statement> QShaderGraph::createStatements(const QStringLis const QUuid uuid = currentUuids.takeFirst(); result.append(completeStatement(idHash, enabledEdges, uuid)); - const QVector<QShaderGraph::Edge> outgoing = outgoingEdges(currentEdges, uuid); + const QList<QShaderGraph::Edge> outgoing = outgoingEdges(currentEdges, uuid); for (const QShaderGraph::Edge &outgoingEdge : outgoing) { currentEdges.removeAll(outgoingEdge); const QUuid nextUuid = outgoingEdge.sourceNodeUuid; - const QVector<QShaderGraph::Edge> incoming = incomingEdges(currentEdges, nextUuid); + const QList<QShaderGraph::Edge> incoming = incomingEdges(currentEdges, nextUuid); if (incoming.isEmpty()) { currentUuids.append(nextUuid); } diff --git a/src/gui/util/qshadernode.cpp b/src/gui/util/qshadernode.cpp index 547e5c51a8..3e53c35037 100644 --- a/src/gui/util/qshadernode.cpp +++ b/src/gui/util/qshadernode.cpp @@ -82,7 +82,7 @@ void QShaderNode::setLayers(const QStringList &layers) noexcept m_layers = layers; } -QVector<QShaderNodePort> QShaderNode::ports() const noexcept +QList<QShaderNodePort> QShaderNode::ports() const noexcept { return m_ports; } @@ -139,9 +139,9 @@ void QShaderNode::removeRule(const QShaderFormat &format) m_rules.erase(it); } -QVector<QShaderFormat> QShaderNode::availableFormats() const +QList<QShaderFormat> QShaderNode::availableFormats() const { - auto res = QVector<QShaderFormat>(); + auto res = QList<QShaderFormat>(); std::transform(m_rules.cbegin(), m_rules.cend(), std::back_inserter(res), [](const QPair<QShaderFormat, Rule> &entry) { return entry.first; }); diff --git a/src/gui/util/qtexturefiledata.cpp b/src/gui/util/qtexturefiledata.cpp index 3c8130c229..d271541e51 100644 --- a/src/gui/util/qtexturefiledata.cpp +++ b/src/gui/util/qtexturefiledata.cpp @@ -75,8 +75,8 @@ public: QByteArray logName; QByteArray data; - QVector<int> offsets; - QVector<int> lengths; + QList<int> offsets; + QList<int> lengths; QSize size; quint32 format = 0; quint32 internalFormat = 0; |