diff --git a/src/app/tape/share/resources/diagrams.qrc b/src/app/tape/share/resources/diagrams.qrc index a12f6afa4..ee4476135 100644 --- a/src/app/tape/share/resources/diagrams.qrc +++ b/src/app/tape/share/resources/diagrams.qrc @@ -22,6 +22,7 @@ diagrams/Gp6.png diagrams/Gp7.png diagrams/Gp8.png + diagrams/Gp9.png diagrams/Hp1.png diagrams/Hp2.png diagrams/Hp3.png @@ -34,6 +35,7 @@ diagrams/Hp10.png diagrams/Hp11.png diagrams/Hp12.png + diagrams/Hp13.png diagrams/Ip1.png diagrams/Ip2.png diagrams/Ip3.png @@ -66,6 +68,7 @@ diagrams/Lp7.png diagrams/Lp8.png diagrams/Lp9.png + diagrams/Lp10.png diagrams/Mp1.png diagrams/Mp2.png diagrams/Mp3.png diff --git a/src/app/tape/share/resources/diagrams/Gp9.png b/src/app/tape/share/resources/diagrams/Gp9.png new file mode 100644 index 000000000..e8a7da4eb Binary files /dev/null and b/src/app/tape/share/resources/diagrams/Gp9.png differ diff --git a/src/app/tape/share/resources/diagrams/Hp13.png b/src/app/tape/share/resources/diagrams/Hp13.png new file mode 100644 index 000000000..769106665 Binary files /dev/null and b/src/app/tape/share/resources/diagrams/Hp13.png differ diff --git a/src/app/tape/share/resources/diagrams/Lp10.png b/src/app/tape/share/resources/diagrams/Lp10.png new file mode 100644 index 000000000..b5dd8e802 Binary files /dev/null and b/src/app/tape/share/resources/diagrams/Lp10.png differ diff --git a/src/app/tape/tape.pro b/src/app/tape/tape.pro index ce79f6976..e1e8d5c2b 100644 --- a/src/app/tape/tape.pro +++ b/src/app/tape/tape.pro @@ -286,6 +286,7 @@ DIAGRAMS += \ $${PWD}/share/resources/diagrams/Gp6.png \ $${PWD}/share/resources/diagrams/Gp7.png \ $${PWD}/share/resources/diagrams/Gp8.png \ + $${PWD}/share/resources/diagrams/Gp9.png \ $${PWD}/share/resources/diagrams/Hp1.png \ $${PWD}/share/resources/diagrams/Hp2.png \ $${PWD}/share/resources/diagrams/Hp3.png \ @@ -298,6 +299,7 @@ DIAGRAMS += \ $${PWD}/share/resources/diagrams/Hp10.png \ $${PWD}/share/resources/diagrams/Hp11.png \ $${PWD}/share/resources/diagrams/Hp12.png \ + $${PWD}/share/resources/diagrams/Hp13.png \ $${PWD}/share/resources/diagrams/Ip1.png \ $${PWD}/share/resources/diagrams/Ip2.png \ $${PWD}/share/resources/diagrams/Ip3.png \ @@ -330,6 +332,7 @@ DIAGRAMS += \ $${PWD}/share/resources/diagrams/Lp7.png \ $${PWD}/share/resources/diagrams/Lp8.png \ $${PWD}/share/resources/diagrams/Lp9.png \ + $${PWD}/share/resources/diagrams/Lp10.png \ $${PWD}/share/resources/diagrams/Mp1.png \ $${PWD}/share/resources/diagrams/Mp2.png \ $${PWD}/share/resources/diagrams/Mp3.png \ diff --git a/src/libs/vmisc/def.cpp b/src/libs/vmisc/def.cpp index 57a350dbd..c310a7bb3 100644 --- a/src/libs/vmisc/def.cpp +++ b/src/libs/vmisc/def.cpp @@ -135,6 +135,7 @@ const QString hipWithAbdomenArcF_M = QStringLiteral("hip_with_abdomen_arc_f"); / const QString bodyArmfoldCirc_M = QStringLiteral("body_armfold_circ"); // G43 const QString bodyBustCirc_M = QStringLiteral("body_bust_circ"); // G44 const QString bodyTorsoCirc_M = QStringLiteral("body_torso_circ"); // G45 +const QString hipCircWithAbdomen_M = QStringLiteral("hip_circ_with_abdomen"); // G46 // H const QString neckFrontToWaistF_M = QStringLiteral("neck_front_to_waist_f"); // H01 const QString neckFrontToWaistFlatF_M = QStringLiteral("neck_front_to_waist_flat_f"); // H02 @@ -176,6 +177,8 @@ const QString shoulderSlopeNeckSideLength_M = QStringLiteral("shoulder_slope_n const QString shoulderSlopeNeckBackAngle_M = QStringLiteral("shoulder_slope_neck_back_angle"); // H38 const QString shoulderSlopeNeckBackHeight_M = QStringLiteral("shoulder_slope_neck_back_height"); // H39 const QString shoulderSlopeShoulderTipAngle_M = QStringLiteral("shoulder_slope_shoulder_tip_angle"); // H40 +const QString neckBackToAcrossBack_M = QStringLiteral("neck_back_to_across_back"); // H41 +const QString acrossBackToWaistB_M = QStringLiteral("across_back_to_waist_b"); // H42 // I const QString shoulderLength_M = QStringLiteral("shoulder_length"); // I01 const QString shoulderTipToShoulderTipF_M = QStringLiteral("shoulder_tip_to_shoulder_tip_f"); // I02 @@ -237,6 +240,7 @@ const QString armNeckSideToFingerTip_M = QStringLiteral("arm_neck_side_to_f const QString armscyeCirc_M = QStringLiteral("armscye_circ"); // L19 const QString armscyeLength_M = QStringLiteral("armscye_length"); // L20 const QString armscyeWidth_M = QStringLiteral("armscye_width"); // L21 +const QString armNeckSideToOuterElbow_M = QStringLiteral("arm_neck_side_to_outer_elbow"); // L22 // M const QString legCrotchToFloor_M = QStringLiteral("leg_crotch_to_floor"); // M01 const QString legWaistSideToFloor_M = QStringLiteral("leg_waist_side_to_floor"); // M02 @@ -662,51 +666,52 @@ QStringList ListGroupF() //--------------------------------------------------------------------------------------------------------------------- QStringList ListGroupG() { - const QStringList list = QStringList() << neckMidCirc_M // G01 - << neckCirc_M // G02 - << highbustCirc_M // G03 - << bustCirc_M // G04 - << lowbustCirc_M // G05 - << ribCirc_M // G06 - << waistCirc_M // G07 - << highhipCirc_M // G08 - << hipCirc_M // G09 - << neckArcF_M // G10 - << highbustArcF_M // G11 - << bustArcF_M // G12 - << lowbustArcF_M // G13 - << ribArcF_M // G14 - << waistArcF_M // G15 - << highhipArcF_M // G16 - << hipArcF_M // G17 - << neckArcHalfF_M // G18 - << highbustArcHalfF_M // G19 - << bustArcHalfF_M // G20 - << lowbustArcHalfF_M // G21 - << ribArcHalfF_M // G22 - << waistArcHalfF_M // G23 - << highhipArcHalfF_M // G24 - << hipArcHalfF_M // G25 - << neckArcB_M // G26 - << highbustArcB_M // G27 - << bustArcB_M // G28 - << lowbustArcB_M // G29 - << ribArcB_M // G30 - << waistArcB_M // G31 - << highhipArcB_M // G32 - << hipArcB_M // G33 - << neckArcHalfB_M // G34 - << highbustArcHalfB_M // G35 - << bustArcHalfB_M // G36 - << lowbustArcHalfB_M // G37 - << ribArcHalfB_M // G38 - << waistArcHalfB_M // G39 - << highhipArcHalfB_M // G40 - << hipArcHalfB_M // G41 - << hipWithAbdomenArcF_M // G42 - << bodyArmfoldCirc_M // G43 - << bodyBustCirc_M // G44 - << bodyTorsoCirc_M; // G45 + const QStringList list = QStringList() << neckMidCirc_M // G01 + << neckCirc_M // G02 + << highbustCirc_M // G03 + << bustCirc_M // G04 + << lowbustCirc_M // G05 + << ribCirc_M // G06 + << waistCirc_M // G07 + << highhipCirc_M // G08 + << hipCirc_M // G09 + << neckArcF_M // G10 + << highbustArcF_M // G11 + << bustArcF_M // G12 + << lowbustArcF_M // G13 + << ribArcF_M // G14 + << waistArcF_M // G15 + << highhipArcF_M // G16 + << hipArcF_M // G17 + << neckArcHalfF_M // G18 + << highbustArcHalfF_M // G19 + << bustArcHalfF_M // G20 + << lowbustArcHalfF_M // G21 + << ribArcHalfF_M // G22 + << waistArcHalfF_M // G23 + << highhipArcHalfF_M // G24 + << hipArcHalfF_M // G25 + << neckArcB_M // G26 + << highbustArcB_M // G27 + << bustArcB_M // G28 + << lowbustArcB_M // G29 + << ribArcB_M // G30 + << waistArcB_M // G31 + << highhipArcB_M // G32 + << hipArcB_M // G33 + << neckArcHalfB_M // G34 + << highbustArcHalfB_M // G35 + << bustArcHalfB_M // G36 + << lowbustArcHalfB_M // G37 + << ribArcHalfB_M // G38 + << waistArcHalfB_M // G39 + << highhipArcHalfB_M // G40 + << hipArcHalfB_M // G41 + << hipWithAbdomenArcF_M // G42 + << bodyArmfoldCirc_M // G43 + << bodyBustCirc_M // G44 + << bodyTorsoCirc_M // G45 + << hipCircWithAbdomen_M; // G46 return list; } @@ -753,7 +758,9 @@ QStringList ListGroupH() << shoulderSlopeNeckSideLength_M // H37 << shoulderSlopeNeckBackAngle_M // H38 << shoulderSlopeNeckBackHeight_M // H39 - << shoulderSlopeShoulderTipAngle_M; // H40 + << shoulderSlopeShoulderTipAngle_M // H40 + << neckBackToAcrossBack_M // H41 + << acrossBackToWaistB_M; // H42 return list; } @@ -838,7 +845,8 @@ QStringList ListGroupL() << armNeckSideToFingerTip_M // L18 << armscyeCirc_M // L19 << armscyeLength_M // L20 - << armscyeWidth_M; // L21 + << armscyeWidth_M // L21 + << armNeckSideToOuterElbow_M; // L22 return list; } @@ -1302,6 +1310,8 @@ QString MapDiagrams(const QString &number) return QStringLiteral("Gp7"); case 44: // G45 return QStringLiteral("Gp8"); + case 45: // G46 + return QStringLiteral("Gp9"); default: break; } @@ -1389,6 +1399,10 @@ QString MapDiagrams(const QString &number) return QStringLiteral("Hp11"); case 39: // H40 return QStringLiteral("Hp12"); + case 40: // H41 + V_FALLTHROUGH + case 41: // H42 + return QStringLiteral("Hp13"); default: break; } @@ -1531,6 +1545,8 @@ QString MapDiagrams(const QString &number) return QStringLiteral("Lp8"); case 20: // L21 return QStringLiteral("Lp9"); + case 21: // L22 + return QStringLiteral("Lp10"); default: break; } diff --git a/src/libs/vmisc/def.h b/src/libs/vmisc/def.h index 39b9e889a..8d7a3dcec 100644 --- a/src/libs/vmisc/def.h +++ b/src/libs/vmisc/def.h @@ -291,6 +291,7 @@ extern const QString hipWithAbdomenArcF_M; // G42 extern const QString bodyArmfoldCirc_M; // G43 extern const QString bodyBustCirc_M; // G44 extern const QString bodyTorsoCirc_M; // G45 +extern const QString hipCircWithAbdomen_M; // G46 // H extern const QString neckFrontToWaistF_M; // H01 extern const QString neckFrontToWaistFlatF_M; // H02 @@ -332,6 +333,8 @@ extern const QString shoulderSlopeNeckSideLength_M; // H37 extern const QString shoulderSlopeNeckBackAngle_M; // H38 extern const QString shoulderSlopeNeckBackHeight_M; // H39 extern const QString shoulderSlopeShoulderTipAngle_M; // H40 +extern const QString neckBackToAcrossBack_M; // H41 +extern const QString acrossBackToWaistB_M; // H42 // I extern const QString shoulderLength_M; // I01 extern const QString shoulderTipToShoulderTipF_M; // I02 @@ -393,6 +396,7 @@ extern const QString armNeckSideToFingerTip_M; // L18 extern const QString armscyeCirc_M; // L19 extern const QString armscyeLength_M; // L20 extern const QString armscyeWidth_M; // L21 +extern const QString armNeckSideToOuterElbow_M; // L22 // M extern const QString legCrotchToFloor_M; // M01 extern const QString legWaistSideToFloor_M; // M02 diff --git a/src/libs/vpatterndb/vtranslatemeasurements.cpp b/src/libs/vpatterndb/vtranslatemeasurements.cpp index 438b43f4c..75da2960b 100644 --- a/src/libs/vpatterndb/vtranslatemeasurements.cpp +++ b/src/libs/vpatterndb/vtranslatemeasurements.cpp @@ -904,6 +904,14 @@ void VTranslateMeasurements::InitGroupG() "Full measurement description."); InitMeasurement(bodyTorsoCirc_M, m, g, d, "G45"); //================================================================================================================= + m = translate("VTranslateMeasurements", "hip_circ_with_abdomen", + "Name in a formula. Don't use math symbols and space in name!!!!"); + g = translate("VTranslateMeasurements", "Hip circumference, including Abdomen", "Full measurement name."); + d = translate("VTranslateMeasurements", + "Measurement at Hip level, including the depth of the Abdomen. (Hip arc, back + Hip arc with " + "abdomen, front).", "Full measurement description."); + InitMeasurement(hipCircWithAbdomen_M, m, g, d, "G46", "(hip_arc_b + hip_with_abdomen_arc_f)"); + //================================================================================================================= } //--------------------------------------------------------------------------------------------------------------------- @@ -1195,6 +1203,20 @@ void VTranslateMeasurements::InitGroupH() "Full measurement description."); InitMeasurement(shoulderSlopeShoulderTipAngle_M, m, g, d, "H40"); //================================================================================================================= + m = translate("VTranslateMeasurements", "neck_back_to_across_back", + "Name in a formula. Don't use math symbols and space in name!!!!"); + g = translate("VTranslateMeasurements", "Neck Back to Across Back", "Full measurement name."); + d = translate("VTranslateMeasurements", "From neck back, down to level of Across Back measurement.", + "Full measurement description."); + InitMeasurement(neckBackToAcrossBack_M, m, g, d, "H41"); + //================================================================================================================= + m = translate("VTranslateMeasurements", "across_back_to_waist_b", + "Name in a formula. Don't use math symbols and space in name!!!!"); + g = translate("VTranslateMeasurements", "Across Back to Waist back", "Full measurement name."); + d = translate("VTranslateMeasurements", "From middle of Across Back down to Waist back.", + "Full measurement description."); + InitMeasurement(acrossBackToWaistB_M, m, g, d, "H42", "(neck_back_to_waist_b - neck_back_to_across_back)"); + //================================================================================================================= } //--------------------------------------------------------------------------------------------------------------------- @@ -1646,6 +1668,13 @@ void VTranslateMeasurements::InitGroupL() "Full measurement description."); InitMeasurement(armscyeWidth_M, m, g, d, "L21"); //================================================================================================================= + m = translate("VTranslateMeasurements", "arm_neck_side_to_outer_elbow", + "Name in a formula. Don't use math symbols and space in name!!!!"); + g = translate("VTranslateMeasurements", "Arm: Neck side to Elbow", "Full measurement name."); + d = translate("VTranslateMeasurements", "From Neck Side over Shoulder Tip down to Elbow. (Shoulder length + " + "Arm: Shoulder Tip to Elbow).", "Full measurement description."); + InitMeasurement(armNeckSideToOuterElbow_M, m, g, d, "L22", "(shoulder_length + arm_shoulder_tip_to_elbow)"); + //================================================================================================================= } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/test/ValentinaTest/tst_measurementregexp.cpp b/src/test/ValentinaTest/tst_measurementregexp.cpp index 91691d416..203719859 100644 --- a/src/test/ValentinaTest/tst_measurementregexp.cpp +++ b/src/test/ValentinaTest/tst_measurementregexp.cpp @@ -212,6 +212,7 @@ void TST_MeasurementRegExp::TestCorrectOrderMeasurement_data() QTest::newRow("G43") << bodyArmfoldCirc_M << "body_armfold_circ"; QTest::newRow("G44") << bodyBustCirc_M << "body_bust_circ"; QTest::newRow("G45") << bodyTorsoCirc_M << "body_torso_circ"; + QTest::newRow("G46") << hipCircWithAbdomen_M << "hip_circ_with_abdomen"; QTest::newRow("H01") << neckFrontToWaistF_M << "neck_front_to_waist_f"; QTest::newRow("H02") << neckFrontToWaistFlatF_M << "neck_front_to_waist_flat_f"; QTest::newRow("H03") << armpitToWaistSide_M << "armpit_to_waist_side"; @@ -252,6 +253,8 @@ void TST_MeasurementRegExp::TestCorrectOrderMeasurement_data() QTest::newRow("H38") << shoulderSlopeNeckBackAngle_M << "shoulder_slope_neck_back_angle"; QTest::newRow("H39") << shoulderSlopeNeckBackHeight_M << "shoulder_slope_neck_back_height"; QTest::newRow("H40") << shoulderSlopeShoulderTipAngle_M << "shoulder_slope_shoulder_tip_angle"; + QTest::newRow("H41") << neckBackToAcrossBack_M << "neck_back_to_across_back"; + QTest::newRow("H42") << acrossBackToWaistB_M << "across_back_to_waist_b"; QTest::newRow("I01") << shoulderLength_M << "shoulder_length"; QTest::newRow("I02") << shoulderTipToShoulderTipF_M << "shoulder_tip_to_shoulder_tip_f"; QTest::newRow("I03") << acrossChestF_M << "across_chest_f"; @@ -309,6 +312,7 @@ void TST_MeasurementRegExp::TestCorrectOrderMeasurement_data() QTest::newRow("L19") << armscyeCirc_M << "armscye_circ"; QTest::newRow("L20") << armscyeLength_M << "armscye_length"; QTest::newRow("L21") << armscyeWidth_M << "armscye_width"; + QTest::newRow("L22") << armNeckSideToOuterElbow_M << "arm_neck_side_to_outer_elbow"; QTest::newRow("M01") << legCrotchToFloor_M << "leg_crotch_to_floor"; QTest::newRow("M02") << legWaistSideToFloor_M << "leg_waist_side_to_floor"; QTest::newRow("M03") << legThighUpperCirc_M << "leg_thigh_upper_circ"; @@ -350,7 +354,8 @@ void TST_MeasurementRegExp::TestCorrectOrderMeasurement_data() QTest::newRow("P04") << highbustBackOverShoulderToArmfoldFront_M << "highbust_back_over_shoulder_to_armfold_front"; QTest::newRow("P05") << highbustBackOverShoulderToWaistFront_M << "highbust_back_over_shoulder_to_waist_front"; QTest::newRow("P06") << neckBackToArmfoldFrontToNeckBack_M << "neck_back_to_armfold_front_to_neck_back"; - QTest::newRow("P07") << acrossBackCenterToArmfoldFrontToAcrossBackCenter_M << "across_back_center_to_armfold_front_to_across_back_center"; + QTest::newRow("P07") << acrossBackCenterToArmfoldFrontToAcrossBackCenter_M + << "across_back_center_to_armfold_front_to_across_back_center"; QTest::newRow("P08") << neckBackToArmfoldFrontToHighbustBack_M << "neck_back_to_armfold_front_to_highbust_back"; QTest::newRow("P09") << armfoldToArmfoldBust_M << "armfold_to_armfold_bust"; QTest::newRow("P10") << armfoldToBustFront_M << "armfold_to_bust_front";