From 28737034f3bbfb93d1c554cdadcb942fa1fd1560 Mon Sep 17 00:00:00 2001 From: dismine Date: Tue, 13 May 2014 11:08:37 +0300 Subject: [PATCH 01/32] Way to store string for translation. --HG-- branch : feature --- src/app/app.pro | 3 +- src/app/container/vcontainer.cpp | 4 +- src/app/geometry/varc.cpp | 4 +- src/app/geometry/vspline.cpp | 2 +- src/app/geometry/vsplinepath.cpp | 2 +- src/app/options.cpp | 142 ++++++++++++++++ src/app/options.h | 121 ++++++++++++- src/app/widgets/vapplication.cpp | 283 ++++++++++++++++++++++++++++++- src/app/widgets/vapplication.h | 11 ++ src/app/widgets/vtranslation.cpp | 55 ++++++ src/app/widgets/vtranslation.h | 64 +++++++ src/app/widgets/widgets.pri | 6 +- 12 files changed, 684 insertions(+), 13 deletions(-) create mode 100644 src/app/options.cpp create mode 100644 src/app/widgets/vtranslation.cpp create mode 100644 src/app/widgets/vtranslation.h diff --git a/src/app/app.pro b/src/app/app.pro index f302a0b2b..06f0824af 100644 --- a/src/app/app.pro +++ b/src/app/app.pro @@ -45,7 +45,8 @@ SOURCES += \ mainwindow.cpp \ tablewindow.cpp \ stable.cpp \ - version.cpp + version.cpp \ + options.cpp HEADERS += \ mainwindow.h \ diff --git a/src/app/container/vcontainer.cpp b/src/app/container/vcontainer.cpp index 3ec01bc55..f5e59523a 100644 --- a/src/app/container/vcontainer.cpp +++ b/src/app/container/vcontainer.cpp @@ -411,7 +411,7 @@ QString VContainer::GetNameLine(const quint32 &firstPoint, const quint32 &second const VPointF *first = GeometricObject(firstPoint); const VPointF *second = GeometricObject(secondPoint); - return QString("Line_%1_%2").arg(first->name(), second->name()); + return QString(line_+"%1_%2").arg(first->name(), second->name()); } //--------------------------------------------------------------------------------------------------------------------- @@ -420,7 +420,7 @@ QString VContainer::GetNameLineAngle(const quint32 &firstPoint, const quint32 &s const VPointF *first = GeometricObject(firstPoint); const VPointF *second = GeometricObject(secondPoint); - return QString("AngleLine_%1_%2").arg(first->name(), second->name()); + return QString(angleLine_+"%1_%2").arg(first->name(), second->name()); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/geometry/varc.cpp b/src/app/geometry/varc.cpp index 9d3441b0b..1f5b3710a 100644 --- a/src/app/geometry/varc.cpp +++ b/src/app/geometry/varc.cpp @@ -45,7 +45,7 @@ VArc::VArc (VPointF center, qreal radius, QString formulaRadius, qreal f1, QStri : VGObject(GObject::Arc, idObject, mode), f1(f1), formulaF1(formulaF1), f2(f2), formulaF2(formulaF2), radius(radius), formulaRadius(formulaRadius), center(center) { - _name = QString ("Arc_%1").arg(this->GetCenter().name()); + _name = QString (arc_+"%1").arg(this->GetCenter().name()); } //--------------------------------------------------------------------------------------------------------------------- @@ -188,5 +188,5 @@ QPointF VArc::CutArc(const qreal &length, VArc &arc1, VArc &arc2) const void VArc::setId(const quint32 &id) { _id = id; - _name = QString ("Arc_%1_%2").arg(center.name()).arg(id); + _name = QString (arc_+"%1_%2").arg(center.name()).arg(id); } diff --git a/src/app/geometry/vspline.cpp b/src/app/geometry/vspline.cpp index fda0556d4..ad568b37c 100644 --- a/src/app/geometry/vspline.cpp +++ b/src/app/geometry/vspline.cpp @@ -565,7 +565,7 @@ qreal VSpline::CalcSqDistance (qreal x1, qreal y1, qreal x2, qreal y2) //--------------------------------------------------------------------------------------------------------------------- void VSpline::CreateName() { - _name = QString("Spl_%1_%2").arg(this->GetP1().name(), this->GetP4().name()); + _name = QString(spl_+"%1_%2").arg(this->GetP1().name(), this->GetP4().name()); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/geometry/vsplinepath.cpp b/src/app/geometry/vsplinepath.cpp index a51362d2d..7cf4a8ae3 100644 --- a/src/app/geometry/vsplinepath.cpp +++ b/src/app/geometry/vsplinepath.cpp @@ -44,7 +44,7 @@ VSplinePath::VSplinePath(const VSplinePath &splPath) void VSplinePath::append(const VSplinePoint &point) { path.append(point); - _name = QString("SplPath"); + _name = splPath; _name.append(QString("_%1").arg(path.first().P().name())); if (path.size() > 1) { diff --git a/src/app/options.cpp b/src/app/options.cpp new file mode 100644 index 000000000..564378961 --- /dev/null +++ b/src/app/options.cpp @@ -0,0 +1,142 @@ +/************************************************************************ + ** + ** @file options.cpp + ** @author Roman Telezhynskyi + ** @date 12 5, 2014 + ** + ** @brief + ** @copyright + ** This source code is part of the Valentine project, a pattern making + ** program, whose allow create and modeling patterns of clothing. + ** Copyright (C) 2014 Valentina project + ** All Rights Reserved. + ** + ** Valentina is free software: you can redistribute it and/or modify + ** it under the terms of the GNU General Public License as published by + ** the Free Software Foundation, either version 3 of the License, or + ** (at your option) any later version. + ** + ** Valentina is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU General Public License for more details. + ** + ** You should have received a copy of the GNU General Public License + ** along with Valentina. If not, see . + ** + *************************************************************************/ + +#include "options.h" + +const QString headGirth = QStringLiteral("head_girth"); +const QString midNeckGirth = QStringLiteral("mid_neck_girth"); +const QString neckBaseGirth = QStringLiteral("neck_base_girth"); +const QString headAndNeckLength = QStringLiteral("head_and_neck_length"); +const QString centerFrontWaistLength = QStringLiteral("center_front_waist_length"); +const QString centerBackWaistLength = QStringLiteral("center_back_waist_length"); +const QString shoulderLength = QStringLiteral("shoulder_length"); +const QString sideWaistLength = QStringLiteral("side_waist_length"); +const QString trunkLength = QStringLiteral("trunk_length"); +const QString shoulderGirth = QStringLiteral("shoulder_girth"); +const QString upperChestGirth = QStringLiteral("upper_chest_girth"); +const QString bustGirth = QStringLiteral("bust_girth"); +const QString underBustGirth = QStringLiteral("under_bust_girth"); +const QString waistGirth = QStringLiteral("waist_girth"); +const QString highHipGirth = QStringLiteral("high_hip_girth"); +const QString hipGirth = QStringLiteral("hip_girth"); +const QString upperFrontChestWidth = QStringLiteral("upper_front_chest_width"); +const QString frontChestWidth = QStringLiteral("front_chest_width"); +const QString acrossFrontShoulderWidth = QStringLiteral("across_front_shoulder_width"); +const QString acrossBackShoulderWidth = QStringLiteral("across_back_shoulder_width"); +const QString upperBackWidth = QStringLiteral("upper_back_width"); +const QString backWidth = QStringLiteral("back_width"); +const QString bustpointToBustpoint = QStringLiteral("bustpoint_to_bustpoint"); +const QString halterBustpointToBustpoint = QStringLiteral("halter_bustpoint_to_bustpoint"); +const QString neckToBustpoint = QStringLiteral("neck_to_bustpoint"); +const QString crotchLength = QStringLiteral("crotch_length"); +const QString riseHeight = QStringLiteral("rise_height"); +const QString shoulderDrop = QStringLiteral("shoulder_drop"); +const QString shoulderSlopeDegrees = QStringLiteral("shoulder_slope_degrees"); +const QString frontShoulderSlopeLength = QStringLiteral("front_shoulder_slope_length"); +const QString backShoulderSlopeLength = QStringLiteral("back_shoulder_slope_length"); +const QString frontShoulderToWaistLength = QStringLiteral("front_shoulder_to_waist_length"); +const QString backShoulderToWaistLength = QStringLiteral("back_shoulder_to_waist_length"); +const QString frontNeckArc = QStringLiteral("front_neck_arc"); +const QString backNeckArc = QStringLiteral("back_neck_arc"); +const QString frontUpperBustArc = QStringLiteral("front_upper_bust_arc"); +const QString backUpperBustArc = QStringLiteral("back_upper_bust_arc"); +const QString frontWaistArc = QStringLiteral("front_waist_arc"); +const QString backWaistArc = QStringLiteral("back_waist_arc"); +const QString frontUpperHipArc = QStringLiteral("front_upper_hip_arc"); +const QString backUpperHipArc = QStringLiteral("back_upper_hip_arc"); +const QString frontHipArc = QStringLiteral("front_hip_arc"); +const QString backHipArc = QStringLiteral("back_hip_arc"); +const QString chestSlope = QStringLiteral("chest_slope"); +const QString backSlope = QStringLiteral("back_slope"); +const QString frontWaistSlope = QStringLiteral("front_waist_slope"); +const QString backWaistSlope = QStringLiteral("back_waist_slope"); +const QString frontNeckToUpperChestHeight = QStringLiteral("front_neck_to_upper_chest_height"); +const QString frontNeckToBustHeight = QStringLiteral("front_neck_to_bust_height"); +const QString armscyeGirth = QStringLiteral("armscye_girth"); +const QString elbowGirth = QStringLiteral("elbow_girth"); +const QString upperArmGirth = QStringLiteral("upper_arm_girth"); +const QString wristGirth = QStringLiteral("wrist_girth"); +const QString scyeDepth = QStringLiteral("scye_depth"); +const QString shoulderAndArmLength = QStringLiteral("shoulder_and_arm_length"); +const QString underarmLength = QStringLiteral("underarm_length"); +const QString cervicaleToWristLength = QStringLiteral("cervicale_to_wrist_length"); +const QString shoulderToElbowLength = QStringLiteral("shoulder_to_elbow_length"); +const QString armLength = QStringLiteral("arm_length"); +const QString handWidth = QStringLiteral("hand_width"); +const QString handLength = QStringLiteral("hand_length"); +const QString handGirth = QStringLiteral("hand_girth"); +const QString thighGirth = QStringLiteral("thigh_girth"); +const QString midThighGirth = QStringLiteral("mid_thigh_girth"); +const QString kneeGirth = QStringLiteral("knee_girth"); +const QString calfGirth = QStringLiteral("calf_girth"); +const QString ankleGirth = QStringLiteral("ankle_girth"); +const QString kneeHeight = QStringLiteral("knee_height"); +const QString ankleHeight = QStringLiteral("ankle_height"); +const QString footWidth = QStringLiteral("foot_width"); +const QString footLength = QStringLiteral("foot_length"); +const QString height = QStringLiteral("height"); +const QString cervicaleHeight = QStringLiteral("cervicale_height"); +const QString cervicaleToKneeHeight = QStringLiteral("cervicale_to_knee_height"); +const QString waistHeight = QStringLiteral("waist_height"); +const QString highHipHeight = QStringLiteral("high_hip_height"); +const QString hipHeight = QStringLiteral("hip_height"); +const QString waistToHipHeight = QStringLiteral("waist_to_hip_height"); +const QString waistToKneeHeight = QStringLiteral("waist_to_knee_height"); +const QString crotchHeight = QStringLiteral("crotch_height"); + +const QString line_ = QStringLiteral("Line_"); +const QString angleLine_ = QStringLiteral("AngleLine_"); +const QString arc_ = QStringLiteral("Arc_"); +const QString spl_ = QStringLiteral("Spl_"); +const QString splPath = QStringLiteral("splPath"); + +const QString sin_F = QStringLiteral("sin"); +const QString cos_F = QStringLiteral("cos"); +const QString tan_F = QStringLiteral("tan"); +const QString asin_F = QStringLiteral("asin"); +const QString acos_F = QStringLiteral("acos"); +const QString atan_F = QStringLiteral("atan"); +const QString sinh_F = QStringLiteral("sinh"); +const QString cosh_F = QStringLiteral("cosh"); +const QString tanh_F = QStringLiteral("tanh"); +const QString asinh_F = QStringLiteral("asinh"); +const QString acosh_F = QStringLiteral("acosh"); +const QString atanh_F = QStringLiteral("atanh"); +const QString log2_F = QStringLiteral("log2"); +const QString log10_F = QStringLiteral("log10"); +const QString log_F = QStringLiteral("log"); +const QString ln_F = QStringLiteral("ln"); +const QString exp_F = QStringLiteral("exp"); +const QString sqrt_F = QStringLiteral("sqrt"); +const QString sign_F = QStringLiteral("sign"); +const QString rint_F = QStringLiteral("rint"); +const QString abs_F = QStringLiteral("abs"); +const QString min_F = QStringLiteral("min"); +const QString max_F = QStringLiteral("max"); +const QString sum_F = QStringLiteral("sum"); +const QString avg_F = QStringLiteral("avg"); diff --git a/src/app/options.h b/src/app/options.h index 90caecb8a..08fc5bd09 100644 --- a/src/app/options.h +++ b/src/app/options.h @@ -22,7 +22,7 @@ ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License - ** along with Valentina. If not, see . + ** along with Valentina. If not, see #include #include +#include #define SceneSize 50000 -extern const QString translationsPath; - namespace Valentina { /** @@ -113,4 +112,120 @@ namespace Pattern } Q_DECLARE_OPERATORS_FOR_FLAGS( Pattern::Measurements ) +// measurements +extern const QString headGirth; +extern const QString midNeckGirth; +extern const QString neckBaseGirth; +extern const QString headAndNeckLength; +extern const QString centerFrontWaistLength; +extern const QString centerBackWaistLength; +extern const QString shoulderLength; +extern const QString sideWaistLength; +extern const QString trunkLength; +extern const QString shoulderGirth; +extern const QString upperChestGirth; +extern const QString bustGirth; +extern const QString underBustGirth; +extern const QString waistGirth; +extern const QString highHipGirth; +extern const QString hipGirth; +extern const QString upperFrontChestWidth; +extern const QString frontChestWidth; +extern const QString acrossFrontShoulderWidth; +extern const QString acrossBackShoulderWidth; +extern const QString upperBackWidth; +extern const QString backWidth; +extern const QString bustpointToBustpoint; +extern const QString halterBustpointToBustpoint; +extern const QString neckToBustpoint; +extern const QString crotchLength; +extern const QString riseHeight; +extern const QString shoulderDrop; +extern const QString shoulderSlopeDegrees; +extern const QString frontShoulderSlopeLength; +extern const QString backShoulderSlopeLength; +extern const QString frontShoulderToWaistLength; +extern const QString backShoulderToWaistLength; +extern const QString frontNeckArc; +extern const QString backNeckArc; +extern const QString frontUpperBustArc; +extern const QString backUpperBustArc; +extern const QString frontWaistArc; +extern const QString backWaistArc; +extern const QString frontUpperHipArc; +extern const QString backUpperHipArc; +extern const QString frontHipArc; +extern const QString backHipArc; +extern const QString chestSlope; +extern const QString backSlope; +extern const QString frontWaistSlope; +extern const QString backWaistSlope; +extern const QString frontNeckToUpperChestHeight; +extern const QString frontNeckToBustHeight; +extern const QString armscyeGirth; +extern const QString elbowGirth; +extern const QString upperArmGirth; +extern const QString wristGirth; +extern const QString scyeDepth; +extern const QString shoulderAndArmLength; +extern const QString underarmLength; +extern const QString cervicaleToWristLength; +extern const QString shoulderToElbowLength; +extern const QString armLength; +extern const QString handWidth; +extern const QString handLength; +extern const QString handGirth; +extern const QString thighGirth; +extern const QString midThighGirth; +extern const QString kneeGirth; +extern const QString calfGirth; +extern const QString ankleGirth; +extern const QString kneeHeight; +extern const QString ankleHeight; +extern const QString footWidth; +extern const QString footLength; +extern const QString height; +extern const QString cervicaleHeight; +extern const QString cervicaleToKneeHeight; +extern const QString waistHeight; +extern const QString highHipHeight; +extern const QString hipHeight; +extern const QString waistToHipHeight; +extern const QString waistToKneeHeight; +extern const QString crotchHeight; + +// variables name +extern const QString line_; +extern const QString angleLine_; +extern const QString arc_; +extern const QString spl_; +extern const QString splPath; + +// functions +extern const QString sin_F; +extern const QString cos_F; +extern const QString tan_F; +extern const QString asin_F; +extern const QString acos_F; +extern const QString atan_F; +extern const QString sinh_F; +extern const QString cosh_F; +extern const QString tanh_F; +extern const QString asinh_F; +extern const QString acosh_F; +extern const QString atanh_F; +extern const QString log2_F; +extern const QString log10_F; +extern const QString log_F; +extern const QString ln_F; +extern const QString exp_F; +extern const QString sqrt_F; +extern const QString sign_F; +extern const QString rint_F; +extern const QString abs_F; +extern const QString min_F; +extern const QString max_F; +extern const QString sum_F; +extern const QString avg_F; + #endif // OPTIONS_H diff --git a/src/app/widgets/vapplication.cpp b/src/app/widgets/vapplication.cpp index 43de0a2d7..64fe47382 100644 --- a/src/app/widgets/vapplication.cpp +++ b/src/app/widgets/vapplication.cpp @@ -44,9 +44,14 @@ const qreal VApplication::PrintDPI = 96.0; //--------------------------------------------------------------------------------------------------------------------- VApplication::VApplication(int &argc, char **argv) : QApplication(argc, argv), _patternUnit(Valentina::Cm), _patternType(Pattern::Individual), - _widthMainLine(DefWidth), _widthHairLine(DefWidth/3.0) + _widthMainLine(DefWidth), _widthHairLine(DefWidth/3.0), measurements(QMap()), + guiText(QMap()), description(QMap()), + variables(QMap()), functions(QMap()) { InitLineWidth(); + InitMeasurements(); + InitVariables(); + InitFunctions(); } //--------------------------------------------------------------------------------------------------------------------- @@ -224,6 +229,282 @@ void VApplication::InitLineWidth() _widthHairLine = _widthMainLine/3.0; } +//--------------------------------------------------------------------------------------------------------------------- +void VApplication::InitMeasurements() +{ + // head_and_neck + InitMeasurement(headGirth, QStringLiteral("Head girth"), QStringLiteral("Around fullest part of Head")); + + InitMeasurement(midNeckGirth, QStringLiteral("Mid-neck girth"), QStringLiteral("Around middle part of Neck")); + + InitMeasurement(neckBaseGirth, QStringLiteral("Neck Base girth"), QStringLiteral("Around Neck at base")); + + InitMeasurement(headAndNeckLength, QStringLiteral("Head and Neck length"), + QStringLiteral("Vertical Distance from Crown to Nape")); + + // torso + InitMeasurement(centerFrontWaistLength, QStringLiteral("Front Center length"), + QStringLiteral("Front Neck Center over tape at Bustline to Front Waist Center")); + + InitMeasurement(centerBackWaistLength, QStringLiteral("Back Center length"), + QStringLiteral("Back Neck Center to Back Waist Center")); + + InitMeasurement(shoulderLength, QStringLiteral("Shoulder length"), QStringLiteral("NeckPoint to ShoulderTip")); + + InitMeasurement(sideWaistLength, QStringLiteral("Side Waist length"), QStringLiteral("Armpit to Waist side")); + + InitMeasurement(trunkLength, QStringLiteral("Trunk length"), + QStringLiteral("Around Body from middle of Shoulder length to BustPoint to Crotch up back to beginning point")); + + InitMeasurement(shoulderGirth, QStringLiteral("Shoulder girth"), + QStringLiteral("Around Arms and Torso, at bicep level parallel to floor, with arms hanging at the sides")); + + InitMeasurement(upperChestGirth, QStringLiteral("Upper Chest girth"), + QStringLiteral("Around Chest at Armfold level, will be parallel to floor across back, will not be parallel to floor" + " across front chest")); + + InitMeasurement(bustGirth, QStringLiteral("Bust girth"), + QStringLiteral("Around fullest part of Bust, parallel to floor")); + + InitMeasurement(underBustGirth, QStringLiteral("Under Bust girth"), + QStringLiteral("Around Chest below the Bust, parallel to floor")); + + InitMeasurement(waistGirth, QStringLiteral("Waist girth"), + QStringLiteral("Tie a string around smallest part of waist, keep string tied while taking meaasurements. Not" + " usually parallel to floor for front waist or back waist.")); + + InitMeasurement(highHipGirth, QStringLiteral("HighHip girth"), QStringLiteral("Around HighHip, parallel to floor")); + + InitMeasurement(hipGirth, QStringLiteral("Hip girth"), QStringLiteral("Around Hip, parallel to floor")); + + InitMeasurement(upperFrontChestWidth, QStringLiteral("Front Upper Chest width"), + QStringLiteral("Across Front UpperChest, smallest width from armscye to armscye")); + + InitMeasurement(frontChestWidth, QStringLiteral("Front Chest width"), + QStringLiteral("Across Front Chest, from armfold to armfold")); + + InitMeasurement(acrossFrontShoulderWidth, QStringLiteral("Front Across Shoulder width"), + QStringLiteral("From ShoulderTip to ShoulderTip, across Front")); + + InitMeasurement(acrossBackShoulderWidth, QStringLiteral("Back Across Shoulder width"), + QStringLiteral("From ShoulderTip to ShoulderTip, across Back")); + + InitMeasurement(acrossBackShoulderWidth, QStringLiteral("Back Upper Chest width"), + QStringLiteral("Across Back UpperChest, smallest width from armscye to armscye")); + + InitMeasurement(backWidth, QStringLiteral("Back Chest width"), + QStringLiteral("Across Back Chest, from armfold to armfold")); + + InitMeasurement(bustpointToBustpoint, QStringLiteral("BustPoint to BustPoint"), + QStringLiteral("Distance between BustPoints, across Chest")); + + InitMeasurement(halterBustpointToBustpoint, QStringLiteral("Halter Bustpoint to Bustpoint"), + QStringLiteral("Distance from Bustpoint, behind neck, down to Bustpoint")); + + InitMeasurement(neckToBustpoint, QStringLiteral("NeckPoint to BustPoint"), + QStringLiteral("From NeckPoint to BustPoint")); + + InitMeasurement(crotchLength, QStringLiteral("Crotch length"), + QStringLiteral("From Front Waist Center, down to crotch, up to Back Waist Center")); + + InitMeasurement(riseHeight, QStringLiteral("Rise height"), + QStringLiteral("Sit on hard chair, measure from side waist straight down to chair bottom")); + + InitMeasurement(shoulderDrop, QStringLiteral("Shoulder Drop"), + QStringLiteral("Vertical Distance from NeckPoint level to ShoulderTip level")); + + InitMeasurement(shoulderSlopeDegrees, QStringLiteral("Shoulder Slope degrees"), + QStringLiteral("Degrees of angle from NeckPoint to ShoulderTip – requires goniometer")); + + InitMeasurement(frontShoulderSlopeLength, QStringLiteral("Front Shoulder Balance"), + QStringLiteral("ShoulderTip to Front Waist Center")); + + InitMeasurement(backShoulderSlopeLength, QStringLiteral("Back Shoulder Balance"), + QStringLiteral("ShoulderTip to Back Waist Center")); + + InitMeasurement(frontShoulderToWaistLength, QStringLiteral("Front Full Length"), + QStringLiteral("NeckPoint straight down front chest to Waistline")); + + InitMeasurement(backShoulderToWaistLength, QStringLiteral("Back Full Length"), + QStringLiteral("Back NeckPoint straight down back chest to Waistline")); + + InitMeasurement(frontNeckArc, QStringLiteral("Front Neck arc"), + QStringLiteral("NeckPoint to NeckPoint through Front Neck Center")); + + InitMeasurement(backNeckArc, QStringLiteral("Back Neck arc"), QStringLiteral("NeckPoint to NeckPoint across Nape")); + + InitMeasurement(frontUpperBustArc, QStringLiteral("front_upper-bust_arc"), QStringLiteral("front_upper-bust_arc")); + + InitMeasurement(backUpperBustArc, QStringLiteral("Back UpperBust arc"), + QStringLiteral("Back UpperBust side to side")); + + InitMeasurement(frontWaistArc, QStringLiteral("Front Waist arc"), QStringLiteral("Front Waist side to side")); + + InitMeasurement(backWaistArc, QStringLiteral("Back Waist arc"), QStringLiteral("Back Waist side to side")); + + InitMeasurement(frontUpperHipArc, QStringLiteral("Front UpperHip arc"), + QStringLiteral("Front UpperHip side to side")); + + InitMeasurement(backUpperHipArc, QStringLiteral("Back UpperHip arc"), QStringLiteral("Back UpperHip side to side")); + + InitMeasurement(frontHipArc, QStringLiteral("Front Hip arc"), QStringLiteral("Front Hip side to side")); + + InitMeasurement(backHipArc, QStringLiteral("Back Hip arc"), QStringLiteral("Back Hip side to side")); + + InitMeasurement(chestSlope, QStringLiteral("Chest Balance"), QStringLiteral("NeckPoint to Front ArmfoldPoint")); + + InitMeasurement(backSlope, QStringLiteral("Back Balance"), QStringLiteral("NeckPoint to Back ArmfoldPoint")); + + InitMeasurement(frontWaistSlope, QStringLiteral("Front Waist Balance"), + QStringLiteral("NeckPoint across Front Chest to Waist side")); + + InitMeasurement(backWaistSlope, QStringLiteral("Back Waist Balance"), + QStringLiteral("NeckPoint across Back Chest to Waist side")); + + InitMeasurement(frontNeckToUpperChestHeight, QStringLiteral("Front UpperChest height"), + QStringLiteral("Front Neck Center straight down to UpperChest line")); + + InitMeasurement(frontNeckToBustHeight, QStringLiteral("Bust height"), + QStringLiteral("Front Neck Center straight down to Bust line")); + + // arm + InitMeasurement(armscyeGirth, QStringLiteral("Armscye Girth"), QStringLiteral("Around Armscye")); + + InitMeasurement(elbowGirth, QStringLiteral("Elbow Girth"), QStringLiteral("Around Elbow with elbow bent")); + + InitMeasurement(upperArmGirth, QStringLiteral("Upperarm Girth"), QStringLiteral("Around UpperArm")); + + InitMeasurement(wristGirth, QStringLiteral("Wrist girth"), QStringLiteral("Around Wrist")); + + InitMeasurement(scyeDepth, QStringLiteral("Armscye depth"), + QStringLiteral("Nape straight down to UnderBust line (same as Back UpperBust height)")); + + InitMeasurement(shoulderAndArmLength, QStringLiteral("Shoulder and Arm length"), + QStringLiteral("NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip")); + + InitMeasurement(underarmLength, QStringLiteral("Underarm length"), + QStringLiteral("Armpit to Wrist, with arm straight and hanging at side")); + + InitMeasurement(cervicaleToWristLength, QStringLiteral("Nape to wrist length"), + QStringLiteral("Nape to Wrist, with elbow bent and hand on hip")); + + InitMeasurement(shoulderToElbowLength, QStringLiteral("Elbow length"), + QStringLiteral("ShoulderTip to Elbow, with elbow bent and hand on hip")); + + InitMeasurement(armLength, QStringLiteral("Arm length"), + QStringLiteral("ShoulderTip to Wrist, with elbow bent and hand on hip")); + + // hand + InitMeasurement(handWidth, QStringLiteral("Hand width"), QStringLiteral("Hand side to side")); + + InitMeasurement(handLength, QStringLiteral("Hand length"), QStringLiteral("Hand Middle Finger tip to wrist")); + + InitMeasurement(handGirth, QStringLiteral("Hand girth"), QStringLiteral("Around Hand")); + + // leg + InitMeasurement(thighGirth, QStringLiteral("Thigh girth"), QStringLiteral("Around Thigh")); + + InitMeasurement(midThighGirth, QStringLiteral("Midthigh girth"), QStringLiteral("Around MidThigh")); + + InitMeasurement(kneeGirth, QStringLiteral("Knee girth"), QStringLiteral("Around Knee")); + + InitMeasurement(calfGirth, QStringLiteral("Calf girth"), QStringLiteral("Around Calf")); + + InitMeasurement(ankleGirth, QStringLiteral("Ankle girth"), QStringLiteral("Around Ankle")); + + InitMeasurement(kneeHeight, QStringLiteral("Knee height"), QStringLiteral("Knee to Floor")); + + InitMeasurement(ankleHeight, QStringLiteral("Ankle height"), QStringLiteral("Ankle to Floor")); + + // foot + InitMeasurement(footWidth, QStringLiteral("Foot width"), QStringLiteral("Widest part of Foot side to side")); + + InitMeasurement(footLength, QStringLiteral("Foot length"), + QStringLiteral("Tip of Longest Toe straight to back of heel")); + + // heights + InitMeasurement(height, QStringLiteral("Total Height"), QStringLiteral("Top of head to floor")); + + InitMeasurement(cervicaleHeight, QStringLiteral("Nape height"), QStringLiteral("Nape to Floor")); + + InitMeasurement(cervicaleToKneeHeight, QStringLiteral("Nape to knee height"), QStringLiteral("Nape to Knee")); + + InitMeasurement(waistHeight, QStringLiteral("Waist height"), QStringLiteral("Waist side to floor")); + + InitMeasurement(highHipHeight, QStringLiteral("HighHip height"), QStringLiteral("HighHip side to Floor")); + + InitMeasurement(hipHeight, QStringLiteral("Hip height"), QStringLiteral("Hip side to Floor")); + + InitMeasurement(waistToHipHeight, QStringLiteral("Waist to Hip height"), QStringLiteral("Waist side to Hip")); + + InitMeasurement(waistToKneeHeight, QStringLiteral("Waist to Knee height"), QStringLiteral("Waist side to Knee")); + + InitMeasurement(crotchHeight, QStringLiteral("Crotch height/Inseam"), + QStringLiteral("Crotch to Floor along inside leg")); +} + +//--------------------------------------------------------------------------------------------------------------------- +void VApplication::InitMeasurement(const QString &measurement, const QString &guiTxt, const QString &desc) +{ + const QString context = QStringLiteral("Measurements"); + const QString disambiguation1 = QStringLiteral("Short measurement name. Don't use math symbols in name!!!!"); + const QString disambiguation2 = QStringLiteral("Full measurement name"); + const QString disambiguation3 = QStringLiteral("Full measurement description"); + + measurements.insert(measurement, VTranslation::translate(context, measurement, disambiguation1)); + guiText.insert(measurement, VTranslation::translate(context, guiTxt, disambiguation2)); + description.insert(measurement, VTranslation::translate(context, desc, disambiguation3)); +} + +//--------------------------------------------------------------------------------------------------------------------- +void VApplication::InitVariables() +{ + const QString context = QStringLiteral("Variables"); + const QString disambiguation = QStringLiteral("Left symbol _ in name"); + + variables.insert(line_, VTranslation::translate(context, line_, disambiguation)); + variables.insert(angleLine_, VTranslation::translate(context, angleLine_, disambiguation)); + variables.insert(arc_, VTranslation::translate(context, arc_, disambiguation)); + variables.insert(spl_, VTranslation::translate(context, spl_, disambiguation)); + variables.insert(splPath, VTranslation::translate(context, splPath, disambiguation)); +} + +//--------------------------------------------------------------------------------------------------------------------- +void VApplication::InitFunctions() +{ + const QString context = QStringLiteral("Functions"); + + functions.insert(sin_F, VTranslation::translate(context, sin_F, QStringLiteral("sine function"))); + functions.insert(cos_F, VTranslation::translate(context, cos_F, QStringLiteral("cosine function"))); + functions.insert(tan_F, VTranslation::translate(context, tan_F, QStringLiteral("tangens function"))); + functions.insert(asin_F, VTranslation::translate(context, asin_F, QStringLiteral("arcus sine function"))); + functions.insert(acos_F, VTranslation::translate(context, acos_F, QStringLiteral("arcus cosine function"))); + functions.insert(atan_F, VTranslation::translate(context, atan_F, QStringLiteral("arcus tangens function"))); + functions.insert(sinh_F, VTranslation::translate(context, sinh_F, QStringLiteral("hyperbolic sine function"))); + functions.insert(cosh_F, VTranslation::translate(context, cosh_F, QStringLiteral("hyperbolic cosine"))); + functions.insert(tanh_F, VTranslation::translate(context, tanh_F, QStringLiteral("hyperbolic tangens function"))); + functions.insert(asinh_F, VTranslation::translate(context, asinh_F, + QStringLiteral("hyperbolic arcus sine function"))); + functions.insert(acosh_F, VTranslation::translate(context, acosh_F, + QStringLiteral("hyperbolic arcus tangens function"))); + functions.insert(atanh_F, VTranslation::translate(context, atanh_F, + QStringLiteral("hyperbolic arcur tangens function"))); + functions.insert(log2_F, VTranslation::translate(context, log2_F, QStringLiteral("logarithm to the base 2"))); + functions.insert(log10_F, VTranslation::translate(context, log10_F, QStringLiteral("logarithm to the base 10"))); + functions.insert(log_F, VTranslation::translate(context, log_F, QStringLiteral("logarithm to the base 10"))); + functions.insert(ln_F, VTranslation::translate(context, ln_F, QStringLiteral("logarithm to base e (2.71828...)"))); + functions.insert(exp_F, VTranslation::translate(context, exp_F, QStringLiteral("e raised to the power of x"))); + functions.insert(sqrt_F, VTranslation::translate(context, sqrt_F, QStringLiteral("square root of a value"))); + functions.insert(sign_F, VTranslation::translate(context, sign_F, + QStringLiteral("sign function -1 if x<0; 1 if x>0"))); + functions.insert(rint_F, VTranslation::translate(context, rint_F, QStringLiteral("round to nearest integer"))); + functions.insert(abs_F, VTranslation::translate(context, abs_F, QStringLiteral("absolute value"))); + functions.insert(min_F, VTranslation::translate(context, min_F, QStringLiteral("min of all arguments"))); + functions.insert(max_F, VTranslation::translate(context, max_F, QStringLiteral("max of all arguments"))); + functions.insert(sum_F, VTranslation::translate(context, sum_F, QStringLiteral("sum of all arguments"))); + functions.insert(avg_F, VTranslation::translate(context, avg_F, QStringLiteral("mean value of all arguments"))); +} + //--------------------------------------------------------------------------------------------------------------------- void VApplication::setPatternUnit(const Valentina::Units &patternUnit) { diff --git a/src/app/widgets/vapplication.h b/src/app/widgets/vapplication.h index 599d7e1c8..8ac8c4ec5 100644 --- a/src/app/widgets/vapplication.h +++ b/src/app/widgets/vapplication.h @@ -31,6 +31,7 @@ #include #include "../options.h" +#include "vtranslation.h" class VApplication; @@ -76,7 +77,17 @@ private: Pattern::Measurements _patternType; qreal _widthMainLine; qreal _widthHairLine; + QMap measurements; + QMap guiText; + QMap description; + QMap variables; + QMap functions; void InitLineWidth(); + void InitMeasurements(); + void InitMeasurement(const QString &measurement, const QString &guiTxt, const QString & desc); + void InitVariables(); + void InitFunctions(); + }; inline Valentina::Units VApplication::patternUnit() const diff --git a/src/app/widgets/vtranslation.cpp b/src/app/widgets/vtranslation.cpp new file mode 100644 index 000000000..d03a78683 --- /dev/null +++ b/src/app/widgets/vtranslation.cpp @@ -0,0 +1,55 @@ +/************************************************************************ + ** + ** @file vtranslation.cpp + ** @author Roman Telezhynskyi + ** @date 12 5, 2014 + ** + ** @brief + ** @copyright + ** This source code is part of the Valentine project, a pattern making + ** program, whose allow create and modeling patterns of clothing. + ** Copyright (C) 2014 Valentina project + ** All Rights Reserved. + ** + ** Valentina is free software: you can redistribute it and/or modify + ** it under the terms of the GNU General Public License as published by + ** the Free Software Foundation, either version 3 of the License, or + ** (at your option) any later version. + ** + ** Valentina is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU General Public License for more details. + ** + ** You should have received a copy of the GNU General Public License + ** along with Valentina. If not, see . + ** + *************************************************************************/ + +#include "vtranslation.h" + +//--------------------------------------------------------------------------------------------------------------------- +VTranslation VTranslation::translate(const QString &context, const QString &sourceText, const QString &disambiguation, + int n) +{ + if (n < 0) + { + n = -1; + } + VTranslation t(context, sourceText, disambiguation, n); + return t; +} + +//--------------------------------------------------------------------------------------------------------------------- +VTranslation::VTranslation(const QString &context, const QString &sourceText, const QString &disambiguation, int n) + :mcontext(context), msourceText(sourceText), mdisambiguation(disambiguation), mn(n) +{ + mn = -1; +} + +//--------------------------------------------------------------------------------------------------------------------- +QString VTranslation::VTranslation::translate() const +{ + return QCoreApplication::translate(mcontext.toUtf8().constData(), msourceText.toUtf8().constData(), + mdisambiguation.toUtf8().constData(), mn); +} diff --git a/src/app/widgets/vtranslation.h b/src/app/widgets/vtranslation.h new file mode 100644 index 000000000..2017be0f2 --- /dev/null +++ b/src/app/widgets/vtranslation.h @@ -0,0 +1,64 @@ +/************************************************************************ + ** + ** @file vtranslation.h + ** @author Roman Telezhynskyi + ** @date 12 5, 2014 + ** + ** @brief + ** @copyright + ** This source code is part of the Valentine project, a pattern making + ** program, whose allow create and modeling patterns of clothing. + ** Copyright (C) 2014 Valentina project + ** All Rights Reserved. + ** + ** Valentina is free software: you can redistribute it and/or modify + ** it under the terms of the GNU General Public License as published by + ** the Free Software Foundation, either version 3 of the License, or + ** (at your option) any later version. + ** + ** Valentina is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU General Public License for more details. + ** + ** You should have received a copy of the GNU General Public License + ** along with Valentina. If not, see . + ** + *************************************************************************/ + +#ifndef VTRANSLATION_H +#define VTRANSLATION_H + +#include +#include + +/** + * @file + * @brief The VTranslation class help store string for translation. + * + * I took idea from this article http://ololoepepe.blogspot.com/2013/08/qt.html. + * As you know, if wrap string to a function translate, it will be marked for translation. No matter what namespace + * contains this function. In class Translation used this circumstance. + * Instead of using QT_TRANSLATE_NOOP3 macros we can store strings in QMap. + * Example: + * create map and fill up its + * QMap map; + * map.insert("head_girth", VTranslation::translate("Measurements", "head_girth", "Around fullest part of Head.")); + * get translated string + * map.value(measurement).translate(); + */ +class VTranslation +{ +public: + VTranslation(const QString &context, const QString &sourceText, const QString &disambiguation = 0, int n = -1); + QString translate() const; + static VTranslation translate(const QString &context, const QString &sourceText, const QString &disambiguation = 0, + int n = -1); +private: + QString mcontext; + QString msourceText; + QString mdisambiguation; + int mn; +}; + +#endif // VTRANSLATION_H diff --git a/src/app/widgets/widgets.pri b/src/app/widgets/widgets.pri index e8e5343b5..52b5d6e1e 100644 --- a/src/app/widgets/widgets.pri +++ b/src/app/widgets/widgets.pri @@ -10,7 +10,8 @@ HEADERS += \ widgets/vsimplespline.h \ widgets/vsimplesplinepath.h \ widgets/vsimplearc.h \ - widgets/textdelegate.h + widgets/textdelegate.h \ + widgets/vtranslation.h SOURCES += \ widgets/vtablegraphicsview.cpp \ @@ -24,4 +25,5 @@ SOURCES += \ widgets/vsimplespline.cpp \ widgets/vsimplesplinepath.cpp \ widgets/vsimplearc.cpp \ - widgets/textdelegate.cpp + widgets/textdelegate.cpp \ + widgets/vtranslation.cpp From ac3f02ab49943d7e578b0c84a7e7ad89df274339 Mon Sep 17 00:00:00 2001 From: dismine Date: Thu, 15 May 2014 10:42:15 +0300 Subject: [PATCH 02/32] Changes in formats. --HG-- branch : feature --- src/app/app.pro | 3 +- src/app/share/resources/measurements.qrc | 3 + .../schema/individual_measurements.xsd | 656 +++++------- src/app/share/resources/schema/pattern.xsd | 6 + .../schema/standard_measurements.xsd | 975 +++++++++++++++++- .../share/tables/individual/individual.vit | 160 +++ .../tables/individual/individual_en-us.vit | 108 -- .../tables/individual/indivindual_ru.vit | 108 -- src/app/share/tables/standard/GOST_man_ru.vst | 230 +++-- 9 files changed, 1532 insertions(+), 717 deletions(-) create mode 100644 src/app/share/resources/measurements.qrc create mode 100644 src/app/share/tables/individual/individual.vit delete mode 100644 src/app/share/tables/individual/individual_en-us.vit delete mode 100644 src/app/share/tables/individual/indivindual_ru.vit diff --git a/src/app/app.pro b/src/app/app.pro index 06f0824af..b70163271 100644 --- a/src/app/app.pro +++ b/src/app/app.pro @@ -63,7 +63,8 @@ RESOURCES += \ share/resources/icon.qrc \ share/resources/cursor.qrc \ share/resources/theme.qrc \ - share/resources/schema.qrc + share/resources/schema.qrc \ + share/resources/measurements.qrc OTHER_FILES += \ share/resources/valentina.rc \ diff --git a/src/app/share/resources/measurements.qrc b/src/app/share/resources/measurements.qrc new file mode 100644 index 000000000..4d8ed6621 --- /dev/null +++ b/src/app/share/resources/measurements.qrc @@ -0,0 +1,3 @@ + + + diff --git a/src/app/share/resources/schema/individual_measurements.xsd b/src/app/share/resources/schema/individual_measurements.xsd index 55cd7f9a3..9be7a8eaf 100644 --- a/src/app/share/resources/schema/individual_measurements.xsd +++ b/src/app/share/resources/schema/individual_measurements.xsd @@ -3,6 +3,7 @@ + @@ -24,42 +25,22 @@ - - - - - - - - - - - - - - - - - - - - @@ -70,452 +51,227 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -526,102 +282,52 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -632,32 +338,17 @@ - - - - - - - - - - - - - - - @@ -668,72 +359,37 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -744,22 +400,12 @@ - - - - - - - - - - @@ -770,92 +416,298 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -872,9 +724,9 @@ - + - + diff --git a/src/app/share/resources/schema/pattern.xsd b/src/app/share/resources/schema/pattern.xsd index 1f1b0c00c..f6101313e 100644 --- a/src/app/share/resources/schema/pattern.xsd +++ b/src/app/share/resources/schema/pattern.xsd @@ -4,6 +4,7 @@ + @@ -229,4 +230,9 @@ + + + + + diff --git a/src/app/share/resources/schema/standard_measurements.xsd b/src/app/share/resources/schema/standard_measurements.xsd index 4ac6eb0d5..4d882d847 100644 --- a/src/app/share/resources/schema/standard_measurements.xsd +++ b/src/app/share/resources/schema/standard_measurements.xsd @@ -3,6 +3,7 @@ + @@ -17,30 +18,967 @@ - + - + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - @@ -48,4 +986,9 @@ + + + + + diff --git a/src/app/share/tables/individual/individual.vit b/src/app/share/tables/individual/individual.vit new file mode 100644 index 000000000..471b9d163 --- /dev/null +++ b/src/app/share/tables/individual/individual.vit @@ -0,0 +1,160 @@ + + + 0.1.0 + en-us + + + + 1900-01-01 + male + username@example.com + + + cm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/app/share/tables/individual/individual_en-us.vit b/src/app/share/tables/individual/individual_en-us.vit deleted file mode 100644 index 2e9ff0777..000000000 --- a/src/app/share/tables/individual/individual_en-us.vit +++ /dev/null @@ -1,108 +0,0 @@ - - - en-us - - - - 1900-01-01 - male - username@example.com - - - cm - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/app/share/tables/individual/indivindual_ru.vit b/src/app/share/tables/individual/indivindual_ru.vit deleted file mode 100644 index b7329e774..000000000 --- a/src/app/share/tables/individual/indivindual_ru.vit +++ /dev/null @@ -1,108 +0,0 @@ - - - ru - - - - 1900-01-01 - male - username@example.com - - - mm - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/app/share/tables/standard/GOST_man_ru.vst b/src/app/share/tables/standard/GOST_man_ru.vst index ca4a1c00a..9f73960dd 100644 --- a/src/app/share/tables/standard/GOST_man_ru.vst +++ b/src/app/share/tables/standard/GOST_man_ru.vst @@ -1,87 +1,153 @@ + 0.1.0 Типовые фигуры мужчин 1-й полнотной группы, обхват груди 100 см mm - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 9e81a2865bf2dcbf1fe2898638e1a987bfa6c807 Mon Sep 17 00:00:00 2001 From: dismine Date: Thu, 15 May 2014 10:42:51 +0300 Subject: [PATCH 03/32] Delete TODO file. --HG-- branch : feature --- TODO | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 TODO diff --git a/TODO b/TODO deleted file mode 100644 index 47c86be2e..000000000 --- a/TODO +++ /dev/null @@ -1,27 +0,0 @@ -Valentina TODO file. -For more information see https://bitbucket.org/dismine/valentina/issues - -(c) Valentina Team 2013 - - * Rotate details. - * Reflection details. - * Label on detail. - * Checking integrity of file. - * Description of pattern. - * Type of lines. - * Tuck transfer. - * Сonditions. - * Standard table of measurements. - * Window "Option". - * Undo/redo functionality in applications. - * Checking file integrity. - * Sketch drawing. - * Graduation card. - * Individual mode of construction pattern. - * Description about pattern in SVG file. - * Visualization. - - - - - From e95b886eb44cc2b1084b8d5739ff2cce8f402ad3 Mon Sep 17 00:00:00 2001 From: dismine Date: Thu, 15 May 2014 12:29:12 +0300 Subject: [PATCH 04/32] Change in dialog individual measurements. --HG-- branch : feature --- Valentina.pri | 19 +++++ src/app/app.pro | 54 ++++---------- .../app/dialogindividualmeasurements.cpp | 72 ++----------------- .../app/dialogindividualmeasurements.h | 1 - .../app/dialogindividualmeasurements.ui | 27 ------- src/app/share/resources/measurements.qrc | 4 +- .../schema/individual_measurements.xsd | 1 - .../tables/individual/individual.vit | 1 - .../tables/standard/GOST_man_ru.vst | 0 src/libs/qmuparser/qmuparser.pro | 20 +++--- src/src.pro | 4 +- 11 files changed, 51 insertions(+), 152 deletions(-) rename src/app/share/{ => resources}/tables/individual/individual.vit (99%) rename src/app/share/{ => resources}/tables/standard/GOST_man_ru.vst (100%) diff --git a/Valentina.pri b/Valentina.pri index d2b58ce0a..5dc56db0c 100644 --- a/Valentina.pri +++ b/Valentina.pri @@ -20,3 +20,22 @@ defineTest(minQtVersion) { } return(false) } + +# Copies the given files to the destination directory +defineTest(copyToDestdir) { + files = $$1 + DDIR = $$2 + mkpath($$DDIR) + + for(FILE, files) { + + # Replace slashes in paths with backslashes for Windows + win32{ + FILE ~= s,/,\\,g + DDIR ~= s,/,\\,g + } + QMAKE_POST_LINK += $$QMAKE_COPY $$quote($$FILE) $$quote($$DDIR) $$escape_expand(\\n\\t) + } + + export(QMAKE_POST_LINK) +} diff --git a/src/app/app.pro b/src/app/app.pro index b70163271..2d7566da6 100644 --- a/src/app/app.pro +++ b/src/app/app.pro @@ -6,6 +6,8 @@ # Use out-of-source builds (shadow builds) +include(../../Valentina.pri) + QT += core gui widgets xml svg printsupport xmlpatterns TEMPLATE = app @@ -155,16 +157,15 @@ QMAKE_DISTCLEAN += $${DESTDIR}/* \ $${RCC_DIR}/* \ $$PWD/share/translations/valentina_*.qm -INSTALL_TRANSLATIONS += share/translations/valentina_ru.qm \ - share/translations/valentina_uk.qm \ - share/translations/valentina_de.qm \ - share/translations/valentina_cs.qm \ - share/translations/valentina_he_IL.qm \ - share/translations/valentina_fr.qm +INSTALL_TRANSLATIONS += \ + share/translations/valentina_ru.qm \ + share/translations/valentina_uk.qm \ + share/translations/valentina_de.qm \ + share/translations/valentina_cs.qm \ + share/translations/valentina_he_IL.qm \ + share/translations/valentina_fr.qm -INSTALL_STANDARD_MEASHUREMENTS += share/tables/standard/GOST_man_ru.vst - -INSTALL_INDIVIDUAL_MEASHUREMENTS += share/tables/individual/indivindual_ru.vit +INSTALL_STANDARD_MEASHUREMENTS += share/resources/tables/standard/GOST_man_ru.vst unix { #VARIABLES @@ -184,14 +185,12 @@ translations.path = $$DATADIR/$${TARGET}/translations/ translations.files = $$INSTALL_TRANSLATIONS standard.path = $$DATADIR/$${TARGET}/tables/standard/ standard.files = $$INSTALL_STANDARD_MEASHUREMENTS -individual.path = $$DATADIR/$${TARGET}/tables/individual/ -individual.files = $$INSTALL_INDIVIDUAL_MEASHUREMENTS -INSTALLS += target \ +INSTALLS += \ + target \ desktop \ pixmaps \ translations \ - standard \ - individual + standard } !isEmpty(TRANSLATIONS): { @@ -202,25 +201,6 @@ INSTALLS += target \ } } -# Copies the given files to the destination directory -defineTest(copyToDestdir) { - files = $$1 - DDIR = $$2 - mkpath($$DDIR) - - for(FILE, files) { - - # Replace slashes in paths with backslashes for Windows - win32{ - FILE ~= s,/,\\,g - DDIR ~= s,/,\\,g - } - QMAKE_POST_LINK += $$QMAKE_COPY $$quote($$FILE) $$quote($$DDIR) $$escape_expand(\\n\\t) - } - - export(QMAKE_POST_LINK) -} - for(DIR, INSTALL_TRANSLATIONS) { #add these absolute paths to a variable which #ends up as 'mkcommands = path1 path2 path3 ...' @@ -237,14 +217,6 @@ for(DIR, INSTALL_STANDARD_MEASHUREMENTS) { copyToDestdir($$st_path, $$shell_path($$OUT_PWD/$$DESTDIR/tables/standard)) -for(DIR, INSTALL_INDIVIDUAL_MEASHUREMENTS) { - #add these absolute paths to a variable which - #ends up as 'mkcommands = path1 path2 path3 ...' - ind_path += $$PWD/$$DIR -} - -copyToDestdir($$ind_path, $$shell_path($$OUT_PWD/$$DESTDIR/tables/individual)) - win32:CONFIG(release, debug|release): LIBS += -L../libs/qmuparser/bin -lqmuparser2 else:win32:CONFIG(debug, debug|release): LIBS += -L../libs/qmuparser/bin -lqmuparser2 else:unix: LIBS += -L../libs/qmuparser/bin -lqmuparser diff --git a/src/app/dialogs/app/dialogindividualmeasurements.cpp b/src/app/dialogs/app/dialogindividualmeasurements.cpp index 4a096907d..6afe70b72 100644 --- a/src/app/dialogs/app/dialogindividualmeasurements.cpp +++ b/src/app/dialogs/app/dialogindividualmeasurements.cpp @@ -57,9 +57,7 @@ DialogIndividualMeasurements::DialogIndividualMeasurements(VContainer *data, con ui->lineEditName->setText(_name); - LoadIndividualTables(); InitUnits(); - CheckState(); connect(ui->lineEditName, &QLineEdit::textChanged, this, &DialogIndividualMeasurements::CheckState); connect(ui->buttonGroupPath, static_cast(&QButtonGroup::buttonClicked), this, @@ -91,9 +89,10 @@ void DialogIndividualMeasurements::DialogAccepted() table.remove(); } - const qint32 index = ui->comboBoxLang->currentIndex(); - QString path = ui->comboBoxLang->itemData(index).toString(); - QFile iMeasur(path); + //just in case + VDomDocument::ValidateXML("://schema/individual_measurements.xsd", "://tables/individual/individual.vit"); + QFile iMeasur("://tables/individual/individual.vit"); + //TODO maybe make copy save? if ( iMeasur.copy(_tablePath) == false ) { QMessageBox::warning(this, tr("Could not create measurements file"), tr("Please try again or change file")); @@ -153,7 +152,6 @@ void DialogIndividualMeasurements::CheckState() ui->lineEditPathNewM->setEnabled(false); ui->toolButtonOpenNew->setEnabled(false); - ui->comboBoxLang->setEnabled(false); ui->comboBoxUnits->setEnabled(false); if (ui->lineEditPathExistM->text().isEmpty() == false) @@ -165,7 +163,6 @@ void DialogIndividualMeasurements::CheckState() { ui->lineEditPathNewM->setEnabled(true); ui->toolButtonOpenNew->setEnabled(true); - ui->comboBoxLang->setEnabled(true); ui->comboBoxUnits->setEnabled(true); ui->toolButtonOpenExist->setEnabled(false); @@ -177,69 +174,10 @@ void DialogIndividualMeasurements::CheckState() } } - bool flagLang = false; - { - const QComboBox *box = ui->comboBoxLang; - Q_CHECK_PTR(box); - if (box->count() > 0 && box->currentIndex() != -1) - { - flagLang = true; - } - } QPushButton *bOk = ui->buttonBox->button(QDialogButtonBox::Ok); Q_CHECK_PTR(bOk); - bOk->setEnabled(flagName && flagPath && flagLang); -} - -//--------------------------------------------------------------------------------------------------------------------- -void DialogIndividualMeasurements::LoadIndividualTables() -{ - QStringList filters; - filters << "*.vit"; - QDir tablesDir(qApp->pathToTables()); - tablesDir.setNameFilters(filters); - tablesDir.setCurrent(qApp->pathToTables()); - - const QStringList allFiles = tablesDir.entryList(QDir::NoDotAndDotDot | QDir::Files); - if (allFiles.isEmpty() == true) - { - ui->comboBoxLang->clear(); - CheckState(); - return; - } - - for (int i = 0; i < allFiles.size(); ++i) - { - QFileInfo fi(allFiles.at(i)); - try - { - VDomDocument::ValidateXML("://schema/individual_measurements.xsd", fi.absoluteFilePath()); - VIndividualMeasurements m(data); - m.setContent(fi.absoluteFilePath()); - const QString lang = QLocale(m.Language()).nativeLanguageName(); - ui->comboBoxLang->addItem(lang, QVariant(fi.absoluteFilePath())); - } - catch (VException &e) - { - qDebug()<<"File error."<comboBoxLang->findData(checkedLocale); - if (index != -1) - { - ui->comboBoxLang->setCurrentIndex(index); - } + bOk->setEnabled(flagName && flagPath); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/app/dialogindividualmeasurements.h b/src/app/dialogs/app/dialogindividualmeasurements.h index 092e44c42..3e2527051 100644 --- a/src/app/dialogs/app/dialogindividualmeasurements.h +++ b/src/app/dialogs/app/dialogindividualmeasurements.h @@ -57,7 +57,6 @@ private: QString _name; QString _tablePath; VContainer *data; - void LoadIndividualTables(); void InitUnits(); }; diff --git a/src/app/dialogs/app/dialogindividualmeasurements.ui b/src/app/dialogs/app/dialogindividualmeasurements.ui index 522a6a3de..9c57378da 100644 --- a/src/app/dialogs/app/dialogindividualmeasurements.ui +++ b/src/app/dialogs/app/dialogindividualmeasurements.ui @@ -90,33 +90,6 @@ - - - - - - Language: - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - - - diff --git a/src/app/share/resources/measurements.qrc b/src/app/share/resources/measurements.qrc index 4d8ed6621..ca34fddcf 100644 --- a/src/app/share/resources/measurements.qrc +++ b/src/app/share/resources/measurements.qrc @@ -1,3 +1,5 @@ - + + tables/individual/individual.vit + diff --git a/src/app/share/resources/schema/individual_measurements.xsd b/src/app/share/resources/schema/individual_measurements.xsd index 9be7a8eaf..ff023bcc2 100644 --- a/src/app/share/resources/schema/individual_measurements.xsd +++ b/src/app/share/resources/schema/individual_measurements.xsd @@ -4,7 +4,6 @@ - diff --git a/src/app/share/tables/individual/individual.vit b/src/app/share/resources/tables/individual/individual.vit similarity index 99% rename from src/app/share/tables/individual/individual.vit rename to src/app/share/resources/tables/individual/individual.vit index 471b9d163..998e4430c 100644 --- a/src/app/share/tables/individual/individual.vit +++ b/src/app/share/resources/tables/individual/individual.vit @@ -1,7 +1,6 @@ 0.1.0 - en-us diff --git a/src/app/share/tables/standard/GOST_man_ru.vst b/src/app/share/resources/tables/standard/GOST_man_ru.vst similarity index 100% rename from src/app/share/tables/standard/GOST_man_ru.vst rename to src/app/share/resources/tables/standard/GOST_man_ru.vst diff --git a/src/libs/qmuparser/qmuparser.pro b/src/libs/qmuparser/qmuparser.pro index 389f8235a..cb3c24548 100644 --- a/src/libs/qmuparser/qmuparser.pro +++ b/src/libs/qmuparser/qmuparser.pro @@ -24,10 +24,7 @@ MOC_DIR = moc OBJECTS_DIR = obj # files created rcc -RCC_DIR = rcc - -# files created uic -UI_DIR = uic +#RCC_DIR = rcc SOURCES += \ qmuparser.cpp \ @@ -73,8 +70,8 @@ CONFIG(debug, debug|release){ # Debug unix { *-g++{ - QMAKE_CXXFLAGS += -isystem "/usr/include/qt5" -isystem "/usr/include/qt5/QtCore" -isystem "$${UI_DIR}" \ - -isystem "$${MOC_DIR}" -isystem "$${RCC_DIR}" \ + QMAKE_CXXFLAGS += -isystem "/usr/include/qt5" -isystem "/usr/include/qt5/QtCore" -isystem "$${MOC_DIR}" \ + #-isystem "$${RCC_DIR}" \ -O0 -Wall -Wextra -pedantic -Weffc++ -Woverloaded-virtual -Wctor-dtor-privacy \ -Wnon-virtual-dtor -Wold-style-cast -Wconversion -Winit-self -Wstack-protector \ -Wunreachable-code -Wcast-align -Wcast-qual -Wdisabled-optimization -Wfloat-equal \ @@ -101,8 +98,9 @@ CONFIG(debug, debug|release){ } # Remove generated files at cleaning -QMAKE_DISTCLEAN += $${DESTDIR}/* \ - $${OBJECTS_DIR}/* \ - $${UI_DIR}/* \ - $${MOC_DIR}/* \ - $${RCC_DIR}/* +QMAKE_DISTCLEAN += \ + $${DESTDIR}/* \ + $${OBJECTS_DIR}/* \ + #$${RCC_DIR}/* \ + $${MOC_DIR}/* + diff --git a/src/src.pro b/src/src.pro index 5ffab2912..0157aa5ae 100644 --- a/src/src.pro +++ b/src/src.pro @@ -4,11 +4,11 @@ SUBDIRS = \ sub_app \ sub_lib_qmuparser -sub_lib_qmuparser.subdir = libs/qmuparser +#sub_lib_qmuparser.subdir = libs/qmuparser sub_lib_qmuparser.file = libs/qmuparser/qmuparser.pro #sub_tests.file = tests/proj.pro #sub_tests.depends = sub_lib -sub_app.subdir = app +#sub_app.subdir = app sub_app.file = app/app.pro sub_app.depends = sub_lib_qmuparser From e3593bf5772c326eb83239089ee969c2abdb5e0f Mon Sep 17 00:00:00 2001 From: dismine Date: Thu, 15 May 2014 12:35:36 +0300 Subject: [PATCH 05/32] Return new path for individual measurements table. --HG-- branch : feature --- .../app/dialogindividualmeasurements.cpp | 4 ++-- src/app/widgets/vapplication.cpp | 18 +----------------- 2 files changed, 3 insertions(+), 19 deletions(-) diff --git a/src/app/dialogs/app/dialogindividualmeasurements.cpp b/src/app/dialogs/app/dialogindividualmeasurements.cpp index 6afe70b72..234bdb4b2 100644 --- a/src/app/dialogs/app/dialogindividualmeasurements.cpp +++ b/src/app/dialogs/app/dialogindividualmeasurements.cpp @@ -90,8 +90,8 @@ void DialogIndividualMeasurements::DialogAccepted() } //just in case - VDomDocument::ValidateXML("://schema/individual_measurements.xsd", "://tables/individual/individual.vit"); - QFile iMeasur("://tables/individual/individual.vit"); + VDomDocument::ValidateXML("://schema/individual_measurements.xsd", qApp->pathToTables()); + QFile iMeasur(qApp->pathToTables()); //TODO maybe make copy save? if ( iMeasur.copy(_tablePath) == false ) { diff --git a/src/app/widgets/vapplication.cpp b/src/app/widgets/vapplication.cpp index 64fe47382..064b89958 100644 --- a/src/app/widgets/vapplication.cpp +++ b/src/app/widgets/vapplication.cpp @@ -146,23 +146,7 @@ QString VApplication::pathToTables() const { if (_patternType == Pattern::Individual) { - #ifdef Q_OS_WIN - return QApplication::applicationDirPath() + QStringLiteral("/tables/individual"); - #else - #ifdef QT_DEBUG - return QApplication::applicationDirPath() + QStringLiteral("/tables/individual"); - #else - QDir dir(QApplication::applicationDirPath() + QStringLiteral("/tables/individual")); - if(dir.exist()) - { - return dir.absolutePath(); - } - else - { - return QStringLiteral("/usr/share/valentina/tables/individual"); - } - #endif - #endif + return "://tables/individual/individual.vit"; } else { From aea360d8de1d3d28b8f7a16738a7c95436e41fa8 Mon Sep 17 00:00:00 2001 From: dismine Date: Thu, 15 May 2014 12:47:08 +0300 Subject: [PATCH 06/32] Fixed Issue #151. --HG-- branch : feature --- src/app/options.cpp | 7 +++++-- src/app/options.h | 4 ++-- src/app/widgets/vapplication.cpp | 6 +++--- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/app/options.cpp b/src/app/options.cpp index 564378961..789858892 100644 --- a/src/app/options.cpp +++ b/src/app/options.cpp @@ -28,6 +28,7 @@ #include "options.h" +//measurements const QString headGirth = QStringLiteral("head_girth"); const QString midNeckGirth = QStringLiteral("mid_neck_girth"); const QString neckBaseGirth = QStringLiteral("neck_base_girth"); @@ -63,8 +64,8 @@ const QString frontShoulderToWaistLength = QStringLiteral("front_shoulder_to_wa const QString backShoulderToWaistLength = QStringLiteral("back_shoulder_to_waist_length"); const QString frontNeckArc = QStringLiteral("front_neck_arc"); const QString backNeckArc = QStringLiteral("back_neck_arc"); -const QString frontUpperBustArc = QStringLiteral("front_upper_bust_arc"); -const QString backUpperBustArc = QStringLiteral("back_upper_bust_arc"); +const QString frontUpperChestArc = QStringLiteral("front_upper_chest_arc"); +const QString backUpperChestArc = QStringLiteral("back_upper_chest_arc"); const QString frontWaistArc = QStringLiteral("front_waist_arc"); const QString backWaistArc = QStringLiteral("back_waist_arc"); const QString frontUpperHipArc = QStringLiteral("front_upper_hip_arc"); @@ -109,12 +110,14 @@ const QString waistToHipHeight = QStringLiteral("waist_to_hip_height" const QString waistToKneeHeight = QStringLiteral("waist_to_knee_height"); const QString crotchHeight = QStringLiteral("crotch_height"); +//variables const QString line_ = QStringLiteral("Line_"); const QString angleLine_ = QStringLiteral("AngleLine_"); const QString arc_ = QStringLiteral("Arc_"); const QString spl_ = QStringLiteral("Spl_"); const QString splPath = QStringLiteral("splPath"); +//functions const QString sin_F = QStringLiteral("sin"); const QString cos_F = QStringLiteral("cos"); const QString tan_F = QStringLiteral("tan"); diff --git a/src/app/options.h b/src/app/options.h index 08fc5bd09..bbc2323e7 100644 --- a/src/app/options.h +++ b/src/app/options.h @@ -148,8 +148,8 @@ extern const QString frontShoulderToWaistLength; extern const QString backShoulderToWaistLength; extern const QString frontNeckArc; extern const QString backNeckArc; -extern const QString frontUpperBustArc; -extern const QString backUpperBustArc; +extern const QString frontUpperChestArc; +extern const QString backUpperChestArc; extern const QString frontWaistArc; extern const QString backWaistArc; extern const QString frontUpperHipArc; diff --git a/src/app/widgets/vapplication.cpp b/src/app/widgets/vapplication.cpp index 064b89958..23132be74 100644 --- a/src/app/widgets/vapplication.cpp +++ b/src/app/widgets/vapplication.cpp @@ -146,7 +146,7 @@ QString VApplication::pathToTables() const { if (_patternType == Pattern::Individual) { - return "://tables/individual/individual.vit"; + return QStringLiteral("://tables/individual/individual.vit"); } else { @@ -317,9 +317,9 @@ void VApplication::InitMeasurements() InitMeasurement(backNeckArc, QStringLiteral("Back Neck arc"), QStringLiteral("NeckPoint to NeckPoint across Nape")); - InitMeasurement(frontUpperBustArc, QStringLiteral("front_upper-bust_arc"), QStringLiteral("front_upper-bust_arc")); + InitMeasurement(frontUpperChestArc, QStringLiteral("front_upper-bust_arc"), QStringLiteral("front_upper-bust_arc")); - InitMeasurement(backUpperBustArc, QStringLiteral("Back UpperBust arc"), + InitMeasurement(backUpperChestArc, QStringLiteral("Back UpperBust arc"), QStringLiteral("Back UpperBust side to side")); InitMeasurement(frontWaistArc, QStringLiteral("Front Waist arc"), QStringLiteral("Front Waist side to side")); From f2cc874e7ea13d50e5e05375e0038102fbc93322 Mon Sep 17 00:00:00 2001 From: dismine Date: Thu, 15 May 2014 16:18:31 +0300 Subject: [PATCH 07/32] Initial extended measurements. --HG-- branch : feature --- src/app/options.cpp | 50 +++++++++++ src/app/options.h | 49 +++++++++++ src/app/widgets/vapplication.cpp | 141 +++++++++++++++++++++++++++++++ 3 files changed, 240 insertions(+) diff --git a/src/app/options.cpp b/src/app/options.cpp index 789858892..6f9f270ff 100644 --- a/src/app/options.cpp +++ b/src/app/options.cpp @@ -109,6 +109,56 @@ const QString hipHeight = QStringLiteral("hip_height"); const QString waistToHipHeight = QStringLiteral("waist_to_hip_height"); const QString waistToKneeHeight = QStringLiteral("waist_to_knee_height"); const QString crotchHeight = QStringLiteral("crotch_height"); +//extended measurements +const QString heightFrontNeckBasePoint = QStringLiteral("height_front_neck_base_point"); +const QString heightBaseNeckSidePoint = QStringLiteral("height_base_neck_side_point"); +const QString heightShoulderPoint = QStringLiteral("height_shoulder_point"); +const QString heightNipplePoint = QStringLiteral("height_nipple_point"); +const QString heightBackAngleAxilla = QStringLiteral("height_back_angle_axilla"); +const QString heightScapularPoint = QStringLiteral("height_scapular_point"); +const QString heightUnderButtockFolds = QStringLiteral("height_under_buttock_folds"); +const QString hipsExcludingProtrudingAbdomen = QStringLiteral("hips_excluding_protruding_abdomen"); +const QString girthFootInstep = QStringLiteral("girth_foot_instep"); +const QString sideWaistToFloor = QStringLiteral("side_waist_to_floor"); +const QString frontWaistToFloor = QStringLiteral("front_waist_to_floor"); +const QString arcThroughGroinArea = QStringLiteral("arc_through_groin_area"); +const QString waistToPlaneSeat = QStringLiteral("waist_to_plane_seat"); +const QString neckToRadialPoint = QStringLiteral("neck_to_radial_point"); +const QString neckToThirdFinger = QStringLiteral("neck_to_third_finger"); +const QString neckToFirstLineChestCircumference = QStringLiteral("neck_to_first_line_chest_circumference"); +const QString frontWaistLength = QStringLiteral("front_waist_length"); +const QString arcThroughShoulderJoint = QStringLiteral("arc_through_shoulder_joint"); +const QString neckToBackLineChestCircumference = QStringLiteral("neck_to_back_line_chest_circumference"); +const QString waistToNeckSide = QStringLiteral("waist_to_neck_side"); +const QString arcLengthUpperBody = QStringLiteral("arc_length_upper_body"); +const QString chestWidth = QStringLiteral("chest_width"); +const QString anteroposteriorDiameterHands = QStringLiteral("anteroposterior_diameter_hands"); +const QString heightClavicularPoint = QStringLiteral("height_clavicular_point"); +const QString heightArmholeSlash = QStringLiteral("height_armhole_slash"); +const QString slashShoulderHeight = QStringLiteral("slash_shoulder_height"); +const QString halfGirthNeck = QStringLiteral("half_girth_neck"); +const QString halfGirthNeckForShirts = QStringLiteral("half_girth_neck_for_shirts"); +const QString halfGirthChestFirst = QStringLiteral("half_girth_chest_first"); +const QString halfGirthChestSecond = QStringLiteral("half_girth_chest_second"); +const QString halfGirthChestThird = QStringLiteral("half_girth_chest_third"); +const QString halfGirthWaist = QStringLiteral("half_girth_waist"); +const QString halfGirthHipsConsideringProtrudingAbdomen += QStringLiteral("half_girth_hips_considering_protruding_abdomen"); +const QString halfGirthHipsExcludingProtrudingAbdomen = QStringLiteral("half_girth_hips_excluding_protruding_abdomen"); +const QString girthKneeFlexedFeet = QStringLiteral("girth_knee_flexed_feet"); +const QString neckTransverseDiameter = QStringLiteral("neck_transverse_diameter"); +const QString frontSlashShoulderHeight = QStringLiteral("front_slash_shoulder_height"); +const QString neckToFrontWaistLine = QStringLiteral("neck_to_front_waist_line"); +const QString handVerticalDiameter = QStringLiteral("hand_vertical_diameter"); +const QString neckToKneePoint = QStringLiteral("neck_to_knee_point"); +const QString waistToKnee = QStringLiteral("waist_to_knee"); +const QString shoulderHeight = QStringLiteral("shoulder_height"); +const QString headHeight = QStringLiteral("head_height"); +const QString bodyPosition = QStringLiteral("body_position"); +const QString arcBehindShoulderGirdle = QStringLiteral("arc_behind_shoulder_girdle"); +const QString neckToNeckBase = QStringLiteral("neck_to_neck_base"); +const QString depthWaistFirst = QStringLiteral("depth_waist_first"); +const QString depthWaistSecond = QStringLiteral("depth_waist_second"); //variables const QString line_ = QStringLiteral("Line_"); diff --git a/src/app/options.h b/src/app/options.h index bbc2323e7..ba971440f 100644 --- a/src/app/options.h +++ b/src/app/options.h @@ -193,6 +193,55 @@ extern const QString hipHeight; extern const QString waistToHipHeight; extern const QString waistToKneeHeight; extern const QString crotchHeight; +//extended measurements +extern const QString heightFrontNeckBasePoint; +extern const QString heightBaseNeckSidePoint; +extern const QString heightShoulderPoint; +extern const QString heightNipplePoint; +extern const QString heightBackAngleAxilla; +extern const QString heightScapularPoint; +extern const QString heightUnderButtockFolds; +extern const QString hipsExcludingProtrudingAbdomen; +extern const QString girthFootInstep; +extern const QString sideWaistToFloor; +extern const QString frontWaistToFloor; +extern const QString arcThroughGroinArea; +extern const QString waistToPlaneSeat; +extern const QString neckToRadialPoint; +extern const QString neckToThirdFinger; +extern const QString neckToFirstLineChestCircumference; +extern const QString frontWaistLength; +extern const QString arcThroughShoulderJoint; +extern const QString neckToBackLineChestCircumference; +extern const QString waistToNeckSide; +extern const QString arcLengthUpperBody; +extern const QString chestWidth; +extern const QString anteroposteriorDiameterHands; +extern const QString heightClavicularPoint; +extern const QString heightArmholeSlash; +extern const QString slashShoulderHeight; +extern const QString halfGirthNeck; +extern const QString halfGirthNeckForShirts; +extern const QString halfGirthChestFirst; +extern const QString halfGirthChestSecond; +extern const QString halfGirthChestThird; +extern const QString halfGirthWaist; +extern const QString halfGirthHipsConsideringProtrudingAbdomen; +extern const QString halfGirthHipsExcludingProtrudingAbdomen; +extern const QString girthKneeFlexedFeet; +extern const QString neckTransverseDiameter; +extern const QString frontSlashShoulderHeight; +extern const QString neckToFrontWaistLine; +extern const QString handVerticalDiameter; +extern const QString neckToKneePoint; +extern const QString waistToKnee; +extern const QString shoulderHeight; +extern const QString headHeight; +extern const QString bodyPosition; +extern const QString arcBehindShoulderGirdle; +extern const QString neckToNeckBase; +extern const QString depthWaistFirst; +extern const QString depthWaistSecond; // variables name extern const QString line_; diff --git a/src/app/widgets/vapplication.cpp b/src/app/widgets/vapplication.cpp index 23132be74..6f849e518 100644 --- a/src/app/widgets/vapplication.cpp +++ b/src/app/widgets/vapplication.cpp @@ -425,6 +425,147 @@ void VApplication::InitMeasurements() InitMeasurement(crotchHeight, QStringLiteral("Crotch height/Inseam"), QStringLiteral("Crotch to Floor along inside leg")); + //extended + InitMeasurement(heightFrontNeckBasePoint, QStringLiteral("Height front neck base point"), + QStringLiteral("Height of the point base of the neck in front")); + + InitMeasurement(heightBaseNeckSidePoint, QStringLiteral("Height base neck side point"), + QStringLiteral("Height of the base of the neck side point")); + + InitMeasurement(heightShoulderPoint, QStringLiteral("Height shoulder point"), + QStringLiteral("The height of the shoulder point")); + + InitMeasurement(heightNipplePoint, QStringLiteral("Height nipple point"), QStringLiteral("Height nipple point")); + + InitMeasurement(heightBackAngleAxilla, QStringLiteral("Height back angle axilla"), + QStringLiteral("Height back angle axilla")); + + InitMeasurement(heightScapularPoint, QStringLiteral("Height scapular point"), + QStringLiteral("Height scapular point")); + + InitMeasurement(heightUnderButtockFolds, QStringLiteral("Height under buttock folds"), + QStringLiteral("Height under buttock folds")); + + InitMeasurement(hipsExcludingProtrudingAbdomen, QStringLiteral("Hips excluding protruding abdomen"), + QStringLiteral("Hips excluding protruding abdomen")); + + InitMeasurement(girthFootInstep, QStringLiteral("Girth foot instep"), QStringLiteral("Girth foot instep")); + + InitMeasurement(sideWaistToFloor, QStringLiteral("Side waist to floor"), + QStringLiteral("The distance from the side waist to floor")); + + InitMeasurement(frontWaistToFloor, QStringLiteral("Front waist to floor"), + QStringLiteral("The distance from the front waist to floor")); + + InitMeasurement(arcThroughGroinArea, QStringLiteral("Arc through groin area"), + QStringLiteral("Arc through groin area")); + + InitMeasurement(waistToPlaneSeat, QStringLiteral("Waist to plane seat"), + QStringLiteral("The distance from the waist to the plane seat")); + + InitMeasurement(neckToRadialPoint, QStringLiteral("Neck to radial point"), + QStringLiteral("The distance from the base of the neck to the side of the radial point")); + + InitMeasurement(neckToThirdFinger, QStringLiteral("Neck to third finger"), + QStringLiteral("Distance from the base of the neck side point to the end of the third finger")); + + InitMeasurement(neckToFirstLineChestCircumference, QStringLiteral("Neck to first line chest circumference"), + QStringLiteral("The distance from the base of the neck to the side of the first line in front of " + "chest circumference")); + + InitMeasurement(frontWaistLength, QStringLiteral("Front waist length"), + QStringLiteral("The distance from the base of the neck to the waist side front (waist length in " + "the front)")); + + InitMeasurement(arcThroughShoulderJoint, QStringLiteral("Arc through shoulder joint"), + QStringLiteral("Arc through the highest point of the shoulder joint")); + + InitMeasurement(neckToBackLineChestCircumference, QStringLiteral("Neck to back line chest circumference"), + QStringLiteral("The distance from the base of the neck to the back line of chest circumference of " + "the first and the second based on ledge vanes")); + + InitMeasurement(waistToNeckSide, QStringLiteral("Waist to neck side"), + QStringLiteral("The distance from the waist to the back base of the neck side point")); + + InitMeasurement(arcLengthUpperBody, QStringLiteral("Arc length upper body"), + QStringLiteral("Arc length of the upper body through the base of the neck side point")); + + InitMeasurement(chestWidth, QStringLiteral("Chest width"), QStringLiteral("Chest width")); + + InitMeasurement(anteroposteriorDiameterHands, QStringLiteral("Anteroposterior diameter hands"), + QStringLiteral("Anteroposterior diameter of the hands")); + + InitMeasurement(heightClavicularPoint, QStringLiteral("Height clavicular point"), + QStringLiteral("Height clavicular point")); + + InitMeasurement(heightArmholeSlash, QStringLiteral("Height armhole slash"), + QStringLiteral("The distance from the point to the cervical level of the posterior angle of the " + "front armpit (underarm height oblique)")); + + InitMeasurement(slashShoulderHeight, QStringLiteral("Slash shoulder height"), + QStringLiteral("Slash shoulder height")); + + InitMeasurement(halfGirthNeck, QStringLiteral("Half girth neck"), QStringLiteral("Half girth neck")); + + InitMeasurement(halfGirthNeckForShirts, QStringLiteral("Half girth neck for shirts"), + QStringLiteral("Half girth neck for shirts")); + + InitMeasurement(halfGirthChestFirst, QStringLiteral("Half girth chest first"), + QStringLiteral("Half girth chest first")); + + InitMeasurement(halfGirthChestSecond, QStringLiteral("Half girth chest second"), + QStringLiteral("Half girth chest second")); + + InitMeasurement(halfGirthChestThird, QStringLiteral("Half girth chest third"), + QStringLiteral("Half girth chest third")); + + InitMeasurement(halfGirthWaist, QStringLiteral("Half girth waist"), QStringLiteral("Half girth waist")); + + InitMeasurement(halfGirthHipsConsideringProtrudingAbdomen, + QStringLiteral("Half girth hips considering protruding abdomen"), + QStringLiteral("Half girth hips considering protruding abdomen")); + + InitMeasurement(halfGirthHipsExcludingProtrudingAbdomen, + QStringLiteral("Half girth hips excluding protruding abdomen"), + QStringLiteral("Half girth hips excluding protruding abdomen")); + + InitMeasurement(girthKneeFlexedFeet, QStringLiteral("Girth knee flexed feet"), + QStringLiteral("Girth knee flexed feet")); + + InitMeasurement(neckTransverseDiameter, QStringLiteral("Neck transverse diameter"), + QStringLiteral("Neck transverse diameter")); + + InitMeasurement(frontSlashShoulderHeight, QStringLiteral("Front slash shoulder height"), + QStringLiteral("Front slash shoulder height")); + + InitMeasurement(neckToFrontWaistLine, QStringLiteral("Neck to front waist line"), + QStringLiteral("The distance from the base of the neck to the waist line front")); + + InitMeasurement(handVerticalDiameter, QStringLiteral("Hand vertical diameter"), + QStringLiteral("Hand vertical diameter")); + + InitMeasurement(neckToKneePoint, QStringLiteral("Neck to knee point"), + QStringLiteral("Distance from neck to knee point")); + + InitMeasurement(waistToKnee, QStringLiteral("Waist to knee"), + QStringLiteral("The distance from the waist to the knee")); + + InitMeasurement(shoulderHeight, QStringLiteral("Shoulder height"), QStringLiteral("Shoulder height")); + + InitMeasurement(headHeight, QStringLiteral("Head height"), QStringLiteral("Head height")); + + InitMeasurement(bodyPosition, QStringLiteral("Body position"), QStringLiteral("Body position")); + + InitMeasurement(arcBehindShoulderGirdle, QStringLiteral("Arc behind shoulder girdle"), + QStringLiteral("Arc behind the shoulder girdle")); + + InitMeasurement(neckToNeckBase, QStringLiteral("Neck to neck base"), + QStringLiteral("Distance from neck point to point on the base of the neck side neck girth " + "measurement line")); + + InitMeasurement(depthWaistFirst, QStringLiteral("Depth waist first"), QStringLiteral("Depth waist first")); + + InitMeasurement(depthWaistSecond, QStringLiteral("Depth waist second"), QStringLiteral("Depth waist second")); } //--------------------------------------------------------------------------------------------------------------------- From 3fc99547fbe8e3888038d35c8b820b763d4e6671 Mon Sep 17 00:00:00 2001 From: dismine Date: Fri, 16 May 2014 13:00:33 +0300 Subject: [PATCH 08/32] Change for reading individual measurements. --HG-- branch : feature --- src/app/container/vmeasurement.cpp | 9 +- src/app/container/vmeasurement.h | 11 - src/app/options.cpp | 1 + src/app/options.h | 1 + .../schema/individual_measurements.xsd | 16 +- .../schema/standard_measurements.xsd | 16 +- .../tables/individual/individual.vit | 14 +- .../resources/tables/standard/GOST_man_ru.vst | 14 +- src/app/widgets/vapplication.cpp | 38 ++- src/app/widgets/vapplication.h | 11 +- src/app/widgets/vtranslation.cpp | 9 +- src/app/widgets/vtranslation.h | 1 + src/app/xml/vindividualmeasurements.cpp | 271 +++++++++--------- src/app/xml/vindividualmeasurements.h | 9 - 14 files changed, 219 insertions(+), 202 deletions(-) diff --git a/src/app/container/vmeasurement.cpp b/src/app/container/vmeasurement.cpp index e39460e61..b52b6e858 100644 --- a/src/app/container/vmeasurement.cpp +++ b/src/app/container/vmeasurement.cpp @@ -30,21 +30,18 @@ //--------------------------------------------------------------------------------------------------------------------- VMeasurement::VMeasurement() - :base(0), ksize(50.0), kheight(176.0), gui_text(QString()), number(QString()), virtualM(false), - _tagName(QString()) + :base(0), ksize(50.0), kheight(176.0), gui_text(QString()), number(QString()), _tagName(QString()) {} //--------------------------------------------------------------------------------------------------------------------- VMeasurement::VMeasurement(const qreal &base, const qreal &ksize, const qreal &kgrowth, const QString &gui_text, const QString &number, const QString &tagName) - :base(base), ksize(ksize), kheight(kgrowth), gui_text(gui_text), number(number), virtualM(false), - _tagName(tagName) + :base(base), ksize(ksize), kheight(kgrowth), gui_text(gui_text), number(number), _tagName(tagName) {} //--------------------------------------------------------------------------------------------------------------------- VMeasurement::VMeasurement(const qreal &base, const QString &gui_text, const QString &number, const QString &tagName) - :base(base), ksize(50.0), kheight(176.0), gui_text(gui_text), number(number), virtualM(false), - _tagName(tagName) + :base(base), ksize(50.0), kheight(176.0), gui_text(gui_text), number(number), _tagName(tagName) {} //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/container/vmeasurement.h b/src/app/container/vmeasurement.h index c4071a086..cf5ed3dc2 100644 --- a/src/app/container/vmeasurement.h +++ b/src/app/container/vmeasurement.h @@ -100,7 +100,6 @@ private: */ QString gui_text; QString number; - bool virtualM; QString _tagName; }; @@ -144,14 +143,4 @@ inline void VMeasurement::setTagName(const QString &tagName) _tagName = tagName; } -inline bool VMeasurement::Virtual() const -{ - return virtualM; -} - -inline void VMeasurement::setVirtual(bool value) -{ - virtualM = value; -} - #endif // VSTANDARDTABLEROW_H diff --git a/src/app/options.cpp b/src/app/options.cpp index 6f9f270ff..7098b299e 100644 --- a/src/app/options.cpp +++ b/src/app/options.cpp @@ -110,6 +110,7 @@ const QString waistToHipHeight = QStringLiteral("waist_to_hip_height" const QString waistToKneeHeight = QStringLiteral("waist_to_knee_height"); const QString crotchHeight = QStringLiteral("crotch_height"); //extended measurements +const QString size = QStringLiteral("size"); const QString heightFrontNeckBasePoint = QStringLiteral("height_front_neck_base_point"); const QString heightBaseNeckSidePoint = QStringLiteral("height_base_neck_side_point"); const QString heightShoulderPoint = QStringLiteral("height_shoulder_point"); diff --git a/src/app/options.h b/src/app/options.h index ba971440f..37dfe1c1f 100644 --- a/src/app/options.h +++ b/src/app/options.h @@ -194,6 +194,7 @@ extern const QString waistToHipHeight; extern const QString waistToKneeHeight; extern const QString crotchHeight; //extended measurements +extern const QString size; extern const QString heightFrontNeckBasePoint; extern const QString heightBaseNeckSidePoint; extern const QString heightShoulderPoint; diff --git a/src/app/share/resources/schema/individual_measurements.xsd b/src/app/share/resources/schema/individual_measurements.xsd index ff023bcc2..17579d79f 100644 --- a/src/app/share/resources/schema/individual_measurements.xsd +++ b/src/app/share/resources/schema/individual_measurements.xsd @@ -83,7 +83,7 @@ - + @@ -203,12 +203,12 @@ - + - + @@ -223,12 +223,12 @@ - + - + @@ -263,12 +263,12 @@ - + - + @@ -289,7 +289,7 @@ - + diff --git a/src/app/share/resources/schema/standard_measurements.xsd b/src/app/share/resources/schema/standard_measurements.xsd index 4d882d847..0d6a97418 100644 --- a/src/app/share/resources/schema/standard_measurements.xsd +++ b/src/app/share/resources/schema/standard_measurements.xsd @@ -108,7 +108,7 @@ - + @@ -276,14 +276,14 @@ - + - + @@ -304,14 +304,14 @@ - + - + @@ -360,14 +360,14 @@ - + - + @@ -394,7 +394,7 @@ - + diff --git a/src/app/share/resources/tables/individual/individual.vit b/src/app/share/resources/tables/individual/individual.vit index 998e4430c..64fdba86f 100644 --- a/src/app/share/resources/tables/individual/individual.vit +++ b/src/app/share/resources/tables/individual/individual.vit @@ -48,25 +48,25 @@ - - + + - - + + - - + + - + diff --git a/src/app/share/resources/tables/standard/GOST_man_ru.vst b/src/app/share/resources/tables/standard/GOST_man_ru.vst index 9f73960dd..0240a7df5 100644 --- a/src/app/share/resources/tables/standard/GOST_man_ru.vst +++ b/src/app/share/resources/tables/standard/GOST_man_ru.vst @@ -44,25 +44,25 @@ - - + + - - + + - - + + - + diff --git a/src/app/widgets/vapplication.cpp b/src/app/widgets/vapplication.cpp index 6f849e518..4d0ba00d8 100644 --- a/src/app/widgets/vapplication.cpp +++ b/src/app/widgets/vapplication.cpp @@ -45,7 +45,7 @@ const qreal VApplication::PrintDPI = 96.0; VApplication::VApplication(int &argc, char **argv) : QApplication(argc, argv), _patternUnit(Valentina::Cm), _patternType(Pattern::Individual), _widthMainLine(DefWidth), _widthHairLine(DefWidth/3.0), measurements(QMap()), - guiText(QMap()), description(QMap()), + guiTexts(QMap()), descriptions(QMap()), variables(QMap()), functions(QMap()) { InitLineWidth(); @@ -569,7 +569,7 @@ void VApplication::InitMeasurements() } //--------------------------------------------------------------------------------------------------------------------- -void VApplication::InitMeasurement(const QString &measurement, const QString &guiTxt, const QString &desc) +void VApplication::InitMeasurement(const QString &measurement, const QString &guiText, const QString &desc) { const QString context = QStringLiteral("Measurements"); const QString disambiguation1 = QStringLiteral("Short measurement name. Don't use math symbols in name!!!!"); @@ -577,8 +577,8 @@ void VApplication::InitMeasurement(const QString &measurement, const QString &gu const QString disambiguation3 = QStringLiteral("Full measurement description"); measurements.insert(measurement, VTranslation::translate(context, measurement, disambiguation1)); - guiText.insert(measurement, VTranslation::translate(context, guiTxt, disambiguation2)); - description.insert(measurement, VTranslation::translate(context, desc, disambiguation3)); + guiTexts.insert(measurement, VTranslation::translate(context, guiText, disambiguation2)); + descriptions.insert(measurement, VTranslation::translate(context, desc, disambiguation3)); } //--------------------------------------------------------------------------------------------------------------------- @@ -636,3 +636,33 @@ void VApplication::setPatternUnit(const Valentina::Units &patternUnit) _patternUnit = patternUnit; InitLineWidth(); } + +//--------------------------------------------------------------------------------------------------------------------- +QString VApplication::Measurement(const QString &measurement) const +{ + return measurements.value(measurement).translate(); +} + +//--------------------------------------------------------------------------------------------------------------------- +QString VApplication::GuiText(const QString &measurement) const +{ + return guiTexts.value(measurement).translate(); +} + +//--------------------------------------------------------------------------------------------------------------------- +QString VApplication::Description(const QString &measurement) const +{ + return descriptions.value(measurement).translate(); +} + +//--------------------------------------------------------------------------------------------------------------------- +QString VApplication::Variable(const QString &name) const +{ + return variables.value(name).translate(); +} + +//--------------------------------------------------------------------------------------------------------------------- +QString VApplication::Function(const QString &name) const +{ + return functions.value(name).translate(); +} diff --git a/src/app/widgets/vapplication.h b/src/app/widgets/vapplication.h index 8ac8c4ec5..63d2e763b 100644 --- a/src/app/widgets/vapplication.h +++ b/src/app/widgets/vapplication.h @@ -72,19 +72,24 @@ public: QString pathToTables() const; qreal widthMainLine() const; qreal widthHairLine() const; + QString Measurement(const QString &measurement) const; + QString GuiText(const QString &measurement) const; + QString Description(const QString &measurement) const; + QString Variable(const QString &name) const; + QString Function(const QString &name) const; private: Valentina::Units _patternUnit; Pattern::Measurements _patternType; qreal _widthMainLine; qreal _widthHairLine; QMap measurements; - QMap guiText; - QMap description; + QMap guiTexts; + QMap descriptions; QMap variables; QMap functions; void InitLineWidth(); void InitMeasurements(); - void InitMeasurement(const QString &measurement, const QString &guiTxt, const QString & desc); + void InitMeasurement(const QString &measurement, const QString &guiText, const QString & desc); void InitVariables(); void InitFunctions(); diff --git a/src/app/widgets/vtranslation.cpp b/src/app/widgets/vtranslation.cpp index d03a78683..be675def7 100644 --- a/src/app/widgets/vtranslation.cpp +++ b/src/app/widgets/vtranslation.cpp @@ -40,12 +40,15 @@ VTranslation VTranslation::translate(const QString &context, const QString &sour return t; } +//--------------------------------------------------------------------------------------------------------------------- +VTranslation::VTranslation() + :mcontext(QString()), msourceText(QString()), mdisambiguation(QString()), mn(-1) +{} + //--------------------------------------------------------------------------------------------------------------------- VTranslation::VTranslation(const QString &context, const QString &sourceText, const QString &disambiguation, int n) :mcontext(context), msourceText(sourceText), mdisambiguation(disambiguation), mn(n) -{ - mn = -1; -} +{} //--------------------------------------------------------------------------------------------------------------------- QString VTranslation::VTranslation::translate() const diff --git a/src/app/widgets/vtranslation.h b/src/app/widgets/vtranslation.h index 2017be0f2..f36cdf45a 100644 --- a/src/app/widgets/vtranslation.h +++ b/src/app/widgets/vtranslation.h @@ -50,6 +50,7 @@ class VTranslation { public: + VTranslation(); VTranslation(const QString &context, const QString &sourceText, const QString &disambiguation = 0, int n = -1); QString translate() const; static VTranslation translate(const QString &context, const QString &sourceText, const QString &disambiguation = 0, diff --git a/src/app/xml/vindividualmeasurements.cpp b/src/app/xml/vindividualmeasurements.cpp index 57a98d5f9..8a6ceaefe 100644 --- a/src/app/xml/vindividualmeasurements.cpp +++ b/src/app/xml/vindividualmeasurements.cpp @@ -27,22 +27,15 @@ *************************************************************************/ #include "vindividualmeasurements.h" +#include "../widgets/vapplication.h" -const QString VIndividualMeasurements::AttrIgnore = QStringLiteral("ignore"); -const QString VIndividualMeasurements::AttrName = QStringLiteral("name"); -const QString VIndividualMeasurements::AttrM_number = QStringLiteral("m_number"); -const QString VIndividualMeasurements::AttrGui_text = QStringLiteral("gui_text"); const QString VIndividualMeasurements::AttrValue = QStringLiteral("value"); -const QString VIndividualMeasurements::AttrDescription = QStringLiteral("description"); - -const QString VIndividualMeasurements::TagLang = QStringLiteral("lang"); const QString VIndividualMeasurements::TagFamily_name = QStringLiteral("family-name"); const QString VIndividualMeasurements::TagGiven_name = QStringLiteral("given-name"); const QString VIndividualMeasurements::TagBirth_date = QStringLiteral("birth-date"); const QString VIndividualMeasurements::TagSex = QStringLiteral("sex"); const QString VIndividualMeasurements::TagUnit = QStringLiteral("unit"); -const QString VIndividualMeasurements::TagEmail = QStringLiteral("email"); - +const QString VIndividualMeasurements::TagEmail = QStringLiteral("email"); const QString VIndividualMeasurements::SexMale = QStringLiteral("male"); const QString VIndividualMeasurements::SexFemale = QStringLiteral("female"); @@ -67,92 +60,142 @@ void VIndividualMeasurements::setUnit(const Valentina::Units &unit) void VIndividualMeasurements::Measurements() { //head and neck - Measurement("head_girth"); - Measurement("mid_neck_girth"); - Measurement("neck_base_girth"); - Measurement("head_and_neck_length"); + Measurement(headGirth); + Measurement(midNeckGirth); + Measurement(neckBaseGirth); + Measurement(headAndNeckLength); //torso - Measurement("center_front_waist_length"); - Measurement("center_back_waist_length"); - Measurement("shoulder_length"); - Measurement("side_waist_length"); - Measurement("trunk_length"); - Measurement("shoulder_girth"); - Measurement("upper_chest_girth"); - Measurement("bust__girth"); - Measurement("under_bust_girth"); - Measurement("waist_girth"); - Measurement("high_hip_girth"); - Measurement("hip_girth"); - Measurement("upper_front_chest_width"); - Measurement("front_chest_width"); - Measurement("across_front_shoulder_width"); - Measurement("across_back_shoulder_width"); - Measurement("upper_back_width"); - Measurement("back_width"); - Measurement("bustpoint_to_bustpoint"); - Measurement("halter_bustpoint_to_bustpoint"); - Measurement("neck_to_bustpoint"); - Measurement("crotch_length"); - Measurement("rise_height"); - Measurement("shoulder_drop"); - Measurement("shoulder_slope_degrees"); - Measurement("front_shoulder_slope_length"); - Measurement("back_shoulder_slope_length"); - Measurement("front_shoulder_to_waist_length"); - Measurement("back_shoulder_to_waist_length"); - Measurement("front_neck_arc"); - Measurement("back_neck_arc"); - Measurement("front_upper-bust_arc"); - Measurement("back_upper-bust_arc"); - Measurement("front_waist_arc"); - Measurement("back_waist_arc"); - Measurement("front_upper-hip_arc"); - Measurement("back_upper-hip_arc"); - Measurement("front_hip_arc"); - Measurement("back_hip_arc"); - Measurement("chest_slope"); - Measurement("back_slope"); - Measurement("front_waist_slope"); - Measurement("back_waist_slope"); - Measurement("front-neck_to_upper-chest_height"); - Measurement("front-neck_to_bust_height"); + Measurement(centerFrontWaistLength); + Measurement(centerBackWaistLength); + Measurement(shoulderLength); + Measurement(sideWaistLength); + Measurement(trunkLength); + Measurement(shoulderGirth); + Measurement(upperChestGirth); + Measurement(bustGirth); + Measurement(underBustGirth); + Measurement(waistGirth); + Measurement(highHipGirth); + Measurement(hipGirth); + Measurement(upperFrontChestWidth); + Measurement(frontChestWidth); + Measurement(acrossFrontShoulderWidth); + Measurement(acrossBackShoulderWidth); + Measurement(upperBackWidth); + Measurement(backWidth); + Measurement(bustpointToBustpoint); + Measurement(halterBustpointToBustpoint); + Measurement(neckToBustpoint); + Measurement(crotchLength); + Measurement(riseHeight); + Measurement(shoulderDrop); + Measurement(shoulderSlopeDegrees); + Measurement(frontShoulderSlopeLength); + Measurement(backShoulderSlopeLength); + Measurement(frontShoulderToWaistLength); + Measurement(backShoulderToWaistLength); + Measurement(frontNeckArc); + Measurement(backNeckArc); + Measurement(frontUpperChestArc); + Measurement(backUpperChestArc); + Measurement(frontWaistArc); + Measurement(backWaistArc); + Measurement(frontUpperHipArc); + Measurement(backUpperHipArc); + Measurement(frontHipArc); + Measurement(backHipArc); + Measurement(chestSlope); + Measurement(backSlope); + Measurement(frontWaistSlope); + Measurement(backWaistSlope); + Measurement(frontNeckToUpperChestHeight); + Measurement(frontNeckToBustHeight); //arm - Measurement("armscye_girth"); - Measurement("elbow_girth"); - Measurement("upper-arm_girth"); - Measurement("wrist_girth"); - Measurement("scye_depth"); - Measurement("shoulder_and_arm_length"); - Measurement("underarm_length"); - Measurement("cervicale_to_wrist_length"); - Measurement("shoulder_to_elbow_length"); - Measurement("arm_length"); + Measurement(armscyeGirth); + Measurement(elbowGirth); + Measurement(upperArmGirth); + Measurement(wristGirth); + Measurement(scyeDepth); + Measurement(shoulderAndArmLength); + Measurement(underarmLength); + Measurement(cervicaleToWristLength); + Measurement(shoulderToElbowLength); + Measurement(armLength); //hand - Measurement("hand_width"); - Measurement("hand_length"); - Measurement("hand_girth"); + Measurement(handWidth); + Measurement(handLength); + Measurement(handGirth); //leg - Measurement("thigh_girth"); - Measurement("mid_thigh_girth"); - Measurement("knee_girth"); - Measurement("calf_girth"); - Measurement("ankle_girth"); - Measurement("knee_height"); - Measurement("ankle_height"); + Measurement(thighGirth); + Measurement(midThighGirth); + Measurement(kneeGirth); + Measurement(calfGirth); + Measurement(ankleGirth); + Measurement(kneeHeight); + Measurement(ankleHeight); //foot - Measurement("foot_width"); - Measurement("foot_length"); + Measurement(footWidth); + Measurement(footLength); //heights - Measurement("height"); - Measurement("cervicale_height"); - Measurement("cervicale_to_knee_height"); - Measurement("waist_height"); - Measurement("high_hip_height"); - Measurement("hip_height"); - Measurement("waist_to_hip_height"); - Measurement("waist_to_knee_height"); - Measurement("crotch_height"); + Measurement(height); + Measurement(cervicaleHeight); + Measurement(cervicaleToKneeHeight); + Measurement(waistHeight); + Measurement(highHipHeight); + Measurement(hipHeight); + Measurement(waistToHipHeight); + Measurement(waistToKneeHeight); + Measurement(crotchHeight); + //extended + Measurement(size); + Measurement(heightFrontNeckBasePoint); + Measurement(heightBaseNeckSidePoint); + Measurement(heightShoulderPoint); + Measurement(heightNipplePoint); + Measurement(heightBackAngleAxilla); + Measurement(heightScapularPoint); + Measurement(heightUnderButtockFolds); + Measurement(hipsExcludingProtrudingAbdomen); + Measurement(girthFootInstep); + Measurement(sideWaistToFloor); + Measurement(frontWaistToFloor); + Measurement(arcThroughGroinArea); + Measurement(waistToPlaneSeat); + Measurement(neckToRadialPoint); + Measurement(neckToThirdFinger); + Measurement(neckToFirstLineChestCircumference); + Measurement(frontWaistLength); + Measurement(arcThroughShoulderJoint); + Measurement(neckToBackLineChestCircumference); + Measurement(waistToNeckSide); + Measurement(arcLengthUpperBody); + Measurement(chestWidth); + Measurement(anteroposteriorDiameterHands); + Measurement(heightClavicularPoint); + Measurement(heightArmholeSlash); + Measurement(slashShoulderHeight); + Measurement(halfGirthNeck); + Measurement(halfGirthNeckForShirts); + Measurement(halfGirthChestFirst); + Measurement(halfGirthChestSecond); + Measurement(halfGirthChestThird); + Measurement(halfGirthWaist); + Measurement(halfGirthHipsConsideringProtrudingAbdomen); + Measurement(halfGirthHipsExcludingProtrudingAbdomen); + Measurement(girthKneeFlexedFeet); + Measurement(neckTransverseDiameter); + Measurement(frontSlashShoulderHeight); + Measurement(neckToFrontWaistLine); + Measurement(handVerticalDiameter); + Measurement(neckToKneePoint); + Measurement(waistToKnee); + Measurement(shoulderHeight); + Measurement(headHeight); + Measurement(bodyPosition); + Measurement(arcBehindShoulderGirdle); + Measurement(neckToNeckBase); + Measurement(depthWaistFirst); + Measurement(depthWaistSecond); } //--------------------------------------------------------------------------------------------------------------------- @@ -172,62 +215,18 @@ void VIndividualMeasurements::Measurement(const QString &tag) const QDomElement domElement = domNode.toElement(); if (domElement.isNull() == false) { - const bool ignore = QVariant(GetParametrString(domElement, AttrIgnore, "false")).toBool(); - if (ignore) - { - return; - } - const QString name = GetParametrString(domElement, AttrName, ""); - if (name.isEmpty()) - { - return; - } - const QString m_number = GetParametrString(domElement, AttrM_number, ""); - const QString gui_text = GetParametrString(domElement, AttrGui_text, ""); - const qreal value = GetParametrDouble(domElement, AttrValue, "0.0"); - const QString description = GetParametrString(domElement, AttrDescription, ""); + qreal value = GetParametrDouble(domElement, AttrValue, "0.0"); if (Unit() == Valentina::Mm)//Convert to Cm. { - data->AddMeasurement(name, VMeasurement(value/10.0, gui_text, description, tag)); - if (m_number.isEmpty()) - { - qDebug()<<"Can't find language-independent measurement name for "<< tag; - return; - } - else - { - VMeasurement m(value/10.0, gui_text, description, tag); - m.setVirtual(true); - data->AddMeasurement(m_number, m); - } - } - else//Cm or inch. - { - data->AddMeasurement(name, VMeasurement(value, gui_text, description, tag)); - if (m_number.isEmpty()) - { - qDebug()<<"Can't find language-independent measurement name for "<< tag; - return; - } - else - { - VMeasurement m(value, gui_text, description, tag); - m.setVirtual(true); - data->AddMeasurement(m_number, m); - } + value = value / 10.0; } + data->AddMeasurement(tag, VMeasurement(value, qApp->GuiText(tag), qApp->Description(tag), tag)); } } } } -//--------------------------------------------------------------------------------------------------------------------- -QString VIndividualMeasurements::Language() const -{ - return UniqueTagText(TagLang, "en"); -} - //--------------------------------------------------------------------------------------------------------------------- QString VIndividualMeasurements::FamilyName() const { diff --git a/src/app/xml/vindividualmeasurements.h b/src/app/xml/vindividualmeasurements.h index d5894bd4a..148121bd9 100644 --- a/src/app/xml/vindividualmeasurements.h +++ b/src/app/xml/vindividualmeasurements.h @@ -42,7 +42,6 @@ public: Valentina::Units Unit() const; void setUnit(const Valentina::Units &unit); void Measurements(); - QString Language() const; QString FamilyName() const; void setFamilyName(const QString &text); QString GivenName() const; @@ -53,21 +52,13 @@ public: void setSex(const VIndividualMeasurements::Genders &sex); QString Mail() const; void setMail(const QString &text); - static const QString AttrIgnore; - static const QString AttrName; - static const QString AttrM_number; - static const QString AttrGui_text; static const QString AttrValue; - static const QString AttrDescription; - - static const QString TagLang; static const QString TagFamily_name; static const QString TagGiven_name; static const QString TagBirth_date; static const QString TagSex; static const QString TagUnit; static const QString TagEmail; - static const QString SexMale; static const QString SexFemale; From 91c7a3c9a3a783c30e4d2b2f3395cc85a77d8cb8 Mon Sep 17 00:00:00 2001 From: dismine Date: Fri, 16 May 2014 13:34:12 +0300 Subject: [PATCH 09/32] Change for reading standard measurements. --HG-- branch : feature --- src/app/xml/vstandardmeasurements.cpp | 223 ++++++++++++++++++++------ src/app/xml/vstandardmeasurements.h | 7 +- 2 files changed, 173 insertions(+), 57 deletions(-) diff --git a/src/app/xml/vstandardmeasurements.cpp b/src/app/xml/vstandardmeasurements.cpp index 334f15395..f0e970f2d 100644 --- a/src/app/xml/vstandardmeasurements.cpp +++ b/src/app/xml/vstandardmeasurements.cpp @@ -28,17 +28,14 @@ #include "vstandardmeasurements.h" #include +#include "../widgets/vapplication.h" -const QString VStandardMeasurements::TagMeasurement = QStringLiteral("measurement"); const QString VStandardMeasurements::TagDescription = QStringLiteral("description"); const QString VStandardMeasurements::TagSize = QStringLiteral("size"); const QString VStandardMeasurements::TagHeight = QStringLiteral("height"); -const QString VStandardMeasurements::AttrName = QStringLiteral("name"); -const QString VStandardMeasurements::AttrGui_text = QStringLiteral("gui_text"); -const QString VStandardMeasurements::AttrBase = QStringLiteral("base"); +const QString VStandardMeasurements::AttrValue = QStringLiteral("value"); const QString VStandardMeasurements::AttrSize_increace = QStringLiteral("size_increace"); const QString VStandardMeasurements::AttrHeight_increase = QStringLiteral("height_increase"); -const QString VStandardMeasurements::AttrNumber = QStringLiteral("number"); //--------------------------------------------------------------------------------------------------------------------- VStandardMeasurements::VStandardMeasurements(VContainer *data):VDomDocument(data) @@ -65,43 +62,173 @@ QString VStandardMeasurements::Description() //--------------------------------------------------------------------------------------------------------------------- void VStandardMeasurements::Measurements() { - const QDomNodeList nodeList = this->elementsByTagName(TagMeasurement); + //head and neck + Measurement(headGirth); + Measurement(midNeckGirth); + Measurement(neckBaseGirth); + Measurement(headAndNeckLength); + //torso + Measurement(centerFrontWaistLength); + Measurement(centerBackWaistLength); + Measurement(shoulderLength); + Measurement(sideWaistLength); + Measurement(trunkLength); + Measurement(shoulderGirth); + Measurement(upperChestGirth); + Measurement(bustGirth); + Measurement(underBustGirth); + Measurement(waistGirth); + Measurement(highHipGirth); + Measurement(hipGirth); + Measurement(upperFrontChestWidth); + Measurement(frontChestWidth); + Measurement(acrossFrontShoulderWidth); + Measurement(acrossBackShoulderWidth); + Measurement(upperBackWidth); + Measurement(backWidth); + Measurement(bustpointToBustpoint); + Measurement(halterBustpointToBustpoint); + Measurement(neckToBustpoint); + Measurement(crotchLength); + Measurement(riseHeight); + Measurement(shoulderDrop); + Measurement(shoulderSlopeDegrees); + Measurement(frontShoulderSlopeLength); + Measurement(backShoulderSlopeLength); + Measurement(frontShoulderToWaistLength); + Measurement(backShoulderToWaistLength); + Measurement(frontNeckArc); + Measurement(backNeckArc); + Measurement(frontUpperChestArc); + Measurement(backUpperChestArc); + Measurement(frontWaistArc); + Measurement(backWaistArc); + Measurement(frontUpperHipArc); + Measurement(backUpperHipArc); + Measurement(frontHipArc); + Measurement(backHipArc); + Measurement(chestSlope); + Measurement(backSlope); + Measurement(frontWaistSlope); + Measurement(backWaistSlope); + Measurement(frontNeckToUpperChestHeight); + Measurement(frontNeckToBustHeight); + //arm + Measurement(armscyeGirth); + Measurement(elbowGirth); + Measurement(upperArmGirth); + Measurement(wristGirth); + Measurement(scyeDepth); + Measurement(shoulderAndArmLength); + Measurement(underarmLength); + Measurement(cervicaleToWristLength); + Measurement(shoulderToElbowLength); + Measurement(armLength); + //hand + Measurement(handWidth); + Measurement(handLength); + Measurement(handGirth); + //leg + Measurement(thighGirth); + Measurement(midThighGirth); + Measurement(kneeGirth); + Measurement(calfGirth); + Measurement(ankleGirth); + Measurement(kneeHeight); + Measurement(ankleHeight); + //foot + Measurement(footWidth); + Measurement(footLength); + //heights + Measurement(cervicaleHeight); + Measurement(cervicaleToKneeHeight); + Measurement(waistHeight); + Measurement(highHipHeight); + Measurement(hipHeight); + Measurement(waistToHipHeight); + Measurement(waistToKneeHeight); + Measurement(crotchHeight); + //extended + Measurement(heightFrontNeckBasePoint); + Measurement(heightBaseNeckSidePoint); + Measurement(heightShoulderPoint); + Measurement(heightNipplePoint); + Measurement(heightBackAngleAxilla); + Measurement(heightScapularPoint); + Measurement(heightUnderButtockFolds); + Measurement(hipsExcludingProtrudingAbdomen); + Measurement(girthFootInstep); + Measurement(sideWaistToFloor); + Measurement(frontWaistToFloor); + Measurement(arcThroughGroinArea); + Measurement(waistToPlaneSeat); + Measurement(neckToRadialPoint); + Measurement(neckToThirdFinger); + Measurement(neckToFirstLineChestCircumference); + Measurement(frontWaistLength); + Measurement(arcThroughShoulderJoint); + Measurement(neckToBackLineChestCircumference); + Measurement(waistToNeckSide); + Measurement(arcLengthUpperBody); + Measurement(chestWidth); + Measurement(anteroposteriorDiameterHands); + Measurement(heightClavicularPoint); + Measurement(heightArmholeSlash); + Measurement(slashShoulderHeight); + Measurement(halfGirthNeck); + Measurement(halfGirthNeckForShirts); + Measurement(halfGirthChestFirst); + Measurement(halfGirthChestSecond); + Measurement(halfGirthChestThird); + Measurement(halfGirthWaist); + Measurement(halfGirthHipsConsideringProtrudingAbdomen); + Measurement(halfGirthHipsExcludingProtrudingAbdomen); + Measurement(girthKneeFlexedFeet); + Measurement(neckTransverseDiameter); + Measurement(frontSlashShoulderHeight); + Measurement(neckToFrontWaistLine); + Measurement(handVerticalDiameter); + Measurement(neckToKneePoint); + Measurement(waistToKnee); + Measurement(shoulderHeight); + Measurement(headHeight); + Measurement(bodyPosition); + Measurement(arcBehindShoulderGirdle); + Measurement(neckToNeckBase); + Measurement(depthWaistFirst); + Measurement(depthWaistSecond); +} + +//--------------------------------------------------------------------------------------------------------------------- +void VStandardMeasurements::Measurement(const QString &tag) +{ + const QDomNodeList nodeList = this->elementsByTagName(tag); if (nodeList.isEmpty()) { - qDebug()<<"Measurement list is empty"<AddMeasurement(name, VMeasurement(base/10.0, size_increace/10.0, height_increase/10.0, - gui_text, number)); - } - else// Cm or inch. - { - data->AddMeasurement(name, VMeasurement(base, size_increace, height_increase, - gui_text, number)); - } + if (Unit() == Valentina::Mm)// Convert to Cm. + { + data->AddMeasurement(tag, VMeasurement(value/10.0, size_increace/10.0, height_increase/10.0, + qApp->GuiText(tag), qApp->Description(tag), tag)); + } + else// Cm or inch. + { + data->AddMeasurement(tag, VMeasurement(value, size_increace, height_increase, qApp->GuiText(tag), + qApp->Description(tag), tag)); } } } @@ -115,7 +242,7 @@ void VStandardMeasurements::SetSize() if (nodeList.isEmpty()) { data->SetSize(50); - data->SetSizeName("Сг"); + data->SetSizeName(size); } else { @@ -125,18 +252,13 @@ void VStandardMeasurements::SetSize() const QDomElement domElement = domNode.toElement(); if (domElement.isNull() == false) { - const QString name = GetParametrString(domElement, AttrName, "Сг"); - const qreal base = GetParametrDouble(domElement, AttrBase, "50.0"); + qreal value = GetParametrDouble(domElement, AttrValue, "50.0"); if (Unit() == Valentina::Mm)// Convert to Cm. { - data->SetSize(base/10.0); - data->SetSizeName(name); - } - else// Cm or inch. - { - data->SetSize(base); - data->SetSizeName(name); + value = value/10.0; } + data->SetSize(value); + data->SetSizeName(size); } } } @@ -149,7 +271,7 @@ void VStandardMeasurements::SetHeight() if (nodeList.isEmpty()) { data->SetHeight(176); - data->SetHeightName("P"); + data->SetHeightName(height); } else { @@ -159,18 +281,13 @@ void VStandardMeasurements::SetHeight() const QDomElement domElement = domNode.toElement(); if (domElement.isNull() == false) { - const QString name = GetParametrString(domElement, AttrName, "Р"); - const qreal base = GetParametrDouble(domElement, AttrBase, "176.0"); + qreal value = GetParametrDouble(domElement, AttrValue, "176.0"); if (Unit() == Valentina::Mm)// Convert to Cm. { - data->SetHeight(base/10.0); - data->SetHeightName(name); - } - else// Cm or inch. - { - data->SetHeight(base); - data->SetHeightName(name); + value = value / 10.0; } + data->SetHeight(value); + data->SetHeightName(height); } } } diff --git a/src/app/xml/vstandardmeasurements.h b/src/app/xml/vstandardmeasurements.h index d0e992eba..9b6b1d694 100644 --- a/src/app/xml/vstandardmeasurements.h +++ b/src/app/xml/vstandardmeasurements.h @@ -44,12 +44,11 @@ public: static const QString TagDescription; static const QString TagSize; static const QString TagHeight; - static const QString AttrName; - static const QString AttrGui_text; - static const QString AttrBase; + static const QString AttrValue; static const QString AttrSize_increace; static const QString AttrHeight_increase; - static const QString AttrNumber; +private: + void Measurement(const QString &tag); }; #endif // VSTANDARDMEASUREMENTS_H From 37cab897fafeb32df0766b008f72c0915d109374 Mon Sep 17 00:00:00 2001 From: dismine Date: Fri, 16 May 2014 14:17:25 +0300 Subject: [PATCH 10/32] Make measurements names more unique. --HG-- branch : feature --- src/app/options.cpp | 258 +++++++++++------------ src/app/options.h | 258 +++++++++++------------ src/app/widgets/vapplication.cpp | 256 +++++++++++------------ src/app/xml/vindividualmeasurements.cpp | 258 +++++++++++------------ src/app/xml/vstandardmeasurements.cpp | 262 ++++++++++++------------ 5 files changed, 646 insertions(+), 646 deletions(-) diff --git a/src/app/options.cpp b/src/app/options.cpp index 7098b299e..3bea6b6af 100644 --- a/src/app/options.cpp +++ b/src/app/options.cpp @@ -29,137 +29,137 @@ #include "options.h" //measurements -const QString headGirth = QStringLiteral("head_girth"); -const QString midNeckGirth = QStringLiteral("mid_neck_girth"); -const QString neckBaseGirth = QStringLiteral("neck_base_girth"); -const QString headAndNeckLength = QStringLiteral("head_and_neck_length"); -const QString centerFrontWaistLength = QStringLiteral("center_front_waist_length"); -const QString centerBackWaistLength = QStringLiteral("center_back_waist_length"); -const QString shoulderLength = QStringLiteral("shoulder_length"); -const QString sideWaistLength = QStringLiteral("side_waist_length"); -const QString trunkLength = QStringLiteral("trunk_length"); -const QString shoulderGirth = QStringLiteral("shoulder_girth"); -const QString upperChestGirth = QStringLiteral("upper_chest_girth"); -const QString bustGirth = QStringLiteral("bust_girth"); -const QString underBustGirth = QStringLiteral("under_bust_girth"); -const QString waistGirth = QStringLiteral("waist_girth"); -const QString highHipGirth = QStringLiteral("high_hip_girth"); -const QString hipGirth = QStringLiteral("hip_girth"); -const QString upperFrontChestWidth = QStringLiteral("upper_front_chest_width"); -const QString frontChestWidth = QStringLiteral("front_chest_width"); -const QString acrossFrontShoulderWidth = QStringLiteral("across_front_shoulder_width"); -const QString acrossBackShoulderWidth = QStringLiteral("across_back_shoulder_width"); -const QString upperBackWidth = QStringLiteral("upper_back_width"); -const QString backWidth = QStringLiteral("back_width"); -const QString bustpointToBustpoint = QStringLiteral("bustpoint_to_bustpoint"); -const QString halterBustpointToBustpoint = QStringLiteral("halter_bustpoint_to_bustpoint"); -const QString neckToBustpoint = QStringLiteral("neck_to_bustpoint"); -const QString crotchLength = QStringLiteral("crotch_length"); -const QString riseHeight = QStringLiteral("rise_height"); -const QString shoulderDrop = QStringLiteral("shoulder_drop"); -const QString shoulderSlopeDegrees = QStringLiteral("shoulder_slope_degrees"); -const QString frontShoulderSlopeLength = QStringLiteral("front_shoulder_slope_length"); -const QString backShoulderSlopeLength = QStringLiteral("back_shoulder_slope_length"); -const QString frontShoulderToWaistLength = QStringLiteral("front_shoulder_to_waist_length"); -const QString backShoulderToWaistLength = QStringLiteral("back_shoulder_to_waist_length"); -const QString frontNeckArc = QStringLiteral("front_neck_arc"); -const QString backNeckArc = QStringLiteral("back_neck_arc"); -const QString frontUpperChestArc = QStringLiteral("front_upper_chest_arc"); -const QString backUpperChestArc = QStringLiteral("back_upper_chest_arc"); -const QString frontWaistArc = QStringLiteral("front_waist_arc"); -const QString backWaistArc = QStringLiteral("back_waist_arc"); -const QString frontUpperHipArc = QStringLiteral("front_upper_hip_arc"); -const QString backUpperHipArc = QStringLiteral("back_upper_hip_arc"); -const QString frontHipArc = QStringLiteral("front_hip_arc"); -const QString backHipArc = QStringLiteral("back_hip_arc"); -const QString chestSlope = QStringLiteral("chest_slope"); -const QString backSlope = QStringLiteral("back_slope"); -const QString frontWaistSlope = QStringLiteral("front_waist_slope"); -const QString backWaistSlope = QStringLiteral("back_waist_slope"); -const QString frontNeckToUpperChestHeight = QStringLiteral("front_neck_to_upper_chest_height"); -const QString frontNeckToBustHeight = QStringLiteral("front_neck_to_bust_height"); -const QString armscyeGirth = QStringLiteral("armscye_girth"); -const QString elbowGirth = QStringLiteral("elbow_girth"); -const QString upperArmGirth = QStringLiteral("upper_arm_girth"); -const QString wristGirth = QStringLiteral("wrist_girth"); -const QString scyeDepth = QStringLiteral("scye_depth"); -const QString shoulderAndArmLength = QStringLiteral("shoulder_and_arm_length"); -const QString underarmLength = QStringLiteral("underarm_length"); -const QString cervicaleToWristLength = QStringLiteral("cervicale_to_wrist_length"); -const QString shoulderToElbowLength = QStringLiteral("shoulder_to_elbow_length"); -const QString armLength = QStringLiteral("arm_length"); -const QString handWidth = QStringLiteral("hand_width"); -const QString handLength = QStringLiteral("hand_length"); -const QString handGirth = QStringLiteral("hand_girth"); -const QString thighGirth = QStringLiteral("thigh_girth"); -const QString midThighGirth = QStringLiteral("mid_thigh_girth"); -const QString kneeGirth = QStringLiteral("knee_girth"); -const QString calfGirth = QStringLiteral("calf_girth"); -const QString ankleGirth = QStringLiteral("ankle_girth"); -const QString kneeHeight = QStringLiteral("knee_height"); -const QString ankleHeight = QStringLiteral("ankle_height"); -const QString footWidth = QStringLiteral("foot_width"); -const QString footLength = QStringLiteral("foot_length"); -const QString height = QStringLiteral("height"); -const QString cervicaleHeight = QStringLiteral("cervicale_height"); -const QString cervicaleToKneeHeight = QStringLiteral("cervicale_to_knee_height"); -const QString waistHeight = QStringLiteral("waist_height"); -const QString highHipHeight = QStringLiteral("high_hip_height"); -const QString hipHeight = QStringLiteral("hip_height"); -const QString waistToHipHeight = QStringLiteral("waist_to_hip_height"); -const QString waistToKneeHeight = QStringLiteral("waist_to_knee_height"); -const QString crotchHeight = QStringLiteral("crotch_height"); +const QString headGirth_M = QStringLiteral("head_girth"); +const QString midNeckGirth_M = QStringLiteral("mid_neck_girth"); +const QString neckBaseGirth_M = QStringLiteral("neck_base_girth"); +const QString headAndNeckLength_M = QStringLiteral("head_and_neck_length"); +const QString centerFrontWaistLength_M = QStringLiteral("center_front_waist_length"); +const QString centerBackWaistLength_M = QStringLiteral("center_back_waist_length"); +const QString shoulderLength_M = QStringLiteral("shoulder_length"); +const QString sideWaistLength_M = QStringLiteral("side_waist_length"); +const QString trunkLength_M = QStringLiteral("trunk_length"); +const QString shoulderGirth_M = QStringLiteral("shoulder_girth"); +const QString upperChestGirth_M = QStringLiteral("upper_chest_girth"); +const QString bustGirth_M = QStringLiteral("bust_girth"); +const QString underBustGirth_M = QStringLiteral("under_bust_girth"); +const QString waistGirth_M = QStringLiteral("waist_girth"); +const QString highHipGirth_M = QStringLiteral("high_hip_girth"); +const QString hipGirth_M = QStringLiteral("hip_girth"); +const QString upperFrontChestWidth_M = QStringLiteral("upper_front_chest_width"); +const QString frontChestWidth_M = QStringLiteral("front_chest_width"); +const QString acrossFrontShoulderWidth_M = QStringLiteral("across_front_shoulder_width"); +const QString acrossBackShoulderWidth_M = QStringLiteral("across_back_shoulder_width"); +const QString upperBackWidth_M = QStringLiteral("upper_back_width"); +const QString backWidth_M = QStringLiteral("back_width"); +const QString bustpointToBustpoint_M = QStringLiteral("bustpoint_to_bustpoint"); +const QString halterBustpointToBustpoint_M = QStringLiteral("halter_bustpoint_to_bustpoint"); +const QString neckToBustpoint_M = QStringLiteral("neck_to_bustpoint"); +const QString crotchLength_M = QStringLiteral("crotch_length"); +const QString riseHeight_M = QStringLiteral("rise_height"); +const QString shoulderDrop_M = QStringLiteral("shoulder_drop"); +const QString shoulderSlopeDegrees_M = QStringLiteral("shoulder_slope_degrees"); +const QString frontShoulderSlopeLength_M = QStringLiteral("front_shoulder_slope_length"); +const QString backShoulderSlopeLength_M = QStringLiteral("back_shoulder_slope_length"); +const QString frontShoulderToWaistLength_M = QStringLiteral("front_shoulder_to_waist_length"); +const QString backShoulderToWaistLength_M = QStringLiteral("back_shoulder_to_waist_length"); +const QString frontNeckArc_M = QStringLiteral("front_neck_arc"); +const QString backNeckArc_M = QStringLiteral("back_neck_arc"); +const QString frontUpperChestArc_M = QStringLiteral("front_upper_chest_arc"); +const QString backUpperChestArc_M = QStringLiteral("back_upper_chest_arc"); +const QString frontWaistArc_M = QStringLiteral("front_waist_arc"); +const QString backWaistArc_M = QStringLiteral("back_waist_arc"); +const QString frontUpperHipArc_M = QStringLiteral("front_upper_hip_arc"); +const QString backUpperHipArc_M = QStringLiteral("back_upper_hip_arc"); +const QString frontHipArc_M = QStringLiteral("front_hip_arc"); +const QString backHipArc_M = QStringLiteral("back_hip_arc"); +const QString chestSlope_M = QStringLiteral("chest_slope"); +const QString backSlope_M = QStringLiteral("back_slope"); +const QString frontWaistSlope_M = QStringLiteral("front_waist_slope"); +const QString backWaistSlope_M = QStringLiteral("back_waist_slope"); +const QString frontNeckToUpperChestHeight_M = QStringLiteral("front_neck_to_upper_chest_height"); +const QString frontNeckToBustHeight_M = QStringLiteral("front_neck_to_bust_height"); +const QString armscyeGirth_M = QStringLiteral("armscye_girth"); +const QString elbowGirth_M = QStringLiteral("elbow_girth"); +const QString upperArmGirth_M = QStringLiteral("upper_arm_girth"); +const QString wristGirth_M = QStringLiteral("wrist_girth"); +const QString scyeDepth_M = QStringLiteral("scye_depth"); +const QString shoulderAndArmLength_M = QStringLiteral("shoulder_and_arm_length"); +const QString underarmLength_M = QStringLiteral("underarm_length"); +const QString cervicaleToWristLength_M = QStringLiteral("cervicale_to_wrist_length"); +const QString shoulderToElbowLength_M = QStringLiteral("shoulder_to_elbow_length"); +const QString armLength_M = QStringLiteral("arm_length"); +const QString handWidth_M = QStringLiteral("hand_width"); +const QString handLength_M = QStringLiteral("hand_length"); +const QString handGirth_M = QStringLiteral("hand_girth"); +const QString thighGirth_M = QStringLiteral("thigh_girth"); +const QString midThighGirth_M = QStringLiteral("mid_thigh_girth"); +const QString kneeGirth_M = QStringLiteral("knee_girth"); +const QString calfGirth_M = QStringLiteral("calf_girth"); +const QString ankleGirth_M = QStringLiteral("ankle_girth"); +const QString kneeHeight_M = QStringLiteral("knee_height"); +const QString ankleHeight_M = QStringLiteral("ankle_height"); +const QString footWidth_M = QStringLiteral("foot_width"); +const QString footLength_M = QStringLiteral("foot_length"); +const QString height_M = QStringLiteral("height"); +const QString cervicaleHeight_M = QStringLiteral("cervicale_height"); +const QString cervicaleToKneeHeight_M = QStringLiteral("cervicale_to_knee_height"); +const QString waistHeight_M = QStringLiteral("waist_height"); +const QString highHipHeight_M = QStringLiteral("high_hip_height"); +const QString hipHeight_M = QStringLiteral("hip_height"); +const QString waistToHipHeight_M = QStringLiteral("waist_to_hip_height"); +const QString waistToKneeHeight_M = QStringLiteral("waist_to_knee_height"); +const QString crotchHeight_M = QStringLiteral("crotch_height"); //extended measurements -const QString size = QStringLiteral("size"); -const QString heightFrontNeckBasePoint = QStringLiteral("height_front_neck_base_point"); -const QString heightBaseNeckSidePoint = QStringLiteral("height_base_neck_side_point"); -const QString heightShoulderPoint = QStringLiteral("height_shoulder_point"); -const QString heightNipplePoint = QStringLiteral("height_nipple_point"); -const QString heightBackAngleAxilla = QStringLiteral("height_back_angle_axilla"); -const QString heightScapularPoint = QStringLiteral("height_scapular_point"); -const QString heightUnderButtockFolds = QStringLiteral("height_under_buttock_folds"); -const QString hipsExcludingProtrudingAbdomen = QStringLiteral("hips_excluding_protruding_abdomen"); -const QString girthFootInstep = QStringLiteral("girth_foot_instep"); -const QString sideWaistToFloor = QStringLiteral("side_waist_to_floor"); -const QString frontWaistToFloor = QStringLiteral("front_waist_to_floor"); -const QString arcThroughGroinArea = QStringLiteral("arc_through_groin_area"); -const QString waistToPlaneSeat = QStringLiteral("waist_to_plane_seat"); -const QString neckToRadialPoint = QStringLiteral("neck_to_radial_point"); -const QString neckToThirdFinger = QStringLiteral("neck_to_third_finger"); -const QString neckToFirstLineChestCircumference = QStringLiteral("neck_to_first_line_chest_circumference"); -const QString frontWaistLength = QStringLiteral("front_waist_length"); -const QString arcThroughShoulderJoint = QStringLiteral("arc_through_shoulder_joint"); -const QString neckToBackLineChestCircumference = QStringLiteral("neck_to_back_line_chest_circumference"); -const QString waistToNeckSide = QStringLiteral("waist_to_neck_side"); -const QString arcLengthUpperBody = QStringLiteral("arc_length_upper_body"); -const QString chestWidth = QStringLiteral("chest_width"); -const QString anteroposteriorDiameterHands = QStringLiteral("anteroposterior_diameter_hands"); -const QString heightClavicularPoint = QStringLiteral("height_clavicular_point"); -const QString heightArmholeSlash = QStringLiteral("height_armhole_slash"); -const QString slashShoulderHeight = QStringLiteral("slash_shoulder_height"); -const QString halfGirthNeck = QStringLiteral("half_girth_neck"); -const QString halfGirthNeckForShirts = QStringLiteral("half_girth_neck_for_shirts"); -const QString halfGirthChestFirst = QStringLiteral("half_girth_chest_first"); -const QString halfGirthChestSecond = QStringLiteral("half_girth_chest_second"); -const QString halfGirthChestThird = QStringLiteral("half_girth_chest_third"); -const QString halfGirthWaist = QStringLiteral("half_girth_waist"); -const QString halfGirthHipsConsideringProtrudingAbdomen +const QString size_M = QStringLiteral("size"); +const QString heightFrontNeckBasePoint_M = QStringLiteral("height_front_neck_base_point"); +const QString heightBaseNeckSidePoint_M = QStringLiteral("height_base_neck_side_point"); +const QString heightShoulderPoint_M = QStringLiteral("height_shoulder_point"); +const QString heightNipplePoint_M = QStringLiteral("height_nipple_point"); +const QString heightBackAngleAxilla_M = QStringLiteral("height_back_angle_axilla"); +const QString heightScapularPoint_M = QStringLiteral("height_scapular_point"); +const QString heightUnderButtockFolds_M = QStringLiteral("height_under_buttock_folds"); +const QString hipsExcludingProtrudingAbdomen_M = QStringLiteral("hips_excluding_protruding_abdomen"); +const QString girthFootInstep_M = QStringLiteral("girth_foot_instep"); +const QString sideWaistToFloor_M = QStringLiteral("side_waist_to_floor"); +const QString frontWaistToFloor_M = QStringLiteral("front_waist_to_floor"); +const QString arcThroughGroinArea_M = QStringLiteral("arc_through_groin_area"); +const QString waistToPlaneSeat_M = QStringLiteral("waist_to_plane_seat"); +const QString neckToRadialPoint_M = QStringLiteral("neck_to_radial_point"); +const QString neckToThirdFinger_M = QStringLiteral("neck_to_third_finger"); +const QString neckToFirstLineChestCircumference_M = QStringLiteral("neck_to_first_line_chest_circumference"); +const QString frontWaistLength_M = QStringLiteral("front_waist_length"); +const QString arcThroughShoulderJoint_M = QStringLiteral("arc_through_shoulder_joint"); +const QString neckToBackLineChestCircumference_M = QStringLiteral("neck_to_back_line_chest_circumference"); +const QString waistToNeckSide_M = QStringLiteral("waist_to_neck_side"); +const QString arcLengthUpperBody_M = QStringLiteral("arc_length_upper_body"); +const QString chestWidth_M = QStringLiteral("chest_width"); +const QString anteroposteriorDiameterHands_M = QStringLiteral("anteroposterior_diameter_hands"); +const QString heightClavicularPoint_M = QStringLiteral("height_clavicular_point"); +const QString heightArmholeSlash_M = QStringLiteral("height_armhole_slash"); +const QString slashShoulderHeight_M = QStringLiteral("slash_shoulder_height"); +const QString halfGirthNeck_M = QStringLiteral("half_girth_neck"); +const QString halfGirthNeckForShirts_M = QStringLiteral("half_girth_neck_for_shirts"); +const QString halfGirthChestFirst_M = QStringLiteral("half_girth_chest_first"); +const QString halfGirthChestSecond_M = QStringLiteral("half_girth_chest_second"); +const QString halfGirthChestThird_M = QStringLiteral("half_girth_chest_third"); +const QString halfGirthWaist_M = QStringLiteral("half_girth_waist"); +const QString halfGirthHipsConsideringProtrudingAbdomen_M = QStringLiteral("half_girth_hips_considering_protruding_abdomen"); -const QString halfGirthHipsExcludingProtrudingAbdomen = QStringLiteral("half_girth_hips_excluding_protruding_abdomen"); -const QString girthKneeFlexedFeet = QStringLiteral("girth_knee_flexed_feet"); -const QString neckTransverseDiameter = QStringLiteral("neck_transverse_diameter"); -const QString frontSlashShoulderHeight = QStringLiteral("front_slash_shoulder_height"); -const QString neckToFrontWaistLine = QStringLiteral("neck_to_front_waist_line"); -const QString handVerticalDiameter = QStringLiteral("hand_vertical_diameter"); -const QString neckToKneePoint = QStringLiteral("neck_to_knee_point"); -const QString waistToKnee = QStringLiteral("waist_to_knee"); -const QString shoulderHeight = QStringLiteral("shoulder_height"); -const QString headHeight = QStringLiteral("head_height"); -const QString bodyPosition = QStringLiteral("body_position"); -const QString arcBehindShoulderGirdle = QStringLiteral("arc_behind_shoulder_girdle"); -const QString neckToNeckBase = QStringLiteral("neck_to_neck_base"); -const QString depthWaistFirst = QStringLiteral("depth_waist_first"); -const QString depthWaistSecond = QStringLiteral("depth_waist_second"); +const QString halfGirthHipsExcludingProtrudingAbdomen_M = QStringLiteral("half_girth_hips_excluding_protruding_abdomen"); +const QString girthKneeFlexedFeet_M = QStringLiteral("girth_knee_flexed_feet"); +const QString neckTransverseDiameter_M = QStringLiteral("neck_transverse_diameter"); +const QString frontSlashShoulderHeight_M = QStringLiteral("front_slash_shoulder_height"); +const QString neckToFrontWaistLine_M = QStringLiteral("neck_to_front_waist_line"); +const QString handVerticalDiameter_M = QStringLiteral("hand_vertical_diameter"); +const QString neckToKneePoint_M = QStringLiteral("neck_to_knee_point"); +const QString waistToKnee_M = QStringLiteral("waist_to_knee"); +const QString shoulderHeight_M = QStringLiteral("shoulder_height"); +const QString headHeight_M = QStringLiteral("head_height"); +const QString bodyPosition_M = QStringLiteral("body_position"); +const QString arcBehindShoulderGirdle_M = QStringLiteral("arc_behind_shoulder_girdle"); +const QString neckToNeckBase_M = QStringLiteral("neck_to_neck_base"); +const QString depthWaistFirst_M = QStringLiteral("depth_waist_first"); +const QString depthWaistSecond_M = QStringLiteral("depth_waist_second"); //variables const QString line_ = QStringLiteral("Line_"); diff --git a/src/app/options.h b/src/app/options.h index 37dfe1c1f..119bf164d 100644 --- a/src/app/options.h +++ b/src/app/options.h @@ -113,136 +113,136 @@ namespace Pattern Q_DECLARE_OPERATORS_FOR_FLAGS( Pattern::Measurements ) // measurements -extern const QString headGirth; -extern const QString midNeckGirth; -extern const QString neckBaseGirth; -extern const QString headAndNeckLength; -extern const QString centerFrontWaistLength; -extern const QString centerBackWaistLength; -extern const QString shoulderLength; -extern const QString sideWaistLength; -extern const QString trunkLength; -extern const QString shoulderGirth; -extern const QString upperChestGirth; -extern const QString bustGirth; -extern const QString underBustGirth; -extern const QString waistGirth; -extern const QString highHipGirth; -extern const QString hipGirth; -extern const QString upperFrontChestWidth; -extern const QString frontChestWidth; -extern const QString acrossFrontShoulderWidth; -extern const QString acrossBackShoulderWidth; -extern const QString upperBackWidth; -extern const QString backWidth; -extern const QString bustpointToBustpoint; -extern const QString halterBustpointToBustpoint; -extern const QString neckToBustpoint; -extern const QString crotchLength; -extern const QString riseHeight; -extern const QString shoulderDrop; -extern const QString shoulderSlopeDegrees; -extern const QString frontShoulderSlopeLength; -extern const QString backShoulderSlopeLength; -extern const QString frontShoulderToWaistLength; -extern const QString backShoulderToWaistLength; -extern const QString frontNeckArc; -extern const QString backNeckArc; -extern const QString frontUpperChestArc; -extern const QString backUpperChestArc; -extern const QString frontWaistArc; -extern const QString backWaistArc; -extern const QString frontUpperHipArc; -extern const QString backUpperHipArc; -extern const QString frontHipArc; -extern const QString backHipArc; -extern const QString chestSlope; -extern const QString backSlope; -extern const QString frontWaistSlope; -extern const QString backWaistSlope; -extern const QString frontNeckToUpperChestHeight; -extern const QString frontNeckToBustHeight; -extern const QString armscyeGirth; -extern const QString elbowGirth; -extern const QString upperArmGirth; -extern const QString wristGirth; -extern const QString scyeDepth; -extern const QString shoulderAndArmLength; -extern const QString underarmLength; -extern const QString cervicaleToWristLength; -extern const QString shoulderToElbowLength; -extern const QString armLength; -extern const QString handWidth; -extern const QString handLength; -extern const QString handGirth; -extern const QString thighGirth; -extern const QString midThighGirth; -extern const QString kneeGirth; -extern const QString calfGirth; -extern const QString ankleGirth; -extern const QString kneeHeight; -extern const QString ankleHeight; -extern const QString footWidth; -extern const QString footLength; -extern const QString height; -extern const QString cervicaleHeight; -extern const QString cervicaleToKneeHeight; -extern const QString waistHeight; -extern const QString highHipHeight; -extern const QString hipHeight; -extern const QString waistToHipHeight; -extern const QString waistToKneeHeight; -extern const QString crotchHeight; +extern const QString headGirth_M; +extern const QString midNeckGirth_M; +extern const QString neckBaseGirth_M; +extern const QString headAndNeckLength_M; +extern const QString centerFrontWaistLength_M; +extern const QString centerBackWaistLength_M; +extern const QString shoulderLength_M; +extern const QString sideWaistLength_M; +extern const QString trunkLength_M; +extern const QString shoulderGirth_M; +extern const QString upperChestGirth_M; +extern const QString bustGirth_M; +extern const QString underBustGirth_M; +extern const QString waistGirth_M; +extern const QString highHipGirth_M; +extern const QString hipGirth_M; +extern const QString upperFrontChestWidth_M; +extern const QString frontChestWidth_M; +extern const QString acrossFrontShoulderWidth_M; +extern const QString acrossBackShoulderWidth_M; +extern const QString upperBackWidth_M; +extern const QString backWidth_M; +extern const QString bustpointToBustpoint_M; +extern const QString halterBustpointToBustpoint_M; +extern const QString neckToBustpoint_M; +extern const QString crotchLength_M; +extern const QString riseHeight_M; +extern const QString shoulderDrop_M; +extern const QString shoulderSlopeDegrees_M; +extern const QString frontShoulderSlopeLength_M; +extern const QString backShoulderSlopeLength_M; +extern const QString frontShoulderToWaistLength_M; +extern const QString backShoulderToWaistLength_M; +extern const QString frontNeckArc_M; +extern const QString backNeckArc_M; +extern const QString frontUpperChestArc_M; +extern const QString backUpperChestArc_M; +extern const QString frontWaistArc_M; +extern const QString backWaistArc_M; +extern const QString frontUpperHipArc_M; +extern const QString backUpperHipArc_M; +extern const QString frontHipArc_M; +extern const QString backHipArc_M; +extern const QString chestSlope_M; +extern const QString backSlope_M; +extern const QString frontWaistSlope_M; +extern const QString backWaistSlope_M; +extern const QString frontNeckToUpperChestHeight_M; +extern const QString frontNeckToBustHeight_M; +extern const QString armscyeGirth_M; +extern const QString elbowGirth_M; +extern const QString upperArmGirth_M; +extern const QString wristGirth_M; +extern const QString scyeDepth_M; +extern const QString shoulderAndArmLength_M; +extern const QString underarmLength_M; +extern const QString cervicaleToWristLength_M; +extern const QString shoulderToElbowLength_M; +extern const QString armLength_M; +extern const QString handWidth_M; +extern const QString handLength_M; +extern const QString handGirth_M; +extern const QString thighGirth_M; +extern const QString midThighGirth_M; +extern const QString kneeGirth_M; +extern const QString calfGirth_M; +extern const QString ankleGirth_M; +extern const QString kneeHeight_M; +extern const QString ankleHeight_M; +extern const QString footWidth_M; +extern const QString footLength_M; +extern const QString height_M; +extern const QString cervicaleHeight_M; +extern const QString cervicaleToKneeHeight_M; +extern const QString waistHeight_M; +extern const QString highHipHeight_M; +extern const QString hipHeight_M; +extern const QString waistToHipHeight_M; +extern const QString waistToKneeHeight_M; +extern const QString crotchHeight_M; //extended measurements -extern const QString size; -extern const QString heightFrontNeckBasePoint; -extern const QString heightBaseNeckSidePoint; -extern const QString heightShoulderPoint; -extern const QString heightNipplePoint; -extern const QString heightBackAngleAxilla; -extern const QString heightScapularPoint; -extern const QString heightUnderButtockFolds; -extern const QString hipsExcludingProtrudingAbdomen; -extern const QString girthFootInstep; -extern const QString sideWaistToFloor; -extern const QString frontWaistToFloor; -extern const QString arcThroughGroinArea; -extern const QString waistToPlaneSeat; -extern const QString neckToRadialPoint; -extern const QString neckToThirdFinger; -extern const QString neckToFirstLineChestCircumference; -extern const QString frontWaistLength; -extern const QString arcThroughShoulderJoint; -extern const QString neckToBackLineChestCircumference; -extern const QString waistToNeckSide; -extern const QString arcLengthUpperBody; -extern const QString chestWidth; -extern const QString anteroposteriorDiameterHands; -extern const QString heightClavicularPoint; -extern const QString heightArmholeSlash; -extern const QString slashShoulderHeight; -extern const QString halfGirthNeck; -extern const QString halfGirthNeckForShirts; -extern const QString halfGirthChestFirst; -extern const QString halfGirthChestSecond; -extern const QString halfGirthChestThird; -extern const QString halfGirthWaist; -extern const QString halfGirthHipsConsideringProtrudingAbdomen; -extern const QString halfGirthHipsExcludingProtrudingAbdomen; -extern const QString girthKneeFlexedFeet; -extern const QString neckTransverseDiameter; -extern const QString frontSlashShoulderHeight; -extern const QString neckToFrontWaistLine; -extern const QString handVerticalDiameter; -extern const QString neckToKneePoint; -extern const QString waistToKnee; -extern const QString shoulderHeight; -extern const QString headHeight; -extern const QString bodyPosition; -extern const QString arcBehindShoulderGirdle; -extern const QString neckToNeckBase; -extern const QString depthWaistFirst; -extern const QString depthWaistSecond; +extern const QString size_M; +extern const QString heightFrontNeckBasePoint_M; +extern const QString heightBaseNeckSidePoint_M; +extern const QString heightShoulderPoint_M; +extern const QString heightNipplePoint_M; +extern const QString heightBackAngleAxilla_M; +extern const QString heightScapularPoint_M; +extern const QString heightUnderButtockFolds_M; +extern const QString hipsExcludingProtrudingAbdomen_M; +extern const QString girthFootInstep_M; +extern const QString sideWaistToFloor_M; +extern const QString frontWaistToFloor_M; +extern const QString arcThroughGroinArea_M; +extern const QString waistToPlaneSeat_M; +extern const QString neckToRadialPoint_M; +extern const QString neckToThirdFinger_M; +extern const QString neckToFirstLineChestCircumference_M; +extern const QString frontWaistLength_M; +extern const QString arcThroughShoulderJoint_M; +extern const QString neckToBackLineChestCircumference_M; +extern const QString waistToNeckSide_M; +extern const QString arcLengthUpperBody_M; +extern const QString chestWidth_M; +extern const QString anteroposteriorDiameterHands_M; +extern const QString heightClavicularPoint_M; +extern const QString heightArmholeSlash_M; +extern const QString slashShoulderHeight_M; +extern const QString halfGirthNeck_M; +extern const QString halfGirthNeckForShirts_M; +extern const QString halfGirthChestFirst_M; +extern const QString halfGirthChestSecond_M; +extern const QString halfGirthChestThird_M; +extern const QString halfGirthWaist_M; +extern const QString halfGirthHipsConsideringProtrudingAbdomen_M; +extern const QString halfGirthHipsExcludingProtrudingAbdomen_M; +extern const QString girthKneeFlexedFeet_M; +extern const QString neckTransverseDiameter_M; +extern const QString frontSlashShoulderHeight_M; +extern const QString neckToFrontWaistLine_M; +extern const QString handVerticalDiameter_M; +extern const QString neckToKneePoint_M; +extern const QString waistToKnee_M; +extern const QString shoulderHeight_M; +extern const QString headHeight_M; +extern const QString bodyPosition_M; +extern const QString arcBehindShoulderGirdle_M; +extern const QString neckToNeckBase_M; +extern const QString depthWaistFirst_M; +extern const QString depthWaistSecond_M; // variables name extern const QString line_; diff --git a/src/app/widgets/vapplication.cpp b/src/app/widgets/vapplication.cpp index 4d0ba00d8..abf18de97 100644 --- a/src/app/widgets/vapplication.cpp +++ b/src/app/widgets/vapplication.cpp @@ -217,355 +217,355 @@ void VApplication::InitLineWidth() void VApplication::InitMeasurements() { // head_and_neck - InitMeasurement(headGirth, QStringLiteral("Head girth"), QStringLiteral("Around fullest part of Head")); + InitMeasurement(headGirth_M, QStringLiteral("Head girth"), QStringLiteral("Around fullest part of Head")); - InitMeasurement(midNeckGirth, QStringLiteral("Mid-neck girth"), QStringLiteral("Around middle part of Neck")); + InitMeasurement(midNeckGirth_M, QStringLiteral("Mid-neck girth"), QStringLiteral("Around middle part of Neck")); - InitMeasurement(neckBaseGirth, QStringLiteral("Neck Base girth"), QStringLiteral("Around Neck at base")); + InitMeasurement(neckBaseGirth_M, QStringLiteral("Neck Base girth"), QStringLiteral("Around Neck at base")); - InitMeasurement(headAndNeckLength, QStringLiteral("Head and Neck length"), + InitMeasurement(headAndNeckLength_M, QStringLiteral("Head and Neck length"), QStringLiteral("Vertical Distance from Crown to Nape")); // torso - InitMeasurement(centerFrontWaistLength, QStringLiteral("Front Center length"), + InitMeasurement(centerFrontWaistLength_M, QStringLiteral("Front Center length"), QStringLiteral("Front Neck Center over tape at Bustline to Front Waist Center")); - InitMeasurement(centerBackWaistLength, QStringLiteral("Back Center length"), + InitMeasurement(centerBackWaistLength_M, QStringLiteral("Back Center length"), QStringLiteral("Back Neck Center to Back Waist Center")); - InitMeasurement(shoulderLength, QStringLiteral("Shoulder length"), QStringLiteral("NeckPoint to ShoulderTip")); + InitMeasurement(shoulderLength_M, QStringLiteral("Shoulder length"), QStringLiteral("NeckPoint to ShoulderTip")); - InitMeasurement(sideWaistLength, QStringLiteral("Side Waist length"), QStringLiteral("Armpit to Waist side")); + InitMeasurement(sideWaistLength_M, QStringLiteral("Side Waist length"), QStringLiteral("Armpit to Waist side")); - InitMeasurement(trunkLength, QStringLiteral("Trunk length"), + InitMeasurement(trunkLength_M, QStringLiteral("Trunk length"), QStringLiteral("Around Body from middle of Shoulder length to BustPoint to Crotch up back to beginning point")); - InitMeasurement(shoulderGirth, QStringLiteral("Shoulder girth"), + InitMeasurement(shoulderGirth_M, QStringLiteral("Shoulder girth"), QStringLiteral("Around Arms and Torso, at bicep level parallel to floor, with arms hanging at the sides")); - InitMeasurement(upperChestGirth, QStringLiteral("Upper Chest girth"), + InitMeasurement(upperChestGirth_M, QStringLiteral("Upper Chest girth"), QStringLiteral("Around Chest at Armfold level, will be parallel to floor across back, will not be parallel to floor" " across front chest")); - InitMeasurement(bustGirth, QStringLiteral("Bust girth"), + InitMeasurement(bustGirth_M, QStringLiteral("Bust girth"), QStringLiteral("Around fullest part of Bust, parallel to floor")); - InitMeasurement(underBustGirth, QStringLiteral("Under Bust girth"), + InitMeasurement(underBustGirth_M, QStringLiteral("Under Bust girth"), QStringLiteral("Around Chest below the Bust, parallel to floor")); - InitMeasurement(waistGirth, QStringLiteral("Waist girth"), + InitMeasurement(waistGirth_M, QStringLiteral("Waist girth"), QStringLiteral("Tie a string around smallest part of waist, keep string tied while taking meaasurements. Not" " usually parallel to floor for front waist or back waist.")); - InitMeasurement(highHipGirth, QStringLiteral("HighHip girth"), QStringLiteral("Around HighHip, parallel to floor")); + InitMeasurement(highHipGirth_M, QStringLiteral("HighHip girth"), QStringLiteral("Around HighHip, parallel to floor")); - InitMeasurement(hipGirth, QStringLiteral("Hip girth"), QStringLiteral("Around Hip, parallel to floor")); + InitMeasurement(hipGirth_M, QStringLiteral("Hip girth"), QStringLiteral("Around Hip, parallel to floor")); - InitMeasurement(upperFrontChestWidth, QStringLiteral("Front Upper Chest width"), + InitMeasurement(upperFrontChestWidth_M, QStringLiteral("Front Upper Chest width"), QStringLiteral("Across Front UpperChest, smallest width from armscye to armscye")); - InitMeasurement(frontChestWidth, QStringLiteral("Front Chest width"), + InitMeasurement(frontChestWidth_M, QStringLiteral("Front Chest width"), QStringLiteral("Across Front Chest, from armfold to armfold")); - InitMeasurement(acrossFrontShoulderWidth, QStringLiteral("Front Across Shoulder width"), + InitMeasurement(acrossFrontShoulderWidth_M, QStringLiteral("Front Across Shoulder width"), QStringLiteral("From ShoulderTip to ShoulderTip, across Front")); - InitMeasurement(acrossBackShoulderWidth, QStringLiteral("Back Across Shoulder width"), + InitMeasurement(acrossBackShoulderWidth_M, QStringLiteral("Back Across Shoulder width"), QStringLiteral("From ShoulderTip to ShoulderTip, across Back")); - InitMeasurement(acrossBackShoulderWidth, QStringLiteral("Back Upper Chest width"), + InitMeasurement(acrossBackShoulderWidth_M, QStringLiteral("Back Upper Chest width"), QStringLiteral("Across Back UpperChest, smallest width from armscye to armscye")); - InitMeasurement(backWidth, QStringLiteral("Back Chest width"), + InitMeasurement(backWidth_M, QStringLiteral("Back Chest width"), QStringLiteral("Across Back Chest, from armfold to armfold")); - InitMeasurement(bustpointToBustpoint, QStringLiteral("BustPoint to BustPoint"), + InitMeasurement(bustpointToBustpoint_M, QStringLiteral("BustPoint to BustPoint"), QStringLiteral("Distance between BustPoints, across Chest")); - InitMeasurement(halterBustpointToBustpoint, QStringLiteral("Halter Bustpoint to Bustpoint"), + InitMeasurement(halterBustpointToBustpoint_M, QStringLiteral("Halter Bustpoint to Bustpoint"), QStringLiteral("Distance from Bustpoint, behind neck, down to Bustpoint")); - InitMeasurement(neckToBustpoint, QStringLiteral("NeckPoint to BustPoint"), + InitMeasurement(neckToBustpoint_M, QStringLiteral("NeckPoint to BustPoint"), QStringLiteral("From NeckPoint to BustPoint")); - InitMeasurement(crotchLength, QStringLiteral("Crotch length"), + InitMeasurement(crotchLength_M, QStringLiteral("Crotch length"), QStringLiteral("From Front Waist Center, down to crotch, up to Back Waist Center")); - InitMeasurement(riseHeight, QStringLiteral("Rise height"), + InitMeasurement(riseHeight_M, QStringLiteral("Rise height"), QStringLiteral("Sit on hard chair, measure from side waist straight down to chair bottom")); - InitMeasurement(shoulderDrop, QStringLiteral("Shoulder Drop"), + InitMeasurement(shoulderDrop_M, QStringLiteral("Shoulder Drop"), QStringLiteral("Vertical Distance from NeckPoint level to ShoulderTip level")); - InitMeasurement(shoulderSlopeDegrees, QStringLiteral("Shoulder Slope degrees"), + InitMeasurement(shoulderSlopeDegrees_M, QStringLiteral("Shoulder Slope degrees"), QStringLiteral("Degrees of angle from NeckPoint to ShoulderTip – requires goniometer")); - InitMeasurement(frontShoulderSlopeLength, QStringLiteral("Front Shoulder Balance"), + InitMeasurement(frontShoulderSlopeLength_M, QStringLiteral("Front Shoulder Balance"), QStringLiteral("ShoulderTip to Front Waist Center")); - InitMeasurement(backShoulderSlopeLength, QStringLiteral("Back Shoulder Balance"), + InitMeasurement(backShoulderSlopeLength_M, QStringLiteral("Back Shoulder Balance"), QStringLiteral("ShoulderTip to Back Waist Center")); - InitMeasurement(frontShoulderToWaistLength, QStringLiteral("Front Full Length"), + InitMeasurement(frontShoulderToWaistLength_M, QStringLiteral("Front Full Length"), QStringLiteral("NeckPoint straight down front chest to Waistline")); - InitMeasurement(backShoulderToWaistLength, QStringLiteral("Back Full Length"), + InitMeasurement(backShoulderToWaistLength_M, QStringLiteral("Back Full Length"), QStringLiteral("Back NeckPoint straight down back chest to Waistline")); - InitMeasurement(frontNeckArc, QStringLiteral("Front Neck arc"), + InitMeasurement(frontNeckArc_M, QStringLiteral("Front Neck arc"), QStringLiteral("NeckPoint to NeckPoint through Front Neck Center")); - InitMeasurement(backNeckArc, QStringLiteral("Back Neck arc"), QStringLiteral("NeckPoint to NeckPoint across Nape")); + InitMeasurement(backNeckArc_M, QStringLiteral("Back Neck arc"), QStringLiteral("NeckPoint to NeckPoint across Nape")); - InitMeasurement(frontUpperChestArc, QStringLiteral("front_upper-bust_arc"), QStringLiteral("front_upper-bust_arc")); + InitMeasurement(frontUpperChestArc_M, QStringLiteral("front_upper-bust_arc"), QStringLiteral("front_upper-bust_arc")); - InitMeasurement(backUpperChestArc, QStringLiteral("Back UpperBust arc"), + InitMeasurement(backUpperChestArc_M, QStringLiteral("Back UpperBust arc"), QStringLiteral("Back UpperBust side to side")); - InitMeasurement(frontWaistArc, QStringLiteral("Front Waist arc"), QStringLiteral("Front Waist side to side")); + InitMeasurement(frontWaistArc_M, QStringLiteral("Front Waist arc"), QStringLiteral("Front Waist side to side")); - InitMeasurement(backWaistArc, QStringLiteral("Back Waist arc"), QStringLiteral("Back Waist side to side")); + InitMeasurement(backWaistArc_M, QStringLiteral("Back Waist arc"), QStringLiteral("Back Waist side to side")); - InitMeasurement(frontUpperHipArc, QStringLiteral("Front UpperHip arc"), + InitMeasurement(frontUpperHipArc_M, QStringLiteral("Front UpperHip arc"), QStringLiteral("Front UpperHip side to side")); - InitMeasurement(backUpperHipArc, QStringLiteral("Back UpperHip arc"), QStringLiteral("Back UpperHip side to side")); + InitMeasurement(backUpperHipArc_M, QStringLiteral("Back UpperHip arc"), QStringLiteral("Back UpperHip side to side")); - InitMeasurement(frontHipArc, QStringLiteral("Front Hip arc"), QStringLiteral("Front Hip side to side")); + InitMeasurement(frontHipArc_M, QStringLiteral("Front Hip arc"), QStringLiteral("Front Hip side to side")); - InitMeasurement(backHipArc, QStringLiteral("Back Hip arc"), QStringLiteral("Back Hip side to side")); + InitMeasurement(backHipArc_M, QStringLiteral("Back Hip arc"), QStringLiteral("Back Hip side to side")); - InitMeasurement(chestSlope, QStringLiteral("Chest Balance"), QStringLiteral("NeckPoint to Front ArmfoldPoint")); + InitMeasurement(chestSlope_M, QStringLiteral("Chest Balance"), QStringLiteral("NeckPoint to Front ArmfoldPoint")); - InitMeasurement(backSlope, QStringLiteral("Back Balance"), QStringLiteral("NeckPoint to Back ArmfoldPoint")); + InitMeasurement(backSlope_M, QStringLiteral("Back Balance"), QStringLiteral("NeckPoint to Back ArmfoldPoint")); - InitMeasurement(frontWaistSlope, QStringLiteral("Front Waist Balance"), + InitMeasurement(frontWaistSlope_M, QStringLiteral("Front Waist Balance"), QStringLiteral("NeckPoint across Front Chest to Waist side")); - InitMeasurement(backWaistSlope, QStringLiteral("Back Waist Balance"), + InitMeasurement(backWaistSlope_M, QStringLiteral("Back Waist Balance"), QStringLiteral("NeckPoint across Back Chest to Waist side")); - InitMeasurement(frontNeckToUpperChestHeight, QStringLiteral("Front UpperChest height"), + InitMeasurement(frontNeckToUpperChestHeight_M, QStringLiteral("Front UpperChest height"), QStringLiteral("Front Neck Center straight down to UpperChest line")); - InitMeasurement(frontNeckToBustHeight, QStringLiteral("Bust height"), + InitMeasurement(frontNeckToBustHeight_M, QStringLiteral("Bust height"), QStringLiteral("Front Neck Center straight down to Bust line")); // arm - InitMeasurement(armscyeGirth, QStringLiteral("Armscye Girth"), QStringLiteral("Around Armscye")); + InitMeasurement(armscyeGirth_M, QStringLiteral("Armscye Girth"), QStringLiteral("Around Armscye")); - InitMeasurement(elbowGirth, QStringLiteral("Elbow Girth"), QStringLiteral("Around Elbow with elbow bent")); + InitMeasurement(elbowGirth_M, QStringLiteral("Elbow Girth"), QStringLiteral("Around Elbow with elbow bent")); - InitMeasurement(upperArmGirth, QStringLiteral("Upperarm Girth"), QStringLiteral("Around UpperArm")); + InitMeasurement(upperArmGirth_M, QStringLiteral("Upperarm Girth"), QStringLiteral("Around UpperArm")); - InitMeasurement(wristGirth, QStringLiteral("Wrist girth"), QStringLiteral("Around Wrist")); + InitMeasurement(wristGirth_M, QStringLiteral("Wrist girth"), QStringLiteral("Around Wrist")); - InitMeasurement(scyeDepth, QStringLiteral("Armscye depth"), + InitMeasurement(scyeDepth_M, QStringLiteral("Armscye depth"), QStringLiteral("Nape straight down to UnderBust line (same as Back UpperBust height)")); - InitMeasurement(shoulderAndArmLength, QStringLiteral("Shoulder and Arm length"), + InitMeasurement(shoulderAndArmLength_M, QStringLiteral("Shoulder and Arm length"), QStringLiteral("NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip")); - InitMeasurement(underarmLength, QStringLiteral("Underarm length"), + InitMeasurement(underarmLength_M, QStringLiteral("Underarm length"), QStringLiteral("Armpit to Wrist, with arm straight and hanging at side")); - InitMeasurement(cervicaleToWristLength, QStringLiteral("Nape to wrist length"), + InitMeasurement(cervicaleToWristLength_M, QStringLiteral("Nape to wrist length"), QStringLiteral("Nape to Wrist, with elbow bent and hand on hip")); - InitMeasurement(shoulderToElbowLength, QStringLiteral("Elbow length"), + InitMeasurement(shoulderToElbowLength_M, QStringLiteral("Elbow length"), QStringLiteral("ShoulderTip to Elbow, with elbow bent and hand on hip")); - InitMeasurement(armLength, QStringLiteral("Arm length"), + InitMeasurement(armLength_M, QStringLiteral("Arm length"), QStringLiteral("ShoulderTip to Wrist, with elbow bent and hand on hip")); // hand - InitMeasurement(handWidth, QStringLiteral("Hand width"), QStringLiteral("Hand side to side")); + InitMeasurement(handWidth_M, QStringLiteral("Hand width"), QStringLiteral("Hand side to side")); - InitMeasurement(handLength, QStringLiteral("Hand length"), QStringLiteral("Hand Middle Finger tip to wrist")); + InitMeasurement(handLength_M, QStringLiteral("Hand length"), QStringLiteral("Hand Middle Finger tip to wrist")); - InitMeasurement(handGirth, QStringLiteral("Hand girth"), QStringLiteral("Around Hand")); + InitMeasurement(handGirth_M, QStringLiteral("Hand girth"), QStringLiteral("Around Hand")); // leg - InitMeasurement(thighGirth, QStringLiteral("Thigh girth"), QStringLiteral("Around Thigh")); + InitMeasurement(thighGirth_M, QStringLiteral("Thigh girth"), QStringLiteral("Around Thigh")); - InitMeasurement(midThighGirth, QStringLiteral("Midthigh girth"), QStringLiteral("Around MidThigh")); + InitMeasurement(midThighGirth_M, QStringLiteral("Midthigh girth"), QStringLiteral("Around MidThigh")); - InitMeasurement(kneeGirth, QStringLiteral("Knee girth"), QStringLiteral("Around Knee")); + InitMeasurement(kneeGirth_M, QStringLiteral("Knee girth"), QStringLiteral("Around Knee")); - InitMeasurement(calfGirth, QStringLiteral("Calf girth"), QStringLiteral("Around Calf")); + InitMeasurement(calfGirth_M, QStringLiteral("Calf girth"), QStringLiteral("Around Calf")); - InitMeasurement(ankleGirth, QStringLiteral("Ankle girth"), QStringLiteral("Around Ankle")); + InitMeasurement(ankleGirth_M, QStringLiteral("Ankle girth"), QStringLiteral("Around Ankle")); - InitMeasurement(kneeHeight, QStringLiteral("Knee height"), QStringLiteral("Knee to Floor")); + InitMeasurement(kneeHeight_M, QStringLiteral("Knee height"), QStringLiteral("Knee to Floor")); - InitMeasurement(ankleHeight, QStringLiteral("Ankle height"), QStringLiteral("Ankle to Floor")); + InitMeasurement(ankleHeight_M, QStringLiteral("Ankle height"), QStringLiteral("Ankle to Floor")); // foot - InitMeasurement(footWidth, QStringLiteral("Foot width"), QStringLiteral("Widest part of Foot side to side")); + InitMeasurement(footWidth_M, QStringLiteral("Foot width"), QStringLiteral("Widest part of Foot side to side")); - InitMeasurement(footLength, QStringLiteral("Foot length"), + InitMeasurement(footLength_M, QStringLiteral("Foot length"), QStringLiteral("Tip of Longest Toe straight to back of heel")); // heights - InitMeasurement(height, QStringLiteral("Total Height"), QStringLiteral("Top of head to floor")); + InitMeasurement(height_M, QStringLiteral("Total Height"), QStringLiteral("Top of head to floor")); - InitMeasurement(cervicaleHeight, QStringLiteral("Nape height"), QStringLiteral("Nape to Floor")); + InitMeasurement(cervicaleHeight_M, QStringLiteral("Nape height"), QStringLiteral("Nape to Floor")); - InitMeasurement(cervicaleToKneeHeight, QStringLiteral("Nape to knee height"), QStringLiteral("Nape to Knee")); + InitMeasurement(cervicaleToKneeHeight_M, QStringLiteral("Nape to knee height"), QStringLiteral("Nape to Knee")); - InitMeasurement(waistHeight, QStringLiteral("Waist height"), QStringLiteral("Waist side to floor")); + InitMeasurement(waistHeight_M, QStringLiteral("Waist height"), QStringLiteral("Waist side to floor")); - InitMeasurement(highHipHeight, QStringLiteral("HighHip height"), QStringLiteral("HighHip side to Floor")); + InitMeasurement(highHipHeight_M, QStringLiteral("HighHip height"), QStringLiteral("HighHip side to Floor")); - InitMeasurement(hipHeight, QStringLiteral("Hip height"), QStringLiteral("Hip side to Floor")); + InitMeasurement(hipHeight_M, QStringLiteral("Hip height"), QStringLiteral("Hip side to Floor")); - InitMeasurement(waistToHipHeight, QStringLiteral("Waist to Hip height"), QStringLiteral("Waist side to Hip")); + InitMeasurement(waistToHipHeight_M, QStringLiteral("Waist to Hip height"), QStringLiteral("Waist side to Hip")); - InitMeasurement(waistToKneeHeight, QStringLiteral("Waist to Knee height"), QStringLiteral("Waist side to Knee")); + InitMeasurement(waistToKneeHeight_M, QStringLiteral("Waist to Knee height"), QStringLiteral("Waist side to Knee")); - InitMeasurement(crotchHeight, QStringLiteral("Crotch height/Inseam"), + InitMeasurement(crotchHeight_M, QStringLiteral("Crotch height/Inseam"), QStringLiteral("Crotch to Floor along inside leg")); //extended - InitMeasurement(heightFrontNeckBasePoint, QStringLiteral("Height front neck base point"), + InitMeasurement(heightFrontNeckBasePoint_M, QStringLiteral("Height front neck base point"), QStringLiteral("Height of the point base of the neck in front")); - InitMeasurement(heightBaseNeckSidePoint, QStringLiteral("Height base neck side point"), + InitMeasurement(heightBaseNeckSidePoint_M, QStringLiteral("Height base neck side point"), QStringLiteral("Height of the base of the neck side point")); - InitMeasurement(heightShoulderPoint, QStringLiteral("Height shoulder point"), + InitMeasurement(heightShoulderPoint_M, QStringLiteral("Height shoulder point"), QStringLiteral("The height of the shoulder point")); - InitMeasurement(heightNipplePoint, QStringLiteral("Height nipple point"), QStringLiteral("Height nipple point")); + InitMeasurement(heightNipplePoint_M, QStringLiteral("Height nipple point"), QStringLiteral("Height nipple point")); - InitMeasurement(heightBackAngleAxilla, QStringLiteral("Height back angle axilla"), + InitMeasurement(heightBackAngleAxilla_M, QStringLiteral("Height back angle axilla"), QStringLiteral("Height back angle axilla")); - InitMeasurement(heightScapularPoint, QStringLiteral("Height scapular point"), + InitMeasurement(heightScapularPoint_M, QStringLiteral("Height scapular point"), QStringLiteral("Height scapular point")); - InitMeasurement(heightUnderButtockFolds, QStringLiteral("Height under buttock folds"), + InitMeasurement(heightUnderButtockFolds_M, QStringLiteral("Height under buttock folds"), QStringLiteral("Height under buttock folds")); - InitMeasurement(hipsExcludingProtrudingAbdomen, QStringLiteral("Hips excluding protruding abdomen"), + InitMeasurement(hipsExcludingProtrudingAbdomen_M, QStringLiteral("Hips excluding protruding abdomen"), QStringLiteral("Hips excluding protruding abdomen")); - InitMeasurement(girthFootInstep, QStringLiteral("Girth foot instep"), QStringLiteral("Girth foot instep")); + InitMeasurement(girthFootInstep_M, QStringLiteral("Girth foot instep"), QStringLiteral("Girth foot instep")); - InitMeasurement(sideWaistToFloor, QStringLiteral("Side waist to floor"), + InitMeasurement(sideWaistToFloor_M, QStringLiteral("Side waist to floor"), QStringLiteral("The distance from the side waist to floor")); - InitMeasurement(frontWaistToFloor, QStringLiteral("Front waist to floor"), + InitMeasurement(frontWaistToFloor_M, QStringLiteral("Front waist to floor"), QStringLiteral("The distance from the front waist to floor")); - InitMeasurement(arcThroughGroinArea, QStringLiteral("Arc through groin area"), + InitMeasurement(arcThroughGroinArea_M, QStringLiteral("Arc through groin area"), QStringLiteral("Arc through groin area")); - InitMeasurement(waistToPlaneSeat, QStringLiteral("Waist to plane seat"), + InitMeasurement(waistToPlaneSeat_M, QStringLiteral("Waist to plane seat"), QStringLiteral("The distance from the waist to the plane seat")); - InitMeasurement(neckToRadialPoint, QStringLiteral("Neck to radial point"), + InitMeasurement(neckToRadialPoint_M, QStringLiteral("Neck to radial point"), QStringLiteral("The distance from the base of the neck to the side of the radial point")); - InitMeasurement(neckToThirdFinger, QStringLiteral("Neck to third finger"), + InitMeasurement(neckToThirdFinger_M, QStringLiteral("Neck to third finger"), QStringLiteral("Distance from the base of the neck side point to the end of the third finger")); - InitMeasurement(neckToFirstLineChestCircumference, QStringLiteral("Neck to first line chest circumference"), + InitMeasurement(neckToFirstLineChestCircumference_M, QStringLiteral("Neck to first line chest circumference"), QStringLiteral("The distance from the base of the neck to the side of the first line in front of " "chest circumference")); - InitMeasurement(frontWaistLength, QStringLiteral("Front waist length"), + InitMeasurement(frontWaistLength_M, QStringLiteral("Front waist length"), QStringLiteral("The distance from the base of the neck to the waist side front (waist length in " "the front)")); - InitMeasurement(arcThroughShoulderJoint, QStringLiteral("Arc through shoulder joint"), + InitMeasurement(arcThroughShoulderJoint_M, QStringLiteral("Arc through shoulder joint"), QStringLiteral("Arc through the highest point of the shoulder joint")); - InitMeasurement(neckToBackLineChestCircumference, QStringLiteral("Neck to back line chest circumference"), + InitMeasurement(neckToBackLineChestCircumference_M, QStringLiteral("Neck to back line chest circumference"), QStringLiteral("The distance from the base of the neck to the back line of chest circumference of " "the first and the second based on ledge vanes")); - InitMeasurement(waistToNeckSide, QStringLiteral("Waist to neck side"), + InitMeasurement(waistToNeckSide_M, QStringLiteral("Waist to neck side"), QStringLiteral("The distance from the waist to the back base of the neck side point")); - InitMeasurement(arcLengthUpperBody, QStringLiteral("Arc length upper body"), + InitMeasurement(arcLengthUpperBody_M, QStringLiteral("Arc length upper body"), QStringLiteral("Arc length of the upper body through the base of the neck side point")); - InitMeasurement(chestWidth, QStringLiteral("Chest width"), QStringLiteral("Chest width")); + InitMeasurement(chestWidth_M, QStringLiteral("Chest width"), QStringLiteral("Chest width")); - InitMeasurement(anteroposteriorDiameterHands, QStringLiteral("Anteroposterior diameter hands"), + InitMeasurement(anteroposteriorDiameterHands_M, QStringLiteral("Anteroposterior diameter hands"), QStringLiteral("Anteroposterior diameter of the hands")); - InitMeasurement(heightClavicularPoint, QStringLiteral("Height clavicular point"), + InitMeasurement(heightClavicularPoint_M, QStringLiteral("Height clavicular point"), QStringLiteral("Height clavicular point")); - InitMeasurement(heightArmholeSlash, QStringLiteral("Height armhole slash"), + InitMeasurement(heightArmholeSlash_M, QStringLiteral("Height armhole slash"), QStringLiteral("The distance from the point to the cervical level of the posterior angle of the " "front armpit (underarm height oblique)")); - InitMeasurement(slashShoulderHeight, QStringLiteral("Slash shoulder height"), + InitMeasurement(slashShoulderHeight_M, QStringLiteral("Slash shoulder height"), QStringLiteral("Slash shoulder height")); - InitMeasurement(halfGirthNeck, QStringLiteral("Half girth neck"), QStringLiteral("Half girth neck")); + InitMeasurement(halfGirthNeck_M, QStringLiteral("Half girth neck"), QStringLiteral("Half girth neck")); - InitMeasurement(halfGirthNeckForShirts, QStringLiteral("Half girth neck for shirts"), + InitMeasurement(halfGirthNeckForShirts_M, QStringLiteral("Half girth neck for shirts"), QStringLiteral("Half girth neck for shirts")); - InitMeasurement(halfGirthChestFirst, QStringLiteral("Half girth chest first"), + InitMeasurement(halfGirthChestFirst_M, QStringLiteral("Half girth chest first"), QStringLiteral("Half girth chest first")); - InitMeasurement(halfGirthChestSecond, QStringLiteral("Half girth chest second"), + InitMeasurement(halfGirthChestSecond_M, QStringLiteral("Half girth chest second"), QStringLiteral("Half girth chest second")); - InitMeasurement(halfGirthChestThird, QStringLiteral("Half girth chest third"), + InitMeasurement(halfGirthChestThird_M, QStringLiteral("Half girth chest third"), QStringLiteral("Half girth chest third")); - InitMeasurement(halfGirthWaist, QStringLiteral("Half girth waist"), QStringLiteral("Half girth waist")); + InitMeasurement(halfGirthWaist_M, QStringLiteral("Half girth waist"), QStringLiteral("Half girth waist")); - InitMeasurement(halfGirthHipsConsideringProtrudingAbdomen, + InitMeasurement(halfGirthHipsConsideringProtrudingAbdomen_M, QStringLiteral("Half girth hips considering protruding abdomen"), QStringLiteral("Half girth hips considering protruding abdomen")); - InitMeasurement(halfGirthHipsExcludingProtrudingAbdomen, + InitMeasurement(halfGirthHipsExcludingProtrudingAbdomen_M, QStringLiteral("Half girth hips excluding protruding abdomen"), QStringLiteral("Half girth hips excluding protruding abdomen")); - InitMeasurement(girthKneeFlexedFeet, QStringLiteral("Girth knee flexed feet"), + InitMeasurement(girthKneeFlexedFeet_M, QStringLiteral("Girth knee flexed feet"), QStringLiteral("Girth knee flexed feet")); - InitMeasurement(neckTransverseDiameter, QStringLiteral("Neck transverse diameter"), + InitMeasurement(neckTransverseDiameter_M, QStringLiteral("Neck transverse diameter"), QStringLiteral("Neck transverse diameter")); - InitMeasurement(frontSlashShoulderHeight, QStringLiteral("Front slash shoulder height"), + InitMeasurement(frontSlashShoulderHeight_M, QStringLiteral("Front slash shoulder height"), QStringLiteral("Front slash shoulder height")); - InitMeasurement(neckToFrontWaistLine, QStringLiteral("Neck to front waist line"), + InitMeasurement(neckToFrontWaistLine_M, QStringLiteral("Neck to front waist line"), QStringLiteral("The distance from the base of the neck to the waist line front")); - InitMeasurement(handVerticalDiameter, QStringLiteral("Hand vertical diameter"), + InitMeasurement(handVerticalDiameter_M, QStringLiteral("Hand vertical diameter"), QStringLiteral("Hand vertical diameter")); - InitMeasurement(neckToKneePoint, QStringLiteral("Neck to knee point"), + InitMeasurement(neckToKneePoint_M, QStringLiteral("Neck to knee point"), QStringLiteral("Distance from neck to knee point")); - InitMeasurement(waistToKnee, QStringLiteral("Waist to knee"), + InitMeasurement(waistToKnee_M, QStringLiteral("Waist to knee"), QStringLiteral("The distance from the waist to the knee")); - InitMeasurement(shoulderHeight, QStringLiteral("Shoulder height"), QStringLiteral("Shoulder height")); + InitMeasurement(shoulderHeight_M, QStringLiteral("Shoulder height"), QStringLiteral("Shoulder height")); - InitMeasurement(headHeight, QStringLiteral("Head height"), QStringLiteral("Head height")); + InitMeasurement(headHeight_M, QStringLiteral("Head height"), QStringLiteral("Head height")); - InitMeasurement(bodyPosition, QStringLiteral("Body position"), QStringLiteral("Body position")); + InitMeasurement(bodyPosition_M, QStringLiteral("Body position"), QStringLiteral("Body position")); - InitMeasurement(arcBehindShoulderGirdle, QStringLiteral("Arc behind shoulder girdle"), + InitMeasurement(arcBehindShoulderGirdle_M, QStringLiteral("Arc behind shoulder girdle"), QStringLiteral("Arc behind the shoulder girdle")); - InitMeasurement(neckToNeckBase, QStringLiteral("Neck to neck base"), + InitMeasurement(neckToNeckBase_M, QStringLiteral("Neck to neck base"), QStringLiteral("Distance from neck point to point on the base of the neck side neck girth " "measurement line")); - InitMeasurement(depthWaistFirst, QStringLiteral("Depth waist first"), QStringLiteral("Depth waist first")); + InitMeasurement(depthWaistFirst_M, QStringLiteral("Depth waist first"), QStringLiteral("Depth waist first")); - InitMeasurement(depthWaistSecond, QStringLiteral("Depth waist second"), QStringLiteral("Depth waist second")); + InitMeasurement(depthWaistSecond_M, QStringLiteral("Depth waist second"), QStringLiteral("Depth waist second")); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/xml/vindividualmeasurements.cpp b/src/app/xml/vindividualmeasurements.cpp index 8a6ceaefe..3ea2f8149 100644 --- a/src/app/xml/vindividualmeasurements.cpp +++ b/src/app/xml/vindividualmeasurements.cpp @@ -60,142 +60,142 @@ void VIndividualMeasurements::setUnit(const Valentina::Units &unit) void VIndividualMeasurements::Measurements() { //head and neck - Measurement(headGirth); - Measurement(midNeckGirth); - Measurement(neckBaseGirth); - Measurement(headAndNeckLength); + Measurement(headGirth_M); + Measurement(midNeckGirth_M); + Measurement(neckBaseGirth_M); + Measurement(headAndNeckLength_M); //torso - Measurement(centerFrontWaistLength); - Measurement(centerBackWaistLength); - Measurement(shoulderLength); - Measurement(sideWaistLength); - Measurement(trunkLength); - Measurement(shoulderGirth); - Measurement(upperChestGirth); - Measurement(bustGirth); - Measurement(underBustGirth); - Measurement(waistGirth); - Measurement(highHipGirth); - Measurement(hipGirth); - Measurement(upperFrontChestWidth); - Measurement(frontChestWidth); - Measurement(acrossFrontShoulderWidth); - Measurement(acrossBackShoulderWidth); - Measurement(upperBackWidth); - Measurement(backWidth); - Measurement(bustpointToBustpoint); - Measurement(halterBustpointToBustpoint); - Measurement(neckToBustpoint); - Measurement(crotchLength); - Measurement(riseHeight); - Measurement(shoulderDrop); - Measurement(shoulderSlopeDegrees); - Measurement(frontShoulderSlopeLength); - Measurement(backShoulderSlopeLength); - Measurement(frontShoulderToWaistLength); - Measurement(backShoulderToWaistLength); - Measurement(frontNeckArc); - Measurement(backNeckArc); - Measurement(frontUpperChestArc); - Measurement(backUpperChestArc); - Measurement(frontWaistArc); - Measurement(backWaistArc); - Measurement(frontUpperHipArc); - Measurement(backUpperHipArc); - Measurement(frontHipArc); - Measurement(backHipArc); - Measurement(chestSlope); - Measurement(backSlope); - Measurement(frontWaistSlope); - Measurement(backWaistSlope); - Measurement(frontNeckToUpperChestHeight); - Measurement(frontNeckToBustHeight); + Measurement(centerFrontWaistLength_M); + Measurement(centerBackWaistLength_M); + Measurement(shoulderLength_M); + Measurement(sideWaistLength_M); + Measurement(trunkLength_M); + Measurement(shoulderGirth_M); + Measurement(upperChestGirth_M); + Measurement(bustGirth_M); + Measurement(underBustGirth_M); + Measurement(waistGirth_M); + Measurement(highHipGirth_M); + Measurement(hipGirth_M); + Measurement(upperFrontChestWidth_M); + Measurement(frontChestWidth_M); + Measurement(acrossFrontShoulderWidth_M); + Measurement(acrossBackShoulderWidth_M); + Measurement(upperBackWidth_M); + Measurement(backWidth_M); + Measurement(bustpointToBustpoint_M); + Measurement(halterBustpointToBustpoint_M); + Measurement(neckToBustpoint_M); + Measurement(crotchLength_M); + Measurement(riseHeight_M); + Measurement(shoulderDrop_M); + Measurement(shoulderSlopeDegrees_M); + Measurement(frontShoulderSlopeLength_M); + Measurement(backShoulderSlopeLength_M); + Measurement(frontShoulderToWaistLength_M); + Measurement(backShoulderToWaistLength_M); + Measurement(frontNeckArc_M); + Measurement(backNeckArc_M); + Measurement(frontUpperChestArc_M); + Measurement(backUpperChestArc_M); + Measurement(frontWaistArc_M); + Measurement(backWaistArc_M); + Measurement(frontUpperHipArc_M); + Measurement(backUpperHipArc_M); + Measurement(frontHipArc_M); + Measurement(backHipArc_M); + Measurement(chestSlope_M); + Measurement(backSlope_M); + Measurement(frontWaistSlope_M); + Measurement(backWaistSlope_M); + Measurement(frontNeckToUpperChestHeight_M); + Measurement(frontNeckToBustHeight_M); //arm - Measurement(armscyeGirth); - Measurement(elbowGirth); - Measurement(upperArmGirth); - Measurement(wristGirth); - Measurement(scyeDepth); - Measurement(shoulderAndArmLength); - Measurement(underarmLength); - Measurement(cervicaleToWristLength); - Measurement(shoulderToElbowLength); - Measurement(armLength); + Measurement(armscyeGirth_M); + Measurement(elbowGirth_M); + Measurement(upperArmGirth_M); + Measurement(wristGirth_M); + Measurement(scyeDepth_M); + Measurement(shoulderAndArmLength_M); + Measurement(underarmLength_M); + Measurement(cervicaleToWristLength_M); + Measurement(shoulderToElbowLength_M); + Measurement(armLength_M); //hand - Measurement(handWidth); - Measurement(handLength); - Measurement(handGirth); + Measurement(handWidth_M); + Measurement(handLength_M); + Measurement(handGirth_M); //leg - Measurement(thighGirth); - Measurement(midThighGirth); - Measurement(kneeGirth); - Measurement(calfGirth); - Measurement(ankleGirth); - Measurement(kneeHeight); - Measurement(ankleHeight); + Measurement(thighGirth_M); + Measurement(midThighGirth_M); + Measurement(kneeGirth_M); + Measurement(calfGirth_M); + Measurement(ankleGirth_M); + Measurement(kneeHeight_M); + Measurement(ankleHeight_M); //foot - Measurement(footWidth); - Measurement(footLength); + Measurement(footWidth_M); + Measurement(footLength_M); //heights - Measurement(height); - Measurement(cervicaleHeight); - Measurement(cervicaleToKneeHeight); - Measurement(waistHeight); - Measurement(highHipHeight); - Measurement(hipHeight); - Measurement(waistToHipHeight); - Measurement(waistToKneeHeight); - Measurement(crotchHeight); + Measurement(height_M); + Measurement(cervicaleHeight_M); + Measurement(cervicaleToKneeHeight_M); + Measurement(waistHeight_M); + Measurement(highHipHeight_M); + Measurement(hipHeight_M); + Measurement(waistToHipHeight_M); + Measurement(waistToKneeHeight_M); + Measurement(crotchHeight_M); //extended - Measurement(size); - Measurement(heightFrontNeckBasePoint); - Measurement(heightBaseNeckSidePoint); - Measurement(heightShoulderPoint); - Measurement(heightNipplePoint); - Measurement(heightBackAngleAxilla); - Measurement(heightScapularPoint); - Measurement(heightUnderButtockFolds); - Measurement(hipsExcludingProtrudingAbdomen); - Measurement(girthFootInstep); - Measurement(sideWaistToFloor); - Measurement(frontWaistToFloor); - Measurement(arcThroughGroinArea); - Measurement(waistToPlaneSeat); - Measurement(neckToRadialPoint); - Measurement(neckToThirdFinger); - Measurement(neckToFirstLineChestCircumference); - Measurement(frontWaistLength); - Measurement(arcThroughShoulderJoint); - Measurement(neckToBackLineChestCircumference); - Measurement(waistToNeckSide); - Measurement(arcLengthUpperBody); - Measurement(chestWidth); - Measurement(anteroposteriorDiameterHands); - Measurement(heightClavicularPoint); - Measurement(heightArmholeSlash); - Measurement(slashShoulderHeight); - Measurement(halfGirthNeck); - Measurement(halfGirthNeckForShirts); - Measurement(halfGirthChestFirst); - Measurement(halfGirthChestSecond); - Measurement(halfGirthChestThird); - Measurement(halfGirthWaist); - Measurement(halfGirthHipsConsideringProtrudingAbdomen); - Measurement(halfGirthHipsExcludingProtrudingAbdomen); - Measurement(girthKneeFlexedFeet); - Measurement(neckTransverseDiameter); - Measurement(frontSlashShoulderHeight); - Measurement(neckToFrontWaistLine); - Measurement(handVerticalDiameter); - Measurement(neckToKneePoint); - Measurement(waistToKnee); - Measurement(shoulderHeight); - Measurement(headHeight); - Measurement(bodyPosition); - Measurement(arcBehindShoulderGirdle); - Measurement(neckToNeckBase); - Measurement(depthWaistFirst); - Measurement(depthWaistSecond); + Measurement(size_M); + Measurement(heightFrontNeckBasePoint_M); + Measurement(heightBaseNeckSidePoint_M); + Measurement(heightShoulderPoint_M); + Measurement(heightNipplePoint_M); + Measurement(heightBackAngleAxilla_M); + Measurement(heightScapularPoint_M); + Measurement(heightUnderButtockFolds_M); + Measurement(hipsExcludingProtrudingAbdomen_M); + Measurement(girthFootInstep_M); + Measurement(sideWaistToFloor_M); + Measurement(frontWaistToFloor_M); + Measurement(arcThroughGroinArea_M); + Measurement(waistToPlaneSeat_M); + Measurement(neckToRadialPoint_M); + Measurement(neckToThirdFinger_M); + Measurement(neckToFirstLineChestCircumference_M); + Measurement(frontWaistLength_M); + Measurement(arcThroughShoulderJoint_M); + Measurement(neckToBackLineChestCircumference_M); + Measurement(waistToNeckSide_M); + Measurement(arcLengthUpperBody_M); + Measurement(chestWidth_M); + Measurement(anteroposteriorDiameterHands_M); + Measurement(heightClavicularPoint_M); + Measurement(heightArmholeSlash_M); + Measurement(slashShoulderHeight_M); + Measurement(halfGirthNeck_M); + Measurement(halfGirthNeckForShirts_M); + Measurement(halfGirthChestFirst_M); + Measurement(halfGirthChestSecond_M); + Measurement(halfGirthChestThird_M); + Measurement(halfGirthWaist_M); + Measurement(halfGirthHipsConsideringProtrudingAbdomen_M); + Measurement(halfGirthHipsExcludingProtrudingAbdomen_M); + Measurement(girthKneeFlexedFeet_M); + Measurement(neckTransverseDiameter_M); + Measurement(frontSlashShoulderHeight_M); + Measurement(neckToFrontWaistLine_M); + Measurement(handVerticalDiameter_M); + Measurement(neckToKneePoint_M); + Measurement(waistToKnee_M); + Measurement(shoulderHeight_M); + Measurement(headHeight_M); + Measurement(bodyPosition_M); + Measurement(arcBehindShoulderGirdle_M); + Measurement(neckToNeckBase_M); + Measurement(depthWaistFirst_M); + Measurement(depthWaistSecond_M); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/xml/vstandardmeasurements.cpp b/src/app/xml/vstandardmeasurements.cpp index f0e970f2d..5c82c89fa 100644 --- a/src/app/xml/vstandardmeasurements.cpp +++ b/src/app/xml/vstandardmeasurements.cpp @@ -63,140 +63,140 @@ QString VStandardMeasurements::Description() void VStandardMeasurements::Measurements() { //head and neck - Measurement(headGirth); - Measurement(midNeckGirth); - Measurement(neckBaseGirth); - Measurement(headAndNeckLength); + Measurement(headGirth_M); + Measurement(midNeckGirth_M); + Measurement(neckBaseGirth_M); + Measurement(headAndNeckLength_M); //torso - Measurement(centerFrontWaistLength); - Measurement(centerBackWaistLength); - Measurement(shoulderLength); - Measurement(sideWaistLength); - Measurement(trunkLength); - Measurement(shoulderGirth); - Measurement(upperChestGirth); - Measurement(bustGirth); - Measurement(underBustGirth); - Measurement(waistGirth); - Measurement(highHipGirth); - Measurement(hipGirth); - Measurement(upperFrontChestWidth); - Measurement(frontChestWidth); - Measurement(acrossFrontShoulderWidth); - Measurement(acrossBackShoulderWidth); - Measurement(upperBackWidth); - Measurement(backWidth); - Measurement(bustpointToBustpoint); - Measurement(halterBustpointToBustpoint); - Measurement(neckToBustpoint); - Measurement(crotchLength); - Measurement(riseHeight); - Measurement(shoulderDrop); - Measurement(shoulderSlopeDegrees); - Measurement(frontShoulderSlopeLength); - Measurement(backShoulderSlopeLength); - Measurement(frontShoulderToWaistLength); - Measurement(backShoulderToWaistLength); - Measurement(frontNeckArc); - Measurement(backNeckArc); - Measurement(frontUpperChestArc); - Measurement(backUpperChestArc); - Measurement(frontWaistArc); - Measurement(backWaistArc); - Measurement(frontUpperHipArc); - Measurement(backUpperHipArc); - Measurement(frontHipArc); - Measurement(backHipArc); - Measurement(chestSlope); - Measurement(backSlope); - Measurement(frontWaistSlope); - Measurement(backWaistSlope); - Measurement(frontNeckToUpperChestHeight); - Measurement(frontNeckToBustHeight); + Measurement(centerFrontWaistLength_M); + Measurement(centerBackWaistLength_M); + Measurement(shoulderLength_M); + Measurement(sideWaistLength_M); + Measurement(trunkLength_M); + Measurement(shoulderGirth_M); + Measurement(upperChestGirth_M); + Measurement(bustGirth_M); + Measurement(underBustGirth_M); + Measurement(waistGirth_M); + Measurement(highHipGirth_M); + Measurement(hipGirth_M); + Measurement(upperFrontChestWidth_M); + Measurement(frontChestWidth_M); + Measurement(acrossFrontShoulderWidth_M); + Measurement(acrossBackShoulderWidth_M); + Measurement(upperBackWidth_M); + Measurement(backWidth_M); + Measurement(bustpointToBustpoint_M); + Measurement(halterBustpointToBustpoint_M); + Measurement(neckToBustpoint_M); + Measurement(crotchLength_M); + Measurement(riseHeight_M); + Measurement(shoulderDrop_M); + Measurement(shoulderSlopeDegrees_M); + Measurement(frontShoulderSlopeLength_M); + Measurement(backShoulderSlopeLength_M); + Measurement(frontShoulderToWaistLength_M); + Measurement(backShoulderToWaistLength_M); + Measurement(frontNeckArc_M); + Measurement(backNeckArc_M); + Measurement(frontUpperChestArc_M); + Measurement(backUpperChestArc_M); + Measurement(frontWaistArc_M); + Measurement(backWaistArc_M); + Measurement(frontUpperHipArc_M); + Measurement(backUpperHipArc_M); + Measurement(frontHipArc_M); + Measurement(backHipArc_M); + Measurement(chestSlope_M); + Measurement(backSlope_M); + Measurement(frontWaistSlope_M); + Measurement(backWaistSlope_M); + Measurement(frontNeckToUpperChestHeight_M); + Measurement(frontNeckToBustHeight_M); //arm - Measurement(armscyeGirth); - Measurement(elbowGirth); - Measurement(upperArmGirth); - Measurement(wristGirth); - Measurement(scyeDepth); - Measurement(shoulderAndArmLength); - Measurement(underarmLength); - Measurement(cervicaleToWristLength); - Measurement(shoulderToElbowLength); - Measurement(armLength); + Measurement(armscyeGirth_M); + Measurement(elbowGirth_M); + Measurement(upperArmGirth_M); + Measurement(wristGirth_M); + Measurement(scyeDepth_M); + Measurement(shoulderAndArmLength_M); + Measurement(underarmLength_M); + Measurement(cervicaleToWristLength_M); + Measurement(shoulderToElbowLength_M); + Measurement(armLength_M); //hand - Measurement(handWidth); - Measurement(handLength); - Measurement(handGirth); + Measurement(handWidth_M); + Measurement(handLength_M); + Measurement(handGirth_M); //leg - Measurement(thighGirth); - Measurement(midThighGirth); - Measurement(kneeGirth); - Measurement(calfGirth); - Measurement(ankleGirth); - Measurement(kneeHeight); - Measurement(ankleHeight); + Measurement(thighGirth_M); + Measurement(midThighGirth_M); + Measurement(kneeGirth_M); + Measurement(calfGirth_M); + Measurement(ankleGirth_M); + Measurement(kneeHeight_M); + Measurement(ankleHeight_M); //foot - Measurement(footWidth); - Measurement(footLength); + Measurement(footWidth_M); + Measurement(footLength_M); //heights - Measurement(cervicaleHeight); - Measurement(cervicaleToKneeHeight); - Measurement(waistHeight); - Measurement(highHipHeight); - Measurement(hipHeight); - Measurement(waistToHipHeight); - Measurement(waistToKneeHeight); - Measurement(crotchHeight); + Measurement(cervicaleHeight_M); + Measurement(cervicaleToKneeHeight_M); + Measurement(waistHeight_M); + Measurement(highHipHeight_M); + Measurement(hipHeight_M); + Measurement(waistToHipHeight_M); + Measurement(waistToKneeHeight_M); + Measurement(crotchHeight_M); //extended - Measurement(heightFrontNeckBasePoint); - Measurement(heightBaseNeckSidePoint); - Measurement(heightShoulderPoint); - Measurement(heightNipplePoint); - Measurement(heightBackAngleAxilla); - Measurement(heightScapularPoint); - Measurement(heightUnderButtockFolds); - Measurement(hipsExcludingProtrudingAbdomen); - Measurement(girthFootInstep); - Measurement(sideWaistToFloor); - Measurement(frontWaistToFloor); - Measurement(arcThroughGroinArea); - Measurement(waistToPlaneSeat); - Measurement(neckToRadialPoint); - Measurement(neckToThirdFinger); - Measurement(neckToFirstLineChestCircumference); - Measurement(frontWaistLength); - Measurement(arcThroughShoulderJoint); - Measurement(neckToBackLineChestCircumference); - Measurement(waistToNeckSide); - Measurement(arcLengthUpperBody); - Measurement(chestWidth); - Measurement(anteroposteriorDiameterHands); - Measurement(heightClavicularPoint); - Measurement(heightArmholeSlash); - Measurement(slashShoulderHeight); - Measurement(halfGirthNeck); - Measurement(halfGirthNeckForShirts); - Measurement(halfGirthChestFirst); - Measurement(halfGirthChestSecond); - Measurement(halfGirthChestThird); - Measurement(halfGirthWaist); - Measurement(halfGirthHipsConsideringProtrudingAbdomen); - Measurement(halfGirthHipsExcludingProtrudingAbdomen); - Measurement(girthKneeFlexedFeet); - Measurement(neckTransverseDiameter); - Measurement(frontSlashShoulderHeight); - Measurement(neckToFrontWaistLine); - Measurement(handVerticalDiameter); - Measurement(neckToKneePoint); - Measurement(waistToKnee); - Measurement(shoulderHeight); - Measurement(headHeight); - Measurement(bodyPosition); - Measurement(arcBehindShoulderGirdle); - Measurement(neckToNeckBase); - Measurement(depthWaistFirst); - Measurement(depthWaistSecond); + Measurement(heightFrontNeckBasePoint_M); + Measurement(heightBaseNeckSidePoint_M); + Measurement(heightShoulderPoint_M); + Measurement(heightNipplePoint_M); + Measurement(heightBackAngleAxilla_M); + Measurement(heightScapularPoint_M); + Measurement(heightUnderButtockFolds_M); + Measurement(hipsExcludingProtrudingAbdomen_M); + Measurement(girthFootInstep_M); + Measurement(sideWaistToFloor_M); + Measurement(frontWaistToFloor_M); + Measurement(arcThroughGroinArea_M); + Measurement(waistToPlaneSeat_M); + Measurement(neckToRadialPoint_M); + Measurement(neckToThirdFinger_M); + Measurement(neckToFirstLineChestCircumference_M); + Measurement(frontWaistLength_M); + Measurement(arcThroughShoulderJoint_M); + Measurement(neckToBackLineChestCircumference_M); + Measurement(waistToNeckSide_M); + Measurement(arcLengthUpperBody_M); + Measurement(chestWidth_M); + Measurement(anteroposteriorDiameterHands_M); + Measurement(heightClavicularPoint_M); + Measurement(heightArmholeSlash_M); + Measurement(slashShoulderHeight_M); + Measurement(halfGirthNeck_M); + Measurement(halfGirthNeckForShirts_M); + Measurement(halfGirthChestFirst_M); + Measurement(halfGirthChestSecond_M); + Measurement(halfGirthChestThird_M); + Measurement(halfGirthWaist_M); + Measurement(halfGirthHipsConsideringProtrudingAbdomen_M); + Measurement(halfGirthHipsExcludingProtrudingAbdomen_M); + Measurement(girthKneeFlexedFeet_M); + Measurement(neckTransverseDiameter_M); + Measurement(frontSlashShoulderHeight_M); + Measurement(neckToFrontWaistLine_M); + Measurement(handVerticalDiameter_M); + Measurement(neckToKneePoint_M); + Measurement(waistToKnee_M); + Measurement(shoulderHeight_M); + Measurement(headHeight_M); + Measurement(bodyPosition_M); + Measurement(arcBehindShoulderGirdle_M); + Measurement(neckToNeckBase_M); + Measurement(depthWaistFirst_M); + Measurement(depthWaistSecond_M); } //--------------------------------------------------------------------------------------------------------------------- @@ -242,7 +242,7 @@ void VStandardMeasurements::SetSize() if (nodeList.isEmpty()) { data->SetSize(50); - data->SetSizeName(size); + data->SetSizeName(size_M); } else { @@ -258,7 +258,7 @@ void VStandardMeasurements::SetSize() value = value/10.0; } data->SetSize(value); - data->SetSizeName(size); + data->SetSizeName(size_M); } } } @@ -271,7 +271,7 @@ void VStandardMeasurements::SetHeight() if (nodeList.isEmpty()) { data->SetHeight(176); - data->SetHeightName(height); + data->SetHeightName(height_M); } else { @@ -287,7 +287,7 @@ void VStandardMeasurements::SetHeight() value = value / 10.0; } data->SetHeight(value); - data->SetHeightName(height); + data->SetHeightName(height_M); } } } From 7b617223e94537af22aa3810c4bedac88bdc4da2 Mon Sep 17 00:00:00 2001 From: dismine Date: Fri, 16 May 2014 17:11:31 +0300 Subject: [PATCH 11/32] Get format version. --HG-- branch : feature --- src/app/container/vcontainer.cpp | 4 ++-- src/app/xml/vdomdocument.cpp | 33 +++++++++++++++++++++++---- src/app/xml/vdomdocument.h | 11 ++++++++- src/app/xml/vindividualmeasurements.h | 8 +++++++ src/app/xml/vpattern.h | 8 +++++++ src/app/xml/vstandardmeasurements.h | 8 +++++++ 6 files changed, 65 insertions(+), 7 deletions(-) diff --git a/src/app/container/vcontainer.cpp b/src/app/container/vcontainer.cpp index f5e59523a..6a5ceb691 100644 --- a/src/app/container/vcontainer.cpp +++ b/src/app/container/vcontainer.cpp @@ -36,7 +36,7 @@ quint32 VContainer::_id = 0; //--------------------------------------------------------------------------------------------------------------------- VContainer::VContainer() - :_size(50), sizeName("Сг"), _height(176), heightName("P"), gObjects(QHash()), + :_size(50), sizeName(size_M), _height(176), heightName(height_M), gObjects(QHash()), measurements(QHash()), increments(QHash()), lengthLines(QHash()), lineAngles(QHash()), lengthSplines(QHash()), lengthArcs(QHash()), details(QHash()) @@ -51,7 +51,7 @@ VContainer &VContainer::operator =(const VContainer &data) //--------------------------------------------------------------------------------------------------------------------- VContainer::VContainer(const VContainer &data) - :_size(50), sizeName("Сг"), _height(176), heightName("P"), gObjects(QHash()), + :_size(50), sizeName(size_M), _height(176), heightName(height_M), gObjects(QHash()), measurements(QHash()), increments(QHash()), lengthLines(QHash()), lineAngles(QHash()), lengthSplines(QHash()), lengthArcs(QHash()), details(QHash()) diff --git a/src/app/xml/vdomdocument.cpp b/src/app/xml/vdomdocument.cpp index 81f52a123..c65e1b50c 100644 --- a/src/app/xml/vdomdocument.cpp +++ b/src/app/xml/vdomdocument.cpp @@ -83,11 +83,12 @@ inline qint64 MessageHandler::column() const return m_sourceLocation.column(); } -const QString VDomDocument::AttrId = QStringLiteral("id"); -const QString VDomDocument::AttrUnit = QStringLiteral("unit"); -const QString VDomDocument::UnitMM = QStringLiteral("mm"); -const QString VDomDocument::UnitCM = QStringLiteral("cm"); +const QString VDomDocument::AttrId = QStringLiteral("id"); +const QString VDomDocument::AttrUnit = QStringLiteral("unit"); +const QString VDomDocument::UnitMM = QStringLiteral("mm"); +const QString VDomDocument::UnitCM = QStringLiteral("cm"); const QString VDomDocument::UnitINCH = QStringLiteral("inch"); +const QString VDomDocument::TagVersion = QStringLiteral("version"); //--------------------------------------------------------------------------------------------------------------------- VDomDocument::VDomDocument(VContainer *data) @@ -431,6 +432,30 @@ bool VDomDocument::SaveDocument(const QString &fileName) return result; } +//--------------------------------------------------------------------------------------------------------------------- +QString VDomDocument::Major() const +{ + QString version = UniqueTagText(TagVersion, "0.0.0"); + QStringList v = version.split("."); + return v.at(0); +} + +//--------------------------------------------------------------------------------------------------------------------- +QString VDomDocument::Minor() const +{ + QString version = UniqueTagText(TagVersion, "0.0.0"); + QStringList v = version.split("."); + return v.at(1); +} + +//--------------------------------------------------------------------------------------------------------------------- +QString VDomDocument::Patch() const +{ + QString version = UniqueTagText(TagVersion, "0.0.0"); + QStringList v = version.split("."); + return v.at(2); +} + //--------------------------------------------------------------------------------------------------------------------- void VDomDocument::setTagText(const QString &tag, const QString &text) { diff --git a/src/app/xml/vdomdocument.h b/src/app/xml/vdomdocument.h index a0369050e..6f3777205 100644 --- a/src/app/xml/vdomdocument.h +++ b/src/app/xml/vdomdocument.h @@ -35,6 +35,11 @@ #include #include "../options.h" +/* + can be used like #if (V_FORMAT_VERSION >= V_FORMAT_VERSION_CHECK(4, 4, 0)) +*/ +#define V_FORMAT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch)) + #ifdef Q_CC_GNU #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Weffc++" @@ -70,6 +75,7 @@ public: static const QString UnitMM; static const QString UnitCM; static const QString UnitINCH; + static const QString TagVersion; /** * @param data container with variables * @param comboBoxDraws pointer to the ComboBox that will hold the pattern piece names @@ -145,7 +151,10 @@ public: void setContent(const QString &fileName); static Valentina::Units StrToUnits(const QString &unit); static QString UnitsToStr(const Valentina::Units &unit); - virtual bool SaveDocument(const QString &fileName); + virtual bool SaveDocument(const QString &fileName); + QString Major() const; + QString Minor() const; + QString Patch() const; protected: /** * @brief data container with data. diff --git a/src/app/xml/vindividualmeasurements.h b/src/app/xml/vindividualmeasurements.h index 148121bd9..e8dcdb9df 100644 --- a/src/app/xml/vindividualmeasurements.h +++ b/src/app/xml/vindividualmeasurements.h @@ -32,6 +32,14 @@ #include "vdomdocument.h" #include +/* + VIT_VERSION is (major << 16) + (minor << 8) + patch. +*/ +// version without patch part +#define VIT_MIN_VERSION 0x000100 +// max support version of format +#define VIT_VERSION 0x000100 + class VIndividualMeasurements:public VDomDocument { public: diff --git a/src/app/xml/vpattern.h b/src/app/xml/vpattern.h index 101e95002..da166a6b0 100644 --- a/src/app/xml/vpattern.h +++ b/src/app/xml/vpattern.h @@ -45,6 +45,14 @@ namespace Document } Q_DECLARE_OPERATORS_FOR_FLAGS(Document::Documents) +/* + VAL_VERSION is (major << 16) + (minor << 8) + patch. +*/ +// version without patch part +#define VAL_MIN_VERSION 0x000100 +// max support version of format +#define VAL_VERSION 0x000100 + /** * @brief The VPattern class working with pattern file. */ diff --git a/src/app/xml/vstandardmeasurements.h b/src/app/xml/vstandardmeasurements.h index 9b6b1d694..a970f46c4 100644 --- a/src/app/xml/vstandardmeasurements.h +++ b/src/app/xml/vstandardmeasurements.h @@ -31,6 +31,14 @@ #include "vdomdocument.h" +/* + VST_VERSION is (major << 16) + (minor << 8) + patch. +*/ +// version without patch part +#define VST_MIN_VERSION 0x000100 +// max support version of format +#define VST_VERSION 0x000100 + class VStandardMeasurements:public VDomDocument { public: From cdd7fe3cb6bb8f544c7a36a99dc0601dea61cabd Mon Sep 17 00:00:00 2001 From: dismine Date: Mon, 19 May 2014 17:57:13 +0300 Subject: [PATCH 12/32] Issue #116. --HG-- branch : feature --- scripts/alphabets.py | 98 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100755 scripts/alphabets.py diff --git a/scripts/alphabets.py b/scripts/alphabets.py new file mode 100755 index 000000000..460029cf9 --- /dev/null +++ b/scripts/alphabets.py @@ -0,0 +1,98 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +import codecs +import sys +#Alphabets was taken from website http://www.alphabet-letters.com/ + +#Use this script if you want get all unique symbols from all alphabets. +#This unique symbols need for math parser. +#Example: +# ցЀĆЈVӧĎАғΕĖӅИқΝĞơРңњΥĦШҫ̆جگĮаҳѕεشԶиһνԾрυلՆӝшËՎҔPÓՖXӛӟŞӣզhëծpóӞնxßվāŁЃֆĉЋCŬđҐГΒęҘЛΚŘġҠУGاհЫدԱҰгβطԹõлκKՁÀуςهՉÈыvیՑÐSOřӘћաőcӐթèkàѓżűðsķչøӥӔĀփїІĈЎґĐΗЖҙĘȚ +# ΟОҡĠآΧЦتЮұİزηжԸغοоÁՀقχцÉՈيюÑՐђӋіәťӆўáŠĺѐfөըnñŰӤӨӹոľЁրăЉŭċБӸēłΔҖЙŤěΜӜDСձģΤӰЩīņحҮбưԳصδHйԻŇμӲӴсՃمτƠщՋєLQŹՓŕÖYśÞaգĽæiŽիӓîqճöyջþĂօЄӦĊЌΑĒДҗјΙȘĚМΡéĵĢФūӚΩبĪЬүќ +# αذԲдҷιظԺмρՂфÇωوՊьÏՒTŚĻJբdçժlïӪղtպӫAւąЇčŃЏĕӯЗΖEțŮĝПΞأĥĹЧΦثÆӳЯIسŲԵзζԽпξكՅÄчφNMՍӌяӢՕÔWÎŝÜџёźեägխoӒյôwĶBžսüЂĄև̈ЊČƏљΓВҕĔӮΛКĜΣТҥĤکЪƯخγвŅԴŪضλкԼĴσтÅՄنъÍՌRӕ +# ՔZÝŜbåդﻩjíլļrӵմzýռپêЅքćچЍďӱҒЕůėژșΘØҚНğńءΠFҢХħΨҪЭųįҶرҲеԷňعθҺнԿفπÂхՇψÊэšՏÒUəÚѝŻşҤӑâeէŐımկòuշÕúտŔ + +RUSSIAN_ALPHABET = set(u'абвгдеёжзийклмнопрстуфхцчшщьыъэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ') #RUSSIAN ALPHABET +ENGLISH_ALPHABET = set(u'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') #ENGLISH ALPHABET +AZERBAIJANI_ALPHABET = set(u'abcçdeəfgğhxıijkqlmnoöprsştuüvyzABCÇDEƏFGĞHXIİJKQLMNOÖPRSŞTUÜVYZ') #AZERBAIJANI ALPHABET +ALBANIAN_ALPHABET = set(u'abcçddheëfggjhijklllmnnjopqrrrsshtthuvxxhyzzhABCÇDDhEËFGGjHIJKLLlMNNjOPQRRrSShTThUVXXhYZZh') #ALBANIAN ALPHABET +ARABIC_ALPHABET = set(u'أبجدوﻩزحطيكلمنسعفصقرشتثخذضظغ') #ARABIC ALPHABET +ARMENIAN_ALPHABET = set(u'աբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքեւօֆԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔԵվևՕՖ') #ARMENIAN ALPHABET +AFRIKAANS_ALPHABET = set(u'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') #AFRIKAANS ALPHABET +BASQUE_ALPHABET = set(u'аbdefghijklmnñoprstuxzАBDEFGHIJKLMNÑOPRSTUXZ') #BASQUE ALPHABET +BASHKIR_ALPHABET = set(u'абвгғдҙеёжзийкҡлмнңоөпрсҫтуүфхһцчшщъыьэәюяАБВГҒДҘЕЁЖЗИЙКҠЛМНҢОӨПРСҪТУҮФХҺЦЧШЩЪЫЬЭӘЮЯ') #BASHKIR ALPHABET +BELORUSSIAN_ALPHABET = set(u'абвгддждзеёжзійклмнопрстуўфхцчшыьэюяАБВГДДжДзЕЁЖЗІЙКЛМНОПРСТУЎФХЦЧШЫЬЭЮЯ') #BELORUSSIAN ALPHABET +BULGARIAN_ALPHABET = set(u'абвгдежзийклмнопрстуфхцчшщъьюяАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЬЮЯ') #BULGARIAN ALPHABET +BURYATIAN_ALPHABET = set(u'абвгдеёжзийклмноөпрстуүфхһцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОӨПРСТУҮФХҺЦЧШЩЪЫЬЭЮЯ') #BURYATIAN ALPHABET +WELSH_ALPHABET = set(u'abcchdddefffgnghilllmnopphrrhstthuwyABCCHDDDEFFFGNGHILLLMNOPPHRRHSTTHUWY') #WELSH ALPHABET +HUNGARIAN_ALPHABET = set(u'aábccsddzdzseéfggyhiíjkllymnnyoóöőprsszttyuúüűvzzsqwxyAÁBCCsDDzDzsEÉFGGyHIÍJKLLyMNNyOÓÖŐPRSSzTTyUÚÜŰVZZsQWXY') #HUNGARIAN ALPHABET +VIETNAMESE_ALPHABET = set(u'aăâbcdđeêghiklmnoôơpqrstuưvxyAĂÂBCDĐEÊGHIKLMNOÔƠPQRSTUƯVXY') #VIETNAMESE ALPHABET +HAITIAN_ALPHABET = set(u'aanbchdeèenfghijklmnngoòonouounprstuivwyzAAnBChDEèEnFGHIJKLMNNgOòOnOuOunPRSTUiVWYZ') #HAITIAN ALPHABET +GALICIAN_ALPHABET = set(u'abcdefghilmnñopqrstuvxzABCDEFGHILMNÑOPQRSTUVXZ') #GALICIAN ALPHABET +DUTCH_ALPHABET = set(u'abcdefghijklmnopqrstuvwxijyzABCDEFGHIJKLMNOPQRSTUVWXIJYZ') #DUTCH ALPHABET +GREEK_ALPHABET = set(u'αβγδεζηθικλμνξοπρσςτυφχψωΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ') #GREEK ALPHABET +DANISH_ALPHABET = set(u'аbcdefghijklmnopqrstuvwxyzæøåАBCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ') #DANISH ALPHABET +INDONESIAN_ALPHABET = set(u'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') #INDONESIAN ALPHABET +IRISH_ALPHABET = set(u'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') #IRISH ALPHABET +ICELANDIC_ALPHABET = set(u'aábdðeéfghiíjklmnoóprstuúvxyýþæöAÁBDÐEÉFGHIÍJKLMNOÓPRSTUÚVXYÝÞÆÖ') #ICELANDIC ALPHABET +SPANISH_ALPHABET = set(u'abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ') #SPANISH ALPHABET +ITALIAN_ALPHABET = set(u'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') #ITALIAN ALPHABET +KAZAKH_ALPHABET = set(u'аәбвгғдеёжзийкқлмнңоөпрстуұүфхһцчшщъыіьэюяАӘБВГҒДЕЁЖЗИЙКҚЛМНҢОӨПРСТУҰҮФХҺЦЧШЩЪЫІЬЭЮЯ') #KAZAKH ALPHABET +KALMYK_ALPHABET = set(u'аəбвгһдеёжҗзийклмнңоөпрстуүфхцчшщыьэюяАƏБВГҺДЕЁЖҖЗИЙКЛМНҢОӨПРСТУҮФХЦЧШЩЫЬЭЮЯ') #KALMYK ALPHABET +KARAKALPAK_ALPHABET = set(u'аәбвгғдеёжзийкқлмнңоөпрстуүўфхҳцчшщъыьэюяАӘБВГҒДЕЁЖЗИЙКҚЛМНҢОӨПРСТУҮЎФХҲЦЧШЩЪЫЬЭЮЯ') #KARAKALPAK ALPHABET +KARELIAN_ALPHABET = set(u'abčdefghijklmnoprsšzžtuvyäöABČDEFGHIJKLMNOPRSŠZŽTUVYÄÖ') #KARELIAN ALPHABET +CATALAN_ALPHABET = set(u'aàbcçdeéèfghiíïjklmnoóòpqrstuúüvwxyzAÀBCÇDEÉÈFGHIÍÏJKLMNOÓÒPQRSTUÚÜVWXYZ') #CATALAN ALPHABET +KYRGYZ_ALPHABET = set(u'абвгдеёжзийклмнңоөпрстуүфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНҢОӨПРСТУҮФХЦЧШЩЪЫЬЭЮЯ') #KYRGYZ ALPHABET +LATIN_ALPHABET = set(u'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') #LATIN ALPHABET +LATVIAN_ALPHABET = set(u'aābcčdeēfgģhiījkķlļmnņoprsštuūvzžAĀBCČDEĒFGĢHIĪJKĶLĻMNŅOPRSŠTUŪVZŽ') #LATVIAN ALPHABET +LITHUANIAN_ALPHABET = set(u'aąbcčdeęėfghiįyjklmnoprsštuųūvzžAĄBCČDEĘĖFGHIĮYJKLMNOPRSŠTUŲŪVZŽ') #LITHUANIAN ALPHABET +MACEDONIAN_ALPHABET = set(u'абвгдѓеѐжзѕиѝјклљмнњопрстќуфхцчџшАБВГДЃЕЀЖЗЅИЍЈКЛЉМНЊОПРСТЌУФХЦЧЏШ') #MACEDONIAN ALPHABET +MALTESE_ALPHABET = set(u'abċdefġggħhħiiejklmnopqrstuvwxzżABĊDEFĠGGĦHĦIIEJKLMNOPQRSTUVWXZŻ') #MALTESE ALPHABET +MARI_ALPHABET = set(u'аӓбвгдеёжзийклмноӧпрстуӱфхцчшщъыӹьэюяАӒБВГДЕЁЖЗИЙКЛМНОӦПРСТУӰФХЦЧШЩЪЫӸЬЭЮЯ') #MARI ALPHABET +MOLDAVIAN_ALPHABET = set(u'aăâbcdefghiîjklmnopqrsștțuvwxyzAĂÂBCDEFGHIÎJKLMNOPQRSȘTȚUVWXYZ') #MOLDAVIAN ALPHABET +MONGOLIAN_ALPHABET = set(u'абвгдеёжзийклмноөпрстуүфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОӨПРСТУҮФХЦЧШЩЪЫЬЭЮЯ') #MONGOLIAN ALPHABET +GERMAN_ALPHABET = set(u'aäbcdefghijklmnoöpqrstuüvwxyzAÄBCDEFGHIJKLMNOÖPQRSßTUÜVWXYZ') #GERMAN ALPHABET +NORWEGIAN_ALPHABET = set(u'abcdefghijklmnopqrstuvwxyzæøåABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ') #NORWEGIAN ALPHABET +OSETIAN_ALPHABET = set(u'аӕбвггъддзджеёжзийккълмноппърсттъуфххъццъччъшщъыьэюяАӔБВГГъДДзДжЕЁЖЗИЙККъЛМНОППъРСТТъУФХХъЦЦъЧЧъШЩъЫьЭЮЯ') #OSETIAN ALPHABET +POLISH_ALPHABET = set(u'aąbcćdeęfghijklłmnńoóprsśtuwyzźżAĄBCĆDEĘFGHIJKLŁMNŃOÓPRSŚTUWYZŹŻ') #POLISH ALPHABET +PORTUGUESE_ALPHABET = set(u'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') #PORTUGUESE ALPHABET +ROMANIAN_ALPHABET = set(u'aăâbcdefghiîjklmnopqrsștțuvwxyzAĂÂBCDEFGHIÎJKLMNOPQRSȘTȚUVWXYZ') #ROMANIAN ALPHABET +SERBIAN_ALPHABET = set(u'абвгдђежзијклљмнњопрстћуфхцчџшАБВГДЂЕЖЗИЈКЛЉМНЊОПРСТЋУФХЦЧЏШ') #SERBIAN ALPHABET +SLOVAK_ALPHABET = set(u'aáäbcčdďdzdžeéfghchiíjklĺľmnňoóôpqrŕsštťuúvwxyýzžAÁÄBCČDĎDzDžEÉFGHChIÍJKLĹĽMNŇOÓÔPQRŔSŠTŤUÚVWXYÝZŽ') #SLOVAK ALPHABET +SLOVENIAN_ALPHABET = set(u'abcčddžefghijklljmnnjoprsštuvzžABCČDDžEFGHIJKLLjMNNjOPRSŠTUVZŽ') #SLOVENIAN ALPHABET +TAJIK_ALPHABET = set(u'абвгғдеёжзийӣкқлмнопрстуӯфхҳчҷшъэюяАБВГҒДЕЁЖЗИЙӢКҚЛМНОПРСТУӮФХҲЧҶШЪЭЮЯ') #TAJIK ALPHABET +TATAR_ALPHABET = set(u'аәбвгдеёжҗзийклмнңоөпрстуүфхһцчшщъыьэюяАӘБВГДЕЁЖҖЗИЙКЛМНҢОӨПРСТУҮФХҺЦЧШЩЪЫЬЭЮ') #TATAR ALPHABET +TUVIN_ALPHABET = set(u'абвгдёжӝзийклмнңоӧпрстуӱхчшыАБВГДЁЖӜЗИЙКЛМНҢОӦПРСТУӰХЧШЫ') #TUVIN ALPHABET +TURKISH_ALPHABET = set(u'abcçdefgğhiıjklmnoöpqrsştuüvwxyzABCÇDEFGĞHIIJKLMNOÖPQRSŞTUÜVWXYZ') #TURKISH ALPHABET +UDMURT_ALPHABET = set(u'абвгдеёжӝзӟиӥйклмноӧпрстуфхцчӵшщъыьэюяАБВГДЕЁЖӜЗӞИӤЙКЛМНОӦПРСТУФХЦЧӴШЩЪЫЬЭЮЯ') #UDMURT ALPHABET +UZBEK_ALPHABET = set(u'абвгғдеёжзийкқлмнопрстуўфхҳцчшъьэюяАБВГҒДЕЁЖЗИЙКҚЛМНОПРСТУЎФХҲЦЧШЪЬЭЮЯ') #UZBEK ALPHABET +UKRAINIAN_ALPHABET = set(u'абвгґдежзіїийклмнопрстуфхцчшщьєюяАБВГҐДЕЖЗІЇИЙКЛМНОПРСТУФХЦЧШЩЬЄЮЯ') #UKRAINIAN ALPHABET +FARSI_ALPHABET = set(u'ءاآبپتثجچحخدذرزژسشصضطظعغفقكکگلمنوهيی') #FARSI ALPHABET +PHILIPPINES_ALPHABET = set(u'abcdefghijklmnñngoprstuvwxyzABCDEFGHIJKLMNÑNgOPRSTUVWXYZ') #PHILIPPINES ALPHABET +FINNISH_ALPHABET = set(u'abcdefghijklmnopqrsštuvwxyzžåäöABCDEFGHIJKLMNOPQRSŠTUVWXYZŽÅÄÖ') #FINNISH ALPHABET +FRENCH_ALPHABET = set(u'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') #FRENCH ALPHABET +HAKASS_ALPHABET = set(u'абвгғдеёжзиiйклмнңoӧпрстуӱфхцчӌшщъыьэюяАБВГҒДЕЁЖЗИIЙКЛМНҢOӦПРСТУӰФХЦЧӋШЩЪЫЬЭЮЯ') #HAKASS ALPHABET +HANTY_ALPHABET = set(u'аӓӑбвгдеёәӛжзийкқлӆмнңн̆оӧөӫпрстуӱўфхҳцчҷшщъыьэєє̈юю̆яя̆АӒӐБВГДЕЁӘӚЖЗИЙКҚЛӅМНҢН̆ОӦӨӪПРСТУӰЎФХҲЦЧҶШЩЪЫЬЭЄЄ̈ЮЮ̆ЯЯ̆') #HANTY ALPHABET +CROATIAN_ALPHABET = set(u'abcčćddžðefghijklljmnnjoprsštuvzžABCČĆDDžÐEFGHIJKLLjMNNjOPRSŠTUVZŽ') #CROATIAN ALPHABET +CZECH_ALPHABET = set(u'aábcčdďeéěfghchiíjklmnňoópqrřsštťuúůvwxyýzžAÁBCČDĎEÉĚFGHChIÍJKLMNŇOÓPQRŘSŠTŤUÚŮVWXYÝZŽ') #CZECH ALPHABET +CHUVASH_ALPHABET = set(u'аăбвгдеёĕжзийклмнопрсçтуӳфхцчшщьыъэюяАĂБВГДЕЁĔЖЗИЙКЛМНОПРСÇТУӲФХЦЧШЩЬЫЪЭЮЯ') #CHUVASH ALPHABET +SWEDISH_ALPHABET = set(u'aåäbcdefghijklmnoöpqrstuvwxyzAÅÄBCDEFGHIJKLMNOÖPQRSTUVWXYZ') #SWEDISH ALPHABET +ESPERANTO_ALPHABET = set(u'abcĉdefgĝhĥijĵklmnoprsŝtuŭvzABCĈDEFGĜHĤIJĴKLMNOPRSŜTUŬVZ') #ESPERANTO ALPHABET +ESTONIAN_ALPHABET = set(u'abcdefghijklmnopqrsšzžtuvwõäöüxyABCDEFGHIJKLMNOPQRSŠZŽTUVWÕÄÖÜXY') #ESTONIAN ALPHABET +YAKUTIAN_ALPHABET = set(u'абвгҕддьеёжзийклмнҥньоөпрсһтуүфхцчшщъыьэАБВГҔДДьЕЁЖЗИЙКЛМНҤНьОӨПРСҺТУҮФХЦЧШЩЪЫЬЭ') #YAKUTIAN ALPHABET + +UTF8Writer = codecs.getwriter('utf8') +sys.stdout = UTF8Writer(sys.stdout) + +SYMBOLS = set(RUSSIAN_ALPHABET) +SYMBOLS.update(RUSSIAN_ALPHABET, ENGLISH_ALPHABET, AZERBAIJANI_ALPHABET, ALBANIAN_ALPHABET, ARABIC_ALPHABET, ARMENIAN_ALPHABET, AFRIKAANS_ALPHABET, BASQUE_ALPHABET, BASHKIR_ALPHABET, +BELORUSSIAN_ALPHABET, BULGARIAN_ALPHABET, BURYATIAN_ALPHABET, WELSH_ALPHABET, HUNGARIAN_ALPHABET, VIETNAMESE_ALPHABET, HAITIAN_ALPHABET, GALICIAN_ALPHABET, DUTCH_ALPHABET, GREEK_ALPHABET, +DANISH_ALPHABET, INDONESIAN_ALPHABET, IRISH_ALPHABET, ICELANDIC_ALPHABET, SPANISH_ALPHABET, ITALIAN_ALPHABET, KAZAKH_ALPHABET, KALMYK_ALPHABET, KARAKALPAK_ALPHABET, KARELIAN_ALPHABET, +CATALAN_ALPHABET, KYRGYZ_ALPHABET, LATIN_ALPHABET, LATVIAN_ALPHABET, LITHUANIAN_ALPHABET, MACEDONIAN_ALPHABET, MALTESE_ALPHABET, MARI_ALPHABET, MOLDAVIAN_ALPHABET, MONGOLIAN_ALPHABET, +GERMAN_ALPHABET, NORWEGIAN_ALPHABET, OSETIAN_ALPHABET, POLISH_ALPHABET, PORTUGUESE_ALPHABET, ROMANIAN_ALPHABET, SERBIAN_ALPHABET, SLOVAK_ALPHABET, SLOVENIAN_ALPHABET, TAJIK_ALPHABET, TATAR_ALPHABET, +TUVIN_ALPHABET, TURKISH_ALPHABET, UDMURT_ALPHABET, UZBEK_ALPHABET, UKRAINIAN_ALPHABET, FARSI_ALPHABET, PHILIPPINES_ALPHABET, FINNISH_ALPHABET, FRENCH_ALPHABET, HAKASS_ALPHABET,HANTY_ALPHABET, +CROATIAN_ALPHABET, CZECH_ALPHABET, CHUVASH_ALPHABET, SWEDISH_ALPHABET, ESPERANTO_ALPHABET, ESTONIAN_ALPHABET, YAKUTIAN_ALPHABET) + +L = list(SYMBOLS) +print ''.join(L) + From 0b16424a5eb13ebf792e8e401ebe70cb9cbc36d1 Mon Sep 17 00:00:00 2001 From: dismine Date: Tue, 20 May 2014 16:02:05 +0300 Subject: [PATCH 13/32] Update for Precompiled Headers in Qt. --HG-- branch : feature --- src/app/app.pro | 4 ++-- src/app/stable.h | 33 ++++++++++++++++++++++++++++++--- src/libs/qmuparser/stable.h | 5 ++++- 3 files changed, 36 insertions(+), 6 deletions(-) diff --git a/src/app/app.pro b/src/app/app.pro index 2d7566da6..49c819979 100644 --- a/src/app/app.pro +++ b/src/app/app.pro @@ -98,8 +98,8 @@ CONFIG(debug, debug|release){ *-g++{ QMAKE_CXXFLAGS += -isystem "/usr/include/qt5" -isystem "/usr/include/qt5/QtWidgets" \ -isystem "/usr/include/qt5/QtXml" -isystem "/usr/include/qt5/QtGui" \ - -isystem "/usr/include/qt5/QtCore" -isystem "$${UI_DIR}" -isystem "$${MOC_DIR}" \ - -isystem "$${RCC_DIR}" \ + -isystem "/usr/include/qt5/QtCore" -isystem "/usr/include/qt5/QtXmlPatterns" \ + -isystem "$${UI_DIR}" -isystem "$${MOC_DIR}" -isystem "$${RCC_DIR}" \ -O0 -Wall -Wextra -pedantic -Weffc++ -Woverloaded-virtual -Wctor-dtor-privacy \ -Wnon-virtual-dtor -Wold-style-cast -Wconversion -Winit-self -Wstack-protector \ -Wunreachable-code -Wcast-align -Wcast-qual -Wdisabled-optimization -Wfloat-equal \ diff --git a/src/app/stable.h b/src/app/stable.h index 7ebbe41f9..d7f9fa164 100644 --- a/src/app/stable.h +++ b/src/app/stable.h @@ -39,12 +39,39 @@ #ifdef Q_CC_MSVC #define _USE_MATH_DEFINES #endif + +#ifdef QT_CORE_LIB #include -#include -#include -#include +#endif + +#ifdef QT_GUI_LIB +#include +#endif + +#ifdef QT_WIDGETS_LIB #include +#endif + +#ifdef QT_XML_LIB +#include +#endif + +#ifdef QT_SVG_LIB #include #endif +#ifdef QT_PRINTSUPPORT_LIB +#include +#endif + +#ifdef QT_XMLPATTERNS_LIB +#include +#endif + +#ifdef QT_NETWORK_LIB +#include +#endif + +#endif + #endif // STABLE_H diff --git a/src/libs/qmuparser/stable.h b/src/libs/qmuparser/stable.h index ec80ff9ca..824fb3b9d 100644 --- a/src/libs/qmuparser/stable.h +++ b/src/libs/qmuparser/stable.h @@ -39,8 +39,11 @@ #ifdef Q_CC_MSVC #define _USE_MATH_DEFINES #endif + +#ifdef QT_CORE_LIB #include -#include +#endif + #endif #endif // STABLE_H From bd5fda320f3adc4978ad025fd8e9d3fcc584ed49 Mon Sep 17 00:00:00 2001 From: dismine Date: Wed, 21 May 2014 11:51:16 +0300 Subject: [PATCH 14/32] Use new math parser instead old. --HG-- branch : feature --- src/app/container/calculator.cpp | 536 +++++------------- src/app/container/calculator.h | 65 +-- src/app/container/vcontainer.cpp | 172 ++++++ src/app/container/vcontainer.h | 496 ++++++---------- src/app/dialogs/tools/dialogtool.cpp | 30 +- src/app/options.cpp | 5 + src/app/options.h | 5 + src/app/tools/drawTools/vtoolalongline.cpp | 75 ++- src/app/tools/drawTools/vtoolarc.cpp | 31 +- src/app/tools/drawTools/vtoolbisector.cpp | 77 +-- src/app/tools/drawTools/vtoolcutarc.cpp | 117 ++-- src/app/tools/drawTools/vtoolcutspline.cpp | 120 ++-- .../tools/drawTools/vtoolcutsplinepath.cpp | 246 ++++---- src/app/tools/drawTools/vtoolendline.cpp | 74 ++- src/app/tools/drawTools/vtoolnormal.cpp | 76 ++- .../tools/drawTools/vtoolpointofcontact.cpp | 85 +-- .../tools/drawTools/vtoolshoulderpoint.cpp | 83 +-- src/libs/qmuparser/qmuparserbase.cpp | 23 +- src/libs/qmuparser/qmuparserbase.h | 2 +- src/libs/qmuparser/qmuparserbytecode.cpp | 38 +- src/libs/qmuparser/qmuparserbytecode.h | 6 +- src/libs/qmuparser/qmuparserdef.h | 4 +- src/libs/qmuparser/qmuparsertest.cpp | 68 +-- src/libs/qmuparser/qmuparsertoken.h | 12 +- src/libs/qmuparser/qmuparsertokenreader.cpp | 4 +- 25 files changed, 1157 insertions(+), 1293 deletions(-) diff --git a/src/app/container/calculator.cpp b/src/app/container/calculator.cpp index 39d1700dd..930a570f5 100644 --- a/src/app/container/calculator.cpp +++ b/src/app/container/calculator.cpp @@ -28,15 +28,7 @@ #include "calculator.h" #include - -#define DELIMITER 1 -#define VARIABLE 2 -#define NUMBER 3 -#define COMMAND 4 -#define STRING 5 -#define QUOTE 6 -#define FINISHED 10 -#define EOL 9 +#include "../widgets/vapplication.h" //--------------------------------------------------------------------------------------------------------------------- /** @@ -44,433 +36,187 @@ * @param data pointer to a variable container. */ Calculator::Calculator(const VContainer *data) - :errorMsg(nullptr), token(QString()), tok(0), token_type(0), prog(QString()), index(0), data(data), - debugFormula(QString()) -{} + :QmuParser() +{ + //String with all unique symbols for supported alpabets. + // See script alphabets.py for generation and more information. + const QString symbols = QStringLiteral("ցЀĆЈVӧĎАғΕĖӅИқΝĞơРңњΥĦШҫ̆جگĮаҳѕεشԶиһνԾрυلՆӝшËՎҔPÓՖXӛӟŞӣզhëծpóӞնxßվāŁЃֆĉЋCŬđ" + "ҐГΒęҘЛΚŘġҠУGاհЫدԱҰгβطԹõлκKՁÀуςهՉÈыvیՑÐSOřӘћաőcӐթèkàѓżűðsķչøӥӔĀփїІĈЎґĐΗЖҙĘȚ" + "ΟОҡĠآΧЦتЮұİزηжԸغοоÁՀقχцÉՈيюÑՐђӋіәťӆўáŠĺѐfөըnñŰӤӨӹոľЁրăЉŭċБӸēłΔҖЙŤěΜӜDСձģΤӰ" + "ЩīņحҮбưԳصδHйԻŇμӲӴсՃمτƠщՋєLQŹՓŕÖYśÞaգĽæiŽիӓîqճöyջþĂօЄӦĊЌΑĒДҗјΙȘĚМΡéĵĢФūӚΩبĪ" + "ЬүќαذԲдҷιظԺмρՂфÇωوՊьÏՒTŚĻJբdçժlïӪղtպӫAւąЇčŃЏĕӯЗΖEțŮĝПΞأĥĹЧΦثÆӳЯIسŲԵзζԽпξكՅ" + "ÄчφNMՍӌяӢՕÔWÎŝÜџёźեägխoӒյôwĶBžսüЂĄև̈ЊČƏљΓВҕĔӮΛКĜΣТҥĤکЪƯخγвŅԴŪضλкԼĴσтÅՄنъÍՌR" + "ӕՔZÝŜbåդﻩjíլļrӵմzýռپêЅքćچЍďӱҒЕůėژșΘØҚНğńءΠFҢХħΨҪЭųįҶرҲеԷňعθҺнԿفπÂхՇψÊэšՏÒU" + "əÚѝŻşҤӑâeէŐımկòuշÕúտŔ"); + + // Defining identifier character sets + DefineNameChars(QStringLiteral("0123456789_") + symbols); + DefineOprtChars(symbols + QStringLiteral("+-*^/?<>=#!$%&|~'_")); + + // Add variables + InitVariables(data); + + // Add unary operators + DefinePostfixOprt(cm_Oprt, CmUnit); + DefinePostfixOprt(mm_Oprt, MmUnit); + DefinePostfixOprt(in_Oprt, InchUnit); +} //--------------------------------------------------------------------------------------------------------------------- /** * @brief eval calculate formula. - * @param prog string of formula. - * @param errorMsg keep error message. + * @param formula string of formula. * @return value of formula. */ -qreal Calculator::eval(QString prog, QString *errorMsg) +qreal Calculator::EvalFormula(const QString &formula) { - this->errorMsg = errorMsg; - this->errorMsg->clear(); - debugFormula.clear(); - this->prog = prog; - //qDebug()<<"Formula: "<patternType() == Pattern::Standard) { - serror(2); - return 0; + DefineVar(data->SizeName(), data->size()); + DefineVar(data->HeightName(), data->height()); } - level2(&result); - putback(); - return result; -} -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief level2 method of addition and subtraction of two terms. - * @param result result of operation. - */ -void Calculator::level2(qreal *result) -{ - QChar op; - qreal hold; - - level3(result); - while ((op=token[0]) == '+' || op == '-') { - get_token(); - level3(&hold); - arith(op, result, &hold); - } -} - -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief level3 method of multiplication, division, finding percent. - * @param result result of operation. - */ -void Calculator::level3(qreal *result) -{ - QChar op; - qreal hold; - - level4(result); - - while ((op = token[0]) == '*' || op == '/' || op == '%') - { - get_token(); - level4(&hold); - arith(op, result, &hold); - } -} - -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief level4 method of degree two numbers. - * @param result result of operation. - */ -void Calculator::level4(qreal *result) -{ - qreal hold; - - level5(result); - if (token[0] == '^') - { - get_token(); - level4(&hold); - arith('^', result, &hold); - } -} - -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief level5 method for finding unary plus or minus. - * @param result result of operation. - */ -void Calculator::level5(qreal *result) -{ - QChar op; - - op = '\0'; - if ((token_type==DELIMITER) && (token[0]=='+' || token[0]=='-')) - { - op = token[0]; - get_token(); - } - level6(result); - if (op != '\0') - { - unary(op, result); - } -} - -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief level6 processing method of the expression in brackets. - * @param result result of operation. - */ -void Calculator::level6(qreal *result) -{ - if ((token[0] == '(') && (token_type == DELIMITER)) - { - get_token(); - level2(result); - if (token[0] != ')') + const QHash *lengthLines = data->DataLengthLines(); + QHash::const_iterator i = lengthLines->constBegin(); + while (i != lengthLines->constEnd()) { - serror(1); + DefineVar(i.key(), i.value()); + ++i; } - get_token(); - } else - primitive(result); -} + } -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief primitive method of determining the value of a variable by its name. - * @param result result of operation. - */ -void Calculator::primitive(qreal *result) -{ - QString str; - switch (token_type) { - case VARIABLE: - *result = find_var(token); - str = QString("%1").arg(*result, 0, 'f', 3); - debugFormula.append(str); - get_token(); - return; - case NUMBER: - *result = token.toDouble(); - str = QString("%1").arg(*result, 0, 'f', 3); - debugFormula.append(str); - get_token(); - return; - default: - serror(0); + const QHash *lengthSplines = data->DataLengthSplines(); + QHash::const_iterator i = lengthSplines->constBegin(); + while (i != lengthSplines->constEnd()) + { + DefineVar(i.key(), i.value()); + ++i; + } + } + + { + const QHash *lengthArcs = data->DataLengthArcs(); + QHash::const_iterator i = lengthArcs->constBegin(); + while (i != lengthArcs->constEnd()) + { + DefineVar(i.key(), i.value()); + ++i; + } + } + + { + const QHash *lineAngles = data->DataLineAngles(); + QHash::const_iterator i = lineAngles->constBegin(); + while (i != lineAngles->constEnd()) + { + DefineVar(i.key(), i.value()); + ++i; + } + } + + { + const QHash *measurements = data->DataMeasurements(); + QHash::const_iterator i = measurements->constBegin(); + while (i != measurements->constEnd()) + { + if (qApp->patternType() == Pattern::Standard) + { + DefineVar(i.key(), i.value().GetValue(data->size(), data->height())); + } + else + { + DefineVar(i.key(), i.value().GetValue()); + } + ++i; + } + } + + { + const QHash *increments = data->DataIncrements(); + QHash::const_iterator i = increments->constBegin(); + while (i != increments->constEnd()) + { + if (qApp->patternType() == Pattern::Standard) + { + DefineVar(i.key(), i.value().GetValue(data->size(), data->height())); + } + else + { + DefineVar(i.key(), i.value().GetValue()); + } + ++i; + } } } //--------------------------------------------------------------------------------------------------------------------- -/** - * @brief arith perform the specified arithmetic. The result is written to the first element. - * @param o sign of operation. - * @param r first element. - * @param h second element. - */ -void Calculator::arith(QChar o, qreal *r, qreal *h) +qreal Calculator::CmUnit(qreal val) { - qreal t;//, ex; - - switch (o.toLatin1()) + qreal unit = val; + switch(qApp->patternUnit()) { - case '-': - *r = *r-*h; + case Valentina::Mm: + unit = val * 10.0; break; - case '+': - *r = *r+*h; + case Valentina::Cm: break; - case '*': - *r = *r * *h; - break; - case '/': - *r = (*r)/(*h); - break; - case '%': - t = (*r)/(*h); - *r = *r-(t*(*h)); - break; - case '^': - *r = pow(*r, *h); + case Valentina::Inch: + unit = val / 2.54; break; default: break; } + + return unit; } //--------------------------------------------------------------------------------------------------------------------- -/** - * @brief unary method changes the sign. - * @param o sign of symbol. - * @param r element. - */ -void Calculator::unary(QChar o, qreal *r) +qreal Calculator::MmUnit(qreal val) { - if (o=='-') + qreal unit = val; + switch(qApp->patternUnit()) { - *r = -(*r); + case Valentina::Mm: + break; + case Valentina::Cm: + unit = val / 10.0; + break; + case Valentina::Inch: + unit = val / 25.4; + break; + default: + break; } + + return unit; } //--------------------------------------------------------------------------------------------------------------------- -/** - * @brief find_var method is finding variable by name. - * @param s name of variable. - * @return value of variable. - */ -qreal Calculator::find_var(QString s) +qreal Calculator::InchUnit(qreal val) { - bool ok = false; - qreal value = data->FindVar(s, &ok); - if (ok == false) + qreal unit = val; + switch(qApp->patternUnit()) { - qDebug()<clear(); - *errorMsg = e[error]; - qDebug()</*%^=()", c) || c=='\n' || c=='\r' || c=='\0') - { - return true; - } - return false; -} - -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief iswhite checks whether c space or tab. - * @param c character. - * @return true - space or tab, false - don't space and don't tab. - */ -bool Calculator::iswhite(QChar c) -{ - if (c==' ' || c=='\t') - { - return true; - } - else - { - return false; - } -} - -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief get_token return next token. - */ -void Calculator::get_token() -{ - QString *temp; - - token_type=0; tok=0; - token.clear(); - temp=&token; - - if (prog[index]=='\0') - { /* end of file */ - token="\0"; - tok=FINISHED; - token_type=DELIMITER; - return; - } - - while (iswhite(prog[index])) - { - ++index; /* skip spaces */ - } - - if (prog[index]=='\r') - { /* crtl */ - ++index; ++index; - tok= EOL; token='\r'; - token.append('\n');token.append("\0"); - token_type = DELIMITER; - return; - } - - if (StrChr("+-*^/%=;(),><", prog[index])) - { /* delimiter */ - *temp=prog[index]; - index++; /* jump to the next position */ - temp->append("\0"); - token_type=DELIMITER; - debugFormula.append(token); - return; - } - if (prog[index]=='"') - { /* quoted string */ - index++; - while (prog[index] != '"' && prog[index] != '\r') - { - temp->append(prog[index]); - index++; - } - if (prog[index]=='\r') - { - serror(1); - } - index++;temp->append("\0"); - token_type=QUOTE; - return; - } - if (prog[index].isDigit()) - { /* number */ - while (isdelim(prog[index]) == false) - { - temp->append(prog[index]); - index++; - } - temp->append('\0'); - token_type = NUMBER; - return; - } - - if (prog[index].isPrint()) - { /* variable or command */ - while (isdelim(prog[index]) == false) - { - temp->append(prog[index]); - index++; - } - token_type=STRING; - } - temp->append("\0"); - - /* Seen if there is a command line or a variable */ - if (token_type==STRING) - { - tok=look_up(token); - if (tok == false) - { - token_type = VARIABLE; - } - else - { - token_type = COMMAND; /* It is command */ - } - } - return; -} - -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief StrChr checks whether the character belongs to the line. - * @param string string with formula - * @param c character. - * @return true - belongs to the line, false - don't belongs to the line. - */ -bool Calculator::StrChr(QString string, QChar c) -{ - return string.contains(c, Qt::CaseInsensitive); -} - -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief putback returns the readout token back into the flow. - */ -void Calculator::putback() -{ - QString t; - t = token; - index = index - t.size(); + + return unit; } diff --git a/src/app/container/calculator.h b/src/app/container/calculator.h index 51e074865..6b978f7f1 100644 --- a/src/app/container/calculator.h +++ b/src/app/container/calculator.h @@ -31,67 +31,20 @@ #include "vcontainer.h" -/** - * @brief The Calculator class calculate formulas of pattern. Support operation +,-,/,* and braces. - * Can replace name of variables her value. - */ -class Calculator +#include "../../libs/qmuparser/qmuparser.h" +using namespace qmu; + +class Calculator:public QmuParser { public: explicit Calculator(const VContainer *data); - qreal eval(QString prog, QString *errorMsg); + qreal EvalFormula(const QString &formula); private: Q_DISABLE_COPY(Calculator) - /** - * @brief errorMsg keeps error message of calculation. - */ - QString *errorMsg; - /** - * @brief token теперішня лексема. - */ - QString token; - /** - * @brief tok internal representation of token. - */ - qint32 tok; - /** - * @brief token_type type of token. - */ - qint32 token_type; - /** - * @brief prog string where keeps formula. - */ - QString prog; - /** - * @brief index number character in string of formula. - */ - qint32 index; - /** - * @brief data container with data container of all variables. - */ - const VContainer *data; - /** - * @brief debugFormula decoded string of formula. - */ - QString debugFormula; - qreal get_exp(); - void get_token(); - static bool StrChr(QString string, QChar c); - void putback(); - void level2(qreal *result); - void level3(qreal *result); - void level4(qreal *result); - void level5(qreal *result); - void level6(qreal *result); - void primitive(qreal *result); - static void arith(QChar o, qreal *r, qreal *h); - static void unary(QChar o, qreal *r); - qreal find_var(QString s); - // cppcheck-suppress functionStatic - void serror(qint32 error); - static char look_up(QString s); - static bool isdelim(QChar c); - static bool iswhite(QChar c); + void InitVariables(const VContainer *data); + static qreal CmUnit(qreal val); + static qreal MmUnit(qreal val); + static qreal InchUnit(qreal val); }; #endif // CALCULATOR_H diff --git a/src/app/container/vcontainer.cpp b/src/app/container/vcontainer.cpp index 6a5ceb691..7cf541dc1 100644 --- a/src/app/container/vcontainer.cpp +++ b/src/app/container/vcontainer.cpp @@ -35,6 +35,9 @@ quint32 VContainer::_id = 0; //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief VContainer create empty container + */ VContainer::VContainer() :_size(50), sizeName(size_M), _height(176), heightName(height_M), gObjects(QHash()), measurements(QHash()), increments(QHash()), @@ -43,6 +46,11 @@ VContainer::VContainer() {} //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief operator = copy constructor + * @param data container + * @return copy container + */ VContainer &VContainer::operator =(const VContainer &data) { setData(data); @@ -50,6 +58,10 @@ VContainer &VContainer::operator =(const VContainer &data) } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief VContainer create container from another container + * @param data container + */ VContainer::VContainer(const VContainer &data) :_size(50), sizeName(size_M), _height(176), heightName(height_M), gObjects(QHash()), measurements(QHash()), increments(QHash()), @@ -67,6 +79,10 @@ VContainer::~VContainer() } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief setData copy data from container + * @param data container + */ void VContainer::setData(const VContainer &data) { _size = data.size(); @@ -111,6 +127,11 @@ void VContainer::setData(const VContainer &data) } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief GetGObject returns a point by id + * @param id id of point + * @return point + */ // cppcheck-suppress unusedFunction const VGObject *VContainer::GetGObject(quint32 id)const { @@ -118,6 +139,12 @@ const VGObject *VContainer::GetGObject(quint32 id)const } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief GetObject return object from container + * @param obj container + * @param id id of object + * @return Object + */ template const val VContainer::GetObject(const QHash &obj, key id) const { @@ -132,6 +159,12 @@ const val VContainer::GetObject(const QHash &obj, key id) const } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief GetObject return object from container + * @param obj container + * @param id id of object + * @return Object + */ template val VContainer::GetVariable(const QHash &obj, key id) const { @@ -146,6 +179,11 @@ val VContainer::GetVariable(const QHash &obj, key id) const } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief GetMeasurement return measurement by name + * @param name short measurement name + * @return measurement + */ const VMeasurement VContainer::GetMeasurement(const QString &name) const { Q_ASSERT(name.isEmpty()==false); @@ -153,6 +191,11 @@ const VMeasurement VContainer::GetMeasurement(const QString &name) const } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief GetIncrement return increment table row by name + * @param name name of increment table row + * @return increment + */ const VIncrement VContainer::GetIncrement(const QString& name) const { Q_ASSERT(name.isEmpty()==false); @@ -160,6 +203,11 @@ const VIncrement VContainer::GetIncrement(const QString& name) const } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief GetLine return length of line by name + * @param name name of line + * @return length of line in mm + */ qreal VContainer::GetLine(const QString &name) const { Q_ASSERT(name.isEmpty()==false); @@ -167,6 +215,11 @@ qreal VContainer::GetLine(const QString &name) const } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief GetLengthArc return length of arc by name + * @param name name of arc + * @return length of arc in mm + */ qreal VContainer::GetLengthArc(const QString &name) const { Q_ASSERT(name.isEmpty()==false); @@ -174,6 +227,11 @@ qreal VContainer::GetLengthArc(const QString &name) const } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief GetLengthSpline return length of spline by name + * @param name name of spline + * @return length of spline in mm + */ qreal VContainer::GetLengthSpline(const QString &name) const { Q_ASSERT(name.isEmpty()==false); @@ -181,6 +239,11 @@ qreal VContainer::GetLengthSpline(const QString &name) const } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief GetLineAngle return angle of line + * @param name name of line angle + * @return angle in degree + */ qreal VContainer::GetLineAngle(const QString &name) const { Q_ASSERT(name.isEmpty()==false); @@ -188,18 +251,33 @@ qreal VContainer::GetLineAngle(const QString &name) const } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief GetDetail return detail by id + * @param id id of detail + * @return detail + */ const VDetail VContainer::GetDetail(quint32 id) const { return GetVariable(details, id); } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief AddPoint add new point to container + * @param point new point + * @return return id of new point in container + */ quint32 VContainer::AddGObject(VGObject *obj) { return AddObject(gObjects, obj); } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief AddDetail add new detail to container + * @param detail new detail + * @return return id of new detail in container + */ quint32 VContainer::AddDetail(VDetail detail) { quint32 id = getNextId(); @@ -208,12 +286,21 @@ quint32 VContainer::AddDetail(VDetail detail) } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief AddIncrement add new row of increment table + * @param name name of new row of increment table + * @param row new row of increment table + */ void VContainer::AddIncrement(const QString &name, VIncrement incr) { increments[name] = incr; } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief getNextId generate next unique id + * @return next unique id + */ quint32 VContainer::getNextId() { _id++; @@ -221,6 +308,10 @@ quint32 VContainer::getNextId() } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief UpdateId update id. If new id bigger when current save new like current. + * @param newId id + */ void VContainer::UpdateId(quint32 newId) { if (newId > _id) @@ -230,6 +321,12 @@ void VContainer::UpdateId(quint32 newId) } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief UpdateObject update object in container + * @param obj container + * @param id id of existing object + * @param point object + */ template void VContainer::UpdateObject(QHash &obj, const quint32 &id, val point) { @@ -246,6 +343,11 @@ void VContainer::UpdateObject(QHash &obj, const quint32 &id, val p } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief AddLengthSpline add length of spline to container + * @param name name of spline + * @param value length of spline + */ void VContainer::AddLengthSpline(const QString &name, const qreal &value) { Q_ASSERT(name.isEmpty() == false); @@ -253,6 +355,10 @@ void VContainer::AddLengthSpline(const QString &name, const qreal &value) } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief AddLengthArc add length of arc to container + * @param id id of arc + */ void VContainer::AddLengthArc(const quint32 &id) { const VArc * arc = GeometricObject(id); @@ -260,6 +366,11 @@ void VContainer::AddLengthArc(const quint32 &id) } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief AddLineAngle add angle of line to container + * @param name name of line angle + * @param value angle in degree + */ void VContainer::AddLineAngle(const QString &name, const qreal &value) { Q_ASSERT(name.isEmpty() == false); @@ -267,6 +378,11 @@ void VContainer::AddLineAngle(const QString &name, const qreal &value) } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief GetValueStandardTableRow return value of measurement by name + * @param name name of measurement + * @return value in measurement units + */ qreal VContainer::GetValueStandardTableRow(const QString& name) const { const VMeasurement m = GetMeasurement(name); @@ -281,6 +397,11 @@ qreal VContainer::GetValueStandardTableRow(const QString& name) const } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief GetValueIncrementTableRow return value of increment table row by name + * @param name name of row + * @return value of row in mm + */ qreal VContainer::GetValueIncrementTableRow(const QString& name) const { const VIncrement icr = GetIncrement(name); @@ -295,6 +416,9 @@ qreal VContainer::GetValueIncrementTableRow(const QString& name) const } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief Clear clear data in container. Id will be 0. + */ void VContainer::Clear() { _id = 0; @@ -309,6 +433,9 @@ void VContainer::Clear() } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief ClearObject points, splines, arcs, spline paths will be cleared. + */ void VContainer::ClearGObjects() { if (gObjects.size()>0) @@ -337,6 +464,12 @@ void VContainer::ClearCalculationGObjects() } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief FindVar return value of variable by name + * @param name name of variable + * @param ok false if can't find variable + * @return value of variable + */ qreal VContainer::FindVar(const QString &name, bool *ok)const { if (sizeName == name) @@ -384,6 +517,12 @@ qreal VContainer::FindVar(const QString &name, bool *ok)const } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief AddLine add line to container + * @param firstPointId id of first point of line + * @param secondPointId id of second point of line + * @param mode mode of line + */ void VContainer::AddLine(const quint32 &firstPointId, const quint32 &secondPointId) { QString nameLine = GetNameLine(firstPointId, secondPointId); @@ -395,6 +534,12 @@ void VContainer::AddLine(const quint32 &firstPointId, const quint32 &secondPoint } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief AddObject add object to container + * @param obj container + * @param value object + * @return id of object in container + */ template quint32 VContainer::AddObject(QHash &obj, val value) { @@ -406,6 +551,12 @@ quint32 VContainer::AddObject(QHash &obj, val value) } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief GetNameLine return name of line + * @param firstPoint id of first point of line + * @param secondPoint id of second point of line + * @return name of line + */ QString VContainer::GetNameLine(const quint32 &firstPoint, const quint32 &secondPoint) const { const VPointF *first = GeometricObject(firstPoint); @@ -415,6 +566,12 @@ QString VContainer::GetNameLine(const quint32 &firstPoint, const quint32 &second } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief GetNameLineAngle return name of line angle + * @param firstPoint id of first point of line + * @param secondPoint id of second point of line + * @return name of angle of line + */ QString VContainer::GetNameLineAngle(const quint32 &firstPoint, const quint32 &secondPoint) const { const VPointF *first = GeometricObject(firstPoint); @@ -424,12 +581,22 @@ QString VContainer::GetNameLineAngle(const quint32 &firstPoint, const quint32 &s } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief UpdatePoint update point by id + * @param id id of existing point + * @param point point + */ void VContainer::UpdateGObject(quint32 id, VGObject* obj) { UpdateObject(gObjects, id, obj); } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief UpdateDetail update detail by id + * @param id id of existing detail + * @param detail detail + */ void VContainer::UpdateDetail(quint32 id, const VDetail &detail) { Q_ASSERT_X(id > 0, Q_FUNC_INFO, "id <= 0"); @@ -438,6 +605,11 @@ void VContainer::UpdateDetail(quint32 id, const VDetail &detail) } //--------------------------------------------------------------------------------------------------------------------- +/** + * @brief AddLengthLine add length of line to container + * @param name name of line + * @param value length of line + */ void VContainer::AddLengthLine(const QString &name, const qreal &value) { Q_ASSERT(name.isEmpty() == false); diff --git a/src/app/container/vcontainer.h b/src/app/container/vcontainer.h index be55c15f9..94ce7ded4 100644 --- a/src/app/container/vcontainer.h +++ b/src/app/container/vcontainer.h @@ -45,20 +45,8 @@ class VContainer { Q_DECLARE_TR_FUNCTIONS(VContainer) public: - /** - * @brief VContainer create empty container - */ VContainer(); - /** - * @brief operator = copy constructor - * @param data container - * @return copy container - */ VContainer &operator=(const VContainer &data); - /** - * @brief VContainer create container from another container - * @param data container - */ VContainer(const VContainer &data); ~VContainer(); template @@ -67,11 +55,7 @@ public: T *obj = new T(*data.GeometricObject(id)); UpdateGObject(id, obj); } - /** - * @brief setData copy data from container - * @param data container - */ - void setData(const VContainer &data); + void setData(const VContainer &data); template const T GeometricObject(const quint32 &id) const { @@ -100,288 +84,65 @@ public: return nullptr; } - /** - * @brief GetGObject returns a point by id - * @param id id of point - * @return point - */ - const VGObject *GetGObject(quint32 id) const; - /** - * @brief GetMeasurement return measurement by name - * @param name short measurement name - * @return measurement - */ - const VMeasurement GetMeasurement(const QString& name) const; - /** - * @brief GetIncrement return increment table row by name - * @param name name of increment table row - * @return increment - */ - const VIncrement GetIncrement(const QString& name) const; - /** - * @brief GetLine return length of line by name - * @param name name of line - * @return length of line in mm - */ - qreal GetLine(const QString &name) const; - /** - * @brief GetLengthArc return length of arc by name - * @param name name of arc - * @return length of arc in mm - */ - qreal GetLengthArc(const QString &name) const; - /** - * @brief GetLengthSpline return length of spline by name - * @param name name of spline - * @return length of spline in mm - */ - qreal GetLengthSpline(const QString &name) const; - /** - * @brief GetLineAngle return angle of line - * @param name name of line angle - * @return angle in degree - */ - qreal GetLineAngle(const QString &name) const; - /** - * @brief GetDetail return detail by id - * @param id id of detail - * @return detail - */ - const VDetail GetDetail(quint32 id) const; - /** - * @brief getId return current id - * @return current id - */ - static quint32 getId() {return _id;} - /** - * @brief AddPoint add new point to container - * @param point new point - * @return return id of new point in container - */ - quint32 AddGObject(VGObject *obj); - /** - * @brief AddDetail add new detail to container - * @param detail new detail - * @return return id of new detail in container - */ - quint32 AddDetail(VDetail detail); - /** - * @brief AddMeasurement add new measurement - * @param name short measurement name - * @param row measurement - */ - void AddMeasurement(const QString& name, const VMeasurement &m); - /** - * @brief AddIncrement add new row of increment table - * @param name name of new row of increment table - * @param row new row of increment table - */ - void AddIncrement(const QString& name, VIncrement incr); - /** - * @brief AddLengthLine add length of line to container - * @param name name of line - * @param value length of line - */ - void AddLengthLine(const QString &name, const qreal &value); - /** - * @brief AddLengthSpline add length of spline to container - * @param name name of spline - * @param value length of spline - */ - void AddLengthSpline(const QString &name, const qreal &value); - /** - * @brief AddLengthArc add length of arc to container - * @param id id of arc - */ - void AddLengthArc(const quint32 &id); - /** - * @brief AddLineAngle add angle of line to container - * @param name name of line angle - * @param value angle in degree - */ - void AddLineAngle(const QString &name, const qreal &value); - /** - * @brief AddLine add line to container - * @param firstPointId id of first point of line - * @param secondPointId id of second point of line - * @param mode mode of line - */ - void AddLine(const quint32 &firstPointId, const quint32 &secondPointId); - /** - * @brief GetNameLine return name of line - * @param firstPoint id of first point of line - * @param secondPoint id of second point of line - * @return name of line - */ + const VGObject *GetGObject(quint32 id) const; + const VMeasurement GetMeasurement(const QString& name) const; + const VIncrement GetIncrement(const QString& name) const; + qreal GetLine(const QString &name) const; + qreal GetLengthArc(const QString &name) const; + qreal GetLengthSpline(const QString &name) const; + qreal GetLineAngle(const QString &name) const; + const VDetail GetDetail(quint32 id) const; + static quint32 getId(){return _id;} + quint32 AddGObject(VGObject *obj); + quint32 AddDetail(VDetail detail); + void AddMeasurement(const QString& name, const VMeasurement &m); + void AddIncrement(const QString& name, VIncrement incr); + void AddLengthLine(const QString &name, const qreal &value); + void AddLengthSpline(const QString &name, const qreal &value); + void AddLengthArc(const quint32 &id); + void AddLineAngle(const QString &name, const qreal &value); + void AddLine(const quint32 &firstPointId, const quint32 &secondPointId); // cppcheck-suppress functionStatic - QString GetNameLine(const quint32 &firstPoint, const quint32 &secondPoint) const; - /** - * @brief GetNameLineAngle return name of line angle - * @param firstPoint id of first point of line - * @param secondPoint id of second point of line - * @return name of angle of line - */ + QString GetNameLine(const quint32 &firstPoint, const quint32 &secondPoint) const; // cppcheck-suppress functionStatic - QString GetNameLineAngle(const quint32 &firstPoint, const quint32 &secondPoint) const; - /** - * @brief UpdatePoint update point by id - * @param id id of existing point - * @param point point - */ - void UpdateGObject(quint32 id, VGObject* obj); - /** - * @brief UpdateDetail update detail by id - * @param id id of existing detail - * @param detail detail - */ - void UpdateDetail(quint32 id, const VDetail &detail); - /** - * @brief UpdateMeasurement update measurement by name - * @param name short measurement name - * @param m measurement - */ - void UpdateMeasurement(const QString& name, VMeasurement m); - /** - * @brief UpdateIncrement update increment table row by name - * @param name name of row - * @param row row - */ - void UpdateIncrement(const QString& name, VIncrement incr); - /** - * @brief GetValueStandardTableRow return value of measurement by name - * @param name name of measurement - * @return value in measurement units - */ - qreal GetValueStandardTableRow(const QString& name) const; - /** - * @brief GetValueIncrementTableRow return value of increment table row by name - * @param name name of row - * @return value of row in mm - */ - qreal GetValueIncrementTableRow(const QString& name) const; - /** - * @brief Clear clear data in container. Id will be 0. - */ - void Clear(); - /** - * @brief ClearObject points, splines, arcs, spline paths will be cleared. - */ - void ClearGObjects(); - void ClearCalculationGObjects(); - /** - * @brief ClearIncrementTable clear increment table - */ - void ClearIncrementTable(); - void ClearMeasurements(); - /** - * @brief ClearLengthLines clear length lines - */ - void ClearLengthLines(); - /** - * @brief ClearLengthSplines clear length splines - */ - void ClearLengthSplines(); - /** - * @brief ClearLengthArcs clear length arcs - */ - void ClearLengthArcs(); - /** - * @brief ClearLineAngles clear angles of lines - */ - void ClearLineAngles(); - void ClearDetails(); - /** - * @brief SetSize set value of size - * @param size value of size - */ - void SetSize(qreal size); - void SetSizeName(const QString &name); - /** - * @brief SetGrowth set value of growth - * @param growth value of growth - */ - void SetHeight(qreal height); - void SetHeightName(const QString &name); - /** - * @brief size return size - * @return size in mm - */ - qreal size() const; - QString SizeName()const; - /** - * @brief height return height - * @return height in pattern units - */ - qreal height() const; - QString HeightName()const; - /** - * @brief FindVar return value of variable by name - * @param name name of variable - * @param ok false if can't find variable - * @return value of variable - */ - qreal FindVar(const QString& name, bool *ok)const; - /** - * @brief IncrementTableContains check if increment table contains name - * @param name name of row - * @return true if contains - */ - bool IncrementTableContains(const QString& name); - /** - * @brief getNextId generate next unique id - * @return next unique id - */ - static quint32 getNextId(); - /** - * @brief RemoveIncrementTableRow remove row by name from increment table - * @param name name of existing row - */ - void RemoveIncrementTableRow(const QString& name); - /** - * @brief data container with datagObjects return container of gObjects - * @return pointer on container of gObjects - */ - const QHash *DataGObjects() const; - /** - * @brief DataMeasurements container with measurements. - * @return pointer to measurements. - */ + QString GetNameLineAngle(const quint32 &firstPoint, const quint32 &secondPoint) const; + void UpdateGObject(quint32 id, VGObject* obj); + void UpdateDetail(quint32 id, const VDetail &detail); + void UpdateMeasurement(const QString& name, VMeasurement m); + void UpdateIncrement(const QString& name, VIncrement incr); + qreal GetValueStandardTableRow(const QString& name) const; + qreal GetValueIncrementTableRow(const QString& name) const; + void Clear(); + void ClearGObjects(); + void ClearCalculationGObjects(); + void ClearIncrementTable(); + void ClearMeasurements(); + void ClearLengthLines(); + void ClearLengthSplines(); + void ClearLengthArcs(); + void ClearLineAngles(); + void ClearDetails(); + void SetSize(qreal size); + void SetSizeName(const QString &name); + void SetHeight(qreal height); + void SetHeightName(const QString &name); + qreal size() const; + QString SizeName()const; + qreal height() const; + QString HeightName()const; + qreal FindVar(const QString& name, bool *ok)const; + bool IncrementTableContains(const QString& name); + static quint32 getNextId(); + void RemoveIncrementTableRow(const QString& name); + static void UpdateId(quint32 newId); + const QHash *DataGObjects() const; const QHash *DataMeasurements() const; - /** - * @brief data container with dataIncrements return container of increment table - * @return pointer on container of increment table - */ - const QHash *DataIncrements() const; - /** - * @brief data container with dataLengthLines return container of lines lengths - * @return pointer on container of lines lengths - */ - const QHash *DataLengthLines() const; - /** - * @brief data container with dataLengthSplines return container of splines lengths - * @return pointer on container of splines lengths - */ - const QHash *DataLengthSplines() const; - /** - * @brief data container with dataLengthArcs return container of arcs length - * @return pointer on container of arcs length - */ - const QHash *DataLengthArcs() const; - /** - * @brief data container with dataLineAngles return container of angles of line - * @return pointer on container of angles of line - */ - const QHash *DataLineAngles() const; - /** - * @brief data container with dataDetails return container of details - * @return pointer on container of details - */ - const QHash *DataDetails() const; - /** - * @brief UpdateId update id. If new id bigger when current save new like current. - * @param newId id - */ - static void UpdateId(quint32 newId); + const QHash *DataIncrements() const; + const QHash *DataLengthLines() const; + const QHash *DataLengthSplines() const; + const QHash *DataLengthArcs() const; + const QHash *DataLineAngles() const; + const QHash *DataDetails() const; private: /** * @brief _id current id. New object will have value +1. For empty class equal 0. @@ -423,177 +184,272 @@ private: * @brief details container of details */ QHash details; + template - /** - * @brief GetObject return object from container - * @param obj container - * @param id id of object - * @return Object - */ // cppcheck-suppress functionStatic const val GetObject(const QHash &obj, key id) const; + template - /** - * @brief GetObject return object from container - * @param obj container - * @param id id of object - * @return Object - */ // cppcheck-suppress functionStatic val GetVariable(const QHash &obj, key id) const; + template - /** - * @brief UpdateObject update object in container - * @param obj container - * @param id id of existing object - * @param point object - */ void UpdateObject(QHash &obj, const quint32 &id, val point); + template - /** - * @brief AddObject add object to container - * @param obj container - * @param value object - * @return id of object in container - */ static quint32 AddObject(QHash &obj, val value); }; +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief AddMeasurement add new measurement + * @param name short measurement name + * @param row measurement + */ inline void VContainer::AddMeasurement(const QString &name, const VMeasurement &m) { measurements[name] = m; } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief UpdateMeasurement update measurement by name + * @param name short measurement name + * @param m measurement + */ inline void VContainer::UpdateMeasurement(const QString &name, VMeasurement m) { measurements[name] = m; } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief UpdateIncrement update increment table row by name + * @param name name of row + * @param row row + */ inline void VContainer::UpdateIncrement(const QString &name, VIncrement incr) { increments[name] = incr; } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief ClearIncrementTable clear increment table + */ inline void VContainer::ClearIncrementTable() { increments.clear(); } +//--------------------------------------------------------------------------------------------------------------------- inline void VContainer::ClearMeasurements() { measurements.clear(); } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief ClearLengthLines clear length lines + */ inline void VContainer::ClearLengthLines() { lengthLines.clear(); } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief ClearLengthSplines clear length splines + */ inline void VContainer::ClearLengthSplines() { lengthSplines.clear(); } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief ClearLengthArcs clear length arcs + */ inline void VContainer::ClearLengthArcs() { lengthArcs.clear(); } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief ClearLineAngles clear angles of lines + */ inline void VContainer::ClearLineAngles() { lineAngles.clear(); } +//--------------------------------------------------------------------------------------------------------------------- inline void VContainer::ClearDetails() { details.clear(); } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief SetSize set value of size + * @param size value of size + */ inline void VContainer::SetSize(qreal size) { _size = size; } +//--------------------------------------------------------------------------------------------------------------------- inline void VContainer::SetSizeName(const QString &name) { sizeName = name; } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief SetGrowth set value of growth + * @param growth value of growth + */ inline void VContainer::SetHeight(qreal height) { _height = height; } +//--------------------------------------------------------------------------------------------------------------------- inline void VContainer::SetHeightName(const QString &name) { heightName = name; } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief size return size + * @return size in mm + */ inline qreal VContainer::size() const { return _size; } +//--------------------------------------------------------------------------------------------------------------------- inline QString VContainer::SizeName() const { return sizeName; } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief height return height + * @return height in pattern units + */ inline qreal VContainer::height() const { return _height; } +//--------------------------------------------------------------------------------------------------------------------- inline QString VContainer::HeightName() const { return heightName; } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief IncrementTableContains check if increment table contains name + * @param name name of row + * @return true if contains + */ inline bool VContainer::IncrementTableContains(const QString &name) { return increments.contains(name); } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief RemoveIncrementTableRow remove row by name from increment table + * @param name name of existing row + */ inline void VContainer::RemoveIncrementTableRow(const QString &name) { increments.remove(name); } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief data container with datagObjects return container of gObjects + * @return pointer on container of gObjects + */ inline const QHash *VContainer::DataGObjects() const { return &gObjects; } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief DataMeasurements container with measurements. + * @return pointer to measurements. + */ inline const QHash *VContainer::DataMeasurements() const { return &measurements; } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief data container with dataIncrements return container of increment table + * @return pointer on container of increment table + */ inline const QHash *VContainer::DataIncrements() const { return &increments; } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief data container with dataLengthLines return container of lines lengths + * @return pointer on container of lines lengths + */ inline const QHash *VContainer::DataLengthLines() const { return &lengthLines; } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief data container with dataLengthSplines return container of splines lengths + * @return pointer on container of splines lengths + */ inline const QHash *VContainer::DataLengthSplines() const { return &lengthSplines; } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief data container with dataLengthArcs return container of arcs length + * @return pointer on container of arcs length + */ inline const QHash *VContainer::DataLengthArcs() const { return &lengthArcs; } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief data container with dataLineAngles return container of angles of line + * @return pointer on container of angles of line + */ inline const QHash *VContainer::DataLineAngles() const { return &lineAngles; } +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief data container with dataDetails return container of details + * @return pointer on container of details + */ inline const QHash *VContainer::DataDetails() const { return &details; diff --git a/src/app/dialogs/tools/dialogtool.cpp b/src/app/dialogs/tools/dialogtool.cpp index c10df30c0..b6534f4f1 100644 --- a/src/app/dialogs/tools/dialogtool.cpp +++ b/src/app/dialogs/tools/dialogtool.cpp @@ -32,6 +32,7 @@ #include "../../tools/vabstracttool.h" #include +#include "../../../libs/qmuparser/qmuparsererror.h" //--------------------------------------------------------------------------------------------------------------------- DialogTool::DialogTool(const VContainer *data, QWidget *parent) @@ -329,20 +330,29 @@ void DialogTool::Eval(QLineEdit *edit, bool &flag, QTimer *timer, QLabel *label) } else { - Calculator cal(data); - QString errorMsg; - qreal result = cal.eval(edit->text(), &errorMsg); - if (errorMsg.isEmpty() == false) + try + { + Calculator cal(data); + const qreal result = cal.EvalFormula(edit->text()); + + label->setText(QString().setNum(result)); + flag = true; + palette.setColor(labelEditFormula->foregroundRole(), QColor(76, 76, 76)); + emit ToolTip(""); + } + catch(qmu::QmuParserError &e) { label->setText(tr("Error")); flag = false; palette.setColor(labelEditFormula->foregroundRole(), Qt::red); - } - else - { - label->setText(QString().setNum(result)); - flag = true; - palette.setColor(labelEditFormula->foregroundRole(), QColor(76, 76, 76)); + emit ToolTip(e.GetMsg()); + qDebug() << "\nError:\n" + << "--------\n" + << "Message: " << e.GetMsg() << "\n" + << "Expression: \"" << e.GetExpr() << "\"\n" + << "Token: \"" << e.GetToken() << "\"\n" + << "Position: " << e.GetPos() << "\n" + << "Errc: " << QString::number(e.GetCode(), 16); } } CheckState(); diff --git a/src/app/options.cpp b/src/app/options.cpp index 3bea6b6af..4ab63ca11 100644 --- a/src/app/options.cpp +++ b/src/app/options.cpp @@ -194,3 +194,8 @@ const QString min_F = QStringLiteral("min"); const QString max_F = QStringLiteral("max"); const QString sum_F = QStringLiteral("sum"); const QString avg_F = QStringLiteral("avg"); + +// Postfix operators +const QString cm_Oprt = QStringLiteral("cm"); +const QString mm_Oprt = QStringLiteral("mm"); +const QString in_Oprt = QStringLiteral("in"); diff --git a/src/app/options.h b/src/app/options.h index 119bf164d..7bcd53bc1 100644 --- a/src/app/options.h +++ b/src/app/options.h @@ -278,4 +278,9 @@ extern const QString max_F; extern const QString sum_F; extern const QString avg_F; +// Postfix operators +extern const QString cm_Oprt; +extern const QString mm_Oprt; +extern const QString in_Oprt; + #endif // OPTIONS_H diff --git a/src/app/tools/drawTools/vtoolalongline.cpp b/src/app/tools/drawTools/vtoolalongline.cpp index 6165f562e..debeca98c 100644 --- a/src/app/tools/drawTools/vtoolalongline.cpp +++ b/src/app/tools/drawTools/vtoolalongline.cpp @@ -179,40 +179,53 @@ void VToolAlongLine::Create(const quint32 _id, const QString &pointName, const Q const VPointF *firstPoint = data->GeometricObject(firstPointId); const VPointF *secondPoint = data->GeometricObject(secondPointId); QLineF line = QLineF(firstPoint->toQPointF(), secondPoint->toQPointF()); - Calculator cal(data); - QString errorMsg; - qreal result = cal.eval(formula, &errorMsg); - if (errorMsg.isEmpty()) + + try { + Calculator cal(data); + const qreal result = cal.EvalFormula(formula); line.setLength(qApp->toPixel(result)); - quint32 id = _id; - if (typeCreation == Valentina::FromGui) + } + catch(qmu::QmuParserError &e) + { + //TODO show error + qDebug() << "\nError:\n" + << "--------\n" + << "Message: " << e.GetMsg() << "\n" + << "Expression: \"" << e.GetExpr() << "\"\n" + << "Token: \"" << e.GetToken() << "\"\n" + << "Position: " << e.GetPos() << "\n" + << "Errc: " << QString::number(e.GetCode(), 16); + return; + } + + quint32 id = _id; + if (typeCreation == Valentina::FromGui) + { + id = data->AddGObject( new VPointF(line.p2().x(), line.p2().y(), pointName, mx, my)); + data->AddLine(firstPointId, id); + data->AddLine(id, secondPointId); + } + else + { + data->UpdateGObject(id, new VPointF(line.p2().x(), line.p2().y(), pointName, mx, my)); + data->AddLine(firstPointId, id); + data->AddLine(id, secondPointId); + if (parse != Document::FullParse) { - id = data->AddGObject( new VPointF(line.p2().x(), line.p2().y(), pointName, mx, my)); - data->AddLine(firstPointId, id); - data->AddLine(id, secondPointId); - } - else - { - data->UpdateGObject(id, new VPointF(line.p2().x(), line.p2().y(), pointName, mx, my)); - data->AddLine(firstPointId, id); - data->AddLine(id, secondPointId); - if (parse != Document::FullParse) - { - doc->UpdateToolData(id, data); - } - } - VDrawTool::AddRecord(id, Valentina::AlongLineTool, doc); - if (parse == Document::FullParse) - { - VToolAlongLine *point = new VToolAlongLine(doc, data, id, formula, firstPointId, - secondPointId, typeLine, typeCreation); - scene->addItem(point); - connect(point, &VToolAlongLine::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); - connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolAlongLine::SetFactor); - doc->AddTool(id, point); - doc->IncrementReferens(firstPointId); - doc->IncrementReferens(secondPointId); + doc->UpdateToolData(id, data); } } + VDrawTool::AddRecord(id, Valentina::AlongLineTool, doc); + if (parse == Document::FullParse) + { + VToolAlongLine *point = new VToolAlongLine(doc, data, id, formula, firstPointId, + secondPointId, typeLine, typeCreation); + scene->addItem(point); + connect(point, &VToolAlongLine::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); + connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolAlongLine::SetFactor); + doc->AddTool(id, point); + doc->IncrementReferens(firstPointId); + doc->IncrementReferens(secondPointId); + } } diff --git a/src/app/tools/drawTools/vtoolarc.cpp b/src/app/tools/drawTools/vtoolarc.cpp index 199b1139c..ac36dfb44 100644 --- a/src/app/tools/drawTools/vtoolarc.cpp +++ b/src/app/tools/drawTools/vtoolarc.cpp @@ -93,26 +93,27 @@ void VToolArc::Create(const quint32 _id, const quint32 ¢er, const QString &r { qreal calcRadius = 0, calcF1 = 0, calcF2 = 0; - Calculator cal(data); - QString errorMsg; - qreal result = cal.eval(radius, &errorMsg); - if (errorMsg.isEmpty()) + try { + Calculator cal(data); + + qreal result = cal.EvalFormula(radius); calcRadius = qApp->toPixel(result); - } - errorMsg.clear(); - result = cal.eval(f1, &errorMsg); - if (errorMsg.isEmpty()) - { - calcF1 = result; + calcF1 = cal.EvalFormula(f1); + calcF2 = cal.EvalFormula(f2); } - - errorMsg.clear(); - result = cal.eval(f2, &errorMsg); - if (errorMsg.isEmpty()) + catch(qmu::QmuParserError &e) { - calcF2 = result; + //TODO show error message + qDebug() << "\nError:\n" + << "--------\n" + << "Message: " << e.GetMsg() << "\n" + << "Expression: \"" << e.GetExpr() << "\"\n" + << "Token: \"" << e.GetToken() << "\"\n" + << "Position: " << e.GetPos() << "\n" + << "Errc: " << QString::number(e.GetCode(), 16); + return; } VPointF c = *data->GeometricObject(center); diff --git a/src/app/tools/drawTools/vtoolbisector.cpp b/src/app/tools/drawTools/vtoolbisector.cpp index e770348d6..2834e915b 100644 --- a/src/app/tools/drawTools/vtoolbisector.cpp +++ b/src/app/tools/drawTools/vtoolbisector.cpp @@ -114,42 +114,55 @@ void VToolBisector::Create(const quint32 _id, const QString &formula, const quin const VPointF *secondPoint = data->GeometricObject(secondPointId); const VPointF *thirdPoint = data->GeometricObject(thirdPointId); - Calculator cal(data); - QString errorMsg; - qreal result = cal.eval(formula, &errorMsg); - if (errorMsg.isEmpty()) + qreal result = 0; + try { - QPointF fPoint = VToolBisector::FindPoint(firstPoint->toQPointF(), secondPoint->toQPointF(), - thirdPoint->toQPointF(), qApp->toPixel(result)); - quint32 id = _id; - if (typeCreation == Valentina::FromGui) + Calculator cal(data); + result = cal.EvalFormula(formula); + } + catch(qmu::QmuParserError &e) + { + //TODO show error message + qDebug() << "\nError:\n" + << "--------\n" + << "Message: " << e.GetMsg() << "\n" + << "Expression: \"" << e.GetExpr() << "\"\n" + << "Token: \"" << e.GetToken() << "\"\n" + << "Position: " << e.GetPos() << "\n" + << "Errc: " << QString::number(e.GetCode(), 16); + return; + } + + QPointF fPoint = VToolBisector::FindPoint(firstPoint->toQPointF(), secondPoint->toQPointF(), + thirdPoint->toQPointF(), qApp->toPixel(result)); + quint32 id = _id; + if (typeCreation == Valentina::FromGui) + { + id = data->AddGObject(new VPointF(fPoint.x(), fPoint.y(), pointName, mx, my)); + data->AddLine(firstPointId, id); + } + else + { + data->UpdateGObject(id, new VPointF(fPoint.x(), fPoint.y(), pointName, mx, my)); + data->AddLine(firstPointId, id); + if (parse != Document::FullParse) { - id = data->AddGObject(new VPointF(fPoint.x(), fPoint.y(), pointName, mx, my)); - data->AddLine(firstPointId, id); - } - else - { - data->UpdateGObject(id, new VPointF(fPoint.x(), fPoint.y(), pointName, mx, my)); - data->AddLine(firstPointId, id); - if (parse != Document::FullParse) - { - doc->UpdateToolData(id, data); - } - } - VDrawTool::AddRecord(id, Valentina::BisectorTool, doc); - if (parse == Document::FullParse) - { - VToolBisector *point = new VToolBisector(doc, data, id, typeLine, formula, firstPointId, secondPointId, - thirdPointId, typeCreation); - scene->addItem(point); - connect(point, &VToolBisector::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); - connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolBisector::SetFactor); - doc->AddTool(id, point); - doc->IncrementReferens(firstPointId); - doc->IncrementReferens(secondPointId); - doc->IncrementReferens(thirdPointId); + doc->UpdateToolData(id, data); } } + VDrawTool::AddRecord(id, Valentina::BisectorTool, doc); + if (parse == Document::FullParse) + { + VToolBisector *point = new VToolBisector(doc, data, id, typeLine, formula, firstPointId, secondPointId, + thirdPointId, typeCreation); + scene->addItem(point); + connect(point, &VToolBisector::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); + connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolBisector::SetFactor); + doc->AddTool(id, point); + doc->IncrementReferens(firstPointId); + doc->IncrementReferens(secondPointId); + doc->IncrementReferens(thirdPointId); + } } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/tools/drawTools/vtoolcutarc.cpp b/src/app/tools/drawTools/vtoolcutarc.cpp index 41209fb78..ca6db78f1 100644 --- a/src/app/tools/drawTools/vtoolcutarc.cpp +++ b/src/app/tools/drawTools/vtoolcutarc.cpp @@ -95,63 +95,76 @@ void VToolCutArc::Create(const quint32 _id, const QString &pointName, const QStr VContainer *data, const Document::Documents &parse, const Valentina::Sources &typeCreation) { const VArc *arc = data->GeometricObject(arcId); - Calculator cal(data); - QString errorMsg; - qreal result = cal.eval(formula, &errorMsg); - if (errorMsg.isEmpty()) + qreal result = 0; + try { - VArc arc1; - VArc arc2; - QPointF point = arc->CutArc(qApp->toPixel(result), arc1, arc2); + Calculator cal(data); + result = cal.EvalFormula(formula); + } + catch(qmu::QmuParserError &e) + { + //TODO show error message + qDebug() << "\nError:\n" + << "--------\n" + << "Message: " << e.GetMsg() << "\n" + << "Expression: \"" << e.GetExpr() << "\"\n" + << "Token: \"" << e.GetToken() << "\"\n" + << "Position: " << e.GetPos() << "\n" + << "Errc: " << QString::number(e.GetCode(), 16); + return; + } - quint32 id = _id; - quint32 arc1id = 0; - quint32 arc2id = 0; - if (typeCreation == Valentina::FromGui) + VArc arc1; + VArc arc2; + QPointF point = arc->CutArc(qApp->toPixel(result), arc1, arc2); + + quint32 id = _id; + quint32 arc1id = 0; + quint32 arc2id = 0; + if (typeCreation == Valentina::FromGui) + { + VPointF *p = new VPointF(point.x(), point.y(), pointName, mx, my); + id = data->AddGObject(p); + + VArc * ar1 = new VArc(arc1); + arc1id = data->AddGObject(ar1); + + VArc * ar2 = new VArc(arc2); + arc2id = data->AddGObject(ar2); + } + else + { + VPointF *p = new VPointF(point.x(), point.y(), pointName, mx, my); + data->UpdateGObject(id, p); + + arc1id = id + 1; + arc2id = id + 2; + + VArc * ar1 = new VArc(arc1); + data->UpdateGObject(arc1id, ar1); + + VArc * ar2 = new VArc(arc2); + data->UpdateGObject(arc2id, ar2); + + if (parse != Document::FullParse) { - VPointF *p = new VPointF(point.x(), point.y(), pointName, mx, my); - id = data->AddGObject(p); - - VArc * ar1 = new VArc(arc1); - arc1id = data->AddGObject(ar1); - - VArc * ar2 = new VArc(arc2); - arc2id = data->AddGObject(ar2); + doc->UpdateToolData(id, data); } - else - { - VPointF *p = new VPointF(point.x(), point.y(), pointName, mx, my); - data->UpdateGObject(id, p); + } + data->AddLengthArc(arc1id); + data->AddLengthArc(arc2id); - arc1id = id + 1; - arc2id = id + 2; - - VArc * ar1 = new VArc(arc1); - data->UpdateGObject(arc1id, ar1); - - VArc * ar2 = new VArc(arc2); - data->UpdateGObject(arc2id, ar2); - - if (parse != Document::FullParse) - { - doc->UpdateToolData(id, data); - } - } - data->AddLengthArc(arc1id); - data->AddLengthArc(arc2id); - - VDrawTool::AddRecord(id, Valentina::CutArcTool, doc); - if (parse == Document::FullParse) - { - VToolCutArc *point = new VToolCutArc(doc, data, id, formula, arcId, arc1id, arc2id, typeCreation); - scene->addItem(point); - connect(point, &VToolPoint::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); - connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolPoint::SetFactor); - doc->AddTool(id, point); - doc->AddTool(arc1id, point); - doc->AddTool(arc2id, point); - doc->IncrementReferens(arcId); - } + VDrawTool::AddRecord(id, Valentina::CutArcTool, doc); + if (parse == Document::FullParse) + { + VToolCutArc *point = new VToolCutArc(doc, data, id, formula, arcId, arc1id, arc2id, typeCreation); + scene->addItem(point); + connect(point, &VToolPoint::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); + connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolPoint::SetFactor); + doc->AddTool(id, point); + doc->AddTool(arc1id, point); + doc->AddTool(arc2id, point); + doc->IncrementReferens(arcId); } } diff --git a/src/app/tools/drawTools/vtoolcutspline.cpp b/src/app/tools/drawTools/vtoolcutspline.cpp index cdb8153c1..df8ade3fe 100644 --- a/src/app/tools/drawTools/vtoolcutspline.cpp +++ b/src/app/tools/drawTools/vtoolcutspline.cpp @@ -96,64 +96,78 @@ void VToolCutSpline::Create(const quint32 _id, const QString &pointName, const Document::Documents &parse, const Valentina::Sources &typeCreation) { const VSpline *spl = data->GeometricObject(splineId); - Calculator cal(data); - QString errorMsg; - qreal result = cal.eval(formula, &errorMsg); - if (errorMsg.isEmpty()) + + qreal result = 0; + try { - QPointF spl1p2, spl1p3, spl2p2, spl2p3; - QPointF point = spl->CutSpline(qApp->toPixel(result), spl1p2, spl1p3, spl2p2, spl2p3); + Calculator cal(data); + result = cal.EvalFormula(formula); + } + catch(qmu::QmuParserError &e) + { + //TODO show error message + qDebug() << "\nError:\n" + << "--------\n" + << "Message: " << e.GetMsg() << "\n" + << "Expression: \"" << e.GetExpr() << "\"\n" + << "Token: \"" << e.GetToken() << "\"\n" + << "Position: " << e.GetPos() << "\n" + << "Errc: " << QString::number(e.GetCode(), 16); + return; + } - quint32 id = _id; - quint32 spl1id = 0; - quint32 spl2id = 0; - if (typeCreation == Valentina::FromGui) + QPointF spl1p2, spl1p3, spl2p2, spl2p3; + QPointF point = spl->CutSpline(qApp->toPixel(result), spl1p2, spl1p3, spl2p2, spl2p3); + + quint32 id = _id; + quint32 spl1id = 0; + quint32 spl2id = 0; + if (typeCreation == Valentina::FromGui) + { + VPointF *p = new VPointF(point.x(), point.y(), pointName, mx, my); + id = data->AddGObject(p); + + VSpline *spline1 = new VSpline(spl->GetP1(), spl1p2, spl1p3, *p, spl->GetKcurve()); + spl1id = data->AddGObject(spline1); + data->AddLengthSpline(spline1->name(), qApp->fromPixel(spline1->GetLength())); + + VSpline *spline2 = new VSpline(*p, spl2p2, spl2p3, spl->GetP4(), spl->GetKcurve()); + spl2id = data->AddGObject(spline2); + data->AddLengthSpline(spline2->name(), qApp->fromPixel(spline2->GetLength())); + } + else + { + VPointF *p = new VPointF(point.x(), point.y(), pointName, mx, my); + data->UpdateGObject(id, p); + + spl1id = id + 1; + spl2id = id + 2; + + VSpline *spline1 = new VSpline(spl->GetP1(), spl1p2, spl1p3, *p, spl->GetKcurve()); + data->UpdateGObject(spl1id, spline1); + data->AddLengthSpline(spline1->name(), qApp->fromPixel(spline1->GetLength())); + + VSpline *spline2 = new VSpline(*p, spl2p2, spl2p3, spl->GetP4(), spl->GetKcurve()); + data->UpdateGObject(spl2id, spline2); + data->AddLengthSpline(spline2->name(), qApp->fromPixel(spline2->GetLength())); + + if (parse != Document::FullParse) { - VPointF *p = new VPointF(point.x(), point.y(), pointName, mx, my); - id = data->AddGObject(p); - - VSpline *spline1 = new VSpline(spl->GetP1(), spl1p2, spl1p3, *p, spl->GetKcurve()); - spl1id = data->AddGObject(spline1); - data->AddLengthSpline(spline1->name(), qApp->fromPixel(spline1->GetLength())); - - VSpline *spline2 = new VSpline(*p, spl2p2, spl2p3, spl->GetP4(), spl->GetKcurve()); - spl2id = data->AddGObject(spline2); - data->AddLengthSpline(spline2->name(), qApp->fromPixel(spline2->GetLength())); - } - else - { - VPointF *p = new VPointF(point.x(), point.y(), pointName, mx, my); - data->UpdateGObject(id, p); - - spl1id = id + 1; - spl2id = id + 2; - - VSpline *spline1 = new VSpline(spl->GetP1(), spl1p2, spl1p3, *p, spl->GetKcurve()); - data->UpdateGObject(spl1id, spline1); - data->AddLengthSpline(spline1->name(), qApp->fromPixel(spline1->GetLength())); - - VSpline *spline2 = new VSpline(*p, spl2p2, spl2p3, spl->GetP4(), spl->GetKcurve()); - data->UpdateGObject(spl2id, spline2); - data->AddLengthSpline(spline2->name(), qApp->fromPixel(spline2->GetLength())); - - if (parse != Document::FullParse) - { - doc->UpdateToolData(id, data); - } - } - VDrawTool::AddRecord(id, Valentina::CutSplineTool, doc); - if (parse == Document::FullParse) - { - VToolCutSpline *point = new VToolCutSpline(doc, data, id, formula, splineId, spl1id, spl2id, typeCreation); - scene->addItem(point); - connect(point, &VToolPoint::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); - connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolPoint::SetFactor); - doc->AddTool(id, point); - doc->AddTool(spl1id, point); - doc->AddTool(spl2id, point); - doc->IncrementReferens(splineId); + doc->UpdateToolData(id, data); } } + VDrawTool::AddRecord(id, Valentina::CutSplineTool, doc); + if (parse == Document::FullParse) + { + VToolCutSpline *point = new VToolCutSpline(doc, data, id, formula, splineId, spl1id, spl2id, typeCreation); + scene->addItem(point); + connect(point, &VToolPoint::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); + connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolPoint::SetFactor); + doc->AddTool(id, point); + doc->AddTool(spl1id, point); + doc->AddTool(spl2id, point); + doc->IncrementReferens(splineId); + } } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/tools/drawTools/vtoolcutsplinepath.cpp b/src/app/tools/drawTools/vtoolcutsplinepath.cpp index 55af235e5..d5ad485dd 100644 --- a/src/app/tools/drawTools/vtoolcutsplinepath.cpp +++ b/src/app/tools/drawTools/vtoolcutsplinepath.cpp @@ -97,136 +97,150 @@ void VToolCutSplinePath::Create(const quint32 _id, const QString &pointName, con { const VSplinePath *splPath = data->GeometricObject(splinePathId); Q_CHECK_PTR(splPath); - Calculator cal(data); - QString errorMsg; - qreal result = cal.eval(formula, &errorMsg); - if (errorMsg.isEmpty()) + + qreal result = 0; + try { - quint32 id = _id; - QPointF spl1p2, spl1p3, spl2p2, spl2p3; - qint32 p1 = 0, p2 = 0; + Calculator cal(data); + result = cal.EvalFormula(formula); + } + catch(qmu::QmuParserError &e) + { + //TODO show error message + qDebug() << "\nError:\n" + << "--------\n" + << "Message: " << e.GetMsg() << "\n" + << "Expression: \"" << e.GetExpr() << "\"\n" + << "Token: \"" << e.GetToken() << "\"\n" + << "Position: " << e.GetPos() << "\n" + << "Errc: " << QString::number(e.GetCode(), 16); + return; + } - const QPointF point = splPath->CutSplinePath(qApp->toPixel(result), p1, p2, spl1p2, spl1p3, spl2p2, spl2p3); - VPointF *p = new VPointF(point.x(), point.y(), pointName, mx, my); - if (typeCreation == Valentina::FromGui) + quint32 id = _id; + QPointF spl1p2, spl1p3, spl2p2, spl2p3; + qint32 p1 = 0, p2 = 0; + + const QPointF point = splPath->CutSplinePath(qApp->toPixel(result), p1, p2, spl1p2, spl1p3, spl2p2, spl2p3); + VPointF *p = new VPointF(point.x(), point.y(), pointName, mx, my); + if (typeCreation == Valentina::FromGui) + { + id = data->AddGObject(p); + } + else + { + data->UpdateGObject(id, p); + } + + quint32 splPath1id = id + 1; + quint32 splPath2id = id + 2; + + VSplinePoint splP1 = splPath->at(p1); + VSplinePoint splP2 = splPath->at(p2); + const VSpline spl1 = VSpline(splP1.P(), spl1p2, spl1p3, *p, splPath->getKCurve()); + const VSpline spl2 = VSpline(*p, spl2p2, spl2p3, splP2.P(), splPath->getKCurve()); + + VSplinePath *splPath1 = new VSplinePath(); + VSplinePath *splPath2 = new VSplinePath(); + if (typeCreation == Valentina::FromGui) + { + for (qint32 i = 0; i < splPath->CountPoint(); i++) { - id = data->AddGObject(p); - } - else - { - data->UpdateGObject(id, p); - } - - quint32 splPath1id = id + 1; - quint32 splPath2id = id + 2; - - VSplinePoint splP1 = splPath->at(p1); - VSplinePoint splP2 = splPath->at(p2); - const VSpline spl1 = VSpline(splP1.P(), spl1p2, spl1p3, *p, splPath->getKCurve()); - const VSpline spl2 = VSpline(*p, spl2p2, spl2p3, splP2.P(), splPath->getKCurve()); - - VSplinePath *splPath1 = new VSplinePath(); - VSplinePath *splPath2 = new VSplinePath(); - if (typeCreation == Valentina::FromGui) - { - for (qint32 i = 0; i < splPath->CountPoint(); i++) + if (i <= p1 && i < p2) { - if (i <= p1 && i < p2) + if (i == p1) { - if (i == p1) - { - splPath1->append(VSplinePoint(splP1.P(), splP1.KAsm1(), spl1.GetAngle1()+180, spl1.GetKasm1(), - spl1.GetAngle1())); - const VSplinePoint cutPoint = VSplinePoint(*p, spl1.GetKasm2(), spl1.GetAngle2(), - spl1.GetAngle2()+180, spl1.GetAngle2()); - splPath1->append(cutPoint); - continue; - } - splPath1->append(splPath->at(i)); - } - else - { - if (i == p2) - { - const VSplinePoint cutPoint = VSplinePoint(*p, spl1.GetKasm2(), spl2.GetAngle1()+180, - spl2.GetKasm1(), spl2.GetAngle1()); - splPath2->append(cutPoint); - splPath2->append(VSplinePoint(splP2.P(), spl2.GetKasm2(), spl2.GetAngle2(), splP2.KAsm2(), - spl2.GetAngle2()+180)); - continue; - } - splPath2->append(splPath->at(i)); + splPath1->append(VSplinePoint(splP1.P(), splP1.KAsm1(), spl1.GetAngle1()+180, spl1.GetKasm1(), + spl1.GetAngle1())); + const VSplinePoint cutPoint = VSplinePoint(*p, spl1.GetKasm2(), spl1.GetAngle2(), + spl1.GetAngle2()+180, spl1.GetAngle2()); + splPath1->append(cutPoint); + continue; } + splPath1->append(splPath->at(i)); } - - splPath1->setMaxCountPoints(splPath->CountPoint()); - splPath2->setMaxCountPoints(splPath->CountPoint()); - - splPath1id = data->AddGObject(splPath1); - data->AddLengthSpline(splPath1->name(), qApp->fromPixel(splPath1->GetLength())); - - splPath2id = data->AddGObject(splPath2); - data->AddLengthSpline(splPath2->name(), qApp->fromPixel(splPath2->GetLength())); - } - else - { - for (qint32 i = 0; i < splPath->CountPoint(); i++) + else { - if (i <= p1 && i < p2) + if (i == p2) { - if (i == p1) - { - splPath1->append(VSplinePoint(splP1.P(), splP1.KAsm1(), spl1.GetAngle1()+180, spl1.GetKasm1(), - spl1.GetAngle1())); - const VSplinePoint cutPoint = VSplinePoint(*p, spl1.GetKasm2(), spl1.GetAngle2(), - spl2.GetKasm1(), spl1.GetAngle2()+180); - splPath1->append(cutPoint); - continue; - } - splPath1->append(splPath->at(i)); + const VSplinePoint cutPoint = VSplinePoint(*p, spl1.GetKasm2(), spl2.GetAngle1()+180, + spl2.GetKasm1(), spl2.GetAngle1()); + splPath2->append(cutPoint); + splPath2->append(VSplinePoint(splP2.P(), spl2.GetKasm2(), spl2.GetAngle2(), splP2.KAsm2(), + spl2.GetAngle2()+180)); + continue; } - else - { - if (i == p2) - { - const VSplinePoint cutPoint = VSplinePoint(*p, spl1.GetKasm2(), spl2.GetAngle1()+180, - spl2.GetKasm1(), spl2.GetAngle1()); - splPath2->append(cutPoint); - splPath2->append(VSplinePoint(splP2.P(), spl2.GetKasm2(), spl2.GetAngle2(), splP2.KAsm2(), - spl2.GetAngle2()+180)); - continue; - } - splPath2->append(splPath->at(i)); - } - } - - splPath1->setMaxCountPoints(splPath->CountPoint()); - splPath2->setMaxCountPoints(splPath->CountPoint()); - - data->UpdateGObject(splPath1id, splPath1); - data->AddLengthSpline(splPath1->name(), qApp->fromPixel(splPath1->GetLength())); - - data->UpdateGObject(splPath2id, splPath2); - data->AddLengthSpline(splPath2->name(), qApp->fromPixel(splPath2->GetLength())); - - if (parse != Document::FullParse) - { - doc->UpdateToolData(id, data); + splPath2->append(splPath->at(i)); } } - VDrawTool::AddRecord(id, Valentina::CutSplinePathTool, doc); - if (parse == Document::FullParse) + + splPath1->setMaxCountPoints(splPath->CountPoint()); + splPath2->setMaxCountPoints(splPath->CountPoint()); + + splPath1id = data->AddGObject(splPath1); + data->AddLengthSpline(splPath1->name(), qApp->fromPixel(splPath1->GetLength())); + + splPath2id = data->AddGObject(splPath2); + data->AddLengthSpline(splPath2->name(), qApp->fromPixel(splPath2->GetLength())); + } + else + { + for (qint32 i = 0; i < splPath->CountPoint(); i++) { - VToolCutSplinePath *point = new VToolCutSplinePath(doc, data, id, formula, splinePathId, splPath1id, - splPath2id, typeCreation); - scene->addItem(point); - connect(point, &VToolPoint::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); - connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolPoint::SetFactor); - doc->AddTool(id, point); - doc->AddTool(splPath1id, point); - doc->AddTool(splPath2id, point); - doc->IncrementReferens(splinePathId); + if (i <= p1 && i < p2) + { + if (i == p1) + { + splPath1->append(VSplinePoint(splP1.P(), splP1.KAsm1(), spl1.GetAngle1()+180, spl1.GetKasm1(), + spl1.GetAngle1())); + const VSplinePoint cutPoint = VSplinePoint(*p, spl1.GetKasm2(), spl1.GetAngle2(), + spl2.GetKasm1(), spl1.GetAngle2()+180); + splPath1->append(cutPoint); + continue; + } + splPath1->append(splPath->at(i)); + } + else + { + if (i == p2) + { + const VSplinePoint cutPoint = VSplinePoint(*p, spl1.GetKasm2(), spl2.GetAngle1()+180, + spl2.GetKasm1(), spl2.GetAngle1()); + splPath2->append(cutPoint); + splPath2->append(VSplinePoint(splP2.P(), spl2.GetKasm2(), spl2.GetAngle2(), splP2.KAsm2(), + spl2.GetAngle2()+180)); + continue; + } + splPath2->append(splPath->at(i)); + } } + + splPath1->setMaxCountPoints(splPath->CountPoint()); + splPath2->setMaxCountPoints(splPath->CountPoint()); + + data->UpdateGObject(splPath1id, splPath1); + data->AddLengthSpline(splPath1->name(), qApp->fromPixel(splPath1->GetLength())); + + data->UpdateGObject(splPath2id, splPath2); + data->AddLengthSpline(splPath2->name(), qApp->fromPixel(splPath2->GetLength())); + + if (parse != Document::FullParse) + { + doc->UpdateToolData(id, data); + } + } + VDrawTool::AddRecord(id, Valentina::CutSplinePathTool, doc); + if (parse == Document::FullParse) + { + VToolCutSplinePath *point = new VToolCutSplinePath(doc, data, id, formula, splinePathId, splPath1id, + splPath2id, typeCreation); + scene->addItem(point); + connect(point, &VToolPoint::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); + connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolPoint::SetFactor); + doc->AddTool(id, point); + doc->AddTool(splPath1id, point); + doc->AddTool(splPath2id, point); + doc->IncrementReferens(splinePathId); } } diff --git a/src/app/tools/drawTools/vtoolendline.cpp b/src/app/tools/drawTools/vtoolendline.cpp index 14f1b2a0e..83971c71f 100644 --- a/src/app/tools/drawTools/vtoolendline.cpp +++ b/src/app/tools/drawTools/vtoolendline.cpp @@ -88,40 +88,54 @@ void VToolEndLine::Create(const quint32 _id, const QString &pointName, const QSt { const VPointF *basePoint = data->GeometricObject(basePointId); QLineF line = QLineF(basePoint->toQPointF(), QPointF(basePoint->x()+100, basePoint->y())); - Calculator cal(data); - QString errorMsg; - qreal result = cal.eval(formula, &errorMsg); - if (errorMsg.isEmpty()) + + qreal result = 0; + try { - line.setLength(qApp->toPixel(result)); - line.setAngle(angle); - quint32 id = _id; - if (typeCreation == Valentina::FromGui) + Calculator cal(data); + result = cal.EvalFormula(formula); + } + catch(qmu::QmuParserError &e) + { + //TODO show error message + qDebug() << "\nError:\n" + << "--------\n" + << "Message: " << e.GetMsg() << "\n" + << "Expression: \"" << e.GetExpr() << "\"\n" + << "Token: \"" << e.GetToken() << "\"\n" + << "Position: " << e.GetPos() << "\n" + << "Errc: " << QString::number(e.GetCode(), 16); + return; + } + + line.setLength(qApp->toPixel(result)); + line.setAngle(angle); + quint32 id = _id; + if (typeCreation == Valentina::FromGui) + { + id = data->AddGObject(new VPointF(line.p2().x(), line.p2().y(), pointName, mx, my)); + data->AddLine(basePointId, id); + } + else + { + data->UpdateGObject(id, new VPointF(line.p2().x(), line.p2().y(), pointName, mx, my)); + data->AddLine(basePointId, id); + if (parse != Document::FullParse) { - id = data->AddGObject(new VPointF(line.p2().x(), line.p2().y(), pointName, mx, my)); - data->AddLine(basePointId, id); - } - else - { - data->UpdateGObject(id, new VPointF(line.p2().x(), line.p2().y(), pointName, mx, my)); - data->AddLine(basePointId, id); - if (parse != Document::FullParse) - { - doc->UpdateToolData(id, data); - } - } - VDrawTool::AddRecord(id, Valentina::EndLineTool, doc); - if (parse == Document::FullParse) - { - VToolEndLine *point = new VToolEndLine(doc, data, id, typeLine, formula, angle, - basePointId, typeCreation); - scene->addItem(point); - connect(point, &VToolPoint::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); - connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolPoint::SetFactor); - doc->AddTool(id, point); - doc->IncrementReferens(basePointId); + doc->UpdateToolData(id, data); } } + VDrawTool::AddRecord(id, Valentina::EndLineTool, doc); + if (parse == Document::FullParse) + { + VToolEndLine *point = new VToolEndLine(doc, data, id, typeLine, formula, angle, + basePointId, typeCreation); + scene->addItem(point); + connect(point, &VToolPoint::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); + connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolPoint::SetFactor); + doc->AddTool(id, point); + doc->IncrementReferens(basePointId); + } } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/tools/drawTools/vtoolnormal.cpp b/src/app/tools/drawTools/vtoolnormal.cpp index 0c3c75b3d..560f604f1 100644 --- a/src/app/tools/drawTools/vtoolnormal.cpp +++ b/src/app/tools/drawTools/vtoolnormal.cpp @@ -90,41 +90,55 @@ void VToolNormal::Create(const quint32 _id, const QString &formula, const quint3 { const VPointF *firstPoint = data->GeometricObject(firstPointId); const VPointF *secondPoint = data->GeometricObject(secondPointId); - Calculator cal(data); - QString errorMsg; - qreal result = cal.eval(formula, &errorMsg); - if (errorMsg.isEmpty()) + + qreal result = 0; + try { - QPointF fPoint = VToolNormal::FindPoint(firstPoint->toQPointF(), secondPoint->toQPointF(), - qApp->toPixel(result), angle); - quint32 id = _id; - if (typeCreation == Valentina::FromGui) + Calculator cal(data); + result = cal.EvalFormula(formula); + } + catch(qmu::QmuParserError &e) + { + //TODO show error message + qDebug() << "\nError:\n" + << "--------\n" + << "Message: " << e.GetMsg() << "\n" + << "Expression: \"" << e.GetExpr() << "\"\n" + << "Token: \"" << e.GetToken() << "\"\n" + << "Position: " << e.GetPos() << "\n" + << "Errc: " << QString::number(e.GetCode(), 16); + return; + } + + QPointF fPoint = VToolNormal::FindPoint(firstPoint->toQPointF(), secondPoint->toQPointF(), + qApp->toPixel(result), angle); + quint32 id = _id; + if (typeCreation == Valentina::FromGui) + { + id = data->AddGObject(new VPointF(fPoint.x(), fPoint.y(), pointName, mx, my)); + data->AddLine(firstPointId, id); + } + else + { + data->UpdateGObject(id, new VPointF(fPoint.x(), fPoint.y(), pointName, mx, my)); + data->AddLine(firstPointId, id); + if (parse != Document::FullParse) { - id = data->AddGObject(new VPointF(fPoint.x(), fPoint.y(), pointName, mx, my)); - data->AddLine(firstPointId, id); - } - else - { - data->UpdateGObject(id, new VPointF(fPoint.x(), fPoint.y(), pointName, mx, my)); - data->AddLine(firstPointId, id); - if (parse != Document::FullParse) - { - doc->UpdateToolData(id, data); - } - } - VDrawTool::AddRecord(id, Valentina::NormalTool, doc); - if (parse == Document::FullParse) - { - VToolNormal *point = new VToolNormal(doc, data, id, typeLine, formula, angle, - firstPointId, secondPointId, typeCreation); - scene->addItem(point); - connect(point, &VToolNormal::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); - connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolNormal::SetFactor); - doc->AddTool(id, point); - doc->IncrementReferens(firstPointId); - doc->IncrementReferens(secondPointId); + doc->UpdateToolData(id, data); } } + VDrawTool::AddRecord(id, Valentina::NormalTool, doc); + if (parse == Document::FullParse) + { + VToolNormal *point = new VToolNormal(doc, data, id, typeLine, formula, angle, + firstPointId, secondPointId, typeCreation); + scene->addItem(point); + connect(point, &VToolNormal::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); + connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolNormal::SetFactor); + doc->AddTool(id, point); + doc->IncrementReferens(firstPointId); + doc->IncrementReferens(secondPointId); + } } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/tools/drawTools/vtoolpointofcontact.cpp b/src/app/tools/drawTools/vtoolpointofcontact.cpp index 305ee98dd..6cae7f869 100644 --- a/src/app/tools/drawTools/vtoolpointofcontact.cpp +++ b/src/app/tools/drawTools/vtoolpointofcontact.cpp @@ -117,46 +117,59 @@ void VToolPointOfContact::Create(const quint32 _id, const QString &radius, const const VPointF *firstP = data->GeometricObject(firstPointId); const VPointF *secondP = data->GeometricObject(secondPointId); - Calculator cal(data); - QString errorMsg; - qreal result = cal.eval(radius, &errorMsg); - if (errorMsg.isEmpty()) + qreal result = 0; + try { - QPointF fPoint = VToolPointOfContact::FindPoint(qApp->toPixel(result), centerP->toQPointF(), - firstP->toQPointF(), secondP->toQPointF()); - quint32 id = _id; - if (typeCreation == Valentina::FromGui) + Calculator cal(data); + result = cal.EvalFormula(radius); + } + catch(qmu::QmuParserError &e) + { + //TODO show error message + qDebug() << "\nError:\n" + << "--------\n" + << "Message: " << e.GetMsg() << "\n" + << "Expression: \"" << e.GetExpr() << "\"\n" + << "Token: \"" << e.GetToken() << "\"\n" + << "Position: " << e.GetPos() << "\n" + << "Errc: " << QString::number(e.GetCode(), 16); + return; + } + + QPointF fPoint = VToolPointOfContact::FindPoint(qApp->toPixel(result), centerP->toQPointF(), + firstP->toQPointF(), secondP->toQPointF()); + quint32 id = _id; + if (typeCreation == Valentina::FromGui) + { + id = data->AddGObject(new VPointF(fPoint.x(), fPoint.y(), pointName, mx, my)); + data->AddLine(firstPointId, id); + data->AddLine(secondPointId, id); + data->AddLine(center, id); + } + else + { + data->UpdateGObject(id, new VPointF(fPoint.x(), fPoint.y(), pointName, mx, my)); + data->AddLine(firstPointId, id); + data->AddLine(secondPointId, id); + data->AddLine(center, id); + if (parse != Document::FullParse) { - id = data->AddGObject(new VPointF(fPoint.x(), fPoint.y(), pointName, mx, my)); - data->AddLine(firstPointId, id); - data->AddLine(secondPointId, id); - data->AddLine(center, id); - } - else - { - data->UpdateGObject(id, new VPointF(fPoint.x(), fPoint.y(), pointName, mx, my)); - data->AddLine(firstPointId, id); - data->AddLine(secondPointId, id); - data->AddLine(center, id); - if (parse != Document::FullParse) - { - doc->UpdateToolData(id, data); - } - } - VDrawTool::AddRecord(id, Valentina::PointOfContact, doc); - if (parse == Document::FullParse) - { - VToolPointOfContact *point = new VToolPointOfContact(doc, data, id, radius, center, - firstPointId, secondPointId, typeCreation); - scene->addItem(point); - connect(point, &VToolPointOfContact::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); - connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolPointOfContact::SetFactor); - doc->AddTool(id, point); - doc->IncrementReferens(center); - doc->IncrementReferens(firstPointId); - doc->IncrementReferens(secondPointId); + doc->UpdateToolData(id, data); } } + VDrawTool::AddRecord(id, Valentina::PointOfContact, doc); + if (parse == Document::FullParse) + { + VToolPointOfContact *point = new VToolPointOfContact(doc, data, id, radius, center, + firstPointId, secondPointId, typeCreation); + scene->addItem(point); + connect(point, &VToolPointOfContact::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); + connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolPointOfContact::SetFactor); + doc->AddTool(id, point); + doc->IncrementReferens(center); + doc->IncrementReferens(firstPointId); + doc->IncrementReferens(secondPointId); + } } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/tools/drawTools/vtoolshoulderpoint.cpp b/src/app/tools/drawTools/vtoolshoulderpoint.cpp index cdd026c81..a09e43163 100644 --- a/src/app/tools/drawTools/vtoolshoulderpoint.cpp +++ b/src/app/tools/drawTools/vtoolshoulderpoint.cpp @@ -119,45 +119,58 @@ void VToolShoulderPoint::Create(const quint32 _id, const QString &formula, const const VPointF *secondPoint = data->GeometricObject(p2Line); const VPointF *shoulderPoint = data->GeometricObject(pShoulder); - Calculator cal(data); - QString errorMsg; - qreal result = cal.eval(formula, &errorMsg); - if (errorMsg.isEmpty()) + qreal result = 0; + try { - QPointF fPoint = VToolShoulderPoint::FindPoint(firstPoint->toQPointF(), secondPoint->toQPointF(), - shoulderPoint->toQPointF(), qApp->toPixel(result)); - quint32 id = _id; - if (typeCreation == Valentina::FromGui) + Calculator cal(data); + result = cal.EvalFormula(formula); + } + catch(qmu::QmuParserError &e) + { + //TODO show error message + qDebug() << "\nError:\n" + << "--------\n" + << "Message: " << e.GetMsg() << "\n" + << "Expression: \"" << e.GetExpr() << "\"\n" + << "Token: \"" << e.GetToken() << "\"\n" + << "Position: " << e.GetPos() << "\n" + << "Errc: " << QString::number(e.GetCode(), 16); + return; + } + + QPointF fPoint = VToolShoulderPoint::FindPoint(firstPoint->toQPointF(), secondPoint->toQPointF(), + shoulderPoint->toQPointF(), qApp->toPixel(result)); + quint32 id = _id; + if (typeCreation == Valentina::FromGui) + { + id = data->AddGObject(new VPointF(fPoint.x(), fPoint.y(), pointName, mx, my)); + data->AddLine(p1Line, id); + data->AddLine(p2Line, id); + } + else + { + data->UpdateGObject(id, new VPointF(fPoint.x(), fPoint.y(), pointName, mx, my)); + data->AddLine(p1Line, id); + data->AddLine(p2Line, id); + if (parse != Document::FullParse) { - id = data->AddGObject(new VPointF(fPoint.x(), fPoint.y(), pointName, mx, my)); - data->AddLine(p1Line, id); - data->AddLine(p2Line, id); - } - else - { - data->UpdateGObject(id, new VPointF(fPoint.x(), fPoint.y(), pointName, mx, my)); - data->AddLine(p1Line, id); - data->AddLine(p2Line, id); - if (parse != Document::FullParse) - { - doc->UpdateToolData(id, data); - } - } - VDrawTool::AddRecord(id, Valentina::ShoulderPointTool, doc); - if (parse == Document::FullParse) - { - VToolShoulderPoint *point = new VToolShoulderPoint(doc, data, id, typeLine, formula, - p1Line, p2Line, pShoulder, - typeCreation); - scene->addItem(point); - connect(point, &VToolShoulderPoint::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); - connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolShoulderPoint::SetFactor); - doc->AddTool(id, point); - doc->IncrementReferens(p1Line); - doc->IncrementReferens(p2Line); - doc->IncrementReferens(pShoulder); + doc->UpdateToolData(id, data); } } + VDrawTool::AddRecord(id, Valentina::ShoulderPointTool, doc); + if (parse == Document::FullParse) + { + VToolShoulderPoint *point = new VToolShoulderPoint(doc, data, id, typeLine, formula, + p1Line, p2Line, pShoulder, + typeCreation); + scene->addItem(point); + connect(point, &VToolShoulderPoint::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); + connect(scene, &VMainGraphicsScene::NewFactor, point, &VToolShoulderPoint::SetFactor); + doc->AddTool(id, point); + doc->IncrementReferens(p1Line); + doc->IncrementReferens(p2Line); + doc->IncrementReferens(pShoulder); + } } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/libs/qmuparser/qmuparserbase.cpp b/src/libs/qmuparser/qmuparserbase.cpp index 386c0f87d..fe313aeae 100644 --- a/src/libs/qmuparser/qmuparserbase.cpp +++ b/src/libs/qmuparser/qmuparserbase.cpp @@ -555,17 +555,12 @@ void QmuParserBase::DefineStrConst(const QString &a_strName, const QString &a_st /** * @brief Add a user defined variable. * @param [in] a_sName the variable name - * @param [in] a_pVar A pointer to the variable vaule. + * @param [in] a_pVar the variable vaule. * @post Will reset the Parser to string parsing mode. - * @throw ParserException in case the name contains invalid signs or a_pVar is NULL. + * @throw ParserException in case the name contains invalid signs. */ -void QmuParserBase::DefineVar(const QString &a_sName, qreal *a_pVar) +void QmuParserBase::DefineVar(const QString &a_sName, qreal a_pVar) { - if (a_pVar==0) - { - Error(ecINVALID_VAR_PTR); - } - // Test if a constant with that names already exists if (m_ConstDef.find(a_sName)!=m_ConstDef.end()) { @@ -1241,25 +1236,25 @@ qreal QmuParserBase::ParseCmdCodeBulk(int nOffset, int nThreadID) const // value and variable tokens case cmVAR: - Stack[++sidx] = *(pTok->Val.ptr + nOffset); + Stack[++sidx] = *(&pTok->Val.ptr + nOffset); continue; case cmVAL: Stack[++sidx] = pTok->Val.data2; continue; case cmVARPOW2: - buf = *(pTok->Val.ptr + nOffset); + buf = *(&pTok->Val.ptr + nOffset); Stack[++sidx] = buf*buf; continue; case cmVARPOW3: - buf = *(pTok->Val.ptr + nOffset); + buf = *(&pTok->Val.ptr + nOffset); Stack[++sidx] = buf*buf*buf; continue; case cmVARPOW4: - buf = *(pTok->Val.ptr + nOffset); + buf = *(&pTok->Val.ptr + nOffset); Stack[++sidx] = buf*buf*buf*buf; continue; case cmVARMUL: - Stack[++sidx] = *(pTok->Val.ptr + nOffset) * pTok->Val.data + pTok->Val.data2; + Stack[++sidx] = *(&pTok->Val.ptr + nOffset) * pTok->Val.data + pTok->Val.data2; continue; // Next is treatment of numeric functions case cmFUNC: @@ -1497,7 +1492,7 @@ void QmuParserBase::CreateRPN() const break; case cmVAR: stVal.push(opt); - m_vRPN.AddVar( static_cast(opt.GetVar()) ); + m_vRPN.AddVar( opt.GetVar() ); break; case cmVAL: stVal.push(opt); diff --git a/src/libs/qmuparser/qmuparserbase.h b/src/libs/qmuparser/qmuparserbase.h index d01e78ce2..348bd0156 100644 --- a/src/libs/qmuparser/qmuparserbase.h +++ b/src/libs/qmuparser/qmuparserbase.h @@ -79,7 +79,7 @@ public: EOprtAssociativity a_eAssociativity = oaLEFT, bool a_bAllowOpt = false); void DefineConst(const QString &a_sName, qreal a_fVal); void DefineStrConst(const QString &a_sName, const QString &a_strVal); - void DefineVar(const QString &a_sName, qreal *a_fVar); + void DefineVar(const QString &a_sName, qreal a_fVar); void DefinePostfixOprt(const QString &a_strFun, fun_type1 a_pOprt, bool a_bAllowOpt=true); void DefineInfixOprt(const QString &a_strName, fun_type1 a_pOprt, int a_iPrec=prINFIX, bool a_bAllowOpt=true); diff --git a/src/libs/qmuparser/qmuparserbytecode.cpp b/src/libs/qmuparser/qmuparserbytecode.cpp index cdd8e63ce..55acc78c4 100644 --- a/src/libs/qmuparser/qmuparserbytecode.cpp +++ b/src/libs/qmuparser/qmuparserbytecode.cpp @@ -98,7 +98,7 @@ void QmuParserByteCode::Assign(const QmuParserByteCode &a_ByteCode) Q_DECL_NOEXC * @param a_pVar Pointer to be added. * @throw nothrow */ -void QmuParserByteCode::AddVar(qreal *a_pVar) Q_DECL_NOEXCEPT +void QmuParserByteCode::AddVar(qreal a_pVar) Q_DECL_NOEXCEPT { ++m_iStackPos; m_iMaxStackSize = qMax(m_iMaxStackSize, static_cast(m_iStackPos)); @@ -134,7 +134,7 @@ void QmuParserByteCode::AddVal(qreal a_fVal) Q_DECL_NOEXCEPT // If optimization does not apply SToken tok; tok.Cmd = cmVAL; - tok.Val.ptr = nullptr; + tok.Val.ptr = 0; tok.Val.data = 0; tok.Val.data2 = a_fVal; m_vRPN.push_back(tok); @@ -355,14 +355,14 @@ void QmuParserByteCode::AddOp(ECmdCode a_Oprt) (m_vRPN[sz-1].Cmd == cmVARMUL && m_vRPN[sz-2].Cmd == cmVARMUL && m_vRPN[sz-2].Val.ptr == m_vRPN[sz-1].Val.ptr) ) { - assert( (m_vRPN[sz-2].Val.ptr==nullptr && m_vRPN[sz-1].Val.ptr!=nullptr) || - (m_vRPN[sz-2].Val.ptr!=nullptr && m_vRPN[sz-1].Val.ptr==nullptr) || + assert( (m_vRPN[sz-2].Val.ptr==0 && m_vRPN[sz-1].Val.ptr!=0) || + (m_vRPN[sz-2].Val.ptr!=0 && m_vRPN[sz-1].Val.ptr==0) || (m_vRPN[sz-2].Val.ptr == m_vRPN[sz-1].Val.ptr) ); m_vRPN[sz-2].Cmd = cmVARMUL; - m_vRPN[sz-2].Val.ptr = reinterpret_cast( - reinterpret_cast(m_vRPN[sz-2].Val.ptr) | - reinterpret_cast(m_vRPN[sz-1].Val.ptr)); // variable + m_vRPN[sz-2].Val.ptr = static_cast( + static_cast(m_vRPN[sz-2].Val.ptr) | + static_cast(m_vRPN[sz-1].Val.ptr)); // variable m_vRPN[sz-2].Val.data2 += ((a_Oprt==cmSUB) ? -1 : 1) * m_vRPN[sz-1].Val.data2; // offset m_vRPN[sz-2].Val.data += ((a_Oprt==cmSUB) ? -1 : 1) * m_vRPN[sz-1].Val.data; // multiplikatior m_vRPN.pop_back(); @@ -374,9 +374,9 @@ void QmuParserByteCode::AddOp(ECmdCode a_Oprt) (m_vRPN[sz-1].Cmd == cmVAL && m_vRPN[sz-2].Cmd == cmVAR) ) { m_vRPN[sz-2].Cmd = cmVARMUL; - m_vRPN[sz-2].Val.ptr = reinterpret_cast( - reinterpret_cast(m_vRPN[sz-2].Val.ptr) | - reinterpret_cast(m_vRPN[sz-1].Val.ptr)); + m_vRPN[sz-2].Val.ptr = static_cast( + static_cast(m_vRPN[sz-2].Val.ptr) | + static_cast(m_vRPN[sz-1].Val.ptr)); m_vRPN[sz-2].Val.data = m_vRPN[sz-2].Val.data2 + m_vRPN[sz-1].Val.data2; m_vRPN[sz-2].Val.data2 = 0; m_vRPN.pop_back(); @@ -387,9 +387,9 @@ void QmuParserByteCode::AddOp(ECmdCode a_Oprt) { // Optimization: 2*(3*b+1) or (3*b+1)*2 -> 6*b+2 m_vRPN[sz-2].Cmd = cmVARMUL; - m_vRPN[sz-2].Val.ptr = reinterpret_cast( - reinterpret_cast(m_vRPN[sz-2].Val.ptr) | - reinterpret_cast(m_vRPN[sz-1].Val.ptr)); + m_vRPN[sz-2].Val.ptr = static_cast( + static_cast(m_vRPN[sz-2].Val.ptr) | + static_cast(m_vRPN[sz-1].Val.ptr)); if (m_vRPN[sz-1].Cmd == cmVAL) { m_vRPN[sz-2].Val.data *= m_vRPN[sz-1].Val.data2; @@ -491,7 +491,7 @@ void QmuParserByteCode::AddIfElse(ECmdCode a_Oprt) Q_DECL_NOEXCEPT * * @sa ParserToken::ECmdCode */ -void QmuParserByteCode::AddAssignOp(qreal *a_pVar) Q_DECL_NOEXCEPT +void QmuParserByteCode::AddAssignOp(qreal a_pVar) Q_DECL_NOEXCEPT { --m_iStackPos; @@ -691,19 +691,19 @@ void QmuParserByteCode::AsciiDump() qDebug() << "VAL \t" << "[" << m_vRPN[i].Val.data2 << "]\n"; break; case cmVAR: - qDebug() << "VAR \t" << "[ADDR: 0x" << QString::number(*m_vRPN[i].Val.ptr, 'f', 16) << "]\n"; + qDebug() << "VAR \t" << "[ADDR: 0x" << QString::number(m_vRPN[i].Val.ptr, 'f', 16) << "]\n"; break; case cmVARPOW2: - qDebug() << "VARPOW2 \t" << "[ADDR: 0x" << QString::number(*m_vRPN[i].Val.ptr, 'f', 16) << "]\n"; + qDebug() << "VARPOW2 \t" << "[ADDR: 0x" << QString::number(m_vRPN[i].Val.ptr, 'f', 16) << "]\n"; break; case cmVARPOW3: - qDebug() << "VARPOW3 \t" << "[ADDR: 0x" << QString::number(*m_vRPN[i].Val.ptr, 'f', 16) << "]\n"; + qDebug() << "VARPOW3 \t" << "[ADDR: 0x" << QString::number(m_vRPN[i].Val.ptr, 'f', 16) << "]\n"; break; case cmVARPOW4: - qDebug() << "VARPOW4 \t" << "[ADDR: 0x" << QString::number(*m_vRPN[i].Val.ptr, 'f', 16) << "]\n"; + qDebug() << "VARPOW4 \t" << "[ADDR: 0x" << QString::number(m_vRPN[i].Val.ptr, 'f', 16) << "]\n"; break; case cmVARMUL: - qDebug() << "VARMUL \t" << "[ADDR: 0x" << QString::number(*m_vRPN[i].Val.ptr, 'f', 16) << "]" << " * [" + qDebug() << "VARMUL \t" << "[ADDR: 0x" << QString::number(m_vRPN[i].Val.ptr, 'f', 16) << "]" << " * [" << m_vRPN[i].Val.data << "]" << " + [" << m_vRPN[i].Val.data2 << "]\n"; break; case cmFUNC: diff --git a/src/libs/qmuparser/qmuparserbytecode.h b/src/libs/qmuparser/qmuparserbytecode.h index 09e27bef8..f2aa0ccbf 100644 --- a/src/libs/qmuparser/qmuparserbytecode.h +++ b/src/libs/qmuparser/qmuparserbytecode.h @@ -43,7 +43,7 @@ struct SToken { struct //SValData { - qreal *ptr; + qreal ptr; qreal data; qreal data2; } Val; @@ -85,11 +85,11 @@ public: QmuParserByteCode(const QmuParserByteCode &a_ByteCode) Q_DECL_NOEXCEPT; QmuParserByteCode& operator=(const QmuParserByteCode &a_ByteCode) Q_DECL_NOEXCEPT; void Assign(const QmuParserByteCode &a_ByteCode) Q_DECL_NOEXCEPT; - void AddVar(qreal *a_pVar) Q_DECL_NOEXCEPT; + void AddVar(qreal a_pVar) Q_DECL_NOEXCEPT; void AddVal(qreal a_fVal) Q_DECL_NOEXCEPT; void AddOp(ECmdCode a_Oprt); void AddIfElse(ECmdCode a_Oprt) Q_DECL_NOEXCEPT; - void AddAssignOp(qreal *a_pVar) Q_DECL_NOEXCEPT; + void AddAssignOp(qreal a_pVar) Q_DECL_NOEXCEPT; void AddFun(generic_fun_type a_pFun, int a_iArgc) Q_DECL_NOEXCEPT; void AddBulkFun(generic_fun_type a_pFun, int a_iArgc) Q_DECL_NOEXCEPT; void AddStrFun(generic_fun_type a_pFun, int a_iArgc, int a_iIdx) Q_DECL_NOEXCEPT; diff --git a/src/libs/qmuparser/qmuparserdef.h b/src/libs/qmuparser/qmuparserdef.h index a15557d9c..a3b0e0ccb 100644 --- a/src/libs/qmuparser/qmuparserdef.h +++ b/src/libs/qmuparser/qmuparserdef.h @@ -173,7 +173,7 @@ typedef std::basic_stringstream < char_type, std::char_traits, std::a // Data container types /** @brief Type used for storing variables. */ -typedef std::map varmap_type; +typedef std::map varmap_type; /** @brief Type used for storing constants. */ typedef std::map valmap_type; @@ -268,7 +268,7 @@ typedef qreal ( *strfun_type3 ) ( const QString &, qreal, qreal ); typedef int ( *identfun_type ) ( const QString &sExpr, int *nPos, qreal *fVal ); /** @brief Callback used for variable creation factory functions. */ -typedef qreal* ( *facfun_type ) ( const QString &, void* ); +typedef qreal ( *facfun_type ) ( const QString &, void* ); } // end of namespace #endif diff --git a/src/libs/qmuparser/qmuparsertest.cpp b/src/libs/qmuparser/qmuparsertest.cpp index cce7cdfc2..fc237c0a6 100644 --- a/src/libs/qmuparser/qmuparsertest.cpp +++ b/src/libs/qmuparser/qmuparsertest.cpp @@ -103,9 +103,9 @@ int QmuParserTester::TestInterface() try { - p.DefineVar ( "a", &afVal[0] ); - p.DefineVar ( "b", &afVal[1] ); - p.DefineVar ( "c", &afVal[2] ); + p.DefineVar ( "a", afVal[0] ); + p.DefineVar ( "b", afVal[1] ); + p.DefineVar ( "c", afVal[2] ); p.SetExpr ( "a+b+c" ); p.Eval(); } @@ -280,21 +280,21 @@ int QmuParserTester::TestNames() // variable names qreal a; p.ClearConst(); - PARSER_THROWCHECK ( Var, false, "123abc", &a ) - PARSER_THROWCHECK ( Var, false, "9a", &a ) - PARSER_THROWCHECK ( Var, false, "0a", &a ) - PARSER_THROWCHECK ( Var, false, "+a", &a ) - PARSER_THROWCHECK ( Var, false, "-a", &a ) - PARSER_THROWCHECK ( Var, false, "?a", &a ) - PARSER_THROWCHECK ( Var, false, "!a", &a ) - PARSER_THROWCHECK ( Var, false, "a+", &a ) - PARSER_THROWCHECK ( Var, false, "a-", &a ) - PARSER_THROWCHECK ( Var, false, "a*", &a ) - PARSER_THROWCHECK ( Var, false, "a?", &a ) - PARSER_THROWCHECK ( Var, true, "a", &a ) - PARSER_THROWCHECK ( Var, true, "a_min", &a ) - PARSER_THROWCHECK ( Var, true, "a_min0", &a ) - PARSER_THROWCHECK ( Var, true, "a_min9", &a ) + PARSER_THROWCHECK ( Var, false, "123abc", a ) + PARSER_THROWCHECK ( Var, false, "9a", a ) + PARSER_THROWCHECK ( Var, false, "0a", a ) + PARSER_THROWCHECK ( Var, false, "+a", a ) + PARSER_THROWCHECK ( Var, false, "-a", a ) + PARSER_THROWCHECK ( Var, false, "?a", a ) + PARSER_THROWCHECK ( Var, false, "!a", a ) + PARSER_THROWCHECK ( Var, false, "a+", a ) + PARSER_THROWCHECK ( Var, false, "a-", a ) + PARSER_THROWCHECK ( Var, false, "a*", a ) + PARSER_THROWCHECK ( Var, false, "a?", a ) + PARSER_THROWCHECK ( Var, true, "a", a ) + PARSER_THROWCHECK ( Var, true, "a_min", a ) + PARSER_THROWCHECK ( Var, true, "a_min0", a ) + PARSER_THROWCHECK ( Var, true, "a_min9", a ) PARSER_THROWCHECK ( Var, false, "a_min9", 0 ) // Postfix operators // fail @@ -449,11 +449,11 @@ int QmuParserTester::TestVarConst() int idx; qmu::QmuParser p; qreal vVarVal[] = { 1, 2, 3, 4, 5}; - p.DefineVar ( "a", &vVarVal[0] ); - p.DefineVar ( "b", &vVarVal[1] ); - p.DefineVar ( "c", &vVarVal[2] ); - p.DefineVar ( "d", &vVarVal[3] ); - p.DefineVar ( "e", &vVarVal[4] ); + p.DefineVar ( "a", vVarVal[0] ); + p.DefineVar ( "b", vVarVal[1] ); + p.DefineVar ( "c", vVarVal[2] ); + p.DefineVar ( "d", vVarVal[3] ); + p.DefineVar ( "e", vVarVal[4] ); // Test lookup of defined variables // 4 used variables @@ -475,7 +475,7 @@ int QmuParserTester::TestVarConst() qmu::varmap_type::const_iterator item = UsedVar.begin(); for ( idx = 0; item != UsedVar.end(); ++item ) { - if ( &vVarVal[idx++] != item->second ) + if ( vVarVal[idx++] != item->second ) { throw false; } @@ -516,7 +516,7 @@ int QmuParserTester::TestVarConst() item = UsedVar.begin(); for ( idx = 0; item != UsedVar.end(); ++item ) { - if ( &vVarVal[idx++] != item->second ) + if ( vVarVal[idx++] != item->second ) { throw false; } @@ -1118,9 +1118,9 @@ int QmuParserTester::ThrowTest ( const QString &a_str, int a_iErrc, bool a_bFail qreal fVal[] = {1, 1, 1}; QmuParser p; - p.DefineVar ( "a", &fVal[0] ); - p.DefineVar ( "b", &fVal[1] ); - p.DefineVar ( "c", &fVal[2] ); + p.DefineVar ( "a", fVal[0] ); + p.DefineVar ( "b", fVal[1] ); + p.DefineVar ( "c", fVal[2] ); p.DefinePostfixOprt ( "{m}", Milli ); p.DefinePostfixOprt ( "m", Milli ); p.DefineFun ( "ping", Ping ); @@ -1173,7 +1173,7 @@ int QmuParserTester::EqnTestWithVarChange ( const QString &a_str, double a_fVar1 // variable qreal var = 0; - p.DefineVar ( "a", &var ); + p.DefineVar ( "a", var ); p.SetExpr ( a_str ); var = a_fVar1; @@ -1242,11 +1242,11 @@ int QmuParserTester::EqnTest ( const QString &a_str, double a_fRes, bool a_fPass p1->DefineConst ( "const2", 3 ); // variables qreal vVarVal[] = { 1, 2, 3, -2}; - p1->DefineVar ( "a", &vVarVal[0] ); - p1->DefineVar ( "aa", &vVarVal[1] ); - p1->DefineVar ( "b", &vVarVal[1] ); - p1->DefineVar ( "c", &vVarVal[2] ); - p1->DefineVar ( "d", &vVarVal[3] ); + p1->DefineVar ( "a", vVarVal[0] ); + p1->DefineVar ( "aa", vVarVal[1] ); + p1->DefineVar ( "b", vVarVal[1] ); + p1->DefineVar ( "c", vVarVal[2] ); + p1->DefineVar ( "d", vVarVal[3] ); // custom value ident functions p1->AddValIdent ( &QmuParserTester::IsHexVal ); diff --git a/src/libs/qmuparser/qmuparsertoken.h b/src/libs/qmuparser/qmuparsertoken.h index 5dd720766..921b9dcba 100644 --- a/src/libs/qmuparser/qmuparsertoken.h +++ b/src/libs/qmuparser/qmuparsertoken.h @@ -196,13 +196,13 @@ public: * Member variables not necessary for variable tokens will be invalidated. * @throw nothrow */ - QmuParserToken& SetVar ( TBase *a_pVar, const TString &a_strTok ) + QmuParserToken& SetVar ( TBase a_pVar, const TString &a_strTok ) { m_iCode = cmVAR; m_iType = tpDBL; m_strTok = a_strTok; m_iIdx = -1; - m_pTok = reinterpret_cast ( a_pVar ); + m_pTok = a_pVar; m_pCallback.reset ( 0 ); return *this; } @@ -357,7 +357,7 @@ public: case cmVAL: return m_fVal; case cmVAR: - return * ( reinterpret_cast(m_pTok) ); + return m_pTok; case cmLE: case cmGE: case cmNEQ: @@ -404,14 +404,14 @@ public: * Valid only if m_iType==CmdVar. * @throw QmuParserError if token is no variable token. */ - TBase* GetVar() const + TBase GetVar() const { if ( m_iCode != cmVAR ) { throw QmuParserError ( ecINTERNAL_ERROR ); } - return reinterpret_cast( m_pTok ); + return m_pTok; } //------------------------------------------------------------------------------ @@ -449,7 +449,7 @@ public: private: ECmdCode m_iCode; ///< Type of the token; The token type is a constant of type #ECmdCode. ETypeCode m_iType; - void *m_pTok; ///< Stores Token pointer; not applicable for all tokens + TBase m_pTok; ///< Stores Token pointer; not applicable for all tokens int m_iIdx; ///< An otional index to an external buffer storing the token data TString m_strTok; ///< Token string TString m_strVal; ///< Value for string variables diff --git a/src/libs/qmuparser/qmuparsertokenreader.cpp b/src/libs/qmuparser/qmuparsertokenreader.cpp index e2d869c9b..e082bd7a8 100644 --- a/src/libs/qmuparser/qmuparsertokenreader.cpp +++ b/src/libs/qmuparser/qmuparsertokenreader.cpp @@ -976,7 +976,7 @@ bool QmuParserTokenReader::IsUndefVarTok ( token_type &a_Tok ) Q_DECL_NOEXCEPT // If a factory is available implicitely create new variables if ( m_pFactory ) { - qreal *fVar = m_pFactory ( strTok, m_pFactoryData ); + qreal fVar = m_pFactory ( strTok, m_pFactoryData ); a_Tok.SetVar ( fVar, strTok ); // Do not use m_pParser->DefineVar( strTok, fVar ); @@ -990,7 +990,7 @@ bool QmuParserTokenReader::IsUndefVarTok ( token_type &a_Tok ) Q_DECL_NOEXCEPT } else { - a_Tok.SetVar ( &m_fZero, strTok ); + a_Tok.SetVar ( m_fZero, strTok ); m_UsedVar[strTok] = 0; // Add variable to used-var-list } From 8c2c8a8a7e8945542a2c7b0bd3e54b085f30adb1 Mon Sep 17 00:00:00 2001 From: dismine Date: Wed, 21 May 2014 11:54:34 +0300 Subject: [PATCH 15/32] Delete old methods. --HG-- branch : feature --- src/app/container/vincrement.h | 26 +++++++++++++------------- src/app/container/vmeasurement.h | 2 -- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/src/app/container/vincrement.h b/src/app/container/vincrement.h index 32691f6d5..4f34a9942 100644 --- a/src/app/container/vincrement.h +++ b/src/app/container/vincrement.h @@ -37,19 +37,19 @@ class VIncrement { public: - /** - * @brief VIncrementTableRow create enpty row - */ - VIncrement(); - /** - * @brief VIncrementTableRow create row - * @param id id - * @param base value in base size and growth - * @param ksize increment in sizes - * @param kgrowth increment in growths - * @param description description of increment - */ - VIncrement(quint32 id, qreal base, qreal ksize, qreal kheight, QString description = QString()); + /** + * @brief VIncrementTableRow create enpty row + */ + VIncrement(); + /** + * @brief VIncrementTableRow create row + * @param id id + * @param base value in base size and growth + * @param ksize increment in sizes + * @param kgrowth increment in growths + * @param description description of increment + */ + VIncrement(quint32 id, qreal base, qreal ksize, qreal kheight, QString description = QString()); /** * @brief getId return id of row * @return id diff --git a/src/app/container/vmeasurement.h b/src/app/container/vmeasurement.h index cf5ed3dc2..00a3f43a2 100644 --- a/src/app/container/vmeasurement.h +++ b/src/app/container/vmeasurement.h @@ -80,8 +80,6 @@ public: qreal GetValue(const qreal &size, const qreal &height) const; QString TagName() const; void setTagName(const QString &TagName); - bool Virtual() const; - void setVirtual(bool value); private: /** * @brief base value in base size and growth From e4ab794211cccaba407a2bc2675298598efde71b Mon Sep 17 00:00:00 2001 From: dismine Date: Wed, 21 May 2014 13:12:52 +0300 Subject: [PATCH 16/32] Catch math parser exceptions. --HG-- branch : feature --- src/app/tools/drawTools/vtoolalongline.cpp | 23 +--- src/app/tools/drawTools/vtoolarc.cpp | 25 +--- src/app/tools/drawTools/vtoolbisector.cpp | 20 +--- src/app/tools/drawTools/vtoolcutarc.cpp | 21 +--- src/app/tools/drawTools/vtoolcutspline.cpp | 20 +--- .../tools/drawTools/vtoolcutsplinepath.cpp | 20 +--- src/app/tools/drawTools/vtoolendline.cpp | 20 +--- src/app/tools/drawTools/vtoolnormal.cpp | 20 +--- .../tools/drawTools/vtoolpointofcontact.cpp | 20 +--- .../tools/drawTools/vtoolshoulderpoint.cpp | 20 +--- src/app/xml/vpattern.cpp | 111 ++++++++++++++++++ 11 files changed, 138 insertions(+), 182 deletions(-) diff --git a/src/app/tools/drawTools/vtoolalongline.cpp b/src/app/tools/drawTools/vtoolalongline.cpp index debeca98c..1d8613d48 100644 --- a/src/app/tools/drawTools/vtoolalongline.cpp +++ b/src/app/tools/drawTools/vtoolalongline.cpp @@ -30,6 +30,8 @@ #include "../../container/calculator.h" #include "../../dialogs/tools/dialogalongline.h" +#include "exception/vexceptionobjecterror.h" + const QString VToolAlongLine::ToolType = QStringLiteral("alongLine"); //--------------------------------------------------------------------------------------------------------------------- @@ -180,24 +182,9 @@ void VToolAlongLine::Create(const quint32 _id, const QString &pointName, const Q const VPointF *secondPoint = data->GeometricObject(secondPointId); QLineF line = QLineF(firstPoint->toQPointF(), secondPoint->toQPointF()); - try - { - Calculator cal(data); - const qreal result = cal.EvalFormula(formula); - line.setLength(qApp->toPixel(result)); - } - catch(qmu::QmuParserError &e) - { - //TODO show error - qDebug() << "\nError:\n" - << "--------\n" - << "Message: " << e.GetMsg() << "\n" - << "Expression: \"" << e.GetExpr() << "\"\n" - << "Token: \"" << e.GetToken() << "\"\n" - << "Position: " << e.GetPos() << "\n" - << "Errc: " << QString::number(e.GetCode(), 16); - return; - } + Calculator cal(data); + const qreal result = cal.EvalFormula(formula); + line.setLength(qApp->toPixel(result)); quint32 id = _id; if (typeCreation == Valentina::FromGui) diff --git a/src/app/tools/drawTools/vtoolarc.cpp b/src/app/tools/drawTools/vtoolarc.cpp index ac36dfb44..af9754b26 100644 --- a/src/app/tools/drawTools/vtoolarc.cpp +++ b/src/app/tools/drawTools/vtoolarc.cpp @@ -93,28 +93,13 @@ void VToolArc::Create(const quint32 _id, const quint32 ¢er, const QString &r { qreal calcRadius = 0, calcF1 = 0, calcF2 = 0; - try - { - Calculator cal(data); + Calculator cal(data); - qreal result = cal.EvalFormula(radius); - calcRadius = qApp->toPixel(result); + qreal result = cal.EvalFormula(radius); + calcRadius = qApp->toPixel(result); - calcF1 = cal.EvalFormula(f1); - calcF2 = cal.EvalFormula(f2); - } - catch(qmu::QmuParserError &e) - { - //TODO show error message - qDebug() << "\nError:\n" - << "--------\n" - << "Message: " << e.GetMsg() << "\n" - << "Expression: \"" << e.GetExpr() << "\"\n" - << "Token: \"" << e.GetToken() << "\"\n" - << "Position: " << e.GetPos() << "\n" - << "Errc: " << QString::number(e.GetCode(), 16); - return; - } + calcF1 = cal.EvalFormula(f1); + calcF2 = cal.EvalFormula(f2); VPointF c = *data->GeometricObject(center); VArc *arc = new VArc(c, calcRadius, radius, calcF1, f1, calcF2, f2 ); diff --git a/src/app/tools/drawTools/vtoolbisector.cpp b/src/app/tools/drawTools/vtoolbisector.cpp index 2834e915b..36d3436e6 100644 --- a/src/app/tools/drawTools/vtoolbisector.cpp +++ b/src/app/tools/drawTools/vtoolbisector.cpp @@ -114,24 +114,8 @@ void VToolBisector::Create(const quint32 _id, const QString &formula, const quin const VPointF *secondPoint = data->GeometricObject(secondPointId); const VPointF *thirdPoint = data->GeometricObject(thirdPointId); - qreal result = 0; - try - { - Calculator cal(data); - result = cal.EvalFormula(formula); - } - catch(qmu::QmuParserError &e) - { - //TODO show error message - qDebug() << "\nError:\n" - << "--------\n" - << "Message: " << e.GetMsg() << "\n" - << "Expression: \"" << e.GetExpr() << "\"\n" - << "Token: \"" << e.GetToken() << "\"\n" - << "Position: " << e.GetPos() << "\n" - << "Errc: " << QString::number(e.GetCode(), 16); - return; - } + Calculator cal(data); + const qreal result = cal.EvalFormula(formula); QPointF fPoint = VToolBisector::FindPoint(firstPoint->toQPointF(), secondPoint->toQPointF(), thirdPoint->toQPointF(), qApp->toPixel(result)); diff --git a/src/app/tools/drawTools/vtoolcutarc.cpp b/src/app/tools/drawTools/vtoolcutarc.cpp index ca6db78f1..2f1a8cf81 100644 --- a/src/app/tools/drawTools/vtoolcutarc.cpp +++ b/src/app/tools/drawTools/vtoolcutarc.cpp @@ -95,24 +95,9 @@ void VToolCutArc::Create(const quint32 _id, const QString &pointName, const QStr VContainer *data, const Document::Documents &parse, const Valentina::Sources &typeCreation) { const VArc *arc = data->GeometricObject(arcId); - qreal result = 0; - try - { - Calculator cal(data); - result = cal.EvalFormula(formula); - } - catch(qmu::QmuParserError &e) - { - //TODO show error message - qDebug() << "\nError:\n" - << "--------\n" - << "Message: " << e.GetMsg() << "\n" - << "Expression: \"" << e.GetExpr() << "\"\n" - << "Token: \"" << e.GetToken() << "\"\n" - << "Position: " << e.GetPos() << "\n" - << "Errc: " << QString::number(e.GetCode(), 16); - return; - } + + Calculator cal(data); + const qreal result = cal.EvalFormula(formula); VArc arc1; VArc arc2; diff --git a/src/app/tools/drawTools/vtoolcutspline.cpp b/src/app/tools/drawTools/vtoolcutspline.cpp index df8ade3fe..1f1f14c1f 100644 --- a/src/app/tools/drawTools/vtoolcutspline.cpp +++ b/src/app/tools/drawTools/vtoolcutspline.cpp @@ -97,24 +97,8 @@ void VToolCutSpline::Create(const quint32 _id, const QString &pointName, { const VSpline *spl = data->GeometricObject(splineId); - qreal result = 0; - try - { - Calculator cal(data); - result = cal.EvalFormula(formula); - } - catch(qmu::QmuParserError &e) - { - //TODO show error message - qDebug() << "\nError:\n" - << "--------\n" - << "Message: " << e.GetMsg() << "\n" - << "Expression: \"" << e.GetExpr() << "\"\n" - << "Token: \"" << e.GetToken() << "\"\n" - << "Position: " << e.GetPos() << "\n" - << "Errc: " << QString::number(e.GetCode(), 16); - return; - } + Calculator cal(data); + const qreal result = cal.EvalFormula(formula); QPointF spl1p2, spl1p3, spl2p2, spl2p3; QPointF point = spl->CutSpline(qApp->toPixel(result), spl1p2, spl1p3, spl2p2, spl2p3); diff --git a/src/app/tools/drawTools/vtoolcutsplinepath.cpp b/src/app/tools/drawTools/vtoolcutsplinepath.cpp index d5ad485dd..290aa92ef 100644 --- a/src/app/tools/drawTools/vtoolcutsplinepath.cpp +++ b/src/app/tools/drawTools/vtoolcutsplinepath.cpp @@ -98,24 +98,8 @@ void VToolCutSplinePath::Create(const quint32 _id, const QString &pointName, con const VSplinePath *splPath = data->GeometricObject(splinePathId); Q_CHECK_PTR(splPath); - qreal result = 0; - try - { - Calculator cal(data); - result = cal.EvalFormula(formula); - } - catch(qmu::QmuParserError &e) - { - //TODO show error message - qDebug() << "\nError:\n" - << "--------\n" - << "Message: " << e.GetMsg() << "\n" - << "Expression: \"" << e.GetExpr() << "\"\n" - << "Token: \"" << e.GetToken() << "\"\n" - << "Position: " << e.GetPos() << "\n" - << "Errc: " << QString::number(e.GetCode(), 16); - return; - } + Calculator cal(data); + const qreal result = cal.EvalFormula(formula); quint32 id = _id; QPointF spl1p2, spl1p3, spl2p2, spl2p3; diff --git a/src/app/tools/drawTools/vtoolendline.cpp b/src/app/tools/drawTools/vtoolendline.cpp index 83971c71f..22c9639cc 100644 --- a/src/app/tools/drawTools/vtoolendline.cpp +++ b/src/app/tools/drawTools/vtoolendline.cpp @@ -89,24 +89,8 @@ void VToolEndLine::Create(const quint32 _id, const QString &pointName, const QSt const VPointF *basePoint = data->GeometricObject(basePointId); QLineF line = QLineF(basePoint->toQPointF(), QPointF(basePoint->x()+100, basePoint->y())); - qreal result = 0; - try - { - Calculator cal(data); - result = cal.EvalFormula(formula); - } - catch(qmu::QmuParserError &e) - { - //TODO show error message - qDebug() << "\nError:\n" - << "--------\n" - << "Message: " << e.GetMsg() << "\n" - << "Expression: \"" << e.GetExpr() << "\"\n" - << "Token: \"" << e.GetToken() << "\"\n" - << "Position: " << e.GetPos() << "\n" - << "Errc: " << QString::number(e.GetCode(), 16); - return; - } + Calculator cal(data); + const qreal result = cal.EvalFormula(formula); line.setLength(qApp->toPixel(result)); line.setAngle(angle); diff --git a/src/app/tools/drawTools/vtoolnormal.cpp b/src/app/tools/drawTools/vtoolnormal.cpp index 560f604f1..93f8a3efa 100644 --- a/src/app/tools/drawTools/vtoolnormal.cpp +++ b/src/app/tools/drawTools/vtoolnormal.cpp @@ -91,24 +91,8 @@ void VToolNormal::Create(const quint32 _id, const QString &formula, const quint3 const VPointF *firstPoint = data->GeometricObject(firstPointId); const VPointF *secondPoint = data->GeometricObject(secondPointId); - qreal result = 0; - try - { - Calculator cal(data); - result = cal.EvalFormula(formula); - } - catch(qmu::QmuParserError &e) - { - //TODO show error message - qDebug() << "\nError:\n" - << "--------\n" - << "Message: " << e.GetMsg() << "\n" - << "Expression: \"" << e.GetExpr() << "\"\n" - << "Token: \"" << e.GetToken() << "\"\n" - << "Position: " << e.GetPos() << "\n" - << "Errc: " << QString::number(e.GetCode(), 16); - return; - } + Calculator cal(data); + const qreal result = cal.EvalFormula(formula); QPointF fPoint = VToolNormal::FindPoint(firstPoint->toQPointF(), secondPoint->toQPointF(), qApp->toPixel(result), angle); diff --git a/src/app/tools/drawTools/vtoolpointofcontact.cpp b/src/app/tools/drawTools/vtoolpointofcontact.cpp index 6cae7f869..ae836dea3 100644 --- a/src/app/tools/drawTools/vtoolpointofcontact.cpp +++ b/src/app/tools/drawTools/vtoolpointofcontact.cpp @@ -117,24 +117,8 @@ void VToolPointOfContact::Create(const quint32 _id, const QString &radius, const const VPointF *firstP = data->GeometricObject(firstPointId); const VPointF *secondP = data->GeometricObject(secondPointId); - qreal result = 0; - try - { - Calculator cal(data); - result = cal.EvalFormula(radius); - } - catch(qmu::QmuParserError &e) - { - //TODO show error message - qDebug() << "\nError:\n" - << "--------\n" - << "Message: " << e.GetMsg() << "\n" - << "Expression: \"" << e.GetExpr() << "\"\n" - << "Token: \"" << e.GetToken() << "\"\n" - << "Position: " << e.GetPos() << "\n" - << "Errc: " << QString::number(e.GetCode(), 16); - return; - } + Calculator cal(data); + const qreal result = cal.EvalFormula(radius); QPointF fPoint = VToolPointOfContact::FindPoint(qApp->toPixel(result), centerP->toQPointF(), firstP->toQPointF(), secondP->toQPointF()); diff --git a/src/app/tools/drawTools/vtoolshoulderpoint.cpp b/src/app/tools/drawTools/vtoolshoulderpoint.cpp index a09e43163..b7da6c023 100644 --- a/src/app/tools/drawTools/vtoolshoulderpoint.cpp +++ b/src/app/tools/drawTools/vtoolshoulderpoint.cpp @@ -119,24 +119,8 @@ void VToolShoulderPoint::Create(const quint32 _id, const QString &formula, const const VPointF *secondPoint = data->GeometricObject(p2Line); const VPointF *shoulderPoint = data->GeometricObject(pShoulder); - qreal result = 0; - try - { - Calculator cal(data); - result = cal.EvalFormula(formula); - } - catch(qmu::QmuParserError &e) - { - //TODO show error message - qDebug() << "\nError:\n" - << "--------\n" - << "Message: " << e.GetMsg() << "\n" - << "Expression: \"" << e.GetExpr() << "\"\n" - << "Token: \"" << e.GetToken() << "\"\n" - << "Position: " << e.GetPos() << "\n" - << "Errc: " << QString::number(e.GetCode(), 16); - return; - } + Calculator cal(data); + const qreal result = cal.EvalFormula(formula); QPointF fPoint = VToolShoulderPoint::FindPoint(firstPoint->toQPointF(), secondPoint->toQPointF(), shoulderPoint->toQPointF(), qApp->toPixel(result)); diff --git a/src/app/xml/vpattern.cpp b/src/app/xml/vpattern.cpp index 1a0637923..dd214a9ca 100644 --- a/src/app/xml/vpattern.cpp +++ b/src/app/xml/vpattern.cpp @@ -39,6 +39,7 @@ #include "vindividualmeasurements.h" #include +#include const QString VPattern::TagPattern = QStringLiteral("pattern"); const QString VPattern::TagCalculation = QStringLiteral("calculation"); @@ -845,6 +846,17 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d excep.AddMoreInformation(e.ErrorMessage()); throw excep; } + catch(qmu::QmuParserError &e) + { + VExceptionObjectError excep(tr("Error creating or updating point of end line"), domElement); + QString message( "Message: " + e.GetMsg() + "\n"+ + + "Expression: \"" + e.GetExpr() + "\"\n"+ + + "Token: \"" + e.GetToken() + "\"\n"+ + + "Position: " + QString::number(e.GetPos()) + "\n"+ + + "Errc: " + QString::number(e.GetCode(), 16)); + excep.AddMoreInformation(message); + throw excep; + } break; case 2: //VToolAlongLine::ToolType try @@ -868,6 +880,17 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d excep.AddMoreInformation(e.ErrorMessage()); throw excep; } + catch(qmu::QmuParserError &e) + { + VExceptionObjectError excep(tr("Error creating or updating point along line"), domElement); + QString message( "Message: " + e.GetMsg() + "\n"+ + + "Expression: \"" + e.GetExpr() + "\"\n"+ + + "Token: \"" + e.GetToken() + "\"\n"+ + + "Position: " + QString::number(e.GetPos()) + "\n"+ + + "Errc: " + QString::number(e.GetCode(), 16)); + excep.AddMoreInformation(message); + throw excep; + } break; case 3: //VToolShoulderPoint::ToolType try @@ -892,6 +915,17 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d excep.AddMoreInformation(e.ErrorMessage()); throw excep; } + catch(qmu::QmuParserError &e) + { + VExceptionObjectError excep(tr("Error creating or updating point of shoulder"), domElement); + QString message( "Message: " + e.GetMsg() + "\n"+ + + "Expression: \"" + e.GetExpr() + "\"\n"+ + + "Token: \"" + e.GetToken() + "\"\n"+ + + "Position: " + QString::number(e.GetPos()) + "\n"+ + + "Errc: " + QString::number(e.GetCode(), 16)); + excep.AddMoreInformation(message); + throw excep; + } break; case 4: //VToolNormal::ToolType try @@ -916,6 +950,17 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d excep.AddMoreInformation(e.ErrorMessage()); throw excep; } + catch(qmu::QmuParserError &e) + { + VExceptionObjectError excep(tr("Error creating or updating point of normal"), domElement); + QString message( "Message: " + e.GetMsg() + "\n"+ + + "Expression: \"" + e.GetExpr() + "\"\n"+ + + "Token: \"" + e.GetToken() + "\"\n"+ + + "Position: " + QString::number(e.GetPos()) + "\n"+ + + "Errc: " + QString::number(e.GetCode(), 16)); + excep.AddMoreInformation(message); + throw excep; + } break; case 5: //VToolBisector::ToolType try @@ -940,6 +985,17 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d excep.AddMoreInformation(e.ErrorMessage()); throw excep; } + catch(qmu::QmuParserError &e) + { + VExceptionObjectError excep(tr("Error creating or updating point of bisector"), domElement); + QString message( "Message: " + e.GetMsg() + "\n"+ + + "Expression: \"" + e.GetExpr() + "\"\n"+ + + "Token: \"" + e.GetToken() + "\"\n"+ + + "Position: " + QString::number(e.GetPos()) + "\n"+ + + "Errc: " + QString::number(e.GetCode(), 16)); + excep.AddMoreInformation(message); + throw excep; + } break; case 6: //VToolLineIntersect::ToolType try @@ -984,6 +1040,17 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d excep.AddMoreInformation(e.ErrorMessage()); throw excep; } + catch(qmu::QmuParserError &e) + { + VExceptionObjectError excep(tr("Error creating or updating point of contact"), domElement); + QString message( "Message: " + e.GetMsg() + "\n"+ + + "Expression: \"" + e.GetExpr() + "\"\n"+ + + "Token: \"" + e.GetToken() + "\"\n"+ + + "Position: " + QString::number(e.GetPos()) + "\n"+ + + "Errc: " + QString::number(e.GetCode(), 16)); + excep.AddMoreInformation(message); + throw excep; + } break; case 8: //VNodePoint::ToolType try @@ -1089,6 +1156,17 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d excep.AddMoreInformation(e.ErrorMessage()); throw excep; } + catch(qmu::QmuParserError &e) + { + VExceptionObjectError excep(tr("Error creating or updating cut spline point"), domElement); + QString message( "Message: " + e.GetMsg() + "\n"+ + + "Expression: \"" + e.GetExpr() + "\"\n"+ + + "Token: \"" + e.GetToken() + "\"\n"+ + + "Position: " + QString::number(e.GetPos()) + "\n"+ + + "Errc: " + QString::number(e.GetCode(), 16)); + excep.AddMoreInformation(message); + throw excep; + } break; case 13: //VToolCutSplinePath::ToolType try @@ -1109,6 +1187,17 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d excep.AddMoreInformation(e.ErrorMessage()); throw excep; } + catch(qmu::QmuParserError &e) + { + VExceptionObjectError excep(tr("Error creating or updating cut spline path point"), domElement); + QString message( "Message: " + e.GetMsg() + "\n"+ + + "Expression: \"" + e.GetExpr() + "\"\n"+ + + "Token: \"" + e.GetToken() + "\"\n"+ + + "Position: " + QString::number(e.GetPos()) + "\n"+ + + "Errc: " + QString::number(e.GetCode(), 16)); + excep.AddMoreInformation(message); + throw excep; + } break; case 14: //VToolCutArc::ToolType try @@ -1128,6 +1217,17 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d excep.AddMoreInformation(e.ErrorMessage()); throw excep; } + catch(qmu::QmuParserError &e) + { + VExceptionObjectError excep(tr("Error creating or updating cut arc point"), domElement); + QString message( "Message: " + e.GetMsg() + "\n"+ + + "Expression: \"" + e.GetExpr() + "\"\n"+ + + "Token: \"" + e.GetToken() + "\"\n"+ + + "Position: " + QString::number(e.GetPos()) + "\n"+ + + "Errc: " + QString::number(e.GetCode(), 16)); + excep.AddMoreInformation(message); + throw excep; + } break; default: qDebug() << "Illegal point type in VDomDocument::ParsePointElement()."; @@ -1311,6 +1411,17 @@ void VPattern::ParseArcElement(VMainGraphicsScene *scene, const QDomElement &dom excep.AddMoreInformation(e.ErrorMessage()); throw excep; } + catch(qmu::QmuParserError &e) + { + VExceptionObjectError excep(tr("Error creating or updating simple arc"), domElement); + QString message( "Message: " + e.GetMsg() + "\n"+ + + "Expression: \"" + e.GetExpr() + "\"\n"+ + + "Token: \"" + e.GetToken() + "\"\n"+ + + "Position: " + QString::number(e.GetPos()) + "\n"+ + + "Errc: " + QString::number(e.GetCode(), 16)); + excep.AddMoreInformation(message); + throw excep; + } break; case 1: //VNodeArc::ToolType try From 5adc0555efe27d4b9328b43ae19f0382b9921b46 Mon Sep 17 00:00:00 2001 From: dismine Date: Wed, 21 May 2014 16:51:47 +0300 Subject: [PATCH 17/32] Save all variable in dynamic array. --HG-- branch : feature --- src/app/container/calculator.cpp | 81 ++++++++++++++++----- src/app/container/calculator.h | 2 + src/libs/qmuparser/qmuparserbase.cpp | 23 +++--- src/libs/qmuparser/qmuparserbase.h | 2 +- src/libs/qmuparser/qmuparserbytecode.cpp | 38 +++++----- src/libs/qmuparser/qmuparserbytecode.h | 6 +- src/libs/qmuparser/qmuparserdef.h | 4 +- src/libs/qmuparser/qmuparsertest.cpp | 68 ++++++++--------- src/libs/qmuparser/qmuparsertoken.h | 12 +-- src/libs/qmuparser/qmuparsertokenreader.cpp | 4 +- 10 files changed, 147 insertions(+), 93 deletions(-) diff --git a/src/app/container/calculator.cpp b/src/app/container/calculator.cpp index 930a570f5..771412182 100644 --- a/src/app/container/calculator.cpp +++ b/src/app/container/calculator.cpp @@ -36,7 +36,7 @@ * @param data pointer to a variable container. */ Calculator::Calculator(const VContainer *data) - :QmuParser() + :QmuParser(), vVarVal(nullptr) { //String with all unique symbols for supported alpabets. // See script alphabets.py for generation and more information. @@ -62,6 +62,11 @@ Calculator::Calculator(const VContainer *data) DefinePostfixOprt(in_Oprt, InchUnit); } +Calculator::~Calculator() +{ + delete [] vVarVal; +} + //--------------------------------------------------------------------------------------------------------------------- /** * @brief eval calculate formula. @@ -77,81 +82,123 @@ qreal Calculator::EvalFormula(const QString &formula) //--------------------------------------------------------------------------------------------------------------------- void Calculator::InitVariables(const VContainer *data) { + int num = 0; if (qApp->patternType() == Pattern::Standard) { - DefineVar(data->SizeName(), data->size()); - DefineVar(data->HeightName(), data->height()); + num +=2; + } + + const QHash *lengthLines = data->DataLengthLines(); + num += lengthLines->size(); + + const QHash *lengthSplines = data->DataLengthSplines(); + num += lengthSplines->size(); + + const QHash *lengthArcs = data->DataLengthArcs(); + num += lengthArcs->size(); + + const QHash *lineAngles = data->DataLineAngles(); + num += lineAngles->size(); + + const QHash *measurements = data->DataMeasurements(); + num += measurements->size(); + + const QHash *increments = data->DataIncrements(); + num += increments->size(); + + vVarVal = new qreal[num]; + int j = 0; + + if (qApp->patternType() == Pattern::Standard) + { + vVarVal[j] = data->size(); + DefineVar(data->SizeName(), &vVarVal[j]); + ++j; + + vVarVal[j] = data->height(); + DefineVar(data->HeightName(), &vVarVal[j]); + ++j; } { - const QHash *lengthLines = data->DataLengthLines(); QHash::const_iterator i = lengthLines->constBegin(); while (i != lengthLines->constEnd()) { - DefineVar(i.key(), i.value()); + vVarVal[j] = i.value(); + DefineVar(i.key(), &vVarVal[j]); + ++j; ++i; } } { - const QHash *lengthSplines = data->DataLengthSplines(); QHash::const_iterator i = lengthSplines->constBegin(); while (i != lengthSplines->constEnd()) { - DefineVar(i.key(), i.value()); + vVarVal[j] = i.value(); + DefineVar(i.key(), &vVarVal[j]); + ++j; ++i; } } { - const QHash *lengthArcs = data->DataLengthArcs(); QHash::const_iterator i = lengthArcs->constBegin(); while (i != lengthArcs->constEnd()) { - DefineVar(i.key(), i.value()); + vVarVal[j] = i.value(); + DefineVar(i.key(), &vVarVal[j]); + ++j; ++i; } } { - const QHash *lineAngles = data->DataLineAngles(); QHash::const_iterator i = lineAngles->constBegin(); while (i != lineAngles->constEnd()) { - DefineVar(i.key(), i.value()); + vVarVal[j] = i.value(); + DefineVar(i.key(), &vVarVal[j]); + ++j; ++i; } } { - const QHash *measurements = data->DataMeasurements(); QHash::const_iterator i = measurements->constBegin(); while (i != measurements->constEnd()) { if (qApp->patternType() == Pattern::Standard) { - DefineVar(i.key(), i.value().GetValue(data->size(), data->height())); + vVarVal[j] = i.value().GetValue(data->size(), data->height()); + DefineVar(i.key(), &vVarVal[j]); + ++j; } else { - DefineVar(i.key(), i.value().GetValue()); + vVarVal[j] = i.value().GetValue(); + DefineVar(i.key(), &vVarVal[j]); + ++j; } ++i; } } { - const QHash *increments = data->DataIncrements(); QHash::const_iterator i = increments->constBegin(); while (i != increments->constEnd()) { if (qApp->patternType() == Pattern::Standard) { - DefineVar(i.key(), i.value().GetValue(data->size(), data->height())); + vVarVal[j] = i.value().GetValue(data->size(), data->height()); + DefineVar(i.key(), &vVarVal[j]); + ++j; } else { - DefineVar(i.key(), i.value().GetValue()); + vVarVal[j] = i.value().GetValue(); + DefineVar(i.key(), &vVarVal[j]); + ++j; } ++i; } diff --git a/src/app/container/calculator.h b/src/app/container/calculator.h index 6b978f7f1..d3c8934e7 100644 --- a/src/app/container/calculator.h +++ b/src/app/container/calculator.h @@ -38,9 +38,11 @@ class Calculator:public QmuParser { public: explicit Calculator(const VContainer *data); + ~Calculator(); qreal EvalFormula(const QString &formula); private: Q_DISABLE_COPY(Calculator) + qreal *vVarVal; void InitVariables(const VContainer *data); static qreal CmUnit(qreal val); static qreal MmUnit(qreal val); diff --git a/src/libs/qmuparser/qmuparserbase.cpp b/src/libs/qmuparser/qmuparserbase.cpp index fe313aeae..386c0f87d 100644 --- a/src/libs/qmuparser/qmuparserbase.cpp +++ b/src/libs/qmuparser/qmuparserbase.cpp @@ -555,12 +555,17 @@ void QmuParserBase::DefineStrConst(const QString &a_strName, const QString &a_st /** * @brief Add a user defined variable. * @param [in] a_sName the variable name - * @param [in] a_pVar the variable vaule. + * @param [in] a_pVar A pointer to the variable vaule. * @post Will reset the Parser to string parsing mode. - * @throw ParserException in case the name contains invalid signs. + * @throw ParserException in case the name contains invalid signs or a_pVar is NULL. */ -void QmuParserBase::DefineVar(const QString &a_sName, qreal a_pVar) +void QmuParserBase::DefineVar(const QString &a_sName, qreal *a_pVar) { + if (a_pVar==0) + { + Error(ecINVALID_VAR_PTR); + } + // Test if a constant with that names already exists if (m_ConstDef.find(a_sName)!=m_ConstDef.end()) { @@ -1236,25 +1241,25 @@ qreal QmuParserBase::ParseCmdCodeBulk(int nOffset, int nThreadID) const // value and variable tokens case cmVAR: - Stack[++sidx] = *(&pTok->Val.ptr + nOffset); + Stack[++sidx] = *(pTok->Val.ptr + nOffset); continue; case cmVAL: Stack[++sidx] = pTok->Val.data2; continue; case cmVARPOW2: - buf = *(&pTok->Val.ptr + nOffset); + buf = *(pTok->Val.ptr + nOffset); Stack[++sidx] = buf*buf; continue; case cmVARPOW3: - buf = *(&pTok->Val.ptr + nOffset); + buf = *(pTok->Val.ptr + nOffset); Stack[++sidx] = buf*buf*buf; continue; case cmVARPOW4: - buf = *(&pTok->Val.ptr + nOffset); + buf = *(pTok->Val.ptr + nOffset); Stack[++sidx] = buf*buf*buf*buf; continue; case cmVARMUL: - Stack[++sidx] = *(&pTok->Val.ptr + nOffset) * pTok->Val.data + pTok->Val.data2; + Stack[++sidx] = *(pTok->Val.ptr + nOffset) * pTok->Val.data + pTok->Val.data2; continue; // Next is treatment of numeric functions case cmFUNC: @@ -1492,7 +1497,7 @@ void QmuParserBase::CreateRPN() const break; case cmVAR: stVal.push(opt); - m_vRPN.AddVar( opt.GetVar() ); + m_vRPN.AddVar( static_cast(opt.GetVar()) ); break; case cmVAL: stVal.push(opt); diff --git a/src/libs/qmuparser/qmuparserbase.h b/src/libs/qmuparser/qmuparserbase.h index 348bd0156..d01e78ce2 100644 --- a/src/libs/qmuparser/qmuparserbase.h +++ b/src/libs/qmuparser/qmuparserbase.h @@ -79,7 +79,7 @@ public: EOprtAssociativity a_eAssociativity = oaLEFT, bool a_bAllowOpt = false); void DefineConst(const QString &a_sName, qreal a_fVal); void DefineStrConst(const QString &a_sName, const QString &a_strVal); - void DefineVar(const QString &a_sName, qreal a_fVar); + void DefineVar(const QString &a_sName, qreal *a_fVar); void DefinePostfixOprt(const QString &a_strFun, fun_type1 a_pOprt, bool a_bAllowOpt=true); void DefineInfixOprt(const QString &a_strName, fun_type1 a_pOprt, int a_iPrec=prINFIX, bool a_bAllowOpt=true); diff --git a/src/libs/qmuparser/qmuparserbytecode.cpp b/src/libs/qmuparser/qmuparserbytecode.cpp index 55acc78c4..cdd8e63ce 100644 --- a/src/libs/qmuparser/qmuparserbytecode.cpp +++ b/src/libs/qmuparser/qmuparserbytecode.cpp @@ -98,7 +98,7 @@ void QmuParserByteCode::Assign(const QmuParserByteCode &a_ByteCode) Q_DECL_NOEXC * @param a_pVar Pointer to be added. * @throw nothrow */ -void QmuParserByteCode::AddVar(qreal a_pVar) Q_DECL_NOEXCEPT +void QmuParserByteCode::AddVar(qreal *a_pVar) Q_DECL_NOEXCEPT { ++m_iStackPos; m_iMaxStackSize = qMax(m_iMaxStackSize, static_cast(m_iStackPos)); @@ -134,7 +134,7 @@ void QmuParserByteCode::AddVal(qreal a_fVal) Q_DECL_NOEXCEPT // If optimization does not apply SToken tok; tok.Cmd = cmVAL; - tok.Val.ptr = 0; + tok.Val.ptr = nullptr; tok.Val.data = 0; tok.Val.data2 = a_fVal; m_vRPN.push_back(tok); @@ -355,14 +355,14 @@ void QmuParserByteCode::AddOp(ECmdCode a_Oprt) (m_vRPN[sz-1].Cmd == cmVARMUL && m_vRPN[sz-2].Cmd == cmVARMUL && m_vRPN[sz-2].Val.ptr == m_vRPN[sz-1].Val.ptr) ) { - assert( (m_vRPN[sz-2].Val.ptr==0 && m_vRPN[sz-1].Val.ptr!=0) || - (m_vRPN[sz-2].Val.ptr!=0 && m_vRPN[sz-1].Val.ptr==0) || + assert( (m_vRPN[sz-2].Val.ptr==nullptr && m_vRPN[sz-1].Val.ptr!=nullptr) || + (m_vRPN[sz-2].Val.ptr!=nullptr && m_vRPN[sz-1].Val.ptr==nullptr) || (m_vRPN[sz-2].Val.ptr == m_vRPN[sz-1].Val.ptr) ); m_vRPN[sz-2].Cmd = cmVARMUL; - m_vRPN[sz-2].Val.ptr = static_cast( - static_cast(m_vRPN[sz-2].Val.ptr) | - static_cast(m_vRPN[sz-1].Val.ptr)); // variable + m_vRPN[sz-2].Val.ptr = reinterpret_cast( + reinterpret_cast(m_vRPN[sz-2].Val.ptr) | + reinterpret_cast(m_vRPN[sz-1].Val.ptr)); // variable m_vRPN[sz-2].Val.data2 += ((a_Oprt==cmSUB) ? -1 : 1) * m_vRPN[sz-1].Val.data2; // offset m_vRPN[sz-2].Val.data += ((a_Oprt==cmSUB) ? -1 : 1) * m_vRPN[sz-1].Val.data; // multiplikatior m_vRPN.pop_back(); @@ -374,9 +374,9 @@ void QmuParserByteCode::AddOp(ECmdCode a_Oprt) (m_vRPN[sz-1].Cmd == cmVAL && m_vRPN[sz-2].Cmd == cmVAR) ) { m_vRPN[sz-2].Cmd = cmVARMUL; - m_vRPN[sz-2].Val.ptr = static_cast( - static_cast(m_vRPN[sz-2].Val.ptr) | - static_cast(m_vRPN[sz-1].Val.ptr)); + m_vRPN[sz-2].Val.ptr = reinterpret_cast( + reinterpret_cast(m_vRPN[sz-2].Val.ptr) | + reinterpret_cast(m_vRPN[sz-1].Val.ptr)); m_vRPN[sz-2].Val.data = m_vRPN[sz-2].Val.data2 + m_vRPN[sz-1].Val.data2; m_vRPN[sz-2].Val.data2 = 0; m_vRPN.pop_back(); @@ -387,9 +387,9 @@ void QmuParserByteCode::AddOp(ECmdCode a_Oprt) { // Optimization: 2*(3*b+1) or (3*b+1)*2 -> 6*b+2 m_vRPN[sz-2].Cmd = cmVARMUL; - m_vRPN[sz-2].Val.ptr = static_cast( - static_cast(m_vRPN[sz-2].Val.ptr) | - static_cast(m_vRPN[sz-1].Val.ptr)); + m_vRPN[sz-2].Val.ptr = reinterpret_cast( + reinterpret_cast(m_vRPN[sz-2].Val.ptr) | + reinterpret_cast(m_vRPN[sz-1].Val.ptr)); if (m_vRPN[sz-1].Cmd == cmVAL) { m_vRPN[sz-2].Val.data *= m_vRPN[sz-1].Val.data2; @@ -491,7 +491,7 @@ void QmuParserByteCode::AddIfElse(ECmdCode a_Oprt) Q_DECL_NOEXCEPT * * @sa ParserToken::ECmdCode */ -void QmuParserByteCode::AddAssignOp(qreal a_pVar) Q_DECL_NOEXCEPT +void QmuParserByteCode::AddAssignOp(qreal *a_pVar) Q_DECL_NOEXCEPT { --m_iStackPos; @@ -691,19 +691,19 @@ void QmuParserByteCode::AsciiDump() qDebug() << "VAL \t" << "[" << m_vRPN[i].Val.data2 << "]\n"; break; case cmVAR: - qDebug() << "VAR \t" << "[ADDR: 0x" << QString::number(m_vRPN[i].Val.ptr, 'f', 16) << "]\n"; + qDebug() << "VAR \t" << "[ADDR: 0x" << QString::number(*m_vRPN[i].Val.ptr, 'f', 16) << "]\n"; break; case cmVARPOW2: - qDebug() << "VARPOW2 \t" << "[ADDR: 0x" << QString::number(m_vRPN[i].Val.ptr, 'f', 16) << "]\n"; + qDebug() << "VARPOW2 \t" << "[ADDR: 0x" << QString::number(*m_vRPN[i].Val.ptr, 'f', 16) << "]\n"; break; case cmVARPOW3: - qDebug() << "VARPOW3 \t" << "[ADDR: 0x" << QString::number(m_vRPN[i].Val.ptr, 'f', 16) << "]\n"; + qDebug() << "VARPOW3 \t" << "[ADDR: 0x" << QString::number(*m_vRPN[i].Val.ptr, 'f', 16) << "]\n"; break; case cmVARPOW4: - qDebug() << "VARPOW4 \t" << "[ADDR: 0x" << QString::number(m_vRPN[i].Val.ptr, 'f', 16) << "]\n"; + qDebug() << "VARPOW4 \t" << "[ADDR: 0x" << QString::number(*m_vRPN[i].Val.ptr, 'f', 16) << "]\n"; break; case cmVARMUL: - qDebug() << "VARMUL \t" << "[ADDR: 0x" << QString::number(m_vRPN[i].Val.ptr, 'f', 16) << "]" << " * [" + qDebug() << "VARMUL \t" << "[ADDR: 0x" << QString::number(*m_vRPN[i].Val.ptr, 'f', 16) << "]" << " * [" << m_vRPN[i].Val.data << "]" << " + [" << m_vRPN[i].Val.data2 << "]\n"; break; case cmFUNC: diff --git a/src/libs/qmuparser/qmuparserbytecode.h b/src/libs/qmuparser/qmuparserbytecode.h index f2aa0ccbf..09e27bef8 100644 --- a/src/libs/qmuparser/qmuparserbytecode.h +++ b/src/libs/qmuparser/qmuparserbytecode.h @@ -43,7 +43,7 @@ struct SToken { struct //SValData { - qreal ptr; + qreal *ptr; qreal data; qreal data2; } Val; @@ -85,11 +85,11 @@ public: QmuParserByteCode(const QmuParserByteCode &a_ByteCode) Q_DECL_NOEXCEPT; QmuParserByteCode& operator=(const QmuParserByteCode &a_ByteCode) Q_DECL_NOEXCEPT; void Assign(const QmuParserByteCode &a_ByteCode) Q_DECL_NOEXCEPT; - void AddVar(qreal a_pVar) Q_DECL_NOEXCEPT; + void AddVar(qreal *a_pVar) Q_DECL_NOEXCEPT; void AddVal(qreal a_fVal) Q_DECL_NOEXCEPT; void AddOp(ECmdCode a_Oprt); void AddIfElse(ECmdCode a_Oprt) Q_DECL_NOEXCEPT; - void AddAssignOp(qreal a_pVar) Q_DECL_NOEXCEPT; + void AddAssignOp(qreal *a_pVar) Q_DECL_NOEXCEPT; void AddFun(generic_fun_type a_pFun, int a_iArgc) Q_DECL_NOEXCEPT; void AddBulkFun(generic_fun_type a_pFun, int a_iArgc) Q_DECL_NOEXCEPT; void AddStrFun(generic_fun_type a_pFun, int a_iArgc, int a_iIdx) Q_DECL_NOEXCEPT; diff --git a/src/libs/qmuparser/qmuparserdef.h b/src/libs/qmuparser/qmuparserdef.h index a3b0e0ccb..a15557d9c 100644 --- a/src/libs/qmuparser/qmuparserdef.h +++ b/src/libs/qmuparser/qmuparserdef.h @@ -173,7 +173,7 @@ typedef std::basic_stringstream < char_type, std::char_traits, std::a // Data container types /** @brief Type used for storing variables. */ -typedef std::map varmap_type; +typedef std::map varmap_type; /** @brief Type used for storing constants. */ typedef std::map valmap_type; @@ -268,7 +268,7 @@ typedef qreal ( *strfun_type3 ) ( const QString &, qreal, qreal ); typedef int ( *identfun_type ) ( const QString &sExpr, int *nPos, qreal *fVal ); /** @brief Callback used for variable creation factory functions. */ -typedef qreal ( *facfun_type ) ( const QString &, void* ); +typedef qreal* ( *facfun_type ) ( const QString &, void* ); } // end of namespace #endif diff --git a/src/libs/qmuparser/qmuparsertest.cpp b/src/libs/qmuparser/qmuparsertest.cpp index fc237c0a6..cce7cdfc2 100644 --- a/src/libs/qmuparser/qmuparsertest.cpp +++ b/src/libs/qmuparser/qmuparsertest.cpp @@ -103,9 +103,9 @@ int QmuParserTester::TestInterface() try { - p.DefineVar ( "a", afVal[0] ); - p.DefineVar ( "b", afVal[1] ); - p.DefineVar ( "c", afVal[2] ); + p.DefineVar ( "a", &afVal[0] ); + p.DefineVar ( "b", &afVal[1] ); + p.DefineVar ( "c", &afVal[2] ); p.SetExpr ( "a+b+c" ); p.Eval(); } @@ -280,21 +280,21 @@ int QmuParserTester::TestNames() // variable names qreal a; p.ClearConst(); - PARSER_THROWCHECK ( Var, false, "123abc", a ) - PARSER_THROWCHECK ( Var, false, "9a", a ) - PARSER_THROWCHECK ( Var, false, "0a", a ) - PARSER_THROWCHECK ( Var, false, "+a", a ) - PARSER_THROWCHECK ( Var, false, "-a", a ) - PARSER_THROWCHECK ( Var, false, "?a", a ) - PARSER_THROWCHECK ( Var, false, "!a", a ) - PARSER_THROWCHECK ( Var, false, "a+", a ) - PARSER_THROWCHECK ( Var, false, "a-", a ) - PARSER_THROWCHECK ( Var, false, "a*", a ) - PARSER_THROWCHECK ( Var, false, "a?", a ) - PARSER_THROWCHECK ( Var, true, "a", a ) - PARSER_THROWCHECK ( Var, true, "a_min", a ) - PARSER_THROWCHECK ( Var, true, "a_min0", a ) - PARSER_THROWCHECK ( Var, true, "a_min9", a ) + PARSER_THROWCHECK ( Var, false, "123abc", &a ) + PARSER_THROWCHECK ( Var, false, "9a", &a ) + PARSER_THROWCHECK ( Var, false, "0a", &a ) + PARSER_THROWCHECK ( Var, false, "+a", &a ) + PARSER_THROWCHECK ( Var, false, "-a", &a ) + PARSER_THROWCHECK ( Var, false, "?a", &a ) + PARSER_THROWCHECK ( Var, false, "!a", &a ) + PARSER_THROWCHECK ( Var, false, "a+", &a ) + PARSER_THROWCHECK ( Var, false, "a-", &a ) + PARSER_THROWCHECK ( Var, false, "a*", &a ) + PARSER_THROWCHECK ( Var, false, "a?", &a ) + PARSER_THROWCHECK ( Var, true, "a", &a ) + PARSER_THROWCHECK ( Var, true, "a_min", &a ) + PARSER_THROWCHECK ( Var, true, "a_min0", &a ) + PARSER_THROWCHECK ( Var, true, "a_min9", &a ) PARSER_THROWCHECK ( Var, false, "a_min9", 0 ) // Postfix operators // fail @@ -449,11 +449,11 @@ int QmuParserTester::TestVarConst() int idx; qmu::QmuParser p; qreal vVarVal[] = { 1, 2, 3, 4, 5}; - p.DefineVar ( "a", vVarVal[0] ); - p.DefineVar ( "b", vVarVal[1] ); - p.DefineVar ( "c", vVarVal[2] ); - p.DefineVar ( "d", vVarVal[3] ); - p.DefineVar ( "e", vVarVal[4] ); + p.DefineVar ( "a", &vVarVal[0] ); + p.DefineVar ( "b", &vVarVal[1] ); + p.DefineVar ( "c", &vVarVal[2] ); + p.DefineVar ( "d", &vVarVal[3] ); + p.DefineVar ( "e", &vVarVal[4] ); // Test lookup of defined variables // 4 used variables @@ -475,7 +475,7 @@ int QmuParserTester::TestVarConst() qmu::varmap_type::const_iterator item = UsedVar.begin(); for ( idx = 0; item != UsedVar.end(); ++item ) { - if ( vVarVal[idx++] != item->second ) + if ( &vVarVal[idx++] != item->second ) { throw false; } @@ -516,7 +516,7 @@ int QmuParserTester::TestVarConst() item = UsedVar.begin(); for ( idx = 0; item != UsedVar.end(); ++item ) { - if ( vVarVal[idx++] != item->second ) + if ( &vVarVal[idx++] != item->second ) { throw false; } @@ -1118,9 +1118,9 @@ int QmuParserTester::ThrowTest ( const QString &a_str, int a_iErrc, bool a_bFail qreal fVal[] = {1, 1, 1}; QmuParser p; - p.DefineVar ( "a", fVal[0] ); - p.DefineVar ( "b", fVal[1] ); - p.DefineVar ( "c", fVal[2] ); + p.DefineVar ( "a", &fVal[0] ); + p.DefineVar ( "b", &fVal[1] ); + p.DefineVar ( "c", &fVal[2] ); p.DefinePostfixOprt ( "{m}", Milli ); p.DefinePostfixOprt ( "m", Milli ); p.DefineFun ( "ping", Ping ); @@ -1173,7 +1173,7 @@ int QmuParserTester::EqnTestWithVarChange ( const QString &a_str, double a_fVar1 // variable qreal var = 0; - p.DefineVar ( "a", var ); + p.DefineVar ( "a", &var ); p.SetExpr ( a_str ); var = a_fVar1; @@ -1242,11 +1242,11 @@ int QmuParserTester::EqnTest ( const QString &a_str, double a_fRes, bool a_fPass p1->DefineConst ( "const2", 3 ); // variables qreal vVarVal[] = { 1, 2, 3, -2}; - p1->DefineVar ( "a", vVarVal[0] ); - p1->DefineVar ( "aa", vVarVal[1] ); - p1->DefineVar ( "b", vVarVal[1] ); - p1->DefineVar ( "c", vVarVal[2] ); - p1->DefineVar ( "d", vVarVal[3] ); + p1->DefineVar ( "a", &vVarVal[0] ); + p1->DefineVar ( "aa", &vVarVal[1] ); + p1->DefineVar ( "b", &vVarVal[1] ); + p1->DefineVar ( "c", &vVarVal[2] ); + p1->DefineVar ( "d", &vVarVal[3] ); // custom value ident functions p1->AddValIdent ( &QmuParserTester::IsHexVal ); diff --git a/src/libs/qmuparser/qmuparsertoken.h b/src/libs/qmuparser/qmuparsertoken.h index 921b9dcba..5dd720766 100644 --- a/src/libs/qmuparser/qmuparsertoken.h +++ b/src/libs/qmuparser/qmuparsertoken.h @@ -196,13 +196,13 @@ public: * Member variables not necessary for variable tokens will be invalidated. * @throw nothrow */ - QmuParserToken& SetVar ( TBase a_pVar, const TString &a_strTok ) + QmuParserToken& SetVar ( TBase *a_pVar, const TString &a_strTok ) { m_iCode = cmVAR; m_iType = tpDBL; m_strTok = a_strTok; m_iIdx = -1; - m_pTok = a_pVar; + m_pTok = reinterpret_cast ( a_pVar ); m_pCallback.reset ( 0 ); return *this; } @@ -357,7 +357,7 @@ public: case cmVAL: return m_fVal; case cmVAR: - return m_pTok; + return * ( reinterpret_cast(m_pTok) ); case cmLE: case cmGE: case cmNEQ: @@ -404,14 +404,14 @@ public: * Valid only if m_iType==CmdVar. * @throw QmuParserError if token is no variable token. */ - TBase GetVar() const + TBase* GetVar() const { if ( m_iCode != cmVAR ) { throw QmuParserError ( ecINTERNAL_ERROR ); } - return m_pTok; + return reinterpret_cast( m_pTok ); } //------------------------------------------------------------------------------ @@ -449,7 +449,7 @@ public: private: ECmdCode m_iCode; ///< Type of the token; The token type is a constant of type #ECmdCode. ETypeCode m_iType; - TBase m_pTok; ///< Stores Token pointer; not applicable for all tokens + void *m_pTok; ///< Stores Token pointer; not applicable for all tokens int m_iIdx; ///< An otional index to an external buffer storing the token data TString m_strTok; ///< Token string TString m_strVal; ///< Value for string variables diff --git a/src/libs/qmuparser/qmuparsertokenreader.cpp b/src/libs/qmuparser/qmuparsertokenreader.cpp index e082bd7a8..e2d869c9b 100644 --- a/src/libs/qmuparser/qmuparsertokenreader.cpp +++ b/src/libs/qmuparser/qmuparsertokenreader.cpp @@ -976,7 +976,7 @@ bool QmuParserTokenReader::IsUndefVarTok ( token_type &a_Tok ) Q_DECL_NOEXCEPT // If a factory is available implicitely create new variables if ( m_pFactory ) { - qreal fVar = m_pFactory ( strTok, m_pFactoryData ); + qreal *fVar = m_pFactory ( strTok, m_pFactoryData ); a_Tok.SetVar ( fVar, strTok ); // Do not use m_pParser->DefineVar( strTok, fVar ); @@ -990,7 +990,7 @@ bool QmuParserTokenReader::IsUndefVarTok ( token_type &a_Tok ) Q_DECL_NOEXCEPT } else { - a_Tok.SetVar ( m_fZero, strTok ); + a_Tok.SetVar ( &m_fZero, strTok ); m_UsedVar[strTok] = 0; // Add variable to used-var-list } From da34abaa85e8562d0f73bf900be2c1efca155240 Mon Sep 17 00:00:00 2001 From: dismine Date: Wed, 21 May 2014 17:07:08 +0300 Subject: [PATCH 18/32] Wrong attribute in measurement front_chest_width. --HG-- branch : feature --- src/app/share/resources/tables/individual/individual.vit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/share/resources/tables/individual/individual.vit b/src/app/share/resources/tables/individual/individual.vit index 64fdba86f..aeba8037d 100644 --- a/src/app/share/resources/tables/individual/individual.vit +++ b/src/app/share/resources/tables/individual/individual.vit @@ -30,7 +30,7 @@ - + From 107b131fdf791ea219f4de0e45b6695edcba17ba Mon Sep 17 00:00:00 2001 From: dismine Date: Wed, 21 May 2014 17:40:21 +0300 Subject: [PATCH 19/32] New tag "version" in empty pattern file. --HG-- branch : feature --- src/app/xml/vpattern.cpp | 5 +++++ src/app/xml/vpattern.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/src/app/xml/vpattern.cpp b/src/app/xml/vpattern.cpp index dd214a9ca..c7806ca8e 100644 --- a/src/app/xml/vpattern.cpp +++ b/src/app/xml/vpattern.cpp @@ -84,6 +84,11 @@ void VPattern::CreateEmptyFile(const QString &tablePath) QDomElement patternElement = this->createElement(TagPattern); patternElement.appendChild(createComment("Valentina pattern format.")); + + QDomElement version = createElement(TagVersion); + QDomText newNodeText = createTextNode(VAL_STR_VERSION); + version.appendChild(newNodeText); + patternElement.appendChild(createElement(TagAuthor)); patternElement.appendChild(createElement(TagDescription)); patternElement.appendChild(createElement(TagNotes)); diff --git a/src/app/xml/vpattern.h b/src/app/xml/vpattern.h index da166a6b0..1c61de1f7 100644 --- a/src/app/xml/vpattern.h +++ b/src/app/xml/vpattern.h @@ -53,6 +53,8 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(Document::Documents) // max support version of format #define VAL_VERSION 0x000100 +#define VAL_STR_VERSION "0.1.0" + /** * @brief The VPattern class working with pattern file. */ From 34bd172f9a8dc7b8c3b945e4ed8b9cf3d8313f5a Mon Sep 17 00:00:00 2001 From: dismine Date: Wed, 21 May 2014 19:59:53 +0300 Subject: [PATCH 20/32] Clear error message from parser. --HG-- branch : feature --- src/app/dialogs/tools/dialogtool.cpp | 12 ++--- src/app/xml/vpattern.cpp | 70 ++++++++-------------------- 2 files changed, 25 insertions(+), 57 deletions(-) diff --git a/src/app/dialogs/tools/dialogtool.cpp b/src/app/dialogs/tools/dialogtool.cpp index b6534f4f1..130a6ae4e 100644 --- a/src/app/dialogs/tools/dialogtool.cpp +++ b/src/app/dialogs/tools/dialogtool.cpp @@ -346,13 +346,11 @@ void DialogTool::Eval(QLineEdit *edit, bool &flag, QTimer *timer, QLabel *label) flag = false; palette.setColor(labelEditFormula->foregroundRole(), Qt::red); emit ToolTip(e.GetMsg()); - qDebug() << "\nError:\n" - << "--------\n" - << "Message: " << e.GetMsg() << "\n" - << "Expression: \"" << e.GetExpr() << "\"\n" - << "Token: \"" << e.GetToken() << "\"\n" - << "Position: " << e.GetPos() << "\n" - << "Errc: " << QString::number(e.GetCode(), 16); + qDebug() << "\nMath parser error:\n" + << "--------------------------------------\n" + << "Message: " << e.GetMsg() << "\n" + << "Expression: " << e.GetExpr() << "\n" + << "--------------------------------------"; } } CheckState(); diff --git a/src/app/xml/vpattern.cpp b/src/app/xml/vpattern.cpp index c7806ca8e..7cb98f175 100644 --- a/src/app/xml/vpattern.cpp +++ b/src/app/xml/vpattern.cpp @@ -854,11 +854,8 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d catch(qmu::QmuParserError &e) { VExceptionObjectError excep(tr("Error creating or updating point of end line"), domElement); - QString message( "Message: " + e.GetMsg() + "\n"+ - + "Expression: \"" + e.GetExpr() + "\"\n"+ - + "Token: \"" + e.GetToken() + "\"\n"+ - + "Position: " + QString::number(e.GetPos()) + "\n"+ - + "Errc: " + QString::number(e.GetCode(), 16)); + QString message("Message: " + e.GetMsg() + "\n"+ + "Expression: " + e.GetExpr()); excep.AddMoreInformation(message); throw excep; } @@ -888,11 +885,8 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d catch(qmu::QmuParserError &e) { VExceptionObjectError excep(tr("Error creating or updating point along line"), domElement); - QString message( "Message: " + e.GetMsg() + "\n"+ - + "Expression: \"" + e.GetExpr() + "\"\n"+ - + "Token: \"" + e.GetToken() + "\"\n"+ - + "Position: " + QString::number(e.GetPos()) + "\n"+ - + "Errc: " + QString::number(e.GetCode(), 16)); + QString message("Message: " + e.GetMsg() + "\n"+ + "Expression: " + e.GetExpr()); excep.AddMoreInformation(message); throw excep; } @@ -923,11 +917,8 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d catch(qmu::QmuParserError &e) { VExceptionObjectError excep(tr("Error creating or updating point of shoulder"), domElement); - QString message( "Message: " + e.GetMsg() + "\n"+ - + "Expression: \"" + e.GetExpr() + "\"\n"+ - + "Token: \"" + e.GetToken() + "\"\n"+ - + "Position: " + QString::number(e.GetPos()) + "\n"+ - + "Errc: " + QString::number(e.GetCode(), 16)); + QString message("Message: " + e.GetMsg() + "\n"+ + "Expression: " + e.GetExpr()); excep.AddMoreInformation(message); throw excep; } @@ -958,11 +949,8 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d catch(qmu::QmuParserError &e) { VExceptionObjectError excep(tr("Error creating or updating point of normal"), domElement); - QString message( "Message: " + e.GetMsg() + "\n"+ - + "Expression: \"" + e.GetExpr() + "\"\n"+ - + "Token: \"" + e.GetToken() + "\"\n"+ - + "Position: " + QString::number(e.GetPos()) + "\n"+ - + "Errc: " + QString::number(e.GetCode(), 16)); + QString message("Message: " + e.GetMsg() + "\n"+ + "Expression: " + e.GetExpr()); excep.AddMoreInformation(message); throw excep; } @@ -993,11 +981,8 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d catch(qmu::QmuParserError &e) { VExceptionObjectError excep(tr("Error creating or updating point of bisector"), domElement); - QString message( "Message: " + e.GetMsg() + "\n"+ - + "Expression: \"" + e.GetExpr() + "\"\n"+ - + "Token: \"" + e.GetToken() + "\"\n"+ - + "Position: " + QString::number(e.GetPos()) + "\n"+ - + "Errc: " + QString::number(e.GetCode(), 16)); + QString message("Message: " + e.GetMsg() + "\n"+ + "Expression: " + e.GetExpr()); excep.AddMoreInformation(message); throw excep; } @@ -1048,11 +1033,8 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d catch(qmu::QmuParserError &e) { VExceptionObjectError excep(tr("Error creating or updating point of contact"), domElement); - QString message( "Message: " + e.GetMsg() + "\n"+ - + "Expression: \"" + e.GetExpr() + "\"\n"+ - + "Token: \"" + e.GetToken() + "\"\n"+ - + "Position: " + QString::number(e.GetPos()) + "\n"+ - + "Errc: " + QString::number(e.GetCode(), 16)); + QString message("Message: " + e.GetMsg() + "\n"+ + "Expression: " + e.GetExpr()); excep.AddMoreInformation(message); throw excep; } @@ -1164,11 +1146,8 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d catch(qmu::QmuParserError &e) { VExceptionObjectError excep(tr("Error creating or updating cut spline point"), domElement); - QString message( "Message: " + e.GetMsg() + "\n"+ - + "Expression: \"" + e.GetExpr() + "\"\n"+ - + "Token: \"" + e.GetToken() + "\"\n"+ - + "Position: " + QString::number(e.GetPos()) + "\n"+ - + "Errc: " + QString::number(e.GetCode(), 16)); + QString message("Message: " + e.GetMsg() + "\n"+ + "Expression: " + e.GetExpr()); excep.AddMoreInformation(message); throw excep; } @@ -1195,11 +1174,8 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d catch(qmu::QmuParserError &e) { VExceptionObjectError excep(tr("Error creating or updating cut spline path point"), domElement); - QString message( "Message: " + e.GetMsg() + "\n"+ - + "Expression: \"" + e.GetExpr() + "\"\n"+ - + "Token: \"" + e.GetToken() + "\"\n"+ - + "Position: " + QString::number(e.GetPos()) + "\n"+ - + "Errc: " + QString::number(e.GetCode(), 16)); + QString message("Message: " + e.GetMsg() + "\n"+ + "Expression: " + e.GetExpr()); excep.AddMoreInformation(message); throw excep; } @@ -1225,11 +1201,8 @@ void VPattern::ParsePointElement(VMainGraphicsScene *scene, const QDomElement &d catch(qmu::QmuParserError &e) { VExceptionObjectError excep(tr("Error creating or updating cut arc point"), domElement); - QString message( "Message: " + e.GetMsg() + "\n"+ - + "Expression: \"" + e.GetExpr() + "\"\n"+ - + "Token: \"" + e.GetToken() + "\"\n"+ - + "Position: " + QString::number(e.GetPos()) + "\n"+ - + "Errc: " + QString::number(e.GetCode(), 16)); + QString message("Message: " + e.GetMsg() + "\n"+ + "Expression: " + e.GetExpr()); excep.AddMoreInformation(message); throw excep; } @@ -1419,11 +1392,8 @@ void VPattern::ParseArcElement(VMainGraphicsScene *scene, const QDomElement &dom catch(qmu::QmuParserError &e) { VExceptionObjectError excep(tr("Error creating or updating simple arc"), domElement); - QString message( "Message: " + e.GetMsg() + "\n"+ - + "Expression: \"" + e.GetExpr() + "\"\n"+ - + "Token: \"" + e.GetToken() + "\"\n"+ - + "Position: " + QString::number(e.GetPos()) + "\n"+ - + "Errc: " + QString::number(e.GetCode(), 16)); + QString message("Message: " + e.GetMsg() + "\n"+ + "Expression: " + e.GetExpr()); excep.AddMoreInformation(message); throw excep; } From 7a5f12b77d96b01047aebd199f2c150f476030dd Mon Sep 17 00:00:00 2001 From: dismine Date: Wed, 21 May 2014 20:22:40 +0300 Subject: [PATCH 21/32] Little fix for tools dialogs. --HG-- branch : feature --- src/app/dialogs/tools/dialogalongline.ui | 5 +++- src/app/dialogs/tools/dialogarc.ui | 5 +++- src/app/dialogs/tools/dialogbisector.ui | 5 +++- src/app/dialogs/tools/dialogcutarc.ui | 5 +++- src/app/dialogs/tools/dialogcutspline.ui | 5 +++- src/app/dialogs/tools/dialogcutsplinepath.ui | 5 +++- src/app/dialogs/tools/dialogendline.ui | 23 +++++++++++++++---- src/app/dialogs/tools/dialognormal.ui | 5 +++- src/app/dialogs/tools/dialogpointofcontact.ui | 5 +++- src/app/dialogs/tools/dialogshoulderpoint.ui | 5 +++- src/app/dialogs/tools/dialogtool.h | 3 ++- 11 files changed, 57 insertions(+), 14 deletions(-) diff --git a/src/app/dialogs/tools/dialogalongline.ui b/src/app/dialogs/tools/dialogalongline.ui index 11bdbf9c1..be82913a8 100644 --- a/src/app/dialogs/tools/dialogalongline.ui +++ b/src/app/dialogs/tools/dialogalongline.ui @@ -7,7 +7,7 @@ 0 0 470 - 454 + 573 @@ -337,6 +337,9 @@ + + true + diff --git a/src/app/dialogs/tools/dialogarc.ui b/src/app/dialogs/tools/dialogarc.ui index 94714027a..c40c5a1c9 100644 --- a/src/app/dialogs/tools/dialogarc.ui +++ b/src/app/dialogs/tools/dialogarc.ui @@ -7,7 +7,7 @@ 0 0 501 - 448 + 538 @@ -527,6 +527,9 @@ + + true + diff --git a/src/app/dialogs/tools/dialogbisector.ui b/src/app/dialogs/tools/dialogbisector.ui index 63e42279d..b6285890c 100644 --- a/src/app/dialogs/tools/dialogbisector.ui +++ b/src/app/dialogs/tools/dialogbisector.ui @@ -7,7 +7,7 @@ 0 0 480 - 485 + 587 @@ -379,6 +379,9 @@ + + true + diff --git a/src/app/dialogs/tools/dialogcutarc.ui b/src/app/dialogs/tools/dialogcutarc.ui index e99c0f060..6939c61d4 100644 --- a/src/app/dialogs/tools/dialogcutarc.ui +++ b/src/app/dialogs/tools/dialogcutarc.ui @@ -7,7 +7,7 @@ 0 0 507 - 375 + 493 @@ -306,6 +306,9 @@ + + true + diff --git a/src/app/dialogs/tools/dialogcutspline.ui b/src/app/dialogs/tools/dialogcutspline.ui index 7f077fd95..658fcdb5a 100644 --- a/src/app/dialogs/tools/dialogcutspline.ui +++ b/src/app/dialogs/tools/dialogcutspline.ui @@ -7,7 +7,7 @@ 0 0 520 - 461 + 546 @@ -306,6 +306,9 @@ + + true + diff --git a/src/app/dialogs/tools/dialogcutsplinepath.ui b/src/app/dialogs/tools/dialogcutsplinepath.ui index bf7f8b100..c37d9b06b 100644 --- a/src/app/dialogs/tools/dialogcutsplinepath.ui +++ b/src/app/dialogs/tools/dialogcutsplinepath.ui @@ -7,7 +7,7 @@ 0 0 605 - 397 + 499 @@ -306,6 +306,9 @@ + + true + diff --git a/src/app/dialogs/tools/dialogendline.ui b/src/app/dialogs/tools/dialogendline.ui index 1d6c59866..33a79de61 100644 --- a/src/app/dialogs/tools/dialogendline.ui +++ b/src/app/dialogs/tools/dialogendline.ui @@ -6,10 +6,16 @@ 0 0 - 539 - 559 + 584 + 718 + + + 0 + 0 + + Point in the end of a line @@ -532,8 +538,17 @@ - - + + + 0 + 0 + + + + Qt::PlainText + + + true diff --git a/src/app/dialogs/tools/dialognormal.ui b/src/app/dialogs/tools/dialognormal.ui index 228732a09..b88a49da9 100644 --- a/src/app/dialogs/tools/dialognormal.ui +++ b/src/app/dialogs/tools/dialognormal.ui @@ -7,7 +7,7 @@ 0 0 488 - 594 + 732 @@ -554,6 +554,9 @@ + + true + diff --git a/src/app/dialogs/tools/dialogpointofcontact.ui b/src/app/dialogs/tools/dialogpointofcontact.ui index 21c9a4cf3..17d34bba4 100644 --- a/src/app/dialogs/tools/dialogpointofcontact.ui +++ b/src/app/dialogs/tools/dialogpointofcontact.ui @@ -7,7 +7,7 @@ 0 0 476 - 450 + 653 @@ -394,6 +394,9 @@ + + true + diff --git a/src/app/dialogs/tools/dialogshoulderpoint.ui b/src/app/dialogs/tools/dialogshoulderpoint.ui index 3febf8f68..df2fe865c 100644 --- a/src/app/dialogs/tools/dialogshoulderpoint.ui +++ b/src/app/dialogs/tools/dialogshoulderpoint.ui @@ -7,7 +7,7 @@ 0 0 473 - 485 + 686 @@ -415,6 +415,9 @@ + + true + diff --git a/src/app/dialogs/tools/dialogtool.h b/src/app/dialogs/tools/dialogtool.h index 6def423d3..e1d74aa15 100644 --- a/src/app/dialogs/tools/dialogtool.h +++ b/src/app/dialogs/tools/dialogtool.h @@ -437,7 +437,8 @@ protected: } else { - radioButtonSizeGrowth->setVisible(false); + radioButtonSizeGrowth->setEnabled(false); + radioButtonStandardTable->setChecked(true); Measurements(); } connect(radioButtonStandardTable, &QRadioButton::clicked, this, &DialogTool::Measurements); From 2896d7feeb08af3e39b5ce332038bf4b55366fc3 Mon Sep 17 00:00:00 2001 From: dismine Date: Wed, 21 May 2014 20:33:40 +0300 Subject: [PATCH 22/32] Parse tag version in pattern file. --HG-- branch : feature --- src/app/xml/vpattern.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/app/xml/vpattern.cpp b/src/app/xml/vpattern.cpp index 7cb98f175..a3a8834a4 100644 --- a/src/app/xml/vpattern.cpp +++ b/src/app/xml/vpattern.cpp @@ -215,7 +215,8 @@ void VPattern::Parse(const Document::Documents &parse, VMainGraphicsScene *scene if (domElement.isNull() == false) { QStringList tags; - tags << TagDraw << TagIncrements << TagAuthor << TagDescription << TagNotes << TagMeasurements; + tags << TagDraw << TagIncrements << TagAuthor << TagDescription << TagNotes << TagMeasurements + << TagVersion; switch (tags.indexOf(domElement.tagName())) { case 0: // TagDraw @@ -248,8 +249,10 @@ void VPattern::Parse(const Document::Documents &parse, VMainGraphicsScene *scene break; case 5: // TagMeasurements break; + case 6: // TagVersion + break; default: - qDebug()<<"Wrong tag name"< Date: Thu, 22 May 2014 11:08:12 +0300 Subject: [PATCH 23/32] App for running tests for QmuParser library. --HG-- branch : feature --- src/app/app.pro | 2 +- src/src.pro | 11 ++--- src/test/ParserTest/ParserTest.pro | 66 +++++++++++++++++++++++++ src/test/ParserTest/main.cpp | 77 ++++++++++++++++++++++++++++++ 4 files changed, 149 insertions(+), 7 deletions(-) create mode 100644 src/test/ParserTest/ParserTest.pro create mode 100644 src/test/ParserTest/main.cpp diff --git a/src/app/app.pro b/src/app/app.pro index 49c819979..3b3a4c182 100644 --- a/src/app/app.pro +++ b/src/app/app.pro @@ -48,7 +48,7 @@ SOURCES += \ tablewindow.cpp \ stable.cpp \ version.cpp \ - options.cpp + options.cpp HEADERS += \ mainwindow.h \ diff --git a/src/src.pro b/src/src.pro index 0157aa5ae..6e951fd25 100644 --- a/src/src.pro +++ b/src/src.pro @@ -1,17 +1,16 @@ TEMPLATE = subdirs -#SUBDIRS = sub_lib sub_tests sub_app SUBDIRS = \ sub_app \ - sub_lib_qmuparser + sub_lib_qmuparser \ + test/ParserTest -#sub_lib_qmuparser.subdir = libs/qmuparser sub_lib_qmuparser.file = libs/qmuparser/qmuparser.pro -#sub_tests.file = tests/proj.pro -#sub_tests.depends = sub_lib -#sub_app.subdir = app +sub_parser_tests.file = test/ParserTest/ParserTest.pro +sub_parser_tests.depends = sub_lib_qmuparser sub_app.file = app/app.pro sub_app.depends = sub_lib_qmuparser + #This makes it possible to use make -j 4 on your fancy quad-core system with a project that consists of several #components that depend on each other. To simplify the process a bit, the following test function can be defined: diff --git a/src/test/ParserTest/ParserTest.pro b/src/test/ParserTest/ParserTest.pro new file mode 100644 index 000000000..e7da26428 --- /dev/null +++ b/src/test/ParserTest/ParserTest.pro @@ -0,0 +1,66 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2014-05-21T20:43:38 +# +#------------------------------------------------- + +QT += core + +QT -= gui + +TARGET = ParserTest +CONFIG += console c++11 +CONFIG -= app_bundle debug_and_release debug_and_release_target + +TEMPLATE = app + +# directory for executable file +DESTDIR = bin + +# objecs files +OBJECTS_DIR = obj + +SOURCES += main.cpp + +unix { +QMAKE_CXX = ccache g++ +} + +CONFIG(debug, debug|release){ + # Debug + unix { + *-g++{ + QMAKE_CXXFLAGS += -isystem "/usr/include/qt5" -isystem "/usr/include/qt5/QtCore" \ + -O0 -Wall -Wextra -pedantic -Weffc++ -Woverloaded-virtual -Wctor-dtor-privacy \ + -Wnon-virtual-dtor -Wold-style-cast -Wconversion -Winit-self -Wstack-protector \ + -Wunreachable-code -Wcast-align -Wcast-qual -Wdisabled-optimization -Wfloat-equal \ + -Wformat=2 -Wimport \ + -Winvalid-pch -Wunsafe-loop-optimizations -Wlong-long -Wmissing-format-attribute \ + -Wmissing-include-dirs -Wpacked -Wredundant-decls -Winline \ + -Wswitch-default -Wswitch-enum -Wuninitialized -Wvariadic-macros \ + -Wlogical-op -Wnoexcept -Wmissing-noreturn -Wpointer-arith\ + -Wstrict-null-sentinel -Wstrict-overflow=5 -Wundef -Wno-unused -gdwarf-3 \ + -ftrapv + } + } else { + *-g++{#Don't use additional GCC keys on Windows system. + QMAKE_CXXFLAGS += -O0 -Wall -Wextra -pedantic + } + } +}else{ + # Release + *-g++{ + QMAKE_CXXFLAGS += -O2 + } +} + +# Remove generated files at cleaning +QMAKE_DISTCLEAN += $${DESTDIR}/* \ + $${OBJECTS_DIR}/* + +win32:CONFIG(release, debug|release): LIBS += -L../../libs/qmuparser/bin -lqmuparser2 +else:win32:CONFIG(debug, debug|release): LIBS += -L../../libs/qmuparser/bin -lqmuparser2 +else:unix: LIBS += -L../../libs/qmuparser/bin -lqmuparser + +INCLUDEPATH += ../../libs/qmuparser +DEPENDPATH += ../../libs/qmuparser diff --git a/src/test/ParserTest/main.cpp b/src/test/ParserTest/main.cpp new file mode 100644 index 000000000..6158c339c --- /dev/null +++ b/src/test/ParserTest/main.cpp @@ -0,0 +1,77 @@ +/************************************************************************ + ** + ** @file main.cpp + ** @author Roman Telezhynskyi + ** @date 21 5, 2014 + ** + ** @brief + ** @copyright + ** This source code is part of the Valentine project, a pattern making + ** program, whose allow create and modeling patterns of clothing. + ** Copyright (C) 2014 Valentina project + ** All Rights Reserved. + ** + ** Valentina is free software: you can redistribute it and/or modify + ** it under the terms of the GNU General Public License as published by + ** the Free Software Foundation, either version 3 of the License, or + ** (at your option) any later version. + ** + ** Valentina is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU General Public License for more details. + ** + ** You should have received a copy of the GNU General Public License + ** along with Valentina. If not, see . + ** + *************************************************************************/ + +#include +#include +#include +#include "../../libs/qmuparser/qmuparsertest.h" + +using namespace qmu; + +//--------------------------------------------------------------------------------------------------------------------- +void testMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg) +{ + QByteArray localMsg = msg.toLocal8Bit(); + switch (type) + { + case QtDebugMsg: + fprintf(stderr, "%s\n", localMsg.constData()); + break; + case QtWarningMsg: + fprintf(stderr, "Warning: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, + context.function); + break; + case QtCriticalMsg: + fprintf(stderr, "Critical: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, + context.function); + break; + case QtFatalMsg: + fprintf(stderr, "Fatal: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, + context.function); + abort(); + default: + break; + } +} + +//--------------------------------------------------------------------------------------------------------------------- +int main(int argc, char *argv[]) +{ + QCoreApplication a(argc, argv); + + qInstallMessageHandler(testMessageOutput); + + qDebug() << "-----------------------------------------------------------"; + qDebug() << "Running test suite:\n"; + + + qmu::Test::QmuParserTester pt; + pt.Run(); + + return a.exec(); +} From ccde48e3bf0e89385424a02bd508f0eea2b3a59f Mon Sep 17 00:00:00 2001 From: dismine Date: Thu, 22 May 2014 15:11:14 +0300 Subject: [PATCH 24/32] Factory function for creating new parser variables. New methods what return tokens and numbers. --HG-- branch : feature --- src/app/container/calculator.cpp | 37 +++++++++ src/app/container/calculator.h | 12 +-- src/libs/qmuparser/qmuparser.cpp | 6 +- src/libs/qmuparser/qmuparser.h | 4 +- src/libs/qmuparser/qmuparserbase.cpp | 45 ++++++----- src/libs/qmuparser/qmuparserbase.h | 72 ++++++++++------- src/libs/qmuparser/qmuparserbytecode.cpp | 26 +++---- src/libs/qmuparser/qmuparserbytecode.h | 38 ++++----- src/libs/qmuparser/qmuparsercallback.cpp | 57 +++++++------- src/libs/qmuparser/qmuparsercallback.h | 86 ++++++++++----------- src/libs/qmuparser/qmuparserdef.h | 9 +-- src/libs/qmuparser/qmuparsererror.h | 28 +++---- src/libs/qmuparser/qmuparsertest.cpp | 4 - src/libs/qmuparser/qmuparsertoken.h | 4 +- src/libs/qmuparser/qmuparsertokenreader.cpp | 54 ++++--------- src/libs/qmuparser/qmuparsertokenreader.h | 48 ++++++------ 16 files changed, 271 insertions(+), 259 deletions(-) diff --git a/src/app/container/calculator.cpp b/src/app/container/calculator.cpp index 771412182..16bdea155 100644 --- a/src/app/container/calculator.cpp +++ b/src/app/container/calculator.cpp @@ -30,6 +30,8 @@ #include #include "../widgets/vapplication.h" +int Calculator::iVal = -1; + //--------------------------------------------------------------------------------------------------------------------- /** * @brief Calculator class constructor. @@ -60,11 +62,14 @@ Calculator::Calculator(const VContainer *data) DefinePostfixOprt(cm_Oprt, CmUnit); DefinePostfixOprt(mm_Oprt, MmUnit); DefinePostfixOprt(in_Oprt, InchUnit); + + SetVarFactory(AddVariable, this); } Calculator::~Calculator() { delete [] vVarVal; + Calculator::iVal = -1; } //--------------------------------------------------------------------------------------------------------------------- @@ -267,3 +272,35 @@ qreal Calculator::InchUnit(qreal val) return unit; } + +//--------------------------------------------------------------------------- +// Factory function for creating new parser variables +// This could as well be a function performing database queries. +qreal* Calculator::AddVariable(const QString &a_szName, void *a_pUserData) +{ + // I don't want dynamic allocation here, so i used this static buffer + // If you want dynamic allocation you must allocate all variables dynamically + // in order to delete them later on. Or you find other ways to keep track of + // variables that have been created implicitely. + static qreal afValBuf[100]; + + ++iVal; + + Q_UNUSED(a_szName) + Q_UNUSED(a_pUserData) + // qDebug() << "Generating new variable \"" + // << a_szName << "\" (slots left: " + // << 99-iVal << ")" + // << " User data pointer is:" + // << QString::number(a_pUserData, 16); + afValBuf[iVal] = 0; + + if (iVal>=99) + { + throw qmu::QmuParserError( "Variable buffer overflow." ); + } + else + { + return &afValBuf[iVal]; + } +} diff --git a/src/app/container/calculator.h b/src/app/container/calculator.h index d3c8934e7..ddea36ab2 100644 --- a/src/app/container/calculator.h +++ b/src/app/container/calculator.h @@ -39,14 +39,16 @@ class Calculator:public QmuParser public: explicit Calculator(const VContainer *data); ~Calculator(); - qreal EvalFormula(const QString &formula); + qreal EvalFormula(const QString &formula); private: Q_DISABLE_COPY(Calculator) qreal *vVarVal; - void InitVariables(const VContainer *data); - static qreal CmUnit(qreal val); - static qreal MmUnit(qreal val); - static qreal InchUnit(qreal val); + static int iVal; + void InitVariables(const VContainer *data); + static qreal CmUnit(qreal val); + static qreal MmUnit(qreal val); + static qreal InchUnit(qreal val); + static qreal* AddVariable(const QString &a_szName, void *a_pUserData); }; #endif // CALCULATOR_H diff --git a/src/libs/qmuparser/qmuparser.cpp b/src/libs/qmuparser/qmuparser.cpp index 3f0ca1d08..6180f2310 100644 --- a/src/libs/qmuparser/qmuparser.cpp +++ b/src/libs/qmuparser/qmuparser.cpp @@ -202,11 +202,7 @@ int QmuParser::IsVal(const QString &a_szExpr, int *a_iPos, qreal *a_fVal) { qreal fVal(0); - #if defined(_UNICODE) - std::wstring a_szExprStd = a_szExpr.toStdWString(); - #else - std::string a_szExprStd = a_szExpr.toStdString(); - #endif + std::wstring a_szExprStd = a_szExpr.toStdWString(); stringstream_type stream(a_szExprStd); stream.seekg(0); // todo: check if this really is necessary stream.imbue(QmuParser::s_locale); diff --git a/src/libs/qmuparser/qmuparser.h b/src/libs/qmuparser/qmuparser.h index 50892dd99..e36f52b5d 100644 --- a/src/libs/qmuparser/qmuparser.h +++ b/src/libs/qmuparser/qmuparser.h @@ -74,7 +74,7 @@ namespace qmu static qreal Sign(qreal); // Prefix operators // !!! Unary Minus is a MUST if you want to use negative signs !!! - static qreal UnaryMinus(qreal v) Q_DECL_NOEXCEPT; + static qreal UnaryMinus(qreal v); // Functions with variable number of arguments static qreal Sum(const qreal*, int); // sum static qreal Avg(const qreal*, int); // mean value @@ -88,7 +88,7 @@ namespace qmu * @param v The value to negate * @return -v */ -inline qreal QmuParser::UnaryMinus(qreal v) Q_DECL_NOEXCEPT +inline qreal QmuParser::UnaryMinus(qreal v) { return -v; } diff --git a/src/libs/qmuparser/qmuparserbase.cpp b/src/libs/qmuparser/qmuparserbase.cpp index 386c0f87d..21ff321df 100644 --- a/src/libs/qmuparser/qmuparserbase.cpp +++ b/src/libs/qmuparser/qmuparserbase.cpp @@ -64,7 +64,7 @@ QmuParserBase::QmuParserBase() :m_pParseFormula(&QmuParserBase::ParseString), m_vRPN(), m_vStringBuf(), m_vStringVarBuf(), m_pTokenReader(), m_FunDef(), m_PostOprtDef(), m_InfixOprtDef(), m_OprtDef(), m_ConstDef(), m_StrVarDef(), m_VarDef(), m_bBuiltInOp(true), m_sNameChars(), m_sOprtChars(), m_sInfixOprtChars(), m_nIfElseCounter(0), m_vStackBuffer(), - m_nFinalResultIdx(0) + m_nFinalResultIdx(0), m_Tokens(QMap()), m_Numbers(QMap()) { InitTokenReader(); } @@ -79,7 +79,7 @@ QmuParserBase::QmuParserBase(const QmuParserBase &a_Parser) :m_pParseFormula(&QmuParserBase::ParseString), m_vRPN(), m_vStringBuf(), m_vStringVarBuf(), m_pTokenReader(), m_FunDef(), m_PostOprtDef(), m_InfixOprtDef(), m_OprtDef(), m_ConstDef(), m_StrVarDef(), m_VarDef(), m_bBuiltInOp(true), m_sNameChars(), m_sOprtChars(), m_sInfixOprtChars(), m_nIfElseCounter(0), m_vStackBuffer(), - m_nFinalResultIdx(0) + m_nFinalResultIdx(0), m_Tokens(QMap()), m_Numbers(QMap()) { m_pTokenReader.reset(new token_reader_type(this)); Assign(a_Parser); @@ -98,7 +98,7 @@ QmuParserBase::~QmuParserBase() * @return *this * @throw nothrow */ -QmuParserBase& QmuParserBase::operator=(const QmuParserBase &a_Parser) Q_DECL_NOEXCEPT +QmuParserBase& QmuParserBase::operator=(const QmuParserBase &a_Parser) { Assign(a_Parser); return *this; @@ -199,13 +199,15 @@ void QmuParserBase::ResetLocale() * Clear bytecode, reset the token reader. * @throw nothrow */ -void QmuParserBase::ReInit() const Q_DECL_NOEXCEPT +void QmuParserBase::ReInit() const { m_pParseFormula = &QmuParserBase::ParseString; m_vStringBuf.clear(); m_vRPN.clear(); m_pTokenReader->ReInit(); m_nIfElseCounter = 0; + m_Tokens.clear(); + m_Numbers.clear(); } //--------------------------------------------------------------------------------------------------------------------- @@ -318,13 +320,9 @@ void QmuParserBase::AddCallback(const QString &a_strName, const QmuParserCallbac void QmuParserBase::CheckOprt(const QString &a_sName, const QmuParserCallback &a_Callback, const QString &a_szCharSet) const { -#if defined(_UNICODE) const std::wstring a_sNameStd = a_sName.toStdWString(); const std::wstring a_szCharSetStd = a_szCharSet.toStdWString(); -#else - const std::string a_sNameStd = a_sName.toStdString(); - const std::string a_szCharSetStd = a_szCharSet.toStdString(); -#endif + if ( a_sNameStd.length() == false || (a_sNameStd.find_first_not_of(a_szCharSetStd)!=string_type::npos) || (a_sNameStd.at(0)>='0' && a_sNameStd.at(0)<='9')) { @@ -385,13 +383,9 @@ void QmuParserBase::CheckOprt(const QString &a_sName, const QmuParserCallback &a */ void QmuParserBase::CheckName(const QString &a_sName, const QString &a_szCharSet) const { -#if defined(_UNICODE) std::wstring a_sNameStd = a_sName.toStdWString(); std::wstring a_szCharSetStd = a_szCharSet.toStdWString(); -#else - std::string a_sNameStd = a_sName.toStdString(); - std::string a_szCharSetStd = a_szCharSet.toStdString(); -#endif + if ( a_sNameStd.length() == false || (a_sNameStd.find_first_not_of(a_szCharSetStd)!=string_type::npos) || (a_sNameStd[0]>='0' && a_sNameStd[0]<='9')) { @@ -1494,14 +1488,17 @@ void QmuParserBase::CreateRPN() const opt.SetIdx(m_vStringBuf.size()); // Assign buffer index to token stVal.push(opt); m_vStringBuf.push_back(opt.GetAsString()); // Store string in internal buffer + m_Tokens.insert(m_pTokenReader->GetPos()-opt.GetAsString().length(), opt.GetAsString()); break; case cmVAR: stVal.push(opt); m_vRPN.AddVar( static_cast(opt.GetVar()) ); + m_Tokens.insert(m_pTokenReader->GetPos()-opt.GetAsString().length(), opt.GetAsString()); break; case cmVAL: stVal.push(opt); m_vRPN.AddVal( opt.GetVal() ); + m_Numbers.insert(m_pTokenReader->GetPos()-opt.GetAsString().length(), opt.GetAsString()); break; case cmELSE: m_nIfElseCounter--; @@ -1643,10 +1640,12 @@ void QmuParserBase::CreateRPN() const case cmFUNC_BULK: case cmFUNC_STR: stOpt.push(opt); + m_Tokens.insert(m_pTokenReader->GetPos()-opt.GetAsString().length(), opt.GetAsString()); break; case cmOPRT_POSTFIX: stOpt.push(opt); ApplyFunc(stOpt, stVal, 1); // this is the postfix operator + m_Tokens.insert(m_pTokenReader->GetPos()-opt.GetAsString().length(), opt.GetAsString()); break; case cmENDIF: case cmVARPOW2: @@ -1753,7 +1752,7 @@ void Q_NORETURN QmuParserBase::Error(EErrorCodes a_iErrc, int a_iPos, const QStr * Resets the parser to string parsing mode by calling #ReInit. */ // cppcheck-suppress unusedFunction -void QmuParserBase::ClearVar() Q_DECL_NOEXCEPT +void QmuParserBase::ClearVar() { m_VarDef.clear(); ReInit(); @@ -1766,7 +1765,7 @@ void QmuParserBase::ClearVar() Q_DECL_NOEXCEPT * * Removes a variable if it exists. If the Variable does not exist nothing will be done. */ -void QmuParserBase::RemoveVar(const QString &a_strVarName) Q_DECL_NOEXCEPT +void QmuParserBase::RemoveVar(const QString &a_strVarName) { varmap_type::iterator item = m_VarDef.find(a_strVarName); if (item!=m_VarDef.end()) @@ -1783,7 +1782,7 @@ void QmuParserBase::RemoveVar(const QString &a_strVarName) Q_DECL_NOEXCEPT * @throw nothrow */ // cppcheck-suppress unusedFunction -void QmuParserBase::ClearFun() Q_DECL_NOEXCEPT +void QmuParserBase::ClearFun() { m_FunDef.clear(); ReInit(); @@ -1797,7 +1796,7 @@ void QmuParserBase::ClearFun() Q_DECL_NOEXCEPT * @post Resets the parser to string parsing mode. * @throw nothrow */ -void QmuParserBase::ClearConst() Q_DECL_NOEXCEPT +void QmuParserBase::ClearConst() { m_ConstDef.clear(); m_StrVarDef.clear(); @@ -1810,7 +1809,7 @@ void QmuParserBase::ClearConst() Q_DECL_NOEXCEPT * @post Resets the parser to string parsing mode. * @throw nothrow */ -void QmuParserBase::ClearPostfixOprt() Q_DECL_NOEXCEPT +void QmuParserBase::ClearPostfixOprt() { m_PostOprtDef.clear(); ReInit(); @@ -1823,7 +1822,7 @@ void QmuParserBase::ClearPostfixOprt() Q_DECL_NOEXCEPT * @throw nothrow */ // cppcheck-suppress unusedFunction -void QmuParserBase::ClearOprt() Q_DECL_NOEXCEPT +void QmuParserBase::ClearOprt() { m_OprtDef.clear(); ReInit(); @@ -1836,7 +1835,7 @@ void QmuParserBase::ClearOprt() Q_DECL_NOEXCEPT * @throw nothrow */ // cppcheck-suppress unusedFunction -void QmuParserBase::ClearInfixOprt() Q_DECL_NOEXCEPT +void QmuParserBase::ClearInfixOprt() { m_InfixOprtDef.clear(); ReInit(); @@ -1848,7 +1847,7 @@ void QmuParserBase::ClearInfixOprt() Q_DECL_NOEXCEPT * @post Resets the parser to string parser mode. * @throw nothrow */ -void QmuParserBase::EnableOptimizer(bool a_bIsOn) Q_DECL_NOEXCEPT +void QmuParserBase::EnableOptimizer(bool a_bIsOn) { m_vRPN.EnableOptimizer(a_bIsOn); ReInit(); @@ -1879,7 +1878,7 @@ void QmuParserBase::EnableDebugDump(bool bDumpCmd, bool bDumpStack) * manually one by one. It is not possible to disable built in operators selectively. This function will Reinitialize * the parser by calling ReInit(). */ -void QmuParserBase::EnableBuiltInOprt(bool a_bIsOn) Q_DECL_NOEXCEPT +void QmuParserBase::EnableBuiltInOprt(bool a_bIsOn) { m_bBuiltInOp = a_bIsOn; ReInit(); diff --git a/src/libs/qmuparser/qmuparserbase.h b/src/libs/qmuparser/qmuparserbase.h index d01e78ce2..b82954f9a 100644 --- a/src/libs/qmuparser/qmuparserbase.h +++ b/src/libs/qmuparser/qmuparserbase.h @@ -58,22 +58,22 @@ class QMUPARSERSHARED_EXPORT QmuParserBase public: QmuParserBase(); QmuParserBase(const QmuParserBase &a_Parser); - QmuParserBase& operator=(const QmuParserBase &a_Parser) Q_DECL_NOEXCEPT; + QmuParserBase& operator=(const QmuParserBase &a_Parser); virtual ~QmuParserBase(); static void EnableDebugDump(bool bDumpCmd, bool bDumpStack); qreal Eval() const; qreal* Eval(int &nStackSize) const; void Eval(qreal *results, int nBulkSize) const; - int GetNumResults() const Q_DECL_NOEXCEPT; + int GetNumResults() const; void SetExpr(const QString &a_sExpr); void SetVarFactory(facfun_type a_pFactory, void *pUserData = nullptr); void SetDecSep(char_type cDecSep); void SetThousandsSep(char_type cThousandsSep = 0); void ResetLocale(); - void EnableOptimizer(bool a_bIsOn=true) Q_DECL_NOEXCEPT; - void EnableBuiltInOprt(bool a_bIsOn=true) Q_DECL_NOEXCEPT; - bool HasBuiltInOprt() const Q_DECL_NOEXCEPT; + void EnableOptimizer(bool a_bIsOn=true); + void EnableBuiltInOprt(bool a_bIsOn=true); + bool HasBuiltInOprt() const; void AddValIdent(identfun_type a_pCallback); void DefineOprt(const QString &a_strName, fun_type2 a_pFun, unsigned a_iPri=0, EOprtAssociativity a_eAssociativity = oaLEFT, bool a_bAllowOpt = false); @@ -84,23 +84,25 @@ public: void DefineInfixOprt(const QString &a_strName, fun_type1 a_pOprt, int a_iPrec=prINFIX, bool a_bAllowOpt=true); // Clear user defined variables, constants or functions - void ClearVar() Q_DECL_NOEXCEPT; - void ClearFun() Q_DECL_NOEXCEPT; - void ClearConst() Q_DECL_NOEXCEPT; - void ClearInfixOprt() Q_DECL_NOEXCEPT; - void ClearPostfixOprt() Q_DECL_NOEXCEPT; - void ClearOprt() Q_DECL_NOEXCEPT; - void RemoveVar(const QString &a_strVarName) Q_DECL_NOEXCEPT; + void ClearVar(); + void ClearFun(); + void ClearConst(); + void ClearInfixOprt(); + void ClearPostfixOprt(); + void ClearOprt(); + void RemoveVar(const QString &a_strVarName); const varmap_type& GetUsedVar() const; - const varmap_type& GetVar() const Q_DECL_NOEXCEPT; - const valmap_type& GetConst() const Q_DECL_NOEXCEPT; + const varmap_type& GetVar() const; + const valmap_type& GetConst() const; const QString& GetExpr() const; - const funmap_type& GetFunDef() const Q_DECL_NOEXCEPT; + const funmap_type& GetFunDef() const; static QString GetVersion(EParserVersionInfo eInfo = pviFULL); - static const QStringList& GetOprtDef() Q_DECL_NOEXCEPT; - void DefineNameChars(const QString &a_szCharset) Q_DECL_NOEXCEPT; - void DefineOprtChars(const QString &a_szCharset) Q_DECL_NOEXCEPT; - void DefineInfixOprtChars(const QString &a_szCharset) Q_DECL_NOEXCEPT; + static const QStringList& GetOprtDef(); + QMap GetTokens() const; + QMap GetNumbers() const; + void DefineNameChars(const QString &a_szCharset); + void DefineOprtChars(const QString &a_szCharset); + void DefineInfixOprtChars(const QString &a_szCharset); const QString& ValidNameChars() const; const QString& ValidOprtChars() const; const QString& ValidInfixOprtChars() const; @@ -232,10 +234,12 @@ private: // items merely used for caching state information mutable valbuf_type m_vStackBuffer; ///< This is merely a buffer used for the stack in the cmd parsing routine mutable int m_nFinalResultIdx; + mutable QMap m_Tokens;///< Keep all tokens that we can translate + mutable QMap m_Numbers;///< Keep all numbers what exist in formula void Assign(const QmuParserBase &a_Parser); void InitTokenReader(); - void ReInit() const Q_DECL_NOEXCEPT; + void ReInit() const; void AddCallback(const QString &a_strName, const QmuParserCallback &a_Callback, funmap_type &a_Storage, const QString &a_szCharSet ); void ApplyRemainingOprt(QStack &a_stOpt, QStack &a_stVal) const; @@ -297,16 +301,26 @@ inline void QmuParserBase::SetVarFactory(facfun_type a_pFactory, void *pUserData * @brief Get the default symbols used for the built in operators. * @sa c_DefaultOprt */ -inline const QStringList &QmuParserBase::GetOprtDef() Q_DECL_NOEXCEPT +inline const QStringList &QmuParserBase::GetOprtDef() { return c_DefaultOprt; } +inline QMap QmuParserBase::GetTokens() const +{ + return m_Tokens; +} + +inline QMap QmuParserBase::GetNumbers() const +{ + return m_Numbers; +} + //--------------------------------------------------------------------------------------------------------------------- /** * @brief Define the set of valid characters to be used in names of functions, variables, constants. */ -inline void QmuParserBase::DefineNameChars(const QString &a_szCharset) Q_DECL_NOEXCEPT +inline void QmuParserBase::DefineNameChars(const QString &a_szCharset) { m_sNameChars = a_szCharset; } @@ -315,7 +329,7 @@ inline void QmuParserBase::DefineNameChars(const QString &a_szCharset) Q_DECL_NO /** * @brief Define the set of valid characters to be used in names of binary operators and postfix operators. */ -inline void QmuParserBase::DefineOprtChars(const QString &a_szCharset) Q_DECL_NOEXCEPT +inline void QmuParserBase::DefineOprtChars(const QString &a_szCharset) { m_sOprtChars = a_szCharset; } @@ -324,7 +338,7 @@ inline void QmuParserBase::DefineOprtChars(const QString &a_szCharset) Q_DECL_NO /** * @brief Define the set of valid characters to be used in names of infix operators. */ -inline void QmuParserBase::DefineInfixOprtChars(const QString &a_szCharset) Q_DECL_NOEXCEPT +inline void QmuParserBase::DefineInfixOprtChars(const QString &a_szCharset) { m_sInfixOprtChars = a_szCharset; } @@ -333,7 +347,7 @@ inline void QmuParserBase::DefineInfixOprtChars(const QString &a_szCharset) Q_DE /** * @brief Return a map containing the used variables only. */ -inline const varmap_type &QmuParserBase::GetVar() const Q_DECL_NOEXCEPT +inline const varmap_type &QmuParserBase::GetVar() const { return m_VarDef; } @@ -342,7 +356,7 @@ inline const varmap_type &QmuParserBase::GetVar() const Q_DECL_NOEXCEPT /** * @brief Return a map containing all parser constants. */ -inline const valmap_type &QmuParserBase::GetConst() const Q_DECL_NOEXCEPT +inline const valmap_type &QmuParserBase::GetConst() const { return m_ConstDef; } @@ -358,7 +372,7 @@ inline const valmap_type &QmuParserBase::GetConst() const Q_DECL_NOEXCEPT * parser functions. String functions are not part of this map. The Prototype definition is encapsulated in objects * of the class FunProt one per parser function each associated with function names via a map construct. */ -inline const funmap_type &QmuParserBase::GetFunDef() const Q_DECL_NOEXCEPT +inline const funmap_type &QmuParserBase::GetFunDef() const { return m_FunDef; } @@ -378,7 +392,7 @@ inline const QString& QmuParserBase::GetExpr() const * @return #m_bBuiltInOp; true if built in operators are enabled. * @throw nothrow */ -inline bool QmuParserBase::HasBuiltInOprt() const Q_DECL_NOEXCEPT +inline bool QmuParserBase::HasBuiltInOprt() const { return m_bBuiltInOp; } @@ -391,7 +405,7 @@ inline bool QmuParserBase::HasBuiltInOprt() const Q_DECL_NOEXCEPT * value. This function returns the number of available results. */ // cppcheck-suppress unusedFunction -inline int QmuParserBase::GetNumResults() const Q_DECL_NOEXCEPT +inline int QmuParserBase::GetNumResults() const { return m_nFinalResultIdx; } diff --git a/src/libs/qmuparser/qmuparserbytecode.cpp b/src/libs/qmuparser/qmuparserbytecode.cpp index cdd8e63ce..e4f27746e 100644 --- a/src/libs/qmuparser/qmuparserbytecode.cpp +++ b/src/libs/qmuparser/qmuparserbytecode.cpp @@ -40,7 +40,7 @@ namespace qmu * @brief Bytecode default constructor. */ // cppcheck-suppress uninitMemberVar -QmuParserByteCode::QmuParserByteCode() Q_DECL_NOEXCEPT +QmuParserByteCode::QmuParserByteCode() :m_iStackPos(0), m_iMaxStackSize(0), m_vRPN(), m_bEnableOptimizer(true) { m_vRPN.reserve(50); @@ -53,7 +53,7 @@ QmuParserByteCode::QmuParserByteCode() Q_DECL_NOEXCEPT * Implemented in Terms of Assign(const QParserByteCode &a_ByteCode) */ // cppcheck-suppress uninitMemberVar -QmuParserByteCode::QmuParserByteCode(const QmuParserByteCode &a_ByteCode) Q_DECL_NOEXCEPT +QmuParserByteCode::QmuParserByteCode(const QmuParserByteCode &a_ByteCode) :m_iStackPos(a_ByteCode.m_iStackPos), m_iMaxStackSize(a_ByteCode.m_iMaxStackSize), m_vRPN(a_ByteCode.m_vRPN), m_bEnableOptimizer(true) { @@ -67,7 +67,7 @@ QmuParserByteCode::QmuParserByteCode(const QmuParserByteCode &a_ByteCode) Q_DECL * Implemented in Terms of Assign(const QParserByteCode &a_ByteCode) */ // cppcheck-suppress operatorEqVarError -QmuParserByteCode& QmuParserByteCode::operator=(const QmuParserByteCode &a_ByteCode) Q_DECL_NOEXCEPT +QmuParserByteCode& QmuParserByteCode::operator=(const QmuParserByteCode &a_ByteCode) { Assign(a_ByteCode); return *this; @@ -79,7 +79,7 @@ QmuParserByteCode& QmuParserByteCode::operator=(const QmuParserByteCode &a_ByteC * * @throw nowthrow */ -void QmuParserByteCode::Assign(const QmuParserByteCode &a_ByteCode) Q_DECL_NOEXCEPT +void QmuParserByteCode::Assign(const QmuParserByteCode &a_ByteCode) { if (this==&a_ByteCode) { @@ -98,7 +98,7 @@ void QmuParserByteCode::Assign(const QmuParserByteCode &a_ByteCode) Q_DECL_NOEXC * @param a_pVar Pointer to be added. * @throw nothrow */ -void QmuParserByteCode::AddVar(qreal *a_pVar) Q_DECL_NOEXCEPT +void QmuParserByteCode::AddVar(qreal *a_pVar) { ++m_iStackPos; m_iMaxStackSize = qMax(m_iMaxStackSize, static_cast(m_iStackPos)); @@ -126,7 +126,7 @@ void QmuParserByteCode::AddVar(qreal *a_pVar) Q_DECL_NOEXCEPT * @param a_pVal Value to be added. * @throw nothrow */ -void QmuParserByteCode::AddVal(qreal a_fVal) Q_DECL_NOEXCEPT +void QmuParserByteCode::AddVal(qreal a_fVal) { ++m_iStackPos; m_iMaxStackSize = qMax(m_iMaxStackSize, static_cast(m_iStackPos)); @@ -472,7 +472,7 @@ void QmuParserByteCode::AddOp(ECmdCode a_Oprt) } //--------------------------------------------------------------------------------------------------------------------- -void QmuParserByteCode::AddIfElse(ECmdCode a_Oprt) Q_DECL_NOEXCEPT +void QmuParserByteCode::AddIfElse(ECmdCode a_Oprt) { SToken tok; tok.Cmd = a_Oprt; @@ -491,7 +491,7 @@ void QmuParserByteCode::AddIfElse(ECmdCode a_Oprt) Q_DECL_NOEXCEPT * * @sa ParserToken::ECmdCode */ -void QmuParserByteCode::AddAssignOp(qreal *a_pVar) Q_DECL_NOEXCEPT +void QmuParserByteCode::AddAssignOp(qreal *a_pVar) { --m_iStackPos; @@ -508,7 +508,7 @@ void QmuParserByteCode::AddAssignOp(qreal *a_pVar) Q_DECL_NOEXCEPT * @param a_iArgc Number of arguments, negative numbers indicate multiarg functions. * @param a_pFun Pointer to function callback. */ -void QmuParserByteCode::AddFun(generic_fun_type a_pFun, int a_iArgc) Q_DECL_NOEXCEPT +void QmuParserByteCode::AddFun(generic_fun_type a_pFun, int a_iArgc) { if (a_iArgc>=0) { @@ -535,7 +535,7 @@ void QmuParserByteCode::AddFun(generic_fun_type a_pFun, int a_iArgc) Q_DECL_NOEX * @param a_iArgc Number of arguments, negative numbers indicate multiarg functions. * @param a_pFun Pointer to function callback. */ -void QmuParserByteCode::AddBulkFun(generic_fun_type a_pFun, int a_iArgc) Q_DECL_NOEXCEPT +void QmuParserByteCode::AddBulkFun(generic_fun_type a_pFun, int a_iArgc) { m_iStackPos = m_iStackPos - a_iArgc + 1; m_iMaxStackSize = qMax(m_iMaxStackSize, static_cast(m_iStackPos)); @@ -555,7 +555,7 @@ void QmuParserByteCode::AddBulkFun(generic_fun_type a_pFun, int a_iArgc) Q_DECL_ * A string function entry consists of the stack position of the return value, followed by a cmSTRFUNC code, the * function pointer and an index into the string buffer maintained by the parser. */ -void QmuParserByteCode::AddStrFun(generic_fun_type a_pFun, int a_iArgc, int a_iIdx) Q_DECL_NOEXCEPT +void QmuParserByteCode::AddStrFun(generic_fun_type a_pFun, int a_iArgc, int a_iIdx) { m_iStackPos = m_iStackPos - a_iArgc + 1; @@ -575,7 +575,7 @@ void QmuParserByteCode::AddStrFun(generic_fun_type a_pFun, int a_iArgc, int a_iI * * @throw nothrow */ -void QmuParserByteCode::Finalize() Q_DECL_NOEXCEPT +void QmuParserByteCode::Finalize() { SToken tok; tok.Cmd = cmEND; @@ -662,7 +662,7 @@ const SToken* QmuParserByteCode::GetBase() const * The name of this function is a violation of my own coding guidelines but this way it's more in line with the STL * functions thus more intuitive. */ -void QmuParserByteCode::clear() Q_DECL_NOEXCEPT +void QmuParserByteCode::clear() { m_vRPN.clear(); m_iStackPos = 0; diff --git a/src/libs/qmuparser/qmuparserbytecode.h b/src/libs/qmuparser/qmuparserbytecode.h index 09e27bef8..3961cf9c0 100644 --- a/src/libs/qmuparser/qmuparserbytecode.h +++ b/src/libs/qmuparser/qmuparserbytecode.h @@ -81,23 +81,23 @@ struct SToken class QmuParserByteCode { public: - QmuParserByteCode() Q_DECL_NOEXCEPT; - QmuParserByteCode(const QmuParserByteCode &a_ByteCode) Q_DECL_NOEXCEPT; - QmuParserByteCode& operator=(const QmuParserByteCode &a_ByteCode) Q_DECL_NOEXCEPT; - void Assign(const QmuParserByteCode &a_ByteCode) Q_DECL_NOEXCEPT; - void AddVar(qreal *a_pVar) Q_DECL_NOEXCEPT; - void AddVal(qreal a_fVal) Q_DECL_NOEXCEPT; + QmuParserByteCode(); + QmuParserByteCode(const QmuParserByteCode &a_ByteCode); + QmuParserByteCode& operator=(const QmuParserByteCode &a_ByteCode); + void Assign(const QmuParserByteCode &a_ByteCode); + void AddVar(qreal *a_pVar); + void AddVal(qreal a_fVal); void AddOp(ECmdCode a_Oprt); - void AddIfElse(ECmdCode a_Oprt) Q_DECL_NOEXCEPT; - void AddAssignOp(qreal *a_pVar) Q_DECL_NOEXCEPT; - void AddFun(generic_fun_type a_pFun, int a_iArgc) Q_DECL_NOEXCEPT; - void AddBulkFun(generic_fun_type a_pFun, int a_iArgc) Q_DECL_NOEXCEPT; - void AddStrFun(generic_fun_type a_pFun, int a_iArgc, int a_iIdx) Q_DECL_NOEXCEPT; - void EnableOptimizer(bool bStat) Q_DECL_NOEXCEPT; - void Finalize() Q_DECL_NOEXCEPT; - void clear() Q_DECL_NOEXCEPT; - std::size_t GetMaxStackSize() const Q_DECL_NOEXCEPT; - std::size_t GetSize() const Q_DECL_NOEXCEPT; + void AddIfElse(ECmdCode a_Oprt); + void AddAssignOp(qreal *a_pVar); + void AddFun(generic_fun_type a_pFun, int a_iArgc); + void AddBulkFun(generic_fun_type a_pFun, int a_iArgc); + void AddStrFun(generic_fun_type a_pFun, int a_iArgc, int a_iIdx); + void EnableOptimizer(bool bStat); + void Finalize(); + void clear(); + std::size_t GetMaxStackSize() const; + std::size_t GetSize() const; const SToken* GetBase() const; void AsciiDump(); private: @@ -122,13 +122,13 @@ private: }; //--------------------------------------------------------------------------------------------------------------------- -inline void QmuParserByteCode::EnableOptimizer(bool bStat) Q_DECL_NOEXCEPT +inline void QmuParserByteCode::EnableOptimizer(bool bStat) { m_bEnableOptimizer = bStat; } //--------------------------------------------------------------------------------------------------------------------- -inline std::size_t QmuParserByteCode::GetMaxStackSize() const Q_DECL_NOEXCEPT +inline std::size_t QmuParserByteCode::GetMaxStackSize() const { return m_iMaxStackSize+1; } @@ -138,7 +138,7 @@ inline std::size_t QmuParserByteCode::GetMaxStackSize() const Q_DECL_NOEXCEPT * @brief Returns the number of entries in the bytecode. */ // cppcheck-suppress unusedFunction -inline std::size_t QmuParserByteCode::GetSize() const Q_DECL_NOEXCEPT +inline std::size_t QmuParserByteCode::GetSize() const { return m_vRPN.size(); } diff --git a/src/libs/qmuparser/qmuparsercallback.cpp b/src/libs/qmuparser/qmuparsercallback.cpp index 75d612b7d..df19b7fb0 100644 --- a/src/libs/qmuparser/qmuparsercallback.cpp +++ b/src/libs/qmuparser/qmuparsercallback.cpp @@ -34,7 +34,7 @@ namespace qmu #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( fun_type0 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( fun_type0 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 0 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -44,7 +44,6 @@ QmuParserCallback::QmuParserCallback ( fun_type0 a_pFun, bool a_bAllowOpti ) Q_D __extension__ #endif QmuParserCallback::QmuParserCallback ( fun_type1 a_pFun, bool a_bAllowOpti, int a_iPrec, ECmdCode a_iCode ) -Q_DECL_NOEXCEPT : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 1 ), m_iPri ( a_iPrec ), m_eOprtAsct ( oaNONE ), m_iCode ( a_iCode ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -57,7 +56,7 @@ Q_DECL_NOEXCEPT #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( fun_type2 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( fun_type2 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 2 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -75,7 +74,7 @@ QmuParserCallback::QmuParserCallback ( fun_type2 a_pFun, bool a_bAllowOpti ) Q_D __extension__ #endif QmuParserCallback::QmuParserCallback ( fun_type2 a_pFun, bool a_bAllowOpti, int a_iPrec, - EOprtAssociativity a_eOprtAsct ) Q_DECL_NOEXCEPT + EOprtAssociativity a_eOprtAsct ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 2 ), m_iPri ( a_iPrec ), m_eOprtAsct ( a_eOprtAsct ), m_iCode ( cmOPRT_BIN ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -84,7 +83,7 @@ QmuParserCallback::QmuParserCallback ( fun_type2 a_pFun, bool a_bAllowOpti, int #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( fun_type3 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( fun_type3 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 3 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -94,7 +93,7 @@ QmuParserCallback::QmuParserCallback ( fun_type3 a_pFun, bool a_bAllowOpti ) Q_D #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( fun_type4 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( fun_type4 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 4 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -104,7 +103,7 @@ QmuParserCallback::QmuParserCallback ( fun_type4 a_pFun, bool a_bAllowOpti ) Q_D #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( fun_type5 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( fun_type5 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 5 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -113,7 +112,7 @@ QmuParserCallback::QmuParserCallback ( fun_type5 a_pFun, bool a_bAllowOpti ) Q_D #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( fun_type6 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( fun_type6 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 6 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -122,7 +121,7 @@ QmuParserCallback::QmuParserCallback ( fun_type6 a_pFun, bool a_bAllowOpti ) Q_D #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( fun_type7 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( fun_type7 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 7 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -131,7 +130,7 @@ QmuParserCallback::QmuParserCallback ( fun_type7 a_pFun, bool a_bAllowOpti ) Q_D #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( fun_type8 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( fun_type8 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 8 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -140,7 +139,7 @@ QmuParserCallback::QmuParserCallback ( fun_type8 a_pFun, bool a_bAllowOpti ) Q_D #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( fun_type9 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( fun_type9 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 9 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -149,7 +148,7 @@ QmuParserCallback::QmuParserCallback ( fun_type9 a_pFun, bool a_bAllowOpti ) Q_D #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( fun_type10 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( fun_type10 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 10 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -158,7 +157,7 @@ QmuParserCallback::QmuParserCallback ( fun_type10 a_pFun, bool a_bAllowOpti ) Q_ #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( bulkfun_type0 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( bulkfun_type0 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 0 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC_BULK ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -167,7 +166,7 @@ QmuParserCallback::QmuParserCallback ( bulkfun_type0 a_pFun, bool a_bAllowOpti ) #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( bulkfun_type1 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( bulkfun_type1 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 1 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC_BULK ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -180,7 +179,7 @@ QmuParserCallback::QmuParserCallback ( bulkfun_type1 a_pFun, bool a_bAllowOpti ) #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( bulkfun_type2 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( bulkfun_type2 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 2 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC_BULK ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -189,7 +188,7 @@ QmuParserCallback::QmuParserCallback ( bulkfun_type2 a_pFun, bool a_bAllowOpti ) #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( bulkfun_type3 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( bulkfun_type3 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 3 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC_BULK ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -198,7 +197,7 @@ QmuParserCallback::QmuParserCallback ( bulkfun_type3 a_pFun, bool a_bAllowOpti ) #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( bulkfun_type4 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( bulkfun_type4 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 4 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC_BULK ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -207,7 +206,7 @@ QmuParserCallback::QmuParserCallback ( bulkfun_type4 a_pFun, bool a_bAllowOpti ) #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( bulkfun_type5 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( bulkfun_type5 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 5 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC_BULK ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -216,7 +215,7 @@ QmuParserCallback::QmuParserCallback ( bulkfun_type5 a_pFun, bool a_bAllowOpti ) #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( bulkfun_type6 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( bulkfun_type6 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 6 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC_BULK ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -225,7 +224,7 @@ QmuParserCallback::QmuParserCallback ( bulkfun_type6 a_pFun, bool a_bAllowOpti ) #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( bulkfun_type7 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( bulkfun_type7 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 7 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC_BULK ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -234,7 +233,7 @@ QmuParserCallback::QmuParserCallback ( bulkfun_type7 a_pFun, bool a_bAllowOpti ) #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( bulkfun_type8 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( bulkfun_type8 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 8 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC_BULK ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -243,7 +242,7 @@ QmuParserCallback::QmuParserCallback ( bulkfun_type8 a_pFun, bool a_bAllowOpti ) #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( bulkfun_type9 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( bulkfun_type9 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 9 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC_BULK ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -252,7 +251,7 @@ QmuParserCallback::QmuParserCallback ( bulkfun_type9 a_pFun, bool a_bAllowOpti ) #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( bulkfun_type10 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( bulkfun_type10 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 10 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC_BULK ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -261,7 +260,7 @@ QmuParserCallback::QmuParserCallback ( bulkfun_type10 a_pFun, bool a_bAllowOpti #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( multfun_type a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( multfun_type a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( -1 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC ), m_iType ( tpDBL ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -270,7 +269,7 @@ QmuParserCallback::QmuParserCallback ( multfun_type a_pFun, bool a_bAllowOpti ) #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( strfun_type1 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( strfun_type1 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 0 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC_STR ), m_iType ( tpSTR ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -279,7 +278,7 @@ QmuParserCallback::QmuParserCallback ( strfun_type1 a_pFun, bool a_bAllowOpti ) #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( strfun_type2 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( strfun_type2 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 1 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC_STR ), m_iType ( tpSTR ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -288,7 +287,7 @@ QmuParserCallback::QmuParserCallback ( strfun_type2 a_pFun, bool a_bAllowOpti ) #ifdef __GNUC__ __extension__ #endif -QmuParserCallback::QmuParserCallback ( strfun_type3 a_pFun, bool a_bAllowOpti ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( strfun_type3 a_pFun, bool a_bAllowOpti ) : m_pFun ( reinterpret_cast ( a_pFun ) ), m_iArgc ( 2 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmFUNC_STR ), m_iType ( tpSTR ), m_bAllowOpti ( a_bAllowOpti ) {} @@ -298,7 +297,7 @@ QmuParserCallback::QmuParserCallback ( strfun_type3 a_pFun, bool a_bAllowOpti ) * @brief Default constructor. * @throw nothrow */ -QmuParserCallback::QmuParserCallback() Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback() : m_pFun ( 0 ), m_iArgc ( 0 ), m_iPri ( -1 ), m_eOprtAsct ( oaNONE ), m_iCode ( cmUNKNOWN ), m_iType ( tpVOID ), m_bAllowOpti ( 0 ) {} @@ -308,7 +307,7 @@ QmuParserCallback::QmuParserCallback() Q_DECL_NOEXCEPT * @brief Copy constructor. * @throw nothrow */ -QmuParserCallback::QmuParserCallback ( const QmuParserCallback &ref ) Q_DECL_NOEXCEPT +QmuParserCallback::QmuParserCallback ( const QmuParserCallback &ref ) : m_pFun ( ref.m_pFun ), m_iArgc ( ref.m_iArgc ), m_iPri ( ref.m_iPri ), m_eOprtAsct ( ref.m_eOprtAsct ), m_iCode ( ref.m_iCode ), m_iType ( ref.m_iType ), m_bAllowOpti ( ref.m_bAllowOpti ) { diff --git a/src/libs/qmuparser/qmuparsercallback.h b/src/libs/qmuparser/qmuparsercallback.h index 2321c63a6..a038fd2ae 100644 --- a/src/libs/qmuparser/qmuparsercallback.h +++ b/src/libs/qmuparser/qmuparsercallback.h @@ -46,47 +46,47 @@ namespace qmu class QmuParserCallback { public: - QmuParserCallback(fun_type0 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(fun_type1 a_pFun, bool a_bAllowOpti, int a_iPrec = -1, ECmdCode a_iCode=cmFUNC) Q_DECL_NOEXCEPT; + QmuParserCallback(fun_type0 a_pFun, bool a_bAllowOpti); + QmuParserCallback(fun_type1 a_pFun, bool a_bAllowOpti, int a_iPrec = -1, ECmdCode a_iCode=cmFUNC); QmuParserCallback(fun_type2 a_pFun, bool a_bAllowOpti, int a_iPrec, EOprtAssociativity a_eAssociativity) - Q_DECL_NOEXCEPT; - QmuParserCallback(fun_type2 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(fun_type3 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(fun_type4 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(fun_type5 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(fun_type6 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(fun_type7 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(fun_type8 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(fun_type9 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(fun_type10 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; + ; + QmuParserCallback(fun_type2 a_pFun, bool a_bAllowOpti); + QmuParserCallback(fun_type3 a_pFun, bool a_bAllowOpti); + QmuParserCallback(fun_type4 a_pFun, bool a_bAllowOpti); + QmuParserCallback(fun_type5 a_pFun, bool a_bAllowOpti); + QmuParserCallback(fun_type6 a_pFun, bool a_bAllowOpti); + QmuParserCallback(fun_type7 a_pFun, bool a_bAllowOpti); + QmuParserCallback(fun_type8 a_pFun, bool a_bAllowOpti); + QmuParserCallback(fun_type9 a_pFun, bool a_bAllowOpti); + QmuParserCallback(fun_type10 a_pFun, bool a_bAllowOpti); - QmuParserCallback(bulkfun_type0 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(bulkfun_type1 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(bulkfun_type2 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(bulkfun_type3 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(bulkfun_type4 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(bulkfun_type5 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(bulkfun_type6 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(bulkfun_type7 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(bulkfun_type8 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(bulkfun_type9 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(bulkfun_type10 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; + QmuParserCallback(bulkfun_type0 a_pFun, bool a_bAllowOpti); + QmuParserCallback(bulkfun_type1 a_pFun, bool a_bAllowOpti); + QmuParserCallback(bulkfun_type2 a_pFun, bool a_bAllowOpti); + QmuParserCallback(bulkfun_type3 a_pFun, bool a_bAllowOpti); + QmuParserCallback(bulkfun_type4 a_pFun, bool a_bAllowOpti); + QmuParserCallback(bulkfun_type5 a_pFun, bool a_bAllowOpti); + QmuParserCallback(bulkfun_type6 a_pFun, bool a_bAllowOpti); + QmuParserCallback(bulkfun_type7 a_pFun, bool a_bAllowOpti); + QmuParserCallback(bulkfun_type8 a_pFun, bool a_bAllowOpti); + QmuParserCallback(bulkfun_type9 a_pFun, bool a_bAllowOpti); + QmuParserCallback(bulkfun_type10 a_pFun, bool a_bAllowOpti); - QmuParserCallback(multfun_type a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(strfun_type1 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(strfun_type2 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback(strfun_type3 a_pFun, bool a_bAllowOpti) Q_DECL_NOEXCEPT; - QmuParserCallback() Q_DECL_NOEXCEPT; - QmuParserCallback(const QmuParserCallback &a_Fun) Q_DECL_NOEXCEPT; + QmuParserCallback(multfun_type a_pFun, bool a_bAllowOpti); + QmuParserCallback(strfun_type1 a_pFun, bool a_bAllowOpti); + QmuParserCallback(strfun_type2 a_pFun, bool a_bAllowOpti); + QmuParserCallback(strfun_type3 a_pFun, bool a_bAllowOpti); + QmuParserCallback(); + QmuParserCallback(const QmuParserCallback &a_Fun); QmuParserCallback* Clone() const; - bool IsOptimizable() const Q_DECL_NOEXCEPT; - void* GetAddr() const Q_DECL_NOEXCEPT; - ECmdCode GetCode() const Q_DECL_NOEXCEPT; - ETypeCode GetType() const Q_DECL_NOEXCEPT; - int GetPri() const Q_DECL_NOEXCEPT; - EOprtAssociativity GetAssociativity() const Q_DECL_NOEXCEPT; - int GetArgc() const Q_DECL_NOEXCEPT; + bool IsOptimizable() const; + void* GetAddr() const; + ECmdCode GetCode() const; + ETypeCode GetType() const; + int GetPri() const; + EOprtAssociativity GetAssociativity() const; + int GetArgc() const; private: void *m_pFun; ///< Pointer to the callback function, casted to void @@ -127,7 +127,7 @@ inline QmuParserCallback* QmuParserCallback::Clone() const * @throw nothrow */ // cppcheck-suppress unusedFunction -inline bool QmuParserCallback::IsOptimizable() const Q_DECL_NOEXCEPT +inline bool QmuParserCallback::IsOptimizable() const { return m_bAllowOpti; } @@ -141,7 +141,7 @@ inline bool QmuParserCallback::IsOptimizable() const Q_DECL_NOEXCEPT * @throw nothrow * @return #pFun */ -inline void* QmuParserCallback::GetAddr() const Q_DECL_NOEXCEPT +inline void* QmuParserCallback::GetAddr() const { return m_pFun; } @@ -150,13 +150,13 @@ inline void* QmuParserCallback::GetAddr() const Q_DECL_NOEXCEPT /** * @brief Return the callback code. */ -inline ECmdCode QmuParserCallback::GetCode() const Q_DECL_NOEXCEPT +inline ECmdCode QmuParserCallback::GetCode() const { return m_iCode; } //--------------------------------------------------------------------------------------------------------------------- -inline ETypeCode QmuParserCallback::GetType() const Q_DECL_NOEXCEPT +inline ETypeCode QmuParserCallback::GetType() const { return m_iType; } @@ -168,7 +168,7 @@ inline ETypeCode QmuParserCallback::GetType() const Q_DECL_NOEXCEPT * * Only valid if the callback token is an operator token (binary or infix). */ -inline int QmuParserCallback::GetPri() const Q_DECL_NOEXCEPT +inline int QmuParserCallback::GetPri() const { return m_iPri; } @@ -180,7 +180,7 @@ inline int QmuParserCallback::GetPri() const Q_DECL_NOEXCEPT * * Only valid if the callback token is a binary operator token. */ -inline EOprtAssociativity QmuParserCallback::GetAssociativity() const Q_DECL_NOEXCEPT +inline EOprtAssociativity QmuParserCallback::GetAssociativity() const { return m_eOprtAsct; } @@ -189,7 +189,7 @@ inline EOprtAssociativity QmuParserCallback::GetAssociativity() const Q_DECL_NOE /** * @brief Returns the number of function Arguments. */ -inline int QmuParserCallback::GetArgc() const Q_DECL_NOEXCEPT +inline int QmuParserCallback::GetArgc() const { return m_iArgc; } diff --git a/src/libs/qmuparser/qmuparserdef.h b/src/libs/qmuparser/qmuparserdef.h index a15557d9c..ee8d2b73e 100644 --- a/src/libs/qmuparser/qmuparserdef.h +++ b/src/libs/qmuparser/qmuparserdef.h @@ -46,13 +46,8 @@ */ //#define QMUP_USE_OPENMP -#if defined(_UNICODE) - /** @brief Definition of the basic parser string type. */ - #define QMUP_STRING_TYPE std::wstring -#else - /** @brief Definition of the basic parser string type. */ - #define QMUP_STRING_TYPE std::string -#endif +/** @brief Definition of the basic parser string type. */ +#define QMUP_STRING_TYPE std::wstring namespace qmu { diff --git a/src/libs/qmuparser/qmuparsererror.h b/src/libs/qmuparser/qmuparsererror.h index e12790545..0231a0e79 100644 --- a/src/libs/qmuparser/qmuparsererror.h +++ b/src/libs/qmuparser/qmuparsererror.h @@ -100,7 +100,7 @@ public: QmuParserErrorMsg(); ~QmuParserErrorMsg(); - static const QmuParserErrorMsg& Instance() Q_DECL_NOEXCEPT; + static const QmuParserErrorMsg& Instance(); QString operator[] ( unsigned a_iIdx ) const; private: @@ -111,7 +111,7 @@ private: //--------------------------------------------------------------------------------------------------------------------- // cppcheck-suppress unusedFunction -inline const QmuParserErrorMsg& QmuParserErrorMsg::Instance() Q_DECL_NOEXCEPT +inline const QmuParserErrorMsg& QmuParserErrorMsg::Instance() { return m_Instance; } @@ -141,12 +141,12 @@ public: QmuParserError& operator= ( const QmuParserError &a_Obj ); virtual ~QmuParserError() noexcept (true){} - void SetFormula ( const QString &a_strFormula ) Q_DECL_NOEXCEPT; - const QString& GetExpr() const Q_DECL_NOEXCEPT; - const QString& GetMsg() const Q_DECL_NOEXCEPT; - int GetPos() const Q_DECL_NOEXCEPT; - const QString& GetToken() const Q_DECL_NOEXCEPT; - EErrorCodes GetCode() const Q_DECL_NOEXCEPT; + void SetFormula ( const QString &a_strFormula ); + const QString& GetExpr() const; + const QString& GetMsg() const; + int GetPos() const; + const QString& GetToken() const; + EErrorCodes GetCode() const; virtual void raise() const; virtual QmuParserError *clone() const; private: @@ -186,7 +186,7 @@ inline QmuParserError *QmuParserError::clone() const /** * @brief Set the expression related to this error. */ -inline void QmuParserError::SetFormula ( const QString &a_strFormula ) Q_DECL_NOEXCEPT +inline void QmuParserError::SetFormula ( const QString &a_strFormula ) { m_sExpr = a_strFormula; } @@ -195,7 +195,7 @@ inline void QmuParserError::SetFormula ( const QString &a_strFormula ) Q_DECL_NO /** * @brief gets the expression related tp this error. */ -inline const QString& QmuParserError::GetExpr() const Q_DECL_NOEXCEPT +inline const QString& QmuParserError::GetExpr() const { return m_sExpr; } @@ -204,7 +204,7 @@ inline const QString& QmuParserError::GetExpr() const Q_DECL_NOEXCEPT /** * @brief Returns the message string for this error. */ -inline const QString& QmuParserError::GetMsg() const Q_DECL_NOEXCEPT +inline const QString& QmuParserError::GetMsg() const { return m_sMsg; } @@ -215,7 +215,7 @@ inline const QString& QmuParserError::GetMsg() const Q_DECL_NOEXCEPT * * If the error is not related to a distinct position this will return -1 */ -inline int QmuParserError::GetPos() const Q_DECL_NOEXCEPT +inline int QmuParserError::GetPos() const { return m_iPos; } @@ -224,7 +224,7 @@ inline int QmuParserError::GetPos() const Q_DECL_NOEXCEPT /** * @brief Return string related with this token (if available). */ -inline const QString& QmuParserError::GetToken() const Q_DECL_NOEXCEPT +inline const QString& QmuParserError::GetToken() const { return m_sTok; } @@ -233,7 +233,7 @@ inline const QString& QmuParserError::GetToken() const Q_DECL_NOEXCEPT /** * @brief Return the error code. */ -inline EErrorCodes QmuParserError::GetCode() const Q_DECL_NOEXCEPT +inline EErrorCodes QmuParserError::GetCode() const { return m_iErrc; } diff --git a/src/libs/qmuparser/qmuparsertest.cpp b/src/libs/qmuparser/qmuparsertest.cpp index cce7cdfc2..7664df6a3 100644 --- a/src/libs/qmuparser/qmuparsertest.cpp +++ b/src/libs/qmuparser/qmuparsertest.cpp @@ -69,11 +69,7 @@ int QmuParserTester::IsHexVal ( const QString &a_szExpr, int *a_iPos, qreal *a_f unsigned iVal ( 0 ); -#if defined(_UNICODE) std::wstring a_szExprStd = a_szExpr.mid(2).toStdWString(); -#else - std::string a_szExprStd = a_szExpr.mid(2).toStdString(); -#endif // New code based on streams for UNICODE compliance: stringstream_type::pos_type nPos(0); diff --git a/src/libs/qmuparser/qmuparsertoken.h b/src/libs/qmuparser/qmuparsertoken.h index 5dd720766..7241abeef 100644 --- a/src/libs/qmuparser/qmuparsertoken.h +++ b/src/libs/qmuparser/qmuparsertoken.h @@ -270,7 +270,7 @@ public: * @return #m_iType * @throw nothrow */ - ECmdCode GetCode() const Q_DECL_NOEXCEPT + ECmdCode GetCode() const { if ( m_pCallback.get() ) { @@ -442,7 +442,7 @@ public: * @throw nothrow * @sa m_strTok */ - const TString& GetAsString() const Q_DECL_NOEXCEPT + const TString& GetAsString() const { return m_strTok; } diff --git a/src/libs/qmuparser/qmuparsertokenreader.cpp b/src/libs/qmuparser/qmuparsertokenreader.cpp index e2d869c9b..d21bc93be 100644 --- a/src/libs/qmuparser/qmuparsertokenreader.cpp +++ b/src/libs/qmuparser/qmuparsertokenreader.cpp @@ -43,7 +43,7 @@ class QmuParserBase; * @sa Assign * @throw nothrow */ -QmuParserTokenReader::QmuParserTokenReader ( const QmuParserTokenReader &a_Reader ) Q_DECL_NOEXCEPT +QmuParserTokenReader::QmuParserTokenReader ( const QmuParserTokenReader &a_Reader ) :m_pParser( a_Reader.m_pParser ), m_strFormula( a_Reader.m_strFormula ), m_iPos( a_Reader.m_iPos ), m_iSynFlags( a_Reader.m_iSynFlags ), m_bIgnoreUndefVar( a_Reader.m_bIgnoreUndefVar ), m_pFunDef( a_Reader.m_pFunDef ), m_pPostOprtDef( a_Reader.m_pPostOprtDef ), @@ -63,7 +63,7 @@ QmuParserTokenReader::QmuParserTokenReader ( const QmuParserTokenReader &a_Reade * @param a_Reader Object to copy to this token reader. * @throw nothrow */ -QmuParserTokenReader& QmuParserTokenReader::operator= ( const QmuParserTokenReader &a_Reader ) Q_DECL_NOEXCEPT +QmuParserTokenReader& QmuParserTokenReader::operator= ( const QmuParserTokenReader &a_Reader ) { if ( &a_Reader != this ) { @@ -80,7 +80,7 @@ QmuParserTokenReader& QmuParserTokenReader::operator= ( const QmuParserTokenRead * @param a_Reader Object from which the state should be copied. * @throw nothrow */ -void QmuParserTokenReader::Assign ( const QmuParserTokenReader &a_Reader ) Q_DECL_NOEXCEPT +void QmuParserTokenReader::Assign ( const QmuParserTokenReader &a_Reader ) { m_pParser = a_Reader.m_pParser; m_strFormula = a_Reader.m_strFormula; @@ -116,7 +116,7 @@ void QmuParserTokenReader::Assign ( const QmuParserTokenReader &a_Reader ) Q_DEC * @post #m_pParser==a_pParser * @param a_pParent Parent parser object of the token reader. */ -QmuParserTokenReader::QmuParserTokenReader ( QmuParserBase *a_pParent ) Q_DECL_NOEXCEPT +QmuParserTokenReader::QmuParserTokenReader ( QmuParserBase *a_pParent ) : m_pParser ( a_pParent ), m_strFormula(), m_iPos ( 0 ), m_iSynFlags ( 0 ), m_bIgnoreUndefVar ( false ), m_pFunDef ( nullptr ), m_pPostOprtDef ( nullptr ), m_pInfixOprtDef ( nullptr ), m_pOprtDef ( nullptr ), m_pConstDef ( nullptr ), m_pStrVarDef ( nullptr ), m_pVarDef ( nullptr ), m_pFactory ( nullptr ), @@ -136,7 +136,7 @@ QmuParserTokenReader::QmuParserTokenReader ( QmuParserBase *a_pParent ) Q_DECL_N * @return A new QParserTokenReader object. * @throw nothrow */ -QmuParserTokenReader* QmuParserTokenReader::Clone ( QmuParserBase *a_pParent ) const Q_DECL_NOEXCEPT +QmuParserTokenReader* QmuParserTokenReader::Clone ( QmuParserBase *a_pParent ) const { std::unique_ptr ptr ( new QmuParserTokenReader ( *this ) ); ptr->SetParent ( a_pParent ); @@ -144,7 +144,7 @@ QmuParserTokenReader* QmuParserTokenReader::Clone ( QmuParserBase *a_pParent ) c } //--------------------------------------------------------------------------------------------------------------------- -QmuParserTokenReader::token_type& QmuParserTokenReader::SaveBeforeReturn ( const token_type &tok ) Q_DECL_NOEXCEPT +QmuParserTokenReader::token_type& QmuParserTokenReader::SaveBeforeReturn ( const token_type &tok ) { m_lastTok = tok; return m_lastTok; @@ -163,7 +163,7 @@ void QmuParserTokenReader::AddValIdent ( identfun_type a_pCallback ) } //--------------------------------------------------------------------------------------------------------------------- -void QmuParserTokenReader::SetVarCreator ( facfun_type a_pFactory, void *pUserData ) Q_DECL_NOEXCEPT +void QmuParserTokenReader::SetVarCreator ( facfun_type a_pFactory, void *pUserData ) { m_pFactory = a_pFactory; m_pFactoryData = pUserData; @@ -176,7 +176,7 @@ void QmuParserTokenReader::SetVarCreator ( facfun_type a_pFactory, void *pUserDa * Sets the formula position index to zero and set Syntax flags to default for initial formula parsing. * @pre [assert] triggered if a_szFormula==0 */ -void QmuParserTokenReader::SetFormula ( const QString &a_strFormula ) Q_DECL_NOEXCEPT +void QmuParserTokenReader::SetFormula ( const QString &a_strFormula ) { m_strFormula = a_strFormula; ReInit(); @@ -191,7 +191,7 @@ void QmuParserTokenReader::SetFormula ( const QString &a_strFormula ) Q_DECL_NOE * @throw nothrow * @sa ESynCodes */ -void QmuParserTokenReader::ReInit() Q_DECL_NOEXCEPT +void QmuParserTokenReader::ReInit() { m_iPos = 0; m_iSynFlags = sfSTART_OF_LINE; @@ -289,7 +289,7 @@ QmuParserTokenReader::token_type QmuParserTokenReader::ReadNextToken() } //--------------------------------------------------------------------------------------------------------------------- -void QmuParserTokenReader::SetParent ( QmuParserBase *a_pParent ) Q_DECL_NOEXCEPT +void QmuParserTokenReader::SetParent ( QmuParserBase *a_pParent ) { m_pParser = a_pParent; m_pFunDef = &a_pParent->m_FunDef; @@ -311,15 +311,10 @@ void QmuParserTokenReader::SetParent ( QmuParserBase *a_pParent ) Q_DECL_NOEXCEP * @return The Position of the first character not listed in a_szCharSet. * @throw nothrow */ -int QmuParserTokenReader::ExtractToken ( const QString &a_szCharSet, QString &a_sTok, int a_iPos ) const Q_DECL_NOEXCEPT +int QmuParserTokenReader::ExtractToken ( const QString &a_szCharSet, QString &a_sTok, int a_iPos ) const { -#if defined(_UNICODE) const std::wstring m_strFormulaStd = m_strFormula.toStdWString(); const std::wstring a_szCharSetStd = a_szCharSet.toStdWString(); -#else - const std::string m_strFormulaStd = m_strFormula.toStdString(); - const std::string a_szCharSetStd = a_szCharSet.toStdString(); -#endif int iEnd = static_cast(m_strFormulaStd.find_first_not_of ( a_szCharSetStd, a_iPos )); @@ -331,13 +326,8 @@ int QmuParserTokenReader::ExtractToken ( const QString &a_szCharSet, QString &a_ // Assign token string if there was something found if ( a_iPos != iEnd ) { -#if defined(_UNICODE) a_sTok = QString().fromStdWString ( std::wstring ( m_strFormulaStd.begin() + a_iPos, m_strFormulaStd.begin() + iEnd ) ); -#else - a_sTok = QString().fromStdString ( std::string ( m_strFormulaStd.begin() + a_iPos, - m_strFormulaStd.begin() + iEnd ) ); -#endif } return iEnd; @@ -353,13 +343,9 @@ int QmuParserTokenReader::ExtractToken ( const QString &a_szCharSet, QString &a_ */ int QmuParserTokenReader::ExtractOperatorToken ( QString &a_sTok, int a_iPos ) const { -#if defined(_UNICODE) const std::wstring m_strFormulaStd = m_strFormula.toStdWString(); const std::wstring oprtCharsStd = m_pParser->ValidInfixOprtChars().toStdWString(); -#else - const std::string m_strFormulaStd = m_strFormula.toStdString(); - const std::string oprtCharsStd = m_pParser->ValidInfixOprtChars().toStdString(); -#endif + int iEnd = static_cast( m_strFormulaStd.find_first_not_of ( oprtCharsStd, a_iPos ) ); if ( iEnd == static_cast( string_type::npos ) ) { @@ -369,13 +355,8 @@ int QmuParserTokenReader::ExtractOperatorToken ( QString &a_sTok, int a_iPos ) c // Assign token string if there was something found if ( a_iPos != iEnd ) { -#if defined(_UNICODE) a_sTok = QString().fromStdWString ( string_type ( m_strFormulaStd.begin() + a_iPos, m_strFormulaStd.begin() + iEnd ) ); -#else - a_sTok = QString().fromStdString ( string_type ( m_strFormulaStd.begin() + a_iPos, - m_strFormulaStd.begin() + iEnd ) ); -#endif return iEnd; } else @@ -549,12 +530,6 @@ bool QmuParserTokenReader::IsArgSep ( token_type &a_Tok ) */ bool QmuParserTokenReader::IsEOF ( token_type &a_Tok ) { -//#if defined(_UNICODE) -// const char_type* szFormula = m_strFormula.toStdWString().c_str(); -//#else -// const char_type* szFormula = m_strFormula.toStdString().c_str(); -//#endif - // check for EOF if ( m_strFormula.data()[m_iPos] == false /*|| szFormula[m_iPos] == '\n'*/ ) { @@ -848,8 +823,7 @@ bool QmuParserTokenReader::IsValTok ( token_type &a_Tok ) if ( ( *item ) ( m_strFormula.mid ( m_iPos ), &m_iPos, &fVal ) == 1 ) { // 2013-11-27 Issue 2: https://code.google.com/p/muparser/issues/detail?id=2 - //strTok = m_strFormula.mid ( iStart, m_iPos-iStart ); - strTok = m_strFormula.mid ( iStart, m_iPos ); + strTok = m_strFormula.mid ( iStart, m_iPos-iStart ); if ( m_iSynFlags & noVAL ) { Error ( ecUNEXPECTED_VAL, m_iPos - strTok.length(), strTok ); @@ -955,7 +929,7 @@ bool QmuParserTokenReader::IsStrVarTok ( token_type &a_Tok ) * @return true if a variable token has been found. * @throw nothrow */ -bool QmuParserTokenReader::IsUndefVarTok ( token_type &a_Tok ) Q_DECL_NOEXCEPT +bool QmuParserTokenReader::IsUndefVarTok ( token_type &a_Tok ) { QString strTok; int iEnd ( ExtractToken ( m_pParser->ValidNameChars(), strTok, m_iPos ) ); diff --git a/src/libs/qmuparser/qmuparsertokenreader.h b/src/libs/qmuparser/qmuparsertokenreader.h index b7ab1a7cf..43d08106e 100644 --- a/src/libs/qmuparser/qmuparsertokenreader.h +++ b/src/libs/qmuparser/qmuparsertokenreader.h @@ -45,19 +45,19 @@ class QmuParserTokenReader private: typedef QmuParserToken token_type; public: - QmuParserTokenReader(QmuParserBase *a_pParent) Q_DECL_NOEXCEPT; - QmuParserTokenReader* Clone(QmuParserBase *a_pParent) const Q_DECL_NOEXCEPT; + QmuParserTokenReader(QmuParserBase *a_pParent); + QmuParserTokenReader* Clone(QmuParserBase *a_pParent) const; void AddValIdent(identfun_type a_pCallback); - void SetVarCreator(facfun_type a_pFactory, void *pUserData) Q_DECL_NOEXCEPT; - void SetFormula(const QString &a_strFormula) Q_DECL_NOEXCEPT; - void SetArgSep(char_type cArgSep) Q_DECL_NOEXCEPT; - int GetPos() const Q_DECL_NOEXCEPT; - const QString& GetExpr() const Q_DECL_NOEXCEPT; - varmap_type& GetUsedVar() Q_DECL_NOEXCEPT; - QChar GetArgSep() const Q_DECL_NOEXCEPT; - void IgnoreUndefVar(bool bIgnore) Q_DECL_NOEXCEPT; - void ReInit() Q_DECL_NOEXCEPT; + void SetVarCreator(facfun_type a_pFactory, void *pUserData); + void SetFormula(const QString &a_strFormula); + void SetArgSep(char_type cArgSep); + int GetPos() const; + const QString& GetExpr() const; + varmap_type& GetUsedVar(); + QChar GetArgSep() const; + void IgnoreUndefVar(bool bIgnore); + void ReInit(); token_type ReadNextToken(); private: @@ -88,12 +88,12 @@ private: noANY = ~0 ///< All of he above flags set }; - QmuParserTokenReader(const QmuParserTokenReader &a_Reader) Q_DECL_NOEXCEPT; - QmuParserTokenReader& operator=(const QmuParserTokenReader &a_Reader) Q_DECL_NOEXCEPT; - void Assign(const QmuParserTokenReader &a_Reader) Q_DECL_NOEXCEPT; + QmuParserTokenReader(const QmuParserTokenReader &a_Reader); + QmuParserTokenReader& operator=(const QmuParserTokenReader &a_Reader); + void Assign(const QmuParserTokenReader &a_Reader); - void SetParent(QmuParserBase *a_pParent) Q_DECL_NOEXCEPT; - int ExtractToken(const QString &a_szCharSet, QString &a_strTok, int a_iPos) const Q_DECL_NOEXCEPT; + void SetParent(QmuParserBase *a_pParent); + int ExtractToken(const QString &a_szCharSet, QString &a_strTok, int a_iPos) const; int ExtractOperatorToken(QString &a_sTok, int a_iPos) const; bool IsBuiltIn(token_type &a_Tok); @@ -106,11 +106,11 @@ private: bool IsValTok(token_type &a_Tok); bool IsVarTok(token_type &a_Tok); bool IsStrVarTok(token_type &a_Tok); - bool IsUndefVarTok(token_type &a_Tok) Q_DECL_NOEXCEPT; + bool IsUndefVarTok(token_type &a_Tok); bool IsString(token_type &a_Tok); void Q_NORETURN Error(EErrorCodes a_iErrc, int a_iPos = -1, const QString &a_sTok = QString() ) const; - token_type& SaveBeforeReturn(const token_type &tok) Q_DECL_NOEXCEPT; + token_type& SaveBeforeReturn(const token_type &tok); QmuParserBase *m_pParser; QString m_strFormula; @@ -142,7 +142,7 @@ private: * @return #m_iPos * @throw nothrow */ -inline int QmuParserTokenReader::GetPos() const Q_DECL_NOEXCEPT +inline int QmuParserTokenReader::GetPos() const { return m_iPos; } @@ -154,7 +154,7 @@ inline int QmuParserTokenReader::GetPos() const Q_DECL_NOEXCEPT * @return #m_strFormula * @throw nothrow */ -inline const QString& QmuParserTokenReader::GetExpr() const Q_DECL_NOEXCEPT +inline const QString& QmuParserTokenReader::GetExpr() const { return m_strFormula; } @@ -163,7 +163,7 @@ inline const QString& QmuParserTokenReader::GetExpr() const Q_DECL_NOEXCEPT /** * @brief Return a map containing the used variables only. */ -inline varmap_type& QmuParserTokenReader::GetUsedVar() Q_DECL_NOEXCEPT +inline varmap_type& QmuParserTokenReader::GetUsedVar() { return m_UsedVar; } @@ -177,19 +177,19 @@ inline varmap_type& QmuParserTokenReader::GetUsedVar() Q_DECL_NOEXCEPT * Those function should return a complete list of variables including * those the are not defined by the time of it's call. */ -inline void QmuParserTokenReader::IgnoreUndefVar ( bool bIgnore ) Q_DECL_NOEXCEPT +inline void QmuParserTokenReader::IgnoreUndefVar ( bool bIgnore ) { m_bIgnoreUndefVar = bIgnore; } //--------------------------------------------------------------------------------------------------------------------- -inline void QmuParserTokenReader::SetArgSep ( char_type cArgSep ) Q_DECL_NOEXCEPT +inline void QmuParserTokenReader::SetArgSep ( char_type cArgSep ) { m_cArgSep = cArgSep; } //--------------------------------------------------------------------------------------------------------------------- -inline QChar QmuParserTokenReader::GetArgSep() const Q_DECL_NOEXCEPT +inline QChar QmuParserTokenReader::GetArgSep() const { return m_cArgSep; } From b94ab9bda646060214389cb48d9f26e85595c4b7 Mon Sep 17 00:00:00 2001 From: dismine Date: Fri, 23 May 2014 10:14:21 +0300 Subject: [PATCH 25/32] Initialization translation for postfix operators. --HG-- branch : feature --- src/app/widgets/vapplication.cpp | 13 ++++++++++++- src/app/widgets/vapplication.h | 3 ++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/app/widgets/vapplication.cpp b/src/app/widgets/vapplication.cpp index abf18de97..973cb8055 100644 --- a/src/app/widgets/vapplication.cpp +++ b/src/app/widgets/vapplication.cpp @@ -46,12 +46,14 @@ VApplication::VApplication(int &argc, char **argv) : QApplication(argc, argv), _patternUnit(Valentina::Cm), _patternType(Pattern::Individual), _widthMainLine(DefWidth), _widthHairLine(DefWidth/3.0), measurements(QMap()), guiTexts(QMap()), descriptions(QMap()), - variables(QMap()), functions(QMap()) + variables(QMap()), functions(QMap()), + postfixOperators(QMap()) { InitLineWidth(); InitMeasurements(); InitVariables(); InitFunctions(); + InitPostfixOperators(); } //--------------------------------------------------------------------------------------------------------------------- @@ -630,6 +632,15 @@ void VApplication::InitFunctions() functions.insert(avg_F, VTranslation::translate(context, avg_F, QStringLiteral("mean value of all arguments"))); } +void VApplication::InitPostfixOperators() +{ + const QString context = QStringLiteral("PostfixOperators"); + + postfixOperators.insert(cm_Oprt, VTranslation::translate(context, cm_Oprt, QStringLiteral("centimeter"))); + postfixOperators.insert(mm_Oprt, VTranslation::translate(context, mm_Oprt, QStringLiteral("millimeter"))); + postfixOperators.insert(in_Oprt, VTranslation::translate(context, in_Oprt, QStringLiteral("inch"))); +} + //--------------------------------------------------------------------------------------------------------------------- void VApplication::setPatternUnit(const Valentina::Units &patternUnit) { diff --git a/src/app/widgets/vapplication.h b/src/app/widgets/vapplication.h index 63d2e763b..cfcf73487 100644 --- a/src/app/widgets/vapplication.h +++ b/src/app/widgets/vapplication.h @@ -87,12 +87,13 @@ private: QMap descriptions; QMap variables; QMap functions; + QMap postfixOperators; void InitLineWidth(); void InitMeasurements(); void InitMeasurement(const QString &measurement, const QString &guiText, const QString & desc); void InitVariables(); void InitFunctions(); - + void InitPostfixOperators(); }; inline Valentina::Units VApplication::patternUnit() const From 0f4cd08eedd2c36722a19114593e39bb2bc21811 Mon Sep 17 00:00:00 2001 From: dismine Date: Fri, 23 May 2014 21:11:13 +0300 Subject: [PATCH 26/32] Translation formula. --HG-- branch : feature --- src/app/container/calculator.cpp | 60 ++++- src/app/container/calculator.h | 4 +- src/app/dialogs/tools/dialogalongline.cpp | 2 +- src/app/dialogs/tools/dialogalongline.h | 2 +- src/app/dialogs/tools/dialogbisector.cpp | 2 +- src/app/dialogs/tools/dialogbisector.h | 2 +- src/app/dialogs/tools/dialogcutarc.cpp | 2 +- src/app/dialogs/tools/dialogcutarc.h | 2 +- src/app/dialogs/tools/dialogcutspline.cpp | 2 +- src/app/dialogs/tools/dialogcutspline.h | 2 +- src/app/dialogs/tools/dialogcutsplinepath.cpp | 2 +- src/app/dialogs/tools/dialogcutsplinepath.h | 2 +- src/app/dialogs/tools/dialogendline.cpp | 2 +- src/app/dialogs/tools/dialogendline.h | 2 +- src/app/dialogs/tools/dialognormal.cpp | 2 +- src/app/dialogs/tools/dialognormal.h | 2 +- src/app/dialogs/tools/dialogshoulderpoint.cpp | 2 +- src/app/dialogs/tools/dialogshoulderpoint.h | 2 +- src/app/dialogs/tools/dialogtool.cpp | 5 +- src/app/widgets/vapplication.cpp | 255 ++++++++++++++++++ src/app/widgets/vapplication.h | 8 + 21 files changed, 331 insertions(+), 33 deletions(-) diff --git a/src/app/container/calculator.cpp b/src/app/container/calculator.cpp index 16bdea155..350fb5b1d 100644 --- a/src/app/container/calculator.cpp +++ b/src/app/container/calculator.cpp @@ -40,20 +40,7 @@ int Calculator::iVal = -1; Calculator::Calculator(const VContainer *data) :QmuParser(), vVarVal(nullptr) { - //String with all unique symbols for supported alpabets. - // See script alphabets.py for generation and more information. - const QString symbols = QStringLiteral("ցЀĆЈVӧĎАғΕĖӅИқΝĞơРңњΥĦШҫ̆جگĮаҳѕεشԶиһνԾрυلՆӝшËՎҔPÓՖXӛӟŞӣզhëծpóӞնxßվāŁЃֆĉЋCŬđ" - "ҐГΒęҘЛΚŘġҠУGاհЫدԱҰгβطԹõлκKՁÀуςهՉÈыvیՑÐSOřӘћաőcӐթèkàѓżűðsķչøӥӔĀփїІĈЎґĐΗЖҙĘȚ" - "ΟОҡĠآΧЦتЮұİزηжԸغοоÁՀقχцÉՈيюÑՐђӋіәťӆўáŠĺѐfөըnñŰӤӨӹոľЁրăЉŭċБӸēłΔҖЙŤěΜӜDСձģΤӰ" - "ЩīņحҮбưԳصδHйԻŇμӲӴсՃمτƠщՋєLQŹՓŕÖYśÞaգĽæiŽիӓîqճöyջþĂօЄӦĊЌΑĒДҗјΙȘĚМΡéĵĢФūӚΩبĪ" - "ЬүќαذԲдҷιظԺмρՂфÇωوՊьÏՒTŚĻJբdçժlïӪղtպӫAւąЇčŃЏĕӯЗΖEțŮĝПΞأĥĹЧΦثÆӳЯIسŲԵзζԽпξكՅ" - "ÄчφNMՍӌяӢՕÔWÎŝÜџёźեägխoӒյôwĶBžսüЂĄև̈ЊČƏљΓВҕĔӮΛКĜΣТҥĤکЪƯخγвŅԴŪضλкԼĴσтÅՄنъÍՌR" - "ӕՔZÝŜbåդﻩjíլļrӵմzýռپêЅքćچЍďӱҒЕůėژșΘØҚНğńءΠFҢХħΨҪЭųįҶرҲеԷňعθҺнԿفπÂхՇψÊэšՏÒU" - "əÚѝŻşҤӑâeէŐımկòuշÕúտŔ"); - - // Defining identifier character sets - DefineNameChars(QStringLiteral("0123456789_") + symbols); - DefineOprtChars(symbols + QStringLiteral("+-*^/?<>=#!$%&|~'_")); + InitCharacterSets(); // Add variables InitVariables(data); @@ -62,8 +49,35 @@ Calculator::Calculator(const VContainer *data) DefinePostfixOprt(cm_Oprt, CmUnit); DefinePostfixOprt(mm_Oprt, MmUnit); DefinePostfixOprt(in_Oprt, InchUnit); +} +//--------------------------------------------------------------------------------------------------------------------- +Calculator::Calculator(const QString &formula, bool fromUser) + :QmuParser(), vVarVal(nullptr) +{ + InitCharacterSets(); SetVarFactory(AddVariable, this); + + // Add unary operators + if(fromUser) + { + DefinePostfixOprt(qApp->PostfixOperator(cm_Oprt), CmUnit); + DefinePostfixOprt(qApp->PostfixOperator(mm_Oprt), MmUnit); + DefinePostfixOprt(qApp->PostfixOperator(in_Oprt), InchUnit); + + QLocale loc = QLocale(); + SetDecSep(loc.decimalPoint().toLatin1()); + SetThousandsSep(loc.groupSeparator().toLatin1()); + SetArgSep(';'); + } + else + { + DefinePostfixOprt(cm_Oprt, CmUnit); + DefinePostfixOprt(mm_Oprt, MmUnit); + DefinePostfixOprt(in_Oprt, InchUnit); + } + + SetExpr(formula); } Calculator::~Calculator() @@ -210,6 +224,24 @@ void Calculator::InitVariables(const VContainer *data) } } +void Calculator::InitCharacterSets() +{ + //String with all unique symbols for supported alpabets. + // See script alphabets.py for generation and more information. + const QString symbols = QStringLiteral("ցЀĆЈVӧĎАғΕĖӅИқΝĞơРңњΥĦШҫ̆جگĮаҳѕεشԶиһνԾрυلՆӝшËՎҔPÓՖXӛӟŞӣզhëծpóӞնxßվāŁЃֆĉЋCŬđ" + "ҐГΒęҘЛΚŘġҠУGاհЫدԱҰгβطԹõлκKՁÀуςهՉÈыvیՑÐSOřӘћաőcӐթèkàѓżűðsķչøӥӔĀփїІĈЎґĐΗЖҙĘȚ" + "ΟОҡĠآΧЦتЮұİزηжԸغοоÁՀقχцÉՈيюÑՐђӋіәťӆўáŠĺѐfөըnñŰӤӨӹոľЁրăЉŭċБӸēłΔҖЙŤěΜӜDСձģΤӰ" + "ЩīņحҮбưԳصδHйԻŇμӲӴсՃمτƠщՋєLQŹՓŕÖYśÞaգĽæiŽիӓîqճöyջþĂօЄӦĊЌΑĒДҗјΙȘĚМΡéĵĢФūӚΩبĪ" + "ЬүќαذԲдҷιظԺмρՂфÇωوՊьÏՒTŚĻJբdçժlïӪղtպӫAւąЇčŃЏĕӯЗΖEțŮĝПΞأĥĹЧΦثÆӳЯIسŲԵзζԽпξكՅ" + "ÄчφNMՍӌяӢՕÔWÎŝÜџёźեägխoӒյôwĶBžսüЂĄև̈ЊČƏљΓВҕĔӮΛКĜΣТҥĤکЪƯخγвŅԴŪضλкԼĴσтÅՄنъÍՌR" + "ӕՔZÝŜbåդﻩjíլļrӵմzýռپêЅքćچЍďӱҒЕůėژșΘØҚНğńءΠFҢХħΨҪЭųįҶرҲеԷňعθҺнԿفπÂхՇψÊэšՏÒU" + "əÚѝŻşҤӑâeէŐımկòuշÕúտŔ"); + + // Defining identifier character sets + DefineNameChars(QStringLiteral("0123456789_") + symbols); + DefineOprtChars(symbols + QStringLiteral("+-*^/?<>=#!$%&|~'_")); +} + //--------------------------------------------------------------------------------------------------------------------- qreal Calculator::CmUnit(qreal val) { diff --git a/src/app/container/calculator.h b/src/app/container/calculator.h index ddea36ab2..2961f6498 100644 --- a/src/app/container/calculator.h +++ b/src/app/container/calculator.h @@ -37,7 +37,8 @@ using namespace qmu; class Calculator:public QmuParser { public: - explicit Calculator(const VContainer *data); + Calculator(const VContainer *data); + Calculator(const QString &formula, bool fromUser = true); ~Calculator(); qreal EvalFormula(const QString &formula); private: @@ -45,6 +46,7 @@ private: qreal *vVarVal; static int iVal; void InitVariables(const VContainer *data); + void InitCharacterSets(); static qreal CmUnit(qreal val); static qreal MmUnit(qreal val); static qreal InchUnit(qreal val); diff --git a/src/app/dialogs/tools/dialogalongline.cpp b/src/app/dialogs/tools/dialogalongline.cpp index c6f643d9d..3d7b1ec2b 100644 --- a/src/app/dialogs/tools/dialogalongline.cpp +++ b/src/app/dialogs/tools/dialogalongline.cpp @@ -119,7 +119,7 @@ void DialogAlongLine::setFirstPointId(const quint32 &value, const quint32 &id) //--------------------------------------------------------------------------------------------------------------------- void DialogAlongLine::setFormula(const QString &value) { - formula = value; + formula = qApp->FormulaToUser(value); ui->lineEditFormula->setText(formula); } diff --git a/src/app/dialogs/tools/dialogalongline.h b/src/app/dialogs/tools/dialogalongline.h index 947c31793..2df9c634d 100644 --- a/src/app/dialogs/tools/dialogalongline.h +++ b/src/app/dialogs/tools/dialogalongline.h @@ -157,7 +157,7 @@ inline QString DialogAlongLine::getTypeLine() const inline QString DialogAlongLine::getFormula() const { - return formula; + return qApp->FormulaFromUser(formula); } inline quint32 DialogAlongLine::getFirstPointId() const diff --git a/src/app/dialogs/tools/dialogbisector.cpp b/src/app/dialogs/tools/dialogbisector.cpp index 35050a844..70e939376 100644 --- a/src/app/dialogs/tools/dialogbisector.cpp +++ b/src/app/dialogs/tools/dialogbisector.cpp @@ -128,7 +128,7 @@ void DialogBisector::setTypeLine(const QString &value) //--------------------------------------------------------------------------------------------------------------------- void DialogBisector::setFormula(const QString &value) { - formula = value; + formula = qApp->FormulaToUser(value); ui->lineEditFormula->setText(formula); } diff --git a/src/app/dialogs/tools/dialogbisector.h b/src/app/dialogs/tools/dialogbisector.h index 89fab7a10..3ec065bf5 100644 --- a/src/app/dialogs/tools/dialogbisector.h +++ b/src/app/dialogs/tools/dialogbisector.h @@ -167,7 +167,7 @@ inline QString DialogBisector::getTypeLine() const inline QString DialogBisector::getFormula() const { - return formula; + return qApp->FormulaFromUser(formula); } inline quint32 DialogBisector::getFirstPointId() const diff --git a/src/app/dialogs/tools/dialogcutarc.cpp b/src/app/dialogs/tools/dialogcutarc.cpp index 55844e496..5ab00d16e 100644 --- a/src/app/dialogs/tools/dialogcutarc.cpp +++ b/src/app/dialogs/tools/dialogcutarc.cpp @@ -91,7 +91,7 @@ void DialogCutArc::setArcId(const quint32 &value, const quint32 &id) //--------------------------------------------------------------------------------------------------------------------- void DialogCutArc::setFormula(const QString &value) { - formula = value; + formula = qApp->FormulaToUser(value); ui->lineEditFormula->setText(formula); } diff --git a/src/app/dialogs/tools/dialogcutarc.h b/src/app/dialogs/tools/dialogcutarc.h index 8f9d93ed7..e9df0964d 100644 --- a/src/app/dialogs/tools/dialogcutarc.h +++ b/src/app/dialogs/tools/dialogcutarc.h @@ -64,7 +64,7 @@ public: * @brief getFormula return string with formula length * @return formula */ - QString getFormula() const {return formula;} + QString getFormula() const {return qApp->FormulaFromUser(formula);} /** * @brief setFormula set string with formula length * @param value string with formula diff --git a/src/app/dialogs/tools/dialogcutspline.cpp b/src/app/dialogs/tools/dialogcutspline.cpp index 1730ba10e..e51c07ff5 100644 --- a/src/app/dialogs/tools/dialogcutspline.cpp +++ b/src/app/dialogs/tools/dialogcutspline.cpp @@ -70,7 +70,7 @@ void DialogCutSpline::setPointName(const QString &value) //--------------------------------------------------------------------------------------------------------------------- void DialogCutSpline::setFormula(const QString &value) { - formula = value; + formula = qApp->FormulaToUser(value); ui->lineEditFormula->setText(formula); } diff --git a/src/app/dialogs/tools/dialogcutspline.h b/src/app/dialogs/tools/dialogcutspline.h index 35041872f..916bda69f 100644 --- a/src/app/dialogs/tools/dialogcutspline.h +++ b/src/app/dialogs/tools/dialogcutspline.h @@ -119,7 +119,7 @@ inline QString DialogCutSpline::getPointName() const inline QString DialogCutSpline::getFormula() const { - return formula; + return qApp->FormulaFromUser(formula); } inline quint32 DialogCutSpline::getSplineId() const diff --git a/src/app/dialogs/tools/dialogcutsplinepath.cpp b/src/app/dialogs/tools/dialogcutsplinepath.cpp index fee2d8f04..980c7da32 100644 --- a/src/app/dialogs/tools/dialogcutsplinepath.cpp +++ b/src/app/dialogs/tools/dialogcutsplinepath.cpp @@ -71,7 +71,7 @@ void DialogCutSplinePath::setPointName(const QString &value) //--------------------------------------------------------------------------------------------------------------------- void DialogCutSplinePath::setFormula(const QString &value) { - formula = value; + formula = qApp->FormulaToUser(value); ui->lineEditFormula->setText(formula); } diff --git a/src/app/dialogs/tools/dialogcutsplinepath.h b/src/app/dialogs/tools/dialogcutsplinepath.h index 417e85d94..70b84ae67 100644 --- a/src/app/dialogs/tools/dialogcutsplinepath.h +++ b/src/app/dialogs/tools/dialogcutsplinepath.h @@ -119,7 +119,7 @@ inline QString DialogCutSplinePath::getPointName() const inline QString DialogCutSplinePath::getFormula() const { - return formula; + return qApp->FormulaFromUser(formula); } inline quint32 DialogCutSplinePath::getSplinePathId() const diff --git a/src/app/dialogs/tools/dialogendline.cpp b/src/app/dialogs/tools/dialogendline.cpp index b9b1b4279..3095d193e 100644 --- a/src/app/dialogs/tools/dialogendline.cpp +++ b/src/app/dialogs/tools/dialogendline.cpp @@ -89,7 +89,7 @@ void DialogEndLine::setTypeLine(const QString &value) //--------------------------------------------------------------------------------------------------------------------- void DialogEndLine::setFormula(const QString &value) { - formula = value; + formula = qApp->FormulaToUser(value); ui->lineEditFormula->setText(formula); } diff --git a/src/app/dialogs/tools/dialogendline.h b/src/app/dialogs/tools/dialogendline.h index 7dfc82b03..6d1ae791a 100644 --- a/src/app/dialogs/tools/dialogendline.h +++ b/src/app/dialogs/tools/dialogendline.h @@ -152,7 +152,7 @@ inline QString DialogEndLine::getTypeLine() const inline QString DialogEndLine::getFormula() const { - return formula; + return qApp->FormulaFromUser(formula); } inline qreal DialogEndLine::getAngle() const diff --git a/src/app/dialogs/tools/dialognormal.cpp b/src/app/dialogs/tools/dialognormal.cpp index 81ebf9dd3..0c0034970 100644 --- a/src/app/dialogs/tools/dialognormal.cpp +++ b/src/app/dialogs/tools/dialognormal.cpp @@ -128,7 +128,7 @@ void DialogNormal::setAngle(const qreal &value) //--------------------------------------------------------------------------------------------------------------------- void DialogNormal::setFormula(const QString &value) { - formula = value; + formula = qApp->FormulaToUser(value); ui->lineEditFormula->setText(formula); } diff --git a/src/app/dialogs/tools/dialognormal.h b/src/app/dialogs/tools/dialognormal.h index a47aae457..7140dec48 100644 --- a/src/app/dialogs/tools/dialognormal.h +++ b/src/app/dialogs/tools/dialognormal.h @@ -171,7 +171,7 @@ inline QString DialogNormal::getTypeLine() const inline QString DialogNormal::getFormula() const { - return formula; + return qApp->FormulaFromUser(formula); } inline qreal DialogNormal::getAngle() const diff --git a/src/app/dialogs/tools/dialogshoulderpoint.cpp b/src/app/dialogs/tools/dialogshoulderpoint.cpp index 65fb7f069..0b3ee34a3 100644 --- a/src/app/dialogs/tools/dialogshoulderpoint.cpp +++ b/src/app/dialogs/tools/dialogshoulderpoint.cpp @@ -145,7 +145,7 @@ void DialogShoulderPoint::setP1Line(const quint32 &value, const quint32 &id) //--------------------------------------------------------------------------------------------------------------------- void DialogShoulderPoint::setFormula(const QString &value) { - formula = value; + formula = qApp->FormulaToUser(value); ui->lineEditFormula->setText(formula); } diff --git a/src/app/dialogs/tools/dialogshoulderpoint.h b/src/app/dialogs/tools/dialogshoulderpoint.h index 9d9130eb6..42680329f 100644 --- a/src/app/dialogs/tools/dialogshoulderpoint.h +++ b/src/app/dialogs/tools/dialogshoulderpoint.h @@ -172,7 +172,7 @@ inline QString DialogShoulderPoint::getTypeLine() const inline QString DialogShoulderPoint::getFormula() const { - return formula; + return qApp->FormulaFromUser(formula); } inline quint32 DialogShoulderPoint::getP1Line() const diff --git a/src/app/dialogs/tools/dialogtool.cpp b/src/app/dialogs/tools/dialogtool.cpp index 130a6ae4e..a2a4364e4 100644 --- a/src/app/dialogs/tools/dialogtool.cpp +++ b/src/app/dialogs/tools/dialogtool.cpp @@ -332,8 +332,9 @@ void DialogTool::Eval(QLineEdit *edit, bool &flag, QTimer *timer, QLabel *label) { try { + const QString formula = qApp->FormulaFromUser(edit->text()); Calculator cal(data); - const qreal result = cal.EvalFormula(edit->text()); + const qreal result = cal.EvalFormula(formula); label->setText(QString().setNum(result)); flag = true; @@ -345,7 +346,7 @@ void DialogTool::Eval(QLineEdit *edit, bool &flag, QTimer *timer, QLabel *label) label->setText(tr("Error")); flag = false; palette.setColor(labelEditFormula->foregroundRole(), Qt::red); - emit ToolTip(e.GetMsg()); + emit ToolTip("Parser error: "+e.GetMsg()); qDebug() << "\nMath parser error:\n" << "--------------------------------------\n" << "Message: " << e.GetMsg() << "\n" diff --git a/src/app/widgets/vapplication.cpp b/src/app/widgets/vapplication.cpp index 973cb8055..b93e6ec9a 100644 --- a/src/app/widgets/vapplication.cpp +++ b/src/app/widgets/vapplication.cpp @@ -37,6 +37,8 @@ #include #include +#include + const qreal VApplication::PrintDPI = 96.0; #define DefWidth 1.2//mm @@ -632,6 +634,7 @@ void VApplication::InitFunctions() functions.insert(avg_F, VTranslation::translate(context, avg_F, QStringLiteral("mean value of all arguments"))); } +//--------------------------------------------------------------------------------------------------------------------- void VApplication::InitPostfixOperators() { const QString context = QStringLiteral("PostfixOperators"); @@ -641,6 +644,86 @@ void VApplication::InitPostfixOperators() postfixOperators.insert(in_Oprt, VTranslation::translate(context, in_Oprt, QStringLiteral("inch"))); } +//--------------------------------------------------------------------------------------------------------------------- +bool VApplication::Measurements(QString &newFormula, int position, const QString &token) +{ + QMap::const_iterator i = measurements.constBegin(); + while (i != measurements.constEnd()) + { + if(token == i.value().translate()) + { + newFormula.replace(position, token.length(), i.key()); + return true; + } + ++i; + } + return false; +} + +//--------------------------------------------------------------------------------------------------------------------- +bool VApplication::VariablesFromUser(QString &newFormula, int position, const QString &token) +{ + QMap::const_iterator i = variables.constBegin(); + while (i != variables.constEnd()) + { + if(token.indexOf( i.value().translate() ) == 0) + { + newFormula.replace(position, i.value().translate().length(), i.key()); + return true; + } + ++i; + } + return false; +} + +//--------------------------------------------------------------------------------------------------------------------- +bool VApplication::PostfixOperators(QString &newFormula, int position, const QString &token) +{ + QMap::const_iterator i = postfixOperators.constBegin(); + while (i != postfixOperators.constEnd()) + { + if(token == i.value().translate()) + { + newFormula.replace(position, token.length(), i.key()); + return true; + } + ++i; + } + return false; +} + +//--------------------------------------------------------------------------------------------------------------------- +bool VApplication::Functions(QString &newFormula, int position, const QString &token) +{ + QMap::const_iterator i = functions.constBegin(); + while (i != functions.constEnd()) + { + if(token == i.value().translate()) + { + newFormula.replace(position, token.length(), i.key()); + return true; + } + ++i; + } + return false; +} + +//--------------------------------------------------------------------------------------------------------------------- +bool VApplication::VariablesToUser(QString &newFormula, int position, const QString &token) +{ + QMap::const_iterator i = variables.constBegin(); + while (i != variables.constEnd()) + { + if(token.indexOf( i.key() ) == 0) + { + newFormula.replace(position, variables.value(i.key()).translate().length(), i.value().translate()); + return true; + } + ++i; + } + return false; +} + //--------------------------------------------------------------------------------------------------------------------- void VApplication::setPatternUnit(const Valentina::Units &patternUnit) { @@ -677,3 +760,175 @@ QString VApplication::Function(const QString &name) const { return functions.value(name).translate(); } + +//--------------------------------------------------------------------------------------------------------------------- +QString VApplication::PostfixOperator(const QString &name) const +{ + return postfixOperators.value(name).translate(); +} + +//--------------------------------------------------------------------------------------------------------------------- +QString VApplication::FormulaFromUser(const QString &formula) +{ + QString newFormula = formula; + + QMap tokens; + QMap numbers; + try + { + Calculator cal(formula); + tokens = cal.GetTokens(); + numbers = cal.GetNumbers(); + } + catch(qmu::QmuParserError &e) + { + qDebug() << "\nMath parser error:\n" + << "--------------------------------------\n" + << "Message: " << e.GetMsg() << "\n" + << "Expression: " << e.GetExpr() << "\n" + << "--------------------------------------"; + return newFormula; + } + + QMap::const_iterator i = tokens.constBegin(); + while (i != tokens.constEnd()) + { + if(Measurements(newFormula, i.key(), i.value())) + { + ++i; + continue; + } + + if(VariablesFromUser(newFormula, i.key(), i.value())) + { + ++i; + continue; + } + + if(PostfixOperators(newFormula, i.key(), i.value())) + { + ++i; + continue; + } + + if(Functions(newFormula, i.key(), i.value())) + { + ++i; + continue; + } + ++i; + } + + QLocale loc = QLocale(); + if(loc != QLocale(QLocale::C)) + { + QMap::const_iterator i = numbers.constBegin(); + while (i != numbers.constEnd()) + { + QLocale::setDefault(QLocale::C); + bool ok = false; + qreal d = QString(i.value()).toDouble(&ok); + if(ok == false) + { + qDebug()<<"Can't convert to double token"< tokens; + QMap numbers; + try + { + Calculator cal(formula); + tokens = cal.GetTokens(); + numbers = cal.GetNumbers(); + } + catch (qmu::QmuParserError &e) + { + qDebug() << "\nMath parser error:\n" + << "--------------------------------------\n" + << "Message: " << e.GetMsg() << "\n" + << "Expression: " << e.GetExpr() << "\n" + << "--------------------------------------"; + return newFormula; + } + + QMap::const_iterator i = tokens.constBegin(); + while (i != tokens.constEnd()) + { + if (measurements.contains(i.value())) + { + newFormula.replace(i.key(), i.value().length(), measurements.value(i.value()).translate()); + ++i; + continue; + } + + if (functions.contains(i.value())) + { + newFormula.replace(i.key(), i.value().length(), functions.value(i.value()).translate()); + ++i; + continue; + } + + if (postfixOperators.contains(i.value())) + { + newFormula.replace(i.key(), i.value().length(), postfixOperators.value(i.value()).translate()); + ++i; + continue; + } + + if(VariablesToUser(newFormula, i.key(), i.value())) + { + ++i; + continue; + } + + } + + QLocale loc = QLocale(); + if(loc != QLocale::C) + { + QMap::const_iterator i = numbers.constBegin(); + while (i != numbers.constEnd()) + { + bool ok = false; + qreal d = QString(i.value()).toDouble(&ok); + if(ok == false) + { + qDebug()<<"Can't convert to double token"< Date: Sat, 24 May 2014 19:50:40 +0300 Subject: [PATCH 27/32] lupdate doesn't see string in variables. --HG-- branch : feature --- src/app/options.cpp | 4 +- src/app/share/translations/valentina.ts | 4612 ++++++++++++---- src/app/share/translations/valentina_cs.ts | 4637 ++++++++++++++--- src/app/share/translations/valentina_de.ts | 4607 +++++++++++++--- src/app/share/translations/valentina_fr.ts | 4612 ++++++++++++---- src/app/share/translations/valentina_he_IL.ts | 4622 ++++++++++++---- src/app/share/translations/valentina_ru.ts | 4580 +++++++++++++--- src/app/share/translations/valentina_uk.ts | 4573 +++++++++++++--- src/app/widgets/vapplication.cpp | 1412 ++++- src/app/widgets/vapplication.h | 1 - src/app/widgets/vtranslation.cpp | 17 + src/app/widgets/vtranslation.h | 31 + 12 files changed, 27612 insertions(+), 6096 deletions(-) diff --git a/src/app/options.cpp b/src/app/options.cpp index 4ab63ca11..0cd5de7f8 100644 --- a/src/app/options.cpp +++ b/src/app/options.cpp @@ -28,6 +28,7 @@ #include "options.h" +// Keep synchronize all names with initialization in VApllication class. //measurements const QString headGirth_M = QStringLiteral("head_girth"); const QString midNeckGirth_M = QStringLiteral("mid_neck_girth"); @@ -145,7 +146,8 @@ const QString halfGirthChestThird_M = QStringLiteral("half_girth_c const QString halfGirthWaist_M = QStringLiteral("half_girth_waist"); const QString halfGirthHipsConsideringProtrudingAbdomen_M = QStringLiteral("half_girth_hips_considering_protruding_abdomen"); -const QString halfGirthHipsExcludingProtrudingAbdomen_M = QStringLiteral("half_girth_hips_excluding_protruding_abdomen"); +const QString halfGirthHipsExcludingProtrudingAbdomen_M += QStringLiteral("half_girth_hips_excluding_protruding_abdomen"); const QString girthKneeFlexedFeet_M = QStringLiteral("girth_knee_flexed_feet"); const QString neckTransverseDiameter_M = QStringLiteral("neck_transverse_diameter"); const QString frontSlashShoulderHeight_M = QStringLiteral("front_slash_shoulder_height"); diff --git a/src/app/share/translations/valentina.ts b/src/app/share/translations/valentina.ts index a92995f42..d26361dc7 100644 --- a/src/app/share/translations/valentina.ts +++ b/src/app/share/translations/valentina.ts @@ -1,35 +1,35 @@ - + ConfigDialog - + Apply - + &Cancel - + &Ok - + Config Dialog - + Configuration - + Pattern @@ -37,171 +37,224 @@ ConfigurationPage - + Setup user interface language updated and will be used the next time start - + Save - + Auto-save modified pattern - + Interval: - + min - + Language - + GUI language - + Decimal separator parts - + With OS options (.) + + DialogAboutApp + + + About Valentina + + + + + Valentina version + + + + + pushButton_Web_Site + + + + + Contributors + + + + + label_QT_Version + + + + + Based on Qt %2 (32 bit) + + + + + Built on %3 at %4 + + + + + Web site : %1 + + + + + Warning + + + + + Cannot open your default browser + + + DialogAlongLine - + Point along line - + Length - + Formula for the calculation of length of line - + Insert variable into the formula - - + + ... - + Calculate value - + Value of length - + _ - + Point label - + First point - + First point of line - + Second point - + Second point of line - + Type of line - + Show line from first point to this point - + Input data - + Size and height - + Standard table - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Variables - Click twice to insert into formula - + Select second point of line @@ -209,151 +262,151 @@ DialogArc - + Arc - + Radius - + Formula for the calculation of radius of arc - + Insert variable into the formula - - - - - - + + + + + + ... - - - + + + Calculate value - + Value of radius - - - + + + _ - + First angle degree - + First angle of arc counterclockwise - + Insert variable into formula - + Value of first angle - + Second angle degree - + Second angle of arc counterclockwise - + Insert marked variable into formula - + Value of second angle - + Center point - + Select point of center of arc - + Input data - + Size and height - + Standard table - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Angle of lines - + Variables - + Value of angle of line. @@ -361,138 +414,138 @@ DialogBisector - + Bisector - + Length - + Calculation of length of bisector by using the formula - + Insert marked variable into the formula - - + + ... - + Calculate value - + Value of length - + _ - + Point label - + First point - + First point of angle - + Second point - + Second point of angle - + Third point - + Third point of angle - + Type of line - + Show line from second point to this point - + Input data - + Size and height - + Standard table - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Variables - Click twice to insert into formula - + Select second point of angle - + Select third point of angle @@ -500,93 +553,93 @@ DialogCutArc - + Dialog - + Length - + Formula for the calculation of the spline - - + + ... - + Calculate value - + Value of length - + _ - + Arc - + Selected curve - + Point label - + Input data - + Size and height - + Standard table - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Variables - Click twice to insert into formula @@ -594,93 +647,93 @@ DialogCutSpline - + Dialog - + Length - + Formula for the calculation of the spline - - + + ... - + Calculate value - + Value of length - + _ - + Curve - + Selected curve - + Point label - + Input data - + Size and height - + Standard table - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Variables - Click twice to insert into formula @@ -688,93 +741,93 @@ DialogCutSplinePath - + Dialog - + Length - + Formula for the calculation of the curve length - - + + ... - + Calculate value - + Value of length - + _ - + Curve - + Selected curve path - + Point label - + Input data - + Size and height - + Standard table - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Variables - Click twice to insert into formula @@ -782,180 +835,175 @@ DialogDetail - - + + Detail - + Bias X - + Bias Y - + Options - + Name of detail - + Seam allowance - + Width - + Closed - + Delete - + Got wrong scene object. Ignore. - - - Got wrong tools. Ignore. - - DialogEndLine - + Point in the end of a line - + Length - + Formula for calculation of length of line - - - - - - - - - - + + + + + + + + + + ... - + Calculate value - + Value of length - + _ - + Base point - + First point of line - + Point label - + Degree of angle - + Angle of line - + Type of line - + Show line from first point to this point - + Input data - + Size and height - + Standard table - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Variables - Click twice to insert into formula @@ -963,50 +1011,50 @@ DialogHeight - + Dialog - + Point label - + Base point - - - - + + + + First point of line - + Second point of line - + Type of line - + Show line from first point to our point - + Select first point of line - + Select second point of line @@ -1014,242 +1062,407 @@ DialogHistory - + History - - + + Tool - + + + + + Can't create record. + + + + %1 - Base point - - + + %1_%2 - Line from point %1 to point %2 - + %3 - Point along line %1_%2 - + %1 - Point of shoulder - + %3 - normal to line %1_%2 - + %4 - bisector of angle %1_%2_%3 - + %5 - intersection of lines %1_%2 and %3_%4 - + Curve %1_%2 - + Arc with center in point %1 - + Curve point %1 - + %4 - point of contact of arc with the center in point %1 and line %2_%3 - + Point of perpendicular from point %1 to line %2_%3 - + Triangle: axis %1_%2, points %3 and %4 - + %1 - point of intersection %2 and %3 - + %1 - cut arc with center %2 - + %1 - cut curve %2_%3 - + %1 - cut curve path %2 - - - Got wrong tool type. Ignore. - - DialogIncrements - - + + Increments - - Sizes table - - - - - + + Name - - + + The calculated value - - + + Base value - - + + In sizes - - - In growths - - - - - - - + + + Description - - + + + ... - + + + Measurements + + + + + Load another measurements table + + + + + Personal information + + + + + Given name + + + + + Family name + + + + + Birth date + + + + + yyyy-MM-dd + + + + + Sex + + + + + Mail + + + + + + In heights + + + + Lines - + Line - - - + + + Length - + Curves - + Curve - + Arcs - + Arc - - Name_%1 + + + + File error. - - Can't convert toDouble value. + + male + + + + + female + + + + + Measurements use different units than pattern. This pattern required measurements in %1 + + + + + Individual measurements (*.vit) + + + + + + Open file + + + + + + Wrong units. + + + + + Standard measurements (*.vst) + + + + + Name_%1 + + + + + DialogIndividualMeasurements + + + Dialog + + + + + Pattern piece name + + + + + Exist measurements + + + + + + Path: + + + + + + ... + + + + + New measurements + + + + + Units: + + + + + Could not create measurements file + + + + + Please try again or change file + + + + + + File error. + + + + + + Individual measurements (*.vit) + + + + + Open file + + + + + Where save measurements? + + + + + centimeter + + + + + inch DialogLine - + Line - + First point - + Second point - + Type of line - + Show line from first point to this point - + Select second point @@ -1257,291 +1470,347 @@ DialogLineIntersect - + Intersection of lines - + Point label - + First line - - + + First point - - + + Second point - + Second line - + Select second point of first line - + Select first point of second line - + Select second point of second line + + DialogMeasurements + + + Measurements + + + + + <html><head/><body><p><span style=" font-size:18pt;">Please, choose pattern type.</span></p></body></html> + + + + + Graduation + + + + + Use for creation pattern standard measurement table + + + + + Individual + + + + + Use for creation pattern individual measurements + + + DialogNormal - + Normal - + Length - + Formula for calculation of length of normal - + Insert variable into formula - - - - - - - - - - + + + + + + + + + + ... - + Calculate value - + Value of length - + _ - + Point label - + First point - + Second point - + Additional angle degrees - + Type of line - + Show line from first point to this point - + Input data - + Size and height - + Standard table - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Variables - Click twice to insert into formula - + Select second point of line + + DialogPatternProperties + + + Pattern properties + + + + + Author name + + + + + Pattern description + + + + + For technical notes. + + + DialogPointOfContact - + Point of contact - + Radius - + Formula for calculation of radius of arc - + Insert variable into formula - - + + ... - + Calculate value - + Value of radius - + _ - + Point label - + Center of arc - - + + Select point of center of arc - + Top of the line - + End of the line - + Input data - + Size and height - + Standard table - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Variables - Click twice to insert into formula. - + Select second point of line @@ -1549,37 +1818,37 @@ DialogPointOfIntersection - + Dialog - + Point label - + vertical point - + First point of angle - + horizontal point - + Second point of angle - + Select point horizontally @@ -1587,115 +1856,115 @@ DialogShoulderPoint - - + + Point of shoulder - + Length - + Formula for calculation of length of line - + Insert variable into formula - - + + ... - + Calculate value - + Value of length - + _ - + Point label - + First point - + Second point - + Type of line - + Show line from first point to our point - + Input data - + Size and height - + Standard table - + Increments - - + + Length of lines - + Length of curves - + Variables - Click twice to insert into formula - + Select second point of line - + Select point of shoulder @@ -1703,32 +1972,32 @@ DialogSinglePoint - + Single point - + Coordinates on the sheet - + Coordinates - + Y coordinate - + X coordinate - + Point label @@ -1736,47 +2005,47 @@ DialogSpline - + Curve - + First point - + Length ratio of the first control point - + The angle of the first control point - + Second point - + Length ratio of the second control point - + The angle of the second control point - + Coefficient of curvature of the curve - + Select last point of curve @@ -1784,115 +2053,133 @@ DialogSplinePath - + Curve path - + Point of curve - + Length ratio of the first control point - + The angle of the first control point - + Length ratio of the second control point - + The angle of the second control point - + List of points - + Coefficient of curvature of the curve - + Select point of curve path + + DialogStandardMeasurements + + + Standard table + + + + + Pattern piece name + + + + + Standard measurements table + + + + + File error. + + + DialogTool - + Line - + No line - + Dash Line - + Dot Line - + Dash Dot Line - + Dash Dot Dot Line - - Can't find object by name - - - - + Error - + Height - + Size - + Line length - + Arc length - + Curve length @@ -1900,55 +2187,55 @@ DialogTriangle - + Dialog - + Point label - + First point of axis - - - - + + + + First point of line - + Second point of axis - + First point - + Second point - + Select second point of axis - + Select first point - + Select second point @@ -1956,766 +2243,3203 @@ DialogUnionDetails - + Dialog - + Do you really want union details? This operation can't be undone. - + Select first point - + Select second point - - + + Select another second point - + Select detail + + Functions + + + sin + sine function + + + + + cos + cosine function + + + + + tan + tangens function + + + + + asin + arcus sine function + + + + + acos + arcus cosine function + + + + + atan + arcus tangens function + + + + + sinh + hyperbolic sine function + + + + + cosh + hyperbolic cosine + + + + + tanh + hyperbolic tangens function + + + + + asinh + hyperbolic arcus sine function + + + + + acosh + hyperbolic arcus tangens function + + + + + atanh + hyperbolic arcur tangens function + + + + + log2 + logarithm to the base 2 + + + + + log10 + logarithm to the base 10 + + + + + log + logarithm to the base 10 + + + + + ln + logarithm to base e (2.71828...) + + + + + exp + e raised to the power of x + + + + + sqrt + square root of a value + + + + + sign + sign function -1 if x<0; 1 if x>0 + + + + + rint + round to nearest integer + + + + + abs + absolute value + + + + + min + min of all arguments + + + + + max + max of all arguments + + + + + sum + sum of all arguments + + + + + avg + mean value of all arguments + + + MainWindow - - + Valentina - + Tools for creating points. - + Point - + Point at distance and angle - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + ... - + Special point on shoulder. - + Point at intersection of arc and line. - + Point along bisector - + Point along perpendicular - + Point at distance along line - + Perpendicular point along line - + Tool triangle. - + Tools for creating lines. - + Line - + Line between points - + Point at line intersection - + Tools for creating curves. - + Curve - + Curve tool. - + Tool for path curve. - + Tool segment a pathed curve. - + Tool for segmenting a curve. - + Tools for creating arcs. - + Arc - + Arc tool. - + Tools for creating details. - + Detail - + Tool new detail. - + &File - + &Help - + &Pattern piece - + Save &As... - + About &Qt - + &About Valentina - + E&xit - + Exit the application - + Options... - + + Pattern properties + + + + toolBar - + toolBar_2 - + toolBar_3 - + New - + &New - + Create a new pattern - + Ctrl+N - + Open - + &Open - + Open file with pattern - + Save - + &Save - + Save pattern - + Ctrl+S - + Save as - + Save not yet saved pattern - + Ctrl+Shift+S - + Draw - + Draw mode - + Ctrl+W - + Details - + Details mode - + Ctrl+E - - + + Pointer tools - + New pattern piece - + Add new pattern piece - + Ctrl+Shift+N - - + + Change the label of pattern piece - + Table of variables - + Tables of variables - + Ctrl+T - + History - + Ctrl+H - + Layout - + Create layout - + Ctrl+L - + About Qt - - About Valentina - - - - + Ctrl+Q - + Pattern piece %1 - - + Pattern piece: - - Enter a label for the pattern piece. - - - - - Error. Pattern piece of same label already exists. - - - - - Error creating pattern with the name - - - - + Enter a new label for the pattern piece. - - Error. Pattern piece of same name already exists. - - - - + Error saving change!!! - + Can't save new label of pattern piece - - + + Select point - + Select first point - - - + + + Select first point of line - + Select first point of angle - + Select first point of first line - + Select first point curve - + Select simple curve - + Select point of center of arc - + Select point of curve path - + Select curve path - + Select points, arcs, curves clockwise. - + Select base point - + Select first point of axis - + Select point vertically - + Select detail - + Select arc - - Based on Qt %2 (32 bit) + + Measurements use different units than pattern. This pattern required measurements in %1 - - Built on %3 at %4 + + + Wrong units. - - <h1>%1</h1> %2 <br/><br/> %3 <br/><br/> %4 + + File error. - - Cannot read file %1: -%2. + + The measurements file <br/><br/> <b>%1</b> <br/><br/> %3 - + + could not be found. Do you want to update the file location + + + + + Standard measurements (*.vst) + + + + + Individual measurements (*.vit) + + + + File loaded - + Height: - + Size: - + Pattern Piece: - - + + Pattern files (*.val) - - + + /pattern.val - - Can't open pattern file %1: -%2. - - - - - Can't open schema file %1: -%2. - - - - + File saved - - Can not save pattern - - - - + untitled.val - + Unsaved change - + The pattern has been modified. Do you want to save your changes? - - - Error! - - - - + + Open file - - - Error no unique id. - - - - - Got empty file name. - - - - - Could not copy temp file to pattern file - - - - - Could not remove pattern file - - - - + + Error parsing file. - + Error can't convert value. - + Error empty parameter. - + Error wrong id. + + + Measurements - - Parsing pattern file error. + + head_girth + Short measurement name. Don't use math symbols in name!!!! - - Validation file error. + + Head girth + Full measurement name - - - Error in line %1 column %2 + + Around fullest part of Head + Full measurement description + + + + + mid_neck_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Mid-neck girth + Full measurement name + + + + + Around middle part of Neck + Full measurement description + + + + + neck_base_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck Base girth + Full measurement name + + + + + Around Neck at base + Full measurement description + + + + + head_and_neck_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Head and Neck length + Full measurement name + + + + + Vertical Distance from Crown to Nape + Full measurement description + + + + + center_front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Center length + Full measurement name + + + + + Front Neck Center over tape at Bustline to Front Waist Center + Full measurement description + + + + + center_back_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Center length + Full measurement name + + + + + Back Neck Center to Back Waist Center + Full measurement description + + + + + shoulder_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder length + Full measurement name + + + + + NeckPoint to ShoulderTip + Full measurement description + + + + + side_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Side Waist length + Full measurement name + + + + + Armpit to Waist side + Full measurement description + + + + + trunk_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Trunk length + Full measurement name + + + + + Around Body from middle of Shoulder length to BustPoint to Crotch up back to beginning point + Full measurement description + + + + + shoulder_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder girth + Full measurement name + + + + + Around Arms and Torso, at bicep level parallel to floor, with arms hanging at the sides + Full measurement description + + + + + upper_chest_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upper Chest girth + Full measurement name + + + + + Around Chest at Armfold level, will be parallel to floor across back, will not be parallel to floor across front chest + Full measurement description + + + + + bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust girth + Full measurement name + + + + + Around fullest part of Bust, parallel to floor + Full measurement description + + + + + under_bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Under Bust girth + Full measurement name + + + + + Around Chest below the Bust, parallel to floor + Full measurement description + + + + + waist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist girth + Full measurement name + + + + + Tie a string around smallest part of waist, keep string tied while taking meaasurements. Not usually parallel to floor for front waist or back waist. + Full measurement description + + + + + high_hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip girth + Full measurement name + + + + + Around HighHip, parallel to floor + Full measurement description + + + + + hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip girth + Full measurement name + + + + + Around Hip, parallel to floor + Full measurement description + + + + + upper_front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Upper Chest width + Full measurement name + + + + + Across Front UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Chest width + Full measurement name + + + + + Across Front Chest, from armfold to armfold + Full measurement description + + + + + across_front_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Front + Full measurement description + + + + + + across_back_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Back + Full measurement description + + + + + + Back Upper Chest width + Full measurement name + + + + + + Across Back UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + upper_back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Chest width + Full measurement name + + + + + Across Back Chest, from armfold to armfold + Full measurement description + + + + + bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + BustPoint to BustPoint + Full measurement name + + + + + Distance between BustPoints, across Chest + Full measurement description + + + + + halter_bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + Halter Bustpoint to Bustpoint + Full measurement name + + + + + Distance from Bustpoint, behind neck, down to Bustpoint + Full measurement description + + + + + neck_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + NeckPoint to BustPoint + Full measurement name + + + + + From NeckPoint to BustPoint + Full measurement description + + + + + crotch_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch length + Full measurement name + + + + + From Front Waist Center, down to crotch, up to Back Waist Center + Full measurement description + + + + + rise_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Rise height + Full measurement name + + + + + Sit on hard chair, measure from side waist straight down to chair bottom + Full measurement description + + + + + shoulder_drop + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Drop + Full measurement name + + + + + Vertical Distance from NeckPoint level to ShoulderTip level + Full measurement description + + + + + shoulder_slope_degrees + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Slope degrees + Full measurement name + + + + + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer + Full measurement description + + + + + front_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Shoulder Balance + Full measurement name + + + + + ShoulderTip to Front Waist Center + Full measurement description + + + + + back_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Shoulder Balance + Full measurement name + + + + + ShoulderTip to Back Waist Center + Full measurement description + + + + + front_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Full Length + Full measurement name + + + + + NeckPoint straight down front chest to Waistline + Full measurement description + + + + + back_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Full Length + Full measurement name + + + + + Back NeckPoint straight down back chest to Waistline + Full measurement description + + + + + front_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint through Front Neck Center + Full measurement description + + + + + back_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint across Nape + Full measurement description + + + + + front_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + front_upper-bust_arc + Full measurement name + + + + + front_upper-bust_arc + Full measurement description + + + + + back_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperBust arc + Full measurement name + + + + + Back UpperBust side to side + Full measurement description + + + + + front_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist arc + Full measurement name + + + + + Front Waist side to side + Full measurement description + + + + + back_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist arc + Full measurement name + + + + + Back Waist side to side + Full measurement description + + + + + front_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperHip arc + Full measurement name + + + + + Front UpperHip side to side + Full measurement description + + + + + back_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperHip arc + Full measurement name + + + + + Back UpperHip side to side + Full measurement description + + + + + front_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Hip arc + Full measurement name + + + + + Front Hip side to side + Full measurement description + + + + + back_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Hip arc + Full measurement name + + + + + Back Hip side to side + Full measurement description + + + + + chest_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest Balance + Full measurement name + + + + + NeckPoint to Front ArmfoldPoint + Full measurement description + + + + + back_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Balance + Full measurement name + + + + + NeckPoint to Back ArmfoldPoint + Full measurement description + + + + + front_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist Balance + Full measurement name + + + + + NeckPoint across Front Chest to Waist side + Full measurement description + + + + + back_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist Balance + Full measurement name + + + + + NeckPoint across Back Chest to Waist side + Full measurement description + + + + + front_neck_to_upper_chest_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperChest height + Full measurement name + + + + + Front Neck Center straight down to UpperChest line + Full measurement description + + + + + front_neck_to_bust_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust height + Full measurement name + + + + + Front Neck Center straight down to Bust line + Full measurement description + + + + + armscye_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye Girth + Full measurement name + + + + + Around Armscye + Full measurement description + + + + + elbow_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow Girth + Full measurement name + + + + + Around Elbow with elbow bent + Full measurement description + + + + + upper_arm_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upperarm Girth + Full measurement name + + + + + Around UpperArm + Full measurement description + + + + + wrist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Wrist girth + Full measurement name + + + + + Around Wrist + Full measurement description + + + + + scye_depth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye depth + Full measurement name + + + + + Nape straight down to UnderBust line (same as Back UpperBust height) + Full measurement description + + + + + shoulder_and_arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder and Arm length + Full measurement name + + + + + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + underarm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Underarm length + Full measurement name + + + + + Armpit to Wrist, with arm straight and hanging at side + Full measurement description + + + + + cervicale_to_wrist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to wrist length + Full measurement name + + + + + Nape to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + shoulder_to_elbow_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow length + Full measurement name + + + + + ShoulderTip to Elbow, with elbow bent and hand on hip + Full measurement description + + + + + arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Arm length + Full measurement name + + + + + ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + hand_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand width + Full measurement name + + + + + Hand side to side + Full measurement description + + + + + hand_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand length + Full measurement name + + + + + Hand Middle Finger tip to wrist + Full measurement description + + + + + hand_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand girth + Full measurement name + + + + + Around Hand + Full measurement description + + + + + thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Thigh girth + Full measurement name + + + + + Around Thigh + Full measurement description + + + + + mid_thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Midthigh girth + Full measurement name + + + + + Around MidThigh + Full measurement description + + + + + knee_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee girth + Full measurement name + + + + + Around Knee + Full measurement description + + + + + calf_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Calf girth + Full measurement name + + + + + Around Calf + Full measurement description + + + + + ankle_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle girth + Full measurement name + + + + + Around Ankle + Full measurement description + + + + + knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee height + Full measurement name + + + + + Knee to Floor + Full measurement description + + + + + ankle_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle height + Full measurement name + + + + + Ankle to Floor + Full measurement description + + + + + foot_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot width + Full measurement name + + + + + Widest part of Foot side to side + Full measurement description + + + + + foot_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot length + Full measurement name + + + + + Tip of Longest Toe straight to back of heel + Full measurement description + + + + + height + Short measurement name. Don't use math symbols in name!!!! + + + + + Total Height + Full measurement name + + + + + Top of head to floor + Full measurement description + + + + + cervicale_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape height + Full measurement name + + + + + Nape to Floor + Full measurement description + + + + + cervicale_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to knee height + Full measurement name + + + + + Nape to Knee + Full measurement description + + + + + waist_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist height + Full measurement name + + + + + Waist side to floor + Full measurement description + + + + + high_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip height + Full measurement name + + + + + HighHip side to Floor + Full measurement description + + + + + hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip height + Full measurement name + + + + + Hip side to Floor + Full measurement description + + + + + waist_to_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Hip height + Full measurement name + + + + + Waist side to Hip + Full measurement description + + + + + waist_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Knee height + Full measurement name + + + + + Waist side to Knee + Full measurement description + + + + + crotch_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch height/Inseam + Full measurement name + + + + + Crotch to Floor along inside leg + Full measurement description + + + + + size + Short measurement name. Don't use math symbols in name!!!! + + + + + Size + Full measurement name + + + + + Size + Full measurement description + + + + + height_front_neck_base_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height front neck base point + Full measurement name + + + + + Height of the point base of the neck in front + Full measurement description + + + + + height_base_neck_side_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height base neck side point + Full measurement name + + + + + Height of the base of the neck side point + Full measurement description + + + + + height_shoulder_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height shoulder point + Full measurement name + + + + + The height of the shoulder point + Full measurement description + + + + + height_nipple_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height nipple point + Full measurement name + + + + + Height nipple point + Full measurement description + + + + + height_back_angle_axilla + Short measurement name. Don't use math symbols in name!!!! + + + + + Height back angle axilla + Full measurement name + + + + + Height back angle axilla + Full measurement description + + + + + height_scapular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height scapular point + Full measurement name + + + + + Height scapular point + Full measurement description + + + + + height_under_buttock_folds + Short measurement name. Don't use math symbols in name!!!! + + + + + Height under buttock folds + Full measurement name + + + + + Height under buttock folds + Full measurement description + + + + + hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Hips excluding protruding abdomen + Full measurement name + + + + + Hips excluding protruding abdomen + Full measurement description + + + + + girth_foot_instep + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth foot instep + Full measurement name + + + + + Girth foot instep + Full measurement description + + + + + side_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Side waist to floor + Full measurement name + + + + + The distance from the side waist to floor + Full measurement description + + + + + front_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist to floor + Full measurement name + + + + + The distance from the front waist to floor + Full measurement description + + + + + arc_through_groin_area + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through groin area + Full measurement name + + + + + Arc through groin area + Full measurement description + + + + + waist_to_plane_seat + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to plane seat + Full measurement name + + + + + The distance from the waist to the plane seat + Full measurement description + + + + + neck_to_radial_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to radial point + Full measurement name + + + + + The distance from the base of the neck to the side of the radial point + Full measurement description + + + + + neck_to_third_finger + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to third finger + Full measurement name + + + + + Distance from the base of the neck side point to the end of the third finger + Full measurement description + + + + + neck_to_first_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to first line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the side of the first line in front of chest circumference + Full measurement description + + + + + front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist length + Full measurement name + + + + + The distance from the base of the neck to the waist side front (waist length in the front) + Full measurement description + + + + + arc_through_shoulder_joint + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through shoulder joint + Full measurement name + + + + + Arc through the highest point of the shoulder joint + Full measurement description + + + + + neck_to_back_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to back line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes + Full measurement description + + + + + waist_to_neck_side + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to neck side + Full measurement name + + + + + The distance from the waist to the back base of the neck side point + Full measurement description + + + + + arc_length_upper_body + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc length upper body + Full measurement name + + + + + Arc length of the upper body through the base of the neck side point + Full measurement description + + + + + chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest width + Full measurement name + + + + + Chest width + Full measurement description + + + + + anteroposterior_diameter_hands + Short measurement name. Don't use math symbols in name!!!! + + + + + Anteroposterior diameter hands + Full measurement name + + + + + Anteroposterior diameter of the hands + Full measurement description + + + + + height_clavicular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height clavicular point + Full measurement name + + + + + Height clavicular point + Full measurement description + + + + + height_armhole_slash + Short measurement name. Don't use math symbols in name!!!! + + + + + Height armhole slash + Full measurement name + + + + + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) + Full measurement description + + + + + slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Slash shoulder height + Full measurement name + + + + + Slash shoulder height + Full measurement description + + + + + half_girth_neck + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck + Full measurement name + + + + + Half girth neck + Full measurement description + + + + + half_girth_neck_for_shirts + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck for shirts + Full measurement name + + + + + Half girth neck for shirts + Full measurement description + + + + + half_girth_chest_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest first + Full measurement name + + + + + Half girth chest first + Full measurement description + + + + + half_girth_chest_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest second + Full measurement name + + + + + Half girth chest second + Full measurement description + + + + + half_girth_chest_third + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest third + Full measurement name + + + + + Half girth chest third + Full measurement description + + + + + half_girth_waist + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth waist + Full measurement name + + + + + Half girth waist + Full measurement description + + + + + half_girth_hips_considering_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips considering protruding abdomen + Full measurement name + + + + + Half girth hips considering protruding abdomen + Full measurement description + + + + + half_girth_hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips excluding protruding abdomen + Full measurement name + + + + + Half girth hips excluding protruding abdomen + Full measurement description + + + + + girth_knee_flexed_feet + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth knee flexed feet + Full measurement name + + + + + Girth knee flexed feet + Full measurement description + + + + + neck_transverse_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck transverse diameter + Full measurement name + + + + + Neck transverse diameter + Full measurement description + + + + + front_slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front slash shoulder height + Full measurement name + + + + + Front slash shoulder height + Full measurement description + + + + + neck_to_front_waist_line + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to front waist line + Full measurement name + + + + + The distance from the base of the neck to the waist line front + Full measurement description + + + + + hand_vertical_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand vertical diameter + Full measurement name + + + + + Hand vertical diameter + Full measurement description + + + + + neck_to_knee_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to knee point + Full measurement name + + + + + Distance from neck to knee point + Full measurement description + + + + + waist_to_knee + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to knee + Full measurement name + + + + + The distance from the waist to the knee + Full measurement description + + + + + shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder height + Full measurement name + + + + + Shoulder height + Full measurement description + + + + + head_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Head height + Full measurement name + + + + + Head height + Full measurement description + + + + + body_position + Short measurement name. Don't use math symbols in name!!!! + + + + + Body position + Full measurement name + + + + + Body position + Full measurement description + + + + + arc_behind_shoulder_girdle + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc behind shoulder girdle + Full measurement name + + + + + Arc behind the shoulder girdle + Full measurement description + + + + + neck_to_neck_base + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to neck base + Full measurement name + + + + + Distance from neck point to point on the base of the neck side neck girth measurement line + Full measurement description + + + + + depth_waist_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist first + Full measurement name + + + + + Depth waist first + Full measurement description + + + + + depth_waist_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist second + Full measurement name + + + + + Depth waist second + Full measurement description PatternPage - + User - + User name - + Graphical output - + Use antialiasing - + Undone - + Count steps + + PostfixOperators + + + cm + centimeter + + + + + mm + millimeter + + + + + in + inch + + + QObject - + Create new pattern piece to start working. @@ -2723,130 +5447,160 @@ Do you want to save your changes? TableWindow - + Create a layout - + toolBar - + Save - - + + Save layout - + Next - + Next detail - + Turn - + Turn the detail 90 degrees - + Stop - + Stop laying - + Enlarge letter - + Enlarge the length of the sheet - + Reduce sheet - + Reduce the length of the sheet - - + + Mirroring - - + + Zoom In - - + + Zoom Out - + 0 details left. - - + + Collisions not found. - + %1 details left. - + + untitled + + + + + Svg files (*.svg) + + + + + PDF files (*.pdf) + + + + + Images (*.png) + + + + + PS files (*.ps) + + + + + EPS files (*.eps) + + + + Collisions found. - - SVG Generator Example Drawing + + Creating file '%1' failed! %2 - - An SVG drawing created by the SVG Generator Example provided with Qt. + + Critical error! VAbstractNode - + Can't find tag Modeling @@ -2854,12 +5608,12 @@ Do you want to save your changes? VAbstractTool - + Confirm the deletion. - + Do you really want delete? @@ -2867,42 +5621,32 @@ Do you want to save your changes? VApplication - - - - - - - Error! - - - - + Error parsing file. Program will be terminated. - + Error bad id. Program will be terminated. - + Error can't convert value. Program will be terminated. - + Error empty parameter. Program will be terminated. - + Error wrong id. Program will be terminated. - + Something's wrong!! @@ -2910,215 +5654,269 @@ Do you want to save your changes? VContainer - - - + + + Can't find object + + + Can't cast object + + VDomDocument - - Can't find tool id = %1 in table. + + Can't convert toUInt parameter - - Got wrong parameter id. Need only id > 0. - - - - - Can't convert toLongLong parameter - - - - + Got empty parameter - + Can't convert toDouble parameter - - This id is not unique. + + + Can't open file %1: +%2. - - Error creating or updating detail + + Can't open schema file %1: +%2. - - Error creating or updating single point + + Validation error in line %1 column %2 - - Error creating or updating point of end line - - - - - Error creating or updating point along line - - - - - Error creating or updating point of shoulder - - - - - Error creating or updating point of normal - - - - - Error creating or updating point of bisector - - - - - Error creating or updating point of lineintersection - - - - - Error creating or updating point of contact - - - - - Error creating or updating modeling point - - - - - Error creating or updating height - - - - - Error creating or updating triangle - - - - - Error creating or updating point of intersection - - - - - Error creating or updating cut spline point - - - - - Error creating or updating cut spline path point - - - - - Error creating or updating cut arc point - - - - - Error creating or updating line - - - - - Error creating or updating simple curve - - - - - Error creating or updating curve path - - - - - Error creating or updating modeling simple curve - - - - - Error creating or updating modeling curve path - - - - - Error creating or updating simple arc - - - - - Error creating or updating modeling arc - - - - - Error creating or updating union details - - - - - Error! - - - - - Error parsing file. + + Parcing error in line %1 column %2 VDrawTool - + Can not find the element after which you want to insert. - + Can't find tag Calculation - + Options - + Delete + + VException + + + Critical error! + + + + + VPattern + + + Can't find tool id = %1 in table. + + + + + Error no unique id. + + + + + Error! + + + + + Error parsing file. + + + + + Error creating or updating detail + + + + + Error creating or updating single point + + + + + + Error creating or updating point of end line + + + + + + Error creating or updating point along line + + + + + + Error creating or updating point of shoulder + + + + + + Error creating or updating point of normal + + + + + + Error creating or updating point of bisector + + + + + Error creating or updating point of lineintersection + + + + + + Error creating or updating point of contact + + + + + Error creating or updating modeling point + + + + + Error creating or updating height + + + + + Error creating or updating triangle + + + + + Error creating or updating point of intersection + + + + + + Error creating or updating cut spline point + + + + + + Error creating or updating cut spline path point + + + + + + Error creating or updating cut arc point + + + + + Error creating or updating line + + + + + Error creating or updating simple curve + + + + + Error creating or updating curve path + + + + + Error creating or updating modeling simple curve + + + + + Error creating or updating modeling curve path + + + + + + Error creating or updating simple arc + + + + + Error creating or updating modeling arc + + + + + Error creating or updating union details + + + + + Got wrong parameter id. Need only id > 0. + + + + + This id is not unique. + + + VSplinePath - + Not enough points to create the spline. - - - + + + This spline does not exist. - + Can't cut spline path with one point @@ -3126,12 +5924,12 @@ Do you want to save your changes? VTableGraphicsView - + can't find detail - + detail found @@ -3139,30 +5937,54 @@ Do you want to save your changes? VToolDetail - + Options - + Delete - - VToolTriangle - - - Can't find point. - - - VToolUnionDetails - + Can't find tag Modeling + + Variables + + + Line_ + Left symbol _ in name + + + + + AngleLine_ + Left symbol _ in name + + + + + Arc_ + Left symbol _ in name + + + + + Spl_ + Left symbol _ in name + + + + + SplPath + + + diff --git a/src/app/share/translations/valentina_cs.ts b/src/app/share/translations/valentina_cs.ts index 668e72b54..f4412241d 100644 --- a/src/app/share/translations/valentina_cs.ts +++ b/src/app/share/translations/valentina_cs.ts @@ -1,35 +1,35 @@ - + ConfigDialog - + Apply - + &Cancel - + &Ok - + Config Dialog - + Configuration - + Pattern @@ -37,171 +37,224 @@ ConfigurationPage - + Setup user interface language updated and will be used the next time start - + Save Uložit - + Auto-save modified pattern - + Interval: - + min - + Language - + GUI language - + Decimal separator parts - + With OS options (.) + + DialogAboutApp + + + About Valentina + O programu Valentina + + + + Valentina version + + + + + pushButton_Web_Site + + + + + Contributors + + + + + label_QT_Version + + + + + Based on Qt %2 (32 bit) + Založeno na Qt %2 (32 bit) + + + + Built on %3 at %4 + Sestaveno %3 v %4 + + + + Web site : %1 + + + + + Warning + + + + + Cannot open your default browser + + + DialogAlongLine - + Point along line Bod podél čáry - + Length Délka - + Formula for the calculation of length of line - + Insert variable into the formula - - + + ... ... - + Calculate value - + Value of length Hodnota délky - + _ _ - + Point label - + First point První bod - + First point of line První bod čáry - + Second point Druhý bod - + Second point of line Druhý bod čáry - + Type of line Typ čáry - + Show line from first point to this point - + Input data Vstupní data - + Size and height - + Standard table - + Increments Přídavky - + Length of lines Délka čar - + Length of arcs Délka oblouků - + Length of curves Délka křivek - + Variables - Click twice to insert into formula - + Select second point of line Vybrat druhý bod čáry @@ -209,151 +262,151 @@ DialogArc - + Arc Oblouk - + Radius Poloměr - + Formula for the calculation of radius of arc - + Insert variable into the formula - - - - - - + + + + + + ... ... - - - + + + Calculate value - + Value of radius Hodnota poloměru - - - + + + _ _ - + First angle degree První úhel (stupně) - + First angle of arc counterclockwise První úhel oblouku proti směru hodinových ručiček - + Insert variable into formula - + Value of first angle Hodnota prvního úhlu - + Second angle degree Druhý úhel (stupně) - + Second angle of arc counterclockwise Druhý úhel oblouku proti směru hodinových ručiček - + Insert marked variable into formula - + Value of second angle Hodnota druhého úhlu - + Center point Bod ve středu - + Select point of center of arc Vybrat bod středu oblouku - + Input data Vstupní data - + Size and height - + Standard table - + Increments Přídavky - + Length of lines Délka čar - + Length of arcs Délka oblouků - + Length of curves Délka křivek - + Angle of lines Úhel čar - + Variables Proměnné - + Value of angle of line. @@ -361,138 +414,138 @@ DialogBisector - + Bisector Osa souměrnosti úhlu - + Length Délka - + Calculation of length of bisector by using the formula - + Insert marked variable into the formula - - + + ... ... - + Calculate value - + Value of length Hodnota délky - + _ _ - + Point label - + First point První bod - + First point of angle První bod úhlu - + Second point Druhý bod - + Second point of angle Druhý bod úhlu - + Third point Třetí bod - + Third point of angle Třetí bod úhlu - + Type of line Typ čáry - + Show line from second point to this point - + Input data Vstupní data - + Size and height - + Standard table - + Increments Přídavky - + Length of lines Délka čar - + Length of arcs Délka oblouků - + Length of curves Délka křivek - + Variables - Click twice to insert into formula - + Select second point of angle Vybrat druhý bod úhlu - + Select third point of angle Vybrat třetí bod úhlu @@ -500,93 +553,93 @@ DialogCutArc - + Dialog Dialog - + Length Délka - + Formula for the calculation of the spline - - + + ... ... - + Calculate value - + Value of length Hodnota délky - + _ _ - + Arc Oblouk - + Selected curve - + Point label - + Input data Vstupní data - + Size and height - + Standard table - + Increments Přídavky - + Length of lines Délka čar - + Length of arcs Délka oblouků - + Length of curves Délka křivek - + Variables - Click twice to insert into formula @@ -594,93 +647,93 @@ DialogCutSpline - + Dialog Dialog - + Length Délka - + Formula for the calculation of the spline - - + + ... ... - + Calculate value - + Value of length Hodnota délky - + _ _ - + Curve Křivka - + Selected curve - + Point label - + Input data Vstupní data - + Size and height - + Standard table - + Increments Přídavky - + Length of lines Délka čar - + Length of arcs Délka oblouků - + Length of curves Délka křivek - + Variables - Click twice to insert into formula @@ -688,93 +741,93 @@ DialogCutSplinePath - + Dialog Dialog - + Length Délka - + Formula for the calculation of the curve length - - + + ... ... - + Calculate value - + Value of length Hodnota délky - + _ _ - + Curve Křivka - + Selected curve path - + Point label - + Input data Vstupní data - + Size and height - + Standard table - + Increments Přídavky - + Length of lines Délka čar - + Length of arcs Délka oblouků - + Length of curves Délka křivek - + Variables - Click twice to insert into formula @@ -782,180 +835,175 @@ DialogDetail - - + + Detail Detail - + Bias X Odchylka X - + Bias Y Odchylka Y - + Options Volby - + Name of detail Název detailu - + Seam allowance - + Width Šířka - + Closed Zavřeno - + Delete Smazat - + Got wrong scene object. Ignore. - - - Got wrong tools. Ignore. - - DialogEndLine - + Point in the end of a line - + Length Délka - + Formula for calculation of length of line - - - - - - - - - - + + + + + + + + + + ... ... - + Calculate value - + Value of length Hodnota délky - + _ _ - + Base point Základní bod - + First point of line První bod čáry - + Point label - + Degree of angle - + Angle of line Úhel čáry - + Type of line Typ čáry - + Show line from first point to this point - + Input data Vstupní data - + Size and height - + Standard table - + Increments Přídavky - + Length of lines Délka čar - + Length of arcs Délka oblouků - + Length of curves Délka křivek - + Variables - Click twice to insert into formula @@ -963,50 +1011,50 @@ DialogHeight - + Dialog Dialog - + Point label - + Base point Základní bod - - - - + + + + First point of line První bod čáry - + Second point of line Druhý bod čáry - + Type of line Typ čáry - + Show line from first point to our point Ukázat čáru od prvního bodu k našemu bodu - + Select first point of line Vybrat první bod čáry - + Select second point of line Vybrat druhý bod čáry @@ -1014,242 +1062,415 @@ DialogHistory - + History Historie - - + + Tool Nástroj - + + + + + Can't create record. + + + + %1 - Base point %1 - Základní bod - - + + %1_%2 - Line from point %1 to point %2 %1_%2 - Čára od bodu %1 k bodu %2 - + %3 - Point along line %1_%2 %3 - Bod podél čáry %1_%2 - + %1 - Point of shoulder - + %3 - normal to line %1_%2 - + %4 - bisector of angle %1_%2_%3 - + %5 - intersection of lines %1_%2 and %3_%4 - + Curve %1_%2 Křivka %1_%2 - + Arc with center in point %1 Oblouk se středem v bodě %1 - + Curve point %1 Bod křivky %1 - + %4 - point of contact of arc with the center in point %1 and line %2_%3 - + Point of perpendicular from point %1 to line %2_%3 - + Triangle: axis %1_%2, points %3 and %4 Trojúhelník: osa %1_%2, body %3 a %4 - + %1 - point of intersection %2 and %3 - + %1 - cut arc with center %2 - + %1 - cut curve %2_%3 - + %1 - cut curve path %2 - - - Got wrong tool type. Ignore. - - DialogIncrements - - + + Increments Přídavky - - Sizes table - - - - - + + Name - - + + The calculated value Vypočítaná hodnota - - + + Base value Základní hodnota - - + + In sizes Ve velikostech - - In growths - Ve vzrůstech + Ve vzrůstech - - - - + + + Description Popis - - + + + ... ... - + + + Measurements + + + + + Load another measurements table + + + + + Personal information + + + + + Given name + + + + + Family name + + + + + Birth date + + + + + yyyy-MM-dd + + + + + Sex + + + + + Mail + + + + + + In heights + + + + Lines Čáry - + Line Čára - - - + + + Length Délka - + Curves Křivky - + Curve Křivka - + Arcs Oblouky - + Arc Oblouk - + + + + File error. + + + + + male + + + + + female + + + + + Measurements use different units than pattern. This pattern required measurements in %1 + + + + + Individual measurements (*.vit) + + + + + + Open file + Otevřít soubor + + + + + Wrong units. + + + + + Standard measurements (*.vst) + + + + Name_%1 - Can't convert toDouble value. - Nelze převést na hodnotu toDouble. + Nelze převést na hodnotu toDouble. + + + + DialogIndividualMeasurements + + + Dialog + Dialog + + + + Pattern piece name + + + + + Exist measurements + + + + + + Path: + + + + + + ... + ... + + + + New measurements + + + + + Units: + + + + + Could not create measurements file + + + + + Please try again or change file + + + + + + File error. + + + + + + Individual measurements (*.vit) + + + + + Open file + Otevřít soubor + + + + Where save measurements? + + + + + centimeter + + + + + inch + DialogLine - + Line Čára - + First point První bod - + Second point Druhý bod - + Type of line Typ čáry - + Show line from first point to this point - + Select second point Vybrat druhý bod @@ -1257,291 +1478,347 @@ DialogLineIntersect - + Intersection of lines - + Point label - + First line První čára - - + + First point První bod - - + + Second point Druhý bod - + Second line Druhá čára - + Select second point of first line Vybrat druhý bod první čáry - + Select first point of second line Vybrat první bod druhé čáry - + Select second point of second line Vybrat druhý bod druhé čáry + + DialogMeasurements + + + Measurements + + + + + <html><head/><body><p><span style=" font-size:18pt;">Please, choose pattern type.</span></p></body></html> + + + + + Graduation + + + + + Use for creation pattern standard measurement table + + + + + Individual + + + + + Use for creation pattern individual measurements + + + DialogNormal - + Normal Kolmice - + Length Délka - + Formula for calculation of length of normal - + Insert variable into formula - - - - - - - - - - + + + + + + + + + + ... ... - + Calculate value - + Value of length Hodnota délky - + _ _ - + Point label - + First point První bod - + Second point Druhý bod - + Additional angle degrees Dodatečné úhlové stupně - + Type of line Typ čáry - + Show line from first point to this point - + Input data Vstupní data - + Size and height - + Standard table - + Increments Přídavky - + Length of lines Délka čar - + Length of arcs Délka oblouků - + Length of curves Délka křivek - + Variables - Click twice to insert into formula - + Select second point of line Vybrat druhý bod čáry + + DialogPatternProperties + + + Pattern properties + + + + + Author name + + + + + Pattern description + + + + + For technical notes. + + + DialogPointOfContact - + Point of contact Bod dotyku - + Radius Poloměr - + Formula for calculation of radius of arc - + Insert variable into formula - - + + ... ... - + Calculate value - + Value of radius Hodnota poloměru - + _ _ - + Point label - + Center of arc Střed oblouku - - + + Select point of center of arc Vybrat bod středu oblouku - + Top of the line Začátek čáry - + End of the line Konec čáry - + Input data Vstupní data - + Size and height - + Standard table - + Increments Přídavky - + Length of lines Délka čar - + Length of arcs Délka oblouků - + Length of curves Délka křivek - + Variables - Click twice to insert into formula. - + Select second point of line Vybrat druhý bod čáry @@ -1549,37 +1826,37 @@ DialogPointOfIntersection - + Dialog Dialog - + Point label - + vertical point - + First point of angle První bod úhlu - + horizontal point - + Second point of angle Druhý bod úhlu - + Select point horizontally Vybrat bod vodorovně @@ -1587,115 +1864,115 @@ DialogShoulderPoint - - + + Point of shoulder Bod ramene - + Length Délka - + Formula for calculation of length of line - + Insert variable into formula - - + + ... ... - + Calculate value - + Value of length Hodnota délky - + _ _ - + Point label - + First point První bod - + Second point Druhý bod - + Type of line Typ čáry - + Show line from first point to our point Ukázat čáru od prvního bodu k našemu bodu - + Input data Vstupní data - + Size and height - + Standard table - + Increments Přídavky - - + + Length of lines Délka čar - + Length of curves Délka křivek - + Variables - Click twice to insert into formula - + Select second point of line Vybrat druhý bod čáry - + Select point of shoulder Vybrat bod ramene @@ -1703,32 +1980,32 @@ DialogSinglePoint - + Single point Jeden bod - + Coordinates on the sheet Souřadnice na listu - + Coordinates Souřadnice - + Y coordinate Souřadnice y - + X coordinate Souřadnice x - + Point label @@ -1736,47 +2013,47 @@ DialogSpline - + Curve Křivka - + First point První bod - + Length ratio of the first control point Poměr délky prvního ovládacího bodu - + The angle of the first control point Úhel prvního ovládacího bodu - + Second point Druhý bod - + Length ratio of the second control point Poměr délky druhého ovládacího bodu - + The angle of the second control point Úhel druhého ovládacího bodu - + Coefficient of curvature of the curve Součinitel zakřivení křivky - + Select last point of curve Vybrat poslední bod čáry @@ -1784,115 +2061,133 @@ DialogSplinePath - + Curve path Cesta křivky - + Point of curve Bod křivky - + Length ratio of the first control point Poměr délky prvního ovládacího bodu - + The angle of the first control point Úhel prvního ovládacího bodu - + Length ratio of the second control point Poměr délky druhého ovládacího bodu - + The angle of the second control point Úhel druhého ovládacího bodu - + List of points Seznam bodů - + Coefficient of curvature of the curve Součinitel zakřivení křivky - + Select point of curve path Vybrat bod cesty křivky + + DialogStandardMeasurements + + + Standard table + + + + + Pattern piece name + + + + + Standard measurements table + + + + + File error. + + + DialogTool - + Line Čára - + No line Žádná čára - + Dash Line - + Dot Line - + Dash Dot Line - + Dash Dot Dot Line - - Can't find object by name - - - - + Error Chyba - + Height - + Size Velikost - + Line length Délka čáry - + Arc length Délka oblouku - + Curve length Délka křivky @@ -1900,55 +2195,55 @@ DialogTriangle - + Dialog Dialog - + Point label - + First point of axis První bod osy - - - - + + + + First point of line První bod čáry - + Second point of axis Druhý bod osy - + First point První bod - + Second point Druhý bod - + Select second point of axis Vybrat druhý bod osy - + Select first point Vybrat první bod - + Select second point Vybrat druhý bod @@ -1956,52 +2251,204 @@ DialogUnionDetails - + Dialog Dialog - + Do you really want union details? This operation can't be undone. - + Select first point Vybrat první bod - + Select second point Vybrat druhý bod - - + + Select another second point - + Select detail + + Functions + + + sin + sine function + + + + + cos + cosine function + + + + + tan + tangens function + + + + + asin + arcus sine function + + + + + acos + arcus cosine function + + + + + atan + arcus tangens function + + + + + sinh + hyperbolic sine function + + + + + cosh + hyperbolic cosine + + + + + tanh + hyperbolic tangens function + + + + + asinh + hyperbolic arcus sine function + + + + + acosh + hyperbolic arcus tangens function + + + + + atanh + hyperbolic arcur tangens function + + + + + log2 + logarithm to the base 2 + + + + + log10 + logarithm to the base 10 + + + + + log + logarithm to the base 10 + + + + + ln + logarithm to base e (2.71828...) + + + + + exp + e raised to the power of x + + + + + sqrt + square root of a value + + + + + sign + sign function -1 if x<0; 1 if x>0 + + + + + rint + round to nearest integer + + + + + abs + absolute value + + + + + min + min of all arguments + + + + + max + max of all arguments + + + + + sum + sum of all arguments + + + + + avg + mean value of all arguments + + + MainWindow - - + Valentina Valentina - + Tools for creating points. Nástroje na vytváření bodů. - + Point Bod @@ -2010,25 +2457,25 @@ Nástroj bod na koncové čáře. - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + ... ... @@ -2053,170 +2500,175 @@ Nástroj bod podél čáry. - + Tool triangle. Nástroj trojúhelník. - + Tools for creating lines. Nástroje na vytváření čar. - + Line Čára - + Point at distance and angle - + Special point on shoulder. - + Point at intersection of arc and line. - + Point along bisector - + Point along perpendicular - + Point at distance along line - + Perpendicular point along line - + Line between points - + Point at line intersection - + Tools for creating curves. Nástroje na vytváření křivek. - + Curve Křivka - + Curve tool. - + Tool for path curve. - + Tool segment a pathed curve. - + Tool for segmenting a curve. - + Tools for creating arcs. Nástroje na vytváření oblouků. - + Arc Oblouk - + Arc tool. - + Tools for creating details. Nástroje na vytváření podrobností. - + Detail Podrobnosti - + Tool new detail. Nástroj nové podrobnosti. - + &File - + &Help - + &Pattern piece - + Save &As... - + About &Qt - + &About Valentina - + E&xit - + Exit the application - + Options... + + + Pattern properties + + File Soubor @@ -2226,358 +2678,363 @@ Nápověda - + toolBar Nástrojový pruh - + toolBar_2 Nástrojový pruh 2 - + toolBar_3 Nástrojový pruh 3 - + New Nový - + &New - + Create a new pattern Vytvořit nový vzor - + Ctrl+N - + Open Otevřít - + &Open - + Open file with pattern Otevřít soubor se vzorem - + Save Uložit - + &Save - + Save pattern Uložit vzor - + Ctrl+S - + Save as Uložit jako - + Save not yet saved pattern Uložit ještě neuložený vzor - + Ctrl+Shift+S - + Draw Kreslit - + Draw mode Režim kreslení - + Ctrl+W - + Details Podrobnosti - + Details mode - + Ctrl+E - - + + Pointer tools - + New pattern piece - + Add new pattern piece - + Ctrl+Shift+N - - + + Change the label of pattern piece - + Table of variables Tabulka proměnných - + Tables of variables Tabulky proměnných - + Ctrl+T - + History Historie - + Ctrl+H - + Layout Rozvržení - + Create layout Vytvořit rozvržení - + Ctrl+L - + About Qt O Qt - About Valentina - O programu Valentina + O programu Valentina Exit Ukončit - + Ctrl+Q - + Pattern piece %1 - - + Pattern piece: - - Enter a label for the pattern piece. - - - - - Error. Pattern piece of same label already exists. - - - - - Error creating pattern with the name - - - - + Enter a new label for the pattern piece. - - Error. Pattern piece of same name already exists. - - - - + Error saving change!!! Chyba při ukládání změny! - + Can't save new label of pattern piece - - + + Select point Vybrat bod - + Select first point Vybrat první bod - - - + + + Select first point of line Vybrat první bod čáry - + Select first point of angle Vybrat první bod úhlu - + Select first point of first line Vybrat první bod první čáry - + Select first point curve Vybrat první bod křivky - + Select simple curve - + Select point of center of arc Vybrat bod středu oblouku - + Select point of curve path Vybrat bod cesty křivky - + Select curve path - + Select points, arcs, curves clockwise. Vybrat body, oblouky, křivky po směru hodinových ručiček. - + Select base point Vybrat základní bod - + Select first point of axis Vybrat první bod osy - + Select point vertically Vybrat bod svisle - + Select detail - + Select arc - - Based on Qt %2 (32 bit) - Založeno na Qt %2 (32 bit) - - - - Built on %3 at %4 - Sestaveno %3 v %4 - - - - <h1>%1</h1> %2 <br/><br/> %3 <br/><br/> %4 - <h1>%1</h1> %2 <br/><br/> %3 <br/><br/> %4 - - - - Cannot read file %1: -%2. + + Measurements use different units than pattern. This pattern required measurements in %1 - + + + Wrong units. + + + + + File error. + + + + + The measurements file <br/><br/> <b>%1</b> <br/><br/> %3 + + + + + could not be found. Do you want to update the file location + + + + + Standard measurements (*.vst) + + + + + Individual measurements (*.vit) + + + + Based on Qt %2 (32 bit) + Založeno na Qt %2 (32 bit) + + + Built on %3 at %4 + Sestaveno %3 v %4 + + + <h1>%1</h1> %2 <br/><br/> %3 <br/><br/> %4 + <h1>%1</h1> %2 <br/><br/> %3 <br/><br/> %4 + + + File loaded @@ -2590,184 +3047,2495 @@ Chcete uložit své změny? - + Height: - + Size: Velikost: - + Pattern Piece: - - + + Pattern files (*.val) - - + + /pattern.val - - Can't open pattern file %1: -%2. - - - - - Can't open schema file %1: -%2. - - - - + File saved - - Can not save pattern - - - - + untitled.val - + Unsaved change - + The pattern has been modified. Do you want to save your changes? - - Error! - Chyba! + Chyba! Error saving file. Can't save file. Chyba při ukládání souboru! Nelze uložit soubor. - + + Open file Otevřít soubor - - - Error no unique id. - - - - Got empty file name. - Obdržen prázdný název souboru. + Obdržen prázdný název souboru. - Could not copy temp file to pattern file - Nepodařilo se zkopírovat dočasný soubor do souboru se střihem + Nepodařilo se zkopírovat dočasný soubor do souboru se střihem - Could not remove pattern file - Nepodařilo se odstranit soubor se střihem + Nepodařilo se odstranit soubor se střihem - + + Error parsing file. Chyba při zpracování souboru. - + Error can't convert value. Chyba. Nelze převést hodnotu. - + Error empty parameter. Chyba. Prázdný parametr. - + Error wrong id. Chyba. Špatné ID. - - - Parsing pattern file error. - - - - - Validation file error. - - Error parsing pattern file. Chyba při zpracování souboru se střihem. - - Error in line %1 column %2 - Chyba na řádku %1, sloupec %2 + Chyba na řádku %1, sloupec %2 + + + + Measurements + + + head_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Head girth + Full measurement name + + + + + Around fullest part of Head + Full measurement description + + + + + mid_neck_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Mid-neck girth + Full measurement name + + + + + Around middle part of Neck + Full measurement description + + + + + neck_base_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck Base girth + Full measurement name + + + + + Around Neck at base + Full measurement description + + + + + head_and_neck_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Head and Neck length + Full measurement name + + + + + Vertical Distance from Crown to Nape + Full measurement description + + + + + center_front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Center length + Full measurement name + + + + + Front Neck Center over tape at Bustline to Front Waist Center + Full measurement description + + + + + center_back_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Center length + Full measurement name + + + + + Back Neck Center to Back Waist Center + Full measurement description + + + + + shoulder_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder length + Full measurement name + + + + + NeckPoint to ShoulderTip + Full measurement description + + + + + side_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Side Waist length + Full measurement name + + + + + Armpit to Waist side + Full measurement description + + + + + trunk_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Trunk length + Full measurement name + + + + + Around Body from middle of Shoulder length to BustPoint to Crotch up back to beginning point + Full measurement description + + + + + shoulder_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder girth + Full measurement name + + + + + Around Arms and Torso, at bicep level parallel to floor, with arms hanging at the sides + Full measurement description + + + + + upper_chest_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upper Chest girth + Full measurement name + + + + + Around Chest at Armfold level, will be parallel to floor across back, will not be parallel to floor across front chest + Full measurement description + + + + + bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust girth + Full measurement name + + + + + Around fullest part of Bust, parallel to floor + Full measurement description + + + + + under_bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Under Bust girth + Full measurement name + + + + + Around Chest below the Bust, parallel to floor + Full measurement description + + + + + waist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist girth + Full measurement name + + + + + Tie a string around smallest part of waist, keep string tied while taking meaasurements. Not usually parallel to floor for front waist or back waist. + Full measurement description + + + + + high_hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip girth + Full measurement name + + + + + Around HighHip, parallel to floor + Full measurement description + + + + + hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip girth + Full measurement name + + + + + Around Hip, parallel to floor + Full measurement description + + + + + upper_front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Upper Chest width + Full measurement name + + + + + Across Front UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Chest width + Full measurement name + + + + + Across Front Chest, from armfold to armfold + Full measurement description + + + + + across_front_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Front + Full measurement description + + + + + + across_back_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Back + Full measurement description + + + + + + Back Upper Chest width + Full measurement name + + + + + + Across Back UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + upper_back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Chest width + Full measurement name + + + + + Across Back Chest, from armfold to armfold + Full measurement description + + + + + bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + BustPoint to BustPoint + Full measurement name + + + + + Distance between BustPoints, across Chest + Full measurement description + + + + + halter_bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + Halter Bustpoint to Bustpoint + Full measurement name + + + + + Distance from Bustpoint, behind neck, down to Bustpoint + Full measurement description + + + + + neck_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + NeckPoint to BustPoint + Full measurement name + + + + + From NeckPoint to BustPoint + Full measurement description + + + + + crotch_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch length + Full measurement name + + + + + From Front Waist Center, down to crotch, up to Back Waist Center + Full measurement description + + + + + rise_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Rise height + Full measurement name + + + + + Sit on hard chair, measure from side waist straight down to chair bottom + Full measurement description + + + + + shoulder_drop + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Drop + Full measurement name + + + + + Vertical Distance from NeckPoint level to ShoulderTip level + Full measurement description + + + + + shoulder_slope_degrees + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Slope degrees + Full measurement name + + + + + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer + Full measurement description + + + + + front_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Shoulder Balance + Full measurement name + + + + + ShoulderTip to Front Waist Center + Full measurement description + + + + + back_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Shoulder Balance + Full measurement name + + + + + ShoulderTip to Back Waist Center + Full measurement description + + + + + front_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Full Length + Full measurement name + + + + + NeckPoint straight down front chest to Waistline + Full measurement description + + + + + back_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Full Length + Full measurement name + + + + + Back NeckPoint straight down back chest to Waistline + Full measurement description + + + + + front_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint through Front Neck Center + Full measurement description + + + + + back_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint across Nape + Full measurement description + + + + + front_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + front_upper-bust_arc + Full measurement name + + + + + front_upper-bust_arc + Full measurement description + + + + + back_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperBust arc + Full measurement name + + + + + Back UpperBust side to side + Full measurement description + + + + + front_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist arc + Full measurement name + + + + + Front Waist side to side + Full measurement description + + + + + back_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist arc + Full measurement name + + + + + Back Waist side to side + Full measurement description + + + + + front_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperHip arc + Full measurement name + + + + + Front UpperHip side to side + Full measurement description + + + + + back_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperHip arc + Full measurement name + + + + + Back UpperHip side to side + Full measurement description + + + + + front_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Hip arc + Full measurement name + + + + + Front Hip side to side + Full measurement description + + + + + back_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Hip arc + Full measurement name + + + + + Back Hip side to side + Full measurement description + + + + + chest_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest Balance + Full measurement name + + + + + NeckPoint to Front ArmfoldPoint + Full measurement description + + + + + back_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Balance + Full measurement name + + + + + NeckPoint to Back ArmfoldPoint + Full measurement description + + + + + front_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist Balance + Full measurement name + + + + + NeckPoint across Front Chest to Waist side + Full measurement description + + + + + back_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist Balance + Full measurement name + + + + + NeckPoint across Back Chest to Waist side + Full measurement description + + + + + front_neck_to_upper_chest_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperChest height + Full measurement name + + + + + Front Neck Center straight down to UpperChest line + Full measurement description + + + + + front_neck_to_bust_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust height + Full measurement name + + + + + Front Neck Center straight down to Bust line + Full measurement description + + + + + armscye_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye Girth + Full measurement name + + + + + Around Armscye + Full measurement description + + + + + elbow_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow Girth + Full measurement name + + + + + Around Elbow with elbow bent + Full measurement description + + + + + upper_arm_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upperarm Girth + Full measurement name + + + + + Around UpperArm + Full measurement description + + + + + wrist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Wrist girth + Full measurement name + + + + + Around Wrist + Full measurement description + + + + + scye_depth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye depth + Full measurement name + + + + + Nape straight down to UnderBust line (same as Back UpperBust height) + Full measurement description + + + + + shoulder_and_arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder and Arm length + Full measurement name + + + + + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + underarm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Underarm length + Full measurement name + + + + + Armpit to Wrist, with arm straight and hanging at side + Full measurement description + + + + + cervicale_to_wrist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to wrist length + Full measurement name + + + + + Nape to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + shoulder_to_elbow_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow length + Full measurement name + + + + + ShoulderTip to Elbow, with elbow bent and hand on hip + Full measurement description + + + + + arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Arm length + Full measurement name + + + + + ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + hand_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand width + Full measurement name + + + + + Hand side to side + Full measurement description + + + + + hand_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand length + Full measurement name + + + + + Hand Middle Finger tip to wrist + Full measurement description + + + + + hand_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand girth + Full measurement name + + + + + Around Hand + Full measurement description + + + + + thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Thigh girth + Full measurement name + + + + + Around Thigh + Full measurement description + + + + + mid_thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Midthigh girth + Full measurement name + + + + + Around MidThigh + Full measurement description + + + + + knee_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee girth + Full measurement name + + + + + Around Knee + Full measurement description + + + + + calf_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Calf girth + Full measurement name + + + + + Around Calf + Full measurement description + + + + + ankle_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle girth + Full measurement name + + + + + Around Ankle + Full measurement description + + + + + knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee height + Full measurement name + + + + + Knee to Floor + Full measurement description + + + + + ankle_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle height + Full measurement name + + + + + Ankle to Floor + Full measurement description + + + + + foot_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot width + Full measurement name + + + + + Widest part of Foot side to side + Full measurement description + + + + + foot_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot length + Full measurement name + + + + + Tip of Longest Toe straight to back of heel + Full measurement description + + + + + height + Short measurement name. Don't use math symbols in name!!!! + + + + + Total Height + Full measurement name + + + + + Top of head to floor + Full measurement description + + + + + cervicale_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape height + Full measurement name + + + + + Nape to Floor + Full measurement description + + + + + cervicale_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to knee height + Full measurement name + + + + + Nape to Knee + Full measurement description + + + + + waist_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist height + Full measurement name + + + + + Waist side to floor + Full measurement description + + + + + high_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip height + Full measurement name + + + + + HighHip side to Floor + Full measurement description + + + + + hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip height + Full measurement name + + + + + Hip side to Floor + Full measurement description + + + + + waist_to_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Hip height + Full measurement name + + + + + Waist side to Hip + Full measurement description + + + + + waist_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Knee height + Full measurement name + + + + + Waist side to Knee + Full measurement description + + + + + crotch_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch height/Inseam + Full measurement name + + + + + Crotch to Floor along inside leg + Full measurement description + + + + + size + Short measurement name. Don't use math symbols in name!!!! + + + + + Size + Full measurement name + Velikost + + + + Size + Full measurement description + Velikost + + + + height_front_neck_base_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height front neck base point + Full measurement name + + + + + Height of the point base of the neck in front + Full measurement description + + + + + height_base_neck_side_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height base neck side point + Full measurement name + + + + + Height of the base of the neck side point + Full measurement description + + + + + height_shoulder_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height shoulder point + Full measurement name + + + + + The height of the shoulder point + Full measurement description + + + + + height_nipple_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height nipple point + Full measurement name + + + + + Height nipple point + Full measurement description + + + + + height_back_angle_axilla + Short measurement name. Don't use math symbols in name!!!! + + + + + Height back angle axilla + Full measurement name + + + + + Height back angle axilla + Full measurement description + + + + + height_scapular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height scapular point + Full measurement name + + + + + Height scapular point + Full measurement description + + + + + height_under_buttock_folds + Short measurement name. Don't use math symbols in name!!!! + + + + + Height under buttock folds + Full measurement name + + + + + Height under buttock folds + Full measurement description + + + + + hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Hips excluding protruding abdomen + Full measurement name + + + + + Hips excluding protruding abdomen + Full measurement description + + + + + girth_foot_instep + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth foot instep + Full measurement name + + + + + Girth foot instep + Full measurement description + + + + + side_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Side waist to floor + Full measurement name + + + + + The distance from the side waist to floor + Full measurement description + + + + + front_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist to floor + Full measurement name + + + + + The distance from the front waist to floor + Full measurement description + + + + + arc_through_groin_area + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through groin area + Full measurement name + + + + + Arc through groin area + Full measurement description + + + + + waist_to_plane_seat + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to plane seat + Full measurement name + + + + + The distance from the waist to the plane seat + Full measurement description + + + + + neck_to_radial_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to radial point + Full measurement name + + + + + The distance from the base of the neck to the side of the radial point + Full measurement description + + + + + neck_to_third_finger + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to third finger + Full measurement name + + + + + Distance from the base of the neck side point to the end of the third finger + Full measurement description + + + + + neck_to_first_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to first line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the side of the first line in front of chest circumference + Full measurement description + + + + + front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist length + Full measurement name + + + + + The distance from the base of the neck to the waist side front (waist length in the front) + Full measurement description + + + + + arc_through_shoulder_joint + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through shoulder joint + Full measurement name + + + + + Arc through the highest point of the shoulder joint + Full measurement description + + + + + neck_to_back_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to back line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes + Full measurement description + + + + + waist_to_neck_side + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to neck side + Full measurement name + + + + + The distance from the waist to the back base of the neck side point + Full measurement description + + + + + arc_length_upper_body + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc length upper body + Full measurement name + + + + + Arc length of the upper body through the base of the neck side point + Full measurement description + + + + + chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest width + Full measurement name + + + + + Chest width + Full measurement description + + + + + anteroposterior_diameter_hands + Short measurement name. Don't use math symbols in name!!!! + + + + + Anteroposterior diameter hands + Full measurement name + + + + + Anteroposterior diameter of the hands + Full measurement description + + + + + height_clavicular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height clavicular point + Full measurement name + + + + + Height clavicular point + Full measurement description + + + + + height_armhole_slash + Short measurement name. Don't use math symbols in name!!!! + + + + + Height armhole slash + Full measurement name + + + + + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) + Full measurement description + + + + + slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Slash shoulder height + Full measurement name + + + + + Slash shoulder height + Full measurement description + + + + + half_girth_neck + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck + Full measurement name + + + + + Half girth neck + Full measurement description + + + + + half_girth_neck_for_shirts + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck for shirts + Full measurement name + + + + + Half girth neck for shirts + Full measurement description + + + + + half_girth_chest_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest first + Full measurement name + + + + + Half girth chest first + Full measurement description + + + + + half_girth_chest_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest second + Full measurement name + + + + + Half girth chest second + Full measurement description + + + + + half_girth_chest_third + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest third + Full measurement name + + + + + Half girth chest third + Full measurement description + + + + + half_girth_waist + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth waist + Full measurement name + + + + + Half girth waist + Full measurement description + + + + + half_girth_hips_considering_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips considering protruding abdomen + Full measurement name + + + + + Half girth hips considering protruding abdomen + Full measurement description + + + + + half_girth_hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips excluding protruding abdomen + Full measurement name + + + + + Half girth hips excluding protruding abdomen + Full measurement description + + + + + girth_knee_flexed_feet + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth knee flexed feet + Full measurement name + + + + + Girth knee flexed feet + Full measurement description + + + + + neck_transverse_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck transverse diameter + Full measurement name + + + + + Neck transverse diameter + Full measurement description + + + + + front_slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front slash shoulder height + Full measurement name + + + + + Front slash shoulder height + Full measurement description + + + + + neck_to_front_waist_line + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to front waist line + Full measurement name + + + + + The distance from the base of the neck to the waist line front + Full measurement description + + + + + hand_vertical_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand vertical diameter + Full measurement name + + + + + Hand vertical diameter + Full measurement description + + + + + neck_to_knee_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to knee point + Full measurement name + + + + + Distance from neck to knee point + Full measurement description + + + + + waist_to_knee + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to knee + Full measurement name + + + + + The distance from the waist to the knee + Full measurement description + + + + + shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder height + Full measurement name + + + + + Shoulder height + Full measurement description + + + + + head_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Head height + Full measurement name + + + + + Head height + Full measurement description + + + + + body_position + Short measurement name. Don't use math symbols in name!!!! + + + + + Body position + Full measurement name + + + + + Body position + Full measurement description + + + + + arc_behind_shoulder_girdle + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc behind shoulder girdle + Full measurement name + + + + + Arc behind the shoulder girdle + Full measurement description + + + + + neck_to_neck_base + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to neck base + Full measurement name + + + + + Distance from neck point to point on the base of the neck side neck girth measurement line + Full measurement description + + + + + depth_waist_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist first + Full measurement name + + + + + Depth waist first + Full measurement description + + + + + depth_waist_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist second + Full measurement name + + + + + Depth waist second + Full measurement description + PatternPage - + User - + User name - + Graphical output - + Use antialiasing - + Undone - + Count steps + + PostfixOperators + + + cm + centimeter + + + + + mm + millimeter + + + + + in + inch + + + QObject - + Create new pattern piece to start working. @@ -2775,130 +5543,168 @@ Do you want to save your changes? TableWindow - + Create a layout Vytvořit rozvržení - + toolBar Nástrojový pruh - + Save Uložit - - + + Save layout Uložit rozvržení - + Next Další - + Next detail Další detail - + Turn Otočit - + Turn the detail 90 degrees - + Stop Zastavit - + Stop laying Zastavit kladení - + Enlarge letter Zvětšit list - + Enlarge the length of the sheet - + Reduce sheet Zmenšit list - + Reduce the length of the sheet Zmenšit velikost listu - - + + Mirroring Zrcadlení - - + + Zoom In Přiblížit - - + + Zoom Out Oddálit - + 0 details left. - - + + Collisions not found. - + %1 details left. - + + untitled + + + + + Svg files (*.svg) + + + + + PDF files (*.pdf) + + + + + Images (*.png) + + + + + PS files (*.ps) + + + + + EPS files (*.eps) + + + + Collisions found. - - SVG Generator Example Drawing - Kreslení pomocí SVG Generator Example + + Creating file '%1' failed! %2 + + + + + Critical error! + + + + SVG Generator Example Drawing + Kreslení pomocí SVG Generator Example - An SVG drawing created by the SVG Generator Example provided with Qt. - Kresba SVG vytvořená pomocí SVG Generator Example poskytovaného s Qt. + Kresba SVG vytvořená pomocí SVG Generator Example poskytovaného s Qt. VAbstractNode - + Can't find tag Modeling Nelze najít značku Modeling @@ -2906,12 +5712,12 @@ Do you want to save your changes? VAbstractTool - + Confirm the deletion. - + Do you really want delete? @@ -2919,42 +5725,36 @@ Do you want to save your changes? VApplication - - - - - - Error! - Chyba! + Chyba! - + Error parsing file. Program will be terminated. Chyba při zpracování souboru. Program bude ukončen. - + Error bad id. Program will be terminated. Chyba. Špatný identifikátor. Program bude ukončen. - + Error can't convert value. Program will be terminated. Chyba. Nelze převést hodnotu. Program bude ukončen. - + Error empty parameter. Program will be terminated. Chyba. Prázdný parametr. Program bude ukončen. - + Error wrong id. Program will be terminated. Chyba. Špatný identifikátor. Program bude ukončen. - + Something's wrong!! @@ -2966,215 +5766,369 @@ Do you want to save your changes? VContainer - - - + + + Can't find object Nelze najít předmět + + + Can't cast object + + VDomDocument - - Can't find tool id = %1 in table. + Got wrong parameter id. Need only id > 0. + Obdrženo špatné ID parametru. Je potřeba jen ID > 0. + + + Can't convert toLongLong parameter + Nelze převést na parametr toLongLong + + + + Can't convert toUInt parameter - - Got wrong parameter id. Need only id > 0. - Obdrženo špatné ID parametru. Je potřeba jen ID > 0. - - - - Can't convert toLongLong parameter - Nelze převést na parametr toLongLong - - - + Got empty parameter Obdržen prázdný parametr - + Can't convert toDouble parameter Nelze převést na parametr toDouble - + + + Can't open file %1: +%2. + + + + + Can't open schema file %1: +%2. + + + + + Validation error in line %1 column %2 + + + + + Parcing error in line %1 column %2 + + + This id is not unique. - Toto ID není jedinečné. + Toto ID není jedinečné. - Error creating or updating detail - Chyba při vytváření nebo aktualizaci detailu + Chyba při vytváření nebo aktualizaci detailu - Error creating or updating single point - Chyba při vytváření nebo aktualizaci základního bodu + Chyba při vytváření nebo aktualizaci základního bodu - Error creating or updating point of end line - Chyba při vytváření nebo aktualizaci bodu na konci čáry + Chyba při vytváření nebo aktualizaci bodu na konci čáry - Error creating or updating point along line - Chyba při vytváření nebo aktualizaci bodu podél čáry + Chyba při vytváření nebo aktualizaci bodu podél čáry - Error creating or updating point of shoulder - Chyba při vytváření nebo aktualizaci bodu ramene + Chyba při vytváření nebo aktualizaci bodu ramene - Error creating or updating point of normal - Chyba při vytváření nebo aktualizaci bodu kolmice + Chyba při vytváření nebo aktualizaci bodu kolmice - Error creating or updating point of bisector - Chyba při vytváření nebo aktualizaci bodu osy úhlu + Chyba při vytváření nebo aktualizaci bodu osy úhlu - Error creating or updating point of lineintersection - Chyba při vytváření nebo aktualizaci bodu průsečíku čar + Chyba při vytváření nebo aktualizaci bodu průsečíku čar - Error creating or updating point of contact - Chyba při vytváření nebo aktualizaci bodu dotyku + Chyba při vytváření nebo aktualizaci bodu dotyku - Error creating or updating modeling point - Chyba při vytváření nebo aktualizaci bodu + Chyba při vytváření nebo aktualizaci bodu - Error creating or updating height - Chyba při vytváření nebo aktualizaci výšky + Chyba při vytváření nebo aktualizaci výšky - Error creating or updating triangle - Chyba při vytváření nebo aktualizaci trojúhelníku + Chyba při vytváření nebo aktualizaci trojúhelníku - Error creating or updating point of intersection - Chyba při vytváření nebo aktualizaci bodu průsečíku + Chyba při vytváření nebo aktualizaci bodu průsečíku - - Error creating or updating cut spline point - - - - - Error creating or updating cut spline path point - - - - - Error creating or updating cut arc point - - - - Error creating or updating line - Chyba při vytváření nebo aktualizaci čáry + Chyba při vytváření nebo aktualizaci čáry - Error creating or updating simple curve - Chyba při vytváření nebo aktualizaci křivky + Chyba při vytváření nebo aktualizaci křivky - Error creating or updating curve path - Chyba při vytváření nebo aktualizaci cesty křivky + Chyba při vytváření nebo aktualizaci cesty křivky - Error creating or updating modeling simple curve - Chyba při vytváření nebo aktualizaci modelové křivky + Chyba při vytváření nebo aktualizaci modelové křivky - Error creating or updating modeling curve path - Chyba při vytváření nebo aktualizaci cesty modelové křivky + Chyba při vytváření nebo aktualizaci cesty modelové křivky - Error creating or updating simple arc - Chyba při vytváření nebo aktualizaci oblouku + Chyba při vytváření nebo aktualizaci oblouku - Error creating or updating modeling arc - Chyba při vytváření nebo aktualizaci modelového oblouku + Chyba při vytváření nebo aktualizaci modelového oblouku - - Error creating or updating union details - - - - Error! - Chyba! + Chyba! - Error parsing file. - Chyba při zpracování souboru. + Chyba při zpracování souboru. VDrawTool - + Can not find the element after which you want to insert. Nelze najít prvek, po kterém chcete vkládat. - + Can't find tag Calculation Nelze najít značku Calculation - + Options Volby - + Delete Smazat + + VException + + + Critical error! + + + + + VPattern + + + Can't find tool id = %1 in table. + + + + + Error no unique id. + + + + + Error! + Chyba! + + + + Error parsing file. + Chyba při zpracování souboru. + + + + Error creating or updating detail + Chyba při vytváření nebo aktualizaci detailu + + + + Error creating or updating single point + Chyba při vytváření nebo aktualizaci základního bodu + + + + + Error creating or updating point of end line + Chyba při vytváření nebo aktualizaci bodu na konci čáry + + + + + Error creating or updating point along line + Chyba při vytváření nebo aktualizaci bodu podél čáry + + + + + Error creating or updating point of shoulder + Chyba při vytváření nebo aktualizaci bodu ramene + + + + + Error creating or updating point of normal + Chyba při vytváření nebo aktualizaci bodu kolmice + + + + + Error creating or updating point of bisector + Chyba při vytváření nebo aktualizaci bodu osy úhlu + + + + Error creating or updating point of lineintersection + Chyba při vytváření nebo aktualizaci bodu průsečíku čar + + + + + Error creating or updating point of contact + Chyba při vytváření nebo aktualizaci bodu dotyku + + + + Error creating or updating modeling point + Chyba při vytváření nebo aktualizaci bodu + + + + Error creating or updating height + Chyba při vytváření nebo aktualizaci výšky + + + + Error creating or updating triangle + Chyba při vytváření nebo aktualizaci trojúhelníku + + + + Error creating or updating point of intersection + Chyba při vytváření nebo aktualizaci bodu průsečíku + + + + + Error creating or updating cut spline point + + + + + + Error creating or updating cut spline path point + + + + + + Error creating or updating cut arc point + + + + + Error creating or updating line + Chyba při vytváření nebo aktualizaci čáry + + + + Error creating or updating simple curve + Chyba při vytváření nebo aktualizaci křivky + + + + Error creating or updating curve path + Chyba při vytváření nebo aktualizaci cesty křivky + + + + Error creating or updating modeling simple curve + Chyba při vytváření nebo aktualizaci modelové křivky + + + + Error creating or updating modeling curve path + Chyba při vytváření nebo aktualizaci cesty modelové křivky + + + + + Error creating or updating simple arc + Chyba při vytváření nebo aktualizaci oblouku + + + + Error creating or updating modeling arc + Chyba při vytváření nebo aktualizaci modelového oblouku + + + + Error creating or updating union details + + + + + Got wrong parameter id. Need only id > 0. + Obdrženo špatné ID parametru. Je potřeba jen ID > 0. + + + + This id is not unique. + Toto ID není jedinečné. + + VSplinePath - + Not enough points to create the spline. Nedostatek bodů na vytvoření křivky. - - - + + + This spline does not exist. - + Can't cut spline path with one point @@ -3182,12 +6136,12 @@ Do you want to save your changes? VTableGraphicsView - + can't find detail - + detail found @@ -3195,12 +6149,12 @@ Do you want to save your changes? VToolDetail - + Options Volby - + Delete Smazat @@ -3208,17 +6162,48 @@ Do you want to save your changes? VToolTriangle - Can't find point. - Nelze najít bod. + Nelze najít bod. VToolUnionDetails - + Can't find tag Modeling Nelze najít značku Modeling + + Variables + + + Line_ + Left symbol _ in name + + + + + AngleLine_ + Left symbol _ in name + + + + + Arc_ + Left symbol _ in name + + + + + Spl_ + Left symbol _ in name + + + + + SplPath + + + diff --git a/src/app/share/translations/valentina_de.ts b/src/app/share/translations/valentina_de.ts index 096e6d008..068facc54 100644 --- a/src/app/share/translations/valentina_de.ts +++ b/src/app/share/translations/valentina_de.ts @@ -1,35 +1,35 @@ - + ConfigDialog - + Apply - + &Cancel - + &Ok - + Config Dialog - + Configuration - + Pattern @@ -37,171 +37,224 @@ ConfigurationPage - + Setup user interface language updated and will be used the next time start - + Save Speichern - + Auto-save modified pattern - + Interval: - + min - + Language - + GUI language - + Decimal separator parts - + With OS options (.) + + DialogAboutApp + + + About Valentina + Über Valentina + + + + Valentina version + + + + + pushButton_Web_Site + + + + + Contributors + + + + + label_QT_Version + + + + + Based on Qt %2 (32 bit) + Based on Qt %2 (32 bit) + + + + Built on %3 at %4 + Built on %3 at %4 + + + + Web site : %1 + + + + + Warning + + + + + Cannot open your default browser + + + DialogAlongLine - + Point along line Punkt auf einer Linie - + Length Länge - + Formula for the calculation of length of line Formel für die Berechnung der Länge der Linie - + Insert variable into the formula Variable in die Formel einfügen - - + + ... - + Calculate value Wert berechnen - + Value of length Wert der Länge - + _ - + Point label Bezeichnung des Punktes - + First point Erster Punkt - + First point of line Erster Punkt der Linie - + Second point Zweiter Punkt - + Second point of line Zweiter Punkt der Linie - + Type of line Linientyp - + Show line from first point to this point Linie vom ersten zu diesem Punkt zeigen - + Input data Eingabedaten - + Size and height Konfektion und Größe - + Standard table Standardtabelle - + Increments weitere Maße - + Length of lines Linienlängen - + Length of arcs Bogenlängen - + Length of curves Kurvenlängen - + Variables - Click twice to insert into formula Variablen - Doppelklick fügt die Variable in die Formel ein - + Select second point of line Zweiten Punkt der Linie auswählen @@ -209,151 +262,151 @@ DialogArc - + Arc Bogen - + Radius Radius - + Formula for the calculation of radius of arc Formel fü die Berechnung des Bogenradius - + Insert variable into the formula Variable in die Formel einfügen - - - - - - + + + + + + ... - - - + + + Calculate value Wert berechnen - + Value of radius Wert des Radius - - - + + + _ - + First angle degree Erster Winkel in Grad - + First angle of arc counterclockwise Erster Winkel des Bogens gegen den Uhrzeigersinn - + Insert variable into formula Variable in die Formel einfügen - + Value of first angle Wert des ersten Winkels - + Second angle degree Zweiter Winkel in Grad - + Second angle of arc counterclockwise Zweiter Winkel des Bogens gegen den Uhrzeigersinn - + Insert marked variable into formula Markierte Variable in die Formel einfügen - + Value of second angle Wert des zweiten Winkels - + Center point Mittelpunkt - + Select point of center of arc Mittelpunkt des Bogens auswählen - + Input data Eingabedaten - + Size and height Konfektion und Größe - + Standard table Standardtabelle - + Increments weitere Maße - + Length of lines Linienlängen - + Length of arcs Bogenlängen - + Length of curves Kurvenlängen - + Angle of lines Linenwinkel - + Variables Variablen - + Value of angle of line. Wert des Linenwinkels. @@ -361,138 +414,138 @@ DialogBisector - + Bisector Winkelhalbierende - + Length Länge - + Calculation of length of bisector by using the formula Formel zur Berechnung der Länge der Winkelhalbierenden - + Insert marked variable into the formula Markierte Variable in die Formel einfügen - - + + ... - + Calculate value Wert berechnen - + Value of length Wert der Länge - + _ - + Point label Bezeichnung des Punktes - + First point Erster Punkt - + First point of angle Punkt der ersten Schenkelgeraden - + Second point Zweiter Punkt - + Second point of angle Scheitel des Winkels - + Third point Punkt der zweiten Scheitelgeraden - + Third point of angle Punkt der zweiten Schenkelgeraden - + Type of line Linientyp - + Show line from second point to this point Zeige Linie vom Scheitelpunkt zu diesem Punkt - + Input data Eingabedaten - + Size and height Konfektion und Größe - + Standard table Standardtabelle - + Increments weitere Maße - + Length of lines Linienlängen - + Length of arcs Bogenlängen - + Length of curves Kurvenlängen - + Variables - Click twice to insert into formula Variablen - Doppelklick fügt die Variable in die Formel ein - + Select second point of angle Scheitelpunkt auswählen - + Select third point of angle zweiten Punkt auf dem zweiten Schenkel wählen @@ -500,93 +553,93 @@ DialogCutArc - + Dialog Dialog - + Length Länge - + Formula for the calculation of the spline Formel für die Berechnung der Länge des Splines - - + + ... - + Calculate value Wert berechnen - + Value of length Wert der Länge - + _ - + Arc Bogen - + Selected curve Ausgewählte Kurve - + Point label Bezeichnung des Punktes - + Input data Eingabedaten - + Size and height Konfektion und Größe - + Standard table Standardtabelle - + Increments weitere Maße - + Length of lines Linienlängen - + Length of arcs Bogenlängen - + Length of curves Kurvenlängen - + Variables - Click twice to insert into formula Variablen - Doppelklick fügt die Variable in die Formel ein @@ -594,93 +647,93 @@ DialogCutSpline - + Dialog Dialog - + Length Länge - + Formula for the calculation of the spline Formel für die Berechnung der Länge der Splines - - + + ... - + Calculate value Wert berechnen - + Value of length Wert der Länge - + _ - + Curve Kurve - + Selected curve Ausgewählte Kurve - + Point label Bezeichnung des Punktes - + Input data Eingabedaten - + Size and height Konfektion und Größe - + Standard table Standardtabelle - + Increments weitere Maße - + Length of lines Linienlängen - + Length of arcs Bogenlängen - + Length of curves Kurvenlängen - + Variables - Click twice to insert into formula Variablen - Doppelklick fügt die Variable in die Formel ein @@ -688,93 +741,93 @@ DialogCutSplinePath - + Dialog Dialog - + Length Länge - + Formula for the calculation of the curve length Formel für die Berechnung der Kurvenlänge - - + + ... - + Calculate value Wert berechnen - + Value of length Wert der Länge - + _ - + Curve Kurve - + Selected curve path Ausgewählter Kurvenpfad - + Point label Bezeichnung des Punktes - + Input data Eingabedaten - + Size and height Konfektion und Größe - + Standard table Standardtabelle - + Increments weitere Maße - + Length of lines Linienlängen - + Length of arcs Bogenlängen - + Length of curves Kurvenlängen - + Variables - Click twice to insert into formula Variablen - Doppelklick fügt die Variable in die Formel ein @@ -782,120 +835,119 @@ DialogDetail - - + + Detail Detail - + Bias X Bias X - + Bias Y Bias Y - + Options Optionen - + Name of detail Name des Deails - + Seam allowance Nahtzugaben - + Width Breite - + Closed Geschlossen - + Delete Löschen - + Got wrong scene object. Ignore. Falsches scene object. Wird ignoriert. - Got wrong tools. Ignore. - Falsche tools übermittelt. Wird ignoriert. + Falsche tools übermittelt. Wird ignoriert. DialogEndLine - + Point in the end of a line Punkt am Ende einer Linie - + Length Länge - + Formula for calculation of length of line Formel für die Berechnung der Länge der Linie - - - - - - - - - - + + + + + + + + + + ... - + Calculate value Wert berechnen - + Value of length Wert der Länge - + _ - + Base point Startpunkt - + First point of line Erster Punkt der Linie - + Point label Bezeichnung des Punktes @@ -904,62 +956,62 @@ Winkel - + Degree of angle - + Angle of line Linenwinkel - + Type of line Linientyp - + Show line from first point to this point Linie vom ersten zu diesem Punkt zeigen - + Input data Eingabedaten - + Size and height Konfektion und Größe - + Standard table Standardtabelle - + Increments weitere Maße - + Length of lines Linienlängen - + Length of arcs Bogenlängen - + Length of curves Kurvenlängen - + Variables - Click twice to insert into formula Variablen - Doppelklick fügt die Variable in die Formel ein @@ -967,50 +1019,50 @@ DialogHeight - + Dialog Dialog - + Point label Bezeichnung des Punktes - + Base point Startpunkt - - - - + + + + First point of line Erster Punkt der Linie - + Second point of line Zweiter Punkt der Linie - + Type of line Linientyp - + Show line from first point to our point Zeige linie vom ersten punkt zu diesem Punkt - + Select first point of line Ersten Punkt der Linie auswählen - + Select second point of line Zweiten Punkt der Linie auswählen @@ -1018,242 +1070,423 @@ DialogHistory - + History Chronik - - + + Tool Werkzeug - + + + + + Can't create record. + + + + %1 - Base point %1 - Startpunkt - - + + %1_%2 - Line from point %1 to point %2 %1_%2 - Linie von Punkt %1 nach Punkt %2 - + %3 - Point along line %1_%2 %3 - Punkt auf der Linie %1_%2 - + %1 - Point of shoulder %1 -. Schulterpunkt - + %3 - normal to line %1_%2 %3 - Normale zur Linie %1_%2 - + %4 - bisector of angle %1_%2_%3 %4 - Winkelhalbierende des Winkels %1_%2_%3 - + %5 - intersection of lines %1_%2 and %3_%4 %5 - Schnittpunkt der Linien %1_%2 und %3_%4 - + Curve %1_%2 Kurve %1_%2 - + Arc with center in point %1 Bogen mit dem Mittelpunkt %1 - + Curve point %1 Kurvenpunkt %1 - + %4 - point of contact of arc with the center in point %1 and line %2_%3 %4 - Kontaktpunkt von Bogen und dem Mittelpunkt von Punkt %1 und Linie %2_%3 - + Point of perpendicular from point %1 to line %2_%3 Lotfußpunkt von Punkt %1 zu Linie %2_%3 - + Triangle: axis %1_%2, points %3 and %4 Dreieck: Achse %1_%2, Punkte %3 und %4 - + %1 - point of intersection %2 and %3 %1 - Schnittpunkt von %2 und %3 - + %1 - cut arc with center %2 - + %1 - cut curve %2_%3 - + %1 - cut curve path %2 - Got wrong tool type. Ignore. - Falscher Werkzeugtype übermittelt. Wird ignoriert. + Falscher Werkzeugtype übermittelt. Wird ignoriert. DialogIncrements - - + + Increments weitere Maße - Sizes table - Größentabelle + Größentabelle - - + + Name Bezeichnung - - + + The calculated value Berechneter Wert - - + + Base value Basiswert - - + + In sizes In Konfektionen - - In growths - In Größen + In Größen - - - - + + + Description Beschreibung - - + + + ... - + + + Measurements + + + + + Load another measurements table + + + + + Personal information + + + + + Given name + + + + + Family name + + + + + Birth date + + + + + yyyy-MM-dd + + + + + Sex + + + + + Mail + + + + + + In heights + + + + Lines Linien - + Line Linie - - - + + + Length Länge - + Curves Kurven - + Curve Kurve - + Arcs Bögen - + Arc Bogen - + + + + File error. + + + + + male + + + + + female + + + + + Measurements use different units than pattern. This pattern required measurements in %1 + + + + + Individual measurements (*.vit) + + + + + + Open file + Datei öffnen + + + + + Wrong units. + + + + + Standard measurements (*.vst) + + + + Name_%1 - Can't convert toDouble value. - Kann nicht zu double konvertieren. + Kann nicht zu double konvertieren. + + + + DialogIndividualMeasurements + + + Dialog + Dialog + + + + Pattern piece name + + + + + Exist measurements + + + + + + Path: + + + + + + ... + + + + + New measurements + + + + + Units: + + + + + Could not create measurements file + + + + + Please try again or change file + + + + + + File error. + + + + + + Individual measurements (*.vit) + + + + + Open file + Datei öffnen + + + + Where save measurements? + + + + + centimeter + + + + + inch + DialogLine - + Line Linie - + First point Erster Punkt - + Second point Zweiter Punkt - + Type of line Linientyp - + Show line from first point to this point Linie vom ersten zu diesem Punkt zeigen - + Select second point Wähle zweiten Punkt @@ -1261,291 +1494,347 @@ DialogLineIntersect - + Intersection of lines Schnittpunkt von Linien - + Point label Bezeichnung des Punktes - + First line Erste Linie - - + + First point Erster Punkt - - + + Second point Zweiter Punkt - + Second line Zweite Linie - + Select second point of first line Zweiten Punkt der ersten Linie auswählen - + Select first point of second line Ersten Punkt der zweiten Linie auswählen - + Select second point of second line Zweiten Punkt der zweiten Linie auswählen + + DialogMeasurements + + + Measurements + + + + + <html><head/><body><p><span style=" font-size:18pt;">Please, choose pattern type.</span></p></body></html> + + + + + Graduation + + + + + Use for creation pattern standard measurement table + + + + + Individual + + + + + Use for creation pattern individual measurements + + + DialogNormal - + Normal Normale - + Length Länge - + Formula for calculation of length of normal Formel für die Berechnung der Länge der Normalen - + Insert variable into formula Variable in die Formel einfügen - - - - - - - - - - + + + + + + + + + + ... - + Calculate value Wert berechnen - + Value of length Wert der Länge - + _ - + Point label Bezeichnung des Punktes - + First point Erster Punkt - + Second point Zweiter Punkt - + Additional angle degrees Zusätzlicher Winkel - + Type of line Linientyp - + Show line from first point to this point Linie vom ersten zu diesem Punkt zeigen - + Input data Eingabedaten - + Size and height Konfektion und Größe - + Standard table Standardtabelle - + Increments weitere Maße - + Length of lines Linienlängen - + Length of arcs Bogenlängen - + Length of curves Kurvenlängen - + Variables - Click twice to insert into formula Variablen - Doppelklick fügt die Variable in die Formel ein - + Select second point of line Zweiten Punkt der Linie auswählen + + DialogPatternProperties + + + Pattern properties + + + + + Author name + + + + + Pattern description + + + + + For technical notes. + + + DialogPointOfContact - + Point of contact Kontaktpunkt - + Radius Radius - + Formula for calculation of radius of arc Formel fü die Berechnung des Bogenradius - + Insert variable into formula Variable in die Formel einfügen - - + + ... - + Calculate value Wert berechnen - + Value of radius Wert des Radius - + _ - + Point label Bezeichnung des Punktes - + Center of arc Mittelpunkt des Bogens - - + + Select point of center of arc Mittelpunkt des Bogens auswählen - + Top of the line Anfang der Linie - + End of the line Ende der Linie - + Input data Eingabedaten - + Size and height Konfektion und Größe - + Standard table Standardtabelle - + Increments weitere Maße - + Length of lines Linienlängen - + Length of arcs Bogenlängen - + Length of curves Kurvenlängen - + Variables - Click twice to insert into formula. Variablen - Doppelklick fügt die Variable in die Formel ein. - + Select second point of line Zweiten Punkt der Linie auswählen @@ -1553,37 +1842,37 @@ DialogPointOfIntersection - + Dialog Dialog - + Point label Bezeichnung des Punktes - + vertical point - + First point of angle Punkt der ersten Schenkelgeraden - + horizontal point - + Second point of angle Scheitel des Winkels - + Select point horizontally @@ -1591,115 +1880,115 @@ DialogShoulderPoint - - + + Point of shoulder - + Length Länge - + Formula for calculation of length of line Formel für die Berechnung der Länge der Linie - + Insert variable into formula Variable in die Formel einfügen - - + + ... - + Calculate value Wert berechnen - + Value of length Wert der Länge - + _ - + Point label Bezeichnung des Punktes - + First point Erster Punkt - + Second point Zweiter Punkt - + Type of line Linientyp - + Show line from first point to our point Zeige linie vom ersten punkt zu diesem Punkt - + Input data Eingabedaten - + Size and height Konfektion und Größe - + Standard table Standardtabelle - + Increments weitere Maße - - + + Length of lines Linienlängen - + Length of curves Kurvenlängen - + Variables - Click twice to insert into formula Variablen - Doppelklick fügt die Variable in die Formel ein - + Select second point of line Zweiten Punkt der Linie auswählen - + Select point of shoulder @@ -1707,32 +1996,32 @@ DialogSinglePoint - + Single point Einzelpunkt - + Coordinates on the sheet Koordinaten auf der Seite - + Coordinates Koordinaten - + Y coordinate Y Koordinate - + X coordinate X Koordinate - + Point label Bezeichnung des Punktes @@ -1740,47 +2029,47 @@ DialogSpline - + Curve Kurve - + First point Erster Punkt - + Length ratio of the first control point Längenverhältnis des ersten Kontrollpunktes - + The angle of the first control point Winkel des ersten Kontrollpunktes - + Second point Zweiter Punkt - + Length ratio of the second control point Längenverhältnis des zweiten Kontrollpunktes - + The angle of the second control point Winkel des zweiten Kontrollpunktes - + Coefficient of curvature of the curve Koeffizient für die Krümmung der Kurve - + Select last point of curve Letzten Punkt auf der Kurve auswählen @@ -1788,115 +2077,137 @@ DialogSplinePath - + Curve path Kurvenpfad - + Point of curve Punkt der Kurve - + Length ratio of the first control point Längenverhältnis des ersten Kontrollpunktes - + The angle of the first control point Winkel des ersten Kontrollpunktes - + Length ratio of the second control point Längenverhältnis des zweiten Kontrollpunktes - + The angle of the second control point Winkel des zweiten Kontrollpunktes - + List of points Liste von Punkten - + Coefficient of curvature of the curve Koeffizient für die Krümmung der Kurve - + Select point of curve path Punkt für den Kurvenpfad auswählen + + DialogStandardMeasurements + + + Standard table + Standardtabelle + + + + Pattern piece name + + + + + Standard measurements table + + + + + File error. + + + DialogTool - + Line Linie - + No line Keine Linie - + Dash Line - + Dot Line - + Dash Dot Line - + Dash Dot Dot Line - Can't find object by name - Kann kein Objekt mit diesen Namen finden + Kann kein Objekt mit diesen Namen finden - + Error Fehler - + Height Größe - + Size Konfektion - + Line length Linienlänge - + Arc length Bogenlänge - + Curve length Kurvenlänge @@ -1904,55 +2215,55 @@ DialogTriangle - + Dialog Dialog - + Point label Bezeichnung des Punktes - + First point of axis Erster Punkt der Achse - - - - + + + + First point of line Erster Punkt der Linie - + Second point of axis Zweiter Punkt der Achse - + First point Erster Punkt - + Second point Zweiter Punkt - + Select second point of axis Den zweiten Punkt der Achse auswählen - + Select first point Zweiten Punkt wählen - + Select second point Zweiten Punkt wählen @@ -1960,52 +2271,204 @@ DialogUnionDetails - + Dialog Dialog - + Do you really want union details? This operation can't be undone. Sollen die Details wirklich vereinigt werden? Diese Operation kann nicht rückgängig gemacht werden. - + Select first point Ersten Punkt auswählen - + Select second point Zweiten Punkt auswählen - - + + Select another second point Einen anderen zweiten Punkt auswählen - + Select detail Detail auswählen + + Functions + + + sin + sine function + + + + + cos + cosine function + + + + + tan + tangens function + + + + + asin + arcus sine function + + + + + acos + arcus cosine function + + + + + atan + arcus tangens function + + + + + sinh + hyperbolic sine function + + + + + cosh + hyperbolic cosine + + + + + tanh + hyperbolic tangens function + + + + + asinh + hyperbolic arcus sine function + + + + + acosh + hyperbolic arcus tangens function + + + + + atanh + hyperbolic arcur tangens function + + + + + log2 + logarithm to the base 2 + + + + + log10 + logarithm to the base 10 + + + + + log + logarithm to the base 10 + + + + + ln + logarithm to base e (2.71828...) + + + + + exp + e raised to the power of x + + + + + sqrt + square root of a value + + + + + sign + sign function -1 if x<0; 1 if x>0 + + + + + rint + round to nearest integer + + + + + abs + absolute value + + + + + min + min of all arguments + + + + + max + max of all arguments + + + + + sum + sum of all arguments + + + + + avg + mean value of all arguments + + + MainWindow - - + Valentina Valentina - + Tools for creating points. Werkzeuge zum Erstellen von Punkten. - + Point Punkt @@ -2014,25 +2477,25 @@ Werkzeug für den Punkt am Ende einer Linie. - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + ... @@ -2057,17 +2520,17 @@ Werzeug zur Erzeugung eines Lotfußpunktes. - + Tool triangle. Werkzeug Dreieck. - + Tools for creating lines. Werkzeuge zur Linienerzeugung. - + Line Linie @@ -2080,155 +2543,160 @@ Werkzeug zum Erzeugen eines Punktes am Schnittpunkt zweier Linien. - + Point at distance and angle - + Special point on shoulder. - + Point at intersection of arc and line. - + Point along bisector - + Point along perpendicular - + Point at distance along line - + Perpendicular point along line - + Line between points - + Point at line intersection - + Tools for creating curves. Werkzeuge zur Kurvenerzeugung. - + Curve Kurve - + Curve tool. Kurvenverkzeug. - + Tool for path curve. Werkzeug zur Definition einer Kurve. - + Tool segment a pathed curve. - + Tool for segmenting a curve. Werkzeug zur Kurvensegmentierung. - + Tools for creating arcs. Werkzeuge zur Kurvenerzeugung. - + Arc Bogen - + Arc tool. Bogenwerkzeug. - + Tools for creating details. Werkzeuge zur Detailerzeugung. - + Detail Detail - + Tool new detail. Werkzeug neues Detail. - + &File - + &Help - + &Pattern piece - + Save &As... - + About &Qt - + &About Valentina - + E&xit - + Exit the application - + Options... + + + Pattern properties + + File Datei @@ -2242,203 +2710,202 @@ Schnittteil - + toolBar toolBar - + toolBar_2 - + toolBar_3 - + New Neu - + &New - + Create a new pattern Neues Schnittmuster erstellen - + Ctrl+N Strg+N - + Open Öffnen - + &Open - + Open file with pattern Datei mit Schnittmuster öffnen - + Save Speichern - + &Save - + Save pattern Schnittmuster speichern - + Ctrl+S Strg+S - + Save as Speichern als - + Save not yet saved pattern Speichere ungesichertes Schnittmuster - + Ctrl+Shift+S Strg+Umschalt+S - + Draw Zeichnen - + Draw mode Zeichnenmodus - + Ctrl+W Strg+W - + Details Details - + Details mode Detailmodus - + Ctrl+E Strg+E - - + + Pointer tools Zeigerwerkzeuge - + New pattern piece Neues Schnittteil - + Add new pattern piece Neues Schnittteil hinzufügen - + Ctrl+Shift+N Strg+Umschalt+N - - + + Change the label of pattern piece Das Label eines Schnittteils ändern - + Table of variables Variablentabelle - + Tables of variables Variablentabellen - + Ctrl+T Strg+T - + History Chronik - + Ctrl+H Strg+H - + Layout Layout - + Create layout Layout erstellen - + Ctrl+L Strg+L - + About Qt Über Qt - About Valentina - Über Valentina + Über Valentina Exit Beenden - + Ctrl+Q Strg+Q @@ -2447,157 +2914,175 @@ Es muss ein neues Schnittteil erstellt werden, um fortfahen zu können. - + Pattern piece %1 Schnittteil %1 - - + Pattern piece: Schnittteil: - Enter a label for the pattern piece. - Eine Bezeichnung für das Schnittteil eingeben. + Eine Bezeichnung für das Schnittteil eingeben. - Error. Pattern piece of same label already exists. - Fehler. Ein Schnittteil mit der gleichen Bezeichnung existiert bereits. + Fehler. Ein Schnittteil mit der gleichen Bezeichnung existiert bereits. - Error creating pattern with the name - Fehler beim Erstellen eines Schnittmusters mit dem Namen + Fehler beim Erstellen eines Schnittmusters mit dem Namen - + Enter a new label for the pattern piece. Es muss ein neues Label für das Schnittteil eingegeben werden. - Error. Pattern piece of same name already exists. - Fehler. Ein Schnittteil mit dem selben Namen existiert bereits. + Fehler. Ein Schnittteil mit dem selben Namen existiert bereits. - + Error saving change!!! Fehler beim Speichern der Änderungen! - + Can't save new label of pattern piece Neue Bezeichnung für das Schnittteil kann nicht gespeichert werden - - + + Select point Punkt wählen - + Select first point Zweiten Punkt wählen - - - + + + Select first point of line Ersten Punkt der Linie auswählen - + Select first point of angle Den Erstehn Punkt des Winkels wählen - + Select first point of first line Den ersten Punkt der Linie wählen - + Select first point curve Ersten Punkt der Kurve wählen - + Select simple curve Einfache Kurve auswählen - + Select point of center of arc Mittelpunkt des Bogens auswählen - + Select point of curve path Punkt für den Kurvenpfad auswählen - + Select curve path Kurvenpfad auswählen - + Select points, arcs, curves clockwise. Punkte, Bögen, Kurven im Uhrzeigersinn auswählen. - + Select base point Fußpunkt auswählen - + Select first point of axis Ersten Punkt der Achse auswählen - + Select point vertically - + Select detail Detail auswählen - + Select arc - + + Measurements use different units than pattern. This pattern required measurements in %1 + + + + + + Wrong units. + + + + + File error. + + + + + The measurements file <br/><br/> <b>%1</b> <br/><br/> %3 + + + + + could not be found. Do you want to update the file location + + + + + Standard measurements (*.vst) + + + + + Individual measurements (*.vit) + + + Based on Qt %2 (32 bit) - Based on Qt %2 (32 bit) + Based on Qt %2 (32 bit) - Built on %3 at %4 - Built on %3 at %4 + Built on %3 at %4 - - <h1>%1</h1> %2 <br/><br/> %3 <br/><br/> %4 - - - - - Cannot read file %1: -%2. - - - - + File loaded @@ -2610,188 +3095,2503 @@ Sollen die Änderungen gespeichert werden? - + Height: Größe: - + Size: Konfektion: - + Pattern Piece: Schnittteil: - - + + Pattern files (*.val) - - + + /pattern.val - - Can't open pattern file %1: -%2. - - - - - Can't open schema file %1: -%2. - - - - + File saved - - Can not save pattern - - - - + untitled.val - + Unsaved change - + The pattern has been modified. Do you want to save your changes? - - Error! - Fehler! + Fehler! Error saving file. Can't save file. Fehler beim speichern der Datei. Kann Datei nicht speichern. - + + Open file Datei öffnen - - Error no unique id. - Fehler keine eindeutige id. + Fehler keine eindeutige id. - Got empty file name. - Leerer Dateiname bekommen. + Leerer Dateiname bekommen. - Could not copy temp file to pattern file - Temporäre Datei für das Schnittmuster kann nicht kopiert werden + Temporäre Datei für das Schnittmuster kann nicht kopiert werden - Could not remove pattern file - Schnittmuster Datei kann nicht entfernt werden + Schnittmuster Datei kann nicht entfernt werden Can't open pattern file. File name is empty Schnittmusterdatei kann nicht geöffnet werden. Der Dateiname ist leer - + + Error parsing file. Fehler beim Parsen der Datei. - + Error can't convert value. Fehler Wert kann nicht konvertiert werden. - + Error empty parameter. Fehler leerer parameter. - + Error wrong id. Fehler falsche Id. - - - Parsing pattern file error. - - - - - Validation file error. - - Error parsing pattern file. Fehler beim Parsen der Schnittmuster Datei. - - Error in line %1 column %2 - Fehler in Zeile %1 Reihe %2 + Fehler in Zeile %1 Reihe %2 + + + + Measurements + + + head_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Head girth + Full measurement name + + + + + Around fullest part of Head + Full measurement description + + + + + mid_neck_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Mid-neck girth + Full measurement name + + + + + Around middle part of Neck + Full measurement description + + + + + neck_base_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck Base girth + Full measurement name + + + + + Around Neck at base + Full measurement description + + + + + head_and_neck_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Head and Neck length + Full measurement name + + + + + Vertical Distance from Crown to Nape + Full measurement description + + + + + center_front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Center length + Full measurement name + + + + + Front Neck Center over tape at Bustline to Front Waist Center + Full measurement description + + + + + center_back_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Center length + Full measurement name + + + + + Back Neck Center to Back Waist Center + Full measurement description + + + + + shoulder_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder length + Full measurement name + + + + + NeckPoint to ShoulderTip + Full measurement description + + + + + side_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Side Waist length + Full measurement name + + + + + Armpit to Waist side + Full measurement description + + + + + trunk_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Trunk length + Full measurement name + + + + + Around Body from middle of Shoulder length to BustPoint to Crotch up back to beginning point + Full measurement description + + + + + shoulder_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder girth + Full measurement name + + + + + Around Arms and Torso, at bicep level parallel to floor, with arms hanging at the sides + Full measurement description + + + + + upper_chest_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upper Chest girth + Full measurement name + + + + + Around Chest at Armfold level, will be parallel to floor across back, will not be parallel to floor across front chest + Full measurement description + + + + + bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust girth + Full measurement name + + + + + Around fullest part of Bust, parallel to floor + Full measurement description + + + + + under_bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Under Bust girth + Full measurement name + + + + + Around Chest below the Bust, parallel to floor + Full measurement description + + + + + waist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist girth + Full measurement name + + + + + Tie a string around smallest part of waist, keep string tied while taking meaasurements. Not usually parallel to floor for front waist or back waist. + Full measurement description + + + + + high_hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip girth + Full measurement name + + + + + Around HighHip, parallel to floor + Full measurement description + + + + + hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip girth + Full measurement name + + + + + Around Hip, parallel to floor + Full measurement description + + + + + upper_front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Upper Chest width + Full measurement name + + + + + Across Front UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Chest width + Full measurement name + + + + + Across Front Chest, from armfold to armfold + Full measurement description + + + + + across_front_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Front + Full measurement description + + + + + + across_back_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Back + Full measurement description + + + + + + Back Upper Chest width + Full measurement name + + + + + + Across Back UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + upper_back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Chest width + Full measurement name + + + + + Across Back Chest, from armfold to armfold + Full measurement description + + + + + bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + BustPoint to BustPoint + Full measurement name + + + + + Distance between BustPoints, across Chest + Full measurement description + + + + + halter_bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + Halter Bustpoint to Bustpoint + Full measurement name + + + + + Distance from Bustpoint, behind neck, down to Bustpoint + Full measurement description + + + + + neck_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + NeckPoint to BustPoint + Full measurement name + + + + + From NeckPoint to BustPoint + Full measurement description + + + + + crotch_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch length + Full measurement name + + + + + From Front Waist Center, down to crotch, up to Back Waist Center + Full measurement description + + + + + rise_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Rise height + Full measurement name + + + + + Sit on hard chair, measure from side waist straight down to chair bottom + Full measurement description + + + + + shoulder_drop + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Drop + Full measurement name + + + + + Vertical Distance from NeckPoint level to ShoulderTip level + Full measurement description + + + + + shoulder_slope_degrees + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Slope degrees + Full measurement name + + + + + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer + Full measurement description + + + + + front_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Shoulder Balance + Full measurement name + + + + + ShoulderTip to Front Waist Center + Full measurement description + + + + + back_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Shoulder Balance + Full measurement name + + + + + ShoulderTip to Back Waist Center + Full measurement description + + + + + front_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Full Length + Full measurement name + + + + + NeckPoint straight down front chest to Waistline + Full measurement description + + + + + back_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Full Length + Full measurement name + + + + + Back NeckPoint straight down back chest to Waistline + Full measurement description + + + + + front_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint through Front Neck Center + Full measurement description + + + + + back_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint across Nape + Full measurement description + + + + + front_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + front_upper-bust_arc + Full measurement name + + + + + front_upper-bust_arc + Full measurement description + + + + + back_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperBust arc + Full measurement name + + + + + Back UpperBust side to side + Full measurement description + + + + + front_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist arc + Full measurement name + + + + + Front Waist side to side + Full measurement description + + + + + back_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist arc + Full measurement name + + + + + Back Waist side to side + Full measurement description + + + + + front_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperHip arc + Full measurement name + + + + + Front UpperHip side to side + Full measurement description + + + + + back_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperHip arc + Full measurement name + + + + + Back UpperHip side to side + Full measurement description + + + + + front_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Hip arc + Full measurement name + + + + + Front Hip side to side + Full measurement description + + + + + back_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Hip arc + Full measurement name + + + + + Back Hip side to side + Full measurement description + + + + + chest_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest Balance + Full measurement name + + + + + NeckPoint to Front ArmfoldPoint + Full measurement description + + + + + back_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Balance + Full measurement name + + + + + NeckPoint to Back ArmfoldPoint + Full measurement description + + + + + front_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist Balance + Full measurement name + + + + + NeckPoint across Front Chest to Waist side + Full measurement description + + + + + back_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist Balance + Full measurement name + + + + + NeckPoint across Back Chest to Waist side + Full measurement description + + + + + front_neck_to_upper_chest_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperChest height + Full measurement name + + + + + Front Neck Center straight down to UpperChest line + Full measurement description + + + + + front_neck_to_bust_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust height + Full measurement name + + + + + Front Neck Center straight down to Bust line + Full measurement description + + + + + armscye_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye Girth + Full measurement name + + + + + Around Armscye + Full measurement description + + + + + elbow_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow Girth + Full measurement name + + + + + Around Elbow with elbow bent + Full measurement description + + + + + upper_arm_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upperarm Girth + Full measurement name + + + + + Around UpperArm + Full measurement description + + + + + wrist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Wrist girth + Full measurement name + + + + + Around Wrist + Full measurement description + + + + + scye_depth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye depth + Full measurement name + + + + + Nape straight down to UnderBust line (same as Back UpperBust height) + Full measurement description + + + + + shoulder_and_arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder and Arm length + Full measurement name + + + + + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + underarm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Underarm length + Full measurement name + + + + + Armpit to Wrist, with arm straight and hanging at side + Full measurement description + + + + + cervicale_to_wrist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to wrist length + Full measurement name + + + + + Nape to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + shoulder_to_elbow_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow length + Full measurement name + + + + + ShoulderTip to Elbow, with elbow bent and hand on hip + Full measurement description + + + + + arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Arm length + Full measurement name + + + + + ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + hand_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand width + Full measurement name + + + + + Hand side to side + Full measurement description + + + + + hand_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand length + Full measurement name + + + + + Hand Middle Finger tip to wrist + Full measurement description + + + + + hand_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand girth + Full measurement name + + + + + Around Hand + Full measurement description + + + + + thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Thigh girth + Full measurement name + + + + + Around Thigh + Full measurement description + + + + + mid_thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Midthigh girth + Full measurement name + + + + + Around MidThigh + Full measurement description + + + + + knee_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee girth + Full measurement name + + + + + Around Knee + Full measurement description + + + + + calf_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Calf girth + Full measurement name + + + + + Around Calf + Full measurement description + + + + + ankle_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle girth + Full measurement name + + + + + Around Ankle + Full measurement description + + + + + knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee height + Full measurement name + + + + + Knee to Floor + Full measurement description + + + + + ankle_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle height + Full measurement name + + + + + Ankle to Floor + Full measurement description + + + + + foot_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot width + Full measurement name + + + + + Widest part of Foot side to side + Full measurement description + + + + + foot_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot length + Full measurement name + + + + + Tip of Longest Toe straight to back of heel + Full measurement description + + + + + height + Short measurement name. Don't use math symbols in name!!!! + + + + + Total Height + Full measurement name + + + + + Top of head to floor + Full measurement description + + + + + cervicale_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape height + Full measurement name + + + + + Nape to Floor + Full measurement description + + + + + cervicale_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to knee height + Full measurement name + + + + + Nape to Knee + Full measurement description + + + + + waist_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist height + Full measurement name + + + + + Waist side to floor + Full measurement description + + + + + high_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip height + Full measurement name + + + + + HighHip side to Floor + Full measurement description + + + + + hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip height + Full measurement name + + + + + Hip side to Floor + Full measurement description + + + + + waist_to_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Hip height + Full measurement name + + + + + Waist side to Hip + Full measurement description + + + + + waist_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Knee height + Full measurement name + + + + + Waist side to Knee + Full measurement description + + + + + crotch_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch height/Inseam + Full measurement name + + + + + Crotch to Floor along inside leg + Full measurement description + + + + + size + Short measurement name. Don't use math symbols in name!!!! + + + + + Size + Full measurement name + Konfektion + + + + Size + Full measurement description + Konfektion + + + + height_front_neck_base_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height front neck base point + Full measurement name + + + + + Height of the point base of the neck in front + Full measurement description + + + + + height_base_neck_side_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height base neck side point + Full measurement name + + + + + Height of the base of the neck side point + Full measurement description + + + + + height_shoulder_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height shoulder point + Full measurement name + + + + + The height of the shoulder point + Full measurement description + + + + + height_nipple_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height nipple point + Full measurement name + + + + + Height nipple point + Full measurement description + + + + + height_back_angle_axilla + Short measurement name. Don't use math symbols in name!!!! + + + + + Height back angle axilla + Full measurement name + + + + + Height back angle axilla + Full measurement description + + + + + height_scapular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height scapular point + Full measurement name + + + + + Height scapular point + Full measurement description + + + + + height_under_buttock_folds + Short measurement name. Don't use math symbols in name!!!! + + + + + Height under buttock folds + Full measurement name + + + + + Height under buttock folds + Full measurement description + + + + + hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Hips excluding protruding abdomen + Full measurement name + + + + + Hips excluding protruding abdomen + Full measurement description + + + + + girth_foot_instep + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth foot instep + Full measurement name + + + + + Girth foot instep + Full measurement description + + + + + side_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Side waist to floor + Full measurement name + + + + + The distance from the side waist to floor + Full measurement description + + + + + front_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist to floor + Full measurement name + + + + + The distance from the front waist to floor + Full measurement description + + + + + arc_through_groin_area + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through groin area + Full measurement name + + + + + Arc through groin area + Full measurement description + + + + + waist_to_plane_seat + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to plane seat + Full measurement name + + + + + The distance from the waist to the plane seat + Full measurement description + + + + + neck_to_radial_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to radial point + Full measurement name + + + + + The distance from the base of the neck to the side of the radial point + Full measurement description + + + + + neck_to_third_finger + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to third finger + Full measurement name + + + + + Distance from the base of the neck side point to the end of the third finger + Full measurement description + + + + + neck_to_first_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to first line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the side of the first line in front of chest circumference + Full measurement description + + + + + front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist length + Full measurement name + + + + + The distance from the base of the neck to the waist side front (waist length in the front) + Full measurement description + + + + + arc_through_shoulder_joint + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through shoulder joint + Full measurement name + + + + + Arc through the highest point of the shoulder joint + Full measurement description + + + + + neck_to_back_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to back line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes + Full measurement description + + + + + waist_to_neck_side + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to neck side + Full measurement name + + + + + The distance from the waist to the back base of the neck side point + Full measurement description + + + + + arc_length_upper_body + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc length upper body + Full measurement name + + + + + Arc length of the upper body through the base of the neck side point + Full measurement description + + + + + chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest width + Full measurement name + + + + + Chest width + Full measurement description + + + + + anteroposterior_diameter_hands + Short measurement name. Don't use math symbols in name!!!! + + + + + Anteroposterior diameter hands + Full measurement name + + + + + Anteroposterior diameter of the hands + Full measurement description + + + + + height_clavicular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height clavicular point + Full measurement name + + + + + Height clavicular point + Full measurement description + + + + + height_armhole_slash + Short measurement name. Don't use math symbols in name!!!! + + + + + Height armhole slash + Full measurement name + + + + + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) + Full measurement description + + + + + slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Slash shoulder height + Full measurement name + + + + + Slash shoulder height + Full measurement description + + + + + half_girth_neck + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck + Full measurement name + + + + + Half girth neck + Full measurement description + + + + + half_girth_neck_for_shirts + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck for shirts + Full measurement name + + + + + Half girth neck for shirts + Full measurement description + + + + + half_girth_chest_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest first + Full measurement name + + + + + Half girth chest first + Full measurement description + + + + + half_girth_chest_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest second + Full measurement name + + + + + Half girth chest second + Full measurement description + + + + + half_girth_chest_third + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest third + Full measurement name + + + + + Half girth chest third + Full measurement description + + + + + half_girth_waist + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth waist + Full measurement name + + + + + Half girth waist + Full measurement description + + + + + half_girth_hips_considering_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips considering protruding abdomen + Full measurement name + + + + + Half girth hips considering protruding abdomen + Full measurement description + + + + + half_girth_hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips excluding protruding abdomen + Full measurement name + + + + + Half girth hips excluding protruding abdomen + Full measurement description + + + + + girth_knee_flexed_feet + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth knee flexed feet + Full measurement name + + + + + Girth knee flexed feet + Full measurement description + + + + + neck_transverse_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck transverse diameter + Full measurement name + + + + + Neck transverse diameter + Full measurement description + + + + + front_slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front slash shoulder height + Full measurement name + + + + + Front slash shoulder height + Full measurement description + + + + + neck_to_front_waist_line + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to front waist line + Full measurement name + + + + + The distance from the base of the neck to the waist line front + Full measurement description + + + + + hand_vertical_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand vertical diameter + Full measurement name + + + + + Hand vertical diameter + Full measurement description + + + + + neck_to_knee_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to knee point + Full measurement name + + + + + Distance from neck to knee point + Full measurement description + + + + + waist_to_knee + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to knee + Full measurement name + + + + + The distance from the waist to the knee + Full measurement description + + + + + shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder height + Full measurement name + + + + + Shoulder height + Full measurement description + + + + + head_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Head height + Full measurement name + + + + + Head height + Full measurement description + + + + + body_position + Short measurement name. Don't use math symbols in name!!!! + + + + + Body position + Full measurement name + + + + + Body position + Full measurement description + + + + + arc_behind_shoulder_girdle + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc behind shoulder girdle + Full measurement name + + + + + Arc behind the shoulder girdle + Full measurement description + + + + + neck_to_neck_base + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to neck base + Full measurement name + + + + + Distance from neck point to point on the base of the neck side neck girth measurement line + Full measurement description + + + + + depth_waist_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist first + Full measurement name + + + + + Depth waist first + Full measurement description + + + + + depth_waist_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist second + Full measurement name + + + + + Depth waist second + Full measurement description + PatternPage - + User - + User name - + Graphical output - + Use antialiasing - + Undone - + Count steps + + PostfixOperators + + + cm + centimeter + + + + + mm + millimeter + + + + + in + inch + + + QObject - + Create new pattern piece to start working. Es muss ein neues Schnittteil erstellt werden, um fortfahen zu können. @@ -2799,130 +5599,168 @@ Do you want to save your changes? TableWindow - + Create a layout Layout erstellen - + toolBar toolBar - + Save Speichern - - + + Save layout Layout speichern - + Next Weiter - + Next detail Nächstes Detail - + Turn Drehen - + Turn the detail 90 degrees - + Stop Stop - + Stop laying Legen stoppen - + Enlarge letter Buchstaben vergrößern - + Enlarge the length of the sheet Länge des Blattes verlängern - + Reduce sheet Seite verkleinern - + Reduce the length of the sheet Die Länge der Seite verkleinern - - + + Mirroring Spiegeln - - + + Zoom In Vergrößern - - + + Zoom Out Verkleinern - + 0 details left. 0 Details übrig. - - + + Collisions not found. - + %1 details left. %1 Details übrig. - + + untitled + + + + + Svg files (*.svg) + + + + + PDF files (*.pdf) + + + + + Images (*.png) + + + + + PS files (*.ps) + + + + + EPS files (*.eps) + + + + Collisions found. - - SVG Generator Example Drawing - SVG Generator Beispiel Zeichnung + + Creating file '%1' failed! %2 + + + + + Critical error! + + + + SVG Generator Example Drawing + SVG Generator Beispiel Zeichnung - An SVG drawing created by the SVG Generator Example provided with Qt. - Eine SVG Zeichnung, die vom SVG Generator Beispiel mit Hilfe von Qt erstellt wurde. + Eine SVG Zeichnung, die vom SVG Generator Beispiel mit Hilfe von Qt erstellt wurde. VAbstractNode - + Can't find tag Modeling Kann den Tag Modeling nicht finden @@ -2930,12 +5768,12 @@ Do you want to save your changes? VAbstractTool - + Confirm the deletion. - + Do you really want delete? @@ -2943,42 +5781,36 @@ Do you want to save your changes? VApplication - - - - - - Error! - Fehler! + Fehler! - + Error parsing file. Program will be terminated. Fehler beim Parsen der Datei. Das Programm wird geschlossen. - + Error bad id. Program will be terminated. Fehler - unbekannte Id. Fas Programm wird geschlossen. - + Error can't convert value. Program will be terminated. Fehler - Wert kann nicht konvertiert werden. Das Programm wird geschlossen. - + Error empty parameter. Program will be terminated. Fehler - leerer Parameter. Das Programm wird geschlossen. - + Error wrong id. Program will be terminated. Fehler - falsche Id. Das Programm wird geschlossen. - + Something's wrong!! @@ -2990,215 +5822,373 @@ Do you want to save your changes? VContainer - - - + + + Can't find object Objekt kann nicht gefunden werden + + + Can't cast object + + VDomDocument - - Can't find tool id = %1 in table. + Got wrong parameter id. Need only id > 0. + Falsche Parameter id übermittelt. Erwarte id > 0. + + + Can't convert toLongLong parameter + Kann Parameter nicht toLongLong konvertieren + + + + Can't convert toUInt parameter - - Got wrong parameter id. Need only id > 0. - Falsche Parameter id übermittelt. Erwarte id > 0. - - - - Can't convert toLongLong parameter - Kann Parameter nicht toLongLong konvertieren - - - + Got empty parameter Leerer Parameter übermittelt - + Can't convert toDouble parameter Kann Parameter nicht toDouble konvertieren - + + + Can't open file %1: +%2. + + + + + Can't open schema file %1: +%2. + + + + + Validation error in line %1 column %2 + + + + + Parcing error in line %1 column %2 + + + This id is not unique. - Diese Id ist kein Unikat. + Diese Id ist kein Unikat. - Error creating or updating detail - Fehler beim Erstellen oder Aktualisieren des Details + Fehler beim Erstellen oder Aktualisieren des Details - Error creating or updating single point - Fehler beim Erstellen oder Aktualisieren eines Einzelpunktes + Fehler beim Erstellen oder Aktualisieren eines Einzelpunktes - Error creating or updating point of end line - Fehler beim Erstellen oder Aktualisieren eines Punktes am Ende einer Linie + Fehler beim Erstellen oder Aktualisieren eines Punktes am Ende einer Linie - Error creating or updating point along line - Fehler beim Erstellen oder Aktualisieren eines Punktes auf einer Linie + Fehler beim Erstellen oder Aktualisieren eines Punktes auf einer Linie - Error creating or updating point of shoulder - Fehler beim Erstellen oder Aktualisieren eines Schulterpunktes + Fehler beim Erstellen oder Aktualisieren eines Schulterpunktes - Error creating or updating point of normal - Fehler beim Erstellen oder Aktualisieren eines Punktes einer Normalen + Fehler beim Erstellen oder Aktualisieren eines Punktes einer Normalen - Error creating or updating point of bisector - Fehler beim Erstellen oder Aktualisieren einer Winkelhalbierenden + Fehler beim Erstellen oder Aktualisieren einer Winkelhalbierenden - Error creating or updating point of lineintersection - Fehler beim Erstellen oder Aktualisieren eines Linienschnittpunktes + Fehler beim Erstellen oder Aktualisieren eines Linienschnittpunktes - Error creating or updating point of contact - Fehler beim Erstellen oder Aktualisieren eines Berührungpunktes + Fehler beim Erstellen oder Aktualisieren eines Berührungpunktes - Error creating or updating modeling point - Fehler beim Erstellen oder Aktualisieren beim Modellieren eines Punktes + Fehler beim Erstellen oder Aktualisieren beim Modellieren eines Punktes - Error creating or updating height - Fehler beim Erstellen oder Aktualisieren der Größe + Fehler beim Erstellen oder Aktualisieren der Größe - Error creating or updating triangle - Fehler beim Erstellen oder Aktualisieren eines Dreiecks + Fehler beim Erstellen oder Aktualisieren eines Dreiecks - Error creating or updating point of intersection - Fehler beim Erstellen oder Aktualisieren eines Schnittpunktes + Fehler beim Erstellen oder Aktualisieren eines Schnittpunktes - - Error creating or updating cut spline point - - - - - Error creating or updating cut spline path point - - - - - Error creating or updating cut arc point - - - - Error creating or updating line - Fehler beim Erstellen oder Aktualisieren einer Linie + Fehler beim Erstellen oder Aktualisieren einer Linie - Error creating or updating simple curve - Fehler beim Erstellen oder Aktualisieren einer einfachen Kurve + Fehler beim Erstellen oder Aktualisieren einer einfachen Kurve - Error creating or updating curve path - Fehler beim Erstellen oder Aktualisieren eines Kurvenpfades + Fehler beim Erstellen oder Aktualisieren eines Kurvenpfades - Error creating or updating modeling simple curve - Fehler beim Erstellen oder Aktuallisieren der Modellierung einer einfachen Kurve + Fehler beim Erstellen oder Aktuallisieren der Modellierung einer einfachen Kurve - Error creating or updating modeling curve path - Fehler beim Erstellen oder Aktualisieren der Modellierung eines Kurvenpfades + Fehler beim Erstellen oder Aktualisieren der Modellierung eines Kurvenpfades - Error creating or updating simple arc - Fehler beim Erstellen oder Aktualsieren eines einfachen Bogens + Fehler beim Erstellen oder Aktualsieren eines einfachen Bogens - Error creating or updating modeling arc - Fehler beim Erstellen oder Aktualisieren der Modellierung eines Bogens + Fehler beim Erstellen oder Aktualisieren der Modellierung eines Bogens - Error creating or updating union details - Fehler beim Vereinigen der Details + Fehler beim Vereinigen der Details - Error! - Fehler! + Fehler! - Error parsing file. - Fehler beim Parsen der Datei. + Fehler beim Parsen der Datei. VDrawTool - + Can not find the element after which you want to insert. Kann das Element nicht finden, nach dem eingefügt werden soll. - + Can't find tag Calculation Kann den Tag Calculation nicht finden - + Options Optionen - + Delete Löschen + + VException + + + Critical error! + + + + + VPattern + + + Can't find tool id = %1 in table. + + + + + Error no unique id. + Fehler keine eindeutige id. + + + + Error! + Fehler! + + + + Error parsing file. + Fehler beim Parsen der Datei. + + + + Error creating or updating detail + Fehler beim Erstellen oder Aktualisieren des Details + + + + Error creating or updating single point + Fehler beim Erstellen oder Aktualisieren eines Einzelpunktes + + + + + Error creating or updating point of end line + Fehler beim Erstellen oder Aktualisieren eines Punktes am Ende einer Linie + + + + + Error creating or updating point along line + Fehler beim Erstellen oder Aktualisieren eines Punktes auf einer Linie + + + + + Error creating or updating point of shoulder + Fehler beim Erstellen oder Aktualisieren eines Schulterpunktes + + + + + Error creating or updating point of normal + Fehler beim Erstellen oder Aktualisieren eines Punktes einer Normalen + + + + + Error creating or updating point of bisector + Fehler beim Erstellen oder Aktualisieren einer Winkelhalbierenden + + + + Error creating or updating point of lineintersection + Fehler beim Erstellen oder Aktualisieren eines Linienschnittpunktes + + + + + Error creating or updating point of contact + Fehler beim Erstellen oder Aktualisieren eines Berührungpunktes + + + + Error creating or updating modeling point + Fehler beim Erstellen oder Aktualisieren beim Modellieren eines Punktes + + + + Error creating or updating height + Fehler beim Erstellen oder Aktualisieren der Größe + + + + Error creating or updating triangle + Fehler beim Erstellen oder Aktualisieren eines Dreiecks + + + + Error creating or updating point of intersection + Fehler beim Erstellen oder Aktualisieren eines Schnittpunktes + + + + + Error creating or updating cut spline point + + + + + + Error creating or updating cut spline path point + + + + + + Error creating or updating cut arc point + + + + + Error creating or updating line + Fehler beim Erstellen oder Aktualisieren einer Linie + + + + Error creating or updating simple curve + Fehler beim Erstellen oder Aktualisieren einer einfachen Kurve + + + + Error creating or updating curve path + Fehler beim Erstellen oder Aktualisieren eines Kurvenpfades + + + + Error creating or updating modeling simple curve + Fehler beim Erstellen oder Aktuallisieren der Modellierung einer einfachen Kurve + + + + Error creating or updating modeling curve path + Fehler beim Erstellen oder Aktualisieren der Modellierung eines Kurvenpfades + + + + + Error creating or updating simple arc + Fehler beim Erstellen oder Aktualsieren eines einfachen Bogens + + + + Error creating or updating modeling arc + Fehler beim Erstellen oder Aktualisieren der Modellierung eines Bogens + + + + Error creating or updating union details + Fehler beim Vereinigen der Details + + + + Got wrong parameter id. Need only id > 0. + Falsche Parameter id übermittelt. Erwarte id > 0. + + + + This id is not unique. + Diese Id ist kein Unikat. + + VSplinePath - + Not enough points to create the spline. Nicht genügend Punkte um den Spline zu erstellen. - - - + + + This spline does not exist. Dieser Spline existiert nicht. - + Can't cut spline path with one point Splinepfad mit nur einem Punkt kann nicht zerschnitten werden @@ -3206,12 +6196,12 @@ Do you want to save your changes? VTableGraphicsView - + can't find detail Kann Detail nicht finden - + detail found Detail gefunden @@ -3219,12 +6209,12 @@ Do you want to save your changes? VToolDetail - + Options Optionen - + Delete Löschen @@ -3232,17 +6222,48 @@ Do you want to save your changes? VToolTriangle - Can't find point. - Punkt kann nicht gefunden werden. + Punkt kann nicht gefunden werden. VToolUnionDetails - + Can't find tag Modeling Kann den Tag Modeling nicht finden + + Variables + + + Line_ + Left symbol _ in name + + + + + AngleLine_ + Left symbol _ in name + + + + + Arc_ + Left symbol _ in name + + + + + Spl_ + Left symbol _ in name + + + + + SplPath + + + diff --git a/src/app/share/translations/valentina_fr.ts b/src/app/share/translations/valentina_fr.ts index 17d0e4ff1..91e51541c 100644 --- a/src/app/share/translations/valentina_fr.ts +++ b/src/app/share/translations/valentina_fr.ts @@ -1,35 +1,35 @@ - + ConfigDialog - + Apply - + &Cancel - + &Ok - + Config Dialog - + Configuration - + Pattern @@ -37,171 +37,224 @@ ConfigurationPage - + Setup user interface language updated and will be used the next time start - + Save - + Auto-save modified pattern - + Interval: - + min - + Language - + GUI language - + Decimal separator parts - + With OS options (.) + + DialogAboutApp + + + About Valentina + + + + + Valentina version + + + + + pushButton_Web_Site + + + + + Contributors + + + + + label_QT_Version + + + + + Based on Qt %2 (32 bit) + + + + + Built on %3 at %4 + + + + + Web site : %1 + + + + + Warning + + + + + Cannot open your default browser + + + DialogAlongLine - + Point along line - + Length Longueur - + Formula for the calculation of length of line - + Insert variable into the formula - - + + ... - + Calculate value Calculer valeur - + Value of length - + _ - + Point label Désignation de point - + First point Premier point - + First point of line - + Second point - + Second point of line - + Type of line Type de ligne - + Show line from first point to this point - + Input data - + Size and height confection et taille - + Standard table tableau des mesures - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Variables - Click twice to insert into formula - + Select second point of line @@ -209,151 +262,151 @@ DialogArc - + Arc - + Radius Rayon - + Formula for the calculation of radius of arc - + Insert variable into the formula - - - - - - + + + + + + ... - - - + + + Calculate value Calculer valeur - + Value of radius - - - + + + _ - + First angle degree - + First angle of arc counterclockwise - + Insert variable into formula - + Value of first angle - + Second angle degree - + Second angle of arc counterclockwise - + Insert marked variable into formula - + Value of second angle - + Center point - + Select point of center of arc - + Input data - + Size and height confection et taille - + Standard table tableau des mesures - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Angle of lines - + Variables - + Value of angle of line. @@ -361,138 +414,138 @@ DialogBisector - + Bisector - + Length Longueur - + Calculation of length of bisector by using the formula - + Insert marked variable into the formula - - + + ... - + Calculate value Calculer valeur - + Value of length - + _ - + Point label Désignation de point - + First point Premier point - + First point of angle - + Second point - + Second point of angle - + Third point - + Third point of angle - + Type of line Type de ligne - + Show line from second point to this point - + Input data - + Size and height confection et taille - + Standard table tableau des mesures - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Variables - Click twice to insert into formula - + Select second point of angle - + Select third point of angle @@ -500,93 +553,93 @@ DialogCutArc - + Dialog - + Length Longueur - + Formula for the calculation of the spline - - + + ... - + Calculate value Calculer valeur - + Value of length - + _ - + Arc - + Selected curve - + Point label Désignation de point - + Input data - + Size and height confection et taille - + Standard table tableau des mesures - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Variables - Click twice to insert into formula @@ -594,93 +647,93 @@ DialogCutSpline - + Dialog - + Length Longueur - + Formula for the calculation of the spline - - + + ... - + Calculate value Calculer valeur - + Value of length - + _ - + Curve - + Selected curve - + Point label Désignation de point - + Input data - + Size and height confection et taille - + Standard table tableau des mesures - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Variables - Click twice to insert into formula @@ -688,93 +741,93 @@ DialogCutSplinePath - + Dialog - + Length Longueur - + Formula for the calculation of the curve length - - + + ... - + Calculate value Calculer valeur - + Value of length - + _ - + Curve - + Selected curve path - + Point label Désignation de point - + Input data - + Size and height confection et taille - + Standard table tableau des mesures - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Variables - Click twice to insert into formula @@ -782,180 +835,175 @@ DialogDetail - - + + Detail - + Bias X - + Bias Y - + Options - + Name of detail - + Seam allowance - + Width - + Closed - + Delete - + Got wrong scene object. Ignore. - - - Got wrong tools. Ignore. - - DialogEndLine - + Point in the end of a line - + Length Longueur - + Formula for calculation of length of line - - - - - - - - - - + + + + + + + + + + ... - + Calculate value Calculer valeur - + Value of length - + _ - + Base point - + First point of line - + Point label Désignation de point - + Degree of angle - + Angle of line - + Type of line Type de ligne - + Show line from first point to this point - + Input data - + Size and height confection et taille - + Standard table tableau des mesures - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Variables - Click twice to insert into formula @@ -963,50 +1011,50 @@ DialogHeight - + Dialog - + Point label Désignation de point - + Base point - - - - + + + + First point of line - + Second point of line - + Type of line Type de ligne - + Show line from first point to our point - + Select first point of line - + Select second point of line @@ -1014,242 +1062,407 @@ DialogHistory - + History - - + + Tool - + + + + + Can't create record. + + + + %1 - Base point - - + + %1_%2 - Line from point %1 to point %2 - + %3 - Point along line %1_%2 - + %1 - Point of shoulder - + %3 - normal to line %1_%2 - + %4 - bisector of angle %1_%2_%3 - + %5 - intersection of lines %1_%2 and %3_%4 - + Curve %1_%2 - + Arc with center in point %1 - + Curve point %1 - + %4 - point of contact of arc with the center in point %1 and line %2_%3 - + Point of perpendicular from point %1 to line %2_%3 - + Triangle: axis %1_%2, points %3 and %4 - + %1 - point of intersection %2 and %3 - + %1 - cut arc with center %2 - + %1 - cut curve %2_%3 - + %1 - cut curve path %2 - - - Got wrong tool type. Ignore. - - DialogIncrements - - + + Increments - - Sizes table - - - - - + + Name - - + + The calculated value - - + + Base value - - + + In sizes - - - In growths - - - - - - - + + + Description - - + + + ... - + + + Measurements + + + + + Load another measurements table + + + + + Personal information + + + + + Given name + + + + + Family name + + + + + Birth date + + + + + yyyy-MM-dd + + + + + Sex + + + + + Mail + + + + + + In heights + + + + Lines - + Line - - - + + + Length Longueur - + Curves - + Curve - + Arcs - + Arc - - Name_%1 + + + + File error. - - Can't convert toDouble value. + + male + + + + + female + + + + + Measurements use different units than pattern. This pattern required measurements in %1 + + + + + Individual measurements (*.vit) + + + + + + Open file + + + + + + Wrong units. + + + + + Standard measurements (*.vst) + + + + + Name_%1 + + + + + DialogIndividualMeasurements + + + Dialog + + + + + Pattern piece name + + + + + Exist measurements + + + + + + Path: + + + + + + ... + + + + + New measurements + + + + + Units: + + + + + Could not create measurements file + + + + + Please try again or change file + + + + + + File error. + + + + + + Individual measurements (*.vit) + + + + + Open file + + + + + Where save measurements? + + + + + centimeter + + + + + inch DialogLine - + Line - + First point Premier point - + Second point - + Type of line Type de ligne - + Show line from first point to this point - + Select second point @@ -1257,291 +1470,347 @@ DialogLineIntersect - + Intersection of lines - + Point label Désignation de point - + First line - - + + First point Premier point - - + + Second point - + Second line - + Select second point of first line - + Select first point of second line - + Select second point of second line + + DialogMeasurements + + + Measurements + + + + + <html><head/><body><p><span style=" font-size:18pt;">Please, choose pattern type.</span></p></body></html> + + + + + Graduation + + + + + Use for creation pattern standard measurement table + + + + + Individual + + + + + Use for creation pattern individual measurements + + + DialogNormal - + Normal - + Length Longueur - + Formula for calculation of length of normal - + Insert variable into formula - - - - - - - - - - + + + + + + + + + + ... - + Calculate value Calculer valeur - + Value of length - + _ - + Point label Désignation de point - + First point Premier point - + Second point - + Additional angle degrees - + Type of line Type de ligne - + Show line from first point to this point - + Input data - + Size and height confection et taille - + Standard table tableau des mesures - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Variables - Click twice to insert into formula - + Select second point of line + + DialogPatternProperties + + + Pattern properties + + + + + Author name + + + + + Pattern description + + + + + For technical notes. + + + DialogPointOfContact - + Point of contact - + Radius Rayon - + Formula for calculation of radius of arc - + Insert variable into formula - - + + ... - + Calculate value Calculer valeur - + Value of radius - + _ - + Point label Désignation de point - + Center of arc - - + + Select point of center of arc - + Top of the line - + End of the line - + Input data - + Size and height confection et taille - + Standard table tableau des mesures - + Increments - + Length of lines - + Length of arcs - + Length of curves - + Variables - Click twice to insert into formula. - + Select second point of line @@ -1549,37 +1818,37 @@ DialogPointOfIntersection - + Dialog - + Point label Désignation de point - + vertical point - + First point of angle - + horizontal point - + Second point of angle - + Select point horizontally @@ -1587,115 +1856,115 @@ DialogShoulderPoint - - + + Point of shoulder - + Length Longueur - + Formula for calculation of length of line - + Insert variable into formula - - + + ... - + Calculate value Calculer valeur - + Value of length - + _ - + Point label Désignation de point - + First point Premier point - + Second point - + Type of line Type de ligne - + Show line from first point to our point - + Input data - + Size and height confection et taille - + Standard table tableau des mesures - + Increments - - + + Length of lines - + Length of curves - + Variables - Click twice to insert into formula - + Select second point of line - + Select point of shoulder @@ -1703,32 +1972,32 @@ DialogSinglePoint - + Single point - + Coordinates on the sheet - + Coordinates - + Y coordinate - + X coordinate - + Point label Désignation de point @@ -1736,47 +2005,47 @@ DialogSpline - + Curve - + First point Premier point - + Length ratio of the first control point - + The angle of the first control point - + Second point - + Length ratio of the second control point - + The angle of the second control point - + Coefficient of curvature of the curve - + Select last point of curve @@ -1784,115 +2053,133 @@ DialogSplinePath - + Curve path - + Point of curve - + Length ratio of the first control point - + The angle of the first control point - + Length ratio of the second control point - + The angle of the second control point - + List of points - + Coefficient of curvature of the curve - + Select point of curve path + + DialogStandardMeasurements + + + Standard table + tableau des mesures + + + + Pattern piece name + + + + + Standard measurements table + + + + + File error. + + + DialogTool - + Line - + No line - + Dash Line - + Dot Line - + Dash Dot Line - + Dash Dot Dot Line - - Can't find object by name - - - - + Error - + Height - + Size - + Line length - + Arc length - + Curve length @@ -1900,55 +2187,55 @@ DialogTriangle - + Dialog - + Point label Désignation de point - + First point of axis - - - - + + + + First point of line - + Second point of axis - + First point Premier point - + Second point - + Select second point of axis - + Select first point - + Select second point @@ -1956,766 +2243,3203 @@ DialogUnionDetails - + Dialog - + Do you really want union details? This operation can't be undone. - + Select first point - + Select second point - - + + Select another second point - + Select detail + + Functions + + + sin + sine function + + + + + cos + cosine function + + + + + tan + tangens function + + + + + asin + arcus sine function + + + + + acos + arcus cosine function + + + + + atan + arcus tangens function + + + + + sinh + hyperbolic sine function + + + + + cosh + hyperbolic cosine + + + + + tanh + hyperbolic tangens function + + + + + asinh + hyperbolic arcus sine function + + + + + acosh + hyperbolic arcus tangens function + + + + + atanh + hyperbolic arcur tangens function + + + + + log2 + logarithm to the base 2 + + + + + log10 + logarithm to the base 10 + + + + + log + logarithm to the base 10 + + + + + ln + logarithm to base e (2.71828...) + + + + + exp + e raised to the power of x + + + + + sqrt + square root of a value + + + + + sign + sign function -1 if x<0; 1 if x>0 + + + + + rint + round to nearest integer + + + + + abs + absolute value + + + + + min + min of all arguments + + + + + max + max of all arguments + + + + + sum + sum of all arguments + + + + + avg + mean value of all arguments + + + MainWindow - - + Valentina - + Tools for creating points. - + Point - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + ... - + Tool triangle. - + Tools for creating lines. - + Line - + Point at distance and angle - + Special point on shoulder. - + Point at intersection of arc and line. - + Point along bisector - + Point along perpendicular - + Point at distance along line - + Perpendicular point along line - + Line between points - + Point at line intersection - + Tools for creating curves. - + Curve - + Curve tool. - + Tool for path curve. - + Tool segment a pathed curve. - + Tool for segmenting a curve. - + Tools for creating arcs. - + Arc - + Arc tool. - + Tools for creating details. - + Detail - + Tool new detail. - + &File - + &Help - + &Pattern piece - + Save &As... - + About &Qt - + &About Valentina - + E&xit - + Exit the application - + Options... - + + Pattern properties + + + + toolBar - + toolBar_2 - + toolBar_3 - + New - + &New - + Create a new pattern - + Ctrl+N - + Open - + &Open - + Open file with pattern - + Save - + &Save - + Save pattern - + Ctrl+S - + Save as - + Save not yet saved pattern - + Ctrl+Shift+S - + Draw - + Draw mode - + Ctrl+W - + Details - + Details mode - + Ctrl+E - - + + Pointer tools - + New pattern piece - + Add new pattern piece - + Ctrl+Shift+N - - + + Change the label of pattern piece - + Table of variables - + Tables of variables - + Ctrl+T - + History - + Ctrl+H - + Layout - + Create layout - + Ctrl+L - + About Qt - - About Valentina - - - - + Ctrl+Q - + Pattern piece %1 - - + Pattern piece: - - Enter a label for the pattern piece. - - - - - Error. Pattern piece of same label already exists. - - - - - Error creating pattern with the name - - - - + Enter a new label for the pattern piece. - - Error. Pattern piece of same name already exists. - - - - + Error saving change!!! - + Can't save new label of pattern piece - - + + Select point - + Select first point - - - + + + Select first point of line - + Select first point of angle - + Select first point of first line - + Select first point curve - + Select simple curve - + Select point of center of arc - + Select point of curve path - + Select curve path - + Select points, arcs, curves clockwise. - + Select base point - + Select first point of axis - + Select point vertically - + Select detail - + Select arc - - Based on Qt %2 (32 bit) + + Measurements use different units than pattern. This pattern required measurements in %1 - - Built on %3 at %4 + + + Wrong units. - - <h1>%1</h1> %2 <br/><br/> %3 <br/><br/> %4 + + File error. - - Cannot read file %1: -%2. + + The measurements file <br/><br/> <b>%1</b> <br/><br/> %3 - + + could not be found. Do you want to update the file location + + + + + Standard measurements (*.vst) + + + + + Individual measurements (*.vit) + + + + File loaded - + Height: - + Size: - + Pattern Piece: - - + + Pattern files (*.val) - - + + /pattern.val - - Can't open pattern file %1: -%2. - - - - - Can't open schema file %1: -%2. - - - - + File saved - - Can not save pattern - - - - + untitled.val - + Unsaved change - + The pattern has been modified. Do you want to save your changes? - - - Error! - - - - + + Open file - - - Error no unique id. - - - - - Got empty file name. - - - - - Could not copy temp file to pattern file - - - - - Could not remove pattern file - - - - + + Error parsing file. - + Error can't convert value. - + Error empty parameter. - + Error wrong id. + + + Measurements - - Parsing pattern file error. + + head_girth + Short measurement name. Don't use math symbols in name!!!! - - Validation file error. + + Head girth + Full measurement name - - - Error in line %1 column %2 + + Around fullest part of Head + Full measurement description + + + + + mid_neck_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Mid-neck girth + Full measurement name + + + + + Around middle part of Neck + Full measurement description + + + + + neck_base_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck Base girth + Full measurement name + + + + + Around Neck at base + Full measurement description + + + + + head_and_neck_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Head and Neck length + Full measurement name + + + + + Vertical Distance from Crown to Nape + Full measurement description + + + + + center_front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Center length + Full measurement name + + + + + Front Neck Center over tape at Bustline to Front Waist Center + Full measurement description + + + + + center_back_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Center length + Full measurement name + + + + + Back Neck Center to Back Waist Center + Full measurement description + + + + + shoulder_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder length + Full measurement name + + + + + NeckPoint to ShoulderTip + Full measurement description + + + + + side_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Side Waist length + Full measurement name + + + + + Armpit to Waist side + Full measurement description + + + + + trunk_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Trunk length + Full measurement name + + + + + Around Body from middle of Shoulder length to BustPoint to Crotch up back to beginning point + Full measurement description + + + + + shoulder_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder girth + Full measurement name + + + + + Around Arms and Torso, at bicep level parallel to floor, with arms hanging at the sides + Full measurement description + + + + + upper_chest_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upper Chest girth + Full measurement name + + + + + Around Chest at Armfold level, will be parallel to floor across back, will not be parallel to floor across front chest + Full measurement description + + + + + bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust girth + Full measurement name + + + + + Around fullest part of Bust, parallel to floor + Full measurement description + + + + + under_bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Under Bust girth + Full measurement name + + + + + Around Chest below the Bust, parallel to floor + Full measurement description + + + + + waist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist girth + Full measurement name + + + + + Tie a string around smallest part of waist, keep string tied while taking meaasurements. Not usually parallel to floor for front waist or back waist. + Full measurement description + + + + + high_hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip girth + Full measurement name + + + + + Around HighHip, parallel to floor + Full measurement description + + + + + hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip girth + Full measurement name + + + + + Around Hip, parallel to floor + Full measurement description + + + + + upper_front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Upper Chest width + Full measurement name + + + + + Across Front UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Chest width + Full measurement name + + + + + Across Front Chest, from armfold to armfold + Full measurement description + + + + + across_front_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Front + Full measurement description + + + + + + across_back_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Back + Full measurement description + + + + + + Back Upper Chest width + Full measurement name + + + + + + Across Back UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + upper_back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Chest width + Full measurement name + + + + + Across Back Chest, from armfold to armfold + Full measurement description + + + + + bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + BustPoint to BustPoint + Full measurement name + + + + + Distance between BustPoints, across Chest + Full measurement description + + + + + halter_bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + Halter Bustpoint to Bustpoint + Full measurement name + + + + + Distance from Bustpoint, behind neck, down to Bustpoint + Full measurement description + + + + + neck_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + NeckPoint to BustPoint + Full measurement name + + + + + From NeckPoint to BustPoint + Full measurement description + + + + + crotch_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch length + Full measurement name + + + + + From Front Waist Center, down to crotch, up to Back Waist Center + Full measurement description + + + + + rise_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Rise height + Full measurement name + + + + + Sit on hard chair, measure from side waist straight down to chair bottom + Full measurement description + + + + + shoulder_drop + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Drop + Full measurement name + + + + + Vertical Distance from NeckPoint level to ShoulderTip level + Full measurement description + + + + + shoulder_slope_degrees + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Slope degrees + Full measurement name + + + + + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer + Full measurement description + + + + + front_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Shoulder Balance + Full measurement name + + + + + ShoulderTip to Front Waist Center + Full measurement description + + + + + back_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Shoulder Balance + Full measurement name + + + + + ShoulderTip to Back Waist Center + Full measurement description + + + + + front_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Full Length + Full measurement name + + + + + NeckPoint straight down front chest to Waistline + Full measurement description + + + + + back_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Full Length + Full measurement name + + + + + Back NeckPoint straight down back chest to Waistline + Full measurement description + + + + + front_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint through Front Neck Center + Full measurement description + + + + + back_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint across Nape + Full measurement description + + + + + front_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + front_upper-bust_arc + Full measurement name + + + + + front_upper-bust_arc + Full measurement description + + + + + back_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperBust arc + Full measurement name + + + + + Back UpperBust side to side + Full measurement description + + + + + front_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist arc + Full measurement name + + + + + Front Waist side to side + Full measurement description + + + + + back_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist arc + Full measurement name + + + + + Back Waist side to side + Full measurement description + + + + + front_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperHip arc + Full measurement name + + + + + Front UpperHip side to side + Full measurement description + + + + + back_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperHip arc + Full measurement name + + + + + Back UpperHip side to side + Full measurement description + + + + + front_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Hip arc + Full measurement name + + + + + Front Hip side to side + Full measurement description + + + + + back_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Hip arc + Full measurement name + + + + + Back Hip side to side + Full measurement description + + + + + chest_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest Balance + Full measurement name + + + + + NeckPoint to Front ArmfoldPoint + Full measurement description + + + + + back_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Balance + Full measurement name + + + + + NeckPoint to Back ArmfoldPoint + Full measurement description + + + + + front_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist Balance + Full measurement name + + + + + NeckPoint across Front Chest to Waist side + Full measurement description + + + + + back_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist Balance + Full measurement name + + + + + NeckPoint across Back Chest to Waist side + Full measurement description + + + + + front_neck_to_upper_chest_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperChest height + Full measurement name + + + + + Front Neck Center straight down to UpperChest line + Full measurement description + + + + + front_neck_to_bust_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust height + Full measurement name + + + + + Front Neck Center straight down to Bust line + Full measurement description + + + + + armscye_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye Girth + Full measurement name + + + + + Around Armscye + Full measurement description + + + + + elbow_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow Girth + Full measurement name + + + + + Around Elbow with elbow bent + Full measurement description + + + + + upper_arm_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upperarm Girth + Full measurement name + + + + + Around UpperArm + Full measurement description + + + + + wrist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Wrist girth + Full measurement name + + + + + Around Wrist + Full measurement description + + + + + scye_depth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye depth + Full measurement name + + + + + Nape straight down to UnderBust line (same as Back UpperBust height) + Full measurement description + + + + + shoulder_and_arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder and Arm length + Full measurement name + + + + + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + underarm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Underarm length + Full measurement name + + + + + Armpit to Wrist, with arm straight and hanging at side + Full measurement description + + + + + cervicale_to_wrist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to wrist length + Full measurement name + + + + + Nape to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + shoulder_to_elbow_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow length + Full measurement name + + + + + ShoulderTip to Elbow, with elbow bent and hand on hip + Full measurement description + + + + + arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Arm length + Full measurement name + + + + + ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + hand_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand width + Full measurement name + + + + + Hand side to side + Full measurement description + + + + + hand_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand length + Full measurement name + + + + + Hand Middle Finger tip to wrist + Full measurement description + + + + + hand_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand girth + Full measurement name + + + + + Around Hand + Full measurement description + + + + + thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Thigh girth + Full measurement name + + + + + Around Thigh + Full measurement description + + + + + mid_thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Midthigh girth + Full measurement name + + + + + Around MidThigh + Full measurement description + + + + + knee_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee girth + Full measurement name + + + + + Around Knee + Full measurement description + + + + + calf_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Calf girth + Full measurement name + + + + + Around Calf + Full measurement description + + + + + ankle_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle girth + Full measurement name + + + + + Around Ankle + Full measurement description + + + + + knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee height + Full measurement name + + + + + Knee to Floor + Full measurement description + + + + + ankle_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle height + Full measurement name + + + + + Ankle to Floor + Full measurement description + + + + + foot_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot width + Full measurement name + + + + + Widest part of Foot side to side + Full measurement description + + + + + foot_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot length + Full measurement name + + + + + Tip of Longest Toe straight to back of heel + Full measurement description + + + + + height + Short measurement name. Don't use math symbols in name!!!! + + + + + Total Height + Full measurement name + + + + + Top of head to floor + Full measurement description + + + + + cervicale_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape height + Full measurement name + + + + + Nape to Floor + Full measurement description + + + + + cervicale_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to knee height + Full measurement name + + + + + Nape to Knee + Full measurement description + + + + + waist_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist height + Full measurement name + + + + + Waist side to floor + Full measurement description + + + + + high_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip height + Full measurement name + + + + + HighHip side to Floor + Full measurement description + + + + + hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip height + Full measurement name + + + + + Hip side to Floor + Full measurement description + + + + + waist_to_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Hip height + Full measurement name + + + + + Waist side to Hip + Full measurement description + + + + + waist_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Knee height + Full measurement name + + + + + Waist side to Knee + Full measurement description + + + + + crotch_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch height/Inseam + Full measurement name + + + + + Crotch to Floor along inside leg + Full measurement description + + + + + size + Short measurement name. Don't use math symbols in name!!!! + + + + + Size + Full measurement name + + + + + Size + Full measurement description + + + + + height_front_neck_base_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height front neck base point + Full measurement name + + + + + Height of the point base of the neck in front + Full measurement description + + + + + height_base_neck_side_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height base neck side point + Full measurement name + + + + + Height of the base of the neck side point + Full measurement description + + + + + height_shoulder_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height shoulder point + Full measurement name + + + + + The height of the shoulder point + Full measurement description + + + + + height_nipple_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height nipple point + Full measurement name + + + + + Height nipple point + Full measurement description + + + + + height_back_angle_axilla + Short measurement name. Don't use math symbols in name!!!! + + + + + Height back angle axilla + Full measurement name + + + + + Height back angle axilla + Full measurement description + + + + + height_scapular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height scapular point + Full measurement name + + + + + Height scapular point + Full measurement description + + + + + height_under_buttock_folds + Short measurement name. Don't use math symbols in name!!!! + + + + + Height under buttock folds + Full measurement name + + + + + Height under buttock folds + Full measurement description + + + + + hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Hips excluding protruding abdomen + Full measurement name + + + + + Hips excluding protruding abdomen + Full measurement description + + + + + girth_foot_instep + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth foot instep + Full measurement name + + + + + Girth foot instep + Full measurement description + + + + + side_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Side waist to floor + Full measurement name + + + + + The distance from the side waist to floor + Full measurement description + + + + + front_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist to floor + Full measurement name + + + + + The distance from the front waist to floor + Full measurement description + + + + + arc_through_groin_area + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through groin area + Full measurement name + + + + + Arc through groin area + Full measurement description + + + + + waist_to_plane_seat + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to plane seat + Full measurement name + + + + + The distance from the waist to the plane seat + Full measurement description + + + + + neck_to_radial_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to radial point + Full measurement name + + + + + The distance from the base of the neck to the side of the radial point + Full measurement description + + + + + neck_to_third_finger + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to third finger + Full measurement name + + + + + Distance from the base of the neck side point to the end of the third finger + Full measurement description + + + + + neck_to_first_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to first line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the side of the first line in front of chest circumference + Full measurement description + + + + + front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist length + Full measurement name + + + + + The distance from the base of the neck to the waist side front (waist length in the front) + Full measurement description + + + + + arc_through_shoulder_joint + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through shoulder joint + Full measurement name + + + + + Arc through the highest point of the shoulder joint + Full measurement description + + + + + neck_to_back_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to back line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes + Full measurement description + + + + + waist_to_neck_side + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to neck side + Full measurement name + + + + + The distance from the waist to the back base of the neck side point + Full measurement description + + + + + arc_length_upper_body + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc length upper body + Full measurement name + + + + + Arc length of the upper body through the base of the neck side point + Full measurement description + + + + + chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest width + Full measurement name + + + + + Chest width + Full measurement description + + + + + anteroposterior_diameter_hands + Short measurement name. Don't use math symbols in name!!!! + + + + + Anteroposterior diameter hands + Full measurement name + + + + + Anteroposterior diameter of the hands + Full measurement description + + + + + height_clavicular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height clavicular point + Full measurement name + + + + + Height clavicular point + Full measurement description + + + + + height_armhole_slash + Short measurement name. Don't use math symbols in name!!!! + + + + + Height armhole slash + Full measurement name + + + + + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) + Full measurement description + + + + + slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Slash shoulder height + Full measurement name + + + + + Slash shoulder height + Full measurement description + + + + + half_girth_neck + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck + Full measurement name + + + + + Half girth neck + Full measurement description + + + + + half_girth_neck_for_shirts + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck for shirts + Full measurement name + + + + + Half girth neck for shirts + Full measurement description + + + + + half_girth_chest_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest first + Full measurement name + + + + + Half girth chest first + Full measurement description + + + + + half_girth_chest_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest second + Full measurement name + + + + + Half girth chest second + Full measurement description + + + + + half_girth_chest_third + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest third + Full measurement name + + + + + Half girth chest third + Full measurement description + + + + + half_girth_waist + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth waist + Full measurement name + + + + + Half girth waist + Full measurement description + + + + + half_girth_hips_considering_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips considering protruding abdomen + Full measurement name + + + + + Half girth hips considering protruding abdomen + Full measurement description + + + + + half_girth_hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips excluding protruding abdomen + Full measurement name + + + + + Half girth hips excluding protruding abdomen + Full measurement description + + + + + girth_knee_flexed_feet + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth knee flexed feet + Full measurement name + + + + + Girth knee flexed feet + Full measurement description + + + + + neck_transverse_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck transverse diameter + Full measurement name + + + + + Neck transverse diameter + Full measurement description + + + + + front_slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front slash shoulder height + Full measurement name + + + + + Front slash shoulder height + Full measurement description + + + + + neck_to_front_waist_line + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to front waist line + Full measurement name + + + + + The distance from the base of the neck to the waist line front + Full measurement description + + + + + hand_vertical_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand vertical diameter + Full measurement name + + + + + Hand vertical diameter + Full measurement description + + + + + neck_to_knee_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to knee point + Full measurement name + + + + + Distance from neck to knee point + Full measurement description + + + + + waist_to_knee + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to knee + Full measurement name + + + + + The distance from the waist to the knee + Full measurement description + + + + + shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder height + Full measurement name + + + + + Shoulder height + Full measurement description + + + + + head_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Head height + Full measurement name + + + + + Head height + Full measurement description + + + + + body_position + Short measurement name. Don't use math symbols in name!!!! + + + + + Body position + Full measurement name + + + + + Body position + Full measurement description + + + + + arc_behind_shoulder_girdle + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc behind shoulder girdle + Full measurement name + + + + + Arc behind the shoulder girdle + Full measurement description + + + + + neck_to_neck_base + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to neck base + Full measurement name + + + + + Distance from neck point to point on the base of the neck side neck girth measurement line + Full measurement description + + + + + depth_waist_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist first + Full measurement name + + + + + Depth waist first + Full measurement description + + + + + depth_waist_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist second + Full measurement name + + + + + Depth waist second + Full measurement description PatternPage - + User - + User name - + Graphical output - + Use antialiasing - + Undone - + Count steps + + PostfixOperators + + + cm + centimeter + + + + + mm + millimeter + + + + + in + inch + + + QObject - + Create new pattern piece to start working. @@ -2723,130 +5447,160 @@ Do you want to save your changes? TableWindow - + Create a layout - + toolBar - + Save - - + + Save layout - + Next - + Next detail - + Turn - + Turn the detail 90 degrees - + Stop - + Stop laying - + Enlarge letter - + Enlarge the length of the sheet - + Reduce sheet - + Reduce the length of the sheet - - + + Mirroring - - + + Zoom In - - + + Zoom Out - + 0 details left. - - + + Collisions not found. - + %1 details left. - + + untitled + + + + + Svg files (*.svg) + + + + + PDF files (*.pdf) + + + + + Images (*.png) + + + + + PS files (*.ps) + + + + + EPS files (*.eps) + + + + Collisions found. - - SVG Generator Example Drawing + + Creating file '%1' failed! %2 - - An SVG drawing created by the SVG Generator Example provided with Qt. + + Critical error! VAbstractNode - + Can't find tag Modeling @@ -2854,12 +5608,12 @@ Do you want to save your changes? VAbstractTool - + Confirm the deletion. - + Do you really want delete? @@ -2867,42 +5621,32 @@ Do you want to save your changes? VApplication - - - - - - - Error! - - - - + Error parsing file. Program will be terminated. - + Error bad id. Program will be terminated. - + Error can't convert value. Program will be terminated. - + Error empty parameter. Program will be terminated. - + Error wrong id. Program will be terminated. - + Something's wrong!! @@ -2910,215 +5654,269 @@ Do you want to save your changes? VContainer - - - + + + Can't find object + + + Can't cast object + + VDomDocument - - Can't find tool id = %1 in table. + + Can't convert toUInt parameter - - Got wrong parameter id. Need only id > 0. - - - - - Can't convert toLongLong parameter - - - - + Got empty parameter - + Can't convert toDouble parameter - - This id is not unique. + + + Can't open file %1: +%2. - - Error creating or updating detail + + Can't open schema file %1: +%2. - - Error creating or updating single point + + Validation error in line %1 column %2 - - Error creating or updating point of end line - - - - - Error creating or updating point along line - - - - - Error creating or updating point of shoulder - - - - - Error creating or updating point of normal - - - - - Error creating or updating point of bisector - - - - - Error creating or updating point of lineintersection - - - - - Error creating or updating point of contact - - - - - Error creating or updating modeling point - - - - - Error creating or updating height - - - - - Error creating or updating triangle - - - - - Error creating or updating point of intersection - - - - - Error creating or updating cut spline point - - - - - Error creating or updating cut spline path point - - - - - Error creating or updating cut arc point - - - - - Error creating or updating line - - - - - Error creating or updating simple curve - - - - - Error creating or updating curve path - - - - - Error creating or updating modeling simple curve - - - - - Error creating or updating modeling curve path - - - - - Error creating or updating simple arc - - - - - Error creating or updating modeling arc - - - - - Error creating or updating union details - - - - - Error! - - - - - Error parsing file. + + Parcing error in line %1 column %2 VDrawTool - + Can not find the element after which you want to insert. - + Can't find tag Calculation - + Options - + Delete + + VException + + + Critical error! + + + + + VPattern + + + Can't find tool id = %1 in table. + + + + + Error no unique id. + + + + + Error! + + + + + Error parsing file. + + + + + Error creating or updating detail + + + + + Error creating or updating single point + + + + + + Error creating or updating point of end line + + + + + + Error creating or updating point along line + + + + + + Error creating or updating point of shoulder + + + + + + Error creating or updating point of normal + + + + + + Error creating or updating point of bisector + + + + + Error creating or updating point of lineintersection + + + + + + Error creating or updating point of contact + + + + + Error creating or updating modeling point + + + + + Error creating or updating height + + + + + Error creating or updating triangle + + + + + Error creating or updating point of intersection + + + + + + Error creating or updating cut spline point + + + + + + Error creating or updating cut spline path point + + + + + + Error creating or updating cut arc point + + + + + Error creating or updating line + + + + + Error creating or updating simple curve + + + + + Error creating or updating curve path + + + + + Error creating or updating modeling simple curve + + + + + Error creating or updating modeling curve path + + + + + + Error creating or updating simple arc + + + + + Error creating or updating modeling arc + + + + + Error creating or updating union details + + + + + Got wrong parameter id. Need only id > 0. + + + + + This id is not unique. + + + VSplinePath - + Not enough points to create the spline. - - - + + + This spline does not exist. - + Can't cut spline path with one point @@ -3126,12 +5924,12 @@ Do you want to save your changes? VTableGraphicsView - + can't find detail - + detail found @@ -3139,30 +5937,54 @@ Do you want to save your changes? VToolDetail - + Options - + Delete - - VToolTriangle - - - Can't find point. - - - VToolUnionDetails - + Can't find tag Modeling + + Variables + + + Line_ + Left symbol _ in name + + + + + AngleLine_ + Left symbol _ in name + + + + + Arc_ + Left symbol _ in name + + + + + Spl_ + Left symbol _ in name + + + + + SplPath + + + diff --git a/src/app/share/translations/valentina_he_IL.ts b/src/app/share/translations/valentina_he_IL.ts index 212035b30..2fa7feb54 100644 --- a/src/app/share/translations/valentina_he_IL.ts +++ b/src/app/share/translations/valentina_he_IL.ts @@ -1,35 +1,35 @@ - + ConfigDialog - + Apply - + &Cancel - + &Ok - + Config Dialog - + Configuration - + Pattern @@ -37,171 +37,224 @@ ConfigurationPage - + Setup user interface language updated and will be used the next time start - + Save שמור - + Auto-save modified pattern - + Interval: - + min - + Language - + GUI language - + Decimal separator parts - + With OS options (.) + + DialogAboutApp + + + About Valentina + + + + + Valentina version + + + + + pushButton_Web_Site + + + + + Contributors + + + + + label_QT_Version + + + + + Based on Qt %2 (32 bit) + + + + + Built on %3 at %4 + + + + + Web site : %1 + + + + + Warning + + + + + Cannot open your default browser + + + DialogAlongLine - + Point along line - + Length אורך - + Formula for the calculation of length of line - + Insert variable into the formula - - + + ... ... - + Calculate value לחשב ערך - + Value of length ערך האורך - + _ _ - + Point label תווית הנקודה - + First point נקודה ראשונה - + First point of line נקודה ראשונה בקו - + Second point נקודה שנייה - + Second point of line נקודה שנייה בקו - + Type of line סוג הקו - + Show line from first point to this point - + Input data - + Size and height - + Standard table - + Increments - + Length of lines אורך הקווים - + Length of arcs - + Length of curves אורך העקומות - + Variables - Click twice to insert into formula - + Select second point of line @@ -209,151 +262,151 @@ DialogArc - + Arc - + Radius רדיוס - + Formula for the calculation of radius of arc - + Insert variable into the formula - - - - - - + + + + + + ... ... - - - + + + Calculate value לחשב ערך - + Value of radius ערך הרדיוס - - - + + + _ _ - + First angle degree - + First angle of arc counterclockwise - + Insert variable into formula - + Value of first angle - + Second angle degree - + Second angle of arc counterclockwise - + Insert marked variable into formula - + Value of second angle - + Center point נקודת מרכז - + Select point of center of arc - + Input data - + Size and height - + Standard table - + Increments - + Length of lines אורך הקווים - + Length of arcs - + Length of curves אורך העקומות - + Angle of lines - + Variables - + Value of angle of line. @@ -361,138 +414,138 @@ DialogBisector - + Bisector - + Length אורך - + Calculation of length of bisector by using the formula - + Insert marked variable into the formula - - + + ... ... - + Calculate value לחשב ערך - + Value of length ערך האורך - + _ _ - + Point label תווית הנקודה - + First point נקודה ראשונה - + First point of angle - + Second point נקודה שנייה - + Second point of angle - + Third point - + Third point of angle - + Type of line סוג הקו - + Show line from second point to this point - + Input data - + Size and height - + Standard table - + Increments - + Length of lines אורך הקווים - + Length of arcs - + Length of curves אורך העקומות - + Variables - Click twice to insert into formula - + Select second point of angle - + Select third point of angle @@ -500,93 +553,93 @@ DialogCutArc - + Dialog - + Length אורך - + Formula for the calculation of the spline - - + + ... ... - + Calculate value לחשב ערך - + Value of length ערך האורך - + _ _ - + Arc - + Selected curve - + Point label תווית הנקודה - + Input data - + Size and height - + Standard table - + Increments - + Length of lines אורך הקווים - + Length of arcs - + Length of curves אורך העקומות - + Variables - Click twice to insert into formula @@ -594,93 +647,93 @@ DialogCutSpline - + Dialog - + Length אורך - + Formula for the calculation of the spline - - + + ... ... - + Calculate value לחשב ערך - + Value of length ערך האורך - + _ _ - + Curve עקומה - + Selected curve - + Point label תווית הנקודה - + Input data - + Size and height - + Standard table - + Increments - + Length of lines אורך הקווים - + Length of arcs - + Length of curves אורך העקומות - + Variables - Click twice to insert into formula @@ -688,93 +741,93 @@ DialogCutSplinePath - + Dialog - + Length אורך - + Formula for the calculation of the curve length - - + + ... ... - + Calculate value לחשב ערך - + Value of length ערך האורך - + _ _ - + Curve עקומה - + Selected curve path - + Point label תווית הנקודה - + Input data - + Size and height - + Standard table - + Increments - + Length of lines אורך הקווים - + Length of arcs - + Length of curves אורך העקומות - + Variables - Click twice to insert into formula @@ -782,180 +835,175 @@ DialogDetail - - + + Detail - + Bias X - + Bias Y - + Options אפשרויות - + Name of detail - + Seam allowance - + Width רוחב - + Closed - + Delete למחוק - + Got wrong scene object. Ignore. - - - Got wrong tools. Ignore. - - DialogEndLine - + Point in the end of a line - + Length אורך - + Formula for calculation of length of line - - - - - - - - - - + + + + + + + + + + ... ... - + Calculate value לחשב ערך - + Value of length ערך האורך - + _ _ - + Base point - + First point of line נקודה ראשונה בשורה - + Point label תווית הנקודה - + Degree of angle - + Angle of line - + Type of line סוג הקו - + Show line from first point to this point - + Input data - + Size and height - + Standard table - + Increments - + Length of lines אורך הקווים - + Length of arcs - + Length of curves אורך העקומות - + Variables - Click twice to insert into formula @@ -963,50 +1011,50 @@ DialogHeight - + Dialog - + Point label תווית הנקודה - + Base point - - - - + + + + First point of line נקודה ראשונה בשורה - + Second point of line נקודה שנייה בשורה - + Type of line סוג הקו - + Show line from first point to our point - + Select first point of line לבחור נקודה ראשונה - + Select second point of line @@ -1014,242 +1062,407 @@ DialogHistory - + History - - + + Tool כלי - + + + + + Can't create record. + + + + %1 - Base point - - + + %1_%2 - Line from point %1 to point %2 - + %3 - Point along line %1_%2 - + %1 - Point of shoulder - + %3 - normal to line %1_%2 - + %4 - bisector of angle %1_%2_%3 - + %5 - intersection of lines %1_%2 and %3_%4 - + Curve %1_%2 - + Arc with center in point %1 - + Curve point %1 - + %4 - point of contact of arc with the center in point %1 and line %2_%3 - + Point of perpendicular from point %1 to line %2_%3 - + Triangle: axis %1_%2, points %3 and %4 - + %1 - point of intersection %2 and %3 - + %1 - cut arc with center %2 - + %1 - cut curve %2_%3 - + %1 - cut curve path %2 - - - Got wrong tool type. Ignore. - - DialogIncrements - - + + Increments - - Sizes table - - - - - + + Name - - + + The calculated value הערך המחושב - - + + Base value - - + + In sizes - - - In growths - - - - - - - + + + Description - - + + + ... ... - + + + Measurements + + + + + Load another measurements table + + + + + Personal information + + + + + Given name + + + + + Family name + + + + + Birth date + + + + + yyyy-MM-dd + + + + + Sex + + + + + Mail + + + + + + In heights + + + + Lines קווים - + Line קו - - - + + + Length אורך - + Curves עקומות - + Curve עקומה - + Arcs - + Arc - - Name_%1 + + + + File error. - - Can't convert toDouble value. + + male + + + + + female + + + + + Measurements use different units than pattern. This pattern required measurements in %1 + + + + + Individual measurements (*.vit) + + + + + + Open file + + + + + + Wrong units. + + + + + Standard measurements (*.vst) + + + + + Name_%1 + + + + + DialogIndividualMeasurements + + + Dialog + + + + + Pattern piece name + + + + + Exist measurements + + + + + + Path: + + + + + + ... + ... + + + + New measurements + + + + + Units: + + + + + Could not create measurements file + + + + + Please try again or change file + + + + + + File error. + + + + + + Individual measurements (*.vit) + + + + + Open file + + + + + Where save measurements? + + + + + centimeter + + + + + inch DialogLine - + Line קו - + First point נקודה ראשונה - + Second point נקודה שנייה - + Type of line סוג הקו - + Show line from first point to this point - + Select second point לבחור נקודה שנייה @@ -1257,291 +1470,347 @@ DialogLineIntersect - + Intersection of lines הצטלבות של קווים - + Point label תווית הנקודה - + First line - - + + First point נקודה ראשונה - - + + Second point נקודה שנייה - + Second line - + Select second point of first line - + Select first point of second line - + Select second point of second line + + DialogMeasurements + + + Measurements + + + + + <html><head/><body><p><span style=" font-size:18pt;">Please, choose pattern type.</span></p></body></html> + + + + + Graduation + + + + + Use for creation pattern standard measurement table + + + + + Individual + + + + + Use for creation pattern individual measurements + + + DialogNormal - + Normal - + Length אורך - + Formula for calculation of length of normal - + Insert variable into formula - - - - - - - - - - + + + + + + + + + + ... ... - + Calculate value לחשב ערך - + Value of length ערך האורך - + _ _ - + Point label תווית הנקודה - + First point נקודה ראשונה - + Second point נקודה שנייה - + Additional angle degrees - + Type of line סוג הקו - + Show line from first point to this point - + Input data - + Size and height - + Standard table - + Increments - + Length of lines אורך הקווים - + Length of arcs - + Length of curves אורך העקומות - + Variables - Click twice to insert into formula - + Select second point of line + + DialogPatternProperties + + + Pattern properties + + + + + Author name + + + + + Pattern description + + + + + For technical notes. + + + DialogPointOfContact - + Point of contact - + Radius רדיוס - + Formula for calculation of radius of arc - + Insert variable into formula - - + + ... ... - + Calculate value לחשב ערך - + Value of radius ערך הרדיוס - + _ _ - + Point label תווית הנקודה - + Center of arc - - + + Select point of center of arc - + Top of the line - + End of the line - + Input data - + Size and height - + Standard table - + Increments - + Length of lines אורך הקווים - + Length of arcs - + Length of curves אורך העקומות - + Variables - Click twice to insert into formula. - + Select second point of line @@ -1549,37 +1818,37 @@ DialogPointOfIntersection - + Dialog - + Point label תווית הנקודה - + vertical point - + First point of angle - + horizontal point - + Second point of angle - + Select point horizontally @@ -1587,115 +1856,115 @@ DialogShoulderPoint - - + + Point of shoulder - + Length אורך - + Formula for calculation of length of line - + Insert variable into formula - - + + ... ... - + Calculate value לחשב ערך - + Value of length ערך האורך - + _ _ - + Point label תווית הנקודה - + First point נקודה ראשונה - + Second point נקודה שנייה - + Type of line סוג הקו - + Show line from first point to our point - + Input data - + Size and height - + Standard table - + Increments - - + + Length of lines אורך הקווים - + Length of curves אורך העקומות - + Variables - Click twice to insert into formula - + Select second point of line - + Select point of shoulder @@ -1703,32 +1972,32 @@ DialogSinglePoint - + Single point - + Coordinates on the sheet - + Coordinates - + Y coordinate - + X coordinate - + Point label תווית הנקודה @@ -1736,47 +2005,47 @@ DialogSpline - + Curve עקומה - + First point נקודה ראשונה - + Length ratio of the first control point - + The angle of the first control point - + Second point נקודה שנייה - + Length ratio of the second control point - + The angle of the second control point - + Coefficient of curvature of the curve - + Select last point of curve @@ -1784,115 +2053,133 @@ DialogSplinePath - + Curve path - + Point of curve - + Length ratio of the first control point - + The angle of the first control point - + Length ratio of the second control point - + The angle of the second control point - + List of points - + Coefficient of curvature of the curve - + Select point of curve path + + DialogStandardMeasurements + + + Standard table + + + + + Pattern piece name + + + + + Standard measurements table + + + + + File error. + + + DialogTool - + Line קו - + No line - + Dash Line - + Dot Line - + Dash Dot Line - + Dash Dot Dot Line - - Can't find object by name - - - - + Error - + Height - + Size - + Line length אורך הקו - + Arc length - + Curve length אורך העקומה @@ -1900,55 +2187,55 @@ DialogTriangle - + Dialog - + Point label תווית הנקודה - + First point of axis - - - - + + + + First point of line - + Second point of axis - + First point נקודה ראשונה - + Second point נקודה שנייה - + Select second point of axis - + Select first point לבחור נקודה ראשונה - + Select second point לבחור נקודה שנייה @@ -1956,90 +2243,242 @@ DialogUnionDetails - + Dialog - + Do you really want union details? This operation can't be undone. - + Select first point לבחור נקודה ראשונה - + Select second point לבחור נקודה שנייה - - + + Select another second point - + Select detail + + Functions + + + sin + sine function + + + + + cos + cosine function + + + + + tan + tangens function + + + + + asin + arcus sine function + + + + + acos + arcus cosine function + + + + + atan + arcus tangens function + + + + + sinh + hyperbolic sine function + + + + + cosh + hyperbolic cosine + + + + + tanh + hyperbolic tangens function + + + + + asinh + hyperbolic arcus sine function + + + + + acosh + hyperbolic arcus tangens function + + + + + atanh + hyperbolic arcur tangens function + + + + + log2 + logarithm to the base 2 + + + + + log10 + logarithm to the base 10 + + + + + log + logarithm to the base 10 + + + + + ln + logarithm to base e (2.71828...) + + + + + exp + e raised to the power of x + + + + + sqrt + square root of a value + + + + + sign + sign function -1 if x<0; 1 if x>0 + + + + + rint + round to nearest integer + + + + + abs + absolute value + + + + + min + min of all arguments + + + + + max + max of all arguments + + + + + sum + sum of all arguments + + + + + avg + mean value of all arguments + + + MainWindow - - + Valentina - + Tools for creating points. - + Point נקודה - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + ... ... - + Tool triangle. - + Tools for creating lines. כלים ליצירת קווים. - + Line קו @@ -2048,682 +2487,2971 @@ כלי ליצירת נקודה בהצטלבות של 2 קווים. - + Point at distance and angle - + Special point on shoulder. - + Point at intersection of arc and line. - + Point along bisector - + Point along perpendicular - + Point at distance along line - + Perpendicular point along line - + Line between points - + Point at line intersection - + Tools for creating curves. - + Curve עקומה - + Curve tool. - + Tool for path curve. - + Tool segment a pathed curve. - + Tool for segmenting a curve. - + Tools for creating arcs. - + Arc - + Arc tool. - + Tools for creating details. - + Detail - + Tool new detail. - + &File - + &Help - + &Pattern piece - + Save &As... - + About &Qt - + &About Valentina - + E&xit - + Exit the application - + Options... + + + Pattern properties + + File קובץ - + toolBar - + toolBar_2 - + toolBar_3 - + New חדש - + &New - + Create a new pattern - + Ctrl+N - + Open - + &Open - + Open file with pattern - + Save שמור - + &Save - + Save pattern - + Ctrl+S - + Save as - + Save not yet saved pattern - + Ctrl+Shift+S - + Draw - + Draw mode - + Ctrl+W - + Details - + Details mode - + Ctrl+E - - + + Pointer tools - + New pattern piece - + Add new pattern piece - + Ctrl+Shift+N - - + + Change the label of pattern piece - + Table of variables - + Tables of variables - + Ctrl+T - + History - + Ctrl+H - + Layout - + Create layout - + Ctrl+L - + About Qt - - About Valentina - - - - + Ctrl+Q - + Pattern piece %1 - - + Pattern piece: - - Enter a label for the pattern piece. - - - - - Error. Pattern piece of same label already exists. - - - - - Error creating pattern with the name - - - - + Enter a new label for the pattern piece. - - Error. Pattern piece of same name already exists. - - - - + Error saving change!!! - + Can't save new label of pattern piece - - + + Select point - + Select first point לבחור נקודה ראשונה - - - + + + Select first point of line לבחור נקודה ראשונה - + Select first point of angle - + Select first point of first line - + Select first point curve - + Select simple curve - + Select point of center of arc - + Select point of curve path - + Select curve path - + Select points, arcs, curves clockwise. - + Select base point - + Select first point of axis - + Select point vertically - + Select detail - + Select arc - - Based on Qt %2 (32 bit) + + Measurements use different units than pattern. This pattern required measurements in %1 - - Built on %3 at %4 + + + Wrong units. + + + + + File error. + + + + + The measurements file <br/><br/> <b>%1</b> <br/><br/> %3 + + + + + could not be found. Do you want to update the file location + + + + + Standard measurements (*.vst) + + + + + Individual measurements (*.vit) - <h1>%1</h1> %2 <br/><br/> %3 <br/><br/> %4 - <h1>%1</h1> %2 <br/><br/> %3 <br/><br/> %4 + <h1>%1</h1> %2 <br/><br/> %3 <br/><br/> %4 - - Cannot read file %1: -%2. - - - - + File loaded - + Height: - + Size: - + Pattern Piece: - - + + Pattern files (*.val) - - + + /pattern.val - - Can't open pattern file %1: -%2. - - - - - Can't open schema file %1: -%2. - - - - + File saved - - Can not save pattern - - - - + untitled.val - + Unsaved change - + The pattern has been modified. Do you want to save your changes? - - - Error! - - - - + + Open file - - - Error no unique id. - - - - - Got empty file name. - - - - - Could not copy temp file to pattern file - - - - - Could not remove pattern file - - - - + + Error parsing file. - + Error can't convert value. - + Error empty parameter. - + Error wrong id. + + + Measurements - - Parsing pattern file error. + + head_girth + Short measurement name. Don't use math symbols in name!!!! - - Validation file error. + + Head girth + Full measurement name - - - Error in line %1 column %2 + + Around fullest part of Head + Full measurement description + + + + + mid_neck_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Mid-neck girth + Full measurement name + + + + + Around middle part of Neck + Full measurement description + + + + + neck_base_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck Base girth + Full measurement name + + + + + Around Neck at base + Full measurement description + + + + + head_and_neck_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Head and Neck length + Full measurement name + + + + + Vertical Distance from Crown to Nape + Full measurement description + + + + + center_front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Center length + Full measurement name + + + + + Front Neck Center over tape at Bustline to Front Waist Center + Full measurement description + + + + + center_back_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Center length + Full measurement name + + + + + Back Neck Center to Back Waist Center + Full measurement description + + + + + shoulder_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder length + Full measurement name + + + + + NeckPoint to ShoulderTip + Full measurement description + + + + + side_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Side Waist length + Full measurement name + + + + + Armpit to Waist side + Full measurement description + + + + + trunk_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Trunk length + Full measurement name + + + + + Around Body from middle of Shoulder length to BustPoint to Crotch up back to beginning point + Full measurement description + + + + + shoulder_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder girth + Full measurement name + + + + + Around Arms and Torso, at bicep level parallel to floor, with arms hanging at the sides + Full measurement description + + + + + upper_chest_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upper Chest girth + Full measurement name + + + + + Around Chest at Armfold level, will be parallel to floor across back, will not be parallel to floor across front chest + Full measurement description + + + + + bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust girth + Full measurement name + + + + + Around fullest part of Bust, parallel to floor + Full measurement description + + + + + under_bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Under Bust girth + Full measurement name + + + + + Around Chest below the Bust, parallel to floor + Full measurement description + + + + + waist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist girth + Full measurement name + + + + + Tie a string around smallest part of waist, keep string tied while taking meaasurements. Not usually parallel to floor for front waist or back waist. + Full measurement description + + + + + high_hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip girth + Full measurement name + + + + + Around HighHip, parallel to floor + Full measurement description + + + + + hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip girth + Full measurement name + + + + + Around Hip, parallel to floor + Full measurement description + + + + + upper_front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Upper Chest width + Full measurement name + + + + + Across Front UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Chest width + Full measurement name + + + + + Across Front Chest, from armfold to armfold + Full measurement description + + + + + across_front_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Front + Full measurement description + + + + + + across_back_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Back + Full measurement description + + + + + + Back Upper Chest width + Full measurement name + + + + + + Across Back UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + upper_back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Chest width + Full measurement name + + + + + Across Back Chest, from armfold to armfold + Full measurement description + + + + + bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + BustPoint to BustPoint + Full measurement name + + + + + Distance between BustPoints, across Chest + Full measurement description + + + + + halter_bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + Halter Bustpoint to Bustpoint + Full measurement name + + + + + Distance from Bustpoint, behind neck, down to Bustpoint + Full measurement description + + + + + neck_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + NeckPoint to BustPoint + Full measurement name + + + + + From NeckPoint to BustPoint + Full measurement description + + + + + crotch_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch length + Full measurement name + + + + + From Front Waist Center, down to crotch, up to Back Waist Center + Full measurement description + + + + + rise_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Rise height + Full measurement name + + + + + Sit on hard chair, measure from side waist straight down to chair bottom + Full measurement description + + + + + shoulder_drop + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Drop + Full measurement name + + + + + Vertical Distance from NeckPoint level to ShoulderTip level + Full measurement description + + + + + shoulder_slope_degrees + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Slope degrees + Full measurement name + + + + + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer + Full measurement description + + + + + front_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Shoulder Balance + Full measurement name + + + + + ShoulderTip to Front Waist Center + Full measurement description + + + + + back_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Shoulder Balance + Full measurement name + + + + + ShoulderTip to Back Waist Center + Full measurement description + + + + + front_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Full Length + Full measurement name + + + + + NeckPoint straight down front chest to Waistline + Full measurement description + + + + + back_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Full Length + Full measurement name + + + + + Back NeckPoint straight down back chest to Waistline + Full measurement description + + + + + front_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint through Front Neck Center + Full measurement description + + + + + back_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint across Nape + Full measurement description + + + + + front_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + front_upper-bust_arc + Full measurement name + + + + + front_upper-bust_arc + Full measurement description + + + + + back_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperBust arc + Full measurement name + + + + + Back UpperBust side to side + Full measurement description + + + + + front_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist arc + Full measurement name + + + + + Front Waist side to side + Full measurement description + + + + + back_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist arc + Full measurement name + + + + + Back Waist side to side + Full measurement description + + + + + front_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperHip arc + Full measurement name + + + + + Front UpperHip side to side + Full measurement description + + + + + back_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperHip arc + Full measurement name + + + + + Back UpperHip side to side + Full measurement description + + + + + front_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Hip arc + Full measurement name + + + + + Front Hip side to side + Full measurement description + + + + + back_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Hip arc + Full measurement name + + + + + Back Hip side to side + Full measurement description + + + + + chest_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest Balance + Full measurement name + + + + + NeckPoint to Front ArmfoldPoint + Full measurement description + + + + + back_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Balance + Full measurement name + + + + + NeckPoint to Back ArmfoldPoint + Full measurement description + + + + + front_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist Balance + Full measurement name + + + + + NeckPoint across Front Chest to Waist side + Full measurement description + + + + + back_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist Balance + Full measurement name + + + + + NeckPoint across Back Chest to Waist side + Full measurement description + + + + + front_neck_to_upper_chest_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperChest height + Full measurement name + + + + + Front Neck Center straight down to UpperChest line + Full measurement description + + + + + front_neck_to_bust_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust height + Full measurement name + + + + + Front Neck Center straight down to Bust line + Full measurement description + + + + + armscye_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye Girth + Full measurement name + + + + + Around Armscye + Full measurement description + + + + + elbow_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow Girth + Full measurement name + + + + + Around Elbow with elbow bent + Full measurement description + + + + + upper_arm_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upperarm Girth + Full measurement name + + + + + Around UpperArm + Full measurement description + + + + + wrist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Wrist girth + Full measurement name + + + + + Around Wrist + Full measurement description + + + + + scye_depth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye depth + Full measurement name + + + + + Nape straight down to UnderBust line (same as Back UpperBust height) + Full measurement description + + + + + shoulder_and_arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder and Arm length + Full measurement name + + + + + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + underarm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Underarm length + Full measurement name + + + + + Armpit to Wrist, with arm straight and hanging at side + Full measurement description + + + + + cervicale_to_wrist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to wrist length + Full measurement name + + + + + Nape to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + shoulder_to_elbow_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow length + Full measurement name + + + + + ShoulderTip to Elbow, with elbow bent and hand on hip + Full measurement description + + + + + arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Arm length + Full measurement name + + + + + ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + hand_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand width + Full measurement name + + + + + Hand side to side + Full measurement description + + + + + hand_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand length + Full measurement name + + + + + Hand Middle Finger tip to wrist + Full measurement description + + + + + hand_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand girth + Full measurement name + + + + + Around Hand + Full measurement description + + + + + thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Thigh girth + Full measurement name + + + + + Around Thigh + Full measurement description + + + + + mid_thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Midthigh girth + Full measurement name + + + + + Around MidThigh + Full measurement description + + + + + knee_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee girth + Full measurement name + + + + + Around Knee + Full measurement description + + + + + calf_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Calf girth + Full measurement name + + + + + Around Calf + Full measurement description + + + + + ankle_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle girth + Full measurement name + + + + + Around Ankle + Full measurement description + + + + + knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee height + Full measurement name + + + + + Knee to Floor + Full measurement description + + + + + ankle_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle height + Full measurement name + + + + + Ankle to Floor + Full measurement description + + + + + foot_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot width + Full measurement name + + + + + Widest part of Foot side to side + Full measurement description + + + + + foot_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot length + Full measurement name + + + + + Tip of Longest Toe straight to back of heel + Full measurement description + + + + + height + Short measurement name. Don't use math symbols in name!!!! + + + + + Total Height + Full measurement name + + + + + Top of head to floor + Full measurement description + + + + + cervicale_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape height + Full measurement name + + + + + Nape to Floor + Full measurement description + + + + + cervicale_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to knee height + Full measurement name + + + + + Nape to Knee + Full measurement description + + + + + waist_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist height + Full measurement name + + + + + Waist side to floor + Full measurement description + + + + + high_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip height + Full measurement name + + + + + HighHip side to Floor + Full measurement description + + + + + hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip height + Full measurement name + + + + + Hip side to Floor + Full measurement description + + + + + waist_to_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Hip height + Full measurement name + + + + + Waist side to Hip + Full measurement description + + + + + waist_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Knee height + Full measurement name + + + + + Waist side to Knee + Full measurement description + + + + + crotch_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch height/Inseam + Full measurement name + + + + + Crotch to Floor along inside leg + Full measurement description + + + + + size + Short measurement name. Don't use math symbols in name!!!! + + + + + Size + Full measurement name + + + + + Size + Full measurement description + + + + + height_front_neck_base_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height front neck base point + Full measurement name + + + + + Height of the point base of the neck in front + Full measurement description + + + + + height_base_neck_side_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height base neck side point + Full measurement name + + + + + Height of the base of the neck side point + Full measurement description + + + + + height_shoulder_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height shoulder point + Full measurement name + + + + + The height of the shoulder point + Full measurement description + + + + + height_nipple_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height nipple point + Full measurement name + + + + + Height nipple point + Full measurement description + + + + + height_back_angle_axilla + Short measurement name. Don't use math symbols in name!!!! + + + + + Height back angle axilla + Full measurement name + + + + + Height back angle axilla + Full measurement description + + + + + height_scapular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height scapular point + Full measurement name + + + + + Height scapular point + Full measurement description + + + + + height_under_buttock_folds + Short measurement name. Don't use math symbols in name!!!! + + + + + Height under buttock folds + Full measurement name + + + + + Height under buttock folds + Full measurement description + + + + + hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Hips excluding protruding abdomen + Full measurement name + + + + + Hips excluding protruding abdomen + Full measurement description + + + + + girth_foot_instep + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth foot instep + Full measurement name + + + + + Girth foot instep + Full measurement description + + + + + side_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Side waist to floor + Full measurement name + + + + + The distance from the side waist to floor + Full measurement description + + + + + front_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist to floor + Full measurement name + + + + + The distance from the front waist to floor + Full measurement description + + + + + arc_through_groin_area + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through groin area + Full measurement name + + + + + Arc through groin area + Full measurement description + + + + + waist_to_plane_seat + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to plane seat + Full measurement name + + + + + The distance from the waist to the plane seat + Full measurement description + + + + + neck_to_radial_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to radial point + Full measurement name + + + + + The distance from the base of the neck to the side of the radial point + Full measurement description + + + + + neck_to_third_finger + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to third finger + Full measurement name + + + + + Distance from the base of the neck side point to the end of the third finger + Full measurement description + + + + + neck_to_first_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to first line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the side of the first line in front of chest circumference + Full measurement description + + + + + front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist length + Full measurement name + + + + + The distance from the base of the neck to the waist side front (waist length in the front) + Full measurement description + + + + + arc_through_shoulder_joint + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through shoulder joint + Full measurement name + + + + + Arc through the highest point of the shoulder joint + Full measurement description + + + + + neck_to_back_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to back line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes + Full measurement description + + + + + waist_to_neck_side + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to neck side + Full measurement name + + + + + The distance from the waist to the back base of the neck side point + Full measurement description + + + + + arc_length_upper_body + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc length upper body + Full measurement name + + + + + Arc length of the upper body through the base of the neck side point + Full measurement description + + + + + chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest width + Full measurement name + + + + + Chest width + Full measurement description + + + + + anteroposterior_diameter_hands + Short measurement name. Don't use math symbols in name!!!! + + + + + Anteroposterior diameter hands + Full measurement name + + + + + Anteroposterior diameter of the hands + Full measurement description + + + + + height_clavicular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height clavicular point + Full measurement name + + + + + Height clavicular point + Full measurement description + + + + + height_armhole_slash + Short measurement name. Don't use math symbols in name!!!! + + + + + Height armhole slash + Full measurement name + + + + + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) + Full measurement description + + + + + slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Slash shoulder height + Full measurement name + + + + + Slash shoulder height + Full measurement description + + + + + half_girth_neck + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck + Full measurement name + + + + + Half girth neck + Full measurement description + + + + + half_girth_neck_for_shirts + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck for shirts + Full measurement name + + + + + Half girth neck for shirts + Full measurement description + + + + + half_girth_chest_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest first + Full measurement name + + + + + Half girth chest first + Full measurement description + + + + + half_girth_chest_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest second + Full measurement name + + + + + Half girth chest second + Full measurement description + + + + + half_girth_chest_third + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest third + Full measurement name + + + + + Half girth chest third + Full measurement description + + + + + half_girth_waist + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth waist + Full measurement name + + + + + Half girth waist + Full measurement description + + + + + half_girth_hips_considering_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips considering protruding abdomen + Full measurement name + + + + + Half girth hips considering protruding abdomen + Full measurement description + + + + + half_girth_hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips excluding protruding abdomen + Full measurement name + + + + + Half girth hips excluding protruding abdomen + Full measurement description + + + + + girth_knee_flexed_feet + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth knee flexed feet + Full measurement name + + + + + Girth knee flexed feet + Full measurement description + + + + + neck_transverse_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck transverse diameter + Full measurement name + + + + + Neck transverse diameter + Full measurement description + + + + + front_slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front slash shoulder height + Full measurement name + + + + + Front slash shoulder height + Full measurement description + + + + + neck_to_front_waist_line + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to front waist line + Full measurement name + + + + + The distance from the base of the neck to the waist line front + Full measurement description + + + + + hand_vertical_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand vertical diameter + Full measurement name + + + + + Hand vertical diameter + Full measurement description + + + + + neck_to_knee_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to knee point + Full measurement name + + + + + Distance from neck to knee point + Full measurement description + + + + + waist_to_knee + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to knee + Full measurement name + + + + + The distance from the waist to the knee + Full measurement description + + + + + shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder height + Full measurement name + + + + + Shoulder height + Full measurement description + + + + + head_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Head height + Full measurement name + + + + + Head height + Full measurement description + + + + + body_position + Short measurement name. Don't use math symbols in name!!!! + + + + + Body position + Full measurement name + + + + + Body position + Full measurement description + + + + + arc_behind_shoulder_girdle + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc behind shoulder girdle + Full measurement name + + + + + Arc behind the shoulder girdle + Full measurement description + + + + + neck_to_neck_base + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to neck base + Full measurement name + + + + + Distance from neck point to point on the base of the neck side neck girth measurement line + Full measurement description + + + + + depth_waist_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist first + Full measurement name + + + + + Depth waist first + Full measurement description + + + + + depth_waist_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist second + Full measurement name + + + + + Depth waist second + Full measurement description PatternPage - + User - + User name - + Graphical output - + Use antialiasing - + Undone - + Count steps + + PostfixOperators + + + cm + centimeter + + + + + mm + millimeter + + + + + in + inch + + + QObject - + Create new pattern piece to start working. @@ -2731,130 +5459,160 @@ Do you want to save your changes? TableWindow - + Create a layout - + toolBar - + Save שמור - - + + Save layout - + Next - + Next detail - + Turn - + Turn the detail 90 degrees - + Stop - + Stop laying - + Enlarge letter - + Enlarge the length of the sheet - + Reduce sheet - + Reduce the length of the sheet - - + + Mirroring - - + + Zoom In - - + + Zoom Out - + 0 details left. - - + + Collisions not found. - + %1 details left. - + + untitled + + + + + Svg files (*.svg) + + + + + PDF files (*.pdf) + + + + + Images (*.png) + + + + + PS files (*.ps) + + + + + EPS files (*.eps) + + + + Collisions found. - - SVG Generator Example Drawing + + Creating file '%1' failed! %2 - - An SVG drawing created by the SVG Generator Example provided with Qt. + + Critical error! VAbstractNode - + Can't find tag Modeling @@ -2862,12 +5620,12 @@ Do you want to save your changes? VAbstractTool - + Confirm the deletion. - + Do you really want delete? @@ -2875,42 +5633,32 @@ Do you want to save your changes? VApplication - - - - - - - Error! - - - - + Error parsing file. Program will be terminated. - + Error bad id. Program will be terminated. - + Error can't convert value. Program will be terminated. - + Error empty parameter. Program will be terminated. - + Error wrong id. Program will be terminated. - + Something's wrong!! @@ -2918,215 +5666,269 @@ Do you want to save your changes? VContainer - - - + + + Can't find object + + + Can't cast object + + VDomDocument - - Can't find tool id = %1 in table. + + Can't convert toUInt parameter - - Got wrong parameter id. Need only id > 0. - - - - - Can't convert toLongLong parameter - - - - + Got empty parameter - + Can't convert toDouble parameter - - This id is not unique. + + + Can't open file %1: +%2. - - Error creating or updating detail + + Can't open schema file %1: +%2. - - Error creating or updating single point + + Validation error in line %1 column %2 - - Error creating or updating point of end line - - - - - Error creating or updating point along line - - - - - Error creating or updating point of shoulder - - - - - Error creating or updating point of normal - - - - - Error creating or updating point of bisector - - - - - Error creating or updating point of lineintersection - - - - - Error creating or updating point of contact - - - - - Error creating or updating modeling point - - - - - Error creating or updating height - - - - - Error creating or updating triangle - - - - - Error creating or updating point of intersection - - - - - Error creating or updating cut spline point - - - - - Error creating or updating cut spline path point - - - - - Error creating or updating cut arc point - - - - - Error creating or updating line - - - - - Error creating or updating simple curve - - - - - Error creating or updating curve path - - - - - Error creating or updating modeling simple curve - - - - - Error creating or updating modeling curve path - - - - - Error creating or updating simple arc - - - - - Error creating or updating modeling arc - - - - - Error creating or updating union details - - - - - Error! - - - - - Error parsing file. + + Parcing error in line %1 column %2 VDrawTool - + Can not find the element after which you want to insert. - + Can't find tag Calculation - + Options אפשרויות - + Delete למחוק + + VException + + + Critical error! + + + + + VPattern + + + Can't find tool id = %1 in table. + + + + + Error no unique id. + + + + + Error! + + + + + Error parsing file. + + + + + Error creating or updating detail + + + + + Error creating or updating single point + + + + + + Error creating or updating point of end line + + + + + + Error creating or updating point along line + + + + + + Error creating or updating point of shoulder + + + + + + Error creating or updating point of normal + + + + + + Error creating or updating point of bisector + + + + + Error creating or updating point of lineintersection + + + + + + Error creating or updating point of contact + + + + + Error creating or updating modeling point + + + + + Error creating or updating height + + + + + Error creating or updating triangle + + + + + Error creating or updating point of intersection + + + + + + Error creating or updating cut spline point + + + + + + Error creating or updating cut spline path point + + + + + + Error creating or updating cut arc point + + + + + Error creating or updating line + + + + + Error creating or updating simple curve + + + + + Error creating or updating curve path + + + + + Error creating or updating modeling simple curve + + + + + Error creating or updating modeling curve path + + + + + + Error creating or updating simple arc + + + + + Error creating or updating modeling arc + + + + + Error creating or updating union details + + + + + Got wrong parameter id. Need only id > 0. + + + + + This id is not unique. + + + VSplinePath - + Not enough points to create the spline. - - - + + + This spline does not exist. - + Can't cut spline path with one point @@ -3134,12 +5936,12 @@ Do you want to save your changes? VTableGraphicsView - + can't find detail - + detail found @@ -3147,30 +5949,54 @@ Do you want to save your changes? VToolDetail - + Options אפשרויות - + Delete למחוק - - VToolTriangle - - - Can't find point. - - - VToolUnionDetails - + Can't find tag Modeling + + Variables + + + Line_ + Left symbol _ in name + + + + + AngleLine_ + Left symbol _ in name + + + + + Arc_ + Left symbol _ in name + + + + + Spl_ + Left symbol _ in name + + + + + SplPath + + + diff --git a/src/app/share/translations/valentina_ru.ts b/src/app/share/translations/valentina_ru.ts index 809d068e9..266e761eb 100644 --- a/src/app/share/translations/valentina_ru.ts +++ b/src/app/share/translations/valentina_ru.ts @@ -1,35 +1,35 @@ - + ConfigDialog - + Apply Применить - + &Cancel &Отмена - + &Ok &Ок - + Config Dialog Диалог параметров - + Configuration Настройки - + Pattern Лекала @@ -37,146 +37,199 @@ ConfigurationPage - + Setup user interface language updated and will be used the next time start Настройки языка интерфейса пользователя оновлены и будут задействованы при следующем запуске - + Save Сохранить - + Auto-save modified pattern Автосохранение измененного лекала - + Interval: Интервал: - + min мин - + Language Язык - + GUI language Язык интерфейса - + Decimal separator parts Разделитель дробовой части - + With OS options (.) С параметров ОС (.) + + DialogAboutApp + + + About Valentina + Про Valentina + + + + Valentina version + + + + + pushButton_Web_Site + + + + + Contributors + + + + + label_QT_Version + + + + + Based on Qt %2 (32 bit) + Базируется на Qt %2 (32 bit) + + + + Built on %3 at %4 + Создано %3 в %4 + + + + Web site : %1 + + + + + Warning + + + + + Cannot open your default browser + + + DialogAlongLine - + Point along line Точка вдоль линии - + Length Длина - - + + ... - + Value of length Значение длины - + _ - + Formula for the calculation of length of line Формула расчета длины линии - + Calculate value Расчитать значение - + Point label Имя точки - + Insert variable into the formula Вставить переменную в формулу - + First point Первая точка - + First point of line Первая точка линии - + Second point Вторая точка - + Second point of line Вторая точка линии - + Type of line Тип линии - + Show line from first point to this point Показать линию с первой точки до этой - + Size and height Размер и рост - + Standard table Стандартная таблица - + Variables - Click twice to insert into formula Переменные - кликнете дважды для вставки в формулу - + Input data Входные данные @@ -185,27 +238,27 @@ Размер и рост - + Increments Прибавки - + Length of lines Длина линий - + Length of arcs Длина дуг - + Length of curves Длина кривых - + Select second point of line Выберить вторую точку линии @@ -213,111 +266,111 @@ DialogArc - + Arc Дуга - + Radius Радиус - - - - - - + + + + + + ... - + Formula for the calculation of radius of arc Формула расчета радиуса дуги - + Insert variable into the formula Вставить переменную в формулу - - - + + + Calculate value Расчитать значение - + Value of radius Значение радиуса - - - + + + _ - + First angle degree Первый угол градусы - + First angle of arc counterclockwise Первый угол дуги против часовой стрелки - + Insert variable into formula Вставить переменную в формулу - + Value of first angle Значение первого угла - + Second angle degree Второй угол градусы - + Second angle of arc counterclockwise Второй угол дуги против часвой стрелки - + Insert marked variable into formula Вставить выбраную переменную в формулу - + Value of second angle Значение второго угла - + Center point Центральная точка - + Select point of center of arc Выберите точку центра дуги - + Input data Входные данные - + Size and height Размер и рост @@ -326,42 +379,42 @@ Размер и рост - + Standard table Стандартная таблица - + Increments Прибавки - + Length of lines Длина линий - + Length of arcs Длина дуг - + Length of curves Длина кривых - + Angle of lines Уголы линий - + Variables Переменные - + Value of angle of line. Значение угла линии. @@ -369,108 +422,108 @@ DialogBisector - + Bisector Бисектриса - + Length Длина - - + + ... - + Value of length Значение длины - + _ - + Calculation of length of bisector by using the formula Расчет длины бисектрисы используя формулу - + Insert marked variable into the formula Вставить выбраную переменную в формулу - + Calculate value Расчитать значение - + Point label Имя точки - + First point Первая точка - + First point of angle Первая точка угла - + Second point Вторая точка - + Second point of angle Вторая точка угла - + Third point Треться точка - + Third point of angle Третья точка угла - + Type of line Тип линии - + Show line from second point to this point Показать линию с первой точки до этой - + Size and height Размер и рост - + Standard table Стандартная таблица - + Variables - Click twice to insert into formula Переменные - кликнете дважды для вставки в формулу - + Input data Входные данные @@ -479,32 +532,32 @@ Размер и рост - + Increments Прибавки - + Length of lines Длина линий - + Length of arcs Длина дуг - + Length of curves Длина кривых - + Select second point of angle Выберить вторую точку угла - + Select third point of angle Выберить третью точку угла @@ -512,93 +565,93 @@ DialogCutArc - + Dialog Диалог - + Length Длина - + Formula for the calculation of the spline Формула расчета сплайна - - + + ... ... - + Calculate value Расчитать значение - + Value of length Значение длины - + _ _ - + Arc Дуга - + Selected curve Выбраная кривая - + Point label Имя точки - + Input data Входные данные - + Size and height Размер и рост - + Standard table Стандартная таблица - + Increments Прибавки - + Length of lines Длина линий - + Length of arcs Длина дуг - + Length of curves Длина кривых - + Variables - Click twice to insert into formula Переменные - кликнете дважды для вставки в формулу @@ -606,93 +659,93 @@ DialogCutSpline - + Dialog Диалог - + Length Длина - + Formula for the calculation of the spline Формула расчета сплайна - - + + ... ... - + Calculate value Расчитать значение - + Value of length Значение длины - + _ _ - + Curve Кривая - + Selected curve Выбраная кривая - + Point label Имя точки - + Input data Входные данные - + Size and height Размер и рост - + Standard table Стандартная таблица - + Increments Прибавки - + Length of lines Длина линий - + Length of arcs Длина дуг - + Length of curves Длина кривых - + Variables - Click twice to insert into formula Переменные - кликнете дважды для вставки в формулу @@ -700,93 +753,93 @@ DialogCutSplinePath - + Dialog Диалог - + Length Длина - + Formula for the calculation of the curve length Формула для расчета длины кривои - - + + ... ... - + Calculate value Расчитать значение - + Value of length Значение длины - + _ _ - + Curve Кривая - + Selected curve path Выбраная сложная кривая - + Point label Имя точки - + Input data Входные данные - + Size and height Размер и рост - + Standard table Стандартная таблица - + Increments Прибавки - + Length of lines Длина линий - + Length of arcs Длина дуг - + Length of curves Длина кривых - + Variables - Click twice to insert into formula Переменные - кликнете дважды для вставки в формулу @@ -794,160 +847,159 @@ DialogDetail - - + + Detail Деталь - + Bias X Смещение по Х - + Bias Y Смещение по Y - + Options Параметры - + Seam allowance Прибавка на швы - + Delete Удалить - + Name of detail Имя детали - + Width Ширина - + Closed Замкнутая - + Got wrong scene object. Ignore. Получен не правильный объект сцены. Ингорируем. - Got wrong tools. Ignore. - Получен не правильный инструмент. Игнорируем. + Получен не правильный инструмент. Игнорируем. DialogEndLine - + Length Длина - + Point in the end of a line Точка на конце отрезка - + Formula for calculation of length of line Формула расчета длины линии - + Calculate value Расчитать значение - - - - - - - - - - + + + + + + + + + + ... - + Value of length Значение длины - + _ - + Base point Базовая точка - + First point of line Первая точка линии - + Point label Имя точки - + Type of line Тип линии - + Show line from first point to this point Показать линию с первой точки до этой - + Size and height Размер и рост - + Standard table Стандартная таблица - + Variables - Click twice to insert into formula Переменные - кликнете дважды для вставки в формулу - + Angle of line Угол линии - + Degree of angle Угол - + Input data Входные данные @@ -956,22 +1008,22 @@ Размер и рост - + Increments Прибавки - + Length of lines Длина линий - + Length of arcs Длина дуг - + Length of curves Длина кривых @@ -979,50 +1031,50 @@ DialogHeight - + Dialog Диалог - + Point label Имя точки - + Base point Базовая точка - - - - + + + + First point of line Первая точка линии - + Second point of line Вторая точка линии - + Type of line Тип линии - + Show line from first point to our point Показать линию с первой точки к нашей - + Select first point of line Выберить первую точку линии - + Select second point of line Выберить вторую точку линии @@ -1030,74 +1082,74 @@ DialogHistory - + History История - - + + Tool Инструмент - + %1 - Base point %1 - Базовая точка - - + + %1_%2 - Line from point %1 to point %2 %1_%2 - Линия с точки %1 к точке %2 - + %3 - Point along line %1_%2 %3 - Точка вдоль линии %1_%2 - + %1 - Point of shoulder %1 - Точка плеча - + %3 - normal to line %1_%2 %3 - перпендикуляр к линии %1_%2 - + %4 - bisector of angle %1_%2_%3 %4 - бисектриса угла %1_%2_%3 - + %4 - point of contact of arc with the center in point %1 and line %2_%3 %4 - точка пересичения дуги с центром в точке %1 и линии %2_%3 - + Point of perpendicular from point %1 to line %2_%3 Точка перпендикуляра с точки %1 до линии %2_%3 - + %1 - point of intersection %2 and %3 %1 - точка пересичения %2 и %3 - + %1 - cut arc with center %2 %1 - разрезает дугу с центром в %2 - + %1 - cut curve %2_%3 %1 - разрезает кривую %2_%3 - + %1 - cut curve path %2 %1 - разрезает сложную кривую %2 @@ -1106,32 +1158,39 @@ %1 - разрезает сложную кривую %2 - Got wrong tool type. Ignore. - Получено неправильный тип инструмента. Игнорируем. + Получено неправильный тип инструмента. Игнорируем. - + Curve %1_%2 Кривая %1_%2 - + %5 - intersection of lines %1_%2 and %3_%4 %5 - пересичение линий %1_%2 и %3_%4 - + + + + + Can't create record. + + + + Arc with center in point %1 Дуга з центром в точке %1 - + Curve point %1 Точка кривой %1 - + Triangle: axis %1_%2, points %3 and %4 Триугольник: ось %1_%2, точки %3 и %4 @@ -1139,51 +1198,93 @@ DialogIncrements - - + + Increments Прибавки - Sizes table - Стандартная таблица + Стандартная таблица - - + + + Measurements + + + + + Load another measurements table + + + + + Personal information + + + + + Given name + + + + + Family name + + + + + Birth date + + + + + yyyy-MM-dd + + + + + Sex + + + + + Mail + + + + + Name Обозначение - - + + The calculated value Расчитаное значение - - + + Base value Базовое значение - - + + In sizes В размерах - - In growths - В ростах + В ростах - - - - + + + Description Опис @@ -1196,18 +1297,25 @@ В ростах - - + + + ... - + + + In heights + + + + Lines Линии - + Line Линия @@ -1216,12 +1324,12 @@ Длина линии - + Curves Кривые - + Curve Кривая @@ -1230,12 +1338,12 @@ Длина кривой - + Arcs Дуги - + Arc Дуга @@ -1248,56 +1356,181 @@ Обозначение %1 - + + + + File error. + + + + + male + + + + + female + + + + + Measurements use different units than pattern. This pattern required measurements in %1 + + + + + Individual measurements (*.vit) + + + + + + Open file + Открыть файл + + + + + Wrong units. + + + + + Standard measurements (*.vst) + + + + Name_%1 Имя_%1 - Can't convert toDouble value. - Не могу конвертировать к toDouble значение. + Не могу конвертировать к toDouble значение. Calculated value Расчитаное значение - - - + + + Length Длина + + DialogIndividualMeasurements + + + Dialog + Диалог + + + + Pattern piece name + + + + + Exist measurements + + + + + + Path: + + + + + + ... + ... + + + + New measurements + + + + + Units: + + + + + Could not create measurements file + + + + + Please try again or change file + + + + + + File error. + + + + + + Individual measurements (*.vit) + + + + + Open file + Открыть файл + + + + Where save measurements? + + + + + centimeter + + + + + inch + + + DialogLine - + Line Линия - + First point Первая точка - + Second point Вторая точка - + Type of line Тип линии - + Show line from first point to this point Показать линию с первой точки до этой - + Select second point Выберить вторую точку @@ -1309,106 +1542,139 @@ Точка пересичения линий - + Intersection of lines Пересичение линий - + Point label Имя точки - + First line Первая линия - - + + First point Первая точка - - + + Second point Вторая точка - + Second line Вторая линия - + Select second point of first line Выберить вторую точку первой линии - + Select first point of second line Выберить первую точку второй линии - + Select second point of second line Выберить вторую точку второй линии + + DialogMeasurements + + + Measurements + + + + + <html><head/><body><p><span style=" font-size:18pt;">Please, choose pattern type.</span></p></body></html> + + + + + Graduation + + + + + Use for creation pattern standard measurement table + + + + + Individual + + + + + Use for creation pattern individual measurements + + + DialogNormal - + Normal Перпендикуляр - + Length Длина - - - - - - - - - - + + + + + + + + + + ... - + Value of length Значение длины - + _ - + First point Первая точка - + Second point Вторая точка - + Additional angle degrees Дополнительные угол градусы - + Input data Входные данные @@ -1417,141 +1683,164 @@ Размер и рост - + Formula for calculation of length of normal Формула расчета длины перпендикуляра - + Calculate value Расчитать значение - + Point label Имя точки - + Insert variable into formula Вставить переменную в формулу - + Type of line Тип линии - + Show line from first point to this point Показать линию с первой точки до этой - + Size and height Размер и рост - + Standard table Стандартная таблица - + Increments Прибавки - + Length of lines Длина линий - + Length of arcs Длина дуг - + Length of curves Длина кривых - + Variables - Click twice to insert into formula Переменные - кликнете дважды для вставки в формулу - + Select second point of line Выберить вторую точку линии + + DialogPatternProperties + + + Pattern properties + + + + + Author name + + + + + Pattern description + + + + + For technical notes. + + + DialogPointOfContact - + Point of contact Точка касания - + Radius Радиус - - + + ... - + Value of radius Значение радиуса - + _ - + Center of arc Центр дуги - + Formula for calculation of radius of arc Формула расчета радиуса дуги - + Calculate value Расчитать значение - + Point label Имя точки - + Insert variable into formula Вставить переменную в формулу - + Top of the line Начало линии - + End of the line Конец линии - + Input data Входные данные @@ -1560,48 +1849,48 @@ Размер и рост - + Standard table Стандартная таблица - + Variables - Click twice to insert into formula. Переменные - кликнете дважды для вставки в формулу. - + Increments Прибавки - + Size and height Размер и рост - + Length of lines Длина линий - + Length of arcs Длина дуг - + Length of curves Длина кривых - + Select second point of line Выберить вторую точку линии - - + + Select point of center of arc Выберите точку центра дуги @@ -1609,37 +1898,37 @@ DialogPointOfIntersection - + Dialog Диалог - + Point label Имя точки - + vertical point Точка вертикали - + horizontal point Точка горизонтали - + First point of angle Первая точка угла - + Second point of angle Вторая точка угла - + Select point horizontally Выберить точку по горозинтали @@ -1647,74 +1936,74 @@ DialogShoulderPoint - - + + Point of shoulder Точка плеча - + Length Длина - - + + ... - + Value of length Значение длины - + _ - + Formula for calculation of length of line Формула расчета длины линии - + Calculate value Расчитать значение - + Point label Имя точки - + Insert variable into formula Вставить переменную в формулу - + First point Первая точка - + Second point Вторая точка - + Type of line Тип линии - + Show line from first point to our point Показать линию с первой точки к нашей - + Input data Входные данные @@ -1723,43 +2012,43 @@ Размер и рост - + Standard table Стандартная таблица - + Variables - Click twice to insert into formula Переменные - кликнете дважды для вставки в формулу - + Increments Прибавки - + Size and height Размер и рост - - + + Length of lines Длина линий - + Length of curves Длина кривых - + Select second point of line Выберить вторую точку линии - + Select point of shoulder Выберить точку плеча @@ -1767,32 +2056,32 @@ DialogSinglePoint - + Single point Одиночная точка - + Coordinates on the sheet Координаты на листе - + Coordinates Координаты - + Y coordinate Y координата - + X coordinate Х координата - + Point label Имя точки @@ -1800,47 +2089,47 @@ DialogSpline - + Curve Кривая - + First point Первая точка - + Length ratio of the first control point Коефициент длины первой контрольной точки - + The angle of the first control point Угол первой контрольной точки - + Second point Вторая точка - + Length ratio of the second control point Коефициент длины второй контрольной точки - + The angle of the second control point Угол второй контрольной точки - + Coefficient of curvature of the curve Коефициент кривизные кривой - + Select last point of curve Выберить последнюю точку кривой @@ -1848,51 +2137,74 @@ DialogSplinePath - + Curve path Сложная кривая - + Point of curve Точка кривой - + Length ratio of the first control point Коефициент длины первой контрольной точки - + The angle of the first control point Угол первой контрольной точки - + Length ratio of the second control point Коефициент длины второй контрольной точки - + The angle of the second control point Угол второй контрольной точки - + List of points Список точок - + Coefficient of curvature of the curve Коефициент кривизные кривой - + Select point of curve path Выберить точку сложной кривой + + DialogStandardMeasurements + + + Standard table + Стандартная таблица + + + + Pattern piece name + + + + + Standard measurements table + + + + + File error. + + + DialogTool @@ -1900,12 +2212,12 @@ Неправильный id детали. - + Line Линия - + No line Без линии @@ -1914,7 +2226,7 @@ Не могу найти точку за именем - + Error Ошибка @@ -1923,52 +2235,51 @@ Рост - + Dash Line Пунктирная линия(-) - + Dot Line Пунктирная линия(.) - + Dash Dot Line Пунктирная линия(-.) - + Dash Dot Dot Line Пунктирная линия(-..) - Can't find object by name - Не могу найти объект за именем + Не могу найти объект за именем - + Height Рост - + Size Размер - + Line length Длина линии - + Arc length Длина дуги - + Curve length Длина кривой @@ -1976,55 +2287,55 @@ DialogTriangle - + Dialog Диалог - + Point label Имя точки - + First point of axis Первая точка оси - - - - + + + + First point of line Первая точка линии - + Second point of axis Вторая точка оси - + First point Первая точка - + Second point Вторая точка - + Select second point of axis Выберить вторую точку оси - + Select first point Выберить первую точку - + Select second point Выберить вторую точку @@ -2032,105 +2343,257 @@ DialogUnionDetails - + Dialog Диалог - + Do you really want union details? This operation can't be undone. Вы точно хотите объединить детали? Эту операцию нельзя будет отменить. - + Select first point Выберить первую точку - + Select second point Выберить вторую точку - - + + Select another second point Выберите другую точку - + Select detail Выберить деталь + + Functions + + + sin + sine function + + + + + cos + cosine function + + + + + tan + tangens function + + + + + asin + arcus sine function + + + + + acos + arcus cosine function + + + + + atan + arcus tangens function + + + + + sinh + hyperbolic sine function + + + + + cosh + hyperbolic cosine + + + + + tanh + hyperbolic tangens function + + + + + asinh + hyperbolic arcus sine function + + + + + acosh + hyperbolic arcus tangens function + + + + + atanh + hyperbolic arcur tangens function + + + + + log2 + logarithm to the base 2 + + + + + log10 + logarithm to the base 10 + + + + + log + logarithm to the base 10 + + + + + ln + logarithm to base e (2.71828...) + + + + + exp + e raised to the power of x + + + + + sqrt + square root of a value + + + + + sign + sign function -1 if x<0; 1 if x>0 + + + + + rint + round to nearest integer + + + + + abs + absolute value + + + + + min + min of all arguments + мин + + + + max + max of all arguments + + + + + sum + sum of all arguments + + + + + avg + mean value of all arguments + + + MainWindow - - + Valentina Valentina - + Tools for creating points. Инструменты для создания точок. - + Point Точка - + Point along perpendicular Инструмент точка перпендикуляра - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + ... - + Special point on shoulder. Инструмент точка плеча. - + Point at distance and angle Инструмент точка на конце отрезка - + Point at distance along line Инструмент точка вдоль линии - + Point along bisector Инструмент точка бисектрисы - + Point at intersection of arc and line. Инструмент точка касания. @@ -2139,17 +2602,17 @@ Инструмент точка высоты. - + Tool triangle. Инструмент угольник. - + Tools for creating lines. Инструменты создания линий. - + Line Линия @@ -2162,12 +2625,12 @@ Инструмент точка пересичения линий. - + Tools for creating curves. Инструменты создания кривых. - + Curve Кривая @@ -2180,12 +2643,12 @@ Инструмент сложная кривая. - + Tools for creating arcs. Инструменты создания дуг. - + Arc Дуга @@ -2194,17 +2657,17 @@ Инструмент дуга. - + Tools for creating details. Инструменты создания деталей. - + Detail Деталь - + Tool new detail. Инструмент новая деталь. @@ -2221,234 +2684,239 @@ Чертеж - + Details mode Режим деталей - - + + Pointer tools Инструмент указатель - + New pattern piece Новый чертеж - + Add new pattern piece Добавить новый чертеж - + Perpendicular point along line Перпендикулярная точка вдоль линии - + Line between points Линия между точками - + Point at line intersection Точка пересичения линий - + Curve tool. Инструмент кривая. - + Tool for path curve. Инструмент сложная кривая. - + Tool segment a pathed curve. Инструмент разрезания сложной кривой. - + Tool for segmenting a curve. Инструмент разрезания кривой. - + Arc tool. Инструмент дуга. - + &File &Файл - + &Help &Помощь - + &Pattern piece &Чертеж - + toolBar - + toolBar_2 - + toolBar_3 - + New Новое - + &New &Новый - + Create a new pattern Создать новое лекало - + Ctrl+N Ctrl+N - + Open Открыть - + &Open &Открыть - + Open file with pattern Открыть файл с лекалом - + Save Сохранить - + &Save &Сохранить - + Save pattern Сохранить лекало - + Ctrl+S Ctrl+S - + Save &As... Сохранить &как... - + Options... Параметры... - + + Pattern properties + + + + Save as Сохранить как - + Save not yet saved pattern Сохранить еще не сохраненное лекало - + Ctrl+Shift+S Ctrl+Shift+S - + Draw Рисование - + Draw mode Режим рисования - + Ctrl+W Ctrl+W - + Details Детали - + Ctrl+E Ctrl+E - + Ctrl+Shift+N Ctrl+Shift+N - - + + Change the label of pattern piece Изменить имя чертежа - + About &Qt Про &Qt - + &About Valentina &Про Valentina - + E&xit &Выход - + Exit the application Закрыть программу] - + Ctrl+Q Ctrl+Q @@ -2461,54 +2929,53 @@ Инструмент указатель - + Table of variables Таблица переменных - + Tables of variables Таблици переменных - + Ctrl+T Ctrl+T - + History История - + Ctrl+H Ctrl+H - + Layout Роскладка - + Create layout Создать раскладку - + Ctrl+L Ctrl+L - + About Qt Про Qt - About Valentina - Про Valentina + Про Valentina Exit @@ -2527,7 +2994,7 @@ Ошибка создания чертежа с именем - + Error saving change!!! Пошибка сохранение изменений!!! @@ -2536,131 +3003,161 @@ Создайте новый чертеж для начала работы. - Enter a label for the pattern piece. - Введите имя чертежа. + Введите имя чертежа. - Error. Pattern piece of same label already exists. - Ошибка. Чертеж с таким именем уже сущевствует. + Ошибка. Чертеж с таким именем уже сущевствует. - - + Pattern piece: Чертеж: - + Pattern piece %1 Чертеж %1 - Error creating pattern with the name - Ошибка создания чертежа с именем + Ошибка создания чертежа с именем - + Enter a new label for the pattern piece. Введите новое имя для чертежа. - Error. Pattern piece of same name already exists. - Ошибка. Чертеж с таким именем уже сувществует. + Ошибка. Чертеж с таким именем уже сувществует. - + Can't save new label of pattern piece Не могу сохранить новое имя чертежа - - + + Select point Выберить точку - + Select first point Выберить первую точку - - - + + + Select first point of line Выберить первую точку линии - + Select first point of angle Выберить первую точку угла - + Select first point of first line Выберить первую точку первой линии - + Select first point curve Выберить первую точку кривой - + Select simple curve Выберить простую кривую - + Select point of center of arc Выберить точку центра дуги - + Select point of curve path Выберить точку сложной кривой - + Select curve path Выберить сложною кривую - + Select detail Выберить деталь - + Select arc Выберить дугу - + File saved Файл сохранен - - Can not save pattern - Не могу сохранить лекало + + Measurements use different units than pattern. This pattern required measurements in %1 + - + + + Wrong units. + + + + + File error. + + + + + The measurements file <br/><br/> <b>%1</b> <br/><br/> %3 + + + + + could not be found. Do you want to update the file location + + + + + Standard measurements (*.vst) + + + + + Individual measurements (*.vit) + + + + Can not save pattern + Не могу сохранить лекало + + + untitled.val без_имени.val - + Unsaved change Не сохраненные изменения - + The pattern has been modified. Do you want to save your changes? Лекало было изменено. Вы хотите сохранить ваши изменения? @@ -2670,13 +3167,12 @@ Do you want to save your changes? &%1 %2 - Cannot read file %1: %2. - Не могу прочитать файл %1:\n%2. + Не могу прочитать файл %1:\n%2. - + File loaded Файл загружен @@ -2689,21 +3185,19 @@ Do you want to save your changes? Вы хочете сохранить изменения? - Parsing pattern file error. - Ошибка парсинга файла лекала. + Ошибка парсинга файла лекала. - Validation file error. - Ошибка валидации файла. + Ошибка валидации файла. Growth: Рост: - + Size: Размер: @@ -2724,107 +3218,92 @@ Do you want to save your changes? Ошибка сохранения файла. Не могу сохранить файл. - + + Open file Открыть файл - Can't open pattern file %1: %2. - Не могу окрыть файл лекала %1:\n%2. + Не могу окрыть файл лекала %1:\n%2. - Can't open schema file %1: %2. - Не могу окрыть файл схемы %1:\n%2. + Не могу окрыть файл схемы %1:\n%2. - - Error no unique id. - Ошибка не уникальный id. + Ошибка не уникальный id. - Got empty file name. - Получено пустое имя файла. + Получено пустое имя файла. - Could not copy temp file to pattern file - Не могу скопировать временный файл у файл лекала + Не могу скопировать временный файл у файл лекала - Could not remove pattern file - Не смог удалить файл лекала + Не смог удалить файл лекала Can't open pattern file. File name empty Не могу открыть файл лекала. Пустое имя файла - - Error! - Ошибка! + Ошибка! - + Select points, arcs, curves clockwise. Выберить точки, дуги, кривые за часовой стрелкой. - + Select base point Выберить базовую точку - + Select first point of axis Выберить первую тчоку оси - + Select point vertically Выберить точку по вертикали - Based on Qt %2 (32 bit) - Базируется на Qt %2 (32 bit) + Базируется на Qt %2 (32 bit) - Built on %3 at %4 - Создано %3 в %4 + Создано %3 в %4 - - <h1>%1</h1> %2 <br/><br/> %3 <br/><br/> %4 - - - - + Height: Рост: - + Pattern Piece: Чертеж: - - + + Pattern files (*.val) Файл лекала (*.val) - - + + /pattern.val /лекало.val @@ -2845,22 +3324,23 @@ Do you want to save your changes? Не могу открыть файл лекала. Имя файла пустое - + + Error parsing file. Ошибка парсинга файла. - + Error can't convert value. Ошибка, не могу конвертовать значение. - + Error empty parameter. Ошибка, пустой параметр. - + Error wrong id. Ошибка, неправильный id. @@ -2869,49 +3349,2396 @@ Do you want to save your changes? Ошибка парсинга файла лекала. - - Error in line %1 column %2 - Ошибка в линии %1 столбец %2 + Ошибка в линии %1 столбец %2 + + + + Measurements + + + head_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Head girth + Full measurement name + + + + + Around fullest part of Head + Full measurement description + + + + + mid_neck_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Mid-neck girth + Full measurement name + + + + + Around middle part of Neck + Full measurement description + + + + + neck_base_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck Base girth + Full measurement name + + + + + Around Neck at base + Full measurement description + + + + + head_and_neck_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Head and Neck length + Full measurement name + + + + + Vertical Distance from Crown to Nape + Full measurement description + + + + + center_front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Center length + Full measurement name + + + + + Front Neck Center over tape at Bustline to Front Waist Center + Full measurement description + + + + + center_back_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Center length + Full measurement name + + + + + Back Neck Center to Back Waist Center + Full measurement description + + + + + shoulder_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder length + Full measurement name + + + + + NeckPoint to ShoulderTip + Full measurement description + + + + + side_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Side Waist length + Full measurement name + + + + + Armpit to Waist side + Full measurement description + + + + + trunk_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Trunk length + Full measurement name + + + + + Around Body from middle of Shoulder length to BustPoint to Crotch up back to beginning point + Full measurement description + + + + + shoulder_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder girth + Full measurement name + + + + + Around Arms and Torso, at bicep level parallel to floor, with arms hanging at the sides + Full measurement description + + + + + upper_chest_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upper Chest girth + Full measurement name + + + + + Around Chest at Armfold level, will be parallel to floor across back, will not be parallel to floor across front chest + Full measurement description + + + + + bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust girth + Full measurement name + + + + + Around fullest part of Bust, parallel to floor + Full measurement description + + + + + under_bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Under Bust girth + Full measurement name + + + + + Around Chest below the Bust, parallel to floor + Full measurement description + + + + + waist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist girth + Full measurement name + + + + + Tie a string around smallest part of waist, keep string tied while taking meaasurements. Not usually parallel to floor for front waist or back waist. + Full measurement description + + + + + high_hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip girth + Full measurement name + + + + + Around HighHip, parallel to floor + Full measurement description + + + + + hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip girth + Full measurement name + + + + + Around Hip, parallel to floor + Full measurement description + + + + + upper_front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Upper Chest width + Full measurement name + + + + + Across Front UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Chest width + Full measurement name + + + + + Across Front Chest, from armfold to armfold + Full measurement description + + + + + across_front_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Front + Full measurement description + + + + + + across_back_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Back + Full measurement description + + + + + + Back Upper Chest width + Full measurement name + + + + + + Across Back UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + upper_back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Chest width + Full measurement name + + + + + Across Back Chest, from armfold to armfold + Full measurement description + + + + + bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + BustPoint to BustPoint + Full measurement name + + + + + Distance between BustPoints, across Chest + Full measurement description + + + + + halter_bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + Halter Bustpoint to Bustpoint + Full measurement name + + + + + Distance from Bustpoint, behind neck, down to Bustpoint + Full measurement description + + + + + neck_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + NeckPoint to BustPoint + Full measurement name + + + + + From NeckPoint to BustPoint + Full measurement description + + + + + crotch_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch length + Full measurement name + + + + + From Front Waist Center, down to crotch, up to Back Waist Center + Full measurement description + + + + + rise_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Rise height + Full measurement name + + + + + Sit on hard chair, measure from side waist straight down to chair bottom + Full measurement description + + + + + shoulder_drop + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Drop + Full measurement name + + + + + Vertical Distance from NeckPoint level to ShoulderTip level + Full measurement description + + + + + shoulder_slope_degrees + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Slope degrees + Full measurement name + + + + + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer + Full measurement description + + + + + front_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Shoulder Balance + Full measurement name + + + + + ShoulderTip to Front Waist Center + Full measurement description + + + + + back_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Shoulder Balance + Full measurement name + + + + + ShoulderTip to Back Waist Center + Full measurement description + + + + + front_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Full Length + Full measurement name + + + + + NeckPoint straight down front chest to Waistline + Full measurement description + + + + + back_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Full Length + Full measurement name + + + + + Back NeckPoint straight down back chest to Waistline + Full measurement description + + + + + front_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint through Front Neck Center + Full measurement description + + + + + back_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint across Nape + Full measurement description + + + + + front_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + front_upper-bust_arc + Full measurement name + + + + + front_upper-bust_arc + Full measurement description + + + + + back_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperBust arc + Full measurement name + + + + + Back UpperBust side to side + Full measurement description + + + + + front_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist arc + Full measurement name + + + + + Front Waist side to side + Full measurement description + + + + + back_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist arc + Full measurement name + + + + + Back Waist side to side + Full measurement description + + + + + front_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperHip arc + Full measurement name + + + + + Front UpperHip side to side + Full measurement description + + + + + back_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperHip arc + Full measurement name + + + + + Back UpperHip side to side + Full measurement description + + + + + front_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Hip arc + Full measurement name + + + + + Front Hip side to side + Full measurement description + + + + + back_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Hip arc + Full measurement name + + + + + Back Hip side to side + Full measurement description + + + + + chest_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest Balance + Full measurement name + + + + + NeckPoint to Front ArmfoldPoint + Full measurement description + + + + + back_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Balance + Full measurement name + + + + + NeckPoint to Back ArmfoldPoint + Full measurement description + + + + + front_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist Balance + Full measurement name + + + + + NeckPoint across Front Chest to Waist side + Full measurement description + + + + + back_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist Balance + Full measurement name + + + + + NeckPoint across Back Chest to Waist side + Full measurement description + + + + + front_neck_to_upper_chest_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperChest height + Full measurement name + + + + + Front Neck Center straight down to UpperChest line + Full measurement description + + + + + front_neck_to_bust_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust height + Full measurement name + + + + + Front Neck Center straight down to Bust line + Full measurement description + + + + + armscye_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye Girth + Full measurement name + + + + + Around Armscye + Full measurement description + + + + + elbow_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow Girth + Full measurement name + + + + + Around Elbow with elbow bent + Full measurement description + + + + + upper_arm_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upperarm Girth + Full measurement name + + + + + Around UpperArm + Full measurement description + + + + + wrist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Wrist girth + Full measurement name + + + + + Around Wrist + Full measurement description + + + + + scye_depth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye depth + Full measurement name + + + + + Nape straight down to UnderBust line (same as Back UpperBust height) + Full measurement description + + + + + shoulder_and_arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder and Arm length + Full measurement name + + + + + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + underarm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Underarm length + Full measurement name + + + + + Armpit to Wrist, with arm straight and hanging at side + Full measurement description + + + + + cervicale_to_wrist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to wrist length + Full measurement name + + + + + Nape to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + shoulder_to_elbow_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow length + Full measurement name + + + + + ShoulderTip to Elbow, with elbow bent and hand on hip + Full measurement description + + + + + arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Arm length + Full measurement name + + + + + ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + hand_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand width + Full measurement name + + + + + Hand side to side + Full measurement description + + + + + hand_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand length + Full measurement name + + + + + Hand Middle Finger tip to wrist + Full measurement description + + + + + hand_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand girth + Full measurement name + + + + + Around Hand + Full measurement description + + + + + thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Thigh girth + Full measurement name + + + + + Around Thigh + Full measurement description + + + + + mid_thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Midthigh girth + Full measurement name + + + + + Around MidThigh + Full measurement description + + + + + knee_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee girth + Full measurement name + + + + + Around Knee + Full measurement description + + + + + calf_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Calf girth + Full measurement name + + + + + Around Calf + Full measurement description + + + + + ankle_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle girth + Full measurement name + + + + + Around Ankle + Full measurement description + + + + + knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee height + Full measurement name + + + + + Knee to Floor + Full measurement description + + + + + ankle_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle height + Full measurement name + + + + + Ankle to Floor + Full measurement description + + + + + foot_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot width + Full measurement name + + + + + Widest part of Foot side to side + Full measurement description + + + + + foot_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot length + Full measurement name + + + + + Tip of Longest Toe straight to back of heel + Full measurement description + + + + + height + Short measurement name. Don't use math symbols in name!!!! + + + + + Total Height + Full measurement name + + + + + Top of head to floor + Full measurement description + + + + + cervicale_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape height + Full measurement name + + + + + Nape to Floor + Full measurement description + + + + + cervicale_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to knee height + Full measurement name + + + + + Nape to Knee + Full measurement description + + + + + waist_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist height + Full measurement name + + + + + Waist side to floor + Full measurement description + + + + + high_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip height + Full measurement name + + + + + HighHip side to Floor + Full measurement description + + + + + hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip height + Full measurement name + + + + + Hip side to Floor + Full measurement description + + + + + waist_to_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Hip height + Full measurement name + + + + + Waist side to Hip + Full measurement description + + + + + waist_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Knee height + Full measurement name + + + + + Waist side to Knee + Full measurement description + + + + + crotch_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch height/Inseam + Full measurement name + + + + + Crotch to Floor along inside leg + Full measurement description + + + + + size + Short measurement name. Don't use math symbols in name!!!! + + + + + Size + Full measurement name + Размер + + + + Size + Full measurement description + Размер + + + + height_front_neck_base_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height front neck base point + Full measurement name + + + + + Height of the point base of the neck in front + Full measurement description + + + + + height_base_neck_side_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height base neck side point + Full measurement name + + + + + Height of the base of the neck side point + Full measurement description + + + + + height_shoulder_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height shoulder point + Full measurement name + + + + + The height of the shoulder point + Full measurement description + + + + + height_nipple_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height nipple point + Full measurement name + + + + + Height nipple point + Full measurement description + + + + + height_back_angle_axilla + Short measurement name. Don't use math symbols in name!!!! + + + + + Height back angle axilla + Full measurement name + + + + + Height back angle axilla + Full measurement description + + + + + height_scapular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height scapular point + Full measurement name + + + + + Height scapular point + Full measurement description + + + + + height_under_buttock_folds + Short measurement name. Don't use math symbols in name!!!! + + + + + Height under buttock folds + Full measurement name + + + + + Height under buttock folds + Full measurement description + + + + + hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Hips excluding protruding abdomen + Full measurement name + + + + + Hips excluding protruding abdomen + Full measurement description + + + + + girth_foot_instep + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth foot instep + Full measurement name + + + + + Girth foot instep + Full measurement description + + + + + side_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Side waist to floor + Full measurement name + + + + + The distance from the side waist to floor + Full measurement description + + + + + front_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist to floor + Full measurement name + + + + + The distance from the front waist to floor + Full measurement description + + + + + arc_through_groin_area + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through groin area + Full measurement name + + + + + Arc through groin area + Full measurement description + + + + + waist_to_plane_seat + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to plane seat + Full measurement name + + + + + The distance from the waist to the plane seat + Full measurement description + + + + + neck_to_radial_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to radial point + Full measurement name + + + + + The distance from the base of the neck to the side of the radial point + Full measurement description + + + + + neck_to_third_finger + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to third finger + Full measurement name + + + + + Distance from the base of the neck side point to the end of the third finger + Full measurement description + + + + + neck_to_first_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to first line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the side of the first line in front of chest circumference + Full measurement description + + + + + front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist length + Full measurement name + + + + + The distance from the base of the neck to the waist side front (waist length in the front) + Full measurement description + + + + + arc_through_shoulder_joint + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through shoulder joint + Full measurement name + + + + + Arc through the highest point of the shoulder joint + Full measurement description + + + + + neck_to_back_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to back line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes + Full measurement description + + + + + waist_to_neck_side + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to neck side + Full measurement name + + + + + The distance from the waist to the back base of the neck side point + Full measurement description + + + + + arc_length_upper_body + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc length upper body + Full measurement name + + + + + Arc length of the upper body through the base of the neck side point + Full measurement description + + + + + chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest width + Full measurement name + + + + + Chest width + Full measurement description + + + + + anteroposterior_diameter_hands + Short measurement name. Don't use math symbols in name!!!! + + + + + Anteroposterior diameter hands + Full measurement name + + + + + Anteroposterior diameter of the hands + Full measurement description + + + + + height_clavicular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height clavicular point + Full measurement name + + + + + Height clavicular point + Full measurement description + + + + + height_armhole_slash + Short measurement name. Don't use math symbols in name!!!! + + + + + Height armhole slash + Full measurement name + + + + + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) + Full measurement description + + + + + slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Slash shoulder height + Full measurement name + + + + + Slash shoulder height + Full measurement description + + + + + half_girth_neck + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck + Full measurement name + + + + + Half girth neck + Full measurement description + + + + + half_girth_neck_for_shirts + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck for shirts + Full measurement name + + + + + Half girth neck for shirts + Full measurement description + + + + + half_girth_chest_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest first + Full measurement name + + + + + Half girth chest first + Full measurement description + + + + + half_girth_chest_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest second + Full measurement name + + + + + Half girth chest second + Full measurement description + + + + + half_girth_chest_third + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest third + Full measurement name + + + + + Half girth chest third + Full measurement description + + + + + half_girth_waist + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth waist + Full measurement name + + + + + Half girth waist + Full measurement description + + + + + half_girth_hips_considering_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips considering protruding abdomen + Full measurement name + + + + + Half girth hips considering protruding abdomen + Full measurement description + + + + + half_girth_hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips excluding protruding abdomen + Full measurement name + + + + + Half girth hips excluding protruding abdomen + Full measurement description + + + + + girth_knee_flexed_feet + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth knee flexed feet + Full measurement name + + + + + Girth knee flexed feet + Full measurement description + + + + + neck_transverse_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck transverse diameter + Full measurement name + + + + + Neck transverse diameter + Full measurement description + + + + + front_slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front slash shoulder height + Full measurement name + + + + + Front slash shoulder height + Full measurement description + + + + + neck_to_front_waist_line + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to front waist line + Full measurement name + + + + + The distance from the base of the neck to the waist line front + Full measurement description + + + + + hand_vertical_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand vertical diameter + Full measurement name + + + + + Hand vertical diameter + Full measurement description + + + + + neck_to_knee_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to knee point + Full measurement name + + + + + Distance from neck to knee point + Full measurement description + + + + + waist_to_knee + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to knee + Full measurement name + + + + + The distance from the waist to the knee + Full measurement description + + + + + shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder height + Full measurement name + + + + + Shoulder height + Full measurement description + + + + + head_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Head height + Full measurement name + + + + + Head height + Full measurement description + + + + + body_position + Short measurement name. Don't use math symbols in name!!!! + + + + + Body position + Full measurement name + + + + + Body position + Full measurement description + + + + + arc_behind_shoulder_girdle + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc behind shoulder girdle + Full measurement name + + + + + Arc behind the shoulder girdle + Full measurement description + + + + + neck_to_neck_base + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to neck base + Full measurement name + + + + + Distance from neck point to point on the base of the neck side neck girth measurement line + Full measurement description + + + + + depth_waist_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist first + Full measurement name + + + + + Depth waist first + Full measurement description + + + + + depth_waist_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist second + Full measurement name + + + + + Depth waist second + Full measurement description + PatternPage - + User Пользователь - + User name Имя пользователя - + Graphical output Графический вывод - + Use antialiasing Использовать сглаживание - + Undone Отменить - + Count steps Количество шагов + + PostfixOperators + + + cm + centimeter + + + + + mm + millimeter + + + + + in + inch + + + QObject - + Create new pattern piece to start working. Создайте новый чертеж для начала работы. @@ -2919,43 +5746,43 @@ Do you want to save your changes? TableWindow - + Create a layout Создать раскладку - + toolBar toolBar - + Save Сохранить - - + + Save layout Создать раскладку - + Next Следующая - + Next detail Следующая деталь - + Turn Перевернуть - + Turn the detail 90 degrees Перевернуть детальна на 90 градусов @@ -2964,17 +5791,17 @@ Do you want to save your changes? Перевернуть детальна на 180 градусов - + Stop laying Прекратить укладку - + Enlarge letter Увеличить лист - + Enlarge the length of the sheet Увеличить длину листа @@ -2983,74 +5810,112 @@ Do you want to save your changes? Увеличить длину листа - + Reduce sheet Уменьшить лист - + Reduce the length of the sheet Уменьшить длину листа - - + + Mirroring Отражение - - + + Zoom In Увеличить - - + + Zoom Out Уменьшить - + Stop Стоп - + 0 details left. 0 деталей осталось. - - + + Collisions not found. Колизии не обнаружены. - + %1 details left. %1 деталей осталось. - + + untitled + + + + + Svg files (*.svg) + + + + + PDF files (*.pdf) + + + + + Images (*.png) + + + + + PS files (*.ps) + + + + + EPS files (*.eps) + + + + Collisions found. Найдены колизии. - - SVG Generator Example Drawing - SVG Generator Example Drawing + + Creating file '%1' failed! %2 + + + + + Critical error! + + + + SVG Generator Example Drawing + SVG Generator Example Drawing - An SVG drawing created by the SVG Generator Example provided with Qt. - An SVG drawing created by the SVG Generator Example provided with Qt. + An SVG drawing created by the SVG Generator Example provided with Qt. VAbstractNode - + Can't find tag Modeling Не могу найти тег Modeling @@ -3058,12 +5923,12 @@ Do you want to save your changes? VAbstractTool - + Confirm the deletion. Подтвердить удаление. - + Do you really want delete? Вы точно хотите удалить? @@ -3071,42 +5936,36 @@ Do you want to save your changes? VApplication - - - - - - Error! - Ошибка! + Ошибка! - + Error parsing file. Program will be terminated. Ошибка парсинга файла. Програма будет закрыта. - + Error bad id. Program will be terminated. Ошибка, неправильный id. Програма будет закрыта. - + Error can't convert value. Program will be terminated. Ошибка не могу конвертировать значение. Програма будет закрыта. - + Error empty parameter. Program will be terminated. Ошибка пустой параметр. Програма будет закрыта. - + Error wrong id. Program will be terminated. Ошибка неправельный id. Програма будет закрыта. - + Something's wrong!! Что то не так!!! @@ -3129,199 +5988,210 @@ Do you want to save your changes? VContainer - - - + + + Can't find object Не могу найти объект + + + Can't cast object + + VDomDocument - Can't find tool id = %1 in table. - Не могу найти инструмент с id = %1 в таблице. + Не могу найти инструмент с id = %1 в таблице. - Got wrong parameter id. Need only id > 0. - Получен неправельный параметр id. Допустимы только id > 0. + Получен неправельный параметр id. Допустимы только id > 0. - Can't convert toLongLong parameter - Не могу конвертировать toLongLong параметр + Не могу конвертировать toLongLong параметр - + + Can't convert toUInt parameter + + + + Got empty parameter Получен пустой параметр - + Can't convert toDouble parameter Не могу конвертировать toDouble параметр - + + + Can't open file %1: +%2. + + + + + Can't open schema file %1: +%2. + Не могу окрыть файл схемы %1:\n%2. + + + + Validation error in line %1 column %2 + + + + + Parcing error in line %1 column %2 + + + This id is not unique. - Этот id не уникальный. + Этот id не уникальный. - Error creating or updating detail - Ошибка создания или обновления детали + Ошибка создания или обновления детали - Error creating or updating single point - Ошибка создания или обновления базовой точки + Ошибка создания или обновления базовой точки - Error creating or updating point of end line - Ошибка создания или обновления точки на конце линии + Ошибка создания или обновления точки на конце линии - Error creating or updating point along line - Ошибка создания или обновления точки вдоль линии + Ошибка создания или обновления точки вдоль линии - Error creating or updating point of shoulder - Ошибка создания или обновления точки плеча + Ошибка создания или обновления точки плеча - Error creating or updating point of normal - Ошибка создания или обновления точки нормали + Ошибка создания или обновления точки нормали - Error creating or updating point of bisector - Ошибка создания или обновления точки бисектрисы + Ошибка создания или обновления точки бисектрисы - Error creating or updating point of lineintersection - Ошибка создания или обновления точки пересичения линий + Ошибка создания или обновления точки пересичения линий - Error creating or updating point of contact - Ошибка создания или обновления точки прикосновения + Ошибка создания или обновления точки прикосновения - Error creating or updating modeling point - Ошибка создания или обновления точки + Ошибка создания или обновления точки - Error creating or updating height - Ошибка создания или обновления высоты + Ошибка создания или обновления высоты - Error creating or updating triangle - Ошибка создания или обновления треугольника + Ошибка создания или обновления треугольника - Error creating or updating point of intersection - Ошибка создания или обновления точки пересичения + Ошибка создания или обновления точки пересичения - Error creating or updating cut spline point - Ошибка создания или обновления точки разрезания сплайна + Ошибка создания или обновления точки разрезания сплайна - Error creating or updating cut spline path point - Ошибка создания или обновления точки разрезания сложного сплайна + Ошибка создания или обновления точки разрезания сложного сплайна - Error creating or updating cut arc point - Ошибка создания или обновления точки разрезания дуги + Ошибка создания или обновления точки разрезания дуги - Error creating or updating line - Ошибка создания или обновления линии + Ошибка создания или обновления линии - Error creating or updating simple curve - Ошибка создания или обновления кривой + Ошибка создания или обновления кривой - Error creating or updating curve path - Ошибка создания или обновления сложной кривой + Ошибка создания или обновления сложной кривой - Error creating or updating modeling simple curve - Ошибка создания или обновления модельной кривой + Ошибка создания или обновления модельной кривой - Error creating or updating modeling curve path - Ошибка создания или обновления сложной модельной кривой + Ошибка создания или обновления сложной модельной кривой - Error creating or updating simple arc - Ошибка создания или обновления дуги + Ошибка создания или обновления дуги - Error creating or updating modeling arc - Ошибка создания или обновления модельной дуги + Ошибка создания или обновления модельной дуги - Error creating or updating union details - Ошибка создания или обновления объединения деталей + Ошибка создания или обновления объединения деталей - Error! - Ошибка! + Ошибка! - Error parsing file. - Ошибка парсинга файла. + Ошибка парсинга файла. VDrawTool - + Options Параметры - + Delete Удалить - + Can not find the element after which you want to insert. Не могу найти елемент после которого вы хочете вставить. - + Can't find tag Calculation Не могу найти тег Calculation + + VException + + + Critical error! + + + VModelingTool @@ -3333,22 +6203,185 @@ Do you want to save your changes? Удалить + + VPattern + + + Can't find tool id = %1 in table. + Не могу найти инструмент с id = %1 в таблице. + + + + Error no unique id. + Ошибка не уникальный id. + + + + Error! + Ошибка! + + + + Error parsing file. + Ошибка парсинга файла. + + + + Error creating or updating detail + Ошибка создания или обновления детали + + + + Error creating or updating single point + Ошибка создания или обновления базовой точки + + + + + Error creating or updating point of end line + Ошибка создания или обновления точки на конце линии + + + + + Error creating or updating point along line + Ошибка создания или обновления точки вдоль линии + + + + + Error creating or updating point of shoulder + Ошибка создания или обновления точки плеча + + + + + Error creating or updating point of normal + Ошибка создания или обновления точки нормали + + + + + Error creating or updating point of bisector + Ошибка создания или обновления точки бисектрисы + + + + Error creating or updating point of lineintersection + Ошибка создания или обновления точки пересичения линий + + + + + Error creating or updating point of contact + Ошибка создания или обновления точки прикосновения + + + + Error creating or updating modeling point + Ошибка создания или обновления точки + + + + Error creating or updating height + Ошибка создания или обновления высоты + + + + Error creating or updating triangle + Ошибка создания или обновления треугольника + + + + Error creating or updating point of intersection + Ошибка создания или обновления точки пересичения + + + + + Error creating or updating cut spline point + Ошибка создания или обновления точки разрезания сплайна + + + + + Error creating or updating cut spline path point + Ошибка создания или обновления точки разрезания сложного сплайна + + + + + Error creating or updating cut arc point + Ошибка создания или обновления точки разрезания дуги + + + + Error creating or updating line + Ошибка создания или обновления линии + + + + Error creating or updating simple curve + Ошибка создания или обновления кривой + + + + Error creating or updating curve path + Ошибка создания или обновления сложной кривой + + + + Error creating or updating modeling simple curve + Ошибка создания или обновления модельной кривой + + + + Error creating or updating modeling curve path + Ошибка создания или обновления сложной модельной кривой + + + + + Error creating or updating simple arc + Ошибка создания или обновления дуги + + + + Error creating or updating modeling arc + Ошибка создания или обновления модельной дуги + + + + Error creating or updating union details + Ошибка создания или обновления объединения деталей + + + + Got wrong parameter id. Need only id > 0. + Получен неправельный параметр id. Допустимы только id > 0. + + + + This id is not unique. + Этот id не уникальный. + + VSplinePath - + Not enough points to create the spline. Не достаточно точок для создания кривой. - - - + + + This spline does not exist. Этот сплайн не сувществует. - + Can't cut spline path with one point Не могу разреть сплайн из одной точки @@ -3356,12 +6389,12 @@ Do you want to save your changes? VTableGraphicsView - + can't find detail не могу найти деталь - + detail found деталь найдена @@ -3369,12 +6402,12 @@ Do you want to save your changes? VToolDetail - + Options Параметры - + Delete Удалить @@ -3382,17 +6415,48 @@ Do you want to save your changes? VToolTriangle - Can't find point. - Не могу найти точку. + Не могу найти точку. VToolUnionDetails - + Can't find tag Modeling Не могу найти тег Modeling + + Variables + + + Line_ + Left symbol _ in name + + + + + AngleLine_ + Left symbol _ in name + + + + + Arc_ + Left symbol _ in name + + + + + Spl_ + Left symbol _ in name + + + + + SplPath + + + diff --git a/src/app/share/translations/valentina_uk.ts b/src/app/share/translations/valentina_uk.ts index 8b81bc66c..ccf4ac30e 100644 --- a/src/app/share/translations/valentina_uk.ts +++ b/src/app/share/translations/valentina_uk.ts @@ -1,35 +1,35 @@ - + ConfigDialog - + Apply Застосовувати - + &Cancel &Відмінити - + &Ok &Ок - + Config Dialog Діалог налаштувань - + Configuration Налаштування - + Pattern Лекало @@ -37,146 +37,199 @@ ConfigurationPage - + Setup user interface language updated and will be used the next time start Налаштування мови інтерфейсу користувача оновлені і будуть застосовані наступного запуску - + Save Зберегти - + Auto-save modified pattern Авто збереження модифіковане лекало - + Interval: Інтервал: - + min хв - + Language Мова - + GUI language Мова інтерфейсу - + Decimal separator parts Розділювач десяткової частини - + With OS options (.) З параметрів ОС (.) + + DialogAboutApp + + + About Valentina + Про Valentina + + + + Valentina version + + + + + pushButton_Web_Site + + + + + Contributors + + + + + label_QT_Version + + + + + Based on Qt %2 (32 bit) + Базується на Qt %2 (32 bit) + + + + Built on %3 at %4 + Зібрано %3 в %4 + + + + Web site : %1 + + + + + Warning + + + + + Cannot open your default browser + + + DialogAlongLine - + Point along line Точка вздовж лінії - + Length Довжина - - + + ... - + Value of length Значення довжини - + _ - + Formula for the calculation of length of line Формула для розрахунку довжини лінії - + Calculate value Розрахунок довжини - + Point label Ім'я точки - + Insert variable into the formula Вставте значення в формулу - + First point Перша точка - + First point of line Перша точка лінії - + Second point Друга точка - + Second point of line Друга точка лінії - + Type of line Тип лінії - + Show line from first point to this point Показати лінію від першої точки до даної - + Size and height Розмір і зріст - + Standard table Стандартна таблиця - + Variables - Click twice to insert into formula Змінні - клікніть двічі для вставки в формулу - + Input data Вхідні данні @@ -185,27 +238,27 @@ Розмір і зріст - + Increments Прибавки - + Length of lines Довжина ліній - + Length of arcs Довжина дуг - + Length of curves Довжина кривих - + Select second point of line Виберіть другу точку лінії @@ -213,111 +266,111 @@ DialogArc - + Arc Дуга - + Radius Радіус - - - - - - + + + + + + ... - + Formula for the calculation of radius of arc Формула для розрахунку радіуса дуги - + Insert variable into the formula Вставте змінну в формулу - - - + + + Calculate value Розрахувати значення - + Value of radius Значення радіусу - - - + + + _ - + First angle degree Перший кут градуси - + First angle of arc counterclockwise Перший кут дуги проти годинникової стрілки - + Insert variable into formula Вставте значення в формулу - + Value of first angle Значення першого кута - + Second angle degree Другий кут градуси - + Second angle of arc counterclockwise Другий кут дуги проти годинникової стрілки - + Insert marked variable into formula Вставити позначену змінну у формулу - + Value of second angle Значення другого кута - + Center point Точка центру - + Select point of center of arc Виберіть точку центра дуги - + Input data Вхідні данні - + Size and height Розмір і зріст @@ -326,42 +379,42 @@ Розмір і зріст - + Standard table Стандартна таблиця - + Increments Прибавки - + Length of lines Довжина ліній - + Length of arcs Довжина дуг - + Length of curves Довжина кривих - + Angle of lines Кут ліній - + Variables Змінні - + Value of angle of line. Значення кута лінії. @@ -369,108 +422,108 @@ DialogBisector - + Bisector Бісектриса - + Length Довжина - - + + ... - + Value of length Значення довжини - + _ - + Calculation of length of bisector by using the formula Розрахувати довжину бісектриси використовуючи формулу - + Insert marked variable into the formula Вставити позначену змінну у формулу - + Calculate value Розрахувати значення - + Point label Ім'я точки - + First point Перша точка - + First point of angle Перша точка кута - + Second point Друга точка - + Second point of angle Друга точка кута - + Third point Третя точка - + Third point of angle Третя точка кута - + Type of line Тип лінії - + Show line from second point to this point Показати лінію від першої точки до даної - + Size and height Розмір і зріст - + Standard table Стандартна таблиця - + Variables - Click twice to insert into formula Змінні - клікніть двічі для вставки в формулу - + Input data Вхідні данні @@ -479,32 +532,32 @@ Розмір і зріст - + Increments Прибавки - + Length of lines Довжина ліній - + Length of arcs Довжина дуг - + Length of curves Довжина кривих - + Select second point of angle Виберіть другу точку кута - + Select third point of angle Виберіть третю точку кута @@ -512,93 +565,93 @@ DialogCutArc - + Dialog Діалог - + Length Довжина - + Formula for the calculation of the spline Формула розрахунку довжини сплайну - - + + ... ... - + Calculate value Розрахувати значення - + Value of length Значення довжини - + _ _ - + Arc Дуга - + Selected curve Вибрана крива - + Point label Ім'я точки - + Input data Вхідні данні - + Size and height Розмір і зріст - + Standard table Стандартна таблиця - + Increments Прибавки - + Length of lines Довжина ліній - + Length of arcs Довжина дуг - + Length of curves Довжина кривих - + Variables - Click twice to insert into formula Змінні - клікніть двічі для вставки в формулу @@ -606,93 +659,93 @@ DialogCutSpline - + Dialog Діалог - + Length Довжина - + Formula for the calculation of the spline Формула розрахунку сплайну - - + + ... ... - + Calculate value Розрахувати значення - + Value of length Значення довжини - + _ _ - + Curve Крива - + Selected curve Вибрана крива - + Point label Ім'я точки - + Input data Вхідні данні - + Size and height Розмір і зріст - + Standard table Стандартна таблиця - + Increments Прибавки - + Length of lines Довжина ліній - + Length of arcs Довжина дуг - + Length of curves Довжина кривих - + Variables - Click twice to insert into formula Змінні - клікніть двічі для вставки в формулу @@ -700,93 +753,93 @@ DialogCutSplinePath - + Dialog Діалог - + Length Довжина - + Formula for the calculation of the curve length Формула розрахунку довжини сплайну - - + + ... ... - + Calculate value Розрахувати значення - + Value of length Значення довжини - + _ _ - + Curve Крива - + Selected curve path Вибрана складна крива - + Point label Ім'я точки - + Input data Вхідні данні - + Size and height Розмір і зріст - + Standard table Стандартна таблиця - + Increments Прибавки - + Length of lines Довжина ліній - + Length of arcs Довжина дуг - + Length of curves Довжина кривих - + Variables - Click twice to insert into formula Змінні - клікніть двічі для вставки в формулу @@ -794,160 +847,159 @@ DialogDetail - - + + Detail Деталь - + Bias X Зміщення по Х - + Bias Y Зміщення по Y - + Options Параметри - + Seam allowance Прибавка на шви - + Delete Видалити - + Name of detail Ім'я деталі - + Width Ширина - + Closed Замкнена - + Got wrong scene object. Ignore. Отримано не правильний об'єкт сцени. Інгнорується. - Got wrong tools. Ignore. - Отримано не правильний інструмент. Інгнорується. + Отримано не правильний інструмент. Інгнорується. DialogEndLine - + Length Довжина - + Point in the end of a line Точка на кінці відрізку - + Formula for calculation of length of line Формула для розрахунку довжини лінії - + Calculate value Розрахувати значення - - - - - - - - - - + + + + + + + + + + ... - + Value of length Значення довжини - + _ - + Base point Базова точка - + First point of line Перша точка лінії - + Point label Ім'я точки - + Type of line Тип лінії - + Show line from first point to this point Показати лінію від першої точки до даної - + Size and height Розмір і зріст - + Standard table Стандартна таблиця - + Variables - Click twice to insert into formula Змінні - клікніть двічі для вставки в формулу - + Angle of line Кут лінії - + Degree of angle Кут - + Input data Вхідні данні @@ -956,22 +1008,22 @@ Розмір і зріст - + Increments Прибавки - + Length of lines Довжина ліній - + Length of arcs Довжина дуг - + Length of curves Довжина кривих @@ -979,50 +1031,50 @@ DialogHeight - + Dialog Діалог - + Point label Ім'я точки - + Base point Базова точка - - - - + + + + First point of line Перша точка лінії - + Second point of line Друга точка лінії - + Type of line Тип лінії - + Show line from first point to our point Показати лінію від першої точки до нашої точки - + Select first point of line Виберість першу точку лінії - + Select second point of line Виберіть другу точку лінії @@ -1030,74 +1082,74 @@ DialogHistory - + History Історія - - + + Tool Інструмент - + %1 - Base point %1 - Базова точка - - + + %1_%2 - Line from point %1 to point %2 %1_%2 - Лінія від точки %1 до точки %2 - + %3 - Point along line %1_%2 %3 - Точка вздовж лінії %1_%2 - + %1 - Point of shoulder %1 - точка плеча - + %3 - normal to line %1_%2 %3 - перпендикуляр до лінії %1_%2 - + %4 - bisector of angle %1_%2_%3 %4 - бісектриса кута %1_%2_%3 - + %4 - point of contact of arc with the center in point %1 and line %2_%3 %4 - точка перетину дуги з центром в точці %1 і лінії %2_%3 - + Point of perpendicular from point %1 to line %2_%3 Точка перпендикуляра з точки %1 до лінії %2_%3 - + %1 - point of intersection %2 and %3 %1 - перитину %2 і %3 - + %1 - cut arc with center %2 %1 - розразає дугу з центром в точці %2 - + %1 - cut curve %2_%3 %1 - розрізає криву %2_%3 - + %1 - cut curve path %2 %1 - розрізає складну криву %2 @@ -1106,32 +1158,39 @@ %1 - розрізає криву точкою %2 - Got wrong tool type. Ignore. - Отримано не правильний тип інструменту. Ігнорується. + Отримано не правильний тип інструменту. Ігнорується. - + Curve %1_%2 Крива %1_%2 - + %5 - intersection of lines %1_%2 and %3_%4 %5 - перетин ліній %1_%2 і %3_%4 - + + + + + Can't create record. + + + + Arc with center in point %1 Дуга з центром в точці %1 - + Curve point %1 Точка кривої %1 - + Triangle: axis %1_%2, points %3 and %4 Трикутник: вісь %1_%2, точки %3 і %4 @@ -1139,51 +1198,93 @@ DialogIncrements - - + + Increments Прибавки - Sizes table - Таблиця розмірів + Таблиця розмірів - - + + + Measurements + + + + + Load another measurements table + + + + + Personal information + + + + + Given name + + + + + Family name + + + + + Birth date + + + + + yyyy-MM-dd + + + + + Sex + + + + + Mail + + + + + Name Позначення - - + + The calculated value Розраховане значення - - + + Base value Базове значення - - + + In sizes В розмірах - - In growths - В ростах + В ростах - - - - + + + Description Опис @@ -1196,18 +1297,25 @@ В ростах - - + + + ... - + + + In heights + + + + Lines Лінії - + Line Лінія @@ -1216,12 +1324,12 @@ Довжина лінії - + Curves Криві - + Curve Крива @@ -1230,12 +1338,12 @@ Довжина кривої - + Arcs Дуги - + Arc Дуга @@ -1248,56 +1356,181 @@ Позначення %1 - + + + + File error. + + + + + male + + + + + female + + + + + Measurements use different units than pattern. This pattern required measurements in %1 + + + + + Individual measurements (*.vit) + + + + + + Open file + Відкрити файл + + + + + Wrong units. + + + + + Standard measurements (*.vst) + + + + Name_%1 Name_%1 - Can't convert toDouble value. - Не можу конвертувати toDouble значення. + Не можу конвертувати toDouble значення. Calculated value Розраховане значення - - - + + + Length Довжина + + DialogIndividualMeasurements + + + Dialog + Діалог + + + + Pattern piece name + + + + + Exist measurements + + + + + + Path: + + + + + + ... + ... + + + + New measurements + + + + + Units: + + + + + Could not create measurements file + + + + + Please try again or change file + + + + + + File error. + + + + + + Individual measurements (*.vit) + + + + + Open file + Відкрити файл + + + + Where save measurements? + + + + + centimeter + + + + + inch + + + DialogLine - + Line Лінія - + First point Перша точка - + Second point Друга точка - + Type of line Тип лінії - + Show line from first point to this point Показати лінію від першої точки до даної - + Select second point Виберіть другу точку @@ -1309,106 +1542,139 @@ Точка перетину ліній - + Intersection of lines Перетин ліній - + Point label Ім'я точки - + First line Перша лінія - - + + First point Перша точка - - + + Second point Друга точка - + Second line Друга лінія - + Select second point of first line Виберіть другу точка першої лінії - + Select first point of second line Виберіть першу точку другої лінії - + Select second point of second line Виберіть другу точку другої лінії + + DialogMeasurements + + + Measurements + + + + + <html><head/><body><p><span style=" font-size:18pt;">Please, choose pattern type.</span></p></body></html> + + + + + Graduation + + + + + Use for creation pattern standard measurement table + + + + + Individual + + + + + Use for creation pattern individual measurements + + + DialogNormal - + Normal Перпендикуляр - + Length Довжина - - - - - - - - - - + + + + + + + + + + ... - + Value of length Значення довжини - + _ - + First point Перша точка - + Second point Друга точка - + Additional angle degrees Додатковий кут градуси - + Input data Вхідні данні @@ -1417,141 +1683,164 @@ Розмір і зріст - + Formula for calculation of length of normal Формула розрахунку довжини перпендикуляра - + Calculate value Розрахувати значення - + Point label Ім'я точки - + Insert variable into formula Вставте змінну в формулу - + Type of line Тип лінії - + Show line from first point to this point Показати лінію від першої точки до даної - + Size and height Розмір і зріст - + Standard table Стандартна таблиця - + Increments Прибавки - + Length of lines Довжини ліній - + Length of arcs Довжини дуг - + Length of curves Довжини кривих - + Variables - Click twice to insert into formula Змінні - клікніть двічі для вставки в формулу - + Select second point of line Виберіть другу точку лінії + + DialogPatternProperties + + + Pattern properties + + + + + Author name + + + + + Pattern description + + + + + For technical notes. + + + DialogPointOfContact - + Point of contact Точка дотику - + Radius Радіус - - + + ... - + Value of radius Значення радіусу - + _ - + Center of arc Центер дуги - + Formula for calculation of radius of arc Формула для розрахунку радіуса дуги - + Calculate value Розрахувати значення - + Point label Ім'я точки - + Insert variable into formula Вставте змінну в формулу - + Top of the line Початок лінії - + End of the line Кінець лінії - + Input data Вхідні данні @@ -1560,48 +1849,48 @@ Розмір і зріст - + Standard table Стандартна таблиця - + Variables - Click twice to insert into formula. Змінні - клікніть двічі для вставки в формулу. - + Increments Прибавки - + Size and height Розмір і зріст - + Length of lines Довжини ліній - + Length of arcs Довжини дуг - + Length of curves Довжини кривих - + Select second point of line Виберіть другу точку лінії - - + + Select point of center of arc Виберіть точку центру дуги @@ -1609,37 +1898,37 @@ DialogPointOfIntersection - + Dialog Діалог - + Point label Ім'я точки - + vertical point Точка по вертикалі - + horizontal point Точка по горизонталі - + First point of angle Перша точка кута - + Second point of angle Друга точка кута - + Select point horizontally Виберіть точку горизонталі @@ -1647,74 +1936,74 @@ DialogShoulderPoint - - + + Point of shoulder Точка плеча - + Length Довжина - - + + ... - + Value of length Значення довжини - + _ - + Formula for calculation of length of line Формула для розрахунку довжини лінії - + Calculate value Розрахувати значення - + Point label Ім'я точки - + Insert variable into formula Вставте значення в формулу - + First point Перша точка - + Second point Друга точка - + Type of line Тип лінії - + Show line from first point to our point Показати лінію від першої точки до нашої точки - + Input data Вхідні данні @@ -1723,43 +2012,43 @@ Розмір і зріст - + Standard table Стандартна таблиця - + Variables - Click twice to insert into formula Змінні - клікніть двічі для вставки в формулу - + Increments Прибавки - + Size and height Розмір і зріст - - + + Length of lines Довжини лінії - + Length of curves Довжни кривих - + Select second point of line Виберіть другу точку лінії - + Select point of shoulder Виберіть точку плеча @@ -1767,32 +2056,32 @@ DialogSinglePoint - + Single point Точка - + Coordinates on the sheet Координати на листі - + Coordinates Координати - + Y coordinate Y координата - + X coordinate Х координата - + Point label Ім'я точки @@ -1800,47 +2089,47 @@ DialogSpline - + Curve Крива - + First point Перша точка - + Length ratio of the first control point Коефіцієнт довжини першої контрольної точки - + The angle of the first control point Кут першої контрольної точки - + Second point Друга точка - + Length ratio of the second control point Коефіцієнт довжини другої контрольної точки - + The angle of the second control point Кут другої контрольної точки - + Coefficient of curvature of the curve Коефіцієнт кривизни кривої - + Select last point of curve Виберість останню точку кривої @@ -1848,51 +2137,74 @@ DialogSplinePath - + Curve path Складна крива - + Point of curve Точка кривої - + Length ratio of the first control point Коефіцієнт довжини першої контрольної точки - + The angle of the first control point Кут першої контрольної точки - + Length ratio of the second control point Коефіцієнт довжини другої контрольної точки - + The angle of the second control point Кут другої контрольної точки - + List of points Список точок - + Coefficient of curvature of the curve Коефіцієнт кривизни кривої - + Select point of curve path Виберіть точку складної кривої + + DialogStandardMeasurements + + + Standard table + Стандартна таблиця + + + + Pattern piece name + + + + + Standard measurements table + + + + + File error. + + + DialogTool @@ -1900,12 +2212,12 @@ Неправильний id деталі. - + Line Лінія - + No line Без лінії @@ -1914,7 +2226,7 @@ Не можу знайти точку за ім'ям - + Error Помилка @@ -1923,52 +2235,51 @@ Зріст - + Dash Line Пунктирна лінія (-) - + Dot Line Пунктирна лінія (.) - + Dash Dot Line Пунктирна лінія (-.) - + Dash Dot Dot Line Пунктирна лінія (-..) - Can't find object by name - Не можу знайти об'єкт за ім'ям + Не можу знайти об'єкт за ім'ям - + Height Зріст - + Size Розмір - + Line length Довжина лінії - + Arc length Довжина дуги - + Curve length Довжина кривої @@ -1976,55 +2287,55 @@ DialogTriangle - + Dialog Діалог - + Point label Ім'я точки - + First point of axis Перша точка вісі - - - - + + + + First point of line Перша точка лінії - + Second point of axis Друга точка вісі - + First point Перша точка - + Second point Друга точка - + Select second point of axis Виберіть другу точку вісі - + Select first point Виберість першу точку - + Select second point Виберіть другу точку @@ -2032,105 +2343,257 @@ DialogUnionDetails - + Dialog Діалог - + Do you really want union details? This operation can't be undone. Ви дійсно хочете обєднати деталі? Цю операцію не можна буде відмінити. - + Select first point Виберість першу точку - + Select second point Виберіть другу точку - - + + Select another second point Виберіть іншу точку - + Select detail Виберіть деталь + + Functions + + + sin + sine function + + + + + cos + cosine function + + + + + tan + tangens function + + + + + asin + arcus sine function + + + + + acos + arcus cosine function + + + + + atan + arcus tangens function + + + + + sinh + hyperbolic sine function + + + + + cosh + hyperbolic cosine + + + + + tanh + hyperbolic tangens function + + + + + asinh + hyperbolic arcus sine function + + + + + acosh + hyperbolic arcus tangens function + + + + + atanh + hyperbolic arcur tangens function + + + + + log2 + logarithm to the base 2 + + + + + log10 + logarithm to the base 10 + + + + + log + logarithm to the base 10 + + + + + ln + logarithm to base e (2.71828...) + + + + + exp + e raised to the power of x + + + + + sqrt + square root of a value + + + + + sign + sign function -1 if x<0; 1 if x>0 + + + + + rint + round to nearest integer + + + + + abs + absolute value + + + + + min + min of all arguments + хв + + + + max + max of all arguments + + + + + sum + sum of all arguments + + + + + avg + mean value of all arguments + + + MainWindow - - + Valentina Valentina - + Tools for creating points. Інструмент створення точок. - + Point Точка - + Point along perpendicular Інструмент точка перпендикуляра - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + ... - + Special point on shoulder. Інструмент точка плеча. - + Point at distance and angle Інструмент точка на кінці лінії - + Point at distance along line Інструмент точка вздовж лінії - + Point along bisector Інструмент точка бісектриси кута - + Point at intersection of arc and line. Інструмент точка дотику. @@ -2139,17 +2602,17 @@ Інструмент точка висоти. - + Tool triangle. Інструмент трикутник. - + Tools for creating lines. Інструменти для створення ліній. - + Line Лінія @@ -2162,12 +2625,12 @@ Інструмент точка перетину ліній. - + Tools for creating curves. Інструменти для створення кривих. - + Curve Крива @@ -2180,12 +2643,12 @@ Інструмент складна крива. - + Tools for creating arcs. Інструменти для створення дуг. - + Arc Дуга @@ -2194,17 +2657,17 @@ Інструмент дуга. - + Tools for creating details. Інструменти для створення деталей. - + Detail Деталь - + Tool new detail. Інструмент нова деталь. @@ -2221,234 +2684,239 @@ Креслення - + Details mode Режим деталей - - + + Pointer tools Інструмент вказівник - + New pattern piece Нове креслення - + Add new pattern piece Додати нове креслення - + Perpendicular point along line Перпендикулярна точка вздовж лінії - + Line between points Лінія між двома точками - + Point at line intersection Точка перетину ліній - + Curve tool. Інструмент крива. - + Tool for path curve. Інструмент складна крива. - + Tool segment a pathed curve. Інструмент розрізання складної кривої. - + Tool for segmenting a curve. Інструмент розрізання кривої. - + Arc tool. Інструмент дуга. - + &File &Файл - + &Help &Допомога - + &Pattern piece &Креслення - + toolBar - + toolBar_2 - + toolBar_3 - + New Новий - + &New &Новий - + Create a new pattern Створити нове лекало - + Ctrl+N Ctrl+N - + Open Відкрити - + &Open &Відкрити - + Open file with pattern Відкрити файл з лекалами - + Save Зберегти - + &Save &Зберегти - + Save pattern Зберегти лекало - + Ctrl+S Ctrl+S - + Save &As... Зберегти &як... - + Options... Нашатування... - + + Pattern properties + + + + Save as Зберегти як - + Save not yet saved pattern Зберегти ще не збережене лекало - + Ctrl+Shift+S Ctrl+Shift+S - + Draw Малювання - + Draw mode Режим малювання - + Ctrl+W Ctrl+W - + Details Деталь - + Ctrl+E Ctrl+E - + Ctrl+Shift+N Ctrl+Shift+N - - + + Change the label of pattern piece Змінити ім'я креслення - + About &Qt Про &Qt - + &About Valentina &Про Valentina - + E&xit &Вихід - + Exit the application Закрити програму - + Ctrl+Q Ctrl+Q @@ -2461,54 +2929,53 @@ Інструмент вказівник - + Table of variables Таблиця змінних - + Tables of variables Таблиці змінних - + Ctrl+T Ctrl+T - + History Історія - + Ctrl+H Ctrl+H - + Layout Розкладки - + Create layout Створити розкладку - + Ctrl+L Ctrl+L - + About Qt Про Qt - About Valentina - Про Valentina + Про Valentina Exit @@ -2527,85 +2994,117 @@ Помилка створення креслення з ім'ям - + Error saving change!!! Помилка збереження змін!!! - - + + Select point Виберість точку - + Select first point Виберіть першу точку - - - + + + Select first point of line Виберіть першу точку лінії - + Select first point of angle Виберіть першу точку кута - + Select first point of first line Виберіть першу точку першої лінії - + Select first point curve Виберіть першу точку кривої - + Select point of center of arc Виберіть точку центру дуги - + Select point of curve path Виберіть точку складної кривої + + + Measurements use different units than pattern. This pattern required measurements in %1 + + + + + + Wrong units. + + + + + File error. + + + + + The measurements file <br/><br/> <b>%1</b> <br/><br/> %3 + + + + + could not be found. Do you want to update the file location + + + + + Standard measurements (*.vst) + + + + + Individual measurements (*.vit) + + Create new pattern piece to start working. Створіть нове креслення для початку роботи. - Enter a label for the pattern piece. - Введить імя креслення. + Введить імя креслення. - Error. Pattern piece of same label already exists. - Помилка. Креслення з таким імям уже існує. + Помилка. Креслення з таким імям уже існує. - - + Pattern piece: Креслення: - + Enter a new label for the pattern piece. Введить нове ім'я для креслення. - Error. Pattern piece of same name already exists. - Помилка. Креслення з таким ім'ям вже існує. + Помилка. Креслення з таким ім'ям вже існує. - + Can't save new label of pattern piece Не можу зберегти нове ім'я креслення @@ -2622,7 +3121,7 @@ Зріст: - + Size: Розмір: @@ -2643,164 +3142,147 @@ Помилка збереження файлу. Не можу зберегти файл. - + + Open file Відкрити файл - Can't open pattern file %1: %2. - Не можу відкрити файл лекала %1: + Не можу відкрити файл лекала %1: %2. - Can't open schema file %1: %2. - Не можу відкрити файл схеми %1: + Не можу відкрити файл схеми %1: %2. - - Error no unique id. - Помилка не унікальний id. + Помилка не унікальний id. - Got empty file name. - Отримано пусте імя файлу. + Отримано пусте імя файлу. - Could not copy temp file to pattern file - Не можу копіювати тимчасовий файл до файлу лекала + Не можу копіювати тимчасовий файл до файлу лекала - Could not remove pattern file - Не можу видалити файл лекала + Не можу видалити файл лекала Can't open pattern file. File name empty Не можу відкрити файл лекала. Пусте ім'я файлу - - Error! - Помилка! + Помилка! - + Select points, arcs, curves clockwise. Виберіть точки, дуги, криві загодинниковою стрілкою. - + Pattern piece %1 Креслення %1 - Error creating pattern with the name - Помилка створення лекала з ім'ям + Помилка створення лекала з ім'ям - + Select simple curve Виберіть просту криву - + Select curve path Виберіть складну криву - + Select base point Виберіть базову точку - + Select first point of axis Виберіть першу точку вісі - + Select point vertically Виберіть точку по вертикалі - + Select detail Виберіть деталь - + Select arc Виберіть дугу - Based on Qt %2 (32 bit) - Базується на Qt %2 (32 bit) + Базується на Qt %2 (32 bit) - Built on %3 at %4 - Зібрано %3 в %4 + Зібрано %3 в %4 - - <h1>%1</h1> %2 <br/><br/> %3 <br/><br/> %4 - - - - + Height: Зріст: - + Pattern Piece: Креслення: - - + + Pattern files (*.val) Файл лекала (*.val) - - + + /pattern.val /викрійка.val - + File saved Файл збережено - Can not save pattern - Не можу зберегти лекало + Не можу зберегти лекало - + untitled.val безімений.val - + Unsaved change Незбережені зміни - + The pattern has been modified. Do you want to save your changes? Лекало було змінено. Ви хочете зберегти ваші зміни? @@ -2810,13 +3292,12 @@ Do you want to save your changes? &%1 %2 - Cannot read file %1: %2. - Не можу прочитати файл%1:\n%2. + Не можу прочитати файл%1:\n%2. - + File loaded Файл завантажено @@ -2837,83 +3318,2429 @@ Do you want to save your changes? Не можу відкрити файл викрійки. Ім'я файлу пусте - + + Error parsing file. Помилка парсингу файла. - + Error can't convert value. Помилка, не можу конвертувати значення. - + Error empty parameter. Помилка, пустий параметр. - + Error wrong id. Помикла, неправильний id. - Parsing pattern file error. - Помилка парсингу файлу викрійки. + Помилка парсингу файлу викрійки. - Validation file error. - Помилка валідації файлу. + Помилка валідації файлу. Error parsing pattern file. Помилка парсінгу файлу лекала. - - Error in line %1 column %2 - Помилка в лінії %1 стовпчик %2 + Помилка в лінії %1 стовпчик %2 + + + + Measurements + + + head_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Head girth + Full measurement name + + + + + Around fullest part of Head + Full measurement description + + + + + mid_neck_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Mid-neck girth + Full measurement name + + + + + Around middle part of Neck + Full measurement description + + + + + neck_base_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck Base girth + Full measurement name + + + + + Around Neck at base + Full measurement description + + + + + head_and_neck_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Head and Neck length + Full measurement name + + + + + Vertical Distance from Crown to Nape + Full measurement description + + + + + center_front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Center length + Full measurement name + + + + + Front Neck Center over tape at Bustline to Front Waist Center + Full measurement description + + + + + center_back_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Center length + Full measurement name + + + + + Back Neck Center to Back Waist Center + Full measurement description + + + + + shoulder_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder length + Full measurement name + + + + + NeckPoint to ShoulderTip + Full measurement description + + + + + side_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Side Waist length + Full measurement name + + + + + Armpit to Waist side + Full measurement description + + + + + trunk_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Trunk length + Full measurement name + + + + + Around Body from middle of Shoulder length to BustPoint to Crotch up back to beginning point + Full measurement description + + + + + shoulder_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder girth + Full measurement name + + + + + Around Arms and Torso, at bicep level parallel to floor, with arms hanging at the sides + Full measurement description + + + + + upper_chest_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upper Chest girth + Full measurement name + + + + + Around Chest at Armfold level, will be parallel to floor across back, will not be parallel to floor across front chest + Full measurement description + + + + + bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust girth + Full measurement name + + + + + Around fullest part of Bust, parallel to floor + Full measurement description + + + + + under_bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Under Bust girth + Full measurement name + + + + + Around Chest below the Bust, parallel to floor + Full measurement description + + + + + waist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist girth + Full measurement name + + + + + Tie a string around smallest part of waist, keep string tied while taking meaasurements. Not usually parallel to floor for front waist or back waist. + Full measurement description + + + + + high_hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip girth + Full measurement name + + + + + Around HighHip, parallel to floor + Full measurement description + + + + + hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip girth + Full measurement name + + + + + Around Hip, parallel to floor + Full measurement description + + + + + upper_front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Upper Chest width + Full measurement name + + + + + Across Front UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Chest width + Full measurement name + + + + + Across Front Chest, from armfold to armfold + Full measurement description + + + + + across_front_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Front + Full measurement description + + + + + + across_back_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Back + Full measurement description + + + + + + Back Upper Chest width + Full measurement name + + + + + + Across Back UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + upper_back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Chest width + Full measurement name + + + + + Across Back Chest, from armfold to armfold + Full measurement description + + + + + bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + BustPoint to BustPoint + Full measurement name + + + + + Distance between BustPoints, across Chest + Full measurement description + + + + + halter_bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + Halter Bustpoint to Bustpoint + Full measurement name + + + + + Distance from Bustpoint, behind neck, down to Bustpoint + Full measurement description + + + + + neck_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + NeckPoint to BustPoint + Full measurement name + + + + + From NeckPoint to BustPoint + Full measurement description + + + + + crotch_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch length + Full measurement name + + + + + From Front Waist Center, down to crotch, up to Back Waist Center + Full measurement description + + + + + rise_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Rise height + Full measurement name + + + + + Sit on hard chair, measure from side waist straight down to chair bottom + Full measurement description + + + + + shoulder_drop + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Drop + Full measurement name + + + + + Vertical Distance from NeckPoint level to ShoulderTip level + Full measurement description + + + + + shoulder_slope_degrees + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Slope degrees + Full measurement name + + + + + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer + Full measurement description + + + + + front_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Shoulder Balance + Full measurement name + + + + + ShoulderTip to Front Waist Center + Full measurement description + + + + + back_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Shoulder Balance + Full measurement name + + + + + ShoulderTip to Back Waist Center + Full measurement description + + + + + front_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Full Length + Full measurement name + + + + + NeckPoint straight down front chest to Waistline + Full measurement description + + + + + back_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Full Length + Full measurement name + + + + + Back NeckPoint straight down back chest to Waistline + Full measurement description + + + + + front_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint through Front Neck Center + Full measurement description + + + + + back_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint across Nape + Full measurement description + + + + + front_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + front_upper-bust_arc + Full measurement name + + + + + front_upper-bust_arc + Full measurement description + + + + + back_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperBust arc + Full measurement name + + + + + Back UpperBust side to side + Full measurement description + + + + + front_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist arc + Full measurement name + + + + + Front Waist side to side + Full measurement description + + + + + back_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist arc + Full measurement name + + + + + Back Waist side to side + Full measurement description + + + + + front_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperHip arc + Full measurement name + + + + + Front UpperHip side to side + Full measurement description + + + + + back_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperHip arc + Full measurement name + + + + + Back UpperHip side to side + Full measurement description + + + + + front_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Hip arc + Full measurement name + + + + + Front Hip side to side + Full measurement description + + + + + back_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Hip arc + Full measurement name + + + + + Back Hip side to side + Full measurement description + + + + + chest_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest Balance + Full measurement name + + + + + NeckPoint to Front ArmfoldPoint + Full measurement description + + + + + back_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Balance + Full measurement name + + + + + NeckPoint to Back ArmfoldPoint + Full measurement description + + + + + front_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist Balance + Full measurement name + + + + + NeckPoint across Front Chest to Waist side + Full measurement description + + + + + back_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist Balance + Full measurement name + + + + + NeckPoint across Back Chest to Waist side + Full measurement description + + + + + front_neck_to_upper_chest_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperChest height + Full measurement name + + + + + Front Neck Center straight down to UpperChest line + Full measurement description + + + + + front_neck_to_bust_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust height + Full measurement name + + + + + Front Neck Center straight down to Bust line + Full measurement description + + + + + armscye_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye Girth + Full measurement name + + + + + Around Armscye + Full measurement description + + + + + elbow_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow Girth + Full measurement name + + + + + Around Elbow with elbow bent + Full measurement description + + + + + upper_arm_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upperarm Girth + Full measurement name + + + + + Around UpperArm + Full measurement description + + + + + wrist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Wrist girth + Full measurement name + + + + + Around Wrist + Full measurement description + + + + + scye_depth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye depth + Full measurement name + + + + + Nape straight down to UnderBust line (same as Back UpperBust height) + Full measurement description + + + + + shoulder_and_arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder and Arm length + Full measurement name + + + + + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + underarm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Underarm length + Full measurement name + + + + + Armpit to Wrist, with arm straight and hanging at side + Full measurement description + + + + + cervicale_to_wrist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to wrist length + Full measurement name + + + + + Nape to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + shoulder_to_elbow_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow length + Full measurement name + + + + + ShoulderTip to Elbow, with elbow bent and hand on hip + Full measurement description + + + + + arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Arm length + Full measurement name + + + + + ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + hand_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand width + Full measurement name + + + + + Hand side to side + Full measurement description + + + + + hand_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand length + Full measurement name + + + + + Hand Middle Finger tip to wrist + Full measurement description + + + + + hand_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand girth + Full measurement name + + + + + Around Hand + Full measurement description + + + + + thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Thigh girth + Full measurement name + + + + + Around Thigh + Full measurement description + + + + + mid_thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Midthigh girth + Full measurement name + + + + + Around MidThigh + Full measurement description + + + + + knee_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee girth + Full measurement name + + + + + Around Knee + Full measurement description + + + + + calf_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Calf girth + Full measurement name + + + + + Around Calf + Full measurement description + + + + + ankle_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle girth + Full measurement name + + + + + Around Ankle + Full measurement description + + + + + knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee height + Full measurement name + + + + + Knee to Floor + Full measurement description + + + + + ankle_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle height + Full measurement name + + + + + Ankle to Floor + Full measurement description + + + + + foot_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot width + Full measurement name + + + + + Widest part of Foot side to side + Full measurement description + + + + + foot_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot length + Full measurement name + + + + + Tip of Longest Toe straight to back of heel + Full measurement description + + + + + height + Short measurement name. Don't use math symbols in name!!!! + + + + + Total Height + Full measurement name + + + + + Top of head to floor + Full measurement description + + + + + cervicale_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape height + Full measurement name + + + + + Nape to Floor + Full measurement description + + + + + cervicale_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to knee height + Full measurement name + + + + + Nape to Knee + Full measurement description + + + + + waist_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist height + Full measurement name + + + + + Waist side to floor + Full measurement description + + + + + high_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip height + Full measurement name + + + + + HighHip side to Floor + Full measurement description + + + + + hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip height + Full measurement name + + + + + Hip side to Floor + Full measurement description + + + + + waist_to_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Hip height + Full measurement name + + + + + Waist side to Hip + Full measurement description + + + + + waist_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Knee height + Full measurement name + + + + + Waist side to Knee + Full measurement description + + + + + crotch_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch height/Inseam + Full measurement name + + + + + Crotch to Floor along inside leg + Full measurement description + + + + + size + Short measurement name. Don't use math symbols in name!!!! + + + + + Size + Full measurement name + Розмір + + + + Size + Full measurement description + Розмір + + + + height_front_neck_base_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height front neck base point + Full measurement name + + + + + Height of the point base of the neck in front + Full measurement description + + + + + height_base_neck_side_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height base neck side point + Full measurement name + + + + + Height of the base of the neck side point + Full measurement description + + + + + height_shoulder_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height shoulder point + Full measurement name + + + + + The height of the shoulder point + Full measurement description + + + + + height_nipple_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height nipple point + Full measurement name + + + + + Height nipple point + Full measurement description + + + + + height_back_angle_axilla + Short measurement name. Don't use math symbols in name!!!! + + + + + Height back angle axilla + Full measurement name + + + + + Height back angle axilla + Full measurement description + + + + + height_scapular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height scapular point + Full measurement name + + + + + Height scapular point + Full measurement description + + + + + height_under_buttock_folds + Short measurement name. Don't use math symbols in name!!!! + + + + + Height under buttock folds + Full measurement name + + + + + Height under buttock folds + Full measurement description + + + + + hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Hips excluding protruding abdomen + Full measurement name + + + + + Hips excluding protruding abdomen + Full measurement description + + + + + girth_foot_instep + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth foot instep + Full measurement name + + + + + Girth foot instep + Full measurement description + + + + + side_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Side waist to floor + Full measurement name + + + + + The distance from the side waist to floor + Full measurement description + + + + + front_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist to floor + Full measurement name + + + + + The distance from the front waist to floor + Full measurement description + + + + + arc_through_groin_area + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through groin area + Full measurement name + + + + + Arc through groin area + Full measurement description + + + + + waist_to_plane_seat + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to plane seat + Full measurement name + + + + + The distance from the waist to the plane seat + Full measurement description + + + + + neck_to_radial_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to radial point + Full measurement name + + + + + The distance from the base of the neck to the side of the radial point + Full measurement description + + + + + neck_to_third_finger + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to third finger + Full measurement name + + + + + Distance from the base of the neck side point to the end of the third finger + Full measurement description + + + + + neck_to_first_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to first line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the side of the first line in front of chest circumference + Full measurement description + + + + + front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist length + Full measurement name + + + + + The distance from the base of the neck to the waist side front (waist length in the front) + Full measurement description + + + + + arc_through_shoulder_joint + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through shoulder joint + Full measurement name + + + + + Arc through the highest point of the shoulder joint + Full measurement description + + + + + neck_to_back_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to back line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes + Full measurement description + + + + + waist_to_neck_side + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to neck side + Full measurement name + + + + + The distance from the waist to the back base of the neck side point + Full measurement description + + + + + arc_length_upper_body + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc length upper body + Full measurement name + + + + + Arc length of the upper body through the base of the neck side point + Full measurement description + + + + + chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest width + Full measurement name + + + + + Chest width + Full measurement description + + + + + anteroposterior_diameter_hands + Short measurement name. Don't use math symbols in name!!!! + + + + + Anteroposterior diameter hands + Full measurement name + + + + + Anteroposterior diameter of the hands + Full measurement description + + + + + height_clavicular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height clavicular point + Full measurement name + + + + + Height clavicular point + Full measurement description + + + + + height_armhole_slash + Short measurement name. Don't use math symbols in name!!!! + + + + + Height armhole slash + Full measurement name + + + + + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) + Full measurement description + + + + + slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Slash shoulder height + Full measurement name + + + + + Slash shoulder height + Full measurement description + + + + + half_girth_neck + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck + Full measurement name + + + + + Half girth neck + Full measurement description + + + + + half_girth_neck_for_shirts + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck for shirts + Full measurement name + + + + + Half girth neck for shirts + Full measurement description + + + + + half_girth_chest_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest first + Full measurement name + + + + + Half girth chest first + Full measurement description + + + + + half_girth_chest_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest second + Full measurement name + + + + + Half girth chest second + Full measurement description + + + + + half_girth_chest_third + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest third + Full measurement name + + + + + Half girth chest third + Full measurement description + + + + + half_girth_waist + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth waist + Full measurement name + + + + + Half girth waist + Full measurement description + + + + + half_girth_hips_considering_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips considering protruding abdomen + Full measurement name + + + + + Half girth hips considering protruding abdomen + Full measurement description + + + + + half_girth_hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips excluding protruding abdomen + Full measurement name + + + + + Half girth hips excluding protruding abdomen + Full measurement description + + + + + girth_knee_flexed_feet + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth knee flexed feet + Full measurement name + + + + + Girth knee flexed feet + Full measurement description + + + + + neck_transverse_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck transverse diameter + Full measurement name + + + + + Neck transverse diameter + Full measurement description + + + + + front_slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front slash shoulder height + Full measurement name + + + + + Front slash shoulder height + Full measurement description + + + + + neck_to_front_waist_line + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to front waist line + Full measurement name + + + + + The distance from the base of the neck to the waist line front + Full measurement description + + + + + hand_vertical_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand vertical diameter + Full measurement name + + + + + Hand vertical diameter + Full measurement description + + + + + neck_to_knee_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to knee point + Full measurement name + + + + + Distance from neck to knee point + Full measurement description + + + + + waist_to_knee + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to knee + Full measurement name + + + + + The distance from the waist to the knee + Full measurement description + + + + + shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder height + Full measurement name + + + + + Shoulder height + Full measurement description + + + + + head_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Head height + Full measurement name + + + + + Head height + Full measurement description + + + + + body_position + Short measurement name. Don't use math symbols in name!!!! + + + + + Body position + Full measurement name + + + + + Body position + Full measurement description + + + + + arc_behind_shoulder_girdle + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc behind shoulder girdle + Full measurement name + + + + + Arc behind the shoulder girdle + Full measurement description + + + + + neck_to_neck_base + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to neck base + Full measurement name + + + + + Distance from neck point to point on the base of the neck side neck girth measurement line + Full measurement description + + + + + depth_waist_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist first + Full measurement name + + + + + Depth waist first + Full measurement description + + + + + depth_waist_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist second + Full measurement name + + + + + Depth waist second + Full measurement description + PatternPage - + User Користувач - + User name Ім'я користувача - + Graphical output Графічний вивід - + Use antialiasing Використовувати згладжування - + Undone Відмінити - + Count steps Кількість кроків + + PostfixOperators + + + cm + centimeter + + + + + mm + millimeter + + + + + in + inch + + + QObject - + Create new pattern piece to start working. Створіть нове креслення для початку роботи. @@ -2921,43 +5748,43 @@ Do you want to save your changes? TableWindow - + Create a layout Створити розкладку - + toolBar - + Save Зберегти - - + + Save layout Зберегти розкладку - + Next Наступний - + Next detail Наступна деталь - + Turn Повернути - + Turn the detail 90 degrees Повернути деталь на 90 градусів @@ -2966,17 +5793,17 @@ Do you want to save your changes? Повернути деталь на 180 градусів - + Stop laying Припинити укладання - + Enlarge letter Збільшити аркуш - + Enlarge the length of the sheet Збільшити довжину аркушу @@ -2985,74 +5812,104 @@ Do you want to save your changes? Збільшити довжину аркушу - + Reduce sheet Зменшити аркуш - + Reduce the length of the sheet Зменшити довжину аркушу - - + + Mirroring Дзеркальне відображення - - + + Zoom In Збільшити - - + + Zoom Out Зменшити - + Stop Зупинити - + 0 details left. 0 деталей залишилось. - - + + Collisions not found. Колізії не знайдено. - + %1 details left. %1 деталей залишилось. - + + untitled + + + + + Svg files (*.svg) + + + + + PDF files (*.pdf) + + + + + Images (*.png) + + + + + PS files (*.ps) + + + + + EPS files (*.eps) + + + + Collisions found. Знайдено колізії. - - SVG Generator Example Drawing - + + Creating file '%1' failed! %2 + - - An SVG drawing created by the SVG Generator Example provided with Qt. - + + Critical error! + VAbstractNode - + Can't find tag Modeling Не можу знайти тег Modeling @@ -3060,12 +5917,12 @@ Do you want to save your changes? VAbstractTool - + Confirm the deletion. Підтвердіть видалення. - + Do you really want delete? Ви дійсно хочете видалити? @@ -3073,42 +5930,36 @@ Do you want to save your changes? VApplication - - - - - - Error! - Помилка! + Помилка! - + Error parsing file. Program will be terminated. Помилка парсінгу файла. Програма буде закрита. - + Error bad id. Program will be terminated. Помилка неправильний id. Програма буде закрита. - + Error can't convert value. Program will be terminated. Помилка конвертації значення. Програма буде закрита. - + Error empty parameter. Program will be terminated. Помилка пустий параметр. Програма буде закрита. - + Error wrong id. Program will be terminated. Помилка неправильний id. Програма буде закрита. - + Something's wrong!! Щось не так!! @@ -3131,199 +5982,211 @@ Do you want to save your changes? VContainer - - - + + + Can't find object Не можу знайти об'єкт + + + Can't cast object + + VDomDocument - Can't find tool id = %1 in table. - Не можу знайти інструмент з id = %1 в таблиці. + Не можу знайти інструмент з id = %1 в таблиці. - Got wrong parameter id. Need only id > 0. - Отримано неправильний id. Допускаються тільки id > 0. + Отримано неправильний id. Допускаються тільки id > 0. - Can't convert toLongLong parameter - Не можу конвертувати toLongLong параметру + Не можу конвертувати toLongLong параметру - + + Can't convert toUInt parameter + + + + Got empty parameter Отримано пустий параметр - + Can't convert toDouble parameter Не можу конвертувати toDouble параметру - + + + Can't open file %1: +%2. + + + + + Can't open schema file %1: +%2. + Не можу відкрити файл схеми %1: +%2. + + + + Validation error in line %1 column %2 + + + + + Parcing error in line %1 column %2 + + + This id is not unique. - Цей id не унікальний. + Цей id не унікальний. - Error creating or updating detail - Помилка створення чи оновлення деталі + Помилка створення чи оновлення деталі - Error creating or updating single point - Помилка створення чи оновлення простої точки + Помилка створення чи оновлення простої точки - Error creating or updating point of end line - Помилка створення чи оновлення точки кінця відрізку + Помилка створення чи оновлення точки кінця відрізку - Error creating or updating point along line - Помилка створення чи оновлення точки вздовж лінії + Помилка створення чи оновлення точки вздовж лінії - Error creating or updating point of shoulder - Помилка створення чи оновлення точки плеча + Помилка створення чи оновлення точки плеча - Error creating or updating point of normal - Помилка створення чи оновлення точки нормалі + Помилка створення чи оновлення точки нормалі - Error creating or updating point of bisector - Помилка створення чи оновлення точки бісектриси + Помилка створення чи оновлення точки бісектриси - Error creating or updating point of lineintersection - Помилка створення чи оновлення точки перетину ліній + Помилка створення чи оновлення точки перетину ліній - Error creating or updating point of contact - Помилка створення чи оновлення точки дотику + Помилка створення чи оновлення точки дотику - Error creating or updating modeling point - Помилка створення чи оновлення модельної точки + Помилка створення чи оновлення модельної точки - Error creating or updating height - Помилка створення чи оновлення висоти + Помилка створення чи оновлення висоти - Error creating or updating triangle - Помилка створення чи оновлення трикутника + Помилка створення чи оновлення трикутника - Error creating or updating point of intersection - Помилка створення чи оновлення точки перетину + Помилка створення чи оновлення точки перетину - Error creating or updating cut spline point - Помилка створення чи оновлення точки розрізання кривої + Помилка створення чи оновлення точки розрізання кривої - Error creating or updating cut spline path point - Помилка створення чи оновлення точки розрізаня складної кривої + Помилка створення чи оновлення точки розрізаня складної кривої - Error creating or updating cut arc point - Помилка створення чи оновлення точки розрізання дуги + Помилка створення чи оновлення точки розрізання дуги - Error creating or updating line - Помилка створення чи оновлення лінії + Помилка створення чи оновлення лінії - Error creating or updating simple curve - Помилка створення чи оновлення кривої + Помилка створення чи оновлення кривої - Error creating or updating curve path - Помилка створення чи оновлення шляху кривих + Помилка створення чи оновлення шляху кривих - Error creating or updating modeling simple curve - Помилка створення чи оновлення модельної кривої + Помилка створення чи оновлення модельної кривої - Error creating or updating modeling curve path - Помилка створення чи оновлення модельного шляху кривих + Помилка створення чи оновлення модельного шляху кривих - Error creating or updating simple arc - Помилка створення чи оновлення дуги + Помилка створення чи оновлення дуги - Error creating or updating modeling arc - Помилка створення чи оновлення модельної дуги + Помилка створення чи оновлення модельної дуги - Error creating or updating union details - Помилка створення чи оновлення об'єднання деталей + Помилка створення чи оновлення об'єднання деталей - Error! - Помилка! + Помилка! - Error parsing file. - Помилка парсингу файла. + Помилка парсингу файла. VDrawTool - + Options Параметри - + Delete Видалити - + Can not find the element after which you want to insert. Не можу знайти елемент після якого ви хочете вставити. - + Can't find tag Calculation Не можу знайти тег Calculation + + VException + + + Critical error! + + + VModelingTool @@ -3335,22 +6198,185 @@ Do you want to save your changes? Видалити + + VPattern + + + Can't find tool id = %1 in table. + Не можу знайти інструмент з id = %1 в таблиці. + + + + Error no unique id. + Помилка не унікальний id. + + + + Error! + Помилка! + + + + Error parsing file. + Помилка парсингу файла. + + + + Error creating or updating detail + Помилка створення чи оновлення деталі + + + + Error creating or updating single point + Помилка створення чи оновлення простої точки + + + + + Error creating or updating point of end line + Помилка створення чи оновлення точки кінця відрізку + + + + + Error creating or updating point along line + Помилка створення чи оновлення точки вздовж лінії + + + + + Error creating or updating point of shoulder + Помилка створення чи оновлення точки плеча + + + + + Error creating or updating point of normal + Помилка створення чи оновлення точки нормалі + + + + + Error creating or updating point of bisector + Помилка створення чи оновлення точки бісектриси + + + + Error creating or updating point of lineintersection + Помилка створення чи оновлення точки перетину ліній + + + + + Error creating or updating point of contact + Помилка створення чи оновлення точки дотику + + + + Error creating or updating modeling point + Помилка створення чи оновлення модельної точки + + + + Error creating or updating height + Помилка створення чи оновлення висоти + + + + Error creating or updating triangle + Помилка створення чи оновлення трикутника + + + + Error creating or updating point of intersection + Помилка створення чи оновлення точки перетину + + + + + Error creating or updating cut spline point + Помилка створення чи оновлення точки розрізання кривої + + + + + Error creating or updating cut spline path point + Помилка створення чи оновлення точки розрізаня складної кривої + + + + + Error creating or updating cut arc point + Помилка створення чи оновлення точки розрізання дуги + + + + Error creating or updating line + Помилка створення чи оновлення лінії + + + + Error creating or updating simple curve + Помилка створення чи оновлення кривої + + + + Error creating or updating curve path + Помилка створення чи оновлення шляху кривих + + + + Error creating or updating modeling simple curve + Помилка створення чи оновлення модельної кривої + + + + Error creating or updating modeling curve path + Помилка створення чи оновлення модельного шляху кривих + + + + + Error creating or updating simple arc + Помилка створення чи оновлення дуги + + + + Error creating or updating modeling arc + Помилка створення чи оновлення модельної дуги + + + + Error creating or updating union details + Помилка створення чи оновлення об'єднання деталей + + + + Got wrong parameter id. Need only id > 0. + Отримано неправильний id. Допускаються тільки id > 0. + + + + This id is not unique. + Цей id не унікальний. + + VSplinePath - + Not enough points to create the spline. Не достатньо точок для створення кривої. - - - + + + This spline does not exist. Цей сплайн не існує. - + Can't cut spline path with one point Не можу розрізати складну криву що складається з одної точки @@ -3358,12 +6384,12 @@ Do you want to save your changes? VTableGraphicsView - + can't find detail не можу знайти деталь - + detail found деталь знайдено @@ -3371,12 +6397,12 @@ Do you want to save your changes? VToolDetail - + Options Параметри - + Delete Видалити @@ -3384,17 +6410,48 @@ Do you want to save your changes? VToolTriangle - Can't find point. - Не можу знайти точку. + Не можу знайти точку. VToolUnionDetails - + Can't find tag Modeling Не можу знайти тег Modeling + + Variables + + + Line_ + Left symbol _ in name + + + + + AngleLine_ + Left symbol _ in name + + + + + Arc_ + Left symbol _ in name + + + + + Spl_ + Left symbol _ in name + + + + + SplPath + + + diff --git a/src/app/widgets/vapplication.cpp b/src/app/widgets/vapplication.cpp index b93e6ec9a..52789ef75 100644 --- a/src/app/widgets/vapplication.cpp +++ b/src/app/widgets/vapplication.cpp @@ -220,428 +220,1298 @@ void VApplication::InitLineWidth() //--------------------------------------------------------------------------------------------------------------------- void VApplication::InitMeasurements() { + //Note. We can't use here function and variables because lupdate tool doesn't see string in variables and doesn't + //mark such string to translation. + VTranslation m; + VTranslation g; + VTranslation d; + + //================================================================================================================= // head_and_neck - InitMeasurement(headGirth_M, QStringLiteral("Head girth"), QStringLiteral("Around fullest part of Head")); + m = VTranslation::translate("Measurements", "head_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Head girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around fullest part of Head", "Full measurement description"); - InitMeasurement(midNeckGirth_M, QStringLiteral("Mid-neck girth"), QStringLiteral("Around middle part of Neck")); + measurements.insert(headGirth_M, m); + guiTexts.insert(headGirth_M, g); + descriptions.insert(headGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "mid_neck_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Mid-neck girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around middle part of Neck", "Full measurement description"); - InitMeasurement(neckBaseGirth_M, QStringLiteral("Neck Base girth"), QStringLiteral("Around Neck at base")); + measurements.insert(midNeckGirth_M, m); + guiTexts.insert(midNeckGirth_M, g); + descriptions.insert(midNeckGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "neck_base_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Neck Base girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around Neck at base", "Full measurement description"); - InitMeasurement(headAndNeckLength_M, QStringLiteral("Head and Neck length"), - QStringLiteral("Vertical Distance from Crown to Nape")); + measurements.insert(neckBaseGirth_M, m); + guiTexts.insert(neckBaseGirth_M, g); + descriptions.insert(neckBaseGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "head_and_neck_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Head and Neck length", "Full measurement name"); + d = VTranslation::translate("Measurements", "Vertical Distance from Crown to Nape", "Full measurement description"); + measurements.insert(headAndNeckLength_M, m); + guiTexts.insert(headAndNeckLength_M, g); + descriptions.insert(headAndNeckLength_M, d); + //================================================================================================================= // torso - InitMeasurement(centerFrontWaistLength_M, QStringLiteral("Front Center length"), - QStringLiteral("Front Neck Center over tape at Bustline to Front Waist Center")); + m = VTranslation::translate("Measurements", "center_front_waist_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Front Center length", "Full measurement name"); + d = VTranslation::translate("Measurements", "Front Neck Center over tape at Bustline to Front Waist Center", + "Full measurement description"); - InitMeasurement(centerBackWaistLength_M, QStringLiteral("Back Center length"), - QStringLiteral("Back Neck Center to Back Waist Center")); + measurements.insert(centerFrontWaistLength_M, m); + guiTexts.insert(centerFrontWaistLength_M, g); + descriptions.insert(centerFrontWaistLength_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "center_back_waist_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Back Center length", "Full measurement name"); + d = VTranslation::translate("Measurements", "Back Neck Center to Back Waist Center", + "Full measurement description"); - InitMeasurement(shoulderLength_M, QStringLiteral("Shoulder length"), QStringLiteral("NeckPoint to ShoulderTip")); + measurements.insert(centerBackWaistLength_M, m); + guiTexts.insert(centerBackWaistLength_M, g); + descriptions.insert(centerBackWaistLength_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "shoulder_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Shoulder length", "Full measurement name"); + d = VTranslation::translate("Measurements", "NeckPoint to ShoulderTip", "Full measurement description"); - InitMeasurement(sideWaistLength_M, QStringLiteral("Side Waist length"), QStringLiteral("Armpit to Waist side")); + measurements.insert(shoulderLength_M, m); + guiTexts.insert(shoulderLength_M, g); + descriptions.insert(shoulderLength_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "side_waist_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Side Waist length", "Full measurement name"); + d = VTranslation::translate("Measurements", "Armpit to Waist side", "Full measurement description"); - InitMeasurement(trunkLength_M, QStringLiteral("Trunk length"), - QStringLiteral("Around Body from middle of Shoulder length to BustPoint to Crotch up back to beginning point")); + measurements.insert(sideWaistLength_M, m); + guiTexts.insert(sideWaistLength_M, g); + descriptions.insert(sideWaistLength_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "trunk_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Trunk length", "Full measurement name"); + d = VTranslation::translate("Measurements", + "Around Body from middle of Shoulder length to BustPoint to Crotch up back to beginning" + " point", + "Full measurement description"); - InitMeasurement(shoulderGirth_M, QStringLiteral("Shoulder girth"), - QStringLiteral("Around Arms and Torso, at bicep level parallel to floor, with arms hanging at the sides")); + measurements.insert(trunkLength_M, m); + guiTexts.insert(trunkLength_M, g); + descriptions.insert(trunkLength_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "shoulder_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Shoulder girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around Arms and Torso, at bicep level parallel to floor, with arms" + " hanging at the sides", "Full measurement description"); - InitMeasurement(upperChestGirth_M, QStringLiteral("Upper Chest girth"), - QStringLiteral("Around Chest at Armfold level, will be parallel to floor across back, will not be parallel to floor" - " across front chest")); + measurements.insert(shoulderGirth_M, m); + guiTexts.insert(shoulderGirth_M, g); + descriptions.insert(shoulderGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "upper_chest_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Upper Chest girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around Chest at Armfold level, will be parallel to floor across back," + " will not be parallel to floor across front chest", "Full measurement description"); - InitMeasurement(bustGirth_M, QStringLiteral("Bust girth"), - QStringLiteral("Around fullest part of Bust, parallel to floor")); + measurements.insert(upperChestGirth_M, m); + guiTexts.insert(upperChestGirth_M, g); + descriptions.insert(upperChestGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "bust_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Bust girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around fullest part of Bust, parallel to floor", + "Full measurement description"); - InitMeasurement(underBustGirth_M, QStringLiteral("Under Bust girth"), - QStringLiteral("Around Chest below the Bust, parallel to floor")); + measurements.insert(bustGirth_M, m); + guiTexts.insert(bustGirth_M, g); + descriptions.insert(bustGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "under_bust_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Under Bust girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around Chest below the Bust, parallel to floor", + "Full measurement description"); - InitMeasurement(waistGirth_M, QStringLiteral("Waist girth"), - QStringLiteral("Tie a string around smallest part of waist, keep string tied while taking meaasurements. Not" - " usually parallel to floor for front waist or back waist.")); + measurements.insert(underBustGirth_M, m); + guiTexts.insert(underBustGirth_M, g); + descriptions.insert(underBustGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "waist_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Waist girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Tie a string around smallest part of waist, keep string tied while" + " taking meaasurements. Not usually parallel to floor for front waist or back waist.", + "Full measurement description"); - InitMeasurement(highHipGirth_M, QStringLiteral("HighHip girth"), QStringLiteral("Around HighHip, parallel to floor")); + measurements.insert(waistGirth_M, m); + guiTexts.insert(waistGirth_M, g); + descriptions.insert(waistGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "high_hip_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "HighHip girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around HighHip, parallel to floor", "Full measurement description"); - InitMeasurement(hipGirth_M, QStringLiteral("Hip girth"), QStringLiteral("Around Hip, parallel to floor")); + measurements.insert(highHipGirth_M, m); + guiTexts.insert(highHipGirth_M, g); + descriptions.insert(highHipGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "hip_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Hip girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around Hip, parallel to floor", "Full measurement description"); - InitMeasurement(upperFrontChestWidth_M, QStringLiteral("Front Upper Chest width"), - QStringLiteral("Across Front UpperChest, smallest width from armscye to armscye")); + measurements.insert(hipGirth_M, m); + guiTexts.insert(hipGirth_M, g); + descriptions.insert(hipGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "upper_front_chest_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Front Upper Chest width", "Full measurement name"); + d = VTranslation::translate("Measurements", "Across Front UpperChest, smallest width from armscye to armscye", + "Full measurement description"); - InitMeasurement(frontChestWidth_M, QStringLiteral("Front Chest width"), - QStringLiteral("Across Front Chest, from armfold to armfold")); + measurements.insert(upperFrontChestWidth_M, m); + guiTexts.insert(upperFrontChestWidth_M, g); + descriptions.insert(upperFrontChestWidth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "front_chest_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Front Chest width", "Full measurement name"); + d = VTranslation::translate("Measurements", "Across Front Chest, from armfold to armfold", + "Full measurement description"); - InitMeasurement(acrossFrontShoulderWidth_M, QStringLiteral("Front Across Shoulder width"), - QStringLiteral("From ShoulderTip to ShoulderTip, across Front")); + measurements.insert(frontChestWidth_M, m); + guiTexts.insert(frontChestWidth_M, g); + descriptions.insert(frontChestWidth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "across_front_shoulder_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Front Across Shoulder width", "Full measurement name"); + d = VTranslation::translate("Measurements", "From ShoulderTip to ShoulderTip, across Front", + "Full measurement description"); - InitMeasurement(acrossBackShoulderWidth_M, QStringLiteral("Back Across Shoulder width"), - QStringLiteral("From ShoulderTip to ShoulderTip, across Back")); + measurements.insert(acrossFrontShoulderWidth_M, m); + guiTexts.insert(acrossFrontShoulderWidth_M, g); + descriptions.insert(acrossFrontShoulderWidth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "across_back_shoulder_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Back Across Shoulder width", "Full measurement name"); + d = VTranslation::translate("Measurements", "From ShoulderTip to ShoulderTip, across Back", + "Full measurement description"); - InitMeasurement(acrossBackShoulderWidth_M, QStringLiteral("Back Upper Chest width"), - QStringLiteral("Across Back UpperChest, smallest width from armscye to armscye")); + measurements.insert(acrossBackShoulderWidth_M, m); + guiTexts.insert(acrossBackShoulderWidth_M,g ); + descriptions.insert(acrossBackShoulderWidth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "across_back_shoulder_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Back Upper Chest width", "Full measurement name"); + d = VTranslation::translate("Measurements", "Across Back UpperChest, smallest width from armscye to armscye", + "Full measurement description"); - InitMeasurement(backWidth_M, QStringLiteral("Back Chest width"), - QStringLiteral("Across Back Chest, from armfold to armfold")); + measurements.insert(acrossBackShoulderWidth_M, m); + guiTexts.insert(acrossBackShoulderWidth_M, g); + descriptions.insert(acrossBackShoulderWidth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "upper_back_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Back Upper Chest width", "Full measurement name"); + d = VTranslation::translate("Measurements", "Across Back UpperChest, smallest width from armscye to armscye", + "Full measurement description"); - InitMeasurement(bustpointToBustpoint_M, QStringLiteral("BustPoint to BustPoint"), - QStringLiteral("Distance between BustPoints, across Chest")); + measurements.insert(upperBackWidth_M, m); + guiTexts.insert(upperBackWidth_M, g); + descriptions.insert(upperBackWidth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "back_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Back Chest width", "Full measurement name"); + d = VTranslation::translate("Measurements", "Across Back Chest, from armfold to armfold", + "Full measurement description"); - InitMeasurement(halterBustpointToBustpoint_M, QStringLiteral("Halter Bustpoint to Bustpoint"), - QStringLiteral("Distance from Bustpoint, behind neck, down to Bustpoint")); + measurements.insert(backWidth_M, m); + guiTexts.insert(backWidth_M, g); + descriptions.insert(backWidth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "bustpoint_to_bustpoint", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "BustPoint to BustPoint", "Full measurement name"); + d = VTranslation::translate("Measurements", "Distance between BustPoints, across Chest", + "Full measurement description"); - InitMeasurement(neckToBustpoint_M, QStringLiteral("NeckPoint to BustPoint"), - QStringLiteral("From NeckPoint to BustPoint")); + measurements.insert(bustpointToBustpoint_M, m); + guiTexts.insert(bustpointToBustpoint_M, g); + descriptions.insert(bustpointToBustpoint_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "halter_bustpoint_to_bustpoint", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Halter Bustpoint to Bustpoint", "Full measurement name"); + d = VTranslation::translate("Measurements", "Distance from Bustpoint, behind neck, down to Bustpoint", + "Full measurement description"); - InitMeasurement(crotchLength_M, QStringLiteral("Crotch length"), - QStringLiteral("From Front Waist Center, down to crotch, up to Back Waist Center")); + measurements.insert(halterBustpointToBustpoint_M, m); + guiTexts.insert(halterBustpointToBustpoint_M, g); + descriptions.insert(halterBustpointToBustpoint_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "neck_to_bustpoint", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "NeckPoint to BustPoint", "Full measurement name"); + d = VTranslation::translate("Measurements", "From NeckPoint to BustPoint", "Full measurement description"); - InitMeasurement(riseHeight_M, QStringLiteral("Rise height"), - QStringLiteral("Sit on hard chair, measure from side waist straight down to chair bottom")); + measurements.insert(neckToBustpoint_M, m); + guiTexts.insert(neckToBustpoint_M, g); + descriptions.insert(neckToBustpoint_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "crotch_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Crotch length", "Full measurement name"); + d = VTranslation::translate("Measurements", "From Front Waist Center, down to crotch, up to Back Waist Center", + "Full measurement description"); - InitMeasurement(shoulderDrop_M, QStringLiteral("Shoulder Drop"), - QStringLiteral("Vertical Distance from NeckPoint level to ShoulderTip level")); + measurements.insert(crotchLength_M, m); + guiTexts.insert(crotchLength_M, g); + descriptions.insert(crotchLength_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "rise_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Rise height", "Full measurement name"); + d = VTranslation::translate("Measurements", "Sit on hard chair, measure from side waist straight down to chair" + " bottom", "Full measurement description"); - InitMeasurement(shoulderSlopeDegrees_M, QStringLiteral("Shoulder Slope degrees"), - QStringLiteral("Degrees of angle from NeckPoint to ShoulderTip – requires goniometer")); + measurements.insert(riseHeight_M, m); + guiTexts.insert(riseHeight_M, g); + descriptions.insert(riseHeight_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "shoulder_drop", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Shoulder Drop", "Full measurement name"); + d = VTranslation::translate("Measurements", "Vertical Distance from NeckPoint level to ShoulderTip level", + "Full measurement description"); - InitMeasurement(frontShoulderSlopeLength_M, QStringLiteral("Front Shoulder Balance"), - QStringLiteral("ShoulderTip to Front Waist Center")); + measurements.insert(shoulderDrop_M, m); + guiTexts.insert(shoulderDrop_M, g); + descriptions.insert(shoulderDrop_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "shoulder_slope_degrees", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Shoulder Slope degrees", "Full measurement name"); + d = VTranslation::translate("Measurements", "Degrees of angle from NeckPoint to ShoulderTip – requires goniometer", + "Full measurement description"); - InitMeasurement(backShoulderSlopeLength_M, QStringLiteral("Back Shoulder Balance"), - QStringLiteral("ShoulderTip to Back Waist Center")); + measurements.insert(shoulderSlopeDegrees_M, m); + guiTexts.insert(shoulderSlopeDegrees_M, g); + descriptions.insert(shoulderSlopeDegrees_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "front_shoulder_slope_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Front Shoulder Balance", "Full measurement name"); + d = VTranslation::translate("Measurements", "ShoulderTip to Front Waist Center", "Full measurement description"); - InitMeasurement(frontShoulderToWaistLength_M, QStringLiteral("Front Full Length"), - QStringLiteral("NeckPoint straight down front chest to Waistline")); + measurements.insert(frontShoulderSlopeLength_M, m); + guiTexts.insert(frontShoulderSlopeLength_M, g); + descriptions.insert(frontShoulderSlopeLength_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "back_shoulder_slope_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Back Shoulder Balance", "Full measurement name"); + d = VTranslation::translate("Measurements", "ShoulderTip to Back Waist Center", "Full measurement description"); - InitMeasurement(backShoulderToWaistLength_M, QStringLiteral("Back Full Length"), - QStringLiteral("Back NeckPoint straight down back chest to Waistline")); + measurements.insert(backShoulderSlopeLength_M, m); + guiTexts.insert(backShoulderSlopeLength_M, g); + descriptions.insert(backShoulderSlopeLength_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "front_shoulder_to_waist_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Front Full Length", "Full measurement name"); + d = VTranslation::translate("Measurements", "NeckPoint straight down front chest to Waistline", + "Full measurement description"); - InitMeasurement(frontNeckArc_M, QStringLiteral("Front Neck arc"), - QStringLiteral("NeckPoint to NeckPoint through Front Neck Center")); + measurements.insert(frontShoulderToWaistLength_M, m); + guiTexts.insert(frontShoulderToWaistLength_M, g); + descriptions.insert(frontShoulderToWaistLength_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "back_shoulder_to_waist_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Back Full Length", "Full measurement name"); + d = VTranslation::translate("Measurements", "Back NeckPoint straight down back chest to Waistline", + "Full measurement description"); - InitMeasurement(backNeckArc_M, QStringLiteral("Back Neck arc"), QStringLiteral("NeckPoint to NeckPoint across Nape")); + measurements.insert(backShoulderToWaistLength_M, m); + guiTexts.insert(backShoulderToWaistLength_M, g); + descriptions.insert(backShoulderToWaistLength_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "front_neck_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Front Neck arc", "Full measurement name"); + d = VTranslation::translate("Measurements", "NeckPoint to NeckPoint through Front Neck Center", + "Full measurement description"); - InitMeasurement(frontUpperChestArc_M, QStringLiteral("front_upper-bust_arc"), QStringLiteral("front_upper-bust_arc")); + measurements.insert(frontNeckArc_M, m); + guiTexts.insert(frontNeckArc_M, g); + descriptions.insert(frontNeckArc_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "back_neck_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Back Neck arc", "Full measurement name"); + d = VTranslation::translate("Measurements", "NeckPoint to NeckPoint across Nape", "Full measurement description"); - InitMeasurement(backUpperChestArc_M, QStringLiteral("Back UpperBust arc"), - QStringLiteral("Back UpperBust side to side")); + measurements.insert(backNeckArc_M, m); + guiTexts.insert(backNeckArc_M, g); + descriptions.insert(backNeckArc_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "front_upper_chest_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "front_upper-bust_arc", "Full measurement name"); + d = VTranslation::translate("Measurements", "front_upper-bust_arc", "Full measurement description"); - InitMeasurement(frontWaistArc_M, QStringLiteral("Front Waist arc"), QStringLiteral("Front Waist side to side")); + measurements.insert(frontUpperChestArc_M, m); + guiTexts.insert(frontUpperChestArc_M, g); + descriptions.insert(frontUpperChestArc_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "back_upper_chest_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Back UpperBust arc", "Full measurement name"); + d = VTranslation::translate("Measurements", "Back UpperBust side to side", "Full measurement description"); - InitMeasurement(backWaistArc_M, QStringLiteral("Back Waist arc"), QStringLiteral("Back Waist side to side")); + measurements.insert(backUpperChestArc_M, m); + guiTexts.insert(backUpperChestArc_M, g); + descriptions.insert(backUpperChestArc_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "front_waist_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Front Waist arc", "Full measurement name"); + d = VTranslation::translate("Measurements", "Front Waist side to side", "Full measurement description"); - InitMeasurement(frontUpperHipArc_M, QStringLiteral("Front UpperHip arc"), - QStringLiteral("Front UpperHip side to side")); + measurements.insert(frontWaistArc_M, m); + guiTexts.insert(frontWaistArc_M, g); + descriptions.insert(frontWaistArc_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "back_waist_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Back Waist arc", "Full measurement name"); + d = VTranslation::translate("Measurements", "Back Waist side to side", "Full measurement description"); - InitMeasurement(backUpperHipArc_M, QStringLiteral("Back UpperHip arc"), QStringLiteral("Back UpperHip side to side")); + measurements.insert(backWaistArc_M, m); + guiTexts.insert(backWaistArc_M, g); + descriptions.insert(backWaistArc_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "front_upper_hip_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Front UpperHip arc", "Full measurement name"); + d = VTranslation::translate("Measurements", "Front UpperHip side to side", "Full measurement description"); - InitMeasurement(frontHipArc_M, QStringLiteral("Front Hip arc"), QStringLiteral("Front Hip side to side")); + measurements.insert(frontUpperHipArc_M, m); + guiTexts.insert(frontUpperHipArc_M, g); + descriptions.insert(frontUpperHipArc_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "back_upper_hip_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Back UpperHip arc", "Full measurement name"); + d = VTranslation::translate("Measurements", "Back UpperHip side to side", "Full measurement description"); - InitMeasurement(backHipArc_M, QStringLiteral("Back Hip arc"), QStringLiteral("Back Hip side to side")); + measurements.insert(backUpperHipArc_M, m); + guiTexts.insert(backUpperHipArc_M, g); + descriptions.insert(backUpperHipArc_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "front_hip_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Front Hip arc", "Full measurement name"); + d = VTranslation::translate("Measurements", "Front Hip side to side", "Full measurement description"); - InitMeasurement(chestSlope_M, QStringLiteral("Chest Balance"), QStringLiteral("NeckPoint to Front ArmfoldPoint")); + measurements.insert(frontHipArc_M, m); + guiTexts.insert(frontHipArc_M, g); + descriptions.insert(frontHipArc_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "back_hip_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Back Hip arc", "Full measurement name"); + d = VTranslation::translate("Measurements", "Back Hip side to side", "Full measurement description"); - InitMeasurement(backSlope_M, QStringLiteral("Back Balance"), QStringLiteral("NeckPoint to Back ArmfoldPoint")); + measurements.insert(backHipArc_M, m); + guiTexts.insert(backHipArc_M, g); + descriptions.insert(backHipArc_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "chest_slope", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Chest Balance", "Full measurement name"); + d = VTranslation::translate("Measurements", "NeckPoint to Front ArmfoldPoint", "Full measurement description"); - InitMeasurement(frontWaistSlope_M, QStringLiteral("Front Waist Balance"), - QStringLiteral("NeckPoint across Front Chest to Waist side")); + measurements.insert(chestSlope_M, m); + guiTexts.insert(chestSlope_M, g); + descriptions.insert(chestSlope_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "back_slope", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Back Balance", "Full measurement name"); + d = VTranslation::translate("Measurements", "NeckPoint to Back ArmfoldPoint", "Full measurement description"); - InitMeasurement(backWaistSlope_M, QStringLiteral("Back Waist Balance"), - QStringLiteral("NeckPoint across Back Chest to Waist side")); + measurements.insert(backSlope_M, m); + guiTexts.insert(backSlope_M, g); + descriptions.insert(backSlope_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "front_waist_slope", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Front Waist Balance", "Full measurement name"); + d = VTranslation::translate("Measurements", "NeckPoint across Front Chest to Waist side", + "Full measurement description"); - InitMeasurement(frontNeckToUpperChestHeight_M, QStringLiteral("Front UpperChest height"), - QStringLiteral("Front Neck Center straight down to UpperChest line")); + measurements.insert(frontWaistSlope_M, m); + guiTexts.insert(frontWaistSlope_M, g); + descriptions.insert(frontWaistSlope_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "back_waist_slope", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Back Waist Balance", "Full measurement name"); + d = VTranslation::translate("Measurements", "NeckPoint across Back Chest to Waist side", + "Full measurement description"); - InitMeasurement(frontNeckToBustHeight_M, QStringLiteral("Bust height"), - QStringLiteral("Front Neck Center straight down to Bust line")); + measurements.insert(backWaistSlope_M, m); + guiTexts.insert(backWaistSlope_M, g); + descriptions.insert(backWaistSlope_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "front_neck_to_upper_chest_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Front UpperChest height", "Full measurement name"); + d = VTranslation::translate("Measurements", "Front Neck Center straight down to UpperChest line", + "Full measurement description"); + measurements.insert(frontNeckToUpperChestHeight_M, m); + guiTexts.insert(frontNeckToUpperChestHeight_M, g); + descriptions.insert(frontNeckToUpperChestHeight_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "front_neck_to_bust_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Bust height", "Full measurement name"); + d = VTranslation::translate("Measurements", "Front Neck Center straight down to Bust line", + "Full measurement description"); + + measurements.insert(frontNeckToBustHeight_M, m); + guiTexts.insert(frontNeckToBustHeight_M, g); + descriptions.insert(frontNeckToBustHeight_M, d); + //================================================================================================================= // arm - InitMeasurement(armscyeGirth_M, QStringLiteral("Armscye Girth"), QStringLiteral("Around Armscye")); + m = VTranslation::translate("Measurements", "armscye_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Armscye Girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around Armscye", "Full measurement description"); - InitMeasurement(elbowGirth_M, QStringLiteral("Elbow Girth"), QStringLiteral("Around Elbow with elbow bent")); + measurements.insert(armscyeGirth_M, m); + guiTexts.insert(armscyeGirth_M, g); + descriptions.insert(armscyeGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "elbow_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Elbow Girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around Elbow with elbow bent", "Full measurement description"); - InitMeasurement(upperArmGirth_M, QStringLiteral("Upperarm Girth"), QStringLiteral("Around UpperArm")); + measurements.insert(elbowGirth_M, m); + guiTexts.insert(elbowGirth_M, g); + descriptions.insert(elbowGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "upper_arm_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Upperarm Girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around UpperArm", "Full measurement description"); - InitMeasurement(wristGirth_M, QStringLiteral("Wrist girth"), QStringLiteral("Around Wrist")); + measurements.insert(upperArmGirth_M, m); + guiTexts.insert(upperArmGirth_M, g); + descriptions.insert(upperArmGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "wrist_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Wrist girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around Wrist", "Full measurement description"); - InitMeasurement(scyeDepth_M, QStringLiteral("Armscye depth"), - QStringLiteral("Nape straight down to UnderBust line (same as Back UpperBust height)")); + measurements.insert(wristGirth_M, m); + guiTexts.insert(wristGirth_M, g); + descriptions.insert(wristGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "scye_depth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Armscye depth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Nape straight down to UnderBust line (same as Back UpperBust height)", + "Full measurement description"); - InitMeasurement(shoulderAndArmLength_M, QStringLiteral("Shoulder and Arm length"), - QStringLiteral("NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip")); + measurements.insert(scyeDepth_M, m); + guiTexts.insert(scyeDepth_M, g); + descriptions.insert(scyeDepth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "shoulder_and_arm_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Shoulder and Arm length", "Full measurement name"); + d = VTranslation::translate("Measurements", "NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip", + "Full measurement description"); - InitMeasurement(underarmLength_M, QStringLiteral("Underarm length"), - QStringLiteral("Armpit to Wrist, with arm straight and hanging at side")); + measurements.insert(shoulderAndArmLength_M, m); + guiTexts.insert(shoulderAndArmLength_M, g); + descriptions.insert(shoulderAndArmLength_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "underarm_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Underarm length", "Full measurement name"); + d = VTranslation::translate("Measurements", "Armpit to Wrist, with arm straight and hanging at side", + "Full measurement description"); - InitMeasurement(cervicaleToWristLength_M, QStringLiteral("Nape to wrist length"), - QStringLiteral("Nape to Wrist, with elbow bent and hand on hip")); + measurements.insert(underarmLength_M, m); + guiTexts.insert(underarmLength_M, g); + descriptions.insert(underarmLength_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "cervicale_to_wrist_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Nape to wrist length", "Full measurement name"); + d = VTranslation::translate("Measurements", "Nape to Wrist, with elbow bent and hand on hip", + "Full measurement description"); - InitMeasurement(shoulderToElbowLength_M, QStringLiteral("Elbow length"), - QStringLiteral("ShoulderTip to Elbow, with elbow bent and hand on hip")); + measurements.insert(cervicaleToWristLength_M, m); + guiTexts.insert(cervicaleToWristLength_M, g); + descriptions.insert(cervicaleToWristLength_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "shoulder_to_elbow_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Elbow length", "Full measurement name"); + d = VTranslation::translate("Measurements", "ShoulderTip to Elbow, with elbow bent and hand on hip", + "Full measurement description"); - InitMeasurement(armLength_M, QStringLiteral("Arm length"), - QStringLiteral("ShoulderTip to Wrist, with elbow bent and hand on hip")); + measurements.insert(shoulderToElbowLength_M, m); + guiTexts.insert(shoulderToElbowLength_M, g); + descriptions.insert(shoulderToElbowLength_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "arm_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Arm length", "Full measurement name"); + d = VTranslation::translate("Measurements", "ShoulderTip to Wrist, with elbow bent and hand on hip", + "Full measurement description"); + measurements.insert(armLength_M, m); + guiTexts.insert(armLength_M, g); + descriptions.insert(armLength_M, d); + //================================================================================================================= // hand - InitMeasurement(handWidth_M, QStringLiteral("Hand width"), QStringLiteral("Hand side to side")); + m = VTranslation::translate("Measurements", "hand_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Hand width", "Full measurement name"); + d = VTranslation::translate("Measurements", "Hand side to side", "Full measurement description"); - InitMeasurement(handLength_M, QStringLiteral("Hand length"), QStringLiteral("Hand Middle Finger tip to wrist")); + measurements.insert(handWidth_M, m); + guiTexts.insert(handWidth_M, g); + descriptions.insert(handWidth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "hand_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Hand length", "Full measurement name"); + d = VTranslation::translate("Measurements", "Hand Middle Finger tip to wrist", "Full measurement description"); - InitMeasurement(handGirth_M, QStringLiteral("Hand girth"), QStringLiteral("Around Hand")); + measurements.insert(handLength_M, m); + guiTexts.insert(handLength_M, g); + descriptions.insert(handLength_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "hand_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Hand girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around Hand", "Full measurement description"); + measurements.insert(handGirth_M, m); + guiTexts.insert(handGirth_M, g); + descriptions.insert(handGirth_M, d); + //================================================================================================================= // leg - InitMeasurement(thighGirth_M, QStringLiteral("Thigh girth"), QStringLiteral("Around Thigh")); + m = VTranslation::translate("Measurements", "thigh_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Thigh girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around Thigh", "Full measurement description"); - InitMeasurement(midThighGirth_M, QStringLiteral("Midthigh girth"), QStringLiteral("Around MidThigh")); + measurements.insert(thighGirth_M, m); + guiTexts.insert(thighGirth_M, g); + descriptions.insert(thighGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "mid_thigh_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Midthigh girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around MidThigh", "Full measurement description"); - InitMeasurement(kneeGirth_M, QStringLiteral("Knee girth"), QStringLiteral("Around Knee")); + measurements.insert(midThighGirth_M, m); + guiTexts.insert(midThighGirth_M, g); + descriptions.insert(midThighGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "knee_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Knee girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around Knee", "Full measurement description"); - InitMeasurement(calfGirth_M, QStringLiteral("Calf girth"), QStringLiteral("Around Calf")); + measurements.insert(kneeGirth_M, m); + guiTexts.insert(kneeGirth_M, g); + descriptions.insert(kneeGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "calf_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Calf girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around Calf", "Full measurement description"); - InitMeasurement(ankleGirth_M, QStringLiteral("Ankle girth"), QStringLiteral("Around Ankle")); + measurements.insert(calfGirth_M, m); + guiTexts.insert(calfGirth_M, g); + descriptions.insert(calfGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "ankle_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Ankle girth", "Full measurement name"); + d = VTranslation::translate("Measurements", "Around Ankle", "Full measurement description"); - InitMeasurement(kneeHeight_M, QStringLiteral("Knee height"), QStringLiteral("Knee to Floor")); + measurements.insert(ankleGirth_M, m); + guiTexts.insert(ankleGirth_M, g); + descriptions.insert(ankleGirth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "knee_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Knee height", "Full measurement name"); + d = VTranslation::translate("Measurements", "Knee to Floor", "Full measurement description"); - InitMeasurement(ankleHeight_M, QStringLiteral("Ankle height"), QStringLiteral("Ankle to Floor")); + measurements.insert(kneeHeight_M, m); + guiTexts.insert(kneeHeight_M, g); + descriptions.insert(kneeHeight_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "ankle_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Ankle height", "Full measurement name"); + d = VTranslation::translate("Measurements", "Ankle to Floor", "Full measurement description"); + measurements.insert(ankleHeight_M, m); + guiTexts.insert(ankleHeight_M, g); + descriptions.insert(ankleHeight_M, d); + //================================================================================================================= // foot - InitMeasurement(footWidth_M, QStringLiteral("Foot width"), QStringLiteral("Widest part of Foot side to side")); + m = VTranslation::translate("Measurements", "foot_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Foot width", "Full measurement name"); + d = VTranslation::translate("Measurements", "Widest part of Foot side to side", "Full measurement description"); - InitMeasurement(footLength_M, QStringLiteral("Foot length"), - QStringLiteral("Tip of Longest Toe straight to back of heel")); + measurements.insert(footWidth_M, m); + guiTexts.insert(footWidth_M, g); + descriptions.insert(footWidth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "foot_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Foot length", "Full measurement name"); + d = VTranslation::translate("Measurements", "Tip of Longest Toe straight to back of heel", + "Full measurement description"); + measurements.insert(footLength_M, m); + guiTexts.insert(footLength_M, g); + descriptions.insert(footLength_M, d); + //================================================================================================================= // heights - InitMeasurement(height_M, QStringLiteral("Total Height"), QStringLiteral("Top of head to floor")); + m = VTranslation::translate("Measurements", "height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Total Height", "Full measurement name"); + d = VTranslation::translate("Measurements", "Top of head to floor", "Full measurement description"); - InitMeasurement(cervicaleHeight_M, QStringLiteral("Nape height"), QStringLiteral("Nape to Floor")); + measurements.insert(height_M, m); + guiTexts.insert(height_M, g); + descriptions.insert(height_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "cervicale_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Nape height", "Full measurement name"); + d = VTranslation::translate("Measurements", "Nape to Floor", "Full measurement description"); - InitMeasurement(cervicaleToKneeHeight_M, QStringLiteral("Nape to knee height"), QStringLiteral("Nape to Knee")); + measurements.insert(cervicaleHeight_M, m); + guiTexts.insert(cervicaleHeight_M, g); + descriptions.insert(cervicaleHeight_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "cervicale_to_knee_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Nape to knee height", "Full measurement name"); + d = VTranslation::translate("Measurements", "Nape to Knee", "Full measurement description"); - InitMeasurement(waistHeight_M, QStringLiteral("Waist height"), QStringLiteral("Waist side to floor")); + measurements.insert(cervicaleToKneeHeight_M, m); + guiTexts.insert(cervicaleToKneeHeight_M, g); + descriptions.insert(cervicaleToKneeHeight_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "waist_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Waist height", "Full measurement name"); + d = VTranslation::translate("Measurements", "Waist side to floor", "Full measurement description"); - InitMeasurement(highHipHeight_M, QStringLiteral("HighHip height"), QStringLiteral("HighHip side to Floor")); + measurements.insert(waistHeight_M, m); + guiTexts.insert(waistHeight_M, g); + descriptions.insert(waistHeight_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "high_hip_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "HighHip height", "Full measurement name"); + d = VTranslation::translate("Measurements", "HighHip side to Floor", "Full measurement description"); - InitMeasurement(hipHeight_M, QStringLiteral("Hip height"), QStringLiteral("Hip side to Floor")); + measurements.insert(highHipHeight_M, m); + guiTexts.insert(highHipHeight_M, g); + descriptions.insert(highHipHeight_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "hip_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Hip height", "Full measurement name"); + d = VTranslation::translate("Measurements", "Hip side to Floor", "Full measurement description"); - InitMeasurement(waistToHipHeight_M, QStringLiteral("Waist to Hip height"), QStringLiteral("Waist side to Hip")); + measurements.insert(hipHeight_M, m); + guiTexts.insert(hipHeight_M, g); + descriptions.insert(hipHeight_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "waist_to_hip_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Waist to Hip height", "Full measurement name"); + d = VTranslation::translate("Measurements", "Waist side to Hip", "Full measurement description"); - InitMeasurement(waistToKneeHeight_M, QStringLiteral("Waist to Knee height"), QStringLiteral("Waist side to Knee")); + measurements.insert(waistToHipHeight_M, m); + guiTexts.insert(waistToHipHeight_M, g); + descriptions.insert(waistToHipHeight_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "waist_to_knee_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Waist to Knee height", "Full measurement name"); + d = VTranslation::translate("Measurements", "Waist side to Knee", "Full measurement description"); - InitMeasurement(crotchHeight_M, QStringLiteral("Crotch height/Inseam"), - QStringLiteral("Crotch to Floor along inside leg")); + measurements.insert(waistToKneeHeight_M, m); + guiTexts.insert(waistToKneeHeight_M, g); + descriptions.insert(waistToKneeHeight_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "crotch_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Crotch height/Inseam", "Full measurement name"); + d = VTranslation::translate("Measurements", "Crotch to Floor along inside leg", "Full measurement description"); + + measurements.insert(crotchHeight_M, m); + guiTexts.insert(crotchHeight_M, g); + descriptions.insert(crotchHeight_M, d); + //================================================================================================================= //extended - InitMeasurement(heightFrontNeckBasePoint_M, QStringLiteral("Height front neck base point"), - QStringLiteral("Height of the point base of the neck in front")); + m = VTranslation::translate("Measurements", "size", "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Size", "Full measurement name"); + d = VTranslation::translate("Measurements", "Size", "Full measurement description"); - InitMeasurement(heightBaseNeckSidePoint_M, QStringLiteral("Height base neck side point"), - QStringLiteral("Height of the base of the neck side point")); + measurements.insert(size_M, m); + guiTexts.insert(size_M, g); + descriptions.insert(size_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "height_front_neck_base_point", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Height front neck base point", "Full measurement name"); + d = VTranslation::translate("Measurements", "Height of the point base of the neck in front", + "Full measurement description"); - InitMeasurement(heightShoulderPoint_M, QStringLiteral("Height shoulder point"), - QStringLiteral("The height of the shoulder point")); + measurements.insert(heightFrontNeckBasePoint_M, m); + guiTexts.insert(heightFrontNeckBasePoint_M, g); + descriptions.insert(heightFrontNeckBasePoint_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "height_base_neck_side_point", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Height base neck side point", "Full measurement name"); + d = VTranslation::translate("Measurements", "Height of the base of the neck side point", + "Full measurement description"); - InitMeasurement(heightNipplePoint_M, QStringLiteral("Height nipple point"), QStringLiteral("Height nipple point")); + measurements.insert(heightBaseNeckSidePoint_M, m); + guiTexts.insert(heightBaseNeckSidePoint_M, g); + descriptions.insert(heightBaseNeckSidePoint_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "height_shoulder_point", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Height shoulder point", "Full measurement name"); + d = VTranslation::translate("Measurements", "The height of the shoulder point", "Full measurement description"); - InitMeasurement(heightBackAngleAxilla_M, QStringLiteral("Height back angle axilla"), - QStringLiteral("Height back angle axilla")); + measurements.insert(heightShoulderPoint_M, m); + guiTexts.insert(heightShoulderPoint_M, g); + descriptions.insert(heightShoulderPoint_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "height_nipple_point", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Height nipple point", "Full measurement name"); + d = VTranslation::translate("Measurements", "Height nipple point", "Full measurement description"); - InitMeasurement(heightScapularPoint_M, QStringLiteral("Height scapular point"), - QStringLiteral("Height scapular point")); + measurements.insert(heightNipplePoint_M, m); + guiTexts.insert(heightNipplePoint_M, g); + descriptions.insert(heightNipplePoint_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "height_back_angle_axilla", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Height back angle axilla", "Full measurement name"); + d = VTranslation::translate("Measurements", "Height back angle axilla", "Full measurement description"); - InitMeasurement(heightUnderButtockFolds_M, QStringLiteral("Height under buttock folds"), - QStringLiteral("Height under buttock folds")); + measurements.insert(heightBackAngleAxilla_M, m); + guiTexts.insert(heightBackAngleAxilla_M, g); + descriptions.insert(heightBackAngleAxilla_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "height_scapular_point", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Height scapular point", "Full measurement name"); + d = VTranslation::translate("Measurements", "Height scapular point", "Full measurement description"); - InitMeasurement(hipsExcludingProtrudingAbdomen_M, QStringLiteral("Hips excluding protruding abdomen"), - QStringLiteral("Hips excluding protruding abdomen")); + measurements.insert(heightScapularPoint_M, m); + guiTexts.insert(heightScapularPoint_M, g); + descriptions.insert(heightScapularPoint_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "height_under_buttock_folds", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Height under buttock folds", "Full measurement name"); + d = VTranslation::translate("Measurements", "Height under buttock folds", "Full measurement description"); - InitMeasurement(girthFootInstep_M, QStringLiteral("Girth foot instep"), QStringLiteral("Girth foot instep")); + measurements.insert(heightUnderButtockFolds_M, m); + guiTexts.insert(heightUnderButtockFolds_M, g); + descriptions.insert(heightUnderButtockFolds_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "hips_excluding_protruding_abdomen", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Hips excluding protruding abdomen", "Full measurement name"); + d = VTranslation::translate("Measurements", "Hips excluding protruding abdomen", "Full measurement description"); - InitMeasurement(sideWaistToFloor_M, QStringLiteral("Side waist to floor"), - QStringLiteral("The distance from the side waist to floor")); + measurements.insert(hipsExcludingProtrudingAbdomen_M, m); + guiTexts.insert(hipsExcludingProtrudingAbdomen_M, g); + descriptions.insert(hipsExcludingProtrudingAbdomen_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "girth_foot_instep", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Girth foot instep", "Full measurement name"); + d = VTranslation::translate("Measurements", "Girth foot instep", "Full measurement description"); - InitMeasurement(frontWaistToFloor_M, QStringLiteral("Front waist to floor"), - QStringLiteral("The distance from the front waist to floor")); + measurements.insert(girthFootInstep_M, m); + guiTexts.insert(girthFootInstep_M, g); + descriptions.insert(girthFootInstep_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "side_waist_to_floor", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Side waist to floor", "Full measurement name"); + d = VTranslation::translate("Measurements", "The distance from the side waist to floor", + "Full measurement description"); - InitMeasurement(arcThroughGroinArea_M, QStringLiteral("Arc through groin area"), - QStringLiteral("Arc through groin area")); + measurements.insert(sideWaistToFloor_M, m); + guiTexts.insert(sideWaistToFloor_M, g); + descriptions.insert(sideWaistToFloor_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "front_waist_to_floor", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Front waist to floor", "Full measurement name"); + d = VTranslation::translate("Measurements", "The distance from the front waist to floor", + "Full measurement description"); - InitMeasurement(waistToPlaneSeat_M, QStringLiteral("Waist to plane seat"), - QStringLiteral("The distance from the waist to the plane seat")); + measurements.insert(frontWaistToFloor_M, m); + guiTexts.insert(frontWaistToFloor_M, g); + descriptions.insert(frontWaistToFloor_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "arc_through_groin_area", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Arc through groin area", "Full measurement name"); + d = VTranslation::translate("Measurements", "Arc through groin area", "Full measurement description"); - InitMeasurement(neckToRadialPoint_M, QStringLiteral("Neck to radial point"), - QStringLiteral("The distance from the base of the neck to the side of the radial point")); + measurements.insert(arcThroughGroinArea_M, m); + guiTexts.insert(arcThroughGroinArea_M, g); + descriptions.insert(arcThroughGroinArea_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "waist_to_plane_seat", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Waist to plane seat", "Full measurement name"); + d = VTranslation::translate("Measurements", "The distance from the waist to the plane seat", + "Full measurement description"); - InitMeasurement(neckToThirdFinger_M, QStringLiteral("Neck to third finger"), - QStringLiteral("Distance from the base of the neck side point to the end of the third finger")); + measurements.insert(waistToPlaneSeat_M, m); + guiTexts.insert(waistToPlaneSeat_M, g); + descriptions.insert(waistToPlaneSeat_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "neck_to_radial_point", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Neck to radial point", "Full measurement name"); + d = VTranslation::translate("Measurements", "The distance from the base of the neck to the side of the radial" + " point", "Full measurement description"); - InitMeasurement(neckToFirstLineChestCircumference_M, QStringLiteral("Neck to first line chest circumference"), - QStringLiteral("The distance from the base of the neck to the side of the first line in front of " - "chest circumference")); + measurements.insert(neckToRadialPoint_M, m); + guiTexts.insert(neckToRadialPoint_M, g); + descriptions.insert(neckToRadialPoint_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "neck_to_third_finger", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Neck to third finger", "Full measurement name"); + d = VTranslation::translate("Measurements", "Distance from the base of the neck side point to the end of the third" + " finger", "Full measurement description"); - InitMeasurement(frontWaistLength_M, QStringLiteral("Front waist length"), - QStringLiteral("The distance from the base of the neck to the waist side front (waist length in " - "the front)")); + measurements.insert(neckToThirdFinger_M, m); + guiTexts.insert(neckToThirdFinger_M, g); + descriptions.insert(neckToThirdFinger_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "neck_to_first_line_chest_circumference", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Neck to first line chest circumference", "Full measurement name"); + d = VTranslation::translate("Measurements", "The distance from the base of the neck to the side of the first line" + " in front of chest circumference", "Full measurement description"); - InitMeasurement(arcThroughShoulderJoint_M, QStringLiteral("Arc through shoulder joint"), - QStringLiteral("Arc through the highest point of the shoulder joint")); + measurements.insert(neckToFirstLineChestCircumference_M, m); + guiTexts.insert(neckToFirstLineChestCircumference_M, g); + descriptions.insert(neckToFirstLineChestCircumference_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "front_waist_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Front waist length", "Full measurement name"); + d = VTranslation::translate("Measurements", "The distance from the base of the neck to the waist side front (waist" + " length in the front)", "Full measurement description"); - InitMeasurement(neckToBackLineChestCircumference_M, QStringLiteral("Neck to back line chest circumference"), - QStringLiteral("The distance from the base of the neck to the back line of chest circumference of " - "the first and the second based on ledge vanes")); + measurements.insert(frontWaistLength_M, m); + guiTexts.insert(frontWaistLength_M, g); + descriptions.insert(frontWaistLength_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "arc_through_shoulder_joint", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Arc through shoulder joint", "Full measurement name"); + d = VTranslation::translate("Measurements", "Arc through the highest point of the shoulder joint", + "Full measurement description"); - InitMeasurement(waistToNeckSide_M, QStringLiteral("Waist to neck side"), - QStringLiteral("The distance from the waist to the back base of the neck side point")); + measurements.insert(arcThroughShoulderJoint_M, m); + guiTexts.insert(arcThroughShoulderJoint_M, g); + descriptions.insert(arcThroughShoulderJoint_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "neck_to_back_line_chest_circumference", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Neck to back line chest circumference", "Full measurement name"); + d = VTranslation::translate("Measurements", "The distance from the base of the neck to the back line of chest" + " circumference of the first and the second based on ledge vanes", + "Full measurement description"); - InitMeasurement(arcLengthUpperBody_M, QStringLiteral("Arc length upper body"), - QStringLiteral("Arc length of the upper body through the base of the neck side point")); + measurements.insert(neckToBackLineChestCircumference_M, m); + guiTexts.insert(neckToBackLineChestCircumference_M, g); + descriptions.insert(neckToBackLineChestCircumference_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "waist_to_neck_side", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Waist to neck side", "Full measurement name"); + d = VTranslation::translate("Measurements", "The distance from the waist to the back base of the neck side point", + "Full measurement description"); - InitMeasurement(chestWidth_M, QStringLiteral("Chest width"), QStringLiteral("Chest width")); + measurements.insert(waistToNeckSide_M, m); + guiTexts.insert(waistToNeckSide_M, g); + descriptions.insert(waistToNeckSide_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "arc_length_upper_body", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Arc length upper body", "Full measurement name"); + d = VTranslation::translate("Measurements", "Arc length of the upper body through the base of the neck side point", + "Full measurement description"); - InitMeasurement(anteroposteriorDiameterHands_M, QStringLiteral("Anteroposterior diameter hands"), - QStringLiteral("Anteroposterior diameter of the hands")); + measurements.insert(arcLengthUpperBody_M, m); + guiTexts.insert(arcLengthUpperBody_M, g); + descriptions.insert(arcLengthUpperBody_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "chest_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Chest width", "Full measurement name"); + d = VTranslation::translate("Measurements", "Chest width", "Full measurement description"); - InitMeasurement(heightClavicularPoint_M, QStringLiteral("Height clavicular point"), - QStringLiteral("Height clavicular point")); + measurements.insert(chestWidth_M, m); + guiTexts.insert(chestWidth_M, g); + descriptions.insert(chestWidth_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "anteroposterior_diameter_hands", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Anteroposterior diameter hands", "Full measurement name"); + d = VTranslation::translate("Measurements", "Anteroposterior diameter of the hands", + "Full measurement description"); - InitMeasurement(heightArmholeSlash_M, QStringLiteral("Height armhole slash"), - QStringLiteral("The distance from the point to the cervical level of the posterior angle of the " - "front armpit (underarm height oblique)")); + measurements.insert(anteroposteriorDiameterHands_M, m); + guiTexts.insert(anteroposteriorDiameterHands_M, g); + descriptions.insert(anteroposteriorDiameterHands_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "height_clavicular_point", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Height clavicular point", "Full measurement name"); + d = VTranslation::translate("Measurements", "Height clavicular point", "Full measurement description"); - InitMeasurement(slashShoulderHeight_M, QStringLiteral("Slash shoulder height"), - QStringLiteral("Slash shoulder height")); + measurements.insert(heightClavicularPoint_M, m); + guiTexts.insert(heightClavicularPoint_M, g); + descriptions.insert(heightClavicularPoint_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "height_armhole_slash", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Height armhole slash", "Full measurement name"); + d = VTranslation::translate("Measurements", "The distance from the point to the cervical level of the posterior" + " angle of the front armpit (underarm height oblique)", "Full measurement description"); - InitMeasurement(halfGirthNeck_M, QStringLiteral("Half girth neck"), QStringLiteral("Half girth neck")); + measurements.insert(heightArmholeSlash_M, m); + guiTexts.insert(heightArmholeSlash_M, g); + descriptions.insert(heightArmholeSlash_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "slash_shoulder_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Slash shoulder height", "Full measurement name"); + d = VTranslation::translate("Measurements", "Slash shoulder height", "Full measurement description"); - InitMeasurement(halfGirthNeckForShirts_M, QStringLiteral("Half girth neck for shirts"), - QStringLiteral("Half girth neck for shirts")); + measurements.insert(slashShoulderHeight_M, m); + guiTexts.insert(slashShoulderHeight_M, g); + descriptions.insert(slashShoulderHeight_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "half_girth_neck", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Half girth neck", "Full measurement name"); + d = VTranslation::translate("Measurements", "Half girth neck", "Full measurement description"); - InitMeasurement(halfGirthChestFirst_M, QStringLiteral("Half girth chest first"), - QStringLiteral("Half girth chest first")); + measurements.insert(halfGirthNeck_M, m); + guiTexts.insert(halfGirthNeck_M, g); + descriptions.insert(halfGirthNeck_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "half_girth_neck_for_shirts", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Half girth neck for shirts", "Full measurement name"); + d = VTranslation::translate("Measurements", "Half girth neck for shirts", "Full measurement description"); - InitMeasurement(halfGirthChestSecond_M, QStringLiteral("Half girth chest second"), - QStringLiteral("Half girth chest second")); + measurements.insert(halfGirthNeckForShirts_M, m); + guiTexts.insert(halfGirthNeckForShirts_M, g); + descriptions.insert(halfGirthNeckForShirts_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "half_girth_chest_first", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Half girth chest first", "Full measurement name"); + d = VTranslation::translate("Measurements", "Half girth chest first", "Full measurement description"); - InitMeasurement(halfGirthChestThird_M, QStringLiteral("Half girth chest third"), - QStringLiteral("Half girth chest third")); + measurements.insert(halfGirthChestFirst_M, m); + guiTexts.insert(halfGirthChestFirst_M, g); + descriptions.insert(halfGirthChestFirst_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "half_girth_chest_second", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Half girth chest second", "Full measurement name"); + d = VTranslation::translate("Measurements", "Half girth chest second", "Full measurement description"); - InitMeasurement(halfGirthWaist_M, QStringLiteral("Half girth waist"), QStringLiteral("Half girth waist")); + measurements.insert(halfGirthChestSecond_M, m); + guiTexts.insert(halfGirthChestSecond_M, g); + descriptions.insert(halfGirthChestSecond_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "half_girth_chest_third", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Half girth chest third", "Full measurement name"); + d = VTranslation::translate("Measurements", "Half girth chest third", "Full measurement description"); - InitMeasurement(halfGirthHipsConsideringProtrudingAbdomen_M, - QStringLiteral("Half girth hips considering protruding abdomen"), - QStringLiteral("Half girth hips considering protruding abdomen")); + measurements.insert(halfGirthChestThird_M, m); + guiTexts.insert(halfGirthChestThird_M, g); + descriptions.insert(halfGirthChestThird_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "half_girth_waist", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Half girth waist", "Full measurement name"); + d = VTranslation::translate("Measurements", "Half girth waist", "Full measurement description"); - InitMeasurement(halfGirthHipsExcludingProtrudingAbdomen_M, - QStringLiteral("Half girth hips excluding protruding abdomen"), - QStringLiteral("Half girth hips excluding protruding abdomen")); + measurements.insert(halfGirthWaist_M, m); + guiTexts.insert(halfGirthWaist_M, g); + descriptions.insert(halfGirthWaist_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "half_girth_hips_considering_protruding_abdomen", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Half girth hips considering protruding abdomen", + "Full measurement name"); + d = VTranslation::translate("Measurements", "Half girth hips considering protruding abdomen", + "Full measurement description"); - InitMeasurement(girthKneeFlexedFeet_M, QStringLiteral("Girth knee flexed feet"), - QStringLiteral("Girth knee flexed feet")); + measurements.insert(halfGirthHipsConsideringProtrudingAbdomen_M, m); + guiTexts.insert(halfGirthHipsConsideringProtrudingAbdomen_M, g); + descriptions.insert(halfGirthHipsConsideringProtrudingAbdomen_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "half_girth_hips_excluding_protruding_abdomen", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Half girth hips excluding protruding abdomen", + "Full measurement name"); + d = VTranslation::translate("Measurements", "Half girth hips excluding protruding abdomen", + "Full measurement description"); - InitMeasurement(neckTransverseDiameter_M, QStringLiteral("Neck transverse diameter"), - QStringLiteral("Neck transverse diameter")); + measurements.insert(halfGirthHipsExcludingProtrudingAbdomen_M, m); + guiTexts.insert(halfGirthHipsExcludingProtrudingAbdomen_M, g); + descriptions.insert(halfGirthHipsExcludingProtrudingAbdomen_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "girth_knee_flexed_feet", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Girth knee flexed feet", "Full measurement name"); + d = VTranslation::translate("Measurements", "Girth knee flexed feet", "Full measurement description"); - InitMeasurement(frontSlashShoulderHeight_M, QStringLiteral("Front slash shoulder height"), - QStringLiteral("Front slash shoulder height")); + measurements.insert(girthKneeFlexedFeet_M, m); + guiTexts.insert(girthKneeFlexedFeet_M, g); + descriptions.insert(girthKneeFlexedFeet_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "neck_transverse_diameter", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Neck transverse diameter", "Full measurement name"); + d = VTranslation::translate("Measurements", "Neck transverse diameter", "Full measurement description"); - InitMeasurement(neckToFrontWaistLine_M, QStringLiteral("Neck to front waist line"), - QStringLiteral("The distance from the base of the neck to the waist line front")); + measurements.insert(neckTransverseDiameter_M, m); + guiTexts.insert(neckTransverseDiameter_M, g); + descriptions.insert(neckTransverseDiameter_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "front_slash_shoulder_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Front slash shoulder height", "Full measurement name"); + d = VTranslation::translate("Measurements", "Front slash shoulder height", "Full measurement description"); - InitMeasurement(handVerticalDiameter_M, QStringLiteral("Hand vertical diameter"), - QStringLiteral("Hand vertical diameter")); + measurements.insert(frontSlashShoulderHeight_M, m); + guiTexts.insert(frontSlashShoulderHeight_M, g); + descriptions.insert(frontSlashShoulderHeight_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "neck_to_front_waist_line", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Neck to front waist line", "Full measurement name"); + d = VTranslation::translate("Measurements", "The distance from the base of the neck to the waist line front", + "Full measurement description"); - InitMeasurement(neckToKneePoint_M, QStringLiteral("Neck to knee point"), - QStringLiteral("Distance from neck to knee point")); + measurements.insert(neckToFrontWaistLine_M, m); + guiTexts.insert(neckToFrontWaistLine_M, g); + descriptions.insert(neckToFrontWaistLine_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "hand_vertical_diameter", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Hand vertical diameter", "Full measurement name"); + d = VTranslation::translate("Measurements", "Hand vertical diameter", "Full measurement description"); - InitMeasurement(waistToKnee_M, QStringLiteral("Waist to knee"), - QStringLiteral("The distance from the waist to the knee")); + measurements.insert(handVerticalDiameter_M, m); + guiTexts.insert(handVerticalDiameter_M, g); + descriptions.insert(handVerticalDiameter_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "neck_to_knee_point", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Neck to knee point", "Full measurement name"); + d = VTranslation::translate("Measurements", "Distance from neck to knee point", "Full measurement description"); - InitMeasurement(shoulderHeight_M, QStringLiteral("Shoulder height"), QStringLiteral("Shoulder height")); + measurements.insert(neckToKneePoint_M, m); + guiTexts.insert(neckToKneePoint_M, g); + descriptions.insert(neckToKneePoint_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "waist_to_knee", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Waist to knee", "Full measurement name"); + d = VTranslation::translate("Measurements", "The distance from the waist to the knee", + "Full measurement description"); - InitMeasurement(headHeight_M, QStringLiteral("Head height"), QStringLiteral("Head height")); + measurements.insert(waistToKnee_M, m); + guiTexts.insert(waistToKnee_M, g); + descriptions.insert(waistToKnee_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "shoulder_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Shoulder height", "Full measurement name"); + d = VTranslation::translate("Measurements", "Shoulder height", "Full measurement description"); - InitMeasurement(bodyPosition_M, QStringLiteral("Body position"), QStringLiteral("Body position")); + measurements.insert(shoulderHeight_M, m); + guiTexts.insert(shoulderHeight_M, g); + descriptions.insert(shoulderHeight_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "head_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Head height", "Full measurement name"); + d = VTranslation::translate("Measurements", "Head height", "Full measurement description"); - InitMeasurement(arcBehindShoulderGirdle_M, QStringLiteral("Arc behind shoulder girdle"), - QStringLiteral("Arc behind the shoulder girdle")); + measurements.insert(headHeight_M, m); + guiTexts.insert(headHeight_M, g); + descriptions.insert(headHeight_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "body_position", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Body position", "Full measurement name"); + d = VTranslation::translate("Measurements", "Body position", "Full measurement description"); - InitMeasurement(neckToNeckBase_M, QStringLiteral("Neck to neck base"), - QStringLiteral("Distance from neck point to point on the base of the neck side neck girth " - "measurement line")); + measurements.insert(bodyPosition_M, m); + guiTexts.insert(bodyPosition_M, g); + descriptions.insert(bodyPosition_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "arc_behind_shoulder_girdle", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Arc behind shoulder girdle", "Full measurement name"); + d = VTranslation::translate("Measurements", "Arc behind the shoulder girdle", "Full measurement description"); - InitMeasurement(depthWaistFirst_M, QStringLiteral("Depth waist first"), QStringLiteral("Depth waist first")); + measurements.insert(arcBehindShoulderGirdle_M, m); + guiTexts.insert(arcBehindShoulderGirdle_M, g); + descriptions.insert(arcBehindShoulderGirdle_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "neck_to_neck_base", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Neck to neck base", "Full measurement name"); + d = VTranslation::translate("Measurements", "Distance from neck point to point on the base of the neck side neck" + " girth measurement line", "Full measurement description"); - InitMeasurement(depthWaistSecond_M, QStringLiteral("Depth waist second"), QStringLiteral("Depth waist second")); -} + measurements.insert(neckToNeckBase_M, m); + guiTexts.insert(neckToNeckBase_M, g); + descriptions.insert(neckToNeckBase_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "depth_waist_first", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Depth waist first", "Full measurement name"); + d = VTranslation::translate("Measurements", "Depth waist first", "Full measurement description"); -//--------------------------------------------------------------------------------------------------------------------- -void VApplication::InitMeasurement(const QString &measurement, const QString &guiText, const QString &desc) -{ - const QString context = QStringLiteral("Measurements"); - const QString disambiguation1 = QStringLiteral("Short measurement name. Don't use math symbols in name!!!!"); - const QString disambiguation2 = QStringLiteral("Full measurement name"); - const QString disambiguation3 = QStringLiteral("Full measurement description"); + measurements.insert(depthWaistFirst_M, m); + guiTexts.insert(depthWaistFirst_M, g); + descriptions.insert(depthWaistFirst_M, d); + //================================================================================================================= + m = VTranslation::translate("Measurements", "depth_waist_second", + "Short measurement name. Don't use math symbols in name!!!!"); + g = VTranslation::translate("Measurements", "Depth waist second", "Full measurement name"); + d = VTranslation::translate("Measurements", "Depth waist second", "Full measurement description"); - measurements.insert(measurement, VTranslation::translate(context, measurement, disambiguation1)); - guiTexts.insert(measurement, VTranslation::translate(context, guiText, disambiguation2)); - descriptions.insert(measurement, VTranslation::translate(context, desc, disambiguation3)); + measurements.insert(depthWaistSecond_M, m); + guiTexts.insert(depthWaistSecond_M, g); + descriptions.insert(depthWaistSecond_M, d); } //--------------------------------------------------------------------------------------------------------------------- void VApplication::InitVariables() { - const QString context = QStringLiteral("Variables"); - const QString disambiguation = QStringLiteral("Left symbol _ in name"); - - variables.insert(line_, VTranslation::translate(context, line_, disambiguation)); - variables.insert(angleLine_, VTranslation::translate(context, angleLine_, disambiguation)); - variables.insert(arc_, VTranslation::translate(context, arc_, disambiguation)); - variables.insert(spl_, VTranslation::translate(context, spl_, disambiguation)); - variables.insert(splPath, VTranslation::translate(context, splPath, disambiguation)); + variables.insert(line_, VTranslation::translate("Variables", "Line_", "Left symbol _ in name")); + variables.insert(angleLine_, VTranslation::translate("Variables", "AngleLine_", "Left symbol _ in name")); + variables.insert(arc_, VTranslation::translate("Variables", "Arc_", "Left symbol _ in name")); + variables.insert(spl_, VTranslation::translate("Variables", "Spl_", "Left symbol _ in name")); + variables.insert(splPath, VTranslation::translate("Variables", "SplPath")); } //--------------------------------------------------------------------------------------------------------------------- void VApplication::InitFunctions() { - const QString context = QStringLiteral("Functions"); - - functions.insert(sin_F, VTranslation::translate(context, sin_F, QStringLiteral("sine function"))); - functions.insert(cos_F, VTranslation::translate(context, cos_F, QStringLiteral("cosine function"))); - functions.insert(tan_F, VTranslation::translate(context, tan_F, QStringLiteral("tangens function"))); - functions.insert(asin_F, VTranslation::translate(context, asin_F, QStringLiteral("arcus sine function"))); - functions.insert(acos_F, VTranslation::translate(context, acos_F, QStringLiteral("arcus cosine function"))); - functions.insert(atan_F, VTranslation::translate(context, atan_F, QStringLiteral("arcus tangens function"))); - functions.insert(sinh_F, VTranslation::translate(context, sinh_F, QStringLiteral("hyperbolic sine function"))); - functions.insert(cosh_F, VTranslation::translate(context, cosh_F, QStringLiteral("hyperbolic cosine"))); - functions.insert(tanh_F, VTranslation::translate(context, tanh_F, QStringLiteral("hyperbolic tangens function"))); - functions.insert(asinh_F, VTranslation::translate(context, asinh_F, - QStringLiteral("hyperbolic arcus sine function"))); - functions.insert(acosh_F, VTranslation::translate(context, acosh_F, - QStringLiteral("hyperbolic arcus tangens function"))); - functions.insert(atanh_F, VTranslation::translate(context, atanh_F, - QStringLiteral("hyperbolic arcur tangens function"))); - functions.insert(log2_F, VTranslation::translate(context, log2_F, QStringLiteral("logarithm to the base 2"))); - functions.insert(log10_F, VTranslation::translate(context, log10_F, QStringLiteral("logarithm to the base 10"))); - functions.insert(log_F, VTranslation::translate(context, log_F, QStringLiteral("logarithm to the base 10"))); - functions.insert(ln_F, VTranslation::translate(context, ln_F, QStringLiteral("logarithm to base e (2.71828...)"))); - functions.insert(exp_F, VTranslation::translate(context, exp_F, QStringLiteral("e raised to the power of x"))); - functions.insert(sqrt_F, VTranslation::translate(context, sqrt_F, QStringLiteral("square root of a value"))); - functions.insert(sign_F, VTranslation::translate(context, sign_F, - QStringLiteral("sign function -1 if x<0; 1 if x>0"))); - functions.insert(rint_F, VTranslation::translate(context, rint_F, QStringLiteral("round to nearest integer"))); - functions.insert(abs_F, VTranslation::translate(context, abs_F, QStringLiteral("absolute value"))); - functions.insert(min_F, VTranslation::translate(context, min_F, QStringLiteral("min of all arguments"))); - functions.insert(max_F, VTranslation::translate(context, max_F, QStringLiteral("max of all arguments"))); - functions.insert(sum_F, VTranslation::translate(context, sum_F, QStringLiteral("sum of all arguments"))); - functions.insert(avg_F, VTranslation::translate(context, avg_F, QStringLiteral("mean value of all arguments"))); + functions.insert(sin_F, VTranslation::translate("Functions", "sin", "sine function")); + functions.insert(cos_F, VTranslation::translate("Functions", "cos", "cosine function")); + functions.insert(tan_F, VTranslation::translate("Functions", "tan", "tangens function")); + functions.insert(asin_F, VTranslation::translate("Functions", "asin", "arcus sine function")); + functions.insert(acos_F, VTranslation::translate("Functions", "acos", "arcus cosine function")); + functions.insert(atan_F, VTranslation::translate("Functions", "atan", "arcus tangens function")); + functions.insert(sinh_F, VTranslation::translate("Functions", "sinh", "hyperbolic sine function")); + functions.insert(cosh_F, VTranslation::translate("Functions", "cosh", "hyperbolic cosine")); + functions.insert(tanh_F, VTranslation::translate("Functions", "tanh", "hyperbolic tangens function")); + functions.insert(asinh_F, VTranslation::translate("Functions", "asinh", "hyperbolic arcus sine function")); + functions.insert(acosh_F, VTranslation::translate("Functions", "acosh", "hyperbolic arcus tangens function")); + functions.insert(atanh_F, VTranslation::translate("Functions", "atanh", "hyperbolic arcur tangens function")); + functions.insert(log2_F, VTranslation::translate("Functions", "log2", "logarithm to the base 2")); + functions.insert(log10_F, VTranslation::translate("Functions", "log10", "logarithm to the base 10")); + functions.insert(log_F, VTranslation::translate("Functions", "log", "logarithm to the base 10")); + functions.insert(ln_F, VTranslation::translate("Functions", "ln", "logarithm to base e (2.71828...)")); + functions.insert(exp_F, VTranslation::translate("Functions", "exp", "e raised to the power of x")); + functions.insert(sqrt_F, VTranslation::translate("Functions", "sqrt", "square root of a value")); + functions.insert(sign_F, VTranslation::translate("Functions", "sign", "sign function -1 if x<0; 1 if x>0")); + functions.insert(rint_F, VTranslation::translate("Functions", "rint", "round to nearest integer")); + functions.insert(abs_F, VTranslation::translate("Functions", "abs", "absolute value")); + functions.insert(min_F, VTranslation::translate("Functions", "min", "min of all arguments")); + functions.insert(max_F, VTranslation::translate("Functions", "max", "max of all arguments")); + functions.insert(sum_F, VTranslation::translate("Functions", "sum", "sum of all arguments")); + functions.insert(avg_F, VTranslation::translate("Functions", "avg", "mean value of all arguments")); } //--------------------------------------------------------------------------------------------------------------------- void VApplication::InitPostfixOperators() { - const QString context = QStringLiteral("PostfixOperators"); - - postfixOperators.insert(cm_Oprt, VTranslation::translate(context, cm_Oprt, QStringLiteral("centimeter"))); - postfixOperators.insert(mm_Oprt, VTranslation::translate(context, mm_Oprt, QStringLiteral("millimeter"))); - postfixOperators.insert(in_Oprt, VTranslation::translate(context, in_Oprt, QStringLiteral("inch"))); + postfixOperators.insert(cm_Oprt, VTranslation::translate("PostfixOperators", "cm", "centimeter")); + postfixOperators.insert(mm_Oprt, VTranslation::translate("PostfixOperators", "mm", "millimeter")); + postfixOperators.insert(in_Oprt, VTranslation::translate("PostfixOperators", "in", "inch")); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/widgets/vapplication.h b/src/app/widgets/vapplication.h index 89c940d16..4df5493d1 100644 --- a/src/app/widgets/vapplication.h +++ b/src/app/widgets/vapplication.h @@ -93,7 +93,6 @@ private: QMap postfixOperators; void InitLineWidth(); void InitMeasurements(); - void InitMeasurement(const QString &measurement, const QString &guiText, const QString & desc); void InitVariables(); void InitFunctions(); void InitPostfixOperators(); diff --git a/src/app/widgets/vtranslation.cpp b/src/app/widgets/vtranslation.cpp index be675def7..b616d966f 100644 --- a/src/app/widgets/vtranslation.cpp +++ b/src/app/widgets/vtranslation.cpp @@ -50,6 +50,23 @@ VTranslation::VTranslation(const QString &context, const QString &sourceText, co :mcontext(context), msourceText(sourceText), mdisambiguation(disambiguation), mn(n) {} +//--------------------------------------------------------------------------------------------------------------------- +VTranslation &VTranslation::operator=(const VTranslation &tr) + +{ + this->mcontext = tr.getMcontext(); + this->msourceText = tr.getMsourceText(); + this->mdisambiguation = tr.getMdisambiguation(); + this->mn = tr.getN(); + return *this; +} + +//--------------------------------------------------------------------------------------------------------------------- +VTranslation::VTranslation(const VTranslation &tr) + :mcontext(tr.getMcontext()), msourceText(tr.getMsourceText()), mdisambiguation(tr.getMdisambiguation()), + mn(tr.getN()) +{} + //--------------------------------------------------------------------------------------------------------------------- QString VTranslation::VTranslation::translate() const { diff --git a/src/app/widgets/vtranslation.h b/src/app/widgets/vtranslation.h index f36cdf45a..8fec40fb5 100644 --- a/src/app/widgets/vtranslation.h +++ b/src/app/widgets/vtranslation.h @@ -39,6 +39,7 @@ * I took idea from this article http://ololoepepe.blogspot.com/2013/08/qt.html. * As you know, if wrap string to a function translate, it will be marked for translation. No matter what namespace * contains this function. In class Translation used this circumstance. + * It is mean never change name of method translate!!!!!. * Instead of using QT_TRANSLATE_NOOP3 macros we can store strings in QMap. * Example: * create map and fill up its @@ -52,9 +53,15 @@ class VTranslation public: VTranslation(); VTranslation(const QString &context, const QString &sourceText, const QString &disambiguation = 0, int n = -1); + VTranslation &operator=(const VTranslation &tr); + VTranslation(const VTranslation &tr); QString translate() const; static VTranslation translate(const QString &context, const QString &sourceText, const QString &disambiguation = 0, int n = -1); + QString getMcontext() const; + QString getMsourceText() const; + QString getMdisambiguation() const; + int getN() const; private: QString mcontext; QString msourceText; @@ -62,4 +69,28 @@ private: int mn; }; +//--------------------------------------------------------------------------------------------------------------------- +inline QString VTranslation::getMcontext() const +{ + return mcontext; +} + +//--------------------------------------------------------------------------------------------------------------------- +inline QString VTranslation::getMsourceText() const +{ + return msourceText; +} + +//--------------------------------------------------------------------------------------------------------------------- +inline QString VTranslation::getMdisambiguation() const +{ + return mdisambiguation; +} + +//--------------------------------------------------------------------------------------------------------------------- +inline int VTranslation::getN() const +{ + return mn; +} + #endif // VTRANSLATION_H From cfe682bb968e3a324d66471f35eff87312fcdc22 Mon Sep 17 00:00:00 2001 From: dismine Date: Sat, 24 May 2014 19:56:40 +0300 Subject: [PATCH 28/32] Add italy and dutch languages. --HG-- branch : feature --- src/app/app.pro | 4 +- src/app/share/translations/valentina_it.ts | 5994 ++++++++++++++++++++ src/app/share/translations/valentina_nl.ts | 5990 +++++++++++++++++++ 3 files changed, 11987 insertions(+), 1 deletion(-) create mode 100644 src/app/share/translations/valentina_it.ts create mode 100644 src/app/share/translations/valentina_nl.ts diff --git a/src/app/app.pro b/src/app/app.pro index 3b3a4c182..909719a1e 100644 --- a/src/app/app.pro +++ b/src/app/app.pro @@ -79,7 +79,9 @@ TRANSLATIONS += share/translations/valentina.ts \ share/translations/valentina_de.ts \ share/translations/valentina_cs.ts \ share/translations/valentina_he_IL.ts \ - share/translations/valentina_fr.ts + share/translations/valentina_fr.ts \ + share/translations/valentina_it.ts \ + share/translations/valentina_nl.ts unix { QMAKE_CXX = ccache g++ diff --git a/src/app/share/translations/valentina_it.ts b/src/app/share/translations/valentina_it.ts new file mode 100644 index 000000000..4af94d63b --- /dev/null +++ b/src/app/share/translations/valentina_it.ts @@ -0,0 +1,5994 @@ + + + + + ConfigDialog + + + Apply + + + + + &Cancel + + + + + &Ok + + + + + Config Dialog + + + + + Configuration + + + + + Pattern + + + + + ConfigurationPage + + + Setup user interface language updated and will be used the next time start + + + + + Save + + + + + Auto-save modified pattern + + + + + Interval: + + + + + min + + + + + Language + + + + + GUI language + + + + + Decimal separator parts + + + + + With OS options (.) + + + + + DialogAboutApp + + + About Valentina + + + + + Valentina version + + + + + pushButton_Web_Site + + + + + Contributors + + + + + label_QT_Version + + + + + Based on Qt %2 (32 bit) + + + + + Built on %3 at %4 + + + + + Web site : %1 + + + + + Warning + + + + + Cannot open your default browser + + + + + DialogAlongLine + + + Point along line + + + + + Length + + + + + Formula for the calculation of length of line + + + + + Insert variable into the formula + + + + + + ... + ... + + + + Calculate value + + + + + Value of length + + + + + _ + _ + + + + Point label + + + + + First point + + + + + First point of line + + + + + Second point + + + + + Second point of line + + + + + Type of line + + + + + Show line from first point to this point + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Variables - Click twice to insert into formula + + + + + Select second point of line + + + + + DialogArc + + + Arc + + + + + Radius + + + + + Formula for the calculation of radius of arc + + + + + Insert variable into the formula + + + + + + + + + + ... + ... + + + + + + Calculate value + + + + + Value of radius + + + + + + + _ + _ + + + + First angle degree + + + + + First angle of arc counterclockwise + + + + + Insert variable into formula + + + + + Value of first angle + + + + + Second angle degree + + + + + Second angle of arc counterclockwise + + + + + Insert marked variable into formula + + + + + Value of second angle + + + + + Center point + + + + + Select point of center of arc + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Angle of lines + + + + + Variables + + + + + Value of angle of line. + + + + + DialogBisector + + + Bisector + + + + + Length + + + + + Calculation of length of bisector by using the formula + + + + + Insert marked variable into the formula + + + + + + ... + ... + + + + Calculate value + + + + + Value of length + + + + + _ + _ + + + + Point label + + + + + First point + + + + + First point of angle + + + + + Second point + + + + + Second point of angle + + + + + Third point + + + + + Third point of angle + + + + + Type of line + + + + + Show line from second point to this point + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Variables - Click twice to insert into formula + + + + + Select second point of angle + + + + + Select third point of angle + + + + + DialogCutArc + + + Dialog + + + + + Length + + + + + Formula for the calculation of the spline + + + + + + ... + ... + + + + Calculate value + + + + + Value of length + + + + + _ + _ + + + + Arc + + + + + Selected curve + + + + + Point label + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Variables - Click twice to insert into formula + + + + + DialogCutSpline + + + Dialog + + + + + Length + + + + + Formula for the calculation of the spline + + + + + + ... + ... + + + + Calculate value + + + + + Value of length + + + + + _ + _ + + + + Curve + + + + + Selected curve + + + + + Point label + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Variables - Click twice to insert into formula + + + + + DialogCutSplinePath + + + Dialog + + + + + Length + + + + + Formula for the calculation of the curve length + + + + + + ... + ... + + + + Calculate value + + + + + Value of length + + + + + _ + _ + + + + Curve + + + + + Selected curve path + + + + + Point label + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Variables - Click twice to insert into formula + + + + + DialogDetail + + + + Detail + + + + + Bias X + + + + + Bias Y + + + + + Options + + + + + Name of detail + + + + + Seam allowance + + + + + Width + + + + + Closed + + + + + Delete + + + + + Got wrong scene object. Ignore. + + + + + DialogEndLine + + + Point in the end of a line + + + + + Length + + + + + Formula for calculation of length of line + + + + + + + + + + + + + + ... + ... + + + + Calculate value + + + + + Value of length + + + + + _ + _ + + + + Base point + + + + + First point of line + + + + + Point label + + + + + Degree of angle + + + + + Angle of line + + + + + Type of line + + + + + Show line from first point to this point + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Variables - Click twice to insert into formula + + + + + DialogHeight + + + Dialog + + + + + Point label + + + + + Base point + + + + + + + + First point of line + + + + + Second point of line + + + + + Type of line + + + + + Show line from first point to our point + + + + + Select first point of line + + + + + Select second point of line + + + + + DialogHistory + + + History + + + + + + Tool + + + + + + + + Can't create record. + + + + + %1 - Base point + + + + + + %1_%2 - Line from point %1 to point %2 + + + + + %3 - Point along line %1_%2 + + + + + %1 - Point of shoulder + + + + + %3 - normal to line %1_%2 + + + + + %4 - bisector of angle %1_%2_%3 + + + + + %5 - intersection of lines %1_%2 and %3_%4 + + + + + Curve %1_%2 + + + + + Arc with center in point %1 + + + + + Curve point %1 + + + + + %4 - point of contact of arc with the center in point %1 and line %2_%3 + + + + + Point of perpendicular from point %1 to line %2_%3 + + + + + Triangle: axis %1_%2, points %3 and %4 + + + + + %1 - point of intersection %2 and %3 + + + + + %1 - cut arc with center %2 + + + + + %1 - cut curve %2_%3 + + + + + %1 - cut curve path %2 + + + + + DialogIncrements + + + + Increments + + + + + + Name + + + + + + The calculated value + + + + + + Base value + + + + + + In sizes + + + + + + + Description + + + + + + + ... + ... + + + + + Measurements + + + + + Load another measurements table + + + + + Personal information + + + + + Given name + + + + + Family name + + + + + Birth date + + + + + yyyy-MM-dd + + + + + Sex + + + + + Mail + + + + + + In heights + + + + + Lines + + + + + Line + + + + + + + Length + + + + + Curves + + + + + Curve + + + + + Arcs + + + + + Arc + + + + + + + File error. + + + + + male + + + + + female + + + + + Measurements use different units than pattern. This pattern required measurements in %1 + + + + + Individual measurements (*.vit) + + + + + + Open file + + + + + + Wrong units. + + + + + Standard measurements (*.vst) + + + + + Name_%1 + + + + + DialogIndividualMeasurements + + + Dialog + + + + + Pattern piece name + + + + + Exist measurements + + + + + + Path: + + + + + + ... + ... + + + + New measurements + + + + + Units: + + + + + Could not create measurements file + + + + + Please try again or change file + + + + + + File error. + + + + + + Individual measurements (*.vit) + + + + + Open file + + + + + Where save measurements? + + + + + centimeter + + + + + inch + + + + + DialogLine + + + Line + + + + + First point + + + + + Second point + + + + + Type of line + + + + + Show line from first point to this point + + + + + Select second point + + + + + DialogLineIntersect + + + Intersection of lines + + + + + Point label + + + + + First line + + + + + + First point + + + + + + Second point + + + + + Second line + + + + + Select second point of first line + + + + + Select first point of second line + + + + + Select second point of second line + + + + + DialogMeasurements + + + Measurements + + + + + <html><head/><body><p><span style=" font-size:18pt;">Please, choose pattern type.</span></p></body></html> + + + + + Graduation + + + + + Use for creation pattern standard measurement table + + + + + Individual + + + + + Use for creation pattern individual measurements + + + + + DialogNormal + + + Normal + + + + + Length + + + + + Formula for calculation of length of normal + + + + + Insert variable into formula + + + + + + + + + + + + + + ... + ... + + + + Calculate value + + + + + Value of length + + + + + _ + _ + + + + Point label + + + + + First point + + + + + Second point + + + + + Additional angle degrees + + + + + Type of line + + + + + Show line from first point to this point + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Variables - Click twice to insert into formula + + + + + Select second point of line + + + + + DialogPatternProperties + + + Pattern properties + + + + + Author name + + + + + Pattern description + + + + + For technical notes. + + + + + DialogPointOfContact + + + Point of contact + + + + + Radius + + + + + Formula for calculation of radius of arc + + + + + Insert variable into formula + + + + + + ... + ... + + + + Calculate value + + + + + Value of radius + + + + + _ + _ + + + + Point label + + + + + Center of arc + + + + + + Select point of center of arc + + + + + Top of the line + + + + + End of the line + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Variables - Click twice to insert into formula. + + + + + Select second point of line + + + + + DialogPointOfIntersection + + + Dialog + + + + + Point label + + + + + vertical point + + + + + First point of angle + + + + + horizontal point + + + + + Second point of angle + + + + + Select point horizontally + + + + + DialogShoulderPoint + + + + Point of shoulder + + + + + Length + + + + + Formula for calculation of length of line + + + + + Insert variable into formula + + + + + + ... + ... + + + + Calculate value + + + + + Value of length + + + + + _ + _ + + + + Point label + + + + + First point + + + + + Second point + + + + + Type of line + + + + + Show line from first point to our point + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + + Length of lines + + + + + Length of curves + + + + + Variables - Click twice to insert into formula + + + + + Select second point of line + + + + + Select point of shoulder + + + + + DialogSinglePoint + + + Single point + + + + + Coordinates on the sheet + + + + + Coordinates + + + + + Y coordinate + + + + + X coordinate + + + + + Point label + + + + + DialogSpline + + + Curve + + + + + First point + + + + + Length ratio of the first control point + + + + + The angle of the first control point + + + + + Second point + + + + + Length ratio of the second control point + + + + + The angle of the second control point + + + + + Coefficient of curvature of the curve + + + + + Select last point of curve + + + + + DialogSplinePath + + + Curve path + + + + + Point of curve + + + + + Length ratio of the first control point + + + + + The angle of the first control point + + + + + Length ratio of the second control point + + + + + The angle of the second control point + + + + + List of points + + + + + Coefficient of curvature of the curve + + + + + Select point of curve path + + + + + DialogStandardMeasurements + + + Standard table + + + + + Pattern piece name + + + + + Standard measurements table + + + + + File error. + + + + + DialogTool + + + Line + + + + + No line + + + + + Dash Line + + + + + Dot Line + + + + + Dash Dot Line + + + + + Dash Dot Dot Line + + + + + Error + + + + + Height + + + + + Size + + + + + Line length + + + + + Arc length + + + + + Curve length + + + + + DialogTriangle + + + Dialog + + + + + Point label + + + + + First point of axis + + + + + + + + First point of line + + + + + Second point of axis + + + + + First point + + + + + Second point + + + + + Select second point of axis + + + + + Select first point + + + + + Select second point + + + + + DialogUnionDetails + + + Dialog + + + + + Do you really want union details? This operation can't be undone. + + + + + Select first point + + + + + Select second point + + + + + + Select another second point + + + + + Select detail + + + + + Functions + + + sin + sine function + + + + + cos + cosine function + + + + + tan + tangens function + + + + + asin + arcus sine function + + + + + acos + arcus cosine function + + + + + atan + arcus tangens function + + + + + sinh + hyperbolic sine function + + + + + cosh + hyperbolic cosine + + + + + tanh + hyperbolic tangens function + + + + + asinh + hyperbolic arcus sine function + + + + + acosh + hyperbolic arcus tangens function + + + + + atanh + hyperbolic arcur tangens function + + + + + log2 + logarithm to the base 2 + + + + + log10 + logarithm to the base 10 + + + + + log + logarithm to the base 10 + + + + + ln + logarithm to base e (2.71828...) + + + + + exp + e raised to the power of x + + + + + sqrt + square root of a value + + + + + sign + sign function -1 if x<0; 1 if x>0 + + + + + rint + round to nearest integer + + + + + abs + absolute value + + + + + min + min of all arguments + + + + + max + max of all arguments + + + + + sum + sum of all arguments + + + + + avg + mean value of all arguments + + + + + MainWindow + + + Valentina + + + + + Tools for creating points. + + + + + Point + + + + + + + + + + + + + + + + + + + + + + + ... + ... + + + + Tool triangle. + + + + + Tools for creating lines. + + + + + Line + + + + + Tools for creating curves. + + + + + Curve + + + + + Curve tool. + + + + + Tool for path curve. + + + + + Tool segment a pathed curve. + + + + + Tool for segmenting a curve. + + + + + Tools for creating arcs. + + + + + Arc + + + + + Arc tool. + + + + + Tools for creating details. + + + + + Detail + + + + + Tool new detail. + + + + + toolBar + + + + + toolBar_2 + + + + + toolBar_3 + + + + + New + + + + + Create a new pattern + + + + + Ctrl+N + + + + + Open + + + + + Open file with pattern + + + + + Save + + + + + Save pattern + + + + + Ctrl+S + + + + + Save as + + + + + Point at distance and angle + + + + + Special point on shoulder. + + + + + Point at intersection of arc and line. + + + + + Point along bisector + + + + + Point along perpendicular + + + + + Point at distance along line + + + + + Perpendicular point along line + + + + + Line between points + + + + + Point at line intersection + + + + + &File + + + + + &Help + + + + + &Pattern piece + + + + + &New + + + + + &Open + + + + + &Save + + + + + Save &As... + + + + + Save not yet saved pattern + + + + + Ctrl+Shift+S + + + + + Draw + + + + + Draw mode + + + + + Ctrl+W + + + + + Details + + + + + Details mode + + + + + Ctrl+E + Ctrl+E + + + + + Pointer tools + + + + + New pattern piece + + + + + Add new pattern piece + + + + + Ctrl+Shift+N + Ctrl+Shift+N + + + + + Change the label of pattern piece + + + + + Table of variables + + + + + Tables of variables + + + + + Ctrl+T + Ctrl+T + + + + History + + + + + Ctrl+H + Ctrl+H + + + + Layout + + + + + Create layout + + + + + Ctrl+L + Ctrl+L + + + + About &Qt + + + + + &About Valentina + + + + + E&xit + + + + + Exit the application + + + + + Options... + + + + + Pattern properties + + + + + About Qt + + + + + Ctrl+Q + Ctrl+Q + + + + Pattern piece %1 + + + + + + /pattern.val + + + + + File saved + + + + + untitled.val + + + + + Unsaved change + + + + + The pattern has been modified. +Do you want to save your changes? + + + + + Pattern piece: + + + + + Enter a new label for the pattern piece. + + + + + Error saving change!!! + + + + + Can't save new label of pattern piece + + + + + + Select point + + + + + Select first point + + + + + + + Select first point of line + + + + + Select first point of angle + + + + + Select first point of first line + + + + + Select first point curve + + + + + Select simple curve + + + + + Select point of center of arc + + + + + Select point of curve path + + + + + Select curve path + + + + + Select points, arcs, curves clockwise. + + + + + Select base point + + + + + Select first point of axis + + + + + Select point vertically + + + + + Select detail + + + + + Select arc + + + + + Measurements use different units than pattern. This pattern required measurements in %1 + + + + + + Wrong units. + + + + + File error. + + + + + File loaded + + + + + The measurements file <br/><br/> <b>%1</b> <br/><br/> %3 + + + + + could not be found. Do you want to update the file location + + + + + Standard measurements (*.vst) + + + + + Individual measurements (*.vit) + + + + <h1>%1</h1> %2 <br/><br/> %3 <br/><br/> %4 + <h1>%1</h1> %2 <br/><br/> %3 <br/><br/> %4 + + + + Height: + + + + + Size: + + + + + Pattern Piece: + + + + + + Pattern files (*.val) + + + + + + Open file + + + + + + Error parsing file. + + + + + Error can't convert value. + + + + + Error empty parameter. + + + + + Error wrong id. + + + + + Measurements + + + head_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Head girth + Full measurement name + + + + + Around fullest part of Head + Full measurement description + + + + + mid_neck_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Mid-neck girth + Full measurement name + + + + + Around middle part of Neck + Full measurement description + + + + + neck_base_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck Base girth + Full measurement name + + + + + Around Neck at base + Full measurement description + + + + + head_and_neck_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Head and Neck length + Full measurement name + + + + + Vertical Distance from Crown to Nape + Full measurement description + + + + + center_front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Center length + Full measurement name + + + + + Front Neck Center over tape at Bustline to Front Waist Center + Full measurement description + + + + + center_back_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Center length + Full measurement name + + + + + Back Neck Center to Back Waist Center + Full measurement description + + + + + shoulder_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder length + Full measurement name + + + + + NeckPoint to ShoulderTip + Full measurement description + + + + + side_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Side Waist length + Full measurement name + + + + + Armpit to Waist side + Full measurement description + + + + + trunk_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Trunk length + Full measurement name + + + + + Around Body from middle of Shoulder length to BustPoint to Crotch up back to beginning point + Full measurement description + + + + + shoulder_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder girth + Full measurement name + + + + + Around Arms and Torso, at bicep level parallel to floor, with arms hanging at the sides + Full measurement description + + + + + upper_chest_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upper Chest girth + Full measurement name + + + + + Around Chest at Armfold level, will be parallel to floor across back, will not be parallel to floor across front chest + Full measurement description + + + + + bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust girth + Full measurement name + + + + + Around fullest part of Bust, parallel to floor + Full measurement description + + + + + under_bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Under Bust girth + Full measurement name + + + + + Around Chest below the Bust, parallel to floor + Full measurement description + + + + + waist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist girth + Full measurement name + + + + + Tie a string around smallest part of waist, keep string tied while taking meaasurements. Not usually parallel to floor for front waist or back waist. + Full measurement description + + + + + high_hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip girth + Full measurement name + + + + + Around HighHip, parallel to floor + Full measurement description + + + + + hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip girth + Full measurement name + + + + + Around Hip, parallel to floor + Full measurement description + + + + + upper_front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Upper Chest width + Full measurement name + + + + + Across Front UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Chest width + Full measurement name + + + + + Across Front Chest, from armfold to armfold + Full measurement description + + + + + across_front_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Front + Full measurement description + + + + + + across_back_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Back + Full measurement description + + + + + + Back Upper Chest width + Full measurement name + + + + + + Across Back UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + upper_back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Chest width + Full measurement name + + + + + Across Back Chest, from armfold to armfold + Full measurement description + + + + + bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + BustPoint to BustPoint + Full measurement name + + + + + Distance between BustPoints, across Chest + Full measurement description + + + + + halter_bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + Halter Bustpoint to Bustpoint + Full measurement name + + + + + Distance from Bustpoint, behind neck, down to Bustpoint + Full measurement description + + + + + neck_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + NeckPoint to BustPoint + Full measurement name + + + + + From NeckPoint to BustPoint + Full measurement description + + + + + crotch_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch length + Full measurement name + + + + + From Front Waist Center, down to crotch, up to Back Waist Center + Full measurement description + + + + + rise_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Rise height + Full measurement name + + + + + Sit on hard chair, measure from side waist straight down to chair bottom + Full measurement description + + + + + shoulder_drop + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Drop + Full measurement name + + + + + Vertical Distance from NeckPoint level to ShoulderTip level + Full measurement description + + + + + shoulder_slope_degrees + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Slope degrees + Full measurement name + + + + + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer + Full measurement description + + + + + front_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Shoulder Balance + Full measurement name + + + + + ShoulderTip to Front Waist Center + Full measurement description + + + + + back_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Shoulder Balance + Full measurement name + + + + + ShoulderTip to Back Waist Center + Full measurement description + + + + + front_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Full Length + Full measurement name + + + + + NeckPoint straight down front chest to Waistline + Full measurement description + + + + + back_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Full Length + Full measurement name + + + + + Back NeckPoint straight down back chest to Waistline + Full measurement description + + + + + front_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint through Front Neck Center + Full measurement description + + + + + back_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint across Nape + Full measurement description + + + + + front_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + front_upper-bust_arc + Full measurement name + + + + + front_upper-bust_arc + Full measurement description + + + + + back_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperBust arc + Full measurement name + + + + + Back UpperBust side to side + Full measurement description + + + + + front_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist arc + Full measurement name + + + + + Front Waist side to side + Full measurement description + + + + + back_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist arc + Full measurement name + + + + + Back Waist side to side + Full measurement description + + + + + front_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperHip arc + Full measurement name + + + + + Front UpperHip side to side + Full measurement description + + + + + back_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperHip arc + Full measurement name + + + + + Back UpperHip side to side + Full measurement description + + + + + front_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Hip arc + Full measurement name + + + + + Front Hip side to side + Full measurement description + + + + + back_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Hip arc + Full measurement name + + + + + Back Hip side to side + Full measurement description + + + + + chest_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest Balance + Full measurement name + + + + + NeckPoint to Front ArmfoldPoint + Full measurement description + + + + + back_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Balance + Full measurement name + + + + + NeckPoint to Back ArmfoldPoint + Full measurement description + + + + + front_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist Balance + Full measurement name + + + + + NeckPoint across Front Chest to Waist side + Full measurement description + + + + + back_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist Balance + Full measurement name + + + + + NeckPoint across Back Chest to Waist side + Full measurement description + + + + + front_neck_to_upper_chest_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperChest height + Full measurement name + + + + + Front Neck Center straight down to UpperChest line + Full measurement description + + + + + front_neck_to_bust_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust height + Full measurement name + + + + + Front Neck Center straight down to Bust line + Full measurement description + + + + + armscye_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye Girth + Full measurement name + + + + + Around Armscye + Full measurement description + + + + + elbow_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow Girth + Full measurement name + + + + + Around Elbow with elbow bent + Full measurement description + + + + + upper_arm_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upperarm Girth + Full measurement name + + + + + Around UpperArm + Full measurement description + + + + + wrist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Wrist girth + Full measurement name + + + + + Around Wrist + Full measurement description + + + + + scye_depth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye depth + Full measurement name + + + + + Nape straight down to UnderBust line (same as Back UpperBust height) + Full measurement description + + + + + shoulder_and_arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder and Arm length + Full measurement name + + + + + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + underarm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Underarm length + Full measurement name + + + + + Armpit to Wrist, with arm straight and hanging at side + Full measurement description + + + + + cervicale_to_wrist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to wrist length + Full measurement name + + + + + Nape to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + shoulder_to_elbow_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow length + Full measurement name + + + + + ShoulderTip to Elbow, with elbow bent and hand on hip + Full measurement description + + + + + arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Arm length + Full measurement name + + + + + ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + hand_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand width + Full measurement name + + + + + Hand side to side + Full measurement description + + + + + hand_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand length + Full measurement name + + + + + Hand Middle Finger tip to wrist + Full measurement description + + + + + hand_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand girth + Full measurement name + + + + + Around Hand + Full measurement description + + + + + thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Thigh girth + Full measurement name + + + + + Around Thigh + Full measurement description + + + + + mid_thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Midthigh girth + Full measurement name + + + + + Around MidThigh + Full measurement description + + + + + knee_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee girth + Full measurement name + + + + + Around Knee + Full measurement description + + + + + calf_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Calf girth + Full measurement name + + + + + Around Calf + Full measurement description + + + + + ankle_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle girth + Full measurement name + + + + + Around Ankle + Full measurement description + + + + + knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee height + Full measurement name + + + + + Knee to Floor + Full measurement description + + + + + ankle_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle height + Full measurement name + + + + + Ankle to Floor + Full measurement description + + + + + foot_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot width + Full measurement name + + + + + Widest part of Foot side to side + Full measurement description + + + + + foot_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot length + Full measurement name + + + + + Tip of Longest Toe straight to back of heel + Full measurement description + + + + + height + Short measurement name. Don't use math symbols in name!!!! + + + + + Total Height + Full measurement name + + + + + Top of head to floor + Full measurement description + + + + + cervicale_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape height + Full measurement name + + + + + Nape to Floor + Full measurement description + + + + + cervicale_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to knee height + Full measurement name + + + + + Nape to Knee + Full measurement description + + + + + waist_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist height + Full measurement name + + + + + Waist side to floor + Full measurement description + + + + + high_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip height + Full measurement name + + + + + HighHip side to Floor + Full measurement description + + + + + hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip height + Full measurement name + + + + + Hip side to Floor + Full measurement description + + + + + waist_to_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Hip height + Full measurement name + + + + + Waist side to Hip + Full measurement description + + + + + waist_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Knee height + Full measurement name + + + + + Waist side to Knee + Full measurement description + + + + + crotch_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch height/Inseam + Full measurement name + + + + + Crotch to Floor along inside leg + Full measurement description + + + + + size + Short measurement name. Don't use math symbols in name!!!! + + + + + Size + Full measurement name + + + + + Size + Full measurement description + + + + + height_front_neck_base_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height front neck base point + Full measurement name + + + + + Height of the point base of the neck in front + Full measurement description + + + + + height_base_neck_side_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height base neck side point + Full measurement name + + + + + Height of the base of the neck side point + Full measurement description + + + + + height_shoulder_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height shoulder point + Full measurement name + + + + + The height of the shoulder point + Full measurement description + + + + + height_nipple_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height nipple point + Full measurement name + + + + + Height nipple point + Full measurement description + + + + + height_back_angle_axilla + Short measurement name. Don't use math symbols in name!!!! + + + + + Height back angle axilla + Full measurement name + + + + + Height back angle axilla + Full measurement description + + + + + height_scapular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height scapular point + Full measurement name + + + + + Height scapular point + Full measurement description + + + + + height_under_buttock_folds + Short measurement name. Don't use math symbols in name!!!! + + + + + Height under buttock folds + Full measurement name + + + + + Height under buttock folds + Full measurement description + + + + + hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Hips excluding protruding abdomen + Full measurement name + + + + + Hips excluding protruding abdomen + Full measurement description + + + + + girth_foot_instep + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth foot instep + Full measurement name + + + + + Girth foot instep + Full measurement description + + + + + side_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Side waist to floor + Full measurement name + + + + + The distance from the side waist to floor + Full measurement description + + + + + front_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist to floor + Full measurement name + + + + + The distance from the front waist to floor + Full measurement description + + + + + arc_through_groin_area + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through groin area + Full measurement name + + + + + Arc through groin area + Full measurement description + + + + + waist_to_plane_seat + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to plane seat + Full measurement name + + + + + The distance from the waist to the plane seat + Full measurement description + + + + + neck_to_radial_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to radial point + Full measurement name + + + + + The distance from the base of the neck to the side of the radial point + Full measurement description + + + + + neck_to_third_finger + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to third finger + Full measurement name + + + + + Distance from the base of the neck side point to the end of the third finger + Full measurement description + + + + + neck_to_first_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to first line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the side of the first line in front of chest circumference + Full measurement description + + + + + front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist length + Full measurement name + + + + + The distance from the base of the neck to the waist side front (waist length in the front) + Full measurement description + + + + + arc_through_shoulder_joint + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through shoulder joint + Full measurement name + + + + + Arc through the highest point of the shoulder joint + Full measurement description + + + + + neck_to_back_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to back line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes + Full measurement description + + + + + waist_to_neck_side + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to neck side + Full measurement name + + + + + The distance from the waist to the back base of the neck side point + Full measurement description + + + + + arc_length_upper_body + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc length upper body + Full measurement name + + + + + Arc length of the upper body through the base of the neck side point + Full measurement description + + + + + chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest width + Full measurement name + + + + + Chest width + Full measurement description + + + + + anteroposterior_diameter_hands + Short measurement name. Don't use math symbols in name!!!! + + + + + Anteroposterior diameter hands + Full measurement name + + + + + Anteroposterior diameter of the hands + Full measurement description + + + + + height_clavicular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height clavicular point + Full measurement name + + + + + Height clavicular point + Full measurement description + + + + + height_armhole_slash + Short measurement name. Don't use math symbols in name!!!! + + + + + Height armhole slash + Full measurement name + + + + + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) + Full measurement description + + + + + slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Slash shoulder height + Full measurement name + + + + + Slash shoulder height + Full measurement description + + + + + half_girth_neck + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck + Full measurement name + + + + + Half girth neck + Full measurement description + + + + + half_girth_neck_for_shirts + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck for shirts + Full measurement name + + + + + Half girth neck for shirts + Full measurement description + + + + + half_girth_chest_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest first + Full measurement name + + + + + Half girth chest first + Full measurement description + + + + + half_girth_chest_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest second + Full measurement name + + + + + Half girth chest second + Full measurement description + + + + + half_girth_chest_third + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest third + Full measurement name + + + + + Half girth chest third + Full measurement description + + + + + half_girth_waist + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth waist + Full measurement name + + + + + Half girth waist + Full measurement description + + + + + half_girth_hips_considering_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips considering protruding abdomen + Full measurement name + + + + + Half girth hips considering protruding abdomen + Full measurement description + + + + + half_girth_hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips excluding protruding abdomen + Full measurement name + + + + + Half girth hips excluding protruding abdomen + Full measurement description + + + + + girth_knee_flexed_feet + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth knee flexed feet + Full measurement name + + + + + Girth knee flexed feet + Full measurement description + + + + + neck_transverse_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck transverse diameter + Full measurement name + + + + + Neck transverse diameter + Full measurement description + + + + + front_slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front slash shoulder height + Full measurement name + + + + + Front slash shoulder height + Full measurement description + + + + + neck_to_front_waist_line + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to front waist line + Full measurement name + + + + + The distance from the base of the neck to the waist line front + Full measurement description + + + + + hand_vertical_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand vertical diameter + Full measurement name + + + + + Hand vertical diameter + Full measurement description + + + + + neck_to_knee_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to knee point + Full measurement name + + + + + Distance from neck to knee point + Full measurement description + + + + + waist_to_knee + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to knee + Full measurement name + + + + + The distance from the waist to the knee + Full measurement description + + + + + shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder height + Full measurement name + + + + + Shoulder height + Full measurement description + + + + + head_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Head height + Full measurement name + + + + + Head height + Full measurement description + + + + + body_position + Short measurement name. Don't use math symbols in name!!!! + + + + + Body position + Full measurement name + + + + + Body position + Full measurement description + + + + + arc_behind_shoulder_girdle + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc behind shoulder girdle + Full measurement name + + + + + Arc behind the shoulder girdle + Full measurement description + + + + + neck_to_neck_base + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to neck base + Full measurement name + + + + + Distance from neck point to point on the base of the neck side neck girth measurement line + Full measurement description + + + + + depth_waist_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist first + Full measurement name + + + + + Depth waist first + Full measurement description + + + + + depth_waist_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist second + Full measurement name + + + + + Depth waist second + Full measurement description + + + + + PatternPage + + + User + + + + + User name + + + + + Graphical output + + + + + Use antialiasing + + + + + Undone + + + + + Count steps + + + + + PostfixOperators + + + cm + centimeter + + + + + mm + millimeter + + + + + in + inch + + + + + QObject + + + Create new pattern piece to start working. + + + + + TableWindow + + + Create a layout + + + + + toolBar + + + + + Save + + + + + + Save layout + + + + + Next + + + + + Next detail + + + + + Turn + + + + + Turn the detail 90 degrees + + + + + Stop + + + + + Stop laying + + + + + Enlarge letter + + + + + Enlarge the length of the sheet + + + + + Reduce sheet + + + + + Reduce the length of the sheet + + + + + + Mirroring + + + + + + Zoom In + + + + + + Zoom Out + + + + + 0 details left. + + + + + + Collisions not found. + + + + + %1 details left. + + + + + untitled + + + + + Svg files (*.svg) + + + + + PDF files (*.pdf) + + + + + Images (*.png) + + + + + PS files (*.ps) + + + + + EPS files (*.eps) + + + + + Collisions found. + + + + + Creating file '%1' failed! %2 + + + + + Critical error! + + + + + VAbstractNode + + + Can't find tag Modeling + + + + + VAbstractTool + + + Confirm the deletion. + + + + + Do you really want delete? + + + + + VApplication + + + Error parsing file. Program will be terminated. + + + + + Error bad id. Program will be terminated. + + + + + Error can't convert value. Program will be terminated. + + + + + Error empty parameter. Program will be terminated. + + + + + Error wrong id. Program will be terminated. + + + + + Something's wrong!! + + + + + VContainer + + + + + Can't find object + + + + + Can't cast object + + + + + VDomDocument + + + Can't convert toUInt parameter + + + + + Got empty parameter + + + + + Can't convert toDouble parameter + + + + + + Can't open file %1: +%2. + + + + + Can't open schema file %1: +%2. + + + + + Validation error in line %1 column %2 + + + + + Parcing error in line %1 column %2 + + + + + VDrawTool + + + Can not find the element after which you want to insert. + + + + + Can't find tag Calculation + + + + + Options + + + + + Delete + + + + + VException + + + Critical error! + + + + + VPattern + + + Can't find tool id = %1 in table. + + + + + Error no unique id. + + + + + Error! + + + + + Error parsing file. + + + + + Error creating or updating detail + + + + + Error creating or updating single point + + + + + + Error creating or updating point of end line + + + + + + Error creating or updating point along line + + + + + + Error creating or updating point of shoulder + + + + + + Error creating or updating point of normal + + + + + + Error creating or updating point of bisector + + + + + Error creating or updating point of lineintersection + + + + + + Error creating or updating point of contact + + + + + Error creating or updating modeling point + + + + + Error creating or updating height + + + + + Error creating or updating triangle + + + + + Error creating or updating point of intersection + + + + + + Error creating or updating cut spline point + + + + + + Error creating or updating cut spline path point + + + + + + Error creating or updating cut arc point + + + + + Error creating or updating line + + + + + Error creating or updating simple curve + + + + + Error creating or updating curve path + + + + + Error creating or updating modeling simple curve + + + + + Error creating or updating modeling curve path + + + + + + Error creating or updating simple arc + + + + + Error creating or updating modeling arc + + + + + Error creating or updating union details + + + + + Got wrong parameter id. Need only id > 0. + + + + + This id is not unique. + + + + + VSplinePath + + + Not enough points to create the spline. + + + + + + + This spline does not exist. + + + + + Can't cut spline path with one point + + + + + VTableGraphicsView + + + can't find detail + + + + + detail found + + + + + VToolDetail + + + Options + + + + + Delete + + + + + VToolUnionDetails + + + Can't find tag Modeling + + + + + Variables + + + Line_ + Left symbol _ in name + + + + + AngleLine_ + Left symbol _ in name + + + + + Arc_ + Left symbol _ in name + + + + + Spl_ + Left symbol _ in name + + + + + SplPath + + + + diff --git a/src/app/share/translations/valentina_nl.ts b/src/app/share/translations/valentina_nl.ts new file mode 100644 index 000000000..95fe6160a --- /dev/null +++ b/src/app/share/translations/valentina_nl.ts @@ -0,0 +1,5990 @@ + + + + + ConfigDialog + + + Apply + + + + + &Cancel + + + + + &Ok + + + + + Config Dialog + + + + + Configuration + + + + + Pattern + + + + + ConfigurationPage + + + Setup user interface language updated and will be used the next time start + + + + + Save + + + + + Auto-save modified pattern + + + + + Interval: + + + + + min + + + + + Language + + + + + GUI language + + + + + Decimal separator parts + + + + + With OS options (.) + + + + + DialogAboutApp + + + About Valentina + + + + + Valentina version + + + + + pushButton_Web_Site + + + + + Contributors + + + + + label_QT_Version + + + + + Based on Qt %2 (32 bit) + + + + + Built on %3 at %4 + + + + + Web site : %1 + + + + + Warning + + + + + Cannot open your default browser + + + + + DialogAlongLine + + + Point along line + + + + + Length + + + + + Formula for the calculation of length of line + + + + + Insert variable into the formula + + + + + + ... + + + + + Calculate value + + + + + Value of length + + + + + _ + + + + + Point label + + + + + First point + + + + + First point of line + + + + + Second point + + + + + Second point of line + + + + + Type of line + + + + + Show line from first point to this point + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Variables - Click twice to insert into formula + + + + + Select second point of line + + + + + DialogArc + + + Arc + + + + + Radius + + + + + Formula for the calculation of radius of arc + + + + + Insert variable into the formula + + + + + + + + + + ... + + + + + + + Calculate value + + + + + Value of radius + + + + + + + _ + + + + + First angle degree + + + + + First angle of arc counterclockwise + + + + + Insert variable into formula + + + + + Value of first angle + + + + + Second angle degree + + + + + Second angle of arc counterclockwise + + + + + Insert marked variable into formula + + + + + Value of second angle + + + + + Center point + + + + + Select point of center of arc + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Angle of lines + + + + + Variables + + + + + Value of angle of line. + + + + + DialogBisector + + + Bisector + + + + + Length + + + + + Calculation of length of bisector by using the formula + + + + + Insert marked variable into the formula + + + + + + ... + + + + + Calculate value + + + + + Value of length + + + + + _ + + + + + Point label + + + + + First point + + + + + First point of angle + + + + + Second point + + + + + Second point of angle + + + + + Third point + + + + + Third point of angle + + + + + Type of line + + + + + Show line from second point to this point + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Variables - Click twice to insert into formula + + + + + Select second point of angle + + + + + Select third point of angle + + + + + DialogCutArc + + + Dialog + + + + + Length + + + + + Formula for the calculation of the spline + + + + + + ... + + + + + Calculate value + + + + + Value of length + + + + + _ + + + + + Arc + + + + + Selected curve + + + + + Point label + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Variables - Click twice to insert into formula + + + + + DialogCutSpline + + + Dialog + + + + + Length + + + + + Formula for the calculation of the spline + + + + + + ... + + + + + Calculate value + + + + + Value of length + + + + + _ + + + + + Curve + + + + + Selected curve + + + + + Point label + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Variables - Click twice to insert into formula + + + + + DialogCutSplinePath + + + Dialog + + + + + Length + + + + + Formula for the calculation of the curve length + + + + + + ... + + + + + Calculate value + + + + + Value of length + + + + + _ + + + + + Curve + + + + + Selected curve path + + + + + Point label + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Variables - Click twice to insert into formula + + + + + DialogDetail + + + + Detail + + + + + Bias X + + + + + Bias Y + + + + + Options + + + + + Name of detail + + + + + Seam allowance + + + + + Width + + + + + Closed + + + + + Delete + + + + + Got wrong scene object. Ignore. + + + + + DialogEndLine + + + Point in the end of a line + + + + + Length + + + + + Formula for calculation of length of line + + + + + + + + + + + + + + ... + + + + + Calculate value + + + + + Value of length + + + + + _ + + + + + Base point + + + + + First point of line + + + + + Point label + + + + + Degree of angle + + + + + Angle of line + + + + + Type of line + + + + + Show line from first point to this point + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Variables - Click twice to insert into formula + + + + + DialogHeight + + + Dialog + + + + + Point label + + + + + Base point + + + + + + + + First point of line + + + + + Second point of line + + + + + Type of line + + + + + Show line from first point to our point + + + + + Select first point of line + + + + + Select second point of line + + + + + DialogHistory + + + History + + + + + + Tool + + + + + + + + Can't create record. + + + + + %1 - Base point + + + + + + %1_%2 - Line from point %1 to point %2 + + + + + %3 - Point along line %1_%2 + + + + + %1 - Point of shoulder + + + + + %3 - normal to line %1_%2 + + + + + %4 - bisector of angle %1_%2_%3 + + + + + %5 - intersection of lines %1_%2 and %3_%4 + + + + + Curve %1_%2 + + + + + Arc with center in point %1 + + + + + Curve point %1 + + + + + %4 - point of contact of arc with the center in point %1 and line %2_%3 + + + + + Point of perpendicular from point %1 to line %2_%3 + + + + + Triangle: axis %1_%2, points %3 and %4 + + + + + %1 - point of intersection %2 and %3 + + + + + %1 - cut arc with center %2 + + + + + %1 - cut curve %2_%3 + + + + + %1 - cut curve path %2 + + + + + DialogIncrements + + + + Increments + + + + + + Name + + + + + + The calculated value + + + + + + Base value + + + + + + In sizes + + + + + + + Description + + + + + + + ... + + + + + + Measurements + + + + + Load another measurements table + + + + + Personal information + + + + + Given name + + + + + Family name + + + + + Birth date + + + + + yyyy-MM-dd + + + + + Sex + + + + + Mail + + + + + + In heights + + + + + Lines + + + + + Line + + + + + + + Length + + + + + Curves + + + + + Curve + + + + + Arcs + + + + + Arc + + + + + + + File error. + + + + + male + + + + + female + + + + + Measurements use different units than pattern. This pattern required measurements in %1 + + + + + Individual measurements (*.vit) + + + + + + Open file + + + + + + Wrong units. + + + + + Standard measurements (*.vst) + + + + + Name_%1 + + + + + DialogIndividualMeasurements + + + Dialog + + + + + Pattern piece name + + + + + Exist measurements + + + + + + Path: + + + + + + ... + + + + + New measurements + + + + + Units: + + + + + Could not create measurements file + + + + + Please try again or change file + + + + + + File error. + + + + + + Individual measurements (*.vit) + + + + + Open file + + + + + Where save measurements? + + + + + centimeter + + + + + inch + + + + + DialogLine + + + Line + + + + + First point + + + + + Second point + + + + + Type of line + + + + + Show line from first point to this point + + + + + Select second point + + + + + DialogLineIntersect + + + Intersection of lines + + + + + Point label + + + + + First line + + + + + + First point + + + + + + Second point + + + + + Second line + + + + + Select second point of first line + + + + + Select first point of second line + + + + + Select second point of second line + + + + + DialogMeasurements + + + Measurements + + + + + <html><head/><body><p><span style=" font-size:18pt;">Please, choose pattern type.</span></p></body></html> + + + + + Graduation + + + + + Use for creation pattern standard measurement table + + + + + Individual + + + + + Use for creation pattern individual measurements + + + + + DialogNormal + + + Normal + + + + + Length + + + + + Formula for calculation of length of normal + + + + + Insert variable into formula + + + + + + + + + + + + + + ... + + + + + Calculate value + + + + + Value of length + + + + + _ + + + + + Point label + + + + + First point + + + + + Second point + + + + + Additional angle degrees + + + + + Type of line + + + + + Show line from first point to this point + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Variables - Click twice to insert into formula + + + + + Select second point of line + + + + + DialogPatternProperties + + + Pattern properties + + + + + Author name + + + + + Pattern description + + + + + For technical notes. + + + + + DialogPointOfContact + + + Point of contact + + + + + Radius + + + + + Formula for calculation of radius of arc + + + + + Insert variable into formula + + + + + + ... + + + + + Calculate value + + + + + Value of radius + + + + + _ + + + + + Point label + + + + + Center of arc + + + + + + Select point of center of arc + + + + + Top of the line + + + + + End of the line + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + Length of lines + + + + + Length of arcs + + + + + Length of curves + + + + + Variables - Click twice to insert into formula. + + + + + Select second point of line + + + + + DialogPointOfIntersection + + + Dialog + + + + + Point label + + + + + vertical point + + + + + First point of angle + + + + + horizontal point + + + + + Second point of angle + + + + + Select point horizontally + + + + + DialogShoulderPoint + + + + Point of shoulder + + + + + Length + + + + + Formula for calculation of length of line + + + + + Insert variable into formula + + + + + + ... + + + + + Calculate value + + + + + Value of length + + + + + _ + + + + + Point label + + + + + First point + + + + + Second point + + + + + Type of line + + + + + Show line from first point to our point + + + + + Input data + + + + + Size and height + + + + + Standard table + + + + + Increments + + + + + + Length of lines + + + + + Length of curves + + + + + Variables - Click twice to insert into formula + + + + + Select second point of line + + + + + Select point of shoulder + + + + + DialogSinglePoint + + + Single point + + + + + Coordinates on the sheet + + + + + Coordinates + + + + + Y coordinate + + + + + X coordinate + + + + + Point label + + + + + DialogSpline + + + Curve + + + + + First point + + + + + Length ratio of the first control point + + + + + The angle of the first control point + + + + + Second point + + + + + Length ratio of the second control point + + + + + The angle of the second control point + + + + + Coefficient of curvature of the curve + + + + + Select last point of curve + + + + + DialogSplinePath + + + Curve path + + + + + Point of curve + + + + + Length ratio of the first control point + + + + + The angle of the first control point + + + + + Length ratio of the second control point + + + + + The angle of the second control point + + + + + List of points + + + + + Coefficient of curvature of the curve + + + + + Select point of curve path + + + + + DialogStandardMeasurements + + + Standard table + + + + + Pattern piece name + + + + + Standard measurements table + + + + + File error. + + + + + DialogTool + + + Line + + + + + No line + + + + + Dash Line + + + + + Dot Line + + + + + Dash Dot Line + + + + + Dash Dot Dot Line + + + + + Error + + + + + Height + + + + + Size + + + + + Line length + + + + + Arc length + + + + + Curve length + + + + + DialogTriangle + + + Dialog + + + + + Point label + + + + + First point of axis + + + + + + + + First point of line + + + + + Second point of axis + + + + + First point + + + + + Second point + + + + + Select second point of axis + + + + + Select first point + + + + + Select second point + + + + + DialogUnionDetails + + + Dialog + + + + + Do you really want union details? This operation can't be undone. + + + + + Select first point + + + + + Select second point + + + + + + Select another second point + + + + + Select detail + + + + + Functions + + + sin + sine function + + + + + cos + cosine function + + + + + tan + tangens function + + + + + asin + arcus sine function + + + + + acos + arcus cosine function + + + + + atan + arcus tangens function + + + + + sinh + hyperbolic sine function + + + + + cosh + hyperbolic cosine + + + + + tanh + hyperbolic tangens function + + + + + asinh + hyperbolic arcus sine function + + + + + acosh + hyperbolic arcus tangens function + + + + + atanh + hyperbolic arcur tangens function + + + + + log2 + logarithm to the base 2 + + + + + log10 + logarithm to the base 10 + + + + + log + logarithm to the base 10 + + + + + ln + logarithm to base e (2.71828...) + + + + + exp + e raised to the power of x + + + + + sqrt + square root of a value + + + + + sign + sign function -1 if x<0; 1 if x>0 + + + + + rint + round to nearest integer + + + + + abs + absolute value + + + + + min + min of all arguments + + + + + max + max of all arguments + + + + + sum + sum of all arguments + + + + + avg + mean value of all arguments + + + + + MainWindow + + + Valentina + + + + + Tools for creating points. + + + + + Point + + + + + + + + + + + + + + + + + + + + + + + ... + + + + + Tool triangle. + + + + + Tools for creating lines. + + + + + Line + + + + + Tools for creating curves. + + + + + Curve + + + + + Curve tool. + + + + + Tool for path curve. + + + + + Tool segment a pathed curve. + + + + + Tool for segmenting a curve. + + + + + Tools for creating arcs. + + + + + Arc + + + + + Arc tool. + + + + + Tools for creating details. + + + + + Detail + + + + + Tool new detail. + + + + + toolBar + + + + + toolBar_2 + + + + + toolBar_3 + + + + + New + + + + + Create a new pattern + + + + + Ctrl+N + + + + + Open + + + + + Open file with pattern + + + + + Save + + + + + Save pattern + + + + + Ctrl+S + + + + + Save as + + + + + Point at distance and angle + + + + + Special point on shoulder. + + + + + Point at intersection of arc and line. + + + + + Point along bisector + + + + + Point along perpendicular + + + + + Point at distance along line + + + + + Perpendicular point along line + + + + + Line between points + + + + + Point at line intersection + + + + + &File + + + + + &Help + + + + + &Pattern piece + + + + + &New + + + + + &Open + + + + + &Save + + + + + Save &As... + + + + + Save not yet saved pattern + + + + + Ctrl+Shift+S + + + + + Draw + + + + + Draw mode + + + + + Ctrl+W + + + + + Details + + + + + Details mode + + + + + Ctrl+E + + + + + + Pointer tools + + + + + New pattern piece + + + + + Add new pattern piece + + + + + Ctrl+Shift+N + + + + + + Change the label of pattern piece + + + + + Table of variables + + + + + Tables of variables + + + + + Ctrl+T + + + + + History + + + + + Ctrl+H + + + + + Layout + + + + + Create layout + + + + + Ctrl+L + + + + + About &Qt + + + + + &About Valentina + + + + + E&xit + + + + + Exit the application + + + + + Options... + + + + + Pattern properties + + + + + About Qt + + + + + Ctrl+Q + + + + + Pattern piece %1 + + + + + + /pattern.val + + + + + File saved + + + + + untitled.val + + + + + Unsaved change + + + + + The pattern has been modified. +Do you want to save your changes? + + + + + Pattern piece: + + + + + Enter a new label for the pattern piece. + + + + + Error saving change!!! + + + + + Can't save new label of pattern piece + + + + + + Select point + + + + + Select first point + + + + + + + Select first point of line + + + + + Select first point of angle + + + + + Select first point of first line + + + + + Select first point curve + + + + + Select simple curve + + + + + Select point of center of arc + + + + + Select point of curve path + + + + + Select curve path + + + + + Select points, arcs, curves clockwise. + + + + + Select base point + + + + + Select first point of axis + + + + + Select point vertically + + + + + Select detail + + + + + Select arc + + + + + Measurements use different units than pattern. This pattern required measurements in %1 + + + + + + Wrong units. + + + + + File error. + + + + + File loaded + + + + + The measurements file <br/><br/> <b>%1</b> <br/><br/> %3 + + + + + could not be found. Do you want to update the file location + + + + + Standard measurements (*.vst) + + + + + Individual measurements (*.vit) + + + + + Height: + + + + + Size: + + + + + Pattern Piece: + + + + + + Pattern files (*.val) + + + + + + Open file + + + + + + Error parsing file. + + + + + Error can't convert value. + + + + + Error empty parameter. + + + + + Error wrong id. + + + + + Measurements + + + head_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Head girth + Full measurement name + + + + + Around fullest part of Head + Full measurement description + + + + + mid_neck_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Mid-neck girth + Full measurement name + + + + + Around middle part of Neck + Full measurement description + + + + + neck_base_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck Base girth + Full measurement name + + + + + Around Neck at base + Full measurement description + + + + + head_and_neck_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Head and Neck length + Full measurement name + + + + + Vertical Distance from Crown to Nape + Full measurement description + + + + + center_front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Center length + Full measurement name + + + + + Front Neck Center over tape at Bustline to Front Waist Center + Full measurement description + + + + + center_back_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Center length + Full measurement name + + + + + Back Neck Center to Back Waist Center + Full measurement description + + + + + shoulder_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder length + Full measurement name + + + + + NeckPoint to ShoulderTip + Full measurement description + + + + + side_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Side Waist length + Full measurement name + + + + + Armpit to Waist side + Full measurement description + + + + + trunk_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Trunk length + Full measurement name + + + + + Around Body from middle of Shoulder length to BustPoint to Crotch up back to beginning point + Full measurement description + + + + + shoulder_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder girth + Full measurement name + + + + + Around Arms and Torso, at bicep level parallel to floor, with arms hanging at the sides + Full measurement description + + + + + upper_chest_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upper Chest girth + Full measurement name + + + + + Around Chest at Armfold level, will be parallel to floor across back, will not be parallel to floor across front chest + Full measurement description + + + + + bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust girth + Full measurement name + + + + + Around fullest part of Bust, parallel to floor + Full measurement description + + + + + under_bust_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Under Bust girth + Full measurement name + + + + + Around Chest below the Bust, parallel to floor + Full measurement description + + + + + waist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist girth + Full measurement name + + + + + Tie a string around smallest part of waist, keep string tied while taking meaasurements. Not usually parallel to floor for front waist or back waist. + Full measurement description + + + + + high_hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip girth + Full measurement name + + + + + Around HighHip, parallel to floor + Full measurement description + + + + + hip_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip girth + Full measurement name + + + + + Around Hip, parallel to floor + Full measurement description + + + + + upper_front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Upper Chest width + Full measurement name + + + + + Across Front UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + front_chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Chest width + Full measurement name + + + + + Across Front Chest, from armfold to armfold + Full measurement description + + + + + across_front_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Front + Full measurement description + + + + + + across_back_shoulder_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Across Shoulder width + Full measurement name + + + + + From ShoulderTip to ShoulderTip, across Back + Full measurement description + + + + + + Back Upper Chest width + Full measurement name + + + + + + Across Back UpperChest, smallest width from armscye to armscye + Full measurement description + + + + + upper_back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + back_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Chest width + Full measurement name + + + + + Across Back Chest, from armfold to armfold + Full measurement description + + + + + bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + BustPoint to BustPoint + Full measurement name + + + + + Distance between BustPoints, across Chest + Full measurement description + + + + + halter_bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + Halter Bustpoint to Bustpoint + Full measurement name + + + + + Distance from Bustpoint, behind neck, down to Bustpoint + Full measurement description + + + + + neck_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + + + + + NeckPoint to BustPoint + Full measurement name + + + + + From NeckPoint to BustPoint + Full measurement description + + + + + crotch_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch length + Full measurement name + + + + + From Front Waist Center, down to crotch, up to Back Waist Center + Full measurement description + + + + + rise_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Rise height + Full measurement name + + + + + Sit on hard chair, measure from side waist straight down to chair bottom + Full measurement description + + + + + shoulder_drop + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Drop + Full measurement name + + + + + Vertical Distance from NeckPoint level to ShoulderTip level + Full measurement description + + + + + shoulder_slope_degrees + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder Slope degrees + Full measurement name + + + + + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer + Full measurement description + + + + + front_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Shoulder Balance + Full measurement name + + + + + ShoulderTip to Front Waist Center + Full measurement description + + + + + back_shoulder_slope_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Shoulder Balance + Full measurement name + + + + + ShoulderTip to Back Waist Center + Full measurement description + + + + + front_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Full Length + Full measurement name + + + + + NeckPoint straight down front chest to Waistline + Full measurement description + + + + + back_shoulder_to_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Full Length + Full measurement name + + + + + Back NeckPoint straight down back chest to Waistline + Full measurement description + + + + + front_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint through Front Neck Center + Full measurement description + + + + + back_neck_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Neck arc + Full measurement name + + + + + NeckPoint to NeckPoint across Nape + Full measurement description + + + + + front_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + front_upper-bust_arc + Full measurement name + + + + + front_upper-bust_arc + Full measurement description + + + + + back_upper_chest_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperBust arc + Full measurement name + + + + + Back UpperBust side to side + Full measurement description + + + + + front_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist arc + Full measurement name + + + + + Front Waist side to side + Full measurement description + + + + + back_waist_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist arc + Full measurement name + + + + + Back Waist side to side + Full measurement description + + + + + front_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperHip arc + Full measurement name + + + + + Front UpperHip side to side + Full measurement description + + + + + back_upper_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back UpperHip arc + Full measurement name + + + + + Back UpperHip side to side + Full measurement description + + + + + front_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Hip arc + Full measurement name + + + + + Front Hip side to side + Full measurement description + + + + + back_hip_arc + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Hip arc + Full measurement name + + + + + Back Hip side to side + Full measurement description + + + + + chest_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest Balance + Full measurement name + + + + + NeckPoint to Front ArmfoldPoint + Full measurement description + + + + + back_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Balance + Full measurement name + + + + + NeckPoint to Back ArmfoldPoint + Full measurement description + + + + + front_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Front Waist Balance + Full measurement name + + + + + NeckPoint across Front Chest to Waist side + Full measurement description + + + + + back_waist_slope + Short measurement name. Don't use math symbols in name!!!! + + + + + Back Waist Balance + Full measurement name + + + + + NeckPoint across Back Chest to Waist side + Full measurement description + + + + + front_neck_to_upper_chest_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front UpperChest height + Full measurement name + + + + + Front Neck Center straight down to UpperChest line + Full measurement description + + + + + front_neck_to_bust_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Bust height + Full measurement name + + + + + Front Neck Center straight down to Bust line + Full measurement description + + + + + armscye_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye Girth + Full measurement name + + + + + Around Armscye + Full measurement description + + + + + elbow_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow Girth + Full measurement name + + + + + Around Elbow with elbow bent + Full measurement description + + + + + upper_arm_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Upperarm Girth + Full measurement name + + + + + Around UpperArm + Full measurement description + + + + + wrist_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Wrist girth + Full measurement name + + + + + Around Wrist + Full measurement description + + + + + scye_depth + Short measurement name. Don't use math symbols in name!!!! + + + + + Armscye depth + Full measurement name + + + + + Nape straight down to UnderBust line (same as Back UpperBust height) + Full measurement description + + + + + shoulder_and_arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder and Arm length + Full measurement name + + + + + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + underarm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Underarm length + Full measurement name + + + + + Armpit to Wrist, with arm straight and hanging at side + Full measurement description + + + + + cervicale_to_wrist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to wrist length + Full measurement name + + + + + Nape to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + shoulder_to_elbow_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Elbow length + Full measurement name + + + + + ShoulderTip to Elbow, with elbow bent and hand on hip + Full measurement description + + + + + arm_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Arm length + Full measurement name + + + + + ShoulderTip to Wrist, with elbow bent and hand on hip + Full measurement description + + + + + hand_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand width + Full measurement name + + + + + Hand side to side + Full measurement description + + + + + hand_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand length + Full measurement name + + + + + Hand Middle Finger tip to wrist + Full measurement description + + + + + hand_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand girth + Full measurement name + + + + + Around Hand + Full measurement description + + + + + thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Thigh girth + Full measurement name + + + + + Around Thigh + Full measurement description + + + + + mid_thigh_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Midthigh girth + Full measurement name + + + + + Around MidThigh + Full measurement description + + + + + knee_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee girth + Full measurement name + + + + + Around Knee + Full measurement description + + + + + calf_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Calf girth + Full measurement name + + + + + Around Calf + Full measurement description + + + + + ankle_girth + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle girth + Full measurement name + + + + + Around Ankle + Full measurement description + + + + + knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Knee height + Full measurement name + + + + + Knee to Floor + Full measurement description + + + + + ankle_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Ankle height + Full measurement name + + + + + Ankle to Floor + Full measurement description + + + + + foot_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot width + Full measurement name + + + + + Widest part of Foot side to side + Full measurement description + + + + + foot_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Foot length + Full measurement name + + + + + Tip of Longest Toe straight to back of heel + Full measurement description + + + + + height + Short measurement name. Don't use math symbols in name!!!! + + + + + Total Height + Full measurement name + + + + + Top of head to floor + Full measurement description + + + + + cervicale_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape height + Full measurement name + + + + + Nape to Floor + Full measurement description + + + + + cervicale_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Nape to knee height + Full measurement name + + + + + Nape to Knee + Full measurement description + + + + + waist_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist height + Full measurement name + + + + + Waist side to floor + Full measurement description + + + + + high_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + HighHip height + Full measurement name + + + + + HighHip side to Floor + Full measurement description + + + + + hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Hip height + Full measurement name + + + + + Hip side to Floor + Full measurement description + + + + + waist_to_hip_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Hip height + Full measurement name + + + + + Waist side to Hip + Full measurement description + + + + + waist_to_knee_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to Knee height + Full measurement name + + + + + Waist side to Knee + Full measurement description + + + + + crotch_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Crotch height/Inseam + Full measurement name + + + + + Crotch to Floor along inside leg + Full measurement description + + + + + size + Short measurement name. Don't use math symbols in name!!!! + + + + + Size + Full measurement name + + + + + Size + Full measurement description + + + + + height_front_neck_base_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height front neck base point + Full measurement name + + + + + Height of the point base of the neck in front + Full measurement description + + + + + height_base_neck_side_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height base neck side point + Full measurement name + + + + + Height of the base of the neck side point + Full measurement description + + + + + height_shoulder_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height shoulder point + Full measurement name + + + + + The height of the shoulder point + Full measurement description + + + + + height_nipple_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height nipple point + Full measurement name + + + + + Height nipple point + Full measurement description + + + + + height_back_angle_axilla + Short measurement name. Don't use math symbols in name!!!! + + + + + Height back angle axilla + Full measurement name + + + + + Height back angle axilla + Full measurement description + + + + + height_scapular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height scapular point + Full measurement name + + + + + Height scapular point + Full measurement description + + + + + height_under_buttock_folds + Short measurement name. Don't use math symbols in name!!!! + + + + + Height under buttock folds + Full measurement name + + + + + Height under buttock folds + Full measurement description + + + + + hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Hips excluding protruding abdomen + Full measurement name + + + + + Hips excluding protruding abdomen + Full measurement description + + + + + girth_foot_instep + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth foot instep + Full measurement name + + + + + Girth foot instep + Full measurement description + + + + + side_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Side waist to floor + Full measurement name + + + + + The distance from the side waist to floor + Full measurement description + + + + + front_waist_to_floor + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist to floor + Full measurement name + + + + + The distance from the front waist to floor + Full measurement description + + + + + arc_through_groin_area + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through groin area + Full measurement name + + + + + Arc through groin area + Full measurement description + + + + + waist_to_plane_seat + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to plane seat + Full measurement name + + + + + The distance from the waist to the plane seat + Full measurement description + + + + + neck_to_radial_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to radial point + Full measurement name + + + + + The distance from the base of the neck to the side of the radial point + Full measurement description + + + + + neck_to_third_finger + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to third finger + Full measurement name + + + + + Distance from the base of the neck side point to the end of the third finger + Full measurement description + + + + + neck_to_first_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to first line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the side of the first line in front of chest circumference + Full measurement description + + + + + front_waist_length + Short measurement name. Don't use math symbols in name!!!! + + + + + Front waist length + Full measurement name + + + + + The distance from the base of the neck to the waist side front (waist length in the front) + Full measurement description + + + + + arc_through_shoulder_joint + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc through shoulder joint + Full measurement name + + + + + Arc through the highest point of the shoulder joint + Full measurement description + + + + + neck_to_back_line_chest_circumference + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to back line chest circumference + Full measurement name + + + + + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes + Full measurement description + + + + + waist_to_neck_side + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to neck side + Full measurement name + + + + + The distance from the waist to the back base of the neck side point + Full measurement description + + + + + arc_length_upper_body + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc length upper body + Full measurement name + + + + + Arc length of the upper body through the base of the neck side point + Full measurement description + + + + + chest_width + Short measurement name. Don't use math symbols in name!!!! + + + + + Chest width + Full measurement name + + + + + Chest width + Full measurement description + + + + + anteroposterior_diameter_hands + Short measurement name. Don't use math symbols in name!!!! + + + + + Anteroposterior diameter hands + Full measurement name + + + + + Anteroposterior diameter of the hands + Full measurement description + + + + + height_clavicular_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Height clavicular point + Full measurement name + + + + + Height clavicular point + Full measurement description + + + + + height_armhole_slash + Short measurement name. Don't use math symbols in name!!!! + + + + + Height armhole slash + Full measurement name + + + + + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) + Full measurement description + + + + + slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Slash shoulder height + Full measurement name + + + + + Slash shoulder height + Full measurement description + + + + + half_girth_neck + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck + Full measurement name + + + + + Half girth neck + Full measurement description + + + + + half_girth_neck_for_shirts + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth neck for shirts + Full measurement name + + + + + Half girth neck for shirts + Full measurement description + + + + + half_girth_chest_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest first + Full measurement name + + + + + Half girth chest first + Full measurement description + + + + + half_girth_chest_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest second + Full measurement name + + + + + Half girth chest second + Full measurement description + + + + + half_girth_chest_third + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth chest third + Full measurement name + + + + + Half girth chest third + Full measurement description + + + + + half_girth_waist + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth waist + Full measurement name + + + + + Half girth waist + Full measurement description + + + + + half_girth_hips_considering_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips considering protruding abdomen + Full measurement name + + + + + Half girth hips considering protruding abdomen + Full measurement description + + + + + half_girth_hips_excluding_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + + + + + Half girth hips excluding protruding abdomen + Full measurement name + + + + + Half girth hips excluding protruding abdomen + Full measurement description + + + + + girth_knee_flexed_feet + Short measurement name. Don't use math symbols in name!!!! + + + + + Girth knee flexed feet + Full measurement name + + + + + Girth knee flexed feet + Full measurement description + + + + + neck_transverse_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck transverse diameter + Full measurement name + + + + + Neck transverse diameter + Full measurement description + + + + + front_slash_shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Front slash shoulder height + Full measurement name + + + + + Front slash shoulder height + Full measurement description + + + + + neck_to_front_waist_line + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to front waist line + Full measurement name + + + + + The distance from the base of the neck to the waist line front + Full measurement description + + + + + hand_vertical_diameter + Short measurement name. Don't use math symbols in name!!!! + + + + + Hand vertical diameter + Full measurement name + + + + + Hand vertical diameter + Full measurement description + + + + + neck_to_knee_point + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to knee point + Full measurement name + + + + + Distance from neck to knee point + Full measurement description + + + + + waist_to_knee + Short measurement name. Don't use math symbols in name!!!! + + + + + Waist to knee + Full measurement name + + + + + The distance from the waist to the knee + Full measurement description + + + + + shoulder_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Shoulder height + Full measurement name + + + + + Shoulder height + Full measurement description + + + + + head_height + Short measurement name. Don't use math symbols in name!!!! + + + + + Head height + Full measurement name + + + + + Head height + Full measurement description + + + + + body_position + Short measurement name. Don't use math symbols in name!!!! + + + + + Body position + Full measurement name + + + + + Body position + Full measurement description + + + + + arc_behind_shoulder_girdle + Short measurement name. Don't use math symbols in name!!!! + + + + + Arc behind shoulder girdle + Full measurement name + + + + + Arc behind the shoulder girdle + Full measurement description + + + + + neck_to_neck_base + Short measurement name. Don't use math symbols in name!!!! + + + + + Neck to neck base + Full measurement name + + + + + Distance from neck point to point on the base of the neck side neck girth measurement line + Full measurement description + + + + + depth_waist_first + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist first + Full measurement name + + + + + Depth waist first + Full measurement description + + + + + depth_waist_second + Short measurement name. Don't use math symbols in name!!!! + + + + + Depth waist second + Full measurement name + + + + + Depth waist second + Full measurement description + + + + + PatternPage + + + User + + + + + User name + + + + + Graphical output + + + + + Use antialiasing + + + + + Undone + + + + + Count steps + + + + + PostfixOperators + + + cm + centimeter + + + + + mm + millimeter + + + + + in + inch + + + + + QObject + + + Create new pattern piece to start working. + + + + + TableWindow + + + Create a layout + + + + + toolBar + + + + + Save + + + + + + Save layout + + + + + Next + + + + + Next detail + + + + + Turn + + + + + Turn the detail 90 degrees + + + + + Stop + + + + + Stop laying + + + + + Enlarge letter + + + + + Enlarge the length of the sheet + + + + + Reduce sheet + + + + + Reduce the length of the sheet + + + + + + Mirroring + + + + + + Zoom In + + + + + + Zoom Out + + + + + 0 details left. + + + + + + Collisions not found. + + + + + %1 details left. + + + + + untitled + + + + + Svg files (*.svg) + + + + + PDF files (*.pdf) + + + + + Images (*.png) + + + + + PS files (*.ps) + + + + + EPS files (*.eps) + + + + + Collisions found. + + + + + Creating file '%1' failed! %2 + + + + + Critical error! + + + + + VAbstractNode + + + Can't find tag Modeling + + + + + VAbstractTool + + + Confirm the deletion. + + + + + Do you really want delete? + + + + + VApplication + + + Error parsing file. Program will be terminated. + + + + + Error bad id. Program will be terminated. + + + + + Error can't convert value. Program will be terminated. + + + + + Error empty parameter. Program will be terminated. + + + + + Error wrong id. Program will be terminated. + + + + + Something's wrong!! + + + + + VContainer + + + + + Can't find object + + + + + Can't cast object + + + + + VDomDocument + + + Can't convert toUInt parameter + + + + + Got empty parameter + + + + + Can't convert toDouble parameter + + + + + + Can't open file %1: +%2. + + + + + Can't open schema file %1: +%2. + + + + + Validation error in line %1 column %2 + + + + + Parcing error in line %1 column %2 + + + + + VDrawTool + + + Can not find the element after which you want to insert. + + + + + Can't find tag Calculation + + + + + Options + + + + + Delete + + + + + VException + + + Critical error! + + + + + VPattern + + + Can't find tool id = %1 in table. + + + + + Error no unique id. + + + + + Error! + + + + + Error parsing file. + + + + + Error creating or updating detail + + + + + Error creating or updating single point + + + + + + Error creating or updating point of end line + + + + + + Error creating or updating point along line + + + + + + Error creating or updating point of shoulder + + + + + + Error creating or updating point of normal + + + + + + Error creating or updating point of bisector + + + + + Error creating or updating point of lineintersection + + + + + + Error creating or updating point of contact + + + + + Error creating or updating modeling point + + + + + Error creating or updating height + + + + + Error creating or updating triangle + + + + + Error creating or updating point of intersection + + + + + + Error creating or updating cut spline point + + + + + + Error creating or updating cut spline path point + + + + + + Error creating or updating cut arc point + + + + + Error creating or updating line + + + + + Error creating or updating simple curve + + + + + Error creating or updating curve path + + + + + Error creating or updating modeling simple curve + + + + + Error creating or updating modeling curve path + + + + + + Error creating or updating simple arc + + + + + Error creating or updating modeling arc + + + + + Error creating or updating union details + + + + + Got wrong parameter id. Need only id > 0. + + + + + This id is not unique. + + + + + VSplinePath + + + Not enough points to create the spline. + + + + + + + This spline does not exist. + + + + + Can't cut spline path with one point + + + + + VTableGraphicsView + + + can't find detail + + + + + detail found + + + + + VToolDetail + + + Options + + + + + Delete + + + + + VToolUnionDetails + + + Can't find tag Modeling + + + + + Variables + + + Line_ + Left symbol _ in name + + + + + AngleLine_ + Left symbol _ in name + + + + + Arc_ + Left symbol _ in name + + + + + Spl_ + Left symbol _ in name + + + + + SplPath + + + + From 6170aea8b6cace6c26c816424f379b82e3357c97 Mon Sep 17 00:00:00 2001 From: dismine Date: Mon, 26 May 2014 11:41:18 +0300 Subject: [PATCH 29/32] Russian translation. --HG-- branch : feature --- src/app/dialogs/app/dialogaboutapp.ui | 4 +- src/app/dialogs/app/dialogincrements.ui | 12 +- .../app/dialogindividualmeasurements.ui | 2 +- src/app/share/translations/valentina.ts | 746 +++--- src/app/share/translations/valentina_cs.ts | 752 +++--- src/app/share/translations/valentina_de.ts | 744 +++--- src/app/share/translations/valentina_fr.ts | 746 +++--- src/app/share/translations/valentina_he_IL.ts | 746 +++--- src/app/share/translations/valentina_it.ts | 746 +++--- src/app/share/translations/valentina_nl.ts | 746 +++--- src/app/share/translations/valentina_ru.ts | 2120 ++++++++--------- src/app/share/translations/valentina_uk.ts | 752 +++--- src/app/widgets/vapplication.cpp | 10 - 13 files changed, 3985 insertions(+), 4141 deletions(-) diff --git a/src/app/dialogs/app/dialogaboutapp.ui b/src/app/dialogs/app/dialogaboutapp.ui index 37b98d497..6bcdc5a9e 100644 --- a/src/app/dialogs/app/dialogaboutapp.ui +++ b/src/app/dialogs/app/dialogaboutapp.ui @@ -162,7 +162,7 @@ PointingHandCursor - pushButton_Web_Site + pushButton_Web_Site false @@ -246,7 +246,7 @@ p, li { white-space: pre-wrap; } - label_QT_Version + label_QT_Version diff --git a/src/app/dialogs/app/dialogincrements.ui b/src/app/dialogs/app/dialogincrements.ui index eabbbec85..de90671fd 100644 --- a/src/app/dialogs/app/dialogincrements.ui +++ b/src/app/dialogs/app/dialogincrements.ui @@ -39,7 +39,7 @@ QTabWidget::North - 1 + 0 @@ -105,7 +105,7 @@ - 1 + 0 @@ -115,8 +115,8 @@ 0 0 - 559 - 82 + 939 + 411 @@ -199,7 +199,7 @@ - yyyy-MM-dd + yyyy-MM-dd @@ -255,7 +255,7 @@ - Mail + Email diff --git a/src/app/dialogs/app/dialogindividualmeasurements.ui b/src/app/dialogs/app/dialogindividualmeasurements.ui index 9c57378da..696dccacd 100644 --- a/src/app/dialogs/app/dialogindividualmeasurements.ui +++ b/src/app/dialogs/app/dialogindividualmeasurements.ui @@ -11,7 +11,7 @@ - Dialog + Individual measurements diff --git a/src/app/share/translations/valentina.ts b/src/app/share/translations/valentina.ts index d26361dc7..b778dfae6 100644 --- a/src/app/share/translations/valentina.ts +++ b/src/app/share/translations/valentina.ts @@ -94,21 +94,11 @@ Valentina version - - - pushButton_Web_Site - - Contributors - - - label_QT_Version - - Based on Qt %2 (32 bit) @@ -1175,6 +1165,11 @@ Increments + + + Email + + @@ -1244,21 +1239,11 @@ Birth date - - - yyyy-MM-dd - - Sex - - - Mail - - @@ -1356,7 +1341,7 @@ DialogIndividualMeasurements - Dialog + Individual measurements @@ -2277,151 +2262,151 @@ Functions - + sin sine function - + cos cosine function - + tan tangens function - + asin arcus sine function - + acos arcus cosine function - + atan arcus tangens function - + sinh hyperbolic sine function - + cosh hyperbolic cosine - + tanh hyperbolic tangens function - + asinh hyperbolic arcus sine function - + acosh hyperbolic arcus tangens function - + atanh hyperbolic arcur tangens function - + log2 logarithm to the base 2 - + log10 logarithm to the base 10 - + log logarithm to the base 10 - + ln logarithm to base e (2.71828...) - + exp e raised to the power of x - + sqrt square root of a value - + sign sign function -1 if x<0; 1 if x>0 - + rint round to nearest integer - + abs absolute value - + min min of all arguments - + max max of all arguments - + sum sum of all arguments - + avg mean value of all arguments @@ -3400,7 +3385,6 @@ Do you want to save your changes? - across_back_shoulder_width Short measurement name. Don't use math symbols in name!!!! @@ -3419,1964 +3403,1962 @@ Do you want to save your changes? - Back Upper Chest width Full measurement name - Across Back UpperChest, smallest width from armscye to armscye Full measurement description - + upper_back_width Short measurement name. Don't use math symbols in name!!!! - + back_width Short measurement name. Don't use math symbols in name!!!! - + Back Chest width Full measurement name - + Across Back Chest, from armfold to armfold Full measurement description - + bustpoint_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + BustPoint to BustPoint Full measurement name - + Distance between BustPoints, across Chest Full measurement description - + halter_bustpoint_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + Halter Bustpoint to Bustpoint Full measurement name - + Distance from Bustpoint, behind neck, down to Bustpoint Full measurement description - + neck_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + NeckPoint to BustPoint Full measurement name - + From NeckPoint to BustPoint Full measurement description - + crotch_length Short measurement name. Don't use math symbols in name!!!! - + Crotch length Full measurement name - + From Front Waist Center, down to crotch, up to Back Waist Center Full measurement description - + rise_height Short measurement name. Don't use math symbols in name!!!! - + Rise height Full measurement name - + Sit on hard chair, measure from side waist straight down to chair bottom Full measurement description - + shoulder_drop Short measurement name. Don't use math symbols in name!!!! - + Shoulder Drop Full measurement name - + Vertical Distance from NeckPoint level to ShoulderTip level Full measurement description - + shoulder_slope_degrees Short measurement name. Don't use math symbols in name!!!! - + Shoulder Slope degrees Full measurement name - + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer Full measurement description - + front_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Front Shoulder Balance Full measurement name - + ShoulderTip to Front Waist Center Full measurement description - + back_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Back Shoulder Balance Full measurement name - + ShoulderTip to Back Waist Center Full measurement description - + front_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Front Full Length Full measurement name - + NeckPoint straight down front chest to Waistline Full measurement description - + back_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Back Full Length Full measurement name - + Back NeckPoint straight down back chest to Waistline Full measurement description - + front_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Front Neck arc Full measurement name - + NeckPoint to NeckPoint through Front Neck Center Full measurement description - + back_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Back Neck arc Full measurement name - + NeckPoint to NeckPoint across Nape Full measurement description - + front_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + front_upper-bust_arc Full measurement name - + front_upper-bust_arc Full measurement description - + back_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperBust arc Full measurement name - + Back UpperBust side to side Full measurement description - + front_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Front Waist arc Full measurement name - + Front Waist side to side Full measurement description - + back_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Back Waist arc Full measurement name - + Back Waist side to side Full measurement description - + front_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front UpperHip arc Full measurement name - + Front UpperHip side to side Full measurement description - + back_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperHip arc Full measurement name - + Back UpperHip side to side Full measurement description - + front_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front Hip arc Full measurement name - + Front Hip side to side Full measurement description - + back_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back Hip arc Full measurement name - + Back Hip side to side Full measurement description - + chest_slope Short measurement name. Don't use math symbols in name!!!! - + Chest Balance Full measurement name - + NeckPoint to Front ArmfoldPoint Full measurement description - + back_slope Short measurement name. Don't use math symbols in name!!!! - + Back Balance Full measurement name - + NeckPoint to Back ArmfoldPoint Full measurement description - + front_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Front Waist Balance Full measurement name - + NeckPoint across Front Chest to Waist side Full measurement description - + back_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Back Waist Balance Full measurement name - + NeckPoint across Back Chest to Waist side Full measurement description - + front_neck_to_upper_chest_height Short measurement name. Don't use math symbols in name!!!! - + Front UpperChest height Full measurement name - + Front Neck Center straight down to UpperChest line Full measurement description - + front_neck_to_bust_height Short measurement name. Don't use math symbols in name!!!! - + Bust height Full measurement name - + Front Neck Center straight down to Bust line Full measurement description - + armscye_girth Short measurement name. Don't use math symbols in name!!!! - + Armscye Girth Full measurement name - + Around Armscye Full measurement description - + elbow_girth Short measurement name. Don't use math symbols in name!!!! - + Elbow Girth Full measurement name - + Around Elbow with elbow bent Full measurement description - + upper_arm_girth Short measurement name. Don't use math symbols in name!!!! - + Upperarm Girth Full measurement name - + Around UpperArm Full measurement description - + wrist_girth Short measurement name. Don't use math symbols in name!!!! - + Wrist girth Full measurement name - + Around Wrist Full measurement description - + scye_depth Short measurement name. Don't use math symbols in name!!!! - + Armscye depth Full measurement name - + Nape straight down to UnderBust line (same as Back UpperBust height) Full measurement description - + shoulder_and_arm_length Short measurement name. Don't use math symbols in name!!!! - + Shoulder and Arm length Full measurement name - + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + underarm_length Short measurement name. Don't use math symbols in name!!!! - + Underarm length Full measurement name - + Armpit to Wrist, with arm straight and hanging at side Full measurement description - + cervicale_to_wrist_length Short measurement name. Don't use math symbols in name!!!! - + Nape to wrist length Full measurement name - + Nape to Wrist, with elbow bent and hand on hip Full measurement description - + shoulder_to_elbow_length Short measurement name. Don't use math symbols in name!!!! - + Elbow length Full measurement name - + ShoulderTip to Elbow, with elbow bent and hand on hip Full measurement description - + arm_length Short measurement name. Don't use math symbols in name!!!! - + Arm length Full measurement name - + ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + hand_width Short measurement name. Don't use math symbols in name!!!! - + Hand width Full measurement name - + Hand side to side Full measurement description - + hand_length Short measurement name. Don't use math symbols in name!!!! - + Hand length Full measurement name - + Hand Middle Finger tip to wrist Full measurement description - + hand_girth Short measurement name. Don't use math symbols in name!!!! - + Hand girth Full measurement name - + Around Hand Full measurement description - + thigh_girth Short measurement name. Don't use math symbols in name!!!! - + Thigh girth Full measurement name - + Around Thigh Full measurement description - + mid_thigh_girth Short measurement name. Don't use math symbols in name!!!! - + Midthigh girth Full measurement name - + Around MidThigh Full measurement description - + knee_girth Short measurement name. Don't use math symbols in name!!!! - + Knee girth Full measurement name - + Around Knee Full measurement description - + calf_girth Short measurement name. Don't use math symbols in name!!!! - + Calf girth Full measurement name - + Around Calf Full measurement description - + ankle_girth Short measurement name. Don't use math symbols in name!!!! - + Ankle girth Full measurement name - + Around Ankle Full measurement description - + knee_height Short measurement name. Don't use math symbols in name!!!! - + Knee height Full measurement name - + Knee to Floor Full measurement description - + ankle_height Short measurement name. Don't use math symbols in name!!!! - + Ankle height Full measurement name - + Ankle to Floor Full measurement description - + foot_width Short measurement name. Don't use math symbols in name!!!! - + Foot width Full measurement name - + Widest part of Foot side to side Full measurement description - + foot_length Short measurement name. Don't use math symbols in name!!!! - + Foot length Full measurement name - + Tip of Longest Toe straight to back of heel Full measurement description - + height Short measurement name. Don't use math symbols in name!!!! - + Total Height Full measurement name - + Top of head to floor Full measurement description - + cervicale_height Short measurement name. Don't use math symbols in name!!!! - + Nape height Full measurement name - + Nape to Floor Full measurement description - + cervicale_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Nape to knee height Full measurement name - + Nape to Knee Full measurement description - + waist_height Short measurement name. Don't use math symbols in name!!!! - + Waist height Full measurement name - + Waist side to floor Full measurement description - + high_hip_height Short measurement name. Don't use math symbols in name!!!! - + HighHip height Full measurement name - + HighHip side to Floor Full measurement description - + hip_height Short measurement name. Don't use math symbols in name!!!! - + Hip height Full measurement name - + Hip side to Floor Full measurement description - + waist_to_hip_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Hip height Full measurement name - + Waist side to Hip Full measurement description - + waist_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Knee height Full measurement name - + Waist side to Knee Full measurement description - + crotch_height Short measurement name. Don't use math symbols in name!!!! - + Crotch height/Inseam Full measurement name - + Crotch to Floor along inside leg Full measurement description - + size Short measurement name. Don't use math symbols in name!!!! - + Size Full measurement name - + Size Full measurement description - + height_front_neck_base_point Short measurement name. Don't use math symbols in name!!!! - + Height front neck base point Full measurement name - + Height of the point base of the neck in front Full measurement description - + height_base_neck_side_point Short measurement name. Don't use math symbols in name!!!! - + Height base neck side point Full measurement name - + Height of the base of the neck side point Full measurement description - + height_shoulder_point Short measurement name. Don't use math symbols in name!!!! - + Height shoulder point Full measurement name - + The height of the shoulder point Full measurement description - + height_nipple_point Short measurement name. Don't use math symbols in name!!!! - + Height nipple point Full measurement name - + Height nipple point Full measurement description - + height_back_angle_axilla Short measurement name. Don't use math symbols in name!!!! - + Height back angle axilla Full measurement name - + Height back angle axilla Full measurement description - + height_scapular_point Short measurement name. Don't use math symbols in name!!!! - + Height scapular point Full measurement name - + Height scapular point Full measurement description - + height_under_buttock_folds Short measurement name. Don't use math symbols in name!!!! - + Height under buttock folds Full measurement name - + Height under buttock folds Full measurement description - + hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Hips excluding protruding abdomen Full measurement name - + Hips excluding protruding abdomen Full measurement description - + girth_foot_instep Short measurement name. Don't use math symbols in name!!!! - + Girth foot instep Full measurement name - + Girth foot instep Full measurement description - + side_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Side waist to floor Full measurement name - + The distance from the side waist to floor Full measurement description - + front_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Front waist to floor Full measurement name - + The distance from the front waist to floor Full measurement description - + arc_through_groin_area Short measurement name. Don't use math symbols in name!!!! - + Arc through groin area Full measurement name - + Arc through groin area Full measurement description - + waist_to_plane_seat Short measurement name. Don't use math symbols in name!!!! - + Waist to plane seat Full measurement name - + The distance from the waist to the plane seat Full measurement description - + neck_to_radial_point Short measurement name. Don't use math symbols in name!!!! - + Neck to radial point Full measurement name - + The distance from the base of the neck to the side of the radial point Full measurement description - + neck_to_third_finger Short measurement name. Don't use math symbols in name!!!! - + Neck to third finger Full measurement name - + Distance from the base of the neck side point to the end of the third finger Full measurement description - + neck_to_first_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Neck to first line chest circumference Full measurement name - + The distance from the base of the neck to the side of the first line in front of chest circumference Full measurement description - + front_waist_length Short measurement name. Don't use math symbols in name!!!! - + Front waist length Full measurement name - + The distance from the base of the neck to the waist side front (waist length in the front) Full measurement description - + arc_through_shoulder_joint Short measurement name. Don't use math symbols in name!!!! - + Arc through shoulder joint Full measurement name - + Arc through the highest point of the shoulder joint Full measurement description - + neck_to_back_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Neck to back line chest circumference Full measurement name - + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes Full measurement description - + waist_to_neck_side Short measurement name. Don't use math symbols in name!!!! - + Waist to neck side Full measurement name - + The distance from the waist to the back base of the neck side point Full measurement description - + arc_length_upper_body Short measurement name. Don't use math symbols in name!!!! - + Arc length upper body Full measurement name - + Arc length of the upper body through the base of the neck side point Full measurement description - + chest_width Short measurement name. Don't use math symbols in name!!!! - + Chest width Full measurement name - + Chest width Full measurement description - + anteroposterior_diameter_hands Short measurement name. Don't use math symbols in name!!!! - + Anteroposterior diameter hands Full measurement name - + Anteroposterior diameter of the hands Full measurement description - + height_clavicular_point Short measurement name. Don't use math symbols in name!!!! - + Height clavicular point Full measurement name - + Height clavicular point Full measurement description - + height_armhole_slash Short measurement name. Don't use math symbols in name!!!! - + Height armhole slash Full measurement name - + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) Full measurement description - + slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Slash shoulder height Full measurement name - + Slash shoulder height Full measurement description - + half_girth_neck Short measurement name. Don't use math symbols in name!!!! - + Half girth neck Full measurement name - + Half girth neck Full measurement description - + half_girth_neck_for_shirts Short measurement name. Don't use math symbols in name!!!! - + Half girth neck for shirts Full measurement name - + Half girth neck for shirts Full measurement description - + half_girth_chest_first Short measurement name. Don't use math symbols in name!!!! - + Half girth chest first Full measurement name - + Half girth chest first Full measurement description - + half_girth_chest_second Short measurement name. Don't use math symbols in name!!!! - + Half girth chest second Full measurement name - + Half girth chest second Full measurement description - + half_girth_chest_third Short measurement name. Don't use math symbols in name!!!! - + Half girth chest third Full measurement name - + Half girth chest third Full measurement description - + half_girth_waist Short measurement name. Don't use math symbols in name!!!! - + Half girth waist Full measurement name - + Half girth waist Full measurement description - + half_girth_hips_considering_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Half girth hips considering protruding abdomen Full measurement name - + Half girth hips considering protruding abdomen Full measurement description - + half_girth_hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Half girth hips excluding protruding abdomen Full measurement name - + Half girth hips excluding protruding abdomen Full measurement description - + girth_knee_flexed_feet Short measurement name. Don't use math symbols in name!!!! - + Girth knee flexed feet Full measurement name - + Girth knee flexed feet Full measurement description - + neck_transverse_diameter Short measurement name. Don't use math symbols in name!!!! - + Neck transverse diameter Full measurement name - + Neck transverse diameter Full measurement description - + front_slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Front slash shoulder height Full measurement name - + Front slash shoulder height Full measurement description - + neck_to_front_waist_line Short measurement name. Don't use math symbols in name!!!! - + Neck to front waist line Full measurement name - + The distance from the base of the neck to the waist line front Full measurement description - + hand_vertical_diameter Short measurement name. Don't use math symbols in name!!!! - + Hand vertical diameter Full measurement name - + Hand vertical diameter Full measurement description - + neck_to_knee_point Short measurement name. Don't use math symbols in name!!!! - + Neck to knee point Full measurement name - + Distance from neck to knee point Full measurement description - + waist_to_knee Short measurement name. Don't use math symbols in name!!!! - + Waist to knee Full measurement name - + The distance from the waist to the knee Full measurement description - + shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Shoulder height Full measurement name - + Shoulder height Full measurement description - + head_height Short measurement name. Don't use math symbols in name!!!! - + Head height Full measurement name - + Head height Full measurement description - + body_position Short measurement name. Don't use math symbols in name!!!! - + Body position Full measurement name - + Body position Full measurement description - + arc_behind_shoulder_girdle Short measurement name. Don't use math symbols in name!!!! - + Arc behind shoulder girdle Full measurement name - + Arc behind the shoulder girdle Full measurement description - + neck_to_neck_base Short measurement name. Don't use math symbols in name!!!! - + Neck to neck base Full measurement name - + Distance from neck point to point on the base of the neck side neck girth measurement line Full measurement description - + depth_waist_first Short measurement name. Don't use math symbols in name!!!! - + Depth waist first Full measurement name - + Depth waist first Full measurement description - + depth_waist_second Short measurement name. Don't use math symbols in name!!!! - + Depth waist second Full measurement name - + Depth waist second Full measurement description @@ -5418,19 +5400,19 @@ Do you want to save your changes? PostfixOperators - + cm centimeter - + mm millimeter - + in inch @@ -5958,31 +5940,31 @@ Do you want to save your changes? Variables - + Line_ Left symbol _ in name - + AngleLine_ Left symbol _ in name - + Arc_ Left symbol _ in name - + Spl_ Left symbol _ in name - + SplPath diff --git a/src/app/share/translations/valentina_cs.ts b/src/app/share/translations/valentina_cs.ts index f4412241d..2935a0d90 100644 --- a/src/app/share/translations/valentina_cs.ts +++ b/src/app/share/translations/valentina_cs.ts @@ -94,21 +94,11 @@ Valentina version - - - pushButton_Web_Site - - Contributors - - - label_QT_Version - - Based on Qt %2 (32 bit) @@ -1175,6 +1165,11 @@ Increments Přídavky + + + Email + + @@ -1248,21 +1243,11 @@ Birth date - - - yyyy-MM-dd - - Sex - - - Mail - - @@ -1363,9 +1348,13 @@ DialogIndividualMeasurements - Dialog - Dialog + Dialog + + + + Individual measurements + @@ -2285,151 +2274,151 @@ Functions - + sin sine function - + cos cosine function - + tan tangens function - + asin arcus sine function - + acos arcus cosine function - + atan arcus tangens function - + sinh hyperbolic sine function - + cosh hyperbolic cosine - + tanh hyperbolic tangens function - + asinh hyperbolic arcus sine function - + acosh hyperbolic arcus tangens function - + atanh hyperbolic arcur tangens function - + log2 logarithm to the base 2 - + log10 logarithm to the base 10 - + log logarithm to the base 10 - + ln logarithm to base e (2.71828...) - + exp e raised to the power of x - + sqrt square root of a value - + sign sign function -1 if x<0; 1 if x>0 - + rint round to nearest integer - + abs absolute value - + min min of all arguments - + max max of all arguments - + sum sum of all arguments - + avg mean value of all arguments @@ -3496,7 +3485,6 @@ Do you want to save your changes? - across_back_shoulder_width Short measurement name. Don't use math symbols in name!!!! @@ -3515,1964 +3503,1962 @@ Do you want to save your changes? - Back Upper Chest width Full measurement name - Across Back UpperChest, smallest width from armscye to armscye Full measurement description - + upper_back_width Short measurement name. Don't use math symbols in name!!!! - + back_width Short measurement name. Don't use math symbols in name!!!! - + Back Chest width Full measurement name - + Across Back Chest, from armfold to armfold Full measurement description - + bustpoint_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + BustPoint to BustPoint Full measurement name - + Distance between BustPoints, across Chest Full measurement description - + halter_bustpoint_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + Halter Bustpoint to Bustpoint Full measurement name - + Distance from Bustpoint, behind neck, down to Bustpoint Full measurement description - + neck_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + NeckPoint to BustPoint Full measurement name - + From NeckPoint to BustPoint Full measurement description - + crotch_length Short measurement name. Don't use math symbols in name!!!! - + Crotch length Full measurement name - + From Front Waist Center, down to crotch, up to Back Waist Center Full measurement description - + rise_height Short measurement name. Don't use math symbols in name!!!! - + Rise height Full measurement name - + Sit on hard chair, measure from side waist straight down to chair bottom Full measurement description - + shoulder_drop Short measurement name. Don't use math symbols in name!!!! - + Shoulder Drop Full measurement name - + Vertical Distance from NeckPoint level to ShoulderTip level Full measurement description - + shoulder_slope_degrees Short measurement name. Don't use math symbols in name!!!! - + Shoulder Slope degrees Full measurement name - + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer Full measurement description - + front_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Front Shoulder Balance Full measurement name - + ShoulderTip to Front Waist Center Full measurement description - + back_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Back Shoulder Balance Full measurement name - + ShoulderTip to Back Waist Center Full measurement description - + front_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Front Full Length Full measurement name - + NeckPoint straight down front chest to Waistline Full measurement description - + back_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Back Full Length Full measurement name - + Back NeckPoint straight down back chest to Waistline Full measurement description - + front_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Front Neck arc Full measurement name - + NeckPoint to NeckPoint through Front Neck Center Full measurement description - + back_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Back Neck arc Full measurement name - + NeckPoint to NeckPoint across Nape Full measurement description - + front_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + front_upper-bust_arc Full measurement name - + front_upper-bust_arc Full measurement description - + back_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperBust arc Full measurement name - + Back UpperBust side to side Full measurement description - + front_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Front Waist arc Full measurement name - + Front Waist side to side Full measurement description - + back_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Back Waist arc Full measurement name - + Back Waist side to side Full measurement description - + front_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front UpperHip arc Full measurement name - + Front UpperHip side to side Full measurement description - + back_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperHip arc Full measurement name - + Back UpperHip side to side Full measurement description - + front_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front Hip arc Full measurement name - + Front Hip side to side Full measurement description - + back_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back Hip arc Full measurement name - + Back Hip side to side Full measurement description - + chest_slope Short measurement name. Don't use math symbols in name!!!! - + Chest Balance Full measurement name - + NeckPoint to Front ArmfoldPoint Full measurement description - + back_slope Short measurement name. Don't use math symbols in name!!!! - + Back Balance Full measurement name - + NeckPoint to Back ArmfoldPoint Full measurement description - + front_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Front Waist Balance Full measurement name - + NeckPoint across Front Chest to Waist side Full measurement description - + back_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Back Waist Balance Full measurement name - + NeckPoint across Back Chest to Waist side Full measurement description - + front_neck_to_upper_chest_height Short measurement name. Don't use math symbols in name!!!! - + Front UpperChest height Full measurement name - + Front Neck Center straight down to UpperChest line Full measurement description - + front_neck_to_bust_height Short measurement name. Don't use math symbols in name!!!! - + Bust height Full measurement name - + Front Neck Center straight down to Bust line Full measurement description - + armscye_girth Short measurement name. Don't use math symbols in name!!!! - + Armscye Girth Full measurement name - + Around Armscye Full measurement description - + elbow_girth Short measurement name. Don't use math symbols in name!!!! - + Elbow Girth Full measurement name - + Around Elbow with elbow bent Full measurement description - + upper_arm_girth Short measurement name. Don't use math symbols in name!!!! - + Upperarm Girth Full measurement name - + Around UpperArm Full measurement description - + wrist_girth Short measurement name. Don't use math symbols in name!!!! - + Wrist girth Full measurement name - + Around Wrist Full measurement description - + scye_depth Short measurement name. Don't use math symbols in name!!!! - + Armscye depth Full measurement name - + Nape straight down to UnderBust line (same as Back UpperBust height) Full measurement description - + shoulder_and_arm_length Short measurement name. Don't use math symbols in name!!!! - + Shoulder and Arm length Full measurement name - + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + underarm_length Short measurement name. Don't use math symbols in name!!!! - + Underarm length Full measurement name - + Armpit to Wrist, with arm straight and hanging at side Full measurement description - + cervicale_to_wrist_length Short measurement name. Don't use math symbols in name!!!! - + Nape to wrist length Full measurement name - + Nape to Wrist, with elbow bent and hand on hip Full measurement description - + shoulder_to_elbow_length Short measurement name. Don't use math symbols in name!!!! - + Elbow length Full measurement name - + ShoulderTip to Elbow, with elbow bent and hand on hip Full measurement description - + arm_length Short measurement name. Don't use math symbols in name!!!! - + Arm length Full measurement name - + ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + hand_width Short measurement name. Don't use math symbols in name!!!! - + Hand width Full measurement name - + Hand side to side Full measurement description - + hand_length Short measurement name. Don't use math symbols in name!!!! - + Hand length Full measurement name - + Hand Middle Finger tip to wrist Full measurement description - + hand_girth Short measurement name. Don't use math symbols in name!!!! - + Hand girth Full measurement name - + Around Hand Full measurement description - + thigh_girth Short measurement name. Don't use math symbols in name!!!! - + Thigh girth Full measurement name - + Around Thigh Full measurement description - + mid_thigh_girth Short measurement name. Don't use math symbols in name!!!! - + Midthigh girth Full measurement name - + Around MidThigh Full measurement description - + knee_girth Short measurement name. Don't use math symbols in name!!!! - + Knee girth Full measurement name - + Around Knee Full measurement description - + calf_girth Short measurement name. Don't use math symbols in name!!!! - + Calf girth Full measurement name - + Around Calf Full measurement description - + ankle_girth Short measurement name. Don't use math symbols in name!!!! - + Ankle girth Full measurement name - + Around Ankle Full measurement description - + knee_height Short measurement name. Don't use math symbols in name!!!! - + Knee height Full measurement name - + Knee to Floor Full measurement description - + ankle_height Short measurement name. Don't use math symbols in name!!!! - + Ankle height Full measurement name - + Ankle to Floor Full measurement description - + foot_width Short measurement name. Don't use math symbols in name!!!! - + Foot width Full measurement name - + Widest part of Foot side to side Full measurement description - + foot_length Short measurement name. Don't use math symbols in name!!!! - + Foot length Full measurement name - + Tip of Longest Toe straight to back of heel Full measurement description - + height Short measurement name. Don't use math symbols in name!!!! - + Total Height Full measurement name - + Top of head to floor Full measurement description - + cervicale_height Short measurement name. Don't use math symbols in name!!!! - + Nape height Full measurement name - + Nape to Floor Full measurement description - + cervicale_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Nape to knee height Full measurement name - + Nape to Knee Full measurement description - + waist_height Short measurement name. Don't use math symbols in name!!!! - + Waist height Full measurement name - + Waist side to floor Full measurement description - + high_hip_height Short measurement name. Don't use math symbols in name!!!! - + HighHip height Full measurement name - + HighHip side to Floor Full measurement description - + hip_height Short measurement name. Don't use math symbols in name!!!! - + Hip height Full measurement name - + Hip side to Floor Full measurement description - + waist_to_hip_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Hip height Full measurement name - + Waist side to Hip Full measurement description - + waist_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Knee height Full measurement name - + Waist side to Knee Full measurement description - + crotch_height Short measurement name. Don't use math symbols in name!!!! - + Crotch height/Inseam Full measurement name - + Crotch to Floor along inside leg Full measurement description - + size Short measurement name. Don't use math symbols in name!!!! - + Size Full measurement name Velikost - + Size Full measurement description Velikost - + height_front_neck_base_point Short measurement name. Don't use math symbols in name!!!! - + Height front neck base point Full measurement name - + Height of the point base of the neck in front Full measurement description - + height_base_neck_side_point Short measurement name. Don't use math symbols in name!!!! - + Height base neck side point Full measurement name - + Height of the base of the neck side point Full measurement description - + height_shoulder_point Short measurement name. Don't use math symbols in name!!!! - + Height shoulder point Full measurement name - + The height of the shoulder point Full measurement description - + height_nipple_point Short measurement name. Don't use math symbols in name!!!! - + Height nipple point Full measurement name - + Height nipple point Full measurement description - + height_back_angle_axilla Short measurement name. Don't use math symbols in name!!!! - + Height back angle axilla Full measurement name - + Height back angle axilla Full measurement description - + height_scapular_point Short measurement name. Don't use math symbols in name!!!! - + Height scapular point Full measurement name - + Height scapular point Full measurement description - + height_under_buttock_folds Short measurement name. Don't use math symbols in name!!!! - + Height under buttock folds Full measurement name - + Height under buttock folds Full measurement description - + hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Hips excluding protruding abdomen Full measurement name - + Hips excluding protruding abdomen Full measurement description - + girth_foot_instep Short measurement name. Don't use math symbols in name!!!! - + Girth foot instep Full measurement name - + Girth foot instep Full measurement description - + side_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Side waist to floor Full measurement name - + The distance from the side waist to floor Full measurement description - + front_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Front waist to floor Full measurement name - + The distance from the front waist to floor Full measurement description - + arc_through_groin_area Short measurement name. Don't use math symbols in name!!!! - + Arc through groin area Full measurement name - + Arc through groin area Full measurement description - + waist_to_plane_seat Short measurement name. Don't use math symbols in name!!!! - + Waist to plane seat Full measurement name - + The distance from the waist to the plane seat Full measurement description - + neck_to_radial_point Short measurement name. Don't use math symbols in name!!!! - + Neck to radial point Full measurement name - + The distance from the base of the neck to the side of the radial point Full measurement description - + neck_to_third_finger Short measurement name. Don't use math symbols in name!!!! - + Neck to third finger Full measurement name - + Distance from the base of the neck side point to the end of the third finger Full measurement description - + neck_to_first_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Neck to first line chest circumference Full measurement name - + The distance from the base of the neck to the side of the first line in front of chest circumference Full measurement description - + front_waist_length Short measurement name. Don't use math symbols in name!!!! - + Front waist length Full measurement name - + The distance from the base of the neck to the waist side front (waist length in the front) Full measurement description - + arc_through_shoulder_joint Short measurement name. Don't use math symbols in name!!!! - + Arc through shoulder joint Full measurement name - + Arc through the highest point of the shoulder joint Full measurement description - + neck_to_back_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Neck to back line chest circumference Full measurement name - + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes Full measurement description - + waist_to_neck_side Short measurement name. Don't use math symbols in name!!!! - + Waist to neck side Full measurement name - + The distance from the waist to the back base of the neck side point Full measurement description - + arc_length_upper_body Short measurement name. Don't use math symbols in name!!!! - + Arc length upper body Full measurement name - + Arc length of the upper body through the base of the neck side point Full measurement description - + chest_width Short measurement name. Don't use math symbols in name!!!! - + Chest width Full measurement name - + Chest width Full measurement description - + anteroposterior_diameter_hands Short measurement name. Don't use math symbols in name!!!! - + Anteroposterior diameter hands Full measurement name - + Anteroposterior diameter of the hands Full measurement description - + height_clavicular_point Short measurement name. Don't use math symbols in name!!!! - + Height clavicular point Full measurement name - + Height clavicular point Full measurement description - + height_armhole_slash Short measurement name. Don't use math symbols in name!!!! - + Height armhole slash Full measurement name - + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) Full measurement description - + slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Slash shoulder height Full measurement name - + Slash shoulder height Full measurement description - + half_girth_neck Short measurement name. Don't use math symbols in name!!!! - + Half girth neck Full measurement name - + Half girth neck Full measurement description - + half_girth_neck_for_shirts Short measurement name. Don't use math symbols in name!!!! - + Half girth neck for shirts Full measurement name - + Half girth neck for shirts Full measurement description - + half_girth_chest_first Short measurement name. Don't use math symbols in name!!!! - + Half girth chest first Full measurement name - + Half girth chest first Full measurement description - + half_girth_chest_second Short measurement name. Don't use math symbols in name!!!! - + Half girth chest second Full measurement name - + Half girth chest second Full measurement description - + half_girth_chest_third Short measurement name. Don't use math symbols in name!!!! - + Half girth chest third Full measurement name - + Half girth chest third Full measurement description - + half_girth_waist Short measurement name. Don't use math symbols in name!!!! - + Half girth waist Full measurement name - + Half girth waist Full measurement description - + half_girth_hips_considering_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Half girth hips considering protruding abdomen Full measurement name - + Half girth hips considering protruding abdomen Full measurement description - + half_girth_hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Half girth hips excluding protruding abdomen Full measurement name - + Half girth hips excluding protruding abdomen Full measurement description - + girth_knee_flexed_feet Short measurement name. Don't use math symbols in name!!!! - + Girth knee flexed feet Full measurement name - + Girth knee flexed feet Full measurement description - + neck_transverse_diameter Short measurement name. Don't use math symbols in name!!!! - + Neck transverse diameter Full measurement name - + Neck transverse diameter Full measurement description - + front_slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Front slash shoulder height Full measurement name - + Front slash shoulder height Full measurement description - + neck_to_front_waist_line Short measurement name. Don't use math symbols in name!!!! - + Neck to front waist line Full measurement name - + The distance from the base of the neck to the waist line front Full measurement description - + hand_vertical_diameter Short measurement name. Don't use math symbols in name!!!! - + Hand vertical diameter Full measurement name - + Hand vertical diameter Full measurement description - + neck_to_knee_point Short measurement name. Don't use math symbols in name!!!! - + Neck to knee point Full measurement name - + Distance from neck to knee point Full measurement description - + waist_to_knee Short measurement name. Don't use math symbols in name!!!! - + Waist to knee Full measurement name - + The distance from the waist to the knee Full measurement description - + shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Shoulder height Full measurement name - + Shoulder height Full measurement description - + head_height Short measurement name. Don't use math symbols in name!!!! - + Head height Full measurement name - + Head height Full measurement description - + body_position Short measurement name. Don't use math symbols in name!!!! - + Body position Full measurement name - + Body position Full measurement description - + arc_behind_shoulder_girdle Short measurement name. Don't use math symbols in name!!!! - + Arc behind shoulder girdle Full measurement name - + Arc behind the shoulder girdle Full measurement description - + neck_to_neck_base Short measurement name. Don't use math symbols in name!!!! - + Neck to neck base Full measurement name - + Distance from neck point to point on the base of the neck side neck girth measurement line Full measurement description - + depth_waist_first Short measurement name. Don't use math symbols in name!!!! - + Depth waist first Full measurement name - + Depth waist first Full measurement description - + depth_waist_second Short measurement name. Don't use math symbols in name!!!! - + Depth waist second Full measurement name - + Depth waist second Full measurement description @@ -5514,19 +5500,19 @@ Do you want to save your changes? PostfixOperators - + cm centimeter - + mm millimeter - + in inch @@ -6177,31 +6163,31 @@ Do you want to save your changes? Variables - + Line_ Left symbol _ in name - + AngleLine_ Left symbol _ in name - + Arc_ Left symbol _ in name - + Spl_ Left symbol _ in name - + SplPath diff --git a/src/app/share/translations/valentina_de.ts b/src/app/share/translations/valentina_de.ts index 068facc54..dcb843d63 100644 --- a/src/app/share/translations/valentina_de.ts +++ b/src/app/share/translations/valentina_de.ts @@ -94,21 +94,11 @@ Valentina version - - - pushButton_Web_Site - - Contributors - - - label_QT_Version - - Based on Qt %2 (32 bit) @@ -1264,11 +1254,6 @@ Birth date - - - yyyy-MM-dd - - Sex @@ -1276,7 +1261,7 @@ - Mail + Email @@ -1379,9 +1364,13 @@ DialogIndividualMeasurements - Dialog - Dialog + Dialog + + + + Individual measurements + @@ -2305,151 +2294,151 @@ Functions - + sin sine function - + cos cosine function - + tan tangens function - + asin arcus sine function - + acos arcus cosine function - + atan arcus tangens function - + sinh hyperbolic sine function - + cosh hyperbolic cosine - + tanh hyperbolic tangens function - + asinh hyperbolic arcus sine function - + acosh hyperbolic arcus tangens function - + atanh hyperbolic arcur tangens function - + log2 logarithm to the base 2 - + log10 logarithm to the base 10 - + log logarithm to the base 10 - + ln logarithm to base e (2.71828...) - + exp e raised to the power of x - + sqrt square root of a value - + sign sign function -1 if x<0; 1 if x>0 - + rint round to nearest integer - + abs absolute value - + min min of all arguments - + max max of all arguments - + sum sum of all arguments - + avg mean value of all arguments @@ -3552,7 +3541,6 @@ Do you want to save your changes? - across_back_shoulder_width Short measurement name. Don't use math symbols in name!!!! @@ -3571,1964 +3559,1962 @@ Do you want to save your changes? - Back Upper Chest width Full measurement name - Across Back UpperChest, smallest width from armscye to armscye Full measurement description - + upper_back_width Short measurement name. Don't use math symbols in name!!!! - + back_width Short measurement name. Don't use math symbols in name!!!! - + Back Chest width Full measurement name - + Across Back Chest, from armfold to armfold Full measurement description - + bustpoint_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + BustPoint to BustPoint Full measurement name - + Distance between BustPoints, across Chest Full measurement description - + halter_bustpoint_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + Halter Bustpoint to Bustpoint Full measurement name - + Distance from Bustpoint, behind neck, down to Bustpoint Full measurement description - + neck_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + NeckPoint to BustPoint Full measurement name - + From NeckPoint to BustPoint Full measurement description - + crotch_length Short measurement name. Don't use math symbols in name!!!! - + Crotch length Full measurement name - + From Front Waist Center, down to crotch, up to Back Waist Center Full measurement description - + rise_height Short measurement name. Don't use math symbols in name!!!! - + Rise height Full measurement name - + Sit on hard chair, measure from side waist straight down to chair bottom Full measurement description - + shoulder_drop Short measurement name. Don't use math symbols in name!!!! - + Shoulder Drop Full measurement name - + Vertical Distance from NeckPoint level to ShoulderTip level Full measurement description - + shoulder_slope_degrees Short measurement name. Don't use math symbols in name!!!! - + Shoulder Slope degrees Full measurement name - + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer Full measurement description - + front_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Front Shoulder Balance Full measurement name - + ShoulderTip to Front Waist Center Full measurement description - + back_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Back Shoulder Balance Full measurement name - + ShoulderTip to Back Waist Center Full measurement description - + front_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Front Full Length Full measurement name - + NeckPoint straight down front chest to Waistline Full measurement description - + back_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Back Full Length Full measurement name - + Back NeckPoint straight down back chest to Waistline Full measurement description - + front_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Front Neck arc Full measurement name - + NeckPoint to NeckPoint through Front Neck Center Full measurement description - + back_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Back Neck arc Full measurement name - + NeckPoint to NeckPoint across Nape Full measurement description - + front_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + front_upper-bust_arc Full measurement name - + front_upper-bust_arc Full measurement description - + back_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperBust arc Full measurement name - + Back UpperBust side to side Full measurement description - + front_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Front Waist arc Full measurement name - + Front Waist side to side Full measurement description - + back_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Back Waist arc Full measurement name - + Back Waist side to side Full measurement description - + front_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front UpperHip arc Full measurement name - + Front UpperHip side to side Full measurement description - + back_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperHip arc Full measurement name - + Back UpperHip side to side Full measurement description - + front_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front Hip arc Full measurement name - + Front Hip side to side Full measurement description - + back_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back Hip arc Full measurement name - + Back Hip side to side Full measurement description - + chest_slope Short measurement name. Don't use math symbols in name!!!! - + Chest Balance Full measurement name - + NeckPoint to Front ArmfoldPoint Full measurement description - + back_slope Short measurement name. Don't use math symbols in name!!!! - + Back Balance Full measurement name - + NeckPoint to Back ArmfoldPoint Full measurement description - + front_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Front Waist Balance Full measurement name - + NeckPoint across Front Chest to Waist side Full measurement description - + back_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Back Waist Balance Full measurement name - + NeckPoint across Back Chest to Waist side Full measurement description - + front_neck_to_upper_chest_height Short measurement name. Don't use math symbols in name!!!! - + Front UpperChest height Full measurement name - + Front Neck Center straight down to UpperChest line Full measurement description - + front_neck_to_bust_height Short measurement name. Don't use math symbols in name!!!! - + Bust height Full measurement name - + Front Neck Center straight down to Bust line Full measurement description - + armscye_girth Short measurement name. Don't use math symbols in name!!!! - + Armscye Girth Full measurement name - + Around Armscye Full measurement description - + elbow_girth Short measurement name. Don't use math symbols in name!!!! - + Elbow Girth Full measurement name - + Around Elbow with elbow bent Full measurement description - + upper_arm_girth Short measurement name. Don't use math symbols in name!!!! - + Upperarm Girth Full measurement name - + Around UpperArm Full measurement description - + wrist_girth Short measurement name. Don't use math symbols in name!!!! - + Wrist girth Full measurement name - + Around Wrist Full measurement description - + scye_depth Short measurement name. Don't use math symbols in name!!!! - + Armscye depth Full measurement name - + Nape straight down to UnderBust line (same as Back UpperBust height) Full measurement description - + shoulder_and_arm_length Short measurement name. Don't use math symbols in name!!!! - + Shoulder and Arm length Full measurement name - + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + underarm_length Short measurement name. Don't use math symbols in name!!!! - + Underarm length Full measurement name - + Armpit to Wrist, with arm straight and hanging at side Full measurement description - + cervicale_to_wrist_length Short measurement name. Don't use math symbols in name!!!! - + Nape to wrist length Full measurement name - + Nape to Wrist, with elbow bent and hand on hip Full measurement description - + shoulder_to_elbow_length Short measurement name. Don't use math symbols in name!!!! - + Elbow length Full measurement name - + ShoulderTip to Elbow, with elbow bent and hand on hip Full measurement description - + arm_length Short measurement name. Don't use math symbols in name!!!! - + Arm length Full measurement name - + ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + hand_width Short measurement name. Don't use math symbols in name!!!! - + Hand width Full measurement name - + Hand side to side Full measurement description - + hand_length Short measurement name. Don't use math symbols in name!!!! - + Hand length Full measurement name - + Hand Middle Finger tip to wrist Full measurement description - + hand_girth Short measurement name. Don't use math symbols in name!!!! - + Hand girth Full measurement name - + Around Hand Full measurement description - + thigh_girth Short measurement name. Don't use math symbols in name!!!! - + Thigh girth Full measurement name - + Around Thigh Full measurement description - + mid_thigh_girth Short measurement name. Don't use math symbols in name!!!! - + Midthigh girth Full measurement name - + Around MidThigh Full measurement description - + knee_girth Short measurement name. Don't use math symbols in name!!!! - + Knee girth Full measurement name - + Around Knee Full measurement description - + calf_girth Short measurement name. Don't use math symbols in name!!!! - + Calf girth Full measurement name - + Around Calf Full measurement description - + ankle_girth Short measurement name. Don't use math symbols in name!!!! - + Ankle girth Full measurement name - + Around Ankle Full measurement description - + knee_height Short measurement name. Don't use math symbols in name!!!! - + Knee height Full measurement name - + Knee to Floor Full measurement description - + ankle_height Short measurement name. Don't use math symbols in name!!!! - + Ankle height Full measurement name - + Ankle to Floor Full measurement description - + foot_width Short measurement name. Don't use math symbols in name!!!! - + Foot width Full measurement name - + Widest part of Foot side to side Full measurement description - + foot_length Short measurement name. Don't use math symbols in name!!!! - + Foot length Full measurement name - + Tip of Longest Toe straight to back of heel Full measurement description - + height Short measurement name. Don't use math symbols in name!!!! - + Total Height Full measurement name - + Top of head to floor Full measurement description - + cervicale_height Short measurement name. Don't use math symbols in name!!!! - + Nape height Full measurement name - + Nape to Floor Full measurement description - + cervicale_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Nape to knee height Full measurement name - + Nape to Knee Full measurement description - + waist_height Short measurement name. Don't use math symbols in name!!!! - + Waist height Full measurement name - + Waist side to floor Full measurement description - + high_hip_height Short measurement name. Don't use math symbols in name!!!! - + HighHip height Full measurement name - + HighHip side to Floor Full measurement description - + hip_height Short measurement name. Don't use math symbols in name!!!! - + Hip height Full measurement name - + Hip side to Floor Full measurement description - + waist_to_hip_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Hip height Full measurement name - + Waist side to Hip Full measurement description - + waist_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Knee height Full measurement name - + Waist side to Knee Full measurement description - + crotch_height Short measurement name. Don't use math symbols in name!!!! - + Crotch height/Inseam Full measurement name - + Crotch to Floor along inside leg Full measurement description - + size Short measurement name. Don't use math symbols in name!!!! - + Size Full measurement name Konfektion - + Size Full measurement description Konfektion - + height_front_neck_base_point Short measurement name. Don't use math symbols in name!!!! - + Height front neck base point Full measurement name - + Height of the point base of the neck in front Full measurement description - + height_base_neck_side_point Short measurement name. Don't use math symbols in name!!!! - + Height base neck side point Full measurement name - + Height of the base of the neck side point Full measurement description - + height_shoulder_point Short measurement name. Don't use math symbols in name!!!! - + Height shoulder point Full measurement name - + The height of the shoulder point Full measurement description - + height_nipple_point Short measurement name. Don't use math symbols in name!!!! - + Height nipple point Full measurement name - + Height nipple point Full measurement description - + height_back_angle_axilla Short measurement name. Don't use math symbols in name!!!! - + Height back angle axilla Full measurement name - + Height back angle axilla Full measurement description - + height_scapular_point Short measurement name. Don't use math symbols in name!!!! - + Height scapular point Full measurement name - + Height scapular point Full measurement description - + height_under_buttock_folds Short measurement name. Don't use math symbols in name!!!! - + Height under buttock folds Full measurement name - + Height under buttock folds Full measurement description - + hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Hips excluding protruding abdomen Full measurement name - + Hips excluding protruding abdomen Full measurement description - + girth_foot_instep Short measurement name. Don't use math symbols in name!!!! - + Girth foot instep Full measurement name - + Girth foot instep Full measurement description - + side_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Side waist to floor Full measurement name - + The distance from the side waist to floor Full measurement description - + front_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Front waist to floor Full measurement name - + The distance from the front waist to floor Full measurement description - + arc_through_groin_area Short measurement name. Don't use math symbols in name!!!! - + Arc through groin area Full measurement name - + Arc through groin area Full measurement description - + waist_to_plane_seat Short measurement name. Don't use math symbols in name!!!! - + Waist to plane seat Full measurement name - + The distance from the waist to the plane seat Full measurement description - + neck_to_radial_point Short measurement name. Don't use math symbols in name!!!! - + Neck to radial point Full measurement name - + The distance from the base of the neck to the side of the radial point Full measurement description - + neck_to_third_finger Short measurement name. Don't use math symbols in name!!!! - + Neck to third finger Full measurement name - + Distance from the base of the neck side point to the end of the third finger Full measurement description - + neck_to_first_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Neck to first line chest circumference Full measurement name - + The distance from the base of the neck to the side of the first line in front of chest circumference Full measurement description - + front_waist_length Short measurement name. Don't use math symbols in name!!!! - + Front waist length Full measurement name - + The distance from the base of the neck to the waist side front (waist length in the front) Full measurement description - + arc_through_shoulder_joint Short measurement name. Don't use math symbols in name!!!! - + Arc through shoulder joint Full measurement name - + Arc through the highest point of the shoulder joint Full measurement description - + neck_to_back_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Neck to back line chest circumference Full measurement name - + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes Full measurement description - + waist_to_neck_side Short measurement name. Don't use math symbols in name!!!! - + Waist to neck side Full measurement name - + The distance from the waist to the back base of the neck side point Full measurement description - + arc_length_upper_body Short measurement name. Don't use math symbols in name!!!! - + Arc length upper body Full measurement name - + Arc length of the upper body through the base of the neck side point Full measurement description - + chest_width Short measurement name. Don't use math symbols in name!!!! - + Chest width Full measurement name - + Chest width Full measurement description - + anteroposterior_diameter_hands Short measurement name. Don't use math symbols in name!!!! - + Anteroposterior diameter hands Full measurement name - + Anteroposterior diameter of the hands Full measurement description - + height_clavicular_point Short measurement name. Don't use math symbols in name!!!! - + Height clavicular point Full measurement name - + Height clavicular point Full measurement description - + height_armhole_slash Short measurement name. Don't use math symbols in name!!!! - + Height armhole slash Full measurement name - + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) Full measurement description - + slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Slash shoulder height Full measurement name - + Slash shoulder height Full measurement description - + half_girth_neck Short measurement name. Don't use math symbols in name!!!! - + Half girth neck Full measurement name - + Half girth neck Full measurement description - + half_girth_neck_for_shirts Short measurement name. Don't use math symbols in name!!!! - + Half girth neck for shirts Full measurement name - + Half girth neck for shirts Full measurement description - + half_girth_chest_first Short measurement name. Don't use math symbols in name!!!! - + Half girth chest first Full measurement name - + Half girth chest first Full measurement description - + half_girth_chest_second Short measurement name. Don't use math symbols in name!!!! - + Half girth chest second Full measurement name - + Half girth chest second Full measurement description - + half_girth_chest_third Short measurement name. Don't use math symbols in name!!!! - + Half girth chest third Full measurement name - + Half girth chest third Full measurement description - + half_girth_waist Short measurement name. Don't use math symbols in name!!!! - + Half girth waist Full measurement name - + Half girth waist Full measurement description - + half_girth_hips_considering_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Half girth hips considering protruding abdomen Full measurement name - + Half girth hips considering protruding abdomen Full measurement description - + half_girth_hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Half girth hips excluding protruding abdomen Full measurement name - + Half girth hips excluding protruding abdomen Full measurement description - + girth_knee_flexed_feet Short measurement name. Don't use math symbols in name!!!! - + Girth knee flexed feet Full measurement name - + Girth knee flexed feet Full measurement description - + neck_transverse_diameter Short measurement name. Don't use math symbols in name!!!! - + Neck transverse diameter Full measurement name - + Neck transverse diameter Full measurement description - + front_slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Front slash shoulder height Full measurement name - + Front slash shoulder height Full measurement description - + neck_to_front_waist_line Short measurement name. Don't use math symbols in name!!!! - + Neck to front waist line Full measurement name - + The distance from the base of the neck to the waist line front Full measurement description - + hand_vertical_diameter Short measurement name. Don't use math symbols in name!!!! - + Hand vertical diameter Full measurement name - + Hand vertical diameter Full measurement description - + neck_to_knee_point Short measurement name. Don't use math symbols in name!!!! - + Neck to knee point Full measurement name - + Distance from neck to knee point Full measurement description - + waist_to_knee Short measurement name. Don't use math symbols in name!!!! - + Waist to knee Full measurement name - + The distance from the waist to the knee Full measurement description - + shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Shoulder height Full measurement name - + Shoulder height Full measurement description - + head_height Short measurement name. Don't use math symbols in name!!!! - + Head height Full measurement name - + Head height Full measurement description - + body_position Short measurement name. Don't use math symbols in name!!!! - + Body position Full measurement name - + Body position Full measurement description - + arc_behind_shoulder_girdle Short measurement name. Don't use math symbols in name!!!! - + Arc behind shoulder girdle Full measurement name - + Arc behind the shoulder girdle Full measurement description - + neck_to_neck_base Short measurement name. Don't use math symbols in name!!!! - + Neck to neck base Full measurement name - + Distance from neck point to point on the base of the neck side neck girth measurement line Full measurement description - + depth_waist_first Short measurement name. Don't use math symbols in name!!!! - + Depth waist first Full measurement name - + Depth waist first Full measurement description - + depth_waist_second Short measurement name. Don't use math symbols in name!!!! - + Depth waist second Full measurement name - + Depth waist second Full measurement description @@ -5570,19 +5556,19 @@ Do you want to save your changes? PostfixOperators - + cm centimeter - + mm millimeter - + in inch @@ -6237,31 +6223,31 @@ Do you want to save your changes? Variables - + Line_ Left symbol _ in name - + AngleLine_ Left symbol _ in name - + Arc_ Left symbol _ in name - + Spl_ Left symbol _ in name - + SplPath diff --git a/src/app/share/translations/valentina_fr.ts b/src/app/share/translations/valentina_fr.ts index 91e51541c..3bd53fc36 100644 --- a/src/app/share/translations/valentina_fr.ts +++ b/src/app/share/translations/valentina_fr.ts @@ -94,21 +94,11 @@ Valentina version - - - pushButton_Web_Site - - Contributors - - - label_QT_Version - - Based on Qt %2 (32 bit) @@ -1175,6 +1165,11 @@ Increments + + + Email + + @@ -1244,21 +1239,11 @@ Birth date - - - yyyy-MM-dd - - Sex - - - Mail - - @@ -1356,7 +1341,7 @@ DialogIndividualMeasurements - Dialog + Individual measurements @@ -2277,151 +2262,151 @@ Functions - + sin sine function - + cos cosine function - + tan tangens function - + asin arcus sine function - + acos arcus cosine function - + atan arcus tangens function - + sinh hyperbolic sine function - + cosh hyperbolic cosine - + tanh hyperbolic tangens function - + asinh hyperbolic arcus sine function - + acosh hyperbolic arcus tangens function - + atanh hyperbolic arcur tangens function - + log2 logarithm to the base 2 - + log10 logarithm to the base 10 - + log logarithm to the base 10 - + ln logarithm to base e (2.71828...) - + exp e raised to the power of x - + sqrt square root of a value - + sign sign function -1 if x<0; 1 if x>0 - + rint round to nearest integer - + abs absolute value - + min min of all arguments - + max max of all arguments - + sum sum of all arguments - + avg mean value of all arguments @@ -3400,7 +3385,6 @@ Do you want to save your changes? - across_back_shoulder_width Short measurement name. Don't use math symbols in name!!!! @@ -3419,1964 +3403,1962 @@ Do you want to save your changes? - Back Upper Chest width Full measurement name - Across Back UpperChest, smallest width from armscye to armscye Full measurement description - + upper_back_width Short measurement name. Don't use math symbols in name!!!! - + back_width Short measurement name. Don't use math symbols in name!!!! - + Back Chest width Full measurement name - + Across Back Chest, from armfold to armfold Full measurement description - + bustpoint_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + BustPoint to BustPoint Full measurement name - + Distance between BustPoints, across Chest Full measurement description - + halter_bustpoint_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + Halter Bustpoint to Bustpoint Full measurement name - + Distance from Bustpoint, behind neck, down to Bustpoint Full measurement description - + neck_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + NeckPoint to BustPoint Full measurement name - + From NeckPoint to BustPoint Full measurement description - + crotch_length Short measurement name. Don't use math symbols in name!!!! - + Crotch length Full measurement name - + From Front Waist Center, down to crotch, up to Back Waist Center Full measurement description - + rise_height Short measurement name. Don't use math symbols in name!!!! - + Rise height Full measurement name - + Sit on hard chair, measure from side waist straight down to chair bottom Full measurement description - + shoulder_drop Short measurement name. Don't use math symbols in name!!!! - + Shoulder Drop Full measurement name - + Vertical Distance from NeckPoint level to ShoulderTip level Full measurement description - + shoulder_slope_degrees Short measurement name. Don't use math symbols in name!!!! - + Shoulder Slope degrees Full measurement name - + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer Full measurement description - + front_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Front Shoulder Balance Full measurement name - + ShoulderTip to Front Waist Center Full measurement description - + back_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Back Shoulder Balance Full measurement name - + ShoulderTip to Back Waist Center Full measurement description - + front_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Front Full Length Full measurement name - + NeckPoint straight down front chest to Waistline Full measurement description - + back_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Back Full Length Full measurement name - + Back NeckPoint straight down back chest to Waistline Full measurement description - + front_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Front Neck arc Full measurement name - + NeckPoint to NeckPoint through Front Neck Center Full measurement description - + back_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Back Neck arc Full measurement name - + NeckPoint to NeckPoint across Nape Full measurement description - + front_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + front_upper-bust_arc Full measurement name - + front_upper-bust_arc Full measurement description - + back_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperBust arc Full measurement name - + Back UpperBust side to side Full measurement description - + front_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Front Waist arc Full measurement name - + Front Waist side to side Full measurement description - + back_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Back Waist arc Full measurement name - + Back Waist side to side Full measurement description - + front_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front UpperHip arc Full measurement name - + Front UpperHip side to side Full measurement description - + back_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperHip arc Full measurement name - + Back UpperHip side to side Full measurement description - + front_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front Hip arc Full measurement name - + Front Hip side to side Full measurement description - + back_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back Hip arc Full measurement name - + Back Hip side to side Full measurement description - + chest_slope Short measurement name. Don't use math symbols in name!!!! - + Chest Balance Full measurement name - + NeckPoint to Front ArmfoldPoint Full measurement description - + back_slope Short measurement name. Don't use math symbols in name!!!! - + Back Balance Full measurement name - + NeckPoint to Back ArmfoldPoint Full measurement description - + front_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Front Waist Balance Full measurement name - + NeckPoint across Front Chest to Waist side Full measurement description - + back_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Back Waist Balance Full measurement name - + NeckPoint across Back Chest to Waist side Full measurement description - + front_neck_to_upper_chest_height Short measurement name. Don't use math symbols in name!!!! - + Front UpperChest height Full measurement name - + Front Neck Center straight down to UpperChest line Full measurement description - + front_neck_to_bust_height Short measurement name. Don't use math symbols in name!!!! - + Bust height Full measurement name - + Front Neck Center straight down to Bust line Full measurement description - + armscye_girth Short measurement name. Don't use math symbols in name!!!! - + Armscye Girth Full measurement name - + Around Armscye Full measurement description - + elbow_girth Short measurement name. Don't use math symbols in name!!!! - + Elbow Girth Full measurement name - + Around Elbow with elbow bent Full measurement description - + upper_arm_girth Short measurement name. Don't use math symbols in name!!!! - + Upperarm Girth Full measurement name - + Around UpperArm Full measurement description - + wrist_girth Short measurement name. Don't use math symbols in name!!!! - + Wrist girth Full measurement name - + Around Wrist Full measurement description - + scye_depth Short measurement name. Don't use math symbols in name!!!! - + Armscye depth Full measurement name - + Nape straight down to UnderBust line (same as Back UpperBust height) Full measurement description - + shoulder_and_arm_length Short measurement name. Don't use math symbols in name!!!! - + Shoulder and Arm length Full measurement name - + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + underarm_length Short measurement name. Don't use math symbols in name!!!! - + Underarm length Full measurement name - + Armpit to Wrist, with arm straight and hanging at side Full measurement description - + cervicale_to_wrist_length Short measurement name. Don't use math symbols in name!!!! - + Nape to wrist length Full measurement name - + Nape to Wrist, with elbow bent and hand on hip Full measurement description - + shoulder_to_elbow_length Short measurement name. Don't use math symbols in name!!!! - + Elbow length Full measurement name - + ShoulderTip to Elbow, with elbow bent and hand on hip Full measurement description - + arm_length Short measurement name. Don't use math symbols in name!!!! - + Arm length Full measurement name - + ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + hand_width Short measurement name. Don't use math symbols in name!!!! - + Hand width Full measurement name - + Hand side to side Full measurement description - + hand_length Short measurement name. Don't use math symbols in name!!!! - + Hand length Full measurement name - + Hand Middle Finger tip to wrist Full measurement description - + hand_girth Short measurement name. Don't use math symbols in name!!!! - + Hand girth Full measurement name - + Around Hand Full measurement description - + thigh_girth Short measurement name. Don't use math symbols in name!!!! - + Thigh girth Full measurement name - + Around Thigh Full measurement description - + mid_thigh_girth Short measurement name. Don't use math symbols in name!!!! - + Midthigh girth Full measurement name - + Around MidThigh Full measurement description - + knee_girth Short measurement name. Don't use math symbols in name!!!! - + Knee girth Full measurement name - + Around Knee Full measurement description - + calf_girth Short measurement name. Don't use math symbols in name!!!! - + Calf girth Full measurement name - + Around Calf Full measurement description - + ankle_girth Short measurement name. Don't use math symbols in name!!!! - + Ankle girth Full measurement name - + Around Ankle Full measurement description - + knee_height Short measurement name. Don't use math symbols in name!!!! - + Knee height Full measurement name - + Knee to Floor Full measurement description - + ankle_height Short measurement name. Don't use math symbols in name!!!! - + Ankle height Full measurement name - + Ankle to Floor Full measurement description - + foot_width Short measurement name. Don't use math symbols in name!!!! - + Foot width Full measurement name - + Widest part of Foot side to side Full measurement description - + foot_length Short measurement name. Don't use math symbols in name!!!! - + Foot length Full measurement name - + Tip of Longest Toe straight to back of heel Full measurement description - + height Short measurement name. Don't use math symbols in name!!!! - + Total Height Full measurement name - + Top of head to floor Full measurement description - + cervicale_height Short measurement name. Don't use math symbols in name!!!! - + Nape height Full measurement name - + Nape to Floor Full measurement description - + cervicale_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Nape to knee height Full measurement name - + Nape to Knee Full measurement description - + waist_height Short measurement name. Don't use math symbols in name!!!! - + Waist height Full measurement name - + Waist side to floor Full measurement description - + high_hip_height Short measurement name. Don't use math symbols in name!!!! - + HighHip height Full measurement name - + HighHip side to Floor Full measurement description - + hip_height Short measurement name. Don't use math symbols in name!!!! - + Hip height Full measurement name - + Hip side to Floor Full measurement description - + waist_to_hip_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Hip height Full measurement name - + Waist side to Hip Full measurement description - + waist_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Knee height Full measurement name - + Waist side to Knee Full measurement description - + crotch_height Short measurement name. Don't use math symbols in name!!!! - + Crotch height/Inseam Full measurement name - + Crotch to Floor along inside leg Full measurement description - + size Short measurement name. Don't use math symbols in name!!!! - + Size Full measurement name - + Size Full measurement description - + height_front_neck_base_point Short measurement name. Don't use math symbols in name!!!! - + Height front neck base point Full measurement name - + Height of the point base of the neck in front Full measurement description - + height_base_neck_side_point Short measurement name. Don't use math symbols in name!!!! - + Height base neck side point Full measurement name - + Height of the base of the neck side point Full measurement description - + height_shoulder_point Short measurement name. Don't use math symbols in name!!!! - + Height shoulder point Full measurement name - + The height of the shoulder point Full measurement description - + height_nipple_point Short measurement name. Don't use math symbols in name!!!! - + Height nipple point Full measurement name - + Height nipple point Full measurement description - + height_back_angle_axilla Short measurement name. Don't use math symbols in name!!!! - + Height back angle axilla Full measurement name - + Height back angle axilla Full measurement description - + height_scapular_point Short measurement name. Don't use math symbols in name!!!! - + Height scapular point Full measurement name - + Height scapular point Full measurement description - + height_under_buttock_folds Short measurement name. Don't use math symbols in name!!!! - + Height under buttock folds Full measurement name - + Height under buttock folds Full measurement description - + hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Hips excluding protruding abdomen Full measurement name - + Hips excluding protruding abdomen Full measurement description - + girth_foot_instep Short measurement name. Don't use math symbols in name!!!! - + Girth foot instep Full measurement name - + Girth foot instep Full measurement description - + side_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Side waist to floor Full measurement name - + The distance from the side waist to floor Full measurement description - + front_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Front waist to floor Full measurement name - + The distance from the front waist to floor Full measurement description - + arc_through_groin_area Short measurement name. Don't use math symbols in name!!!! - + Arc through groin area Full measurement name - + Arc through groin area Full measurement description - + waist_to_plane_seat Short measurement name. Don't use math symbols in name!!!! - + Waist to plane seat Full measurement name - + The distance from the waist to the plane seat Full measurement description - + neck_to_radial_point Short measurement name. Don't use math symbols in name!!!! - + Neck to radial point Full measurement name - + The distance from the base of the neck to the side of the radial point Full measurement description - + neck_to_third_finger Short measurement name. Don't use math symbols in name!!!! - + Neck to third finger Full measurement name - + Distance from the base of the neck side point to the end of the third finger Full measurement description - + neck_to_first_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Neck to first line chest circumference Full measurement name - + The distance from the base of the neck to the side of the first line in front of chest circumference Full measurement description - + front_waist_length Short measurement name. Don't use math symbols in name!!!! - + Front waist length Full measurement name - + The distance from the base of the neck to the waist side front (waist length in the front) Full measurement description - + arc_through_shoulder_joint Short measurement name. Don't use math symbols in name!!!! - + Arc through shoulder joint Full measurement name - + Arc through the highest point of the shoulder joint Full measurement description - + neck_to_back_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Neck to back line chest circumference Full measurement name - + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes Full measurement description - + waist_to_neck_side Short measurement name. Don't use math symbols in name!!!! - + Waist to neck side Full measurement name - + The distance from the waist to the back base of the neck side point Full measurement description - + arc_length_upper_body Short measurement name. Don't use math symbols in name!!!! - + Arc length upper body Full measurement name - + Arc length of the upper body through the base of the neck side point Full measurement description - + chest_width Short measurement name. Don't use math symbols in name!!!! - + Chest width Full measurement name - + Chest width Full measurement description - + anteroposterior_diameter_hands Short measurement name. Don't use math symbols in name!!!! - + Anteroposterior diameter hands Full measurement name - + Anteroposterior diameter of the hands Full measurement description - + height_clavicular_point Short measurement name. Don't use math symbols in name!!!! - + Height clavicular point Full measurement name - + Height clavicular point Full measurement description - + height_armhole_slash Short measurement name. Don't use math symbols in name!!!! - + Height armhole slash Full measurement name - + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) Full measurement description - + slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Slash shoulder height Full measurement name - + Slash shoulder height Full measurement description - + half_girth_neck Short measurement name. Don't use math symbols in name!!!! - + Half girth neck Full measurement name - + Half girth neck Full measurement description - + half_girth_neck_for_shirts Short measurement name. Don't use math symbols in name!!!! - + Half girth neck for shirts Full measurement name - + Half girth neck for shirts Full measurement description - + half_girth_chest_first Short measurement name. Don't use math symbols in name!!!! - + Half girth chest first Full measurement name - + Half girth chest first Full measurement description - + half_girth_chest_second Short measurement name. Don't use math symbols in name!!!! - + Half girth chest second Full measurement name - + Half girth chest second Full measurement description - + half_girth_chest_third Short measurement name. Don't use math symbols in name!!!! - + Half girth chest third Full measurement name - + Half girth chest third Full measurement description - + half_girth_waist Short measurement name. Don't use math symbols in name!!!! - + Half girth waist Full measurement name - + Half girth waist Full measurement description - + half_girth_hips_considering_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Half girth hips considering protruding abdomen Full measurement name - + Half girth hips considering protruding abdomen Full measurement description - + half_girth_hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Half girth hips excluding protruding abdomen Full measurement name - + Half girth hips excluding protruding abdomen Full measurement description - + girth_knee_flexed_feet Short measurement name. Don't use math symbols in name!!!! - + Girth knee flexed feet Full measurement name - + Girth knee flexed feet Full measurement description - + neck_transverse_diameter Short measurement name. Don't use math symbols in name!!!! - + Neck transverse diameter Full measurement name - + Neck transverse diameter Full measurement description - + front_slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Front slash shoulder height Full measurement name - + Front slash shoulder height Full measurement description - + neck_to_front_waist_line Short measurement name. Don't use math symbols in name!!!! - + Neck to front waist line Full measurement name - + The distance from the base of the neck to the waist line front Full measurement description - + hand_vertical_diameter Short measurement name. Don't use math symbols in name!!!! - + Hand vertical diameter Full measurement name - + Hand vertical diameter Full measurement description - + neck_to_knee_point Short measurement name. Don't use math symbols in name!!!! - + Neck to knee point Full measurement name - + Distance from neck to knee point Full measurement description - + waist_to_knee Short measurement name. Don't use math symbols in name!!!! - + Waist to knee Full measurement name - + The distance from the waist to the knee Full measurement description - + shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Shoulder height Full measurement name - + Shoulder height Full measurement description - + head_height Short measurement name. Don't use math symbols in name!!!! - + Head height Full measurement name - + Head height Full measurement description - + body_position Short measurement name. Don't use math symbols in name!!!! - + Body position Full measurement name - + Body position Full measurement description - + arc_behind_shoulder_girdle Short measurement name. Don't use math symbols in name!!!! - + Arc behind shoulder girdle Full measurement name - + Arc behind the shoulder girdle Full measurement description - + neck_to_neck_base Short measurement name. Don't use math symbols in name!!!! - + Neck to neck base Full measurement name - + Distance from neck point to point on the base of the neck side neck girth measurement line Full measurement description - + depth_waist_first Short measurement name. Don't use math symbols in name!!!! - + Depth waist first Full measurement name - + Depth waist first Full measurement description - + depth_waist_second Short measurement name. Don't use math symbols in name!!!! - + Depth waist second Full measurement name - + Depth waist second Full measurement description @@ -5418,19 +5400,19 @@ Do you want to save your changes? PostfixOperators - + cm centimeter - + mm millimeter - + in inch @@ -5958,31 +5940,31 @@ Do you want to save your changes? Variables - + Line_ Left symbol _ in name - + AngleLine_ Left symbol _ in name - + Arc_ Left symbol _ in name - + Spl_ Left symbol _ in name - + SplPath diff --git a/src/app/share/translations/valentina_he_IL.ts b/src/app/share/translations/valentina_he_IL.ts index 2fa7feb54..553f72530 100644 --- a/src/app/share/translations/valentina_he_IL.ts +++ b/src/app/share/translations/valentina_he_IL.ts @@ -94,21 +94,11 @@ Valentina version - - - pushButton_Web_Site - - Contributors - - - label_QT_Version - - Based on Qt %2 (32 bit) @@ -1175,6 +1165,11 @@ Increments + + + Email + + @@ -1244,21 +1239,11 @@ Birth date - - - yyyy-MM-dd - - Sex - - - Mail - - @@ -1356,7 +1341,7 @@ DialogIndividualMeasurements - Dialog + Individual measurements @@ -2277,151 +2262,151 @@ Functions - + sin sine function - + cos cosine function - + tan tangens function - + asin arcus sine function - + acos arcus cosine function - + atan arcus tangens function - + sinh hyperbolic sine function - + cosh hyperbolic cosine - + tanh hyperbolic tangens function - + asinh hyperbolic arcus sine function - + acosh hyperbolic arcus tangens function - + atanh hyperbolic arcur tangens function - + log2 logarithm to the base 2 - + log10 logarithm to the base 10 - + log logarithm to the base 10 - + ln logarithm to base e (2.71828...) - + exp e raised to the power of x - + sqrt square root of a value - + sign sign function -1 if x<0; 1 if x>0 - + rint round to nearest integer - + abs absolute value - + min min of all arguments - + max max of all arguments - + sum sum of all arguments - + avg mean value of all arguments @@ -3412,7 +3397,6 @@ Do you want to save your changes? - across_back_shoulder_width Short measurement name. Don't use math symbols in name!!!! @@ -3431,1964 +3415,1962 @@ Do you want to save your changes? - Back Upper Chest width Full measurement name - Across Back UpperChest, smallest width from armscye to armscye Full measurement description - + upper_back_width Short measurement name. Don't use math symbols in name!!!! - + back_width Short measurement name. Don't use math symbols in name!!!! - + Back Chest width Full measurement name - + Across Back Chest, from armfold to armfold Full measurement description - + bustpoint_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + BustPoint to BustPoint Full measurement name - + Distance between BustPoints, across Chest Full measurement description - + halter_bustpoint_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + Halter Bustpoint to Bustpoint Full measurement name - + Distance from Bustpoint, behind neck, down to Bustpoint Full measurement description - + neck_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + NeckPoint to BustPoint Full measurement name - + From NeckPoint to BustPoint Full measurement description - + crotch_length Short measurement name. Don't use math symbols in name!!!! - + Crotch length Full measurement name - + From Front Waist Center, down to crotch, up to Back Waist Center Full measurement description - + rise_height Short measurement name. Don't use math symbols in name!!!! - + Rise height Full measurement name - + Sit on hard chair, measure from side waist straight down to chair bottom Full measurement description - + shoulder_drop Short measurement name. Don't use math symbols in name!!!! - + Shoulder Drop Full measurement name - + Vertical Distance from NeckPoint level to ShoulderTip level Full measurement description - + shoulder_slope_degrees Short measurement name. Don't use math symbols in name!!!! - + Shoulder Slope degrees Full measurement name - + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer Full measurement description - + front_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Front Shoulder Balance Full measurement name - + ShoulderTip to Front Waist Center Full measurement description - + back_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Back Shoulder Balance Full measurement name - + ShoulderTip to Back Waist Center Full measurement description - + front_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Front Full Length Full measurement name - + NeckPoint straight down front chest to Waistline Full measurement description - + back_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Back Full Length Full measurement name - + Back NeckPoint straight down back chest to Waistline Full measurement description - + front_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Front Neck arc Full measurement name - + NeckPoint to NeckPoint through Front Neck Center Full measurement description - + back_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Back Neck arc Full measurement name - + NeckPoint to NeckPoint across Nape Full measurement description - + front_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + front_upper-bust_arc Full measurement name - + front_upper-bust_arc Full measurement description - + back_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperBust arc Full measurement name - + Back UpperBust side to side Full measurement description - + front_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Front Waist arc Full measurement name - + Front Waist side to side Full measurement description - + back_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Back Waist arc Full measurement name - + Back Waist side to side Full measurement description - + front_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front UpperHip arc Full measurement name - + Front UpperHip side to side Full measurement description - + back_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperHip arc Full measurement name - + Back UpperHip side to side Full measurement description - + front_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front Hip arc Full measurement name - + Front Hip side to side Full measurement description - + back_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back Hip arc Full measurement name - + Back Hip side to side Full measurement description - + chest_slope Short measurement name. Don't use math symbols in name!!!! - + Chest Balance Full measurement name - + NeckPoint to Front ArmfoldPoint Full measurement description - + back_slope Short measurement name. Don't use math symbols in name!!!! - + Back Balance Full measurement name - + NeckPoint to Back ArmfoldPoint Full measurement description - + front_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Front Waist Balance Full measurement name - + NeckPoint across Front Chest to Waist side Full measurement description - + back_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Back Waist Balance Full measurement name - + NeckPoint across Back Chest to Waist side Full measurement description - + front_neck_to_upper_chest_height Short measurement name. Don't use math symbols in name!!!! - + Front UpperChest height Full measurement name - + Front Neck Center straight down to UpperChest line Full measurement description - + front_neck_to_bust_height Short measurement name. Don't use math symbols in name!!!! - + Bust height Full measurement name - + Front Neck Center straight down to Bust line Full measurement description - + armscye_girth Short measurement name. Don't use math symbols in name!!!! - + Armscye Girth Full measurement name - + Around Armscye Full measurement description - + elbow_girth Short measurement name. Don't use math symbols in name!!!! - + Elbow Girth Full measurement name - + Around Elbow with elbow bent Full measurement description - + upper_arm_girth Short measurement name. Don't use math symbols in name!!!! - + Upperarm Girth Full measurement name - + Around UpperArm Full measurement description - + wrist_girth Short measurement name. Don't use math symbols in name!!!! - + Wrist girth Full measurement name - + Around Wrist Full measurement description - + scye_depth Short measurement name. Don't use math symbols in name!!!! - + Armscye depth Full measurement name - + Nape straight down to UnderBust line (same as Back UpperBust height) Full measurement description - + shoulder_and_arm_length Short measurement name. Don't use math symbols in name!!!! - + Shoulder and Arm length Full measurement name - + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + underarm_length Short measurement name. Don't use math symbols in name!!!! - + Underarm length Full measurement name - + Armpit to Wrist, with arm straight and hanging at side Full measurement description - + cervicale_to_wrist_length Short measurement name. Don't use math symbols in name!!!! - + Nape to wrist length Full measurement name - + Nape to Wrist, with elbow bent and hand on hip Full measurement description - + shoulder_to_elbow_length Short measurement name. Don't use math symbols in name!!!! - + Elbow length Full measurement name - + ShoulderTip to Elbow, with elbow bent and hand on hip Full measurement description - + arm_length Short measurement name. Don't use math symbols in name!!!! - + Arm length Full measurement name - + ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + hand_width Short measurement name. Don't use math symbols in name!!!! - + Hand width Full measurement name - + Hand side to side Full measurement description - + hand_length Short measurement name. Don't use math symbols in name!!!! - + Hand length Full measurement name - + Hand Middle Finger tip to wrist Full measurement description - + hand_girth Short measurement name. Don't use math symbols in name!!!! - + Hand girth Full measurement name - + Around Hand Full measurement description - + thigh_girth Short measurement name. Don't use math symbols in name!!!! - + Thigh girth Full measurement name - + Around Thigh Full measurement description - + mid_thigh_girth Short measurement name. Don't use math symbols in name!!!! - + Midthigh girth Full measurement name - + Around MidThigh Full measurement description - + knee_girth Short measurement name. Don't use math symbols in name!!!! - + Knee girth Full measurement name - + Around Knee Full measurement description - + calf_girth Short measurement name. Don't use math symbols in name!!!! - + Calf girth Full measurement name - + Around Calf Full measurement description - + ankle_girth Short measurement name. Don't use math symbols in name!!!! - + Ankle girth Full measurement name - + Around Ankle Full measurement description - + knee_height Short measurement name. Don't use math symbols in name!!!! - + Knee height Full measurement name - + Knee to Floor Full measurement description - + ankle_height Short measurement name. Don't use math symbols in name!!!! - + Ankle height Full measurement name - + Ankle to Floor Full measurement description - + foot_width Short measurement name. Don't use math symbols in name!!!! - + Foot width Full measurement name - + Widest part of Foot side to side Full measurement description - + foot_length Short measurement name. Don't use math symbols in name!!!! - + Foot length Full measurement name - + Tip of Longest Toe straight to back of heel Full measurement description - + height Short measurement name. Don't use math symbols in name!!!! - + Total Height Full measurement name - + Top of head to floor Full measurement description - + cervicale_height Short measurement name. Don't use math symbols in name!!!! - + Nape height Full measurement name - + Nape to Floor Full measurement description - + cervicale_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Nape to knee height Full measurement name - + Nape to Knee Full measurement description - + waist_height Short measurement name. Don't use math symbols in name!!!! - + Waist height Full measurement name - + Waist side to floor Full measurement description - + high_hip_height Short measurement name. Don't use math symbols in name!!!! - + HighHip height Full measurement name - + HighHip side to Floor Full measurement description - + hip_height Short measurement name. Don't use math symbols in name!!!! - + Hip height Full measurement name - + Hip side to Floor Full measurement description - + waist_to_hip_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Hip height Full measurement name - + Waist side to Hip Full measurement description - + waist_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Knee height Full measurement name - + Waist side to Knee Full measurement description - + crotch_height Short measurement name. Don't use math symbols in name!!!! - + Crotch height/Inseam Full measurement name - + Crotch to Floor along inside leg Full measurement description - + size Short measurement name. Don't use math symbols in name!!!! - + Size Full measurement name - + Size Full measurement description - + height_front_neck_base_point Short measurement name. Don't use math symbols in name!!!! - + Height front neck base point Full measurement name - + Height of the point base of the neck in front Full measurement description - + height_base_neck_side_point Short measurement name. Don't use math symbols in name!!!! - + Height base neck side point Full measurement name - + Height of the base of the neck side point Full measurement description - + height_shoulder_point Short measurement name. Don't use math symbols in name!!!! - + Height shoulder point Full measurement name - + The height of the shoulder point Full measurement description - + height_nipple_point Short measurement name. Don't use math symbols in name!!!! - + Height nipple point Full measurement name - + Height nipple point Full measurement description - + height_back_angle_axilla Short measurement name. Don't use math symbols in name!!!! - + Height back angle axilla Full measurement name - + Height back angle axilla Full measurement description - + height_scapular_point Short measurement name. Don't use math symbols in name!!!! - + Height scapular point Full measurement name - + Height scapular point Full measurement description - + height_under_buttock_folds Short measurement name. Don't use math symbols in name!!!! - + Height under buttock folds Full measurement name - + Height under buttock folds Full measurement description - + hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Hips excluding protruding abdomen Full measurement name - + Hips excluding protruding abdomen Full measurement description - + girth_foot_instep Short measurement name. Don't use math symbols in name!!!! - + Girth foot instep Full measurement name - + Girth foot instep Full measurement description - + side_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Side waist to floor Full measurement name - + The distance from the side waist to floor Full measurement description - + front_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Front waist to floor Full measurement name - + The distance from the front waist to floor Full measurement description - + arc_through_groin_area Short measurement name. Don't use math symbols in name!!!! - + Arc through groin area Full measurement name - + Arc through groin area Full measurement description - + waist_to_plane_seat Short measurement name. Don't use math symbols in name!!!! - + Waist to plane seat Full measurement name - + The distance from the waist to the plane seat Full measurement description - + neck_to_radial_point Short measurement name. Don't use math symbols in name!!!! - + Neck to radial point Full measurement name - + The distance from the base of the neck to the side of the radial point Full measurement description - + neck_to_third_finger Short measurement name. Don't use math symbols in name!!!! - + Neck to third finger Full measurement name - + Distance from the base of the neck side point to the end of the third finger Full measurement description - + neck_to_first_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Neck to first line chest circumference Full measurement name - + The distance from the base of the neck to the side of the first line in front of chest circumference Full measurement description - + front_waist_length Short measurement name. Don't use math symbols in name!!!! - + Front waist length Full measurement name - + The distance from the base of the neck to the waist side front (waist length in the front) Full measurement description - + arc_through_shoulder_joint Short measurement name. Don't use math symbols in name!!!! - + Arc through shoulder joint Full measurement name - + Arc through the highest point of the shoulder joint Full measurement description - + neck_to_back_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Neck to back line chest circumference Full measurement name - + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes Full measurement description - + waist_to_neck_side Short measurement name. Don't use math symbols in name!!!! - + Waist to neck side Full measurement name - + The distance from the waist to the back base of the neck side point Full measurement description - + arc_length_upper_body Short measurement name. Don't use math symbols in name!!!! - + Arc length upper body Full measurement name - + Arc length of the upper body through the base of the neck side point Full measurement description - + chest_width Short measurement name. Don't use math symbols in name!!!! - + Chest width Full measurement name - + Chest width Full measurement description - + anteroposterior_diameter_hands Short measurement name. Don't use math symbols in name!!!! - + Anteroposterior diameter hands Full measurement name - + Anteroposterior diameter of the hands Full measurement description - + height_clavicular_point Short measurement name. Don't use math symbols in name!!!! - + Height clavicular point Full measurement name - + Height clavicular point Full measurement description - + height_armhole_slash Short measurement name. Don't use math symbols in name!!!! - + Height armhole slash Full measurement name - + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) Full measurement description - + slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Slash shoulder height Full measurement name - + Slash shoulder height Full measurement description - + half_girth_neck Short measurement name. Don't use math symbols in name!!!! - + Half girth neck Full measurement name - + Half girth neck Full measurement description - + half_girth_neck_for_shirts Short measurement name. Don't use math symbols in name!!!! - + Half girth neck for shirts Full measurement name - + Half girth neck for shirts Full measurement description - + half_girth_chest_first Short measurement name. Don't use math symbols in name!!!! - + Half girth chest first Full measurement name - + Half girth chest first Full measurement description - + half_girth_chest_second Short measurement name. Don't use math symbols in name!!!! - + Half girth chest second Full measurement name - + Half girth chest second Full measurement description - + half_girth_chest_third Short measurement name. Don't use math symbols in name!!!! - + Half girth chest third Full measurement name - + Half girth chest third Full measurement description - + half_girth_waist Short measurement name. Don't use math symbols in name!!!! - + Half girth waist Full measurement name - + Half girth waist Full measurement description - + half_girth_hips_considering_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Half girth hips considering protruding abdomen Full measurement name - + Half girth hips considering protruding abdomen Full measurement description - + half_girth_hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Half girth hips excluding protruding abdomen Full measurement name - + Half girth hips excluding protruding abdomen Full measurement description - + girth_knee_flexed_feet Short measurement name. Don't use math symbols in name!!!! - + Girth knee flexed feet Full measurement name - + Girth knee flexed feet Full measurement description - + neck_transverse_diameter Short measurement name. Don't use math symbols in name!!!! - + Neck transverse diameter Full measurement name - + Neck transverse diameter Full measurement description - + front_slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Front slash shoulder height Full measurement name - + Front slash shoulder height Full measurement description - + neck_to_front_waist_line Short measurement name. Don't use math symbols in name!!!! - + Neck to front waist line Full measurement name - + The distance from the base of the neck to the waist line front Full measurement description - + hand_vertical_diameter Short measurement name. Don't use math symbols in name!!!! - + Hand vertical diameter Full measurement name - + Hand vertical diameter Full measurement description - + neck_to_knee_point Short measurement name. Don't use math symbols in name!!!! - + Neck to knee point Full measurement name - + Distance from neck to knee point Full measurement description - + waist_to_knee Short measurement name. Don't use math symbols in name!!!! - + Waist to knee Full measurement name - + The distance from the waist to the knee Full measurement description - + shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Shoulder height Full measurement name - + Shoulder height Full measurement description - + head_height Short measurement name. Don't use math symbols in name!!!! - + Head height Full measurement name - + Head height Full measurement description - + body_position Short measurement name. Don't use math symbols in name!!!! - + Body position Full measurement name - + Body position Full measurement description - + arc_behind_shoulder_girdle Short measurement name. Don't use math symbols in name!!!! - + Arc behind shoulder girdle Full measurement name - + Arc behind the shoulder girdle Full measurement description - + neck_to_neck_base Short measurement name. Don't use math symbols in name!!!! - + Neck to neck base Full measurement name - + Distance from neck point to point on the base of the neck side neck girth measurement line Full measurement description - + depth_waist_first Short measurement name. Don't use math symbols in name!!!! - + Depth waist first Full measurement name - + Depth waist first Full measurement description - + depth_waist_second Short measurement name. Don't use math symbols in name!!!! - + Depth waist second Full measurement name - + Depth waist second Full measurement description @@ -5430,19 +5412,19 @@ Do you want to save your changes? PostfixOperators - + cm centimeter - + mm millimeter - + in inch @@ -5970,31 +5952,31 @@ Do you want to save your changes? Variables - + Line_ Left symbol _ in name - + AngleLine_ Left symbol _ in name - + Arc_ Left symbol _ in name - + Spl_ Left symbol _ in name - + SplPath diff --git a/src/app/share/translations/valentina_it.ts b/src/app/share/translations/valentina_it.ts index 4af94d63b..ff5be508e 100644 --- a/src/app/share/translations/valentina_it.ts +++ b/src/app/share/translations/valentina_it.ts @@ -94,21 +94,11 @@ Valentina version - - - pushButton_Web_Site - - Contributors - - - label_QT_Version - - Based on Qt %2 (32 bit) @@ -1175,6 +1165,11 @@ Increments + + + Email + + @@ -1244,21 +1239,11 @@ Birth date - - - yyyy-MM-dd - - Sex - - - Mail - - @@ -1356,7 +1341,7 @@ DialogIndividualMeasurements - Dialog + Individual measurements @@ -2277,151 +2262,151 @@ Functions - + sin sine function - + cos cosine function - + tan tangens function - + asin arcus sine function - + acos arcus cosine function - + atan arcus tangens function - + sinh hyperbolic sine function - + cosh hyperbolic cosine - + tanh hyperbolic tangens function - + asinh hyperbolic arcus sine function - + acosh hyperbolic arcus tangens function - + atanh hyperbolic arcur tangens function - + log2 logarithm to the base 2 - + log10 logarithm to the base 10 - + log logarithm to the base 10 - + ln logarithm to base e (2.71828...) - + exp e raised to the power of x - + sqrt square root of a value - + sign sign function -1 if x<0; 1 if x>0 - + rint round to nearest integer - + abs absolute value - + min min of all arguments - + max max of all arguments - + sum sum of all arguments - + avg mean value of all arguments @@ -3404,7 +3389,6 @@ Do you want to save your changes? - across_back_shoulder_width Short measurement name. Don't use math symbols in name!!!! @@ -3423,1964 +3407,1962 @@ Do you want to save your changes? - Back Upper Chest width Full measurement name - Across Back UpperChest, smallest width from armscye to armscye Full measurement description - + upper_back_width Short measurement name. Don't use math symbols in name!!!! - + back_width Short measurement name. Don't use math symbols in name!!!! - + Back Chest width Full measurement name - + Across Back Chest, from armfold to armfold Full measurement description - + bustpoint_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + BustPoint to BustPoint Full measurement name - + Distance between BustPoints, across Chest Full measurement description - + halter_bustpoint_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + Halter Bustpoint to Bustpoint Full measurement name - + Distance from Bustpoint, behind neck, down to Bustpoint Full measurement description - + neck_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + NeckPoint to BustPoint Full measurement name - + From NeckPoint to BustPoint Full measurement description - + crotch_length Short measurement name. Don't use math symbols in name!!!! - + Crotch length Full measurement name - + From Front Waist Center, down to crotch, up to Back Waist Center Full measurement description - + rise_height Short measurement name. Don't use math symbols in name!!!! - + Rise height Full measurement name - + Sit on hard chair, measure from side waist straight down to chair bottom Full measurement description - + shoulder_drop Short measurement name. Don't use math symbols in name!!!! - + Shoulder Drop Full measurement name - + Vertical Distance from NeckPoint level to ShoulderTip level Full measurement description - + shoulder_slope_degrees Short measurement name. Don't use math symbols in name!!!! - + Shoulder Slope degrees Full measurement name - + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer Full measurement description - + front_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Front Shoulder Balance Full measurement name - + ShoulderTip to Front Waist Center Full measurement description - + back_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Back Shoulder Balance Full measurement name - + ShoulderTip to Back Waist Center Full measurement description - + front_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Front Full Length Full measurement name - + NeckPoint straight down front chest to Waistline Full measurement description - + back_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Back Full Length Full measurement name - + Back NeckPoint straight down back chest to Waistline Full measurement description - + front_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Front Neck arc Full measurement name - + NeckPoint to NeckPoint through Front Neck Center Full measurement description - + back_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Back Neck arc Full measurement name - + NeckPoint to NeckPoint across Nape Full measurement description - + front_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + front_upper-bust_arc Full measurement name - + front_upper-bust_arc Full measurement description - + back_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperBust arc Full measurement name - + Back UpperBust side to side Full measurement description - + front_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Front Waist arc Full measurement name - + Front Waist side to side Full measurement description - + back_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Back Waist arc Full measurement name - + Back Waist side to side Full measurement description - + front_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front UpperHip arc Full measurement name - + Front UpperHip side to side Full measurement description - + back_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperHip arc Full measurement name - + Back UpperHip side to side Full measurement description - + front_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front Hip arc Full measurement name - + Front Hip side to side Full measurement description - + back_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back Hip arc Full measurement name - + Back Hip side to side Full measurement description - + chest_slope Short measurement name. Don't use math symbols in name!!!! - + Chest Balance Full measurement name - + NeckPoint to Front ArmfoldPoint Full measurement description - + back_slope Short measurement name. Don't use math symbols in name!!!! - + Back Balance Full measurement name - + NeckPoint to Back ArmfoldPoint Full measurement description - + front_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Front Waist Balance Full measurement name - + NeckPoint across Front Chest to Waist side Full measurement description - + back_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Back Waist Balance Full measurement name - + NeckPoint across Back Chest to Waist side Full measurement description - + front_neck_to_upper_chest_height Short measurement name. Don't use math symbols in name!!!! - + Front UpperChest height Full measurement name - + Front Neck Center straight down to UpperChest line Full measurement description - + front_neck_to_bust_height Short measurement name. Don't use math symbols in name!!!! - + Bust height Full measurement name - + Front Neck Center straight down to Bust line Full measurement description - + armscye_girth Short measurement name. Don't use math symbols in name!!!! - + Armscye Girth Full measurement name - + Around Armscye Full measurement description - + elbow_girth Short measurement name. Don't use math symbols in name!!!! - + Elbow Girth Full measurement name - + Around Elbow with elbow bent Full measurement description - + upper_arm_girth Short measurement name. Don't use math symbols in name!!!! - + Upperarm Girth Full measurement name - + Around UpperArm Full measurement description - + wrist_girth Short measurement name. Don't use math symbols in name!!!! - + Wrist girth Full measurement name - + Around Wrist Full measurement description - + scye_depth Short measurement name. Don't use math symbols in name!!!! - + Armscye depth Full measurement name - + Nape straight down to UnderBust line (same as Back UpperBust height) Full measurement description - + shoulder_and_arm_length Short measurement name. Don't use math symbols in name!!!! - + Shoulder and Arm length Full measurement name - + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + underarm_length Short measurement name. Don't use math symbols in name!!!! - + Underarm length Full measurement name - + Armpit to Wrist, with arm straight and hanging at side Full measurement description - + cervicale_to_wrist_length Short measurement name. Don't use math symbols in name!!!! - + Nape to wrist length Full measurement name - + Nape to Wrist, with elbow bent and hand on hip Full measurement description - + shoulder_to_elbow_length Short measurement name. Don't use math symbols in name!!!! - + Elbow length Full measurement name - + ShoulderTip to Elbow, with elbow bent and hand on hip Full measurement description - + arm_length Short measurement name. Don't use math symbols in name!!!! - + Arm length Full measurement name - + ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + hand_width Short measurement name. Don't use math symbols in name!!!! - + Hand width Full measurement name - + Hand side to side Full measurement description - + hand_length Short measurement name. Don't use math symbols in name!!!! - + Hand length Full measurement name - + Hand Middle Finger tip to wrist Full measurement description - + hand_girth Short measurement name. Don't use math symbols in name!!!! - + Hand girth Full measurement name - + Around Hand Full measurement description - + thigh_girth Short measurement name. Don't use math symbols in name!!!! - + Thigh girth Full measurement name - + Around Thigh Full measurement description - + mid_thigh_girth Short measurement name. Don't use math symbols in name!!!! - + Midthigh girth Full measurement name - + Around MidThigh Full measurement description - + knee_girth Short measurement name. Don't use math symbols in name!!!! - + Knee girth Full measurement name - + Around Knee Full measurement description - + calf_girth Short measurement name. Don't use math symbols in name!!!! - + Calf girth Full measurement name - + Around Calf Full measurement description - + ankle_girth Short measurement name. Don't use math symbols in name!!!! - + Ankle girth Full measurement name - + Around Ankle Full measurement description - + knee_height Short measurement name. Don't use math symbols in name!!!! - + Knee height Full measurement name - + Knee to Floor Full measurement description - + ankle_height Short measurement name. Don't use math symbols in name!!!! - + Ankle height Full measurement name - + Ankle to Floor Full measurement description - + foot_width Short measurement name. Don't use math symbols in name!!!! - + Foot width Full measurement name - + Widest part of Foot side to side Full measurement description - + foot_length Short measurement name. Don't use math symbols in name!!!! - + Foot length Full measurement name - + Tip of Longest Toe straight to back of heel Full measurement description - + height Short measurement name. Don't use math symbols in name!!!! - + Total Height Full measurement name - + Top of head to floor Full measurement description - + cervicale_height Short measurement name. Don't use math symbols in name!!!! - + Nape height Full measurement name - + Nape to Floor Full measurement description - + cervicale_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Nape to knee height Full measurement name - + Nape to Knee Full measurement description - + waist_height Short measurement name. Don't use math symbols in name!!!! - + Waist height Full measurement name - + Waist side to floor Full measurement description - + high_hip_height Short measurement name. Don't use math symbols in name!!!! - + HighHip height Full measurement name - + HighHip side to Floor Full measurement description - + hip_height Short measurement name. Don't use math symbols in name!!!! - + Hip height Full measurement name - + Hip side to Floor Full measurement description - + waist_to_hip_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Hip height Full measurement name - + Waist side to Hip Full measurement description - + waist_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Knee height Full measurement name - + Waist side to Knee Full measurement description - + crotch_height Short measurement name. Don't use math symbols in name!!!! - + Crotch height/Inseam Full measurement name - + Crotch to Floor along inside leg Full measurement description - + size Short measurement name. Don't use math symbols in name!!!! - + Size Full measurement name - + Size Full measurement description - + height_front_neck_base_point Short measurement name. Don't use math symbols in name!!!! - + Height front neck base point Full measurement name - + Height of the point base of the neck in front Full measurement description - + height_base_neck_side_point Short measurement name. Don't use math symbols in name!!!! - + Height base neck side point Full measurement name - + Height of the base of the neck side point Full measurement description - + height_shoulder_point Short measurement name. Don't use math symbols in name!!!! - + Height shoulder point Full measurement name - + The height of the shoulder point Full measurement description - + height_nipple_point Short measurement name. Don't use math symbols in name!!!! - + Height nipple point Full measurement name - + Height nipple point Full measurement description - + height_back_angle_axilla Short measurement name. Don't use math symbols in name!!!! - + Height back angle axilla Full measurement name - + Height back angle axilla Full measurement description - + height_scapular_point Short measurement name. Don't use math symbols in name!!!! - + Height scapular point Full measurement name - + Height scapular point Full measurement description - + height_under_buttock_folds Short measurement name. Don't use math symbols in name!!!! - + Height under buttock folds Full measurement name - + Height under buttock folds Full measurement description - + hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Hips excluding protruding abdomen Full measurement name - + Hips excluding protruding abdomen Full measurement description - + girth_foot_instep Short measurement name. Don't use math symbols in name!!!! - + Girth foot instep Full measurement name - + Girth foot instep Full measurement description - + side_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Side waist to floor Full measurement name - + The distance from the side waist to floor Full measurement description - + front_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Front waist to floor Full measurement name - + The distance from the front waist to floor Full measurement description - + arc_through_groin_area Short measurement name. Don't use math symbols in name!!!! - + Arc through groin area Full measurement name - + Arc through groin area Full measurement description - + waist_to_plane_seat Short measurement name. Don't use math symbols in name!!!! - + Waist to plane seat Full measurement name - + The distance from the waist to the plane seat Full measurement description - + neck_to_radial_point Short measurement name. Don't use math symbols in name!!!! - + Neck to radial point Full measurement name - + The distance from the base of the neck to the side of the radial point Full measurement description - + neck_to_third_finger Short measurement name. Don't use math symbols in name!!!! - + Neck to third finger Full measurement name - + Distance from the base of the neck side point to the end of the third finger Full measurement description - + neck_to_first_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Neck to first line chest circumference Full measurement name - + The distance from the base of the neck to the side of the first line in front of chest circumference Full measurement description - + front_waist_length Short measurement name. Don't use math symbols in name!!!! - + Front waist length Full measurement name - + The distance from the base of the neck to the waist side front (waist length in the front) Full measurement description - + arc_through_shoulder_joint Short measurement name. Don't use math symbols in name!!!! - + Arc through shoulder joint Full measurement name - + Arc through the highest point of the shoulder joint Full measurement description - + neck_to_back_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Neck to back line chest circumference Full measurement name - + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes Full measurement description - + waist_to_neck_side Short measurement name. Don't use math symbols in name!!!! - + Waist to neck side Full measurement name - + The distance from the waist to the back base of the neck side point Full measurement description - + arc_length_upper_body Short measurement name. Don't use math symbols in name!!!! - + Arc length upper body Full measurement name - + Arc length of the upper body through the base of the neck side point Full measurement description - + chest_width Short measurement name. Don't use math symbols in name!!!! - + Chest width Full measurement name - + Chest width Full measurement description - + anteroposterior_diameter_hands Short measurement name. Don't use math symbols in name!!!! - + Anteroposterior diameter hands Full measurement name - + Anteroposterior diameter of the hands Full measurement description - + height_clavicular_point Short measurement name. Don't use math symbols in name!!!! - + Height clavicular point Full measurement name - + Height clavicular point Full measurement description - + height_armhole_slash Short measurement name. Don't use math symbols in name!!!! - + Height armhole slash Full measurement name - + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) Full measurement description - + slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Slash shoulder height Full measurement name - + Slash shoulder height Full measurement description - + half_girth_neck Short measurement name. Don't use math symbols in name!!!! - + Half girth neck Full measurement name - + Half girth neck Full measurement description - + half_girth_neck_for_shirts Short measurement name. Don't use math symbols in name!!!! - + Half girth neck for shirts Full measurement name - + Half girth neck for shirts Full measurement description - + half_girth_chest_first Short measurement name. Don't use math symbols in name!!!! - + Half girth chest first Full measurement name - + Half girth chest first Full measurement description - + half_girth_chest_second Short measurement name. Don't use math symbols in name!!!! - + Half girth chest second Full measurement name - + Half girth chest second Full measurement description - + half_girth_chest_third Short measurement name. Don't use math symbols in name!!!! - + Half girth chest third Full measurement name - + Half girth chest third Full measurement description - + half_girth_waist Short measurement name. Don't use math symbols in name!!!! - + Half girth waist Full measurement name - + Half girth waist Full measurement description - + half_girth_hips_considering_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Half girth hips considering protruding abdomen Full measurement name - + Half girth hips considering protruding abdomen Full measurement description - + half_girth_hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Half girth hips excluding protruding abdomen Full measurement name - + Half girth hips excluding protruding abdomen Full measurement description - + girth_knee_flexed_feet Short measurement name. Don't use math symbols in name!!!! - + Girth knee flexed feet Full measurement name - + Girth knee flexed feet Full measurement description - + neck_transverse_diameter Short measurement name. Don't use math symbols in name!!!! - + Neck transverse diameter Full measurement name - + Neck transverse diameter Full measurement description - + front_slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Front slash shoulder height Full measurement name - + Front slash shoulder height Full measurement description - + neck_to_front_waist_line Short measurement name. Don't use math symbols in name!!!! - + Neck to front waist line Full measurement name - + The distance from the base of the neck to the waist line front Full measurement description - + hand_vertical_diameter Short measurement name. Don't use math symbols in name!!!! - + Hand vertical diameter Full measurement name - + Hand vertical diameter Full measurement description - + neck_to_knee_point Short measurement name. Don't use math symbols in name!!!! - + Neck to knee point Full measurement name - + Distance from neck to knee point Full measurement description - + waist_to_knee Short measurement name. Don't use math symbols in name!!!! - + Waist to knee Full measurement name - + The distance from the waist to the knee Full measurement description - + shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Shoulder height Full measurement name - + Shoulder height Full measurement description - + head_height Short measurement name. Don't use math symbols in name!!!! - + Head height Full measurement name - + Head height Full measurement description - + body_position Short measurement name. Don't use math symbols in name!!!! - + Body position Full measurement name - + Body position Full measurement description - + arc_behind_shoulder_girdle Short measurement name. Don't use math symbols in name!!!! - + Arc behind shoulder girdle Full measurement name - + Arc behind the shoulder girdle Full measurement description - + neck_to_neck_base Short measurement name. Don't use math symbols in name!!!! - + Neck to neck base Full measurement name - + Distance from neck point to point on the base of the neck side neck girth measurement line Full measurement description - + depth_waist_first Short measurement name. Don't use math symbols in name!!!! - + Depth waist first Full measurement name - + Depth waist first Full measurement description - + depth_waist_second Short measurement name. Don't use math symbols in name!!!! - + Depth waist second Full measurement name - + Depth waist second Full measurement description @@ -5422,19 +5404,19 @@ Do you want to save your changes? PostfixOperators - + cm centimeter - + mm millimeter - + in inch @@ -5962,31 +5944,31 @@ Do you want to save your changes? Variables - + Line_ Left symbol _ in name - + AngleLine_ Left symbol _ in name - + Arc_ Left symbol _ in name - + Spl_ Left symbol _ in name - + SplPath diff --git a/src/app/share/translations/valentina_nl.ts b/src/app/share/translations/valentina_nl.ts index 95fe6160a..d2a3e44f7 100644 --- a/src/app/share/translations/valentina_nl.ts +++ b/src/app/share/translations/valentina_nl.ts @@ -94,21 +94,11 @@ Valentina version - - - pushButton_Web_Site - - Contributors - - - label_QT_Version - - Based on Qt %2 (32 bit) @@ -1175,6 +1165,11 @@ Increments + + + Email + + @@ -1244,21 +1239,11 @@ Birth date - - - yyyy-MM-dd - - Sex - - - Mail - - @@ -1356,7 +1341,7 @@ DialogIndividualMeasurements - Dialog + Individual measurements @@ -2277,151 +2262,151 @@ Functions - + sin sine function - + cos cosine function - + tan tangens function - + asin arcus sine function - + acos arcus cosine function - + atan arcus tangens function - + sinh hyperbolic sine function - + cosh hyperbolic cosine - + tanh hyperbolic tangens function - + asinh hyperbolic arcus sine function - + acosh hyperbolic arcus tangens function - + atanh hyperbolic arcur tangens function - + log2 logarithm to the base 2 - + log10 logarithm to the base 10 - + log logarithm to the base 10 - + ln logarithm to base e (2.71828...) - + exp e raised to the power of x - + sqrt square root of a value - + sign sign function -1 if x<0; 1 if x>0 - + rint round to nearest integer - + abs absolute value - + min min of all arguments - + max max of all arguments - + sum sum of all arguments - + avg mean value of all arguments @@ -3400,7 +3385,6 @@ Do you want to save your changes? - across_back_shoulder_width Short measurement name. Don't use math symbols in name!!!! @@ -3419,1964 +3403,1962 @@ Do you want to save your changes? - Back Upper Chest width Full measurement name - Across Back UpperChest, smallest width from armscye to armscye Full measurement description - + upper_back_width Short measurement name. Don't use math symbols in name!!!! - + back_width Short measurement name. Don't use math symbols in name!!!! - + Back Chest width Full measurement name - + Across Back Chest, from armfold to armfold Full measurement description - + bustpoint_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + BustPoint to BustPoint Full measurement name - + Distance between BustPoints, across Chest Full measurement description - + halter_bustpoint_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + Halter Bustpoint to Bustpoint Full measurement name - + Distance from Bustpoint, behind neck, down to Bustpoint Full measurement description - + neck_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + NeckPoint to BustPoint Full measurement name - + From NeckPoint to BustPoint Full measurement description - + crotch_length Short measurement name. Don't use math symbols in name!!!! - + Crotch length Full measurement name - + From Front Waist Center, down to crotch, up to Back Waist Center Full measurement description - + rise_height Short measurement name. Don't use math symbols in name!!!! - + Rise height Full measurement name - + Sit on hard chair, measure from side waist straight down to chair bottom Full measurement description - + shoulder_drop Short measurement name. Don't use math symbols in name!!!! - + Shoulder Drop Full measurement name - + Vertical Distance from NeckPoint level to ShoulderTip level Full measurement description - + shoulder_slope_degrees Short measurement name. Don't use math symbols in name!!!! - + Shoulder Slope degrees Full measurement name - + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer Full measurement description - + front_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Front Shoulder Balance Full measurement name - + ShoulderTip to Front Waist Center Full measurement description - + back_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Back Shoulder Balance Full measurement name - + ShoulderTip to Back Waist Center Full measurement description - + front_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Front Full Length Full measurement name - + NeckPoint straight down front chest to Waistline Full measurement description - + back_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Back Full Length Full measurement name - + Back NeckPoint straight down back chest to Waistline Full measurement description - + front_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Front Neck arc Full measurement name - + NeckPoint to NeckPoint through Front Neck Center Full measurement description - + back_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Back Neck arc Full measurement name - + NeckPoint to NeckPoint across Nape Full measurement description - + front_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + front_upper-bust_arc Full measurement name - + front_upper-bust_arc Full measurement description - + back_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperBust arc Full measurement name - + Back UpperBust side to side Full measurement description - + front_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Front Waist arc Full measurement name - + Front Waist side to side Full measurement description - + back_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Back Waist arc Full measurement name - + Back Waist side to side Full measurement description - + front_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front UpperHip arc Full measurement name - + Front UpperHip side to side Full measurement description - + back_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperHip arc Full measurement name - + Back UpperHip side to side Full measurement description - + front_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front Hip arc Full measurement name - + Front Hip side to side Full measurement description - + back_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back Hip arc Full measurement name - + Back Hip side to side Full measurement description - + chest_slope Short measurement name. Don't use math symbols in name!!!! - + Chest Balance Full measurement name - + NeckPoint to Front ArmfoldPoint Full measurement description - + back_slope Short measurement name. Don't use math symbols in name!!!! - + Back Balance Full measurement name - + NeckPoint to Back ArmfoldPoint Full measurement description - + front_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Front Waist Balance Full measurement name - + NeckPoint across Front Chest to Waist side Full measurement description - + back_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Back Waist Balance Full measurement name - + NeckPoint across Back Chest to Waist side Full measurement description - + front_neck_to_upper_chest_height Short measurement name. Don't use math symbols in name!!!! - + Front UpperChest height Full measurement name - + Front Neck Center straight down to UpperChest line Full measurement description - + front_neck_to_bust_height Short measurement name. Don't use math symbols in name!!!! - + Bust height Full measurement name - + Front Neck Center straight down to Bust line Full measurement description - + armscye_girth Short measurement name. Don't use math symbols in name!!!! - + Armscye Girth Full measurement name - + Around Armscye Full measurement description - + elbow_girth Short measurement name. Don't use math symbols in name!!!! - + Elbow Girth Full measurement name - + Around Elbow with elbow bent Full measurement description - + upper_arm_girth Short measurement name. Don't use math symbols in name!!!! - + Upperarm Girth Full measurement name - + Around UpperArm Full measurement description - + wrist_girth Short measurement name. Don't use math symbols in name!!!! - + Wrist girth Full measurement name - + Around Wrist Full measurement description - + scye_depth Short measurement name. Don't use math symbols in name!!!! - + Armscye depth Full measurement name - + Nape straight down to UnderBust line (same as Back UpperBust height) Full measurement description - + shoulder_and_arm_length Short measurement name. Don't use math symbols in name!!!! - + Shoulder and Arm length Full measurement name - + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + underarm_length Short measurement name. Don't use math symbols in name!!!! - + Underarm length Full measurement name - + Armpit to Wrist, with arm straight and hanging at side Full measurement description - + cervicale_to_wrist_length Short measurement name. Don't use math symbols in name!!!! - + Nape to wrist length Full measurement name - + Nape to Wrist, with elbow bent and hand on hip Full measurement description - + shoulder_to_elbow_length Short measurement name. Don't use math symbols in name!!!! - + Elbow length Full measurement name - + ShoulderTip to Elbow, with elbow bent and hand on hip Full measurement description - + arm_length Short measurement name. Don't use math symbols in name!!!! - + Arm length Full measurement name - + ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + hand_width Short measurement name. Don't use math symbols in name!!!! - + Hand width Full measurement name - + Hand side to side Full measurement description - + hand_length Short measurement name. Don't use math symbols in name!!!! - + Hand length Full measurement name - + Hand Middle Finger tip to wrist Full measurement description - + hand_girth Short measurement name. Don't use math symbols in name!!!! - + Hand girth Full measurement name - + Around Hand Full measurement description - + thigh_girth Short measurement name. Don't use math symbols in name!!!! - + Thigh girth Full measurement name - + Around Thigh Full measurement description - + mid_thigh_girth Short measurement name. Don't use math symbols in name!!!! - + Midthigh girth Full measurement name - + Around MidThigh Full measurement description - + knee_girth Short measurement name. Don't use math symbols in name!!!! - + Knee girth Full measurement name - + Around Knee Full measurement description - + calf_girth Short measurement name. Don't use math symbols in name!!!! - + Calf girth Full measurement name - + Around Calf Full measurement description - + ankle_girth Short measurement name. Don't use math symbols in name!!!! - + Ankle girth Full measurement name - + Around Ankle Full measurement description - + knee_height Short measurement name. Don't use math symbols in name!!!! - + Knee height Full measurement name - + Knee to Floor Full measurement description - + ankle_height Short measurement name. Don't use math symbols in name!!!! - + Ankle height Full measurement name - + Ankle to Floor Full measurement description - + foot_width Short measurement name. Don't use math symbols in name!!!! - + Foot width Full measurement name - + Widest part of Foot side to side Full measurement description - + foot_length Short measurement name. Don't use math symbols in name!!!! - + Foot length Full measurement name - + Tip of Longest Toe straight to back of heel Full measurement description - + height Short measurement name. Don't use math symbols in name!!!! - + Total Height Full measurement name - + Top of head to floor Full measurement description - + cervicale_height Short measurement name. Don't use math symbols in name!!!! - + Nape height Full measurement name - + Nape to Floor Full measurement description - + cervicale_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Nape to knee height Full measurement name - + Nape to Knee Full measurement description - + waist_height Short measurement name. Don't use math symbols in name!!!! - + Waist height Full measurement name - + Waist side to floor Full measurement description - + high_hip_height Short measurement name. Don't use math symbols in name!!!! - + HighHip height Full measurement name - + HighHip side to Floor Full measurement description - + hip_height Short measurement name. Don't use math symbols in name!!!! - + Hip height Full measurement name - + Hip side to Floor Full measurement description - + waist_to_hip_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Hip height Full measurement name - + Waist side to Hip Full measurement description - + waist_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Knee height Full measurement name - + Waist side to Knee Full measurement description - + crotch_height Short measurement name. Don't use math symbols in name!!!! - + Crotch height/Inseam Full measurement name - + Crotch to Floor along inside leg Full measurement description - + size Short measurement name. Don't use math symbols in name!!!! - + Size Full measurement name - + Size Full measurement description - + height_front_neck_base_point Short measurement name. Don't use math symbols in name!!!! - + Height front neck base point Full measurement name - + Height of the point base of the neck in front Full measurement description - + height_base_neck_side_point Short measurement name. Don't use math symbols in name!!!! - + Height base neck side point Full measurement name - + Height of the base of the neck side point Full measurement description - + height_shoulder_point Short measurement name. Don't use math symbols in name!!!! - + Height shoulder point Full measurement name - + The height of the shoulder point Full measurement description - + height_nipple_point Short measurement name. Don't use math symbols in name!!!! - + Height nipple point Full measurement name - + Height nipple point Full measurement description - + height_back_angle_axilla Short measurement name. Don't use math symbols in name!!!! - + Height back angle axilla Full measurement name - + Height back angle axilla Full measurement description - + height_scapular_point Short measurement name. Don't use math symbols in name!!!! - + Height scapular point Full measurement name - + Height scapular point Full measurement description - + height_under_buttock_folds Short measurement name. Don't use math symbols in name!!!! - + Height under buttock folds Full measurement name - + Height under buttock folds Full measurement description - + hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Hips excluding protruding abdomen Full measurement name - + Hips excluding protruding abdomen Full measurement description - + girth_foot_instep Short measurement name. Don't use math symbols in name!!!! - + Girth foot instep Full measurement name - + Girth foot instep Full measurement description - + side_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Side waist to floor Full measurement name - + The distance from the side waist to floor Full measurement description - + front_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Front waist to floor Full measurement name - + The distance from the front waist to floor Full measurement description - + arc_through_groin_area Short measurement name. Don't use math symbols in name!!!! - + Arc through groin area Full measurement name - + Arc through groin area Full measurement description - + waist_to_plane_seat Short measurement name. Don't use math symbols in name!!!! - + Waist to plane seat Full measurement name - + The distance from the waist to the plane seat Full measurement description - + neck_to_radial_point Short measurement name. Don't use math symbols in name!!!! - + Neck to radial point Full measurement name - + The distance from the base of the neck to the side of the radial point Full measurement description - + neck_to_third_finger Short measurement name. Don't use math symbols in name!!!! - + Neck to third finger Full measurement name - + Distance from the base of the neck side point to the end of the third finger Full measurement description - + neck_to_first_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Neck to first line chest circumference Full measurement name - + The distance from the base of the neck to the side of the first line in front of chest circumference Full measurement description - + front_waist_length Short measurement name. Don't use math symbols in name!!!! - + Front waist length Full measurement name - + The distance from the base of the neck to the waist side front (waist length in the front) Full measurement description - + arc_through_shoulder_joint Short measurement name. Don't use math symbols in name!!!! - + Arc through shoulder joint Full measurement name - + Arc through the highest point of the shoulder joint Full measurement description - + neck_to_back_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Neck to back line chest circumference Full measurement name - + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes Full measurement description - + waist_to_neck_side Short measurement name. Don't use math symbols in name!!!! - + Waist to neck side Full measurement name - + The distance from the waist to the back base of the neck side point Full measurement description - + arc_length_upper_body Short measurement name. Don't use math symbols in name!!!! - + Arc length upper body Full measurement name - + Arc length of the upper body through the base of the neck side point Full measurement description - + chest_width Short measurement name. Don't use math symbols in name!!!! - + Chest width Full measurement name - + Chest width Full measurement description - + anteroposterior_diameter_hands Short measurement name. Don't use math symbols in name!!!! - + Anteroposterior diameter hands Full measurement name - + Anteroposterior diameter of the hands Full measurement description - + height_clavicular_point Short measurement name. Don't use math symbols in name!!!! - + Height clavicular point Full measurement name - + Height clavicular point Full measurement description - + height_armhole_slash Short measurement name. Don't use math symbols in name!!!! - + Height armhole slash Full measurement name - + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) Full measurement description - + slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Slash shoulder height Full measurement name - + Slash shoulder height Full measurement description - + half_girth_neck Short measurement name. Don't use math symbols in name!!!! - + Half girth neck Full measurement name - + Half girth neck Full measurement description - + half_girth_neck_for_shirts Short measurement name. Don't use math symbols in name!!!! - + Half girth neck for shirts Full measurement name - + Half girth neck for shirts Full measurement description - + half_girth_chest_first Short measurement name. Don't use math symbols in name!!!! - + Half girth chest first Full measurement name - + Half girth chest first Full measurement description - + half_girth_chest_second Short measurement name. Don't use math symbols in name!!!! - + Half girth chest second Full measurement name - + Half girth chest second Full measurement description - + half_girth_chest_third Short measurement name. Don't use math symbols in name!!!! - + Half girth chest third Full measurement name - + Half girth chest third Full measurement description - + half_girth_waist Short measurement name. Don't use math symbols in name!!!! - + Half girth waist Full measurement name - + Half girth waist Full measurement description - + half_girth_hips_considering_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Half girth hips considering protruding abdomen Full measurement name - + Half girth hips considering protruding abdomen Full measurement description - + half_girth_hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Half girth hips excluding protruding abdomen Full measurement name - + Half girth hips excluding protruding abdomen Full measurement description - + girth_knee_flexed_feet Short measurement name. Don't use math symbols in name!!!! - + Girth knee flexed feet Full measurement name - + Girth knee flexed feet Full measurement description - + neck_transverse_diameter Short measurement name. Don't use math symbols in name!!!! - + Neck transverse diameter Full measurement name - + Neck transverse diameter Full measurement description - + front_slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Front slash shoulder height Full measurement name - + Front slash shoulder height Full measurement description - + neck_to_front_waist_line Short measurement name. Don't use math symbols in name!!!! - + Neck to front waist line Full measurement name - + The distance from the base of the neck to the waist line front Full measurement description - + hand_vertical_diameter Short measurement name. Don't use math symbols in name!!!! - + Hand vertical diameter Full measurement name - + Hand vertical diameter Full measurement description - + neck_to_knee_point Short measurement name. Don't use math symbols in name!!!! - + Neck to knee point Full measurement name - + Distance from neck to knee point Full measurement description - + waist_to_knee Short measurement name. Don't use math symbols in name!!!! - + Waist to knee Full measurement name - + The distance from the waist to the knee Full measurement description - + shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Shoulder height Full measurement name - + Shoulder height Full measurement description - + head_height Short measurement name. Don't use math symbols in name!!!! - + Head height Full measurement name - + Head height Full measurement description - + body_position Short measurement name. Don't use math symbols in name!!!! - + Body position Full measurement name - + Body position Full measurement description - + arc_behind_shoulder_girdle Short measurement name. Don't use math symbols in name!!!! - + Arc behind shoulder girdle Full measurement name - + Arc behind the shoulder girdle Full measurement description - + neck_to_neck_base Short measurement name. Don't use math symbols in name!!!! - + Neck to neck base Full measurement name - + Distance from neck point to point on the base of the neck side neck girth measurement line Full measurement description - + depth_waist_first Short measurement name. Don't use math symbols in name!!!! - + Depth waist first Full measurement name - + Depth waist first Full measurement description - + depth_waist_second Short measurement name. Don't use math symbols in name!!!! - + Depth waist second Full measurement name - + Depth waist second Full measurement description @@ -5418,19 +5400,19 @@ Do you want to save your changes? PostfixOperators - + cm centimeter - + mm millimeter - + in inch @@ -5958,31 +5940,31 @@ Do you want to save your changes? Variables - + Line_ Left symbol _ in name - + AngleLine_ Left symbol _ in name - + Arc_ Left symbol _ in name - + Spl_ Left symbol _ in name - + SplPath diff --git a/src/app/share/translations/valentina_ru.ts b/src/app/share/translations/valentina_ru.ts index 266e761eb..d17a8d472 100644 --- a/src/app/share/translations/valentina_ru.ts +++ b/src/app/share/translations/valentina_ru.ts @@ -87,52 +87,42 @@ About Valentina - Про Valentina + Про Valentina Valentina version - - - - - pushButton_Web_Site - + Версия Valentina Contributors - - - - - label_QT_Version - + Авторы Based on Qt %2 (32 bit) - Базируется на Qt %2 (32 bit) + Базируется на Qt %2 (32 bit) Built on %3 at %4 - Создано %3 в %4 + Создано %3 в %4 Web site : %1 - + Веб сайт : %1 Warning - + Предупреждение Cannot open your default browser - + Не могу открыть браузер по умолчанию @@ -1177,7 +1167,7 @@ Can't create record. - + Не могу создать запись. @@ -1211,47 +1201,37 @@ Measurements - + Мерки Load another measurements table - + Загрузить другую таблицу с мерками Personal information - + Персональная информация Given name - + Имя Family name - + Фамилия Birth date - - - - - yyyy-MM-dd - + Дата рождения Sex - - - - - Mail - + Стать @@ -1303,11 +1283,16 @@ ... + + + Email + E-mail + In heights - + В ростах @@ -1360,44 +1345,44 @@ File error. - + Ошибка файла. male - + мужчина female - + женщина Measurements use different units than pattern. This pattern required measurements in %1 - + Мерки используют другие единицы измерения нежели лекало. Ето леколо требует мерки в %1 Individual measurements (*.vit) - + Индивидуальные мерки (*.vit) Open file - Открыть файл + Открыть файл Wrong units. - + Неправильные единицы измерения. Standard measurements (*.vst) - + Стандартные мерки (*.vst) @@ -1423,83 +1408,87 @@ DialogIndividualMeasurements - Dialog - Диалог + Диалог + + + + Individual measurements + Индивидуальные мерки Pattern piece name - + Имя лекала Exist measurements - + Существующие мерки Path: - + Путь: ... - ... + ... New measurements - + Новые мерки Units: - + Единицы измерения: Could not create measurements file - + Не могу создать файл мерок Please try again or change file - + Пожайлуста попробуйте снова или смените файл File error. - + Ошибка файла. Individual measurements (*.vit) - + Индивидуальные мерки (*.vit) Open file - Открыть файл + Открыть файл Where save measurements? - + Где сохранить мерки? centimeter - + сантиметры inch - + дюймы @@ -1594,32 +1583,32 @@ Measurements - + Мерки <html><head/><body><p><span style=" font-size:18pt;">Please, choose pattern type.</span></p></body></html> - + <html><head/><body><p><span style=" font-size:18pt;">Пожайлуста, выберите тип лекала.</span></p></body></html> Graduation - + Градация Use for creation pattern standard measurement table - + Лекало со стандартной таблицей Individual - + Индивиндуальные Use for creation pattern individual measurements - + Лекало с индивидуальных мерок @@ -1758,22 +1747,22 @@ Pattern properties - + Свойства лекала Author name - + Имя автора Pattern description - + Опись лекала For technical notes. - + Для технических заметок. @@ -2187,22 +2176,22 @@ Standard table - Стандартная таблица + Стандартная таблица Pattern piece name - + Имя лекала Standard measurements table - + Стандартная таблица мерок File error. - + Ошибка файла. @@ -2377,154 +2366,154 @@ Functions - + sin sine function - + sin + + + + cos + cosine function + cos + + + + tan + tangens function + tan + + + + asin + arcus sine function + asin + + + + acos + arcus cosine function + acos + + + + atan + arcus tangens function + atan + + + + sinh + hyperbolic sine function + sinh + + + + cosh + hyperbolic cosine + cosh + + + + tanh + hyperbolic tangens function + tanh + + + + asinh + hyperbolic arcus sine function + asibh + + + + acosh + hyperbolic arcus tangens function + acosh - cos - cosine function - + atanh + hyperbolic arcur tangens function + atanh - tan - tangens function - + log2 + logarithm to the base 2 + log2 - asin - arcus sine function - + log10 + logarithm to the base 10 + log10 - acos - arcus cosine function - + log + logarithm to the base 10 + log - atan - arcus tangens function - + ln + logarithm to base e (2.71828...) + ln - sinh - hyperbolic sine function - + exp + e raised to the power of x + exp - cosh - hyperbolic cosine - + sqrt + square root of a value + sqrt - tanh - hyperbolic tangens function - + sign + sign function -1 if x<0; 1 if x>0 + sign - asinh - hyperbolic arcus sine function - + rint + round to nearest integer + rint - acosh - hyperbolic arcus tangens function - + abs + absolute value + abs - atanh - hyperbolic arcur tangens function - + min + min of all arguments + min - log2 - logarithm to the base 2 - + max + max of all arguments + max - log10 - logarithm to the base 10 - + sum + sum of all arguments + sum - log - logarithm to the base 10 - - - - - ln - logarithm to base e (2.71828...) - - - - - exp - e raised to the power of x - - - - - sqrt - square root of a value - - - - - sign - sign function -1 if x<0; 1 if x>0 - - - - - rint - round to nearest integer - - - - - abs - absolute value - - - - - min - min of all arguments - мин - - - - max - max of all arguments - - - - - sum - sum of all arguments - - - - avg mean value of all arguments - + avg @@ -2842,7 +2831,7 @@ Pattern properties - + Свойства лекала @@ -3109,38 +3098,38 @@ Measurements use different units than pattern. This pattern required measurements in %1 - + Мерки используют другие единицы измерения нежели лекало. Ето леколо требует мерки в %1 Wrong units. - + Неправильные единицы измерения. File error. - + Ошибка файла. The measurements file <br/><br/> <b>%1</b> <br/><br/> %3 - + Файл мерок <br/><br/> <b>%1</b> <br/><br/> %3 could not be found. Do you want to update the file location - + не может быть найден. Вы хотите обновить путь к файлу Standard measurements (*.vst) - + Стандартные мерки (*.vst) Individual measurements (*.vit) - + Индивидуальные мерки (*.vit) Can not save pattern @@ -3359,19 +3348,19 @@ Do you want to save your changes? head_girth Short measurement name. Don't use math symbols in name!!!! - + Огол Head girth Full measurement name - + Обхват головы Around fullest part of Head Full measurement description - + Обхват головы @@ -3395,19 +3384,19 @@ Do you want to save your changes? neck_base_girth Short measurement name. Don't use math symbols in name!!!! - + Ош Neck Base girth Full measurement name - + Обхват шеи Around Neck at base Full measurement description - + Обхват шеи @@ -3449,55 +3438,55 @@ Do you want to save your changes? center_back_waist_length Short measurement name. Don't use math symbols in name!!!! - + Дтс Back Center length Full measurement name - + Длина спины до талии с учетом выступа лопаток Back Neck Center to Back Waist Center Full measurement description - + Длина спины до талии с учетом выступа лопаток shoulder_length Short measurement name. Don't use math symbols in name!!!! - + Шп Shoulder length Full measurement name - + Длина плечевого ската NeckPoint to ShoulderTip Full measurement description - + Длина плечевого ската side_waist_length Short measurement name. Don't use math symbols in name!!!! - + Дб Side Waist length Full measurement name - + Длина боковой части Armpit to Waist side Full measurement description - + Длина боковой части @@ -3539,73 +3528,73 @@ Do you want to save your changes? upper_chest_girth Short measurement name. Don't use math symbols in name!!!! - + ОгI Upper Chest girth Full measurement name - + Обхват груди первый Around Chest at Armfold level, will be parallel to floor across back, will not be parallel to floor across front chest Full measurement description - + Обхват груди первый bust_girth Short measurement name. Don't use math symbols in name!!!! - + ОгII Bust girth Full measurement name - + Обхват груди второй Around fullest part of Bust, parallel to floor Full measurement description - + Обхват груди второй under_bust_girth Short measurement name. Don't use math symbols in name!!!! - + ОгIII Under Bust girth Full measurement name - + Обхват груди третий Around Chest below the Bust, parallel to floor Full measurement description - + Обхват груди третий waist_girth Short measurement name. Don't use math symbols in name!!!! - + От Waist girth Full measurement name - + Обхват талии Tie a string around smallest part of waist, keep string tied while taking meaasurements. Not usually parallel to floor for front waist or back waist. Full measurement description - + Обхват талии. @@ -3629,77 +3618,76 @@ Do you want to save your changes? hip_girth Short measurement name. Don't use math symbols in name!!!! - + Об Hip girth Full measurement name - + Обхват бедер с учетом выступания живота Around Hip, parallel to floor Full measurement description - + Обхват бедер с учетом выступания живота upper_front_chest_width Short measurement name. Don't use math symbols in name!!!! - + Шг1 Front Upper Chest width Full measurement name - + Ширина груди первая Across Front UpperChest, smallest width from armscye to armscye Full measurement description - + Ширина груди первая front_chest_width Short measurement name. Don't use math symbols in name!!!! - + Шг2 Front Chest width Full measurement name - + Ширина груди вторая Across Front Chest, from armfold to armfold Full measurement description - + Ширина груди вторая across_front_shoulder_width Short measurement name. Don't use math symbols in name!!!! - + dпл Front Across Shoulder width Full measurement name - + Плечевой диаметр From ShoulderTip to ShoulderTip, across Front Full measurement description - + Плечевой диаметр - across_back_shoulder_width Short measurement name. Don't use math symbols in name!!!! @@ -3718,1967 +3706,1965 @@ Do you want to save your changes? - Back Upper Chest width Full measurement name - Across Back UpperChest, smallest width from armscye to armscye Full measurement description - + upper_back_width Short measurement name. Don't use math symbols in name!!!! - + back_width Short measurement name. Don't use math symbols in name!!!! - + Шс + + + + Back Chest width + Full measurement name + Ширина спины + + + + Across Back Chest, from armfold to armfold + Full measurement description + Ширина спины + + + + bustpoint_to_bustpoint + Short measurement name. Don't use math symbols in name!!!! + Цг - Back Chest width + BustPoint to BustPoint Full measurement name - + Расстояние между сосковыми точками - Across Back Chest, from armfold to armfold + Distance between BustPoints, across Chest Full measurement description - + Расстояние между сосковыми точками - bustpoint_to_bustpoint - Short measurement name. Don't use math symbols in name!!!! - - - - - BustPoint to BustPoint - Full measurement name - - - - - Distance between BustPoints, across Chest - Full measurement description - - - - halter_bustpoint_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + Halter Bustpoint to Bustpoint Full measurement name - + Distance from Bustpoint, behind neck, down to Bustpoint Full measurement description - + neck_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + Вг - + NeckPoint to BustPoint Full measurement name - + Расстояние от точки основания шеи сбоку до сосковой точки (высота груди) - + From NeckPoint to BustPoint Full measurement description - + Расстояние от точки основания шеи сбоку до сосковой точки (высота груди) - + crotch_length Short measurement name. Don't use math symbols in name!!!! - + Crotch length Full measurement name - + From Front Waist Center, down to crotch, up to Back Waist Center Full measurement description - + rise_height Short measurement name. Don't use math symbols in name!!!! - + Дпс - + Rise height Full measurement name - + Расстояние от линии талии до подъягодичной складки - + Sit on hard chair, measure from side waist straight down to chair bottom Full measurement description - + Расстояние от линии талии до подъягодичной складки - + shoulder_drop Short measurement name. Don't use math symbols in name!!!! - + Shoulder Drop Full measurement name - + Vertical Distance from NeckPoint level to ShoulderTip level Full measurement description - + shoulder_slope_degrees Short measurement name. Don't use math symbols in name!!!! - + Shoulder Slope degrees Full measurement name - + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer Full measurement description - + front_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Front Shoulder Balance Full measurement name - + ShoulderTip to Front Waist Center Full measurement description - + back_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Back Shoulder Balance Full measurement name - + ShoulderTip to Back Waist Center Full measurement description - + front_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Front Full Length Full measurement name - + NeckPoint straight down front chest to Waistline Full measurement description - + back_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Back Full Length Full measurement name - + Back NeckPoint straight down back chest to Waistline Full measurement description - + front_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Front Neck arc Full measurement name - + NeckPoint to NeckPoint through Front Neck Center Full measurement description - + back_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Back Neck arc Full measurement name - + NeckPoint to NeckPoint across Nape Full measurement description - + front_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + front_upper-bust_arc Full measurement name - + front_upper-bust_arc Full measurement description - + back_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperBust arc Full measurement name - + Back UpperBust side to side Full measurement description - + front_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Front Waist arc Full measurement name - + Front Waist side to side Full measurement description - + back_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Back Waist arc Full measurement name - + Back Waist side to side Full measurement description - + front_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front UpperHip arc Full measurement name - + Front UpperHip side to side Full measurement description - + back_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperHip arc Full measurement name - + Back UpperHip side to side Full measurement description - + front_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front Hip arc Full measurement name - + Front Hip side to side Full measurement description - + back_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back Hip arc Full measurement name - + Back Hip side to side Full measurement description - + chest_slope Short measurement name. Don't use math symbols in name!!!! - + Chest Balance Full measurement name - + NeckPoint to Front ArmfoldPoint Full measurement description - + back_slope Short measurement name. Don't use math symbols in name!!!! - + Back Balance Full measurement name - + NeckPoint to Back ArmfoldPoint Full measurement description - + front_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Front Waist Balance Full measurement name - + NeckPoint across Front Chest to Waist side Full measurement description - + back_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Back Waist Balance Full measurement name - + NeckPoint across Back Chest to Waist side Full measurement description - + front_neck_to_upper_chest_height Short measurement name. Don't use math symbols in name!!!! - + Front UpperChest height Full measurement name - + Front Neck Center straight down to UpperChest line Full measurement description - + front_neck_to_bust_height Short measurement name. Don't use math symbols in name!!!! - + Bust height Full measurement name - + Front Neck Center straight down to Bust line Full measurement description - + armscye_girth Short measurement name. Don't use math symbols in name!!!! - + Armscye Girth Full measurement name - + Around Armscye Full measurement description - + elbow_girth Short measurement name. Don't use math symbols in name!!!! - + Олк + + + + Elbow Girth + Full measurement name + Обхват локтя + + + + Around Elbow with elbow bent + Full measurement description + Обхват локтя + + + + upper_arm_girth + Short measurement name. Don't use math symbols in name!!!! + Оп + + + + Upperarm Girth + Full measurement name + Обхват плеча - Elbow Girth - Full measurement name - - - - - Around Elbow with elbow bent + Around UpperArm Full measurement description - + Обхват плеча - - upper_arm_girth + + wrist_girth Short measurement name. Don't use math symbols in name!!!! - + Озап + + + + Wrist girth + Full measurement name + Обхват запястья - Upperarm Girth - Full measurement name - - - - - Around UpperArm - Full measurement description - - - - - wrist_girth - Short measurement name. Don't use math symbols in name!!!! - - - - - Wrist girth - Full measurement name - - - - Around Wrist Full measurement description - + Обхват запястья - + scye_depth Short measurement name. Don't use math symbols in name!!!! - + Armscye depth Full measurement name - + Nape straight down to UnderBust line (same as Back UpperBust height) Full measurement description - + shoulder_and_arm_length Short measurement name. Don't use math symbols in name!!!! - + Дзап - + Shoulder and Arm length Full measurement name - + Расстояние от точки основания шеи сбоку до линии обхвата запястья - + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + Расстояние от точки основания шеи сбоку до линии обхвата запястья - + underarm_length Short measurement name. Don't use math symbols in name!!!! - + Underarm length Full measurement name - + Armpit to Wrist, with arm straight and hanging at side Full measurement description - + cervicale_to_wrist_length Short measurement name. Don't use math symbols in name!!!! - + Nape to wrist length Full measurement name - + Nape to Wrist, with elbow bent and hand on hip Full measurement description - + shoulder_to_elbow_length Short measurement name. Don't use math symbols in name!!!! - + Дрлок + + + + Elbow length + Full measurement name + Длина руки до локтя + + + + ShoulderTip to Elbow, with elbow bent and hand on hip + Full measurement description + Длина руки до локтя + + + + arm_length + Short measurement name. Don't use math symbols in name!!!! + Дрзап - Elbow length + Arm length Full measurement name - + Длина рукава до линии обхвата запястья - ShoulderTip to Elbow, with elbow bent and hand on hip - Full measurement description - - - - - arm_length - Short measurement name. Don't use math symbols in name!!!! - - - - - Arm length - Full measurement name - - - - ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + Длина рукава до линии обхвата запястья - + hand_width Short measurement name. Don't use math symbols in name!!!! - + Hand width Full measurement name - + Hand side to side Full measurement description - + hand_length Short measurement name. Don't use math symbols in name!!!! - + Hand length Full measurement name - + Hand Middle Finger tip to wrist Full measurement description - + hand_girth Short measurement name. Don't use math symbols in name!!!! - + Окис + + + + Hand girth + Full measurement name + Обхват кисти + + + + Around Hand + Full measurement description + Обхват кисти + + + + thigh_girth + Short measurement name. Don't use math symbols in name!!!! + Обед - Hand girth + Thigh girth Full measurement name - + Обхват бедра - Around Hand - Full measurement description - - - - - thigh_girth - Short measurement name. Don't use math symbols in name!!!! - - - - - Thigh girth - Full measurement name - - - - Around Thigh Full measurement description - + Обхват бедра - + mid_thigh_girth Short measurement name. Don't use math symbols in name!!!! - + Midthigh girth Full measurement name - + Around MidThigh Full measurement description - + knee_girth Short measurement name. Don't use math symbols in name!!!! - + Ок + + + + Knee girth + Full measurement name + Обхват колена + + + + Around Knee + Full measurement description + Обхват колена + + + + calf_girth + Short measurement name. Don't use math symbols in name!!!! + Ои + + + + Calf girth + Full measurement name + Обхват икры - Knee girth - Full measurement name - - - - - Around Knee + Around Calf Full measurement description - + Обхват икры - - calf_girth + + ankle_girth Short measurement name. Don't use math symbols in name!!!! - + Ощ + + + + Ankle girth + Full measurement name + Обхват щиколотки - Calf girth - Full measurement name - - - - - Around Calf + Around Ankle Full measurement description - + Обхват щиколотки - - ankle_girth + + knee_height Short measurement name. Don't use math symbols in name!!!! - + Вк + + + + Knee height + Full measurement name + Высота коленной точки - Ankle girth - Full measurement name - - - - - Around Ankle - Full measurement description - - - - - knee_height - Short measurement name. Don't use math symbols in name!!!! - - - - - Knee height - Full measurement name - - - - Knee to Floor Full measurement description - + Высота коленной точки - + ankle_height Short measurement name. Don't use math symbols in name!!!! - + Ankle height Full measurement name - + Ankle to Floor Full measurement description - + foot_width Short measurement name. Don't use math symbols in name!!!! - + Foot width Full measurement name - + Widest part of Foot side to side Full measurement description - + foot_length Short measurement name. Don't use math symbols in name!!!! - + Foot length Full measurement name - + Tip of Longest Toe straight to back of heel Full measurement description - + height Short measurement name. Don't use math symbols in name!!!! - + Total Height Full measurement name - + Top of head to floor Full measurement description - + cervicale_height Short measurement name. Don't use math symbols in name!!!! - + Вшт - + Nape height Full measurement name - + Высота точки основания шеи сзади - + Nape to Floor Full measurement description - + Высота точки основания шеи сзади - + cervicale_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Nape to knee height Full measurement name - + Nape to Knee Full measurement description - + waist_height Short measurement name. Don't use math symbols in name!!!! - + Влт - + Waist height Full measurement name - + Высота линии талии - + Waist side to floor Full measurement description - + Высота линии талии - + high_hip_height Short measurement name. Don't use math symbols in name!!!! - + HighHip height Full measurement name - + HighHip side to Floor Full measurement description - + hip_height Short measurement name. Don't use math symbols in name!!!! - + Hip height Full measurement name - + Hip side to Floor Full measurement description - + waist_to_hip_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Hip height Full measurement name - + Waist side to Hip Full measurement description - + waist_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Knee height Full measurement name - + Waist side to Knee Full measurement description - + crotch_height Short measurement name. Don't use math symbols in name!!!! - + Дн + + + + Crotch height/Inseam + Full measurement name + Длина ноги по внутренней поверхности + + + + Crotch to Floor along inside leg + Full measurement description + Длина ноги по внутренней поверхности + + + + size + Short measurement name. Don't use math symbols in name!!!! + Сг + + + + Size + Full measurement name + Размер - Crotch height/Inseam - Full measurement name - + Size + Full measurement description + Размер - - Crotch to Floor along inside leg - Full measurement description - + + height_front_neck_base_point + Short measurement name. Don't use math symbols in name!!!! + Втос - size - Short measurement name. Don't use math symbols in name!!!! - + Height front neck base point + Full measurement name + Высота точки основания шеи спереди - Size - Full measurement name - Размер - - - - Size + Height of the point base of the neck in front Full measurement description - Размер + Высота точки основания шеи спереди - height_front_neck_base_point + height_base_neck_side_point Short measurement name. Don't use math symbols in name!!!! - + Втош - Height front neck base point + Height base neck side point Full measurement name - + Высота точки основания шеи сбоку - Height of the point base of the neck in front + Height of the base of the neck side point Full measurement description - + Высота точки основания шеи сбоку - height_base_neck_side_point + height_shoulder_point Short measurement name. Don't use math symbols in name!!!! - + Впт - Height base neck side point + Height shoulder point Full measurement name - + Высота плечевой точки - Height of the base of the neck side point + The height of the shoulder point Full measurement description - + Высота плечевой точки - - height_shoulder_point + + height_nipple_point Short measurement name. Don't use math symbols in name!!!! - + Вст + + + + Height nipple point + Full measurement name + Высота сосковой точки - Height shoulder point - Full measurement name - - - - - The height of the shoulder point + Height nipple point Full measurement description - + Высота сосковой точки - - height_nipple_point + + height_back_angle_axilla Short measurement name. Don't use math symbols in name!!!! - + Взу + + + + Height back angle axilla + Full measurement name + Высота заднего угла подмышечной впадины - Height nipple point - Full measurement name - - - - - Height nipple point + Height back angle axilla Full measurement description - + Высота заднего угла подмышечной впадины - - height_back_angle_axilla + + height_scapular_point Short measurement name. Don't use math symbols in name!!!! - + Влоп + + + + Height scapular point + Full measurement name + Высота лопаточной точки - Height back angle axilla - Full measurement name - - - - - Height back angle axilla + Height scapular point Full measurement description - + Высота лопаточной точки - - height_scapular_point + + height_under_buttock_folds Short measurement name. Don't use math symbols in name!!!! - + Впс + + + + Height under buttock folds + Full measurement name + Высота подъягодичной складки - Height scapular point - Full measurement name - - - - - Height scapular point + Height under buttock folds Full measurement description - + Высота подъягодичной складки - - height_under_buttock_folds + + hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + ОбI + + + + Hips excluding protruding abdomen + Full measurement name + Обхват бедер без учета выступания живота - Height under buttock folds - Full measurement name - - - - - Height under buttock folds + Hips excluding protruding abdomen Full measurement description - + Обхват бедер без учета выступания живота - - hips_excluding_protruding_abdomen + + girth_foot_instep Short measurement name. Don't use math symbols in name!!!! - + Ос + + + + Girth foot instep + Full measurement name + Обхват подъема стопы - Hips excluding protruding abdomen - Full measurement name - - - - - Hips excluding protruding abdomen + Girth foot instep Full measurement description - + Обхват подъема стопы - - girth_foot_instep + + side_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Дсб + + + + Side waist to floor + Full measurement name + Расстояние от линии талии до пола сбоку - Girth foot instep - Full measurement name - - - - - Girth foot instep + The distance from the side waist to floor Full measurement description - + Расстояние от линии талии до пола сбоку - side_waist_to_floor + front_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Дсп - Side waist to floor + Front waist to floor Full measurement name - + Расстояние от линии талии до пола спереди - The distance from the side waist to floor + The distance from the front waist to floor Full measurement description - + Расстояние от линии талии до пола спереди - front_waist_to_floor + arc_through_groin_area Short measurement name. Don't use math symbols in name!!!! - + Дпоб - Front waist to floor + Arc through groin area Full measurement name - + Дуга через паховую область - The distance from the front waist to floor + Arc through groin area Full measurement description - + Дуга через паховую область - - arc_through_groin_area + + waist_to_plane_seat Short measurement name. Don't use math symbols in name!!!! - + Дс + + + + Waist to plane seat + Full measurement name + Расстояние от линии талии до плоскости сидения - Arc through groin area - Full measurement name - - - - - Arc through groin area + The distance from the waist to the plane seat Full measurement description - + Расстояние от линии талии до плоскости сидения - waist_to_plane_seat + neck_to_radial_point Short measurement name. Don't use math symbols in name!!!! - + Длуч - Waist to plane seat + Neck to radial point Full measurement name - + Расстояние от точки основания шеи сбоку до лучевой точки - The distance from the waist to the plane seat + The distance from the base of the neck to the side of the radial point Full measurement description - + Расстояние от точки основания шеи сбоку до лучевой точки - neck_to_radial_point + neck_to_third_finger Short measurement name. Don't use math symbols in name!!!! - + ДIIIп - Neck to radial point + Neck to third finger Full measurement name - + Расстояние от точки основания шеи сбоку до конца третьего пальца - The distance from the base of the neck to the side of the radial point + Distance from the base of the neck side point to the end of the third finger Full measurement description - + Расстояние от точки основания шеи сбоку до конца третьего пальца - neck_to_third_finger + neck_to_first_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Впрп - Neck to third finger + Neck to first line chest circumference Full measurement name - + Расстояние от точки основания шеи сбоку до линии обхвата груди первого спереди - Distance from the base of the neck side point to the end of the third finger + The distance from the base of the neck to the side of the first line in front of chest circumference Full measurement description - + Расстояние от точки основания шеи сбоку до линии обхвата груди первого спереди - neck_to_first_line_chest_circumference + front_waist_length Short measurement name. Don't use math symbols in name!!!! - + Дтп - Neck to first line chest circumference + Front waist length Full measurement name - + Расстояние от точки основания шеи сбоку до линии талии спереди (длани талии спереди) - The distance from the base of the neck to the side of the first line in front of chest circumference + The distance from the base of the neck to the waist side front (waist length in the front) Full measurement description - + Расстояние от точки основания шеи сбоку до линии талии спереди (длани талии спереди) - front_waist_length + arc_through_shoulder_joint Short measurement name. Don't use math symbols in name!!!! - + Дп - Front waist length + Arc through shoulder joint Full measurement name - + Дуга через высшую точку плечевого сустава - The distance from the base of the neck to the waist side front (waist length in the front) + Arc through the highest point of the shoulder joint Full measurement description - + Дуга через высшую точку плечевого сустава - arc_through_shoulder_joint + neck_to_back_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Впрз - Arc through shoulder joint + Neck to back line chest circumference Full measurement name - + Расстояние от точки основания шеи сзади до линии обхватов груди первого и второго с учетом выступа лопаток - Arc through the highest point of the shoulder joint + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes Full measurement description - + Расстояние от точки основания шеи сзади до линии обхватов груди первого и второго с учетом выступа лопаток - - neck_to_back_line_chest_circumference + + waist_to_neck_side Short measurement name. Don't use math symbols in name!!!! - - - - - Neck to back line chest circumference - Full measurement name - + ДтсI - The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes + Waist to neck side + Full measurement name + Расстояние от линии талии сзади до точки основания шеи сбоку + + + + The distance from the waist to the back base of the neck side point Full measurement description - + Расстояние от линии талии сзади до точки основания шеи сбоку - waist_to_neck_side + arc_length_upper_body Short measurement name. Don't use math symbols in name!!!! - + Двчт - Waist to neck side + Arc length upper body Full measurement name - + Длина дуги верхней части туловища через точку основания шеи сбоку - The distance from the waist to the back base of the neck side point + Arc length of the upper body through the base of the neck side point Full measurement description - + Длина дуги верхней части туловища через точку основания шеи сбоку - arc_length_upper_body + chest_width Short measurement name. Don't use math symbols in name!!!! - + Шг - Arc length upper body + Chest width Full measurement name - + Ширина груди - Arc length of the upper body through the base of the neck side point + Chest width Full measurement description - + Ширина груди - - chest_width + + anteroposterior_diameter_hands Short measurement name. Don't use math symbols in name!!!! - + dпзр + + + + Anteroposterior diameter hands + Full measurement name + Передне-задний диаметр руки - Chest width - Full measurement name - - - - - Chest width + Anteroposterior diameter of the hands Full measurement description - + Передне-задний диаметр руки - anteroposterior_diameter_hands + height_clavicular_point Short measurement name. Don't use math symbols in name!!!! - + Вкт - Anteroposterior diameter hands + Height clavicular point Full measurement name - + Высота ключичной точки - Anteroposterior diameter of the hands + Height clavicular point Full measurement description - + Высота ключичной точки - - height_clavicular_point + + height_armhole_slash Short measurement name. Don't use math symbols in name!!!! - + Впрк + + + + Height armhole slash + Full measurement name + Расстояние от шейной точки до уровня заднего угла подмышечной впадины спереди (высота проймы косая) - Height clavicular point - Full measurement name - - - - - Height clavicular point + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) Full measurement description - + Расстояние от шейной точки до уровня заднего угла подмышечной впадины спереди (высота проймы косая) - height_armhole_slash + slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Впк - Height armhole slash + Slash shoulder height Full measurement name - + Высота плеча косая - The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) + Slash shoulder height Full measurement description - + Высота плеча косая - - slash_shoulder_height + + half_girth_neck Short measurement name. Don't use math symbols in name!!!! - + Сш + + + + Half girth neck + Full measurement name + Полуобхват шеи - Slash shoulder height - Full measurement name - - - - - Slash shoulder height + Half girth neck Full measurement description - + Полуобхват шеи - - half_girth_neck + + half_girth_neck_for_shirts Short measurement name. Don't use math symbols in name!!!! - + Сш1 + + + + Half girth neck for shirts + Full measurement name + Полуобхват шеи для сорочек - Half girth neck - Full measurement name - - - - - Half girth neck + Half girth neck for shirts Full measurement description - + Полуобхват шеи для сорочек - - half_girth_neck_for_shirts + + half_girth_chest_first Short measurement name. Don't use math symbols in name!!!! - + СгI + + + + Half girth chest first + Full measurement name + Полуобхват груди первый - Half girth neck for shirts - Full measurement name - - - - - Half girth neck for shirts + Half girth chest first Full measurement description - + Полуобхват груди первый - - half_girth_chest_first + + half_girth_chest_second Short measurement name. Don't use math symbols in name!!!! - + СгII + + + + Half girth chest second + Full measurement name + Полуобхват груди второй - Half girth chest first - Full measurement name - - - - - Half girth chest first + Half girth chest second Full measurement description - + Полуобхват груди второй - - half_girth_chest_second + + half_girth_chest_third Short measurement name. Don't use math symbols in name!!!! - + СгIII + + + + Half girth chest third + Full measurement name + Полуобхват груди третий - Half girth chest second - Full measurement name - - - - - Half girth chest second + Half girth chest third Full measurement description - + Полуобхват груди третий - - half_girth_chest_third + + half_girth_waist Short measurement name. Don't use math symbols in name!!!! - + Ст + + + + Half girth waist + Full measurement name + Полуобхват талии - Half girth chest third - Full measurement name - - - - - Half girth chest third - Full measurement description - - - - - half_girth_waist - Short measurement name. Don't use math symbols in name!!!! - - - - Half girth waist + Full measurement description + Полуобхват талии + + + + half_girth_hips_considering_protruding_abdomen + Short measurement name. Don't use math symbols in name!!!! + Сб + + + + Half girth hips considering protruding abdomen Full measurement name - + Полуобхват бедер с учетом выступания живота - Half girth waist - Full measurement description - - - - - half_girth_hips_considering_protruding_abdomen - Short measurement name. Don't use math symbols in name!!!! - - - - - Half girth hips considering protruding abdomen - Full measurement name - - - - Half girth hips considering protruding abdomen Full measurement description - + Полуобхват бедер с учетом выступания живота - + half_girth_hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + СбI - + Half girth hips excluding protruding abdomen Full measurement name - + Полуобхват бедер без учета выступания живота + + + + Half girth hips excluding protruding abdomen + Full measurement description + Полуобхват бедер без учета выступания живота + + + + girth_knee_flexed_feet + Short measurement name. Don't use math symbols in name!!!! + Окс + + + + Girth knee flexed feet + Full measurement name + Обхват колена в согнутом положении ноги - Half girth hips excluding protruding abdomen + Girth knee flexed feet Full measurement description - + Обхват колена в согнутом положении ноги - - girth_knee_flexed_feet + + neck_transverse_diameter Short measurement name. Don't use math symbols in name!!!! - + + + + + Neck transverse diameter + Full measurement name + Поперечный диаметр шеи - Girth knee flexed feet - Full measurement name - - - - - Girth knee flexed feet + Neck transverse diameter Full measurement description - + Поперечный диаметр шеи - - neck_transverse_diameter + + front_slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Впкп + + + + Front slash shoulder height + Full measurement name + Высота плеча косая спереди - Neck transverse diameter - Full measurement name - - - - - Neck transverse diameter + Front slash shoulder height Full measurement description - + Высота плеча косая спереди - - front_slash_shoulder_height + + neck_to_front_waist_line Short measurement name. Don't use math symbols in name!!!! - + Дтн1 + + + + Neck to front waist line + Full measurement name + Расстояние от точки основания шеи до линии талии спереди - Front slash shoulder height - Full measurement name - - - - - Front slash shoulder height + The distance from the base of the neck to the waist line front Full measurement description - + Расстояние от точки основания шеи до линии талии спереди - neck_to_front_waist_line + hand_vertical_diameter Short measurement name. Don't use math symbols in name!!!! - + dвр - Neck to front waist line + Hand vertical diameter Full measurement name - + Вертикальный диаметр руки - The distance from the base of the neck to the waist line front + Hand vertical diameter Full measurement description - + Вертикальный диаметр руки - - hand_vertical_diameter + + neck_to_knee_point Short measurement name. Don't use math symbols in name!!!! - + Дшк + + + + Neck to knee point + Full measurement name + Расстояние от шейной точки до колена - Hand vertical diameter - Full measurement name - - - - - Hand vertical diameter + Distance from neck to knee point Full measurement description - + Расстояние от шейной точки до колена - - neck_to_knee_point + + waist_to_knee Short measurement name. Don't use math symbols in name!!!! - + Дтк + + + + Waist to knee + Full measurement name + Расстояние от линии талии до колена - Neck to knee point - Full measurement name - - - - - Distance from neck to knee point + The distance from the waist to the knee Full measurement description - + Расстояние от линии талии до колена - waist_to_knee + shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Вп - Waist to knee + Shoulder height Full measurement name - + Высота плеча - The distance from the waist to the knee + Shoulder height Full measurement description - + Высота плеча - - shoulder_height + + head_height Short measurement name. Don't use math symbols in name!!!! - + Вгол + + + + Head height + Full measurement name + Высота головы - Shoulder height - Full measurement name - - - - - Shoulder height + Head height Full measurement description - + Высота головы - - head_height + + body_position Short measurement name. Don't use math symbols in name!!!! - + Пкор + + + + Body position + Full measurement name + Положение корпуса - Head height - Full measurement name - - - - - Head height + Body position Full measurement description - + Положение корпуса - - body_position + + arc_behind_shoulder_girdle Short measurement name. Don't use math symbols in name!!!! - + Дпз + + + + Arc behind shoulder girdle + Full measurement name + Дуга плечевого пояса сзади - Body position - Full measurement name - - - - - Body position + Arc behind the shoulder girdle Full measurement description - + Дуга плечевого пояса сзади - - arc_behind_shoulder_girdle + + neck_to_neck_base Short measurement name. Don't use math symbols in name!!!! - + Дшош + + + + Neck to neck base + Full measurement name + Расстояние от шейной точки до точки основания шеи сбоку по линии измерения обхвата шеи - Arc behind shoulder girdle - Full measurement name - - - - - Arc behind the shoulder girdle + Distance from neck point to point on the base of the neck side neck girth measurement line Full measurement description - + Расстояние от шейной точки до точки основания шеи сбоку по линии измерения обхвата шеи - neck_to_neck_base + depth_waist_first Short measurement name. Don't use math symbols in name!!!! - + Гт1 - Neck to neck base + Depth waist first Full measurement name - + Глубина талии первая - Distance from neck point to point on the base of the neck side neck girth measurement line + Depth waist first Full measurement description - + Глубина талии первая - - depth_waist_first + + depth_waist_second Short measurement name. Don't use math symbols in name!!!! - + ГтII + + + + Depth waist second + Full measurement name + Глубина талии вторая - Depth waist first - Full measurement name - - - - - Depth waist first - Full measurement description - - - - - depth_waist_second - Short measurement name. Don't use math symbols in name!!!! - - - - - Depth waist second - Full measurement name - - - - Depth waist second Full measurement description - + Глубина талии вторая @@ -5717,22 +5703,22 @@ Do you want to save your changes? PostfixOperators - + cm centimeter - + см - + mm millimeter - + мм - + in inch - + дюйм @@ -5861,32 +5847,32 @@ Do you want to save your changes? untitled - + без имени Svg files (*.svg) - + Svg файлы (*svg) PDF files (*.pdf) - + Pdf файлы (*pdf) Images (*.png) - + Изображения (*png) PS files (*.ps) - + Ps файл (*ps) EPS files (*.eps) - + EPS файл (*eps) @@ -5896,12 +5882,12 @@ Do you want to save your changes? Creating file '%1' failed! %2 - + Создание файла '%1' не удалось! %2 Critical error! - + Критическая ошибка! SVG Generator Example Drawing @@ -5997,7 +5983,7 @@ Do you want to save your changes? Can't cast object - + Не можете привести объект @@ -6017,7 +6003,7 @@ Do you want to save your changes? Can't convert toUInt parameter - + Не могу конвертировать toUInt параметр @@ -6034,23 +6020,23 @@ Do you want to save your changes? Can't open file %1: %2. - + Не могу окрыть файл %1:\n%2. Can't open schema file %1: %2. - Не могу окрыть файл схемы %1:\n%2. + Не могу окрыть файл схемы %1:\n%2. Validation error in line %1 column %2 - + Ошибка валидации линия %1 столбик %2 Parcing error in line %1 column %2 - + Ошибка разбора линия %1 столбец %2 This id is not unique. @@ -6189,7 +6175,7 @@ Do you want to save your changes? Critical error! - + Критическая ошибка! @@ -6208,162 +6194,162 @@ Do you want to save your changes? Can't find tool id = %1 in table. - Не могу найти инструмент с id = %1 в таблице. + Не могу найти инструмент с id = %1 в таблице. Error no unique id. - Ошибка не уникальный id. + Ошибка не уникальный id. Error! - Ошибка! + Ошибка! Error parsing file. - Ошибка парсинга файла. + Ошибка парсинга файла. Error creating or updating detail - Ошибка создания или обновления детали + Ошибка создания или обновления детали Error creating or updating single point - Ошибка создания или обновления базовой точки + Ошибка создания или обновления базовой точки Error creating or updating point of end line - Ошибка создания или обновления точки на конце линии + Ошибка создания или обновления точки на конце линии Error creating or updating point along line - Ошибка создания или обновления точки вдоль линии + Ошибка создания или обновления точки вдоль линии Error creating or updating point of shoulder - Ошибка создания или обновления точки плеча + Ошибка создания или обновления точки плеча Error creating or updating point of normal - Ошибка создания или обновления точки нормали + Ошибка создания или обновления точки нормали Error creating or updating point of bisector - Ошибка создания или обновления точки бисектрисы + Ошибка создания или обновления точки бисектрисы Error creating or updating point of lineintersection - Ошибка создания или обновления точки пересичения линий + Ошибка создания или обновления точки пересичения линий Error creating or updating point of contact - Ошибка создания или обновления точки прикосновения + Ошибка создания или обновления точки прикосновения Error creating or updating modeling point - Ошибка создания или обновления точки + Ошибка создания или обновления точки Error creating or updating height - Ошибка создания или обновления высоты + Ошибка создания или обновления высоты Error creating or updating triangle - Ошибка создания или обновления треугольника + Ошибка создания или обновления треугольника Error creating or updating point of intersection - Ошибка создания или обновления точки пересичения + Ошибка создания или обновления точки пересичения Error creating or updating cut spline point - Ошибка создания или обновления точки разрезания сплайна + Ошибка создания или обновления точки разрезания сплайна Error creating or updating cut spline path point - Ошибка создания или обновления точки разрезания сложного сплайна + Ошибка создания или обновления точки разрезания сложного сплайна Error creating or updating cut arc point - Ошибка создания или обновления точки разрезания дуги + Ошибка создания или обновления точки разрезания дуги Error creating or updating line - Ошибка создания или обновления линии + Ошибка создания или обновления линии Error creating or updating simple curve - Ошибка создания или обновления кривой + Ошибка создания или обновления кривой Error creating or updating curve path - Ошибка создания или обновления сложной кривой + Ошибка создания или обновления сложной кривой Error creating or updating modeling simple curve - Ошибка создания или обновления модельной кривой + Ошибка создания или обновления модельной кривой Error creating or updating modeling curve path - Ошибка создания или обновления сложной модельной кривой + Ошибка создания или обновления сложной модельной кривой Error creating or updating simple arc - Ошибка создания или обновления дуги + Ошибка создания или обновления дуги Error creating or updating modeling arc - Ошибка создания или обновления модельной дуги + Ошибка создания или обновления модельной дуги Error creating or updating union details - Ошибка создания или обновления объединения деталей + Ошибка создания или обновления объединения деталей Got wrong parameter id. Need only id > 0. - Получен неправельный параметр id. Допустимы только id > 0. + Получен неправельный параметр id. Допустимы только id > 0. This id is not unique. - Этот id не уникальный. + Этот id не уникальный. @@ -6430,33 +6416,33 @@ Do you want to save your changes? Variables - + Line_ Left symbol _ in name - + Линия_ - + AngleLine_ Left symbol _ in name - + УголЛинии_ - + Arc_ Left symbol _ in name - + Дуга_ - + Spl_ Left symbol _ in name - + Спл_ - + SplPath - + СлСпл_ diff --git a/src/app/share/translations/valentina_uk.ts b/src/app/share/translations/valentina_uk.ts index ccf4ac30e..03bbbe0e3 100644 --- a/src/app/share/translations/valentina_uk.ts +++ b/src/app/share/translations/valentina_uk.ts @@ -94,21 +94,11 @@ Valentina version - - - pushButton_Web_Site - - Contributors - - - label_QT_Version - - Based on Qt %2 (32 bit) @@ -1238,21 +1228,11 @@ Birth date - - - yyyy-MM-dd - - Sex - - - Mail - - @@ -1303,6 +1283,11 @@ ... + + + Email + + @@ -1423,9 +1408,13 @@ DialogIndividualMeasurements - Dialog - Діалог + Діалог + + + + Individual measurements + @@ -2377,151 +2366,151 @@ Functions - + sin sine function - + cos cosine function - + tan tangens function - + asin arcus sine function - + acos arcus cosine function - + atan arcus tangens function - + sinh hyperbolic sine function - + cosh hyperbolic cosine - + tanh hyperbolic tangens function - + asinh hyperbolic arcus sine function - + acosh hyperbolic arcus tangens function - + atanh hyperbolic arcur tangens function - + log2 logarithm to the base 2 - + log10 logarithm to the base 10 - + log logarithm to the base 10 - + ln logarithm to base e (2.71828...) - + exp e raised to the power of x - + sqrt square root of a value - + sign sign function -1 if x<0; 1 if x>0 - + rint round to nearest integer - + abs absolute value - + min min of all arguments хв - + max max of all arguments - + sum sum of all arguments - + avg mean value of all arguments @@ -3701,7 +3690,6 @@ Do you want to save your changes? - across_back_shoulder_width Short measurement name. Don't use math symbols in name!!!! @@ -3720,1964 +3708,1962 @@ Do you want to save your changes? - Back Upper Chest width Full measurement name - Across Back UpperChest, smallest width from armscye to armscye Full measurement description - + upper_back_width Short measurement name. Don't use math symbols in name!!!! - + back_width Short measurement name. Don't use math symbols in name!!!! - + Back Chest width Full measurement name - + Across Back Chest, from armfold to armfold Full measurement description - + bustpoint_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + BustPoint to BustPoint Full measurement name - + Distance between BustPoints, across Chest Full measurement description - + halter_bustpoint_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + Halter Bustpoint to Bustpoint Full measurement name - + Distance from Bustpoint, behind neck, down to Bustpoint Full measurement description - + neck_to_bustpoint Short measurement name. Don't use math symbols in name!!!! - + NeckPoint to BustPoint Full measurement name - + From NeckPoint to BustPoint Full measurement description - + crotch_length Short measurement name. Don't use math symbols in name!!!! - + Crotch length Full measurement name - + From Front Waist Center, down to crotch, up to Back Waist Center Full measurement description - + rise_height Short measurement name. Don't use math symbols in name!!!! - + Rise height Full measurement name - + Sit on hard chair, measure from side waist straight down to chair bottom Full measurement description - + shoulder_drop Short measurement name. Don't use math symbols in name!!!! - + Shoulder Drop Full measurement name - + Vertical Distance from NeckPoint level to ShoulderTip level Full measurement description - + shoulder_slope_degrees Short measurement name. Don't use math symbols in name!!!! - + Shoulder Slope degrees Full measurement name - + Degrees of angle from NeckPoint to ShoulderTip – requires goniometer Full measurement description - + front_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Front Shoulder Balance Full measurement name - + ShoulderTip to Front Waist Center Full measurement description - + back_shoulder_slope_length Short measurement name. Don't use math symbols in name!!!! - + Back Shoulder Balance Full measurement name - + ShoulderTip to Back Waist Center Full measurement description - + front_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Front Full Length Full measurement name - + NeckPoint straight down front chest to Waistline Full measurement description - + back_shoulder_to_waist_length Short measurement name. Don't use math symbols in name!!!! - + Back Full Length Full measurement name - + Back NeckPoint straight down back chest to Waistline Full measurement description - + front_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Front Neck arc Full measurement name - + NeckPoint to NeckPoint through Front Neck Center Full measurement description - + back_neck_arc Short measurement name. Don't use math symbols in name!!!! - + Back Neck arc Full measurement name - + NeckPoint to NeckPoint across Nape Full measurement description - + front_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + front_upper-bust_arc Full measurement name - + front_upper-bust_arc Full measurement description - + back_upper_chest_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperBust arc Full measurement name - + Back UpperBust side to side Full measurement description - + front_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Front Waist arc Full measurement name - + Front Waist side to side Full measurement description - + back_waist_arc Short measurement name. Don't use math symbols in name!!!! - + Back Waist arc Full measurement name - + Back Waist side to side Full measurement description - + front_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front UpperHip arc Full measurement name - + Front UpperHip side to side Full measurement description - + back_upper_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back UpperHip arc Full measurement name - + Back UpperHip side to side Full measurement description - + front_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Front Hip arc Full measurement name - + Front Hip side to side Full measurement description - + back_hip_arc Short measurement name. Don't use math symbols in name!!!! - + Back Hip arc Full measurement name - + Back Hip side to side Full measurement description - + chest_slope Short measurement name. Don't use math symbols in name!!!! - + Chest Balance Full measurement name - + NeckPoint to Front ArmfoldPoint Full measurement description - + back_slope Short measurement name. Don't use math symbols in name!!!! - + Back Balance Full measurement name - + NeckPoint to Back ArmfoldPoint Full measurement description - + front_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Front Waist Balance Full measurement name - + NeckPoint across Front Chest to Waist side Full measurement description - + back_waist_slope Short measurement name. Don't use math symbols in name!!!! - + Back Waist Balance Full measurement name - + NeckPoint across Back Chest to Waist side Full measurement description - + front_neck_to_upper_chest_height Short measurement name. Don't use math symbols in name!!!! - + Front UpperChest height Full measurement name - + Front Neck Center straight down to UpperChest line Full measurement description - + front_neck_to_bust_height Short measurement name. Don't use math symbols in name!!!! - + Bust height Full measurement name - + Front Neck Center straight down to Bust line Full measurement description - + armscye_girth Short measurement name. Don't use math symbols in name!!!! - + Armscye Girth Full measurement name - + Around Armscye Full measurement description - + elbow_girth Short measurement name. Don't use math symbols in name!!!! - + Elbow Girth Full measurement name - + Around Elbow with elbow bent Full measurement description - + upper_arm_girth Short measurement name. Don't use math symbols in name!!!! - + Upperarm Girth Full measurement name - + Around UpperArm Full measurement description - + wrist_girth Short measurement name. Don't use math symbols in name!!!! - + Wrist girth Full measurement name - + Around Wrist Full measurement description - + scye_depth Short measurement name. Don't use math symbols in name!!!! - + Armscye depth Full measurement name - + Nape straight down to UnderBust line (same as Back UpperBust height) Full measurement description - + shoulder_and_arm_length Short measurement name. Don't use math symbols in name!!!! - + Shoulder and Arm length Full measurement name - + NeckPoint to ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + underarm_length Short measurement name. Don't use math symbols in name!!!! - + Underarm length Full measurement name - + Armpit to Wrist, with arm straight and hanging at side Full measurement description - + cervicale_to_wrist_length Short measurement name. Don't use math symbols in name!!!! - + Nape to wrist length Full measurement name - + Nape to Wrist, with elbow bent and hand on hip Full measurement description - + shoulder_to_elbow_length Short measurement name. Don't use math symbols in name!!!! - + Elbow length Full measurement name - + ShoulderTip to Elbow, with elbow bent and hand on hip Full measurement description - + arm_length Short measurement name. Don't use math symbols in name!!!! - + Arm length Full measurement name - + ShoulderTip to Wrist, with elbow bent and hand on hip Full measurement description - + hand_width Short measurement name. Don't use math symbols in name!!!! - + Hand width Full measurement name - + Hand side to side Full measurement description - + hand_length Short measurement name. Don't use math symbols in name!!!! - + Hand length Full measurement name - + Hand Middle Finger tip to wrist Full measurement description - + hand_girth Short measurement name. Don't use math symbols in name!!!! - + Hand girth Full measurement name - + Around Hand Full measurement description - + thigh_girth Short measurement name. Don't use math symbols in name!!!! - + Thigh girth Full measurement name - + Around Thigh Full measurement description - + mid_thigh_girth Short measurement name. Don't use math symbols in name!!!! - + Midthigh girth Full measurement name - + Around MidThigh Full measurement description - + knee_girth Short measurement name. Don't use math symbols in name!!!! - + Knee girth Full measurement name - + Around Knee Full measurement description - + calf_girth Short measurement name. Don't use math symbols in name!!!! - + Calf girth Full measurement name - + Around Calf Full measurement description - + ankle_girth Short measurement name. Don't use math symbols in name!!!! - + Ankle girth Full measurement name - + Around Ankle Full measurement description - + knee_height Short measurement name. Don't use math symbols in name!!!! - + Knee height Full measurement name - + Knee to Floor Full measurement description - + ankle_height Short measurement name. Don't use math symbols in name!!!! - + Ankle height Full measurement name - + Ankle to Floor Full measurement description - + foot_width Short measurement name. Don't use math symbols in name!!!! - + Foot width Full measurement name - + Widest part of Foot side to side Full measurement description - + foot_length Short measurement name. Don't use math symbols in name!!!! - + Foot length Full measurement name - + Tip of Longest Toe straight to back of heel Full measurement description - + height Short measurement name. Don't use math symbols in name!!!! - + Total Height Full measurement name - + Top of head to floor Full measurement description - + cervicale_height Short measurement name. Don't use math symbols in name!!!! - + Nape height Full measurement name - + Nape to Floor Full measurement description - + cervicale_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Nape to knee height Full measurement name - + Nape to Knee Full measurement description - + waist_height Short measurement name. Don't use math symbols in name!!!! - + Waist height Full measurement name - + Waist side to floor Full measurement description - + high_hip_height Short measurement name. Don't use math symbols in name!!!! - + HighHip height Full measurement name - + HighHip side to Floor Full measurement description - + hip_height Short measurement name. Don't use math symbols in name!!!! - + Hip height Full measurement name - + Hip side to Floor Full measurement description - + waist_to_hip_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Hip height Full measurement name - + Waist side to Hip Full measurement description - + waist_to_knee_height Short measurement name. Don't use math symbols in name!!!! - + Waist to Knee height Full measurement name - + Waist side to Knee Full measurement description - + crotch_height Short measurement name. Don't use math symbols in name!!!! - + Crotch height/Inseam Full measurement name - + Crotch to Floor along inside leg Full measurement description - + size Short measurement name. Don't use math symbols in name!!!! - + Size Full measurement name Розмір - + Size Full measurement description Розмір - + height_front_neck_base_point Short measurement name. Don't use math symbols in name!!!! - + Height front neck base point Full measurement name - + Height of the point base of the neck in front Full measurement description - + height_base_neck_side_point Short measurement name. Don't use math symbols in name!!!! - + Height base neck side point Full measurement name - + Height of the base of the neck side point Full measurement description - + height_shoulder_point Short measurement name. Don't use math symbols in name!!!! - + Height shoulder point Full measurement name - + The height of the shoulder point Full measurement description - + height_nipple_point Short measurement name. Don't use math symbols in name!!!! - + Height nipple point Full measurement name - + Height nipple point Full measurement description - + height_back_angle_axilla Short measurement name. Don't use math symbols in name!!!! - + Height back angle axilla Full measurement name - + Height back angle axilla Full measurement description - + height_scapular_point Short measurement name. Don't use math symbols in name!!!! - + Height scapular point Full measurement name - + Height scapular point Full measurement description - + height_under_buttock_folds Short measurement name. Don't use math symbols in name!!!! - + Height under buttock folds Full measurement name - + Height under buttock folds Full measurement description - + hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Hips excluding protruding abdomen Full measurement name - + Hips excluding protruding abdomen Full measurement description - + girth_foot_instep Short measurement name. Don't use math symbols in name!!!! - + Girth foot instep Full measurement name - + Girth foot instep Full measurement description - + side_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Side waist to floor Full measurement name - + The distance from the side waist to floor Full measurement description - + front_waist_to_floor Short measurement name. Don't use math symbols in name!!!! - + Front waist to floor Full measurement name - + The distance from the front waist to floor Full measurement description - + arc_through_groin_area Short measurement name. Don't use math symbols in name!!!! - + Arc through groin area Full measurement name - + Arc through groin area Full measurement description - + waist_to_plane_seat Short measurement name. Don't use math symbols in name!!!! - + Waist to plane seat Full measurement name - + The distance from the waist to the plane seat Full measurement description - + neck_to_radial_point Short measurement name. Don't use math symbols in name!!!! - + Neck to radial point Full measurement name - + The distance from the base of the neck to the side of the radial point Full measurement description - + neck_to_third_finger Short measurement name. Don't use math symbols in name!!!! - + Neck to third finger Full measurement name - + Distance from the base of the neck side point to the end of the third finger Full measurement description - + neck_to_first_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Neck to first line chest circumference Full measurement name - + The distance from the base of the neck to the side of the first line in front of chest circumference Full measurement description - + front_waist_length Short measurement name. Don't use math symbols in name!!!! - + Front waist length Full measurement name - + The distance from the base of the neck to the waist side front (waist length in the front) Full measurement description - + arc_through_shoulder_joint Short measurement name. Don't use math symbols in name!!!! - + Arc through shoulder joint Full measurement name - + Arc through the highest point of the shoulder joint Full measurement description - + neck_to_back_line_chest_circumference Short measurement name. Don't use math symbols in name!!!! - + Neck to back line chest circumference Full measurement name - + The distance from the base of the neck to the back line of chest circumference of the first and the second based on ledge vanes Full measurement description - + waist_to_neck_side Short measurement name. Don't use math symbols in name!!!! - + Waist to neck side Full measurement name - + The distance from the waist to the back base of the neck side point Full measurement description - + arc_length_upper_body Short measurement name. Don't use math symbols in name!!!! - + Arc length upper body Full measurement name - + Arc length of the upper body through the base of the neck side point Full measurement description - + chest_width Short measurement name. Don't use math symbols in name!!!! - + Chest width Full measurement name - + Chest width Full measurement description - + anteroposterior_diameter_hands Short measurement name. Don't use math symbols in name!!!! - + Anteroposterior diameter hands Full measurement name - + Anteroposterior diameter of the hands Full measurement description - + height_clavicular_point Short measurement name. Don't use math symbols in name!!!! - + Height clavicular point Full measurement name - + Height clavicular point Full measurement description - + height_armhole_slash Short measurement name. Don't use math symbols in name!!!! - + Height armhole slash Full measurement name - + The distance from the point to the cervical level of the posterior angle of the front armpit (underarm height oblique) Full measurement description - + slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Slash shoulder height Full measurement name - + Slash shoulder height Full measurement description - + half_girth_neck Short measurement name. Don't use math symbols in name!!!! - + Half girth neck Full measurement name - + Half girth neck Full measurement description - + half_girth_neck_for_shirts Short measurement name. Don't use math symbols in name!!!! - + Half girth neck for shirts Full measurement name - + Half girth neck for shirts Full measurement description - + half_girth_chest_first Short measurement name. Don't use math symbols in name!!!! - + Half girth chest first Full measurement name - + Half girth chest first Full measurement description - + half_girth_chest_second Short measurement name. Don't use math symbols in name!!!! - + Half girth chest second Full measurement name - + Half girth chest second Full measurement description - + half_girth_chest_third Short measurement name. Don't use math symbols in name!!!! - + Half girth chest third Full measurement name - + Half girth chest third Full measurement description - + half_girth_waist Short measurement name. Don't use math symbols in name!!!! - + Half girth waist Full measurement name - + Half girth waist Full measurement description - + half_girth_hips_considering_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Half girth hips considering protruding abdomen Full measurement name - + Half girth hips considering protruding abdomen Full measurement description - + half_girth_hips_excluding_protruding_abdomen Short measurement name. Don't use math symbols in name!!!! - + Half girth hips excluding protruding abdomen Full measurement name - + Half girth hips excluding protruding abdomen Full measurement description - + girth_knee_flexed_feet Short measurement name. Don't use math symbols in name!!!! - + Girth knee flexed feet Full measurement name - + Girth knee flexed feet Full measurement description - + neck_transverse_diameter Short measurement name. Don't use math symbols in name!!!! - + Neck transverse diameter Full measurement name - + Neck transverse diameter Full measurement description - + front_slash_shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Front slash shoulder height Full measurement name - + Front slash shoulder height Full measurement description - + neck_to_front_waist_line Short measurement name. Don't use math symbols in name!!!! - + Neck to front waist line Full measurement name - + The distance from the base of the neck to the waist line front Full measurement description - + hand_vertical_diameter Short measurement name. Don't use math symbols in name!!!! - + Hand vertical diameter Full measurement name - + Hand vertical diameter Full measurement description - + neck_to_knee_point Short measurement name. Don't use math symbols in name!!!! - + Neck to knee point Full measurement name - + Distance from neck to knee point Full measurement description - + waist_to_knee Short measurement name. Don't use math symbols in name!!!! - + Waist to knee Full measurement name - + The distance from the waist to the knee Full measurement description - + shoulder_height Short measurement name. Don't use math symbols in name!!!! - + Shoulder height Full measurement name - + Shoulder height Full measurement description - + head_height Short measurement name. Don't use math symbols in name!!!! - + Head height Full measurement name - + Head height Full measurement description - + body_position Short measurement name. Don't use math symbols in name!!!! - + Body position Full measurement name - + Body position Full measurement description - + arc_behind_shoulder_girdle Short measurement name. Don't use math symbols in name!!!! - + Arc behind shoulder girdle Full measurement name - + Arc behind the shoulder girdle Full measurement description - + neck_to_neck_base Short measurement name. Don't use math symbols in name!!!! - + Neck to neck base Full measurement name - + Distance from neck point to point on the base of the neck side neck girth measurement line Full measurement description - + depth_waist_first Short measurement name. Don't use math symbols in name!!!! - + Depth waist first Full measurement name - + Depth waist first Full measurement description - + depth_waist_second Short measurement name. Don't use math symbols in name!!!! - + Depth waist second Full measurement name - + Depth waist second Full measurement description @@ -5719,19 +5705,19 @@ Do you want to save your changes? PostfixOperators - + cm centimeter - + mm millimeter - + in inch @@ -6425,31 +6411,31 @@ Do you want to save your changes? Variables - + Line_ Left symbol _ in name - + AngleLine_ Left symbol _ in name - + Arc_ Left symbol _ in name - + Spl_ Left symbol _ in name - + SplPath diff --git a/src/app/widgets/vapplication.cpp b/src/app/widgets/vapplication.cpp index 52789ef75..663fc6452 100644 --- a/src/app/widgets/vapplication.cpp +++ b/src/app/widgets/vapplication.cpp @@ -424,16 +424,6 @@ void VApplication::InitMeasurements() guiTexts.insert(acrossBackShoulderWidth_M,g ); descriptions.insert(acrossBackShoulderWidth_M, d); //================================================================================================================= - m = VTranslation::translate("Measurements", "across_back_shoulder_width", - "Short measurement name. Don't use math symbols in name!!!!"); - g = VTranslation::translate("Measurements", "Back Upper Chest width", "Full measurement name"); - d = VTranslation::translate("Measurements", "Across Back UpperChest, smallest width from armscye to armscye", - "Full measurement description"); - - measurements.insert(acrossBackShoulderWidth_M, m); - guiTexts.insert(acrossBackShoulderWidth_M, g); - descriptions.insert(acrossBackShoulderWidth_M, d); - //================================================================================================================= m = VTranslation::translate("Measurements", "upper_back_width", "Short measurement name. Don't use math symbols in name!!!!"); g = VTranslation::translate("Measurements", "Back Upper Chest width", "Full measurement name"); From 51a420bbdda475423492339f26cd86a18590e0c8 Mon Sep 17 00:00:00 2001 From: dismine Date: Mon, 26 May 2014 16:18:48 +0300 Subject: [PATCH 30/32] Show language independent formula in dialog. --HG-- branch : feature --- src/app/container/calculator.cpp | 8 +++ src/app/dialogs/tools/dialogendline.ui | 36 ++++++++++++++ src/app/dialogs/tools/dialogtool.cpp | 15 +++--- src/app/widgets/vapplication.cpp | 68 +++++++++++++++++++++----- src/app/widgets/vapplication.h | 13 ++--- 5 files changed, 116 insertions(+), 24 deletions(-) diff --git a/src/app/container/calculator.cpp b/src/app/container/calculator.cpp index 350fb5b1d..5dd5666b3 100644 --- a/src/app/container/calculator.cpp +++ b/src/app/container/calculator.cpp @@ -78,6 +78,14 @@ Calculator::Calculator(const QString &formula, bool fromUser) } SetExpr(formula); + try + { + Eval();//Need run for making tokens + } + catch(qmu::QmuParserError &e) + { + return;//Ignore all warnings + } } Calculator::~Calculator() diff --git a/src/app/dialogs/tools/dialogendline.ui b/src/app/dialogs/tools/dialogendline.ui index 33a79de61..377942edb 100644 --- a/src/app/dialogs/tools/dialogendline.ui +++ b/src/app/dialogs/tools/dialogendline.ui @@ -471,6 +471,12 @@ + + + 0 + 0 + + Size and height @@ -481,6 +487,12 @@ + + + 0 + 0 + + Standard table @@ -488,6 +500,12 @@ + + + 0 + 0 + + Increments @@ -498,6 +516,12 @@ true + + + 0 + 0 + + Length of lines @@ -508,6 +532,12 @@ true + + + 0 + 0 + + Length of arcs @@ -518,6 +548,12 @@ true + + + 0 + 0 + + Length of curves diff --git a/src/app/dialogs/tools/dialogtool.cpp b/src/app/dialogs/tools/dialogtool.cpp index a2a4364e4..e49c4933b 100644 --- a/src/app/dialogs/tools/dialogtool.cpp +++ b/src/app/dialogs/tools/dialogtool.cpp @@ -671,8 +671,9 @@ void DialogTool::ValChenged(int row) } if (radioButtonStandardTable->isChecked()) { - VMeasurement stable = data->GetMeasurement(item->text()); - QString desc = QString("%1(%2) - %3").arg(item->text()).arg(data->GetValueStandardTableRow(item->text())) + QString name = qApp->VarFromUser(item->text()); + VMeasurement stable = data->GetMeasurement(name); + QString desc = QString("%1(%2) - %3").arg(item->text()).arg(data->GetValueStandardTableRow(name)) .arg(stable.GetDescription()); labelDescription->setText(desc); return; @@ -687,22 +688,22 @@ void DialogTool::ValChenged(int row) } if (radioButtonLengthLine->isChecked()) { - QString desc = QString("%1(%2) - %3").arg(item->text()).arg(data->GetLine(item->text())) + QString desc = QString("%1(%2) - %3").arg(item->text()).arg(data->GetLine(qApp->VarFromUser(item->text()))) .arg(tr("Line length")); labelDescription->setText(desc); return; } if (radioButtonLengthArc->isChecked()) { - QString desc = QString("%1(%2) - %3").arg(item->text()).arg(data->GetLengthArc(item->text())) + QString desc = QString("%1(%2) - %3").arg(item->text()).arg(data->GetLengthArc(qApp->VarFromUser(item->text()))) .arg(tr("Arc length")); labelDescription->setText(desc); return; } if (radioButtonLengthCurve->isChecked()) { - QString desc = QString("%1(%2) - %3").arg(item->text()).arg(data->GetLengthSpline(item->text())) - .arg(tr("Curve length")); + QString desc = QString("%1(%2) - %3").arg(item->text()) + .arg(data->GetLengthSpline(qApp->VarFromUser(item->text()))).arg(tr("Curve length")); labelDescription->setText(desc); return; } @@ -757,7 +758,7 @@ void DialogTool::ShowVariable(const QHash *var) while (i.hasNext()) { i.next(); - map.insert(i.key(), i.value()); + map.insert(qApp->VarToUser(i.key()), i.value()); } QMapIterator iMap(map); diff --git a/src/app/widgets/vapplication.cpp b/src/app/widgets/vapplication.cpp index 663fc6452..132fa6835 100644 --- a/src/app/widgets/vapplication.cpp +++ b/src/app/widgets/vapplication.cpp @@ -1505,7 +1505,7 @@ void VApplication::InitPostfixOperators() } //--------------------------------------------------------------------------------------------------------------------- -bool VApplication::Measurements(QString &newFormula, int position, const QString &token) +bool VApplication::MeasurementsFromUser(QString &newFormula, int position, const QString &token) const { QMap::const_iterator i = measurements.constBegin(); while (i != measurements.constEnd()) @@ -1521,7 +1521,7 @@ bool VApplication::Measurements(QString &newFormula, int position, const QString } //--------------------------------------------------------------------------------------------------------------------- -bool VApplication::VariablesFromUser(QString &newFormula, int position, const QString &token) +bool VApplication::VariablesFromUser(QString &newFormula, int position, const QString &token) const { QMap::const_iterator i = variables.constBegin(); while (i != variables.constEnd()) @@ -1537,7 +1537,7 @@ bool VApplication::VariablesFromUser(QString &newFormula, int position, const QS } //--------------------------------------------------------------------------------------------------------------------- -bool VApplication::PostfixOperators(QString &newFormula, int position, const QString &token) +bool VApplication::PostfixOperatorsFromUser(QString &newFormula, int position, const QString &token) const { QMap::const_iterator i = postfixOperators.constBegin(); while (i != postfixOperators.constEnd()) @@ -1553,7 +1553,7 @@ bool VApplication::PostfixOperators(QString &newFormula, int position, const QSt } //--------------------------------------------------------------------------------------------------------------------- -bool VApplication::Functions(QString &newFormula, int position, const QString &token) +bool VApplication::FunctionsFromUser(QString &newFormula, int position, const QString &token) const { QMap::const_iterator i = functions.constBegin(); while (i != functions.constEnd()) @@ -1569,14 +1569,14 @@ bool VApplication::Functions(QString &newFormula, int position, const QString &t } //--------------------------------------------------------------------------------------------------------------------- -bool VApplication::VariablesToUser(QString &newFormula, int position, const QString &token) +bool VApplication::VariablesToUser(QString &newFormula, int position, const QString &token) const { QMap::const_iterator i = variables.constBegin(); while (i != variables.constEnd()) { if(token.indexOf( i.key() ) == 0) { - newFormula.replace(position, variables.value(i.key()).translate().length(), i.value().translate()); + newFormula.replace(position, i.key().length(), i.value().translate()); return true; } ++i; @@ -1592,9 +1592,55 @@ void VApplication::setPatternUnit(const Valentina::Units &patternUnit) } //--------------------------------------------------------------------------------------------------------------------- -QString VApplication::Measurement(const QString &measurement) const +QString VApplication::VarToUser(const QString &var) const { - return measurements.value(measurement).translate(); + if (measurements.contains(var)) + { + return measurements.value(var).translate(); + } + + if (functions.contains(var)) + { + return functions.value(var).translate(); + } + + if (postfixOperators.contains(var)) + { + return postfixOperators.value(var).translate(); + } + + QString newVar = var; + if(VariablesToUser(newVar, 0, var)) + { + return newVar; + } + return newVar; +} + +//--------------------------------------------------------------------------------------------------------------------- +QString VApplication::VarFromUser(const QString &var) const +{ + QString newVar = var; + if(MeasurementsFromUser(newVar, 0, var)) + { + return newVar; + } + + if(VariablesFromUser(newVar, 0, var)) + { + return newVar; + } + + if(PostfixOperatorsFromUser(newVar, 0, var)) + { + return newVar; + } + + if(FunctionsFromUser(newVar, 0, var)) + { + return newVar; + } + return newVar; } //--------------------------------------------------------------------------------------------------------------------- @@ -1653,7 +1699,7 @@ QString VApplication::FormulaFromUser(const QString &formula) QMap::const_iterator i = tokens.constBegin(); while (i != tokens.constEnd()) { - if(Measurements(newFormula, i.key(), i.value())) + if(MeasurementsFromUser(newFormula, i.key(), i.value())) { ++i; continue; @@ -1665,13 +1711,13 @@ QString VApplication::FormulaFromUser(const QString &formula) continue; } - if(PostfixOperators(newFormula, i.key(), i.value())) + if(PostfixOperatorsFromUser(newFormula, i.key(), i.value())) { ++i; continue; } - if(Functions(newFormula, i.key(), i.value())) + if(FunctionsFromUser(newFormula, i.key(), i.value())) { ++i; continue; diff --git a/src/app/widgets/vapplication.h b/src/app/widgets/vapplication.h index 4df5493d1..944bd25bc 100644 --- a/src/app/widgets/vapplication.h +++ b/src/app/widgets/vapplication.h @@ -72,7 +72,8 @@ public: QString pathToTables() const; qreal widthMainLine() const; qreal widthHairLine() const; - QString Measurement(const QString &measurement) const; + QString VarToUser(const QString &var) const; + QString VarFromUser(const QString &var) const; QString GuiText(const QString &measurement) const; QString Description(const QString &measurement) const; QString Variable(const QString &name) const; @@ -96,11 +97,11 @@ private: void InitVariables(); void InitFunctions(); void InitPostfixOperators(); - bool Measurements(QString &newFormula, int position, const QString &token); - bool VariablesFromUser(QString &newFormula, int position, const QString &token); - bool PostfixOperators(QString &newFormula, int position, const QString &token); - bool Functions(QString &newFormula, int position, const QString &token); - bool VariablesToUser(QString &newFormula, int position, const QString &token); + bool MeasurementsFromUser(QString &newFormula, int position, const QString &token) const; + bool VariablesFromUser(QString &newFormula, int position, const QString &token) const; + bool PostfixOperatorsFromUser(QString &newFormula, int position, const QString &token) const; + bool FunctionsFromUser(QString &newFormula, int position, const QString &token) const; + bool VariablesToUser(QString &newFormula, int position, const QString &token) const; }; inline Valentina::Units VApplication::patternUnit() const From 063bacc444254169389473a12edb1c880acf9678 Mon Sep 17 00:00:00 2001 From: dismine Date: Mon, 26 May 2014 16:36:45 +0300 Subject: [PATCH 31/32] Show translated measurements name in table. --HG-- branch : feature --- src/app/dialogs/app/dialogincrements.cpp | 11 ++++++----- src/app/dialogs/app/dialogincrements.ui | 5 ++++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/app/dialogs/app/dialogincrements.cpp b/src/app/dialogs/app/dialogincrements.cpp index d700c1d2e..e62aa4603 100644 --- a/src/app/dialogs/app/dialogincrements.cpp +++ b/src/app/dialogs/app/dialogincrements.cpp @@ -146,7 +146,7 @@ void DialogIncrements::FillMeasurements() while (i.hasNext()) { i.next(); - map.insert(i.key(), i.value()); + map.insert(qApp->VarToUser(i.key()), i.value()); } qint32 currentRow = -1; QMapIterator iMap(map); @@ -165,6 +165,7 @@ void DialogIncrements::FillMeasurements() Qt::ItemFlags flags = item->flags(); flags &= ~(Qt::ItemIsSelectable | Qt::ItemIsEditable); // reset/clear the flag item->setFlags(flags); + item->setTextAlignment(Qt::AlignLeft); ui->tableWidgetMeasurements->setItem(currentRow, 0, item); if (qApp->patternType() == Pattern::Standard) @@ -292,7 +293,7 @@ void DialogIncrements::FillLengthLines() while (iHash.hasNext()) { iHash.next(); - map.insert(iHash.key(), iHash.value()); + map.insert(qApp->VarToUser(iHash.key()), iHash.value()); } qint32 currentRow = -1; @@ -328,7 +329,7 @@ void DialogIncrements::FillLengthSplines() while (iHash.hasNext()) { iHash.next(); - map.insert(iHash.key(), iHash.value()); + map.insert(qApp->VarToUser(iHash.key()), iHash.value()); } qint32 currentRow = -1; @@ -364,7 +365,7 @@ void DialogIncrements::FillLengthArcs() while (iHash.hasNext()) { iHash.next(); - map.insert(iHash.key(), iHash.value()); + map.insert(qApp->VarToUser(iHash.key()), iHash.value()); } qint32 currentRow = -1; @@ -721,7 +722,7 @@ void DialogIncrements::MeasurementChanged(qint32 row, qint32 column) const QTableWidgetItem *itemName = ui->tableWidgetMeasurements->item(row, 0); QTableWidgetItem *item = ui->tableWidgetMeasurements->item(row, 2); - VMeasurement measur = data->GetMeasurement(itemName->text()); + VMeasurement measur = data->GetMeasurement(qApp->VarFromUser(itemName->text())); const QString tag = measur.TagName(); QDomNodeList list = m->elementsByTagName(tag); QDomElement domElement = list.at(0).toElement(); diff --git a/src/app/dialogs/app/dialogincrements.ui b/src/app/dialogs/app/dialogincrements.ui index de90671fd..f95985b9c 100644 --- a/src/app/dialogs/app/dialogincrements.ui +++ b/src/app/dialogs/app/dialogincrements.ui @@ -105,7 +105,7 @@ - 0 + 1 @@ -284,6 +284,9 @@ true + + Qt::LeftToRight + QAbstractItemView::AnyKeyPressed|QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed From 19ab8f929955b1df79bf552a2916e62d8e8478cd Mon Sep 17 00:00:00 2001 From: dismine Date: Mon, 26 May 2014 16:42:41 +0300 Subject: [PATCH 32/32] Set aligment for table. --HG-- branch : feature --- src/app/dialogs/app/dialogincrements.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/app/dialogs/app/dialogincrements.cpp b/src/app/dialogs/app/dialogincrements.cpp index e62aa4603..e6e3ae51d 100644 --- a/src/app/dialogs/app/dialogincrements.cpp +++ b/src/app/dialogs/app/dialogincrements.cpp @@ -208,6 +208,7 @@ void DialogIncrements::FillMeasurements() flags = item->flags(); flags &= ~(Qt::ItemIsSelectable | Qt::ItemIsEditable); // reset/clear the flag item->setFlags(flags); + item->setTextAlignment(Qt::AlignLeft); ui->tableWidgetMeasurements->setItem(currentRow, 5, item); } ui->tableWidgetMeasurements->verticalHeader()->setDefaultSectionSize(20); @@ -306,7 +307,7 @@ void DialogIncrements::FillLengthLines() ui->tableWidgetLines->setRowCount ( linesTable->size() ); QTableWidgetItem *item = new QTableWidgetItem(QString(i.key())); - item->setTextAlignment(Qt::AlignHCenter); + item->setTextAlignment(Qt::AlignLeft); item->setFont(QFont("Times", 12, QFont::Bold)); ui->tableWidgetLines->setItem(currentRow, 0, item); @@ -341,7 +342,7 @@ void DialogIncrements::FillLengthSplines() currentRow++; ui->tableWidgetSplines->setRowCount ( splinesTable->size() ); - QTableWidgetItem *item = new QTableWidgetItem(QString(i.key())); + QTableWidgetItem *item = new QTableWidgetItem(i.key()); item->setTextAlignment(Qt::AlignLeft); item->setFont(QFont("Times", 12, QFont::Bold)); ui->tableWidgetSplines->setItem(currentRow, 0, item); @@ -377,8 +378,8 @@ void DialogIncrements::FillLengthArcs() currentRow++; ui->tableWidgetArcs->setRowCount ( arcsTable->size() ); - QTableWidgetItem *item = new QTableWidgetItem(QString(i.key())); - item->setTextAlignment(Qt::AlignHCenter); + QTableWidgetItem *item = new QTableWidgetItem(i.key()); + item->setTextAlignment(Qt::AlignLeft); item->setFont(QFont("Times", 12, QFont::Bold)); ui->tableWidgetArcs->setItem(currentRow, 0, item);