mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3975 Avoid wrapping header lines in eclipse output + well plan
This commit is contained in:
@@ -20,6 +20,8 @@
|
||||
|
||||
#include "cvfAssert.h"
|
||||
|
||||
#define MAX_ECLIPSE_DATA_ROW_WIDTH 132 // Maximum eclipse data row width
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -29,6 +31,7 @@ RifEclipseDataTableFormatter::RifEclipseDataTableFormatter(QTextStream& out)
|
||||
, m_tableRowPrependText(" ")
|
||||
, m_tableRowAppendText(" /")
|
||||
, m_commentPrefix("--")
|
||||
, m_maxDataRowWidth(MAX_ECLIPSE_DATA_ROW_WIDTH)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -117,6 +120,30 @@ void RifEclipseDataTableFormatter::setCommentPrefix(const QString& commentPrefix
|
||||
m_commentPrefix = commentPrefix;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RifEclipseDataTableFormatter::setUnlimitedDataRowWidth()
|
||||
{
|
||||
m_maxDataRowWidth = std::numeric_limits<int>::max();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RifEclipseDataTableFormatter::setMaxDataRowWidth(int maxWidth)
|
||||
{
|
||||
m_maxDataRowWidth = maxWidth;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RifEclipseDataTableFormatter::maxDataRowWidth() const
|
||||
{
|
||||
return m_maxDataRowWidth;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -145,6 +172,7 @@ void RifEclipseDataTableFormatter::outputBuffer()
|
||||
else if (line.lineType == CONTENTS)
|
||||
{
|
||||
QString lineText = m_tableRowPrependText;
|
||||
bool isComment = m_tableRowPrependText.startsWith(m_commentPrefix);
|
||||
QString appendText = (line.appendTextSet ? line.appendText : m_tableRowAppendText);
|
||||
|
||||
for (size_t i = 0; i < line.data.size(); ++i)
|
||||
@@ -155,7 +183,7 @@ void RifEclipseDataTableFormatter::outputBuffer()
|
||||
{
|
||||
newLineText += appendText;
|
||||
}
|
||||
if (newLineText.length() > maxEclipseRowWidth())
|
||||
if (!isComment && newLineText.length() > maxDataRowWidth())
|
||||
{
|
||||
m_out << lineText << "\n";
|
||||
lineText = m_tableRowPrependText;
|
||||
@@ -483,14 +511,6 @@ int RifEclipseDataTableFormatter::tableWidth() const
|
||||
return characterCount;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RifEclipseDataTableFormatter::maxEclipseRowWidth()
|
||||
{
|
||||
return 132;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -119,6 +119,9 @@ public:
|
||||
void setTableRowLineAppendText(const QString& text);
|
||||
QString commentPrefix() const;
|
||||
void setCommentPrefix(const QString& commentPrefix);
|
||||
void setUnlimitedDataRowWidth();
|
||||
void setMaxDataRowWidth(int maxWidth);
|
||||
int maxDataRowWidth() const;
|
||||
|
||||
RifEclipseDataTableFormatter& keyword(const QString& keyword);
|
||||
RifEclipseDataTableFormatter& header(std::vector<RifEclipseOutputTableColumn> tableHeader);
|
||||
@@ -138,7 +141,6 @@ public:
|
||||
static void addValueTable(QTextStream& stream, const QString& keyword, size_t columns, const std::vector<double>& values);
|
||||
|
||||
int tableWidth() const;
|
||||
static int maxEclipseRowWidth();
|
||||
|
||||
private:
|
||||
int measure(const QString str);
|
||||
@@ -166,4 +168,5 @@ private:
|
||||
QString m_tableRowPrependText;
|
||||
QString m_tableRowAppendText;
|
||||
QString m_commentPrefix;
|
||||
int m_maxDataRowWidth;
|
||||
};
|
||||
|
||||
@@ -127,6 +127,7 @@ QString RimModeledWellPath::wellPlanText()
|
||||
QTextStream qtxtStream(&planText);
|
||||
|
||||
RifEclipseDataTableFormatter formatter(qtxtStream);
|
||||
formatter.setUnlimitedDataRowWidth();
|
||||
formatter.setTableRowPrependText("");
|
||||
formatter.setTableRowLineAppendText("");
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@ TEST(RifEclipseDataTableFormatter, LongLine)
|
||||
50 + 8 * 10 + formatter.tableRowAppendText().length();
|
||||
int tableWidth = formatter.tableWidth();
|
||||
EXPECT_EQ(tableWidth, fullLineLength);
|
||||
EXPECT_GT(tableWidth, RifEclipseDataTableFormatter::maxEclipseRowWidth());
|
||||
EXPECT_GT(tableWidth, formatter.maxDataRowWidth());
|
||||
|
||||
formatter.rowCompleted();
|
||||
formatter.tableCompleted();
|
||||
@@ -117,7 +117,7 @@ TEST(RifEclipseDataTableFormatter, LongLine)
|
||||
std::cout << QString("Line: \"%1\"").arg(line).toStdString() << std::endl;
|
||||
if (!line.startsWith(formatter.commentPrefix()))
|
||||
{
|
||||
EXPECT_LE(line.length(), RifEclipseDataTableFormatter::maxEclipseRowWidth());
|
||||
EXPECT_LE(line.length(), formatter.maxDataRowWidth());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -153,7 +153,7 @@ TEST(RifEclipseDataTableFormatter, LongLine132)
|
||||
formatter.tableRowAppendText().length();
|
||||
int tableWidth = formatter.tableWidth();
|
||||
EXPECT_GE(tableWidth, fullLineLength);
|
||||
EXPECT_EQ(RifEclipseDataTableFormatter::maxEclipseRowWidth(), fullLineLength);
|
||||
EXPECT_EQ(formatter.maxDataRowWidth(), fullLineLength);
|
||||
|
||||
formatter.rowCompleted();
|
||||
formatter.tableCompleted();
|
||||
@@ -164,7 +164,7 @@ TEST(RifEclipseDataTableFormatter, LongLine132)
|
||||
std::cout << QString("Line: \"%1\"").arg(line).toStdString() << std::endl;
|
||||
if (line.startsWith("0"))
|
||||
{
|
||||
EXPECT_EQ(line.length(), RifEclipseDataTableFormatter::maxEclipseRowWidth());
|
||||
EXPECT_EQ(line.length(), formatter.maxDataRowWidth());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -200,7 +200,7 @@ TEST(RifEclipseDataTableFormatter, LongLine133)
|
||||
formatter.tableRowAppendText().length();
|
||||
int tableWidth = formatter.tableWidth();
|
||||
EXPECT_GE(tableWidth, fullLineLength);
|
||||
EXPECT_LT(RifEclipseDataTableFormatter::maxEclipseRowWidth(), fullLineLength);
|
||||
EXPECT_LT(formatter.maxDataRowWidth(), fullLineLength);
|
||||
|
||||
formatter.rowCompleted();
|
||||
formatter.tableCompleted();
|
||||
@@ -211,7 +211,7 @@ TEST(RifEclipseDataTableFormatter, LongLine133)
|
||||
std::cout << QString("Line: \"%1\"").arg(line).toStdString() << std::endl;
|
||||
if (line.startsWith("0"))
|
||||
{
|
||||
EXPECT_LE(line.length(), RifEclipseDataTableFormatter::maxEclipseRowWidth());
|
||||
EXPECT_LE(line.length(), formatter.maxDataRowWidth());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user