Pieces should be positioned as on Detail mode. ref #660.
--HG-- branch : develop
This commit is contained in:
parent
bfc584876d
commit
b166ff83b2
|
@ -4399,7 +4399,7 @@ void MainWindow::ExportLayoutAs()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ExportLayout(dialog, scenes, papers, shadows, ignorePrinterFields, margins);
|
ExportLayout(dialog, scenes, papers, shadows, details, ignorePrinterFields, margins);
|
||||||
}
|
}
|
||||||
catch (const VException &e)
|
catch (const VException &e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -203,7 +203,7 @@ void MainWindowsNoGUI::ExportData(const QVector<VLayoutPiece> &listDetails, cons
|
||||||
{
|
{
|
||||||
if (dialog.Mode() == Draw::Layout)
|
if (dialog.Mode() == Draw::Layout)
|
||||||
{
|
{
|
||||||
ExportLayout(dialog, scenes, papers, shadows, ignorePrinterFields, margins);
|
ExportLayout(dialog, scenes, papers, shadows, details, ignorePrinterFields, margins);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -212,7 +212,9 @@ void MainWindowsNoGUI::ExportData(const QVector<VLayoutPiece> &listDetails, cons
|
||||||
QList<QGraphicsItem *> list;
|
QList<QGraphicsItem *> list;
|
||||||
for (int i=0; i < listDetails.count(); ++i)
|
for (int i=0; i < listDetails.count(); ++i)
|
||||||
{
|
{
|
||||||
list.append(listDetails.at(i).GetItem(dialog.IsTextAsPaths()));
|
QGraphicsItem *item = listDetails.at(i).GetItem(dialog.IsTextAsPaths());
|
||||||
|
item->setPos(listDetails.at(i).GetMx(), listDetails.at(i).GetMy());
|
||||||
|
list.append(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i=0; i < list.size(); ++i)
|
for (int i=0; i < list.size(); ++i)
|
||||||
|
@ -221,7 +223,25 @@ void MainWindowsNoGUI::ExportData(const QVector<VLayoutPiece> &listDetails, cons
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<QGraphicsItem *> papers;// Blank sheets
|
QList<QGraphicsItem *> papers;// Blank sheets
|
||||||
papers.append(new QGraphicsRectItem(scene->itemsBoundingRect().toRect()));
|
QRect rect = scene->itemsBoundingRect().toRect();
|
||||||
|
|
||||||
|
const int mx = rect.x();
|
||||||
|
const int my = rect.y();
|
||||||
|
|
||||||
|
QTransform matrix;
|
||||||
|
matrix = matrix.translate(-mx, -my);
|
||||||
|
|
||||||
|
for (int i=0; i < list.size(); ++i)
|
||||||
|
{
|
||||||
|
list.at(i)->setTransform(matrix);
|
||||||
|
}
|
||||||
|
|
||||||
|
rect = scene->itemsBoundingRect().toRect();
|
||||||
|
|
||||||
|
QGraphicsRectItem *paper = new QGraphicsRectItem(rect);
|
||||||
|
paper->setPen(QPen(Qt::black, 1));
|
||||||
|
paper->setBrush(QBrush(Qt::white));
|
||||||
|
papers.append(paper);
|
||||||
|
|
||||||
QList<QList<QGraphicsItem *> > details;// All details
|
QList<QList<QGraphicsItem *> > details;// All details
|
||||||
details.append(list);
|
details.append(list);
|
||||||
|
@ -230,8 +250,9 @@ void MainWindowsNoGUI::ExportData(const QVector<VLayoutPiece> &listDetails, cons
|
||||||
QList<QGraphicsScene *> scenes = CreateScenes(papers, shadows, details);
|
QList<QGraphicsScene *> scenes = CreateScenes(papers, shadows, details);
|
||||||
|
|
||||||
const bool ignorePrinterFields = false;
|
const bool ignorePrinterFields = false;
|
||||||
const qreal margin = ToPixel(2, Unit::Mm);
|
const qreal margin = ToPixel(1, Unit::Cm);
|
||||||
ExportLayout(dialog, scenes, papers, shadows, ignorePrinterFields, QMarginsF(margin, margin, margin, margin));
|
ExportLayout(dialog, scenes, papers, shadows, details, ignorePrinterFields,
|
||||||
|
QMarginsF(margin, margin, margin, margin));
|
||||||
|
|
||||||
qDeleteAll(scenes);//Scene will clear all other items
|
qDeleteAll(scenes);//Scene will clear all other items
|
||||||
}
|
}
|
||||||
|
@ -240,7 +261,8 @@ void MainWindowsNoGUI::ExportData(const QVector<VLayoutPiece> &listDetails, cons
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void MainWindowsNoGUI::ExportLayout(const DialogSaveLayout &dialog, const QList<QGraphicsScene *> &scenes,
|
void MainWindowsNoGUI::ExportLayout(const DialogSaveLayout &dialog, const QList<QGraphicsScene *> &scenes,
|
||||||
const QList<QGraphicsItem *> &papers, const QList<QGraphicsItem *> &shadows,
|
const QList<QGraphicsItem *> &papers, const QList<QGraphicsItem *> &shadows,
|
||||||
bool ignorePrinterFields, const QMarginsF &margins)
|
const QList<QList<QGraphicsItem *> > &details, bool ignorePrinterFields,
|
||||||
|
const QMarginsF &margins)
|
||||||
{
|
{
|
||||||
const QString path = dialog.Path();
|
const QString path = dialog.Path();
|
||||||
bool usedNotExistedDir = false;
|
bool usedNotExistedDir = false;
|
||||||
|
@ -328,47 +350,47 @@ void MainWindowsNoGUI::ExportLayout(const DialogSaveLayout &dialog, const QList<
|
||||||
break;
|
break;
|
||||||
case LayoutExportFormats::DXF_AC1006_Flat:
|
case LayoutExportFormats::DXF_AC1006_Flat:
|
||||||
paper->setVisible(false);
|
paper->setVisible(false);
|
||||||
DxfFile(name, DRW::AC1006, dialog.IsBinaryDXFFormat(), paper, scene);
|
DxfFile(name, DRW::AC1006, dialog.IsBinaryDXFFormat(), paper, scene, details);
|
||||||
paper->setVisible(true);
|
paper->setVisible(true);
|
||||||
break;
|
break;
|
||||||
case LayoutExportFormats::DXF_AC1009_Flat:
|
case LayoutExportFormats::DXF_AC1009_Flat:
|
||||||
paper->setVisible(false);
|
paper->setVisible(false);
|
||||||
DxfFile(name, DRW::AC1009, dialog.IsBinaryDXFFormat(), paper, scene);
|
DxfFile(name, DRW::AC1009, dialog.IsBinaryDXFFormat(), paper, scene, details);
|
||||||
paper->setVisible(true);
|
paper->setVisible(true);
|
||||||
break;
|
break;
|
||||||
case LayoutExportFormats::DXF_AC1012_Flat:
|
case LayoutExportFormats::DXF_AC1012_Flat:
|
||||||
paper->setVisible(false);
|
paper->setVisible(false);
|
||||||
DxfFile(name, DRW::AC1012, dialog.IsBinaryDXFFormat(), paper, scene);
|
DxfFile(name, DRW::AC1012, dialog.IsBinaryDXFFormat(), paper, scene, details);
|
||||||
paper->setVisible(true);
|
paper->setVisible(true);
|
||||||
break;
|
break;
|
||||||
case LayoutExportFormats::DXF_AC1014_Flat:
|
case LayoutExportFormats::DXF_AC1014_Flat:
|
||||||
paper->setVisible(false);
|
paper->setVisible(false);
|
||||||
DxfFile(name, DRW::AC1014, dialog.IsBinaryDXFFormat(), paper, scene);
|
DxfFile(name, DRW::AC1014, dialog.IsBinaryDXFFormat(), paper, scene, details);
|
||||||
paper->setVisible(true);
|
paper->setVisible(true);
|
||||||
break;
|
break;
|
||||||
case LayoutExportFormats::DXF_AC1015_Flat:
|
case LayoutExportFormats::DXF_AC1015_Flat:
|
||||||
paper->setVisible(false);
|
paper->setVisible(false);
|
||||||
DxfFile(name, DRW::AC1015, dialog.IsBinaryDXFFormat(), paper, scene);
|
DxfFile(name, DRW::AC1015, dialog.IsBinaryDXFFormat(), paper, scene, details);
|
||||||
paper->setVisible(true);
|
paper->setVisible(true);
|
||||||
break;
|
break;
|
||||||
case LayoutExportFormats::DXF_AC1018_Flat:
|
case LayoutExportFormats::DXF_AC1018_Flat:
|
||||||
paper->setVisible(false);
|
paper->setVisible(false);
|
||||||
DxfFile(name, DRW::AC1018, dialog.IsBinaryDXFFormat(), paper, scene);
|
DxfFile(name, DRW::AC1018, dialog.IsBinaryDXFFormat(), paper, scene, details);
|
||||||
paper->setVisible(true);
|
paper->setVisible(true);
|
||||||
break;
|
break;
|
||||||
case LayoutExportFormats::DXF_AC1021_Flat:
|
case LayoutExportFormats::DXF_AC1021_Flat:
|
||||||
paper->setVisible(false);
|
paper->setVisible(false);
|
||||||
DxfFile(name, DRW::AC1021, dialog.IsBinaryDXFFormat(), paper, scene);
|
DxfFile(name, DRW::AC1021, dialog.IsBinaryDXFFormat(), paper, scene, details);
|
||||||
paper->setVisible(true);
|
paper->setVisible(true);
|
||||||
break;
|
break;
|
||||||
case LayoutExportFormats::DXF_AC1024_Flat:
|
case LayoutExportFormats::DXF_AC1024_Flat:
|
||||||
paper->setVisible(false);
|
paper->setVisible(false);
|
||||||
DxfFile(name, DRW::AC1024, dialog.IsBinaryDXFFormat(), paper, scene);
|
DxfFile(name, DRW::AC1024, dialog.IsBinaryDXFFormat(), paper, scene, details);
|
||||||
paper->setVisible(true);
|
paper->setVisible(true);
|
||||||
break;
|
break;
|
||||||
case LayoutExportFormats::DXF_AC1027_Flat:
|
case LayoutExportFormats::DXF_AC1027_Flat:
|
||||||
paper->setVisible(false);
|
paper->setVisible(false);
|
||||||
DxfFile(name, DRW::AC1027, dialog.IsBinaryDXFFormat(), paper, scene);
|
DxfFile(name, DRW::AC1027, dialog.IsBinaryDXFFormat(), paper, scene, details);
|
||||||
paper->setVisible(true);
|
paper->setVisible(true);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -773,19 +795,26 @@ void MainWindowsNoGUI::PdfFile(const QString &name, QGraphicsRectItem *paper, QG
|
||||||
printer.setDocName(FileName());
|
printer.setDocName(FileName());
|
||||||
const QRectF r = paper->rect();
|
const QRectF r = paper->rect();
|
||||||
printer.setResolution(static_cast<int>(PrintDPI));
|
printer.setResolution(static_cast<int>(PrintDPI));
|
||||||
// Set orientation
|
|
||||||
if (paper->rect().height()>= paper->rect().width())
|
|
||||||
{
|
|
||||||
printer.setOrientation(QPrinter::Portrait);
|
printer.setOrientation(QPrinter::Portrait);
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printer.setOrientation(QPrinter::Landscape);
|
|
||||||
}
|
|
||||||
printer.setFullPage(ignorePrinterFields);
|
printer.setFullPage(ignorePrinterFields);
|
||||||
printer.setPaperSize ( QSizeF(FromPixel(r.width() + margins.left() + margins.right(), Unit::Mm),
|
printer.setPaperSize ( QSizeF(FromPixel(r.width() + margins.left() + margins.right(), Unit::Mm),
|
||||||
FromPixel(r.height() + margins.top() + margins.bottom(), Unit::Mm)),
|
FromPixel(r.height() + margins.top() + margins.bottom(), Unit::Mm)),
|
||||||
QPrinter::Millimeter );
|
QPrinter::Millimeter );
|
||||||
|
|
||||||
|
const qreal left = FromPixel(margins.left(), Unit::Mm);
|
||||||
|
const qreal top = FromPixel(margins.top(), Unit::Mm);
|
||||||
|
const qreal right = FromPixel(margins.right(), Unit::Mm);
|
||||||
|
const qreal bottom = FromPixel(margins.bottom(), Unit::Mm);
|
||||||
|
#if QT_VERSION >= QT_VERSION_CHECK(5, 3, 0)
|
||||||
|
const bool success = printer.setPageMargins(QMarginsF(left, top, right, bottom), QPageLayout::Millimeter);
|
||||||
|
if (not success)
|
||||||
|
{
|
||||||
|
qWarning() << tr("Cannot set printer margins");
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
printer.setPageMargins(left, top, right, bottom, QPrinter::Millimeter);
|
||||||
|
#endif //QT_VERSION >= QT_VERSION_CHECK(5, 3, 0)
|
||||||
|
|
||||||
QPainter painter;
|
QPainter painter;
|
||||||
if (painter.begin( &printer ) == false)
|
if (painter.begin( &printer ) == false)
|
||||||
{ // failed to open file
|
{ // failed to open file
|
||||||
|
@ -915,9 +944,9 @@ QT_WARNING_PUSH
|
||||||
QT_WARNING_DISABLE_GCC("-Wswitch-default")
|
QT_WARNING_DISABLE_GCC("-Wswitch-default")
|
||||||
|
|
||||||
void MainWindowsNoGUI::DxfFile(const QString &name, int version, bool binary, QGraphicsRectItem *paper,
|
void MainWindowsNoGUI::DxfFile(const QString &name, int version, bool binary, QGraphicsRectItem *paper,
|
||||||
QGraphicsScene *scene) const
|
QGraphicsScene *scene, const QList<QList<QGraphicsItem *> > &details) const
|
||||||
{
|
{
|
||||||
PrepareTextForDXF(endStringPlaceholder);
|
PrepareTextForDXF(endStringPlaceholder, details);
|
||||||
VDxfPaintDevice generator;
|
VDxfPaintDevice generator;
|
||||||
generator.setFileName(name);
|
generator.setFileName(name);
|
||||||
generator.setSize(paper->rect().size().toSize());
|
generator.setSize(paper->rect().size().toSize());
|
||||||
|
@ -948,7 +977,7 @@ void MainWindowsNoGUI::DxfFile(const QString &name, int version, bool binary, QG
|
||||||
scene->render(&painter, paper->rect(), paper->rect(), Qt::IgnoreAspectRatio);
|
scene->render(&painter, paper->rect(), paper->rect(), Qt::IgnoreAspectRatio);
|
||||||
painter.end();
|
painter.end();
|
||||||
}
|
}
|
||||||
RestoreTextAfterDXF(endStringPlaceholder);
|
RestoreTextAfterDXF(endStringPlaceholder, details);
|
||||||
}
|
}
|
||||||
|
|
||||||
QT_WARNING_POP
|
QT_WARNING_POP
|
||||||
|
@ -990,14 +1019,15 @@ void MainWindowsNoGUI::RestorePaper(int index) const
|
||||||
*
|
*
|
||||||
* @param placeholder placeholder that will be appended to each QGraphicsSimpleTextItem item's text string.
|
* @param placeholder placeholder that will be appended to each QGraphicsSimpleTextItem item's text string.
|
||||||
*/
|
*/
|
||||||
void MainWindowsNoGUI::PrepareTextForDXF(const QString &placeholder) const
|
void MainWindowsNoGUI::PrepareTextForDXF(const QString &placeholder,
|
||||||
|
const QList<QList<QGraphicsItem *> > &details) const
|
||||||
{
|
{
|
||||||
for (int i = 0; i < details.size(); ++i)
|
for (int i = 0; i < details.size(); ++i)
|
||||||
{
|
{
|
||||||
const QList<QGraphicsItem *> &paperItems = details.at(i);
|
const QList<QGraphicsItem *> &paperItems = details.at(i);
|
||||||
for (int j = 0; j < paperItems.size(); ++j)
|
for (int j = 0; j < paperItems.size(); ++j)
|
||||||
{
|
{
|
||||||
QList<QGraphicsItem *> pieceChildren = paperItems.at(i)->childItems();
|
QList<QGraphicsItem *> pieceChildren = paperItems.at(j)->childItems();
|
||||||
for (int k = 0; k < pieceChildren.size(); ++k)
|
for (int k = 0; k < pieceChildren.size(); ++k)
|
||||||
{
|
{
|
||||||
QGraphicsItem *item = pieceChildren.at(k);
|
QGraphicsItem *item = pieceChildren.at(k);
|
||||||
|
@ -1022,7 +1052,8 @@ void MainWindowsNoGUI::PrepareTextForDXF(const QString &placeholder) const
|
||||||
*
|
*
|
||||||
* @param placeholder placeholder that will be removed from each QGraphicsSimpleTextItem item's text string.
|
* @param placeholder placeholder that will be removed from each QGraphicsSimpleTextItem item's text string.
|
||||||
*/
|
*/
|
||||||
void MainWindowsNoGUI::RestoreTextAfterDXF(const QString &placeholder) const
|
void MainWindowsNoGUI::RestoreTextAfterDXF(const QString &placeholder,
|
||||||
|
const QList<QList<QGraphicsItem *> > &details) const
|
||||||
{
|
{
|
||||||
for (int i = 0; i < details.size(); ++i)
|
for (int i = 0; i < details.size(); ++i)
|
||||||
{
|
{
|
||||||
|
@ -1119,16 +1150,7 @@ void MainWindowsNoGUI::SetPrinterSettings(QPrinter *printer, const PrintType &pr
|
||||||
{
|
{
|
||||||
SCASSERT(printer != nullptr)
|
SCASSERT(printer != nullptr)
|
||||||
printer->setCreator(QGuiApplication::applicationDisplayName()+" "+QCoreApplication::applicationVersion());
|
printer->setCreator(QGuiApplication::applicationDisplayName()+" "+QCoreApplication::applicationVersion());
|
||||||
|
|
||||||
// Set orientation
|
|
||||||
if (paperSize.height() >= paperSize.width())
|
|
||||||
{
|
|
||||||
printer->setOrientation(QPrinter::Portrait);
|
printer->setOrientation(QPrinter::Portrait);
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printer->setOrientation(QPrinter::Landscape);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (not isTiled)
|
if (not isTiled)
|
||||||
{
|
{
|
||||||
|
|
|
@ -96,6 +96,7 @@ protected:
|
||||||
const QList<QGraphicsScene *> &scenes,
|
const QList<QGraphicsScene *> &scenes,
|
||||||
const QList<QGraphicsItem *> &papers,
|
const QList<QGraphicsItem *> &papers,
|
||||||
const QList<QGraphicsItem *> &shadows,
|
const QList<QGraphicsItem *> &shadows,
|
||||||
|
const QList<QList<QGraphicsItem *> > &details,
|
||||||
bool ignorePrinterFields, const QMarginsF &margins);
|
bool ignorePrinterFields, const QMarginsF &margins);
|
||||||
|
|
||||||
void InitTempLayoutScene();
|
void InitTempLayoutScene();
|
||||||
|
@ -133,13 +134,14 @@ private:
|
||||||
const QMarginsF &margins)const;
|
const QMarginsF &margins)const;
|
||||||
void PdfToPs(const QStringList ¶ms)const;
|
void PdfToPs(const QStringList ¶ms)const;
|
||||||
void ObjFile(const QString &name, QGraphicsRectItem *paper, QGraphicsScene *scene)const;
|
void ObjFile(const QString &name, QGraphicsRectItem *paper, QGraphicsScene *scene)const;
|
||||||
void DxfFile(const QString &name, int version, bool binary, QGraphicsRectItem *paper, QGraphicsScene *scene)const;
|
void DxfFile(const QString &name, int version, bool binary, QGraphicsRectItem *paper, QGraphicsScene *scene,
|
||||||
|
const QList<QList<QGraphicsItem *> > &details)const;
|
||||||
|
|
||||||
void PreparePaper(int index) const;
|
void PreparePaper(int index) const;
|
||||||
void RestorePaper(int index) const;
|
void RestorePaper(int index) const;
|
||||||
|
|
||||||
void PrepareTextForDXF(const QString &placeholder) const;
|
void PrepareTextForDXF(const QString &placeholder, const QList<QList<QGraphicsItem *> > &details) const;
|
||||||
void RestoreTextAfterDXF(const QString &placeholder) const;
|
void RestoreTextAfterDXF(const QString &placeholder, const QList<QList<QGraphicsItem *> > &details) const;
|
||||||
|
|
||||||
void PrintPreview();
|
void PrintPreview();
|
||||||
void LayoutPrint();
|
void LayoutPrint();
|
||||||
|
|
|
@ -242,7 +242,7 @@ void dx_iface::InitLayers()
|
||||||
DRW_Layer defLayer;
|
DRW_Layer defLayer;
|
||||||
defLayer.name = "0";
|
defLayer.name = "0";
|
||||||
defLayer.color = DRW::black; // default color
|
defLayer.color = DRW::black; // default color
|
||||||
defLayer.lWeight = DRW_LW_Conv::width17; // default width
|
defLayer.lWeight = DRW_LW_Conv::width03; // default width
|
||||||
defLayer.lineType = "CONTINUOUS"; // default line style
|
defLayer.lineType = "CONTINUOUS"; // default line style
|
||||||
cData.layers.push_back(defLayer);
|
cData.layers.push_back(defLayer);
|
||||||
|
|
||||||
|
|
|
@ -980,6 +980,30 @@ bool VAbstractPiece::IsEkvPointOnLine(const VSAPoint &iPoint, const VSAPoint &pr
|
||||||
&& qAbs(prevPoint.GetSAAfter(tmpWidth) - nextPoint.GetSABefore(tmpWidth)) < VGObject::accuracyPointOnLine);
|
&& qAbs(prevPoint.GetSAAfter(tmpWidth) - nextPoint.GetSABefore(tmpWidth)) < VGObject::accuracyPointOnLine);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
qreal VAbstractPiece::GetMx() const
|
||||||
|
{
|
||||||
|
return d->m_mx;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VAbstractPiece::SetMx(qreal value)
|
||||||
|
{
|
||||||
|
d->m_mx = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
qreal VAbstractPiece::GetMy() const
|
||||||
|
{
|
||||||
|
return d->m_my;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VAbstractPiece::SetMy(qreal value)
|
||||||
|
{
|
||||||
|
d->m_my = value;
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
qreal VSAPoint::GetSABefore(qreal width) const
|
qreal VSAPoint::GetSABefore(qreal width) const
|
||||||
{
|
{
|
||||||
|
|
|
@ -171,6 +171,12 @@ public:
|
||||||
qreal GetSAWidth() const;
|
qreal GetSAWidth() const;
|
||||||
void SetSAWidth(qreal value);
|
void SetSAWidth(qreal value);
|
||||||
|
|
||||||
|
qreal GetMx() const;
|
||||||
|
void SetMx(qreal value);
|
||||||
|
|
||||||
|
qreal GetMy() const;
|
||||||
|
void SetMy(qreal value);
|
||||||
|
|
||||||
static QVector<QPointF> Equidistant(const QVector<VSAPoint> &points, qreal width);
|
static QVector<QPointF> Equidistant(const QVector<VSAPoint> &points, qreal width);
|
||||||
static qreal SumTrapezoids(const QVector<QPointF> &points);
|
static qreal SumTrapezoids(const QVector<QPointF> &points);
|
||||||
static QVector<QPointF> CheckLoops(const QVector<QPointF> &points);
|
static QVector<QPointF> CheckLoops(const QVector<QPointF> &points);
|
||||||
|
|
|
@ -49,7 +49,9 @@ public:
|
||||||
m_seamAllowance(false),
|
m_seamAllowance(false),
|
||||||
m_seamAllowanceBuiltIn(false),
|
m_seamAllowanceBuiltIn(false),
|
||||||
m_hideMainPath(false),
|
m_hideMainPath(false),
|
||||||
m_width(0)
|
m_width(0),
|
||||||
|
m_mx(0),
|
||||||
|
m_my(0)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
VAbstractPieceData(const VAbstractPieceData &piece)
|
VAbstractPieceData(const VAbstractPieceData &piece)
|
||||||
|
@ -59,7 +61,9 @@ public:
|
||||||
m_seamAllowance(piece.m_seamAllowance),
|
m_seamAllowance(piece.m_seamAllowance),
|
||||||
m_seamAllowanceBuiltIn(piece.m_seamAllowanceBuiltIn),
|
m_seamAllowanceBuiltIn(piece.m_seamAllowanceBuiltIn),
|
||||||
m_hideMainPath(piece.m_hideMainPath),
|
m_hideMainPath(piece.m_hideMainPath),
|
||||||
m_width(piece.m_width)
|
m_width(piece.m_width),
|
||||||
|
m_mx(piece.m_mx),
|
||||||
|
m_my(piece.m_my)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
~VAbstractPieceData() Q_DECL_EQ_DEFAULT;
|
~VAbstractPieceData() Q_DECL_EQ_DEFAULT;
|
||||||
|
@ -71,6 +75,8 @@ public:
|
||||||
bool m_seamAllowanceBuiltIn;
|
bool m_seamAllowanceBuiltIn;
|
||||||
bool m_hideMainPath;
|
bool m_hideMainPath;
|
||||||
qreal m_width;
|
qreal m_width;
|
||||||
|
qreal m_mx;
|
||||||
|
qreal m_my;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
VAbstractPieceData &operator=(const VAbstractPieceData &) Q_DECL_EQ_DELETE;
|
VAbstractPieceData &operator=(const VAbstractPieceData &) Q_DECL_EQ_DELETE;
|
||||||
|
|
|
@ -368,6 +368,10 @@ VLayoutPiece::~VLayoutPiece()
|
||||||
VLayoutPiece VLayoutPiece::Create(const VPiece &piece, const VContainer *pattern)
|
VLayoutPiece VLayoutPiece::Create(const VPiece &piece, const VContainer *pattern)
|
||||||
{
|
{
|
||||||
VLayoutPiece det;
|
VLayoutPiece det;
|
||||||
|
|
||||||
|
det.SetMx(piece.GetMx());
|
||||||
|
det.SetMy(piece.GetMy());
|
||||||
|
|
||||||
det.SetCountourPoints(piece.MainPathPoints(pattern), piece.IsHideMainPath());
|
det.SetCountourPoints(piece.MainPathPoints(pattern), piece.IsHideMainPath());
|
||||||
det.SetSeamAllowancePoints(piece.SeamAllowancePoints(pattern), piece.IsSeamAllowance(),
|
det.SetSeamAllowancePoints(piece.SeamAllowancePoints(pattern), piece.IsSeamAllowance(),
|
||||||
piece.IsSeamAllowanceBuiltIn());
|
piece.IsSeamAllowanceBuiltIn());
|
||||||
|
|
|
@ -505,30 +505,6 @@ QPainterPath VPiece::PassmarksPath(const VContainer *data) const
|
||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
qreal VPiece::GetMx() const
|
|
||||||
{
|
|
||||||
return d->m_mx;
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
void VPiece::SetMx(qreal value)
|
|
||||||
{
|
|
||||||
d->m_mx = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
qreal VPiece::GetMy() const
|
|
||||||
{
|
|
||||||
return d->m_my;
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
void VPiece::SetMy(qreal value)
|
|
||||||
{
|
|
||||||
d->m_my = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
bool VPiece::IsInLayout() const
|
bool VPiece::IsInLayout() const
|
||||||
{
|
{
|
||||||
|
|
|
@ -75,12 +75,6 @@ public:
|
||||||
QPainterPath SeamAllowancePath(const VContainer *data) const;
|
QPainterPath SeamAllowancePath(const VContainer *data) const;
|
||||||
QPainterPath PassmarksPath(const VContainer *data) const;
|
QPainterPath PassmarksPath(const VContainer *data) const;
|
||||||
|
|
||||||
qreal GetMx() const;
|
|
||||||
void SetMx(qreal value);
|
|
||||||
|
|
||||||
qreal GetMy() const;
|
|
||||||
void SetMy(qreal value);
|
|
||||||
|
|
||||||
bool IsInLayout() const;
|
bool IsInLayout() const;
|
||||||
void SetInLayout(bool inLayout);
|
void SetInLayout(bool inLayout);
|
||||||
|
|
||||||
|
|
|
@ -49,8 +49,6 @@ class VPieceData : public QSharedData
|
||||||
public:
|
public:
|
||||||
explicit VPieceData(PiecePathType type)
|
explicit VPieceData(PiecePathType type)
|
||||||
: m_path(type),
|
: m_path(type),
|
||||||
m_mx(0),
|
|
||||||
m_my(0),
|
|
||||||
m_inLayout(true),
|
m_inLayout(true),
|
||||||
m_united(false),
|
m_united(false),
|
||||||
m_customSARecords(),
|
m_customSARecords(),
|
||||||
|
@ -65,8 +63,6 @@ public:
|
||||||
VPieceData(const VPieceData &detail)
|
VPieceData(const VPieceData &detail)
|
||||||
: QSharedData(detail),
|
: QSharedData(detail),
|
||||||
m_path(detail.m_path),
|
m_path(detail.m_path),
|
||||||
m_mx(detail.m_mx),
|
|
||||||
m_my(detail.m_my),
|
|
||||||
m_inLayout(detail.m_inLayout),
|
m_inLayout(detail.m_inLayout),
|
||||||
m_united(detail.m_united),
|
m_united(detail.m_united),
|
||||||
m_customSARecords(detail.m_customSARecords),
|
m_customSARecords(detail.m_customSARecords),
|
||||||
|
@ -83,9 +79,6 @@ public:
|
||||||
/** @brief nodes list detail nodes. */
|
/** @brief nodes list detail nodes. */
|
||||||
VPiecePath m_path;
|
VPiecePath m_path;
|
||||||
|
|
||||||
qreal m_mx;
|
|
||||||
qreal m_my;
|
|
||||||
|
|
||||||
bool m_inLayout;
|
bool m_inLayout;
|
||||||
bool m_united;
|
bool m_united;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user