diff --git a/ChangeLog.txt b/ChangeLog.txt index 05fd011eb..b56c01e91 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -20,6 +20,7 @@ - [#385] Add 'Open Recent' option in Tape.exe, 'File' dropdown menu. # Version 0.4.4 +- Updated description measurements N06 and N07. Add new measurements A23 and J10. - Fixed GUI issue. After full parse some widgets was incorrectly reseted. - [#464] Crash. Issue with modeling node objects. - [#463] Wrong export to DXF format. diff --git a/src/app/tape/share/resources/diagrams.qrc b/src/app/tape/share/resources/diagrams.qrc index 16ac8df59..1eb0d234d 100644 --- a/src/app/tape/share/resources/diagrams.qrc +++ b/src/app/tape/share/resources/diagrams.qrc @@ -48,6 +48,7 @@ diagrams/Jp3.svg diagrams/Jp4.svg diagrams/Jp5.svg + diagrams/Jp6.svg diagrams/Kp1.svg diagrams/Kp2.svg diagrams/Kp3.svg diff --git a/src/app/tape/share/resources/diagrams/Ap2.svg b/src/app/tape/share/resources/diagrams/Ap2.svg index 268f1559f..33c5b2b0f 100644 --- a/src/app/tape/share/resources/diagrams/Ap2.svg +++ b/src/app/tape/share/resources/diagrams/Ap2.svg @@ -9,14 +9,15 @@ xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="279.51462" - height="712.23822" - id="svg5309" + width="86.524971mm" + height="200.87267mm" + viewBox="0 0 306.58454 711.75354" + id="svg6365" version="1.1" - inkscape:version="0.48.4 r9939" - sodipodi:docname="Новий документ 2"> + inkscape:version="0.91 r" + sodipodi:docname="Ap2.svg"> + id="defs6367" /> + id="metadata6370"> @@ -55,233 +56,258 @@ inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" - transform="translate(-200.24268,-127.67166)"> - - - - - - - - - - - 18 - - - - 19 - - - - 20 - - + transform="translate(-192.422,-147.914)"> + + + + + + + + + + 18 + + + + 19 + + + + 20 + + d="m 292.80496,811.41395 1.6,8 c 0,5 0.8,4 -3.20001,7" + style="display:inline;fill:none;stroke:#dba981;stroke-width:2.41849995;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + d="m 365.20496,822.41395 -0.3,-140" + style="display:inline;fill:none;stroke:#7dc832;stroke-width:2.41860008;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker7359);marker-end:url(#marker7359)" /> 21 + x="357.90363" + y="727.67224">21 + d="m 295.90496,822.41395 69,0" + style="display:inline;fill:none;stroke:#dba981;stroke-width:1.61240005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.8372, 1.6124;stroke-dashoffset:0;stroke-opacity:1" /> + sodipodi:open="true" /> 22 + x="361.45764" + y="345.53897">22 + + + + 23 diff --git a/src/app/tape/share/resources/diagrams/Jp6.svg b/src/app/tape/share/resources/diagrams/Jp6.svg new file mode 100644 index 000000000..a152c9e0d --- /dev/null +++ b/src/app/tape/share/resources/diagrams/Jp6.svg @@ -0,0 +1,183 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + 10 + + + + + + diff --git a/src/app/tape/tape.pro b/src/app/tape/tape.pro index 94172eeb5..5cdf2052c 100644 --- a/src/app/tape/tape.pro +++ b/src/app/tape/tape.pro @@ -99,6 +99,7 @@ DIAGRAMS += \ $${PWD}/share/resources/diagrams/Jp3.svg \ $${PWD}/share/resources/diagrams/Jp4.svg \ $${PWD}/share/resources/diagrams/Jp5.svg \ + $${PWD}/share/resources/diagrams/Jp6.svg \ $${PWD}/share/resources/diagrams/Kp1.svg \ $${PWD}/share/resources/diagrams/Kp2.svg \ $${PWD}/share/resources/diagrams/Kp3.svg \ diff --git a/src/libs/vmisc/def.cpp b/src/libs/vmisc/def.cpp index e94baca4f..9b2d3b430 100644 --- a/src/libs/vmisc/def.cpp +++ b/src/libs/vmisc/def.cpp @@ -60,6 +60,7 @@ const QString heightWaistSideToKnee_M = QStringLiteral("height_waist_side_to const QString heightWaistSideToHip_M = QStringLiteral("height_waist_side_to_hip"); // A20 const QString heightKneeToAnkle_M = QStringLiteral("height_knee_to_ankle"); // A21 const QString heightNeckBackToWaistSide_M = QStringLiteral("height_neck_back_to_waist_side"); // A22 +const QString heightWaistBack_M = QStringLiteral("height_waist_back"); // A23 // B const QString widthShoulder_M = QStringLiteral("width_shoulder"); // B01 const QString widthBust_M = QStringLiteral("width_bust"); // B02 @@ -203,6 +204,7 @@ const QString bustpointNeckSideToWaist_M = QStringLiteral("bustpoint_neck_side const QString bustpointToShoulderTip_M = QStringLiteral("bustpoint_to_shoulder_tip"); // J07 const QString bustpointToWaistFront_M = QStringLiteral("bustpoint_to_waist_front"); // J08 const QString bustpointToBustpointHalter_M = QStringLiteral("bustpoint_to_bustpoint_halter"); // J09 +const QString bustpointToShoulderCenter_M = QStringLiteral("bustpoint_to_shoulder_center"); // J10 // K const QString shoulderTipToWaistFront_M = QStringLiteral("shoulder_tip_to_waist_front"); // K01 const QString neckFrontToWaistSide_M = QStringLiteral("neck_front_to_waist_side"); // K02 @@ -603,7 +605,8 @@ QStringList ListGroupA() << heightWaistSideToKnee_M // A19 << heightWaistSideToHip_M // A20 << heightKneeToAnkle_M // A21 - << heightNeckBackToWaistSide_M; // A22 + << heightNeckBackToWaistSide_M // A22 + << heightWaistBack_M; // A23 return list; } @@ -799,7 +802,8 @@ QStringList ListGroupJ() << bustpointNeckSideToWaist_M // J06 << bustpointToShoulderTip_M // J07 << bustpointToWaistFront_M // J08 - << bustpointToBustpointHalter_M; // J09 + << bustpointToBustpointHalter_M // J09 + << bustpointToShoulderCenter_M; // J10 return list; } @@ -1136,6 +1140,8 @@ QString MapDiagrams(const QString &number) case 20: // A21 V_FALLTHROUGH case 21: // A22 + V_FALLTHROUGH + case 22: // A23 return QStringLiteral("Ap2"); default: break; @@ -1468,6 +1474,8 @@ QString MapDiagrams(const QString &number) return QStringLiteral("Jp4"); case 8: // J09 return QStringLiteral("Jp5"); + case 9: // J10 + return QStringLiteral("Jp6"); default: break; } diff --git a/src/libs/vmisc/def.h b/src/libs/vmisc/def.h index 521492ba6..9aa894976 100644 --- a/src/libs/vmisc/def.h +++ b/src/libs/vmisc/def.h @@ -224,6 +224,7 @@ extern const QString heightWaistSideToKnee_M; // A19 extern const QString heightWaistSideToHip_M; // A20 extern const QString heightKneeToAnkle_M; // A21 extern const QString heightNeckBackToWaistSide_M; // A22 +extern const QString heightWaistBack_M; // A23 // B extern const QString widthShoulder_M; // B01 extern const QString widthBust_M; // B02 @@ -367,6 +368,7 @@ extern const QString bustpointNeckSideToWaist_M; // J06 extern const QString bustpointToShoulderTip_M; // J07 extern const QString bustpointToWaistFront_M; // J08 extern const QString bustpointToBustpointHalter_M; // J09 +extern const QString bustpointToShoulderCenter_M; // J10 // K extern const QString shoulderTipToWaistFront_M; // K01 extern const QString neckFrontToWaistSide_M; // K02 diff --git a/src/libs/vpatterndb/vtranslatemeasurements.cpp b/src/libs/vpatterndb/vtranslatemeasurements.cpp index f0d67b5ac..2f8762dd8 100644 --- a/src/libs/vpatterndb/vtranslatemeasurements.cpp +++ b/src/libs/vpatterndb/vtranslatemeasurements.cpp @@ -341,6 +341,13 @@ void VTranslateMeasurements::InitGroupA() "'Height: Waist Side').", "Full measurement description."); InitMeasurement(heightNeckBackToWaistSide_M, m, g, d, "A22", "(height_neck_back - height_waist_side)"); //================================================================================================================= + m = translate("VTranslateMeasurements", "height_waist_back", + "Name in a formula. Don't use math symbols and space in name!!!!"); + g = translate("VTranslateMeasurements", "Height: Waist Back", "Full measurement name."); + d = translate("VTranslateMeasurements", "Vertical height from Waist Back to floor. ('Height: Waist Front'' - " + "'Leg: Crotch to floor'').", "Full measurement description."); + InitMeasurement(heightWaistBack_M, m, g, d, "A23", "(height_waist_front - leg_crotch_to_floor)"); + //================================================================================================================= } //--------------------------------------------------------------------------------------------------------------------- @@ -1403,6 +1410,12 @@ void VTranslateMeasurements::InitGroupJ() "Full measurement description."); InitMeasurement(bustpointToBustpointHalter_M, m, g, d, "J09"); //================================================================================================================= + m = translate("VTranslateMeasurements", "bustpoint_to_shoulder_center", + "Name in a formula. Don't use math symbols and space in name!!!!"); + g = translate("VTranslateMeasurements", "Bustpoint to Shoulder Center", "Full measurement name."); + d = translate("VTranslateMeasurements", "From center of Shoulder to Bustpoint.", "Full measurement description."); + InitMeasurement(bustpointToShoulderCenter_M, m, g, d, "J10"); + //================================================================================================================= } //--------------------------------------------------------------------------------------------------------------------- @@ -1840,16 +1853,16 @@ void VTranslateMeasurements::InitGroupN() m = translate("VTranslateMeasurements", "rise_length_b", "Name in a formula. Don't use math symbols and space in name!!!!"); g = translate("VTranslateMeasurements", "Rise length, back", "Full measurement name."); - d = translate("VTranslateMeasurements", "Vertical distance from Waist Back to Crotch level.", - "Full measurement description."); - InitMeasurement(riseLengthB_M, m, g, d, "N06"); + d = translate("VTranslateMeasurements", "Vertical distance from Waist Back to Crotch level. " + "('Height: Waist Back' - 'Leg: Crotch to Floor')", "Full measurement description."); + InitMeasurement(riseLengthB_M, m, g, d, "N06", "(height_waist_back - leg_crotch_to_floor)"); //================================================================================================================= m = translate("VTranslateMeasurements", "rise_length_f", "Name in a formula. Don't use math symbols and space in name!!!!"); g = translate("VTranslateMeasurements", "Rise length, front", "Full measurement name."); - d = translate("VTranslateMeasurements", "Vertical Distance from Waist Front to Crotch level.", - "Full measurement description."); - InitMeasurement(riseLengthF_M, m, g, d, "N07"); + d = translate("VTranslateMeasurements", "Vertical Distance from Waist Front to Crotch level. " + "('Height: Waist Front' - 'Leg: Crotch to Floor')", "Full measurement description."); + InitMeasurement(riseLengthF_M, m, g, d, "N07", "(height_waist_front - leg_crotch_to_floor)"); //================================================================================================================= m = translate("VTranslateMeasurements", "rise_length_side", "Name in a formula. Don't use math symbols and space in name!!!!"); diff --git a/src/test/ValentinaTest/tst_measurementregexp.cpp b/src/test/ValentinaTest/tst_measurementregexp.cpp index ba0e006ab..9da3ed8df 100644 --- a/src/test/ValentinaTest/tst_measurementregexp.cpp +++ b/src/test/ValentinaTest/tst_measurementregexp.cpp @@ -140,6 +140,7 @@ void TST_MeasurementRegExp::TestCorrectOrderMeasurement_data() QTest::newRow("A20") << heightWaistSideToHip_M << "height_waist_side_to_hip"; QTest::newRow("A21") << heightKneeToAnkle_M << "height_knee_to_ankle"; QTest::newRow("A22") << heightNeckBackToWaistSide_M << "height_neck_back_to_waist_side"; + QTest::newRow("A23") << heightWaistBack_M << "height_waist_back"; QTest::newRow("B01") << widthShoulder_M << "width_shoulder"; QTest::newRow("B02") << widthBust_M << "width_bust"; QTest::newRow("B03") << widthWaist_M << "width_waist"; @@ -274,6 +275,7 @@ void TST_MeasurementRegExp::TestCorrectOrderMeasurement_data() QTest::newRow("J07") << bustpointToShoulderTip_M << "bustpoint_to_shoulder_tip"; QTest::newRow("J08") << bustpointToWaistFront_M << "bustpoint_to_waist_front"; QTest::newRow("J09") << bustpointToBustpointHalter_M << "bustpoint_to_bustpoint_halter"; + QTest::newRow("J10") << bustpointToShoulderCenter_M << "bustpoint_to_shoulder_center"; QTest::newRow("K01") << shoulderTipToWaistFront_M << "shoulder_tip_to_waist_front"; QTest::newRow("K02") << neckFrontToWaistSide_M << "neck_front_to_waist_side"; QTest::newRow("K03") << neckSideToWaistSideF_M << "neck_side_to_waist_side_f";