New keys "gsize" and "gheight".
--HG-- branch : develop
This commit is contained in:
parent
afce2cb0ba
commit
defbdb8e9c
|
@ -2,6 +2,7 @@
|
||||||
#include "dialogs/dialoglayoutsettings.h"
|
#include "dialogs/dialoglayoutsettings.h"
|
||||||
#include "dialogs/dialogsavelayout.h"
|
#include "dialogs/dialogsavelayout.h"
|
||||||
#include "xml/vdomdocument.h"
|
#include "xml/vdomdocument.h"
|
||||||
|
#include "../vformat/vmeasurements.h"
|
||||||
|
|
||||||
VCommandLinePtr VCommandLine::instance = nullptr;
|
VCommandLinePtr VCommandLine::instance = nullptr;
|
||||||
|
|
||||||
|
@ -56,6 +57,12 @@ const static auto SINGLE_OPTION_GROUPPING = QStringLiteral("g");
|
||||||
const static auto LONG_OPTION_TEST = QStringLiteral("test");
|
const static auto LONG_OPTION_TEST = QStringLiteral("test");
|
||||||
const static auto SINGLE_OPTION_TEST = QStringLiteral("t");
|
const static auto SINGLE_OPTION_TEST = QStringLiteral("t");
|
||||||
|
|
||||||
|
const static auto LONG_OPTION_GRADATIONSIZE = QStringLiteral("gsize");
|
||||||
|
const static auto SINGLE_OPTION_GRADATIONSIZE = QStringLiteral("x");
|
||||||
|
|
||||||
|
const static auto LONG_OPTION_GRADATIONHEIGHT = QStringLiteral("gheight");
|
||||||
|
const static auto SINGLE_OPTION_GRADATIONHEIGHT = QStringLiteral("t");
|
||||||
|
|
||||||
//such a tricky initialization is used, because it uses static functions which relay on static variables and order of
|
//such a tricky initialization is used, because it uses static functions which relay on static variables and order of
|
||||||
//initialization is not defined between compiled units. i.e. - segv is possible (I hit it when
|
//initialization is not defined between compiled units. i.e. - segv is possible (I hit it when
|
||||||
//VDomDocument::UnitsHelpString() was crashing because of not inited string vars).
|
//VDomDocument::UnitsHelpString() was crashing because of not inited string vars).
|
||||||
|
@ -86,6 +93,20 @@ VCommandLine::VCommandLine() : parser()
|
||||||
tr("Number corresponding to output format (default = 0, export mode): ") +
|
tr("Number corresponding to output format (default = 0, export mode): ") +
|
||||||
DialogSaveLayout::MakeHelpFormatList(), tr("Format number"), "0")},
|
DialogSaveLayout::MakeHelpFormatList(), tr("Format number"), "0")},
|
||||||
|
|
||||||
|
{LONG_OPTION_GRADATIONSIZE,
|
||||||
|
new QCommandLineOption(QStringList() << SINGLE_OPTION_GRADATIONSIZE << LONG_OPTION_GRADATIONSIZE,
|
||||||
|
tr("Set size value a pattern file, that was opened with standard measurements "
|
||||||
|
"(export mode). Valid values: %1cm.")
|
||||||
|
.arg(VMeasurement::WholeListSizes(Unit::Cm).join(", ")),
|
||||||
|
tr("The size value"))},
|
||||||
|
|
||||||
|
{LONG_OPTION_GRADATIONHEIGHT,
|
||||||
|
new QCommandLineOption(QStringList() << SINGLE_OPTION_GRADATIONHEIGHT << LONG_OPTION_GRADATIONHEIGHT,
|
||||||
|
tr("Set height value a pattern file, that was opened with standard measurements "
|
||||||
|
"(export mode). Valid values: %1cm.")
|
||||||
|
.arg(VMeasurement::WholeListHeights(Unit::Cm).join(", ")),
|
||||||
|
tr("The height value"))},
|
||||||
|
|
||||||
//===================================================================================
|
//===================================================================================
|
||||||
|
|
||||||
{LONG_OPTION_PAGETEMPLATE,
|
{LONG_OPTION_PAGETEMPLATE,
|
||||||
|
@ -439,3 +460,45 @@ bool VCommandLine::IsGuiEnabled() const
|
||||||
{
|
{
|
||||||
return isGuiEnabled;
|
return isGuiEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
bool VCommandLine::IsSetGradationSize() const
|
||||||
|
{
|
||||||
|
return parser.isSet(*optionsUsed.value(LONG_OPTION_GRADATIONSIZE));
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
bool VCommandLine::IsSetGradationHeight() const
|
||||||
|
{
|
||||||
|
return parser.isSet(*optionsUsed.value(LONG_OPTION_GRADATIONHEIGHT));
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
QString VCommandLine::OptGradationSize() const
|
||||||
|
{
|
||||||
|
const QString size = parser.value(*optionsUsed.value(LONG_OPTION_GRADATIONSIZE));
|
||||||
|
if (VMeasurement::IsGradationSizeValid(size))
|
||||||
|
{
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
qCritical() << tr("Invalid gradation size value.") << "\n";
|
||||||
|
const_cast<VCommandLine*>(this)->parser.showHelp(V_EX_USAGE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
QString VCommandLine::OptGradationHeight() const
|
||||||
|
{
|
||||||
|
const QString height = parser.value(*optionsUsed.value(LONG_OPTION_GRADATIONHEIGHT));
|
||||||
|
if (VMeasurement::IsGradationHeightValid(height))
|
||||||
|
{
|
||||||
|
return height;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
qCritical() << tr("Invalid gradation height value.") << "\n";
|
||||||
|
const_cast<VCommandLine*>(this)->parser.showHelp(V_EX_USAGE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -80,6 +80,12 @@ public:
|
||||||
QStringList OptInputFileNames() const;
|
QStringList OptInputFileNames() const;
|
||||||
|
|
||||||
bool IsGuiEnabled()const;
|
bool IsGuiEnabled()const;
|
||||||
|
|
||||||
|
bool IsSetGradationSize() const;
|
||||||
|
bool IsSetGradationHeight() const;
|
||||||
|
|
||||||
|
QString OptGradationSize() const;
|
||||||
|
QString OptGradationHeight() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // VCMDEXPORT_H
|
#endif // VCMDEXPORT_H
|
||||||
|
|
|
@ -78,6 +78,20 @@ int main(int argc, char *argv[])
|
||||||
for (int i=0, sz = args.size(); i < sz; ++i)
|
for (int i=0, sz = args.size(); i < sz; ++i)
|
||||||
{
|
{
|
||||||
const bool loaded = w.LoadPattern(args.at(static_cast<int>(i)), app.CommandLine()->OptMeasurePath());
|
const bool loaded = w.LoadPattern(args.at(static_cast<int>(i)), app.CommandLine()->OptMeasurePath());
|
||||||
|
|
||||||
|
if (app.CommandLine()->IsTestModeEnabled() || app.CommandLine()->IsExportEnabled())
|
||||||
|
{
|
||||||
|
if (app.CommandLine()->IsSetGradationSize())
|
||||||
|
{
|
||||||
|
w.SetSize(app.CommandLine()->OptGradationSize());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (app.CommandLine()->IsSetGradationHeight())
|
||||||
|
{
|
||||||
|
w.SetHeight(app.CommandLine()->OptGradationHeight());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (not app.CommandLine()->IsTestModeEnabled())
|
if (not app.CommandLine()->IsTestModeEnabled())
|
||||||
{
|
{
|
||||||
if (app.CommandLine()->IsExportEnabled())
|
if (app.CommandLine()->IsExportEnabled())
|
||||||
|
|
|
@ -180,6 +180,48 @@ QStringList VMeasurement::WholeListSizes(Unit patternUnit)
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
bool VMeasurement::IsGradationSizeValid(const QString &size)
|
||||||
|
{
|
||||||
|
if (not size.isEmpty())
|
||||||
|
{
|
||||||
|
const QStringList sizes = VMeasurement::WholeListSizes(Unit::Cm);
|
||||||
|
if (sizes.contains(size))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
bool VMeasurement::IsGradationHeightValid(const QString &height)
|
||||||
|
{
|
||||||
|
if (not height.isEmpty())
|
||||||
|
{
|
||||||
|
const QStringList heights = VMeasurement::WholeListHeights(Unit::Cm);
|
||||||
|
if (heights.contains(height))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VMeasurement::ListValue(QStringList &list, qreal value, Unit patternUnit)
|
void VMeasurement::ListValue(QStringList &list, qreal value, Unit patternUnit)
|
||||||
{
|
{
|
||||||
|
|
|
@ -71,6 +71,8 @@ public:
|
||||||
static QStringList ListSizes(QMap<GSizes, bool> sizes, Unit patternUnit);
|
static QStringList ListSizes(QMap<GSizes, bool> sizes, Unit patternUnit);
|
||||||
static QStringList WholeListHeights(Unit patternUnit);
|
static QStringList WholeListHeights(Unit patternUnit);
|
||||||
static QStringList WholeListSizes(Unit patternUnit);
|
static QStringList WholeListSizes(Unit patternUnit);
|
||||||
|
static bool IsGradationSizeValid(const QString &size);
|
||||||
|
static bool IsGradationHeightValid(const QString &height);
|
||||||
private:
|
private:
|
||||||
QSharedDataPointer<VMeasurementData> d;
|
QSharedDataPointer<VMeasurementData> d;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user