PdmPanelizerScene Class

Header: #include <PdmPanelizerScene>
Inherits: QGraphicsScene

Public Functions

PdmPanelizerScene(QObject *iParent = 0)
~PdmPanelizerScene()
bool addAutoRemark(const RemarkData &iData, bool iForceRemark = false)
void addLayer(const QVariantMap &iLayerMap, const QString &iStepName)
void addLinaerRemark(bool isActive)
void addMeasure(bool isActive)
void addPoints(const QVariantList &iPoints)
void addSlantRemark(bool isActive)
void addText(QVariantMap &iTextMap)
void addText(const QVariantMap &iTextMap, const QString &iStepName)
void alignBottom()
void alignHorizontal()
void alignLeft()
void alignRight()
void alignTop()
void alignVertical()
void anchorBottom()
void anchorHorizontal()
void anchorLeft()
void anchorRight()
void anchorTop()
void anchorVertical()
bool autoRemark(bool iClearAndReturn = false)
void calcStepMinGap(Qt::Orientation iOrientation, qreal &oMinA2aGap, qreal &oMinA2cGap, qreal &oMinC2cGap, const QString &iStepName = QString())
void clearCurStepLocationNumber()
void clearData()
void clearPoints()
void clearRemark(const QString &iStepName)
void clearSelected()
void close2Step(Qt::ArrowType iArrow, qreal iDis)
bool controlMove(QPointF iPos, bool isRelative = false)
void copyStep()
RemarkData createRemarkData(const QRectF &iRect1, const QRectF &iRect2, const QVector<QRectF> iAllRects, Qt::Orientation iOrientation)
PdmStepItem *currentStep() const
void gapPeripheryRemark()
void gapRemark()
QRectF getStepRect(const QList<PdmBaseItem *> &iItemList)
QRectF getStepRect(const QString &iStepName)
bool hasSelectedItem()
void highLightRepeat(QList<PdmRepeatData *> iRepeatLst)
void horizontalEquiDistanceGrouped()
void horizontalEquidistance()
void insertCoupon(PdmStepData *coupon)
float minArray2CouponGap()
float minGapX()
float minGapY()
void mirrorX()
void mirrorY()
void modifyDimen(QVariantMap &iDimenMap)
void modifyText(QVariantMap &iTextMap)
void moveFinish()
void moveItem(QPointF iPos, bool isRelative = false, QPointF iSelectPoint = QPointF())
void moveItem()
void refreshItems(bool dataChange = true)
void removeSelectItem()
void resetOperate(bool clearSelect = true)
bool rotate90()
bool rotateByCenter()
void selectAllStep()
void setAllStepGap(qreal iGap, const QString &iStepName)
void setCanSelect(bool canSelect)
void setConfigInfo(const QVariantList &iDataLst)
void setContextMenu(QMenu *iMenu)
void setCurrentStep(PdmStepData *iStepData)
void setDimensionLargeSize(const QVariantMap &iSizeMap)
void setDimensionSmallSize(const QVariantMap &iSizeMap)
void setGapLength(int iGapLength)
void setGapPrecision(int iGapPrecision)
void setKeepDisplayLocationNum(bool iKeepDisplayLocationNum)
void setKeyingSlotInfo(const QVariantMap &iKeyingSlotInfo)
void setLayerVisible(const QString &iLayerName, const QString &iStepName, bool iVisible = true)
void setMeasureCtrl(bool iMeasureCtrl)
void setNeighborDis(qreal neighborDis)
void setOutBoundingRect(QRectF iOutRect)
void setPanelizerData(PdmPanelizerData *iPanelData)
void setScaleFactor(float iScaleFactor)
void setSelectedRepeat(QList<PdmRepeatData *> iRepeatLst)
void setSelectedStepData(QList<PdmStepData *> iStepDataLst)
void setShowFactor(float iShowFactor)
void setShowStepSize(const QVariantMap &iShowStepSize)
void setShowZoomRatio(qreal iShowZoomRatio)
void setSizePrecision(const QMap<QString, int> &iSizePrecision)
void setSnapColor(const QString &iSnapColor)
void setStepProfileVisible(const QString &iStepName, bool iBol = true)
void setStepValue(double iStepValue)
void snapEdgeLine(bool iIsSnap)
void snapEndpoint(bool iIsSnap)
void snapMidpoint(bool iIsSnap)
bool stepIsValid(const QString &iStepName = "", QStringList *oInvalidStep = nullptr, QString *oErrorType = nullptr)
QMap<QString, PdmStepItem *> stepItemMap()
QFont textFont() const
void totalHorizontalCenterGrouped(const QVariantMap &iParam)
void totalVerticalCenterGrouped(const QVariantMap &iParam)
void updateCurrentStepLocationNumber()
void updateDrawInfo()
void updateTextByText(const QString &iOldText, const QString &iNewText, const QString &iStepName)
void verticalEquiDistanceGrouped()
void verticalEquidistance()
void zoomArea(bool isActive)

Signals

void clearLocationNumber()
void contentsMove(const QPointF &point)
void messageChange(const QVariantMap &message)
void sActGroupReset()
void sAddCoupon()
void sDataChanged()
void sDimensionModify(const QVariantMap &oDataMap)
void sRepeatSelect(QList<PdmRepeatData *> oRepeatLst)
void sTextModify(const QVariantMap &oDataMap)
void sUIChanged()
void zoomRect(const QRectF &rect)

Protected Functions

QPointF neighbor45DegreesPos(const QPointF &iStartPoint, const QPointF &iPoint)
QPointF neighborPos(const QPointF &iPoint)

Reimplemented Protected Functions

virtual void keyPressEvent(QKeyEvent *event)
virtual void keyReleaseEvent(QKeyEvent *event)
virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *mouseEvent)
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event)
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event)
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event)

Additional Inherited Members

Detailed Description

Member Function Documentation

PdmPanelizerScene::PdmPanelizerScene(QObject *iParent = 0)

Default constructs an instance of PdmPanelizerScene.

PdmPanelizerScene::~PdmPanelizerScene()

Destroys the instance of PdmPanelizerScene.

bool PdmPanelizerScene::addAutoRemark(const RemarkData &iData, bool iForceRemark = false)

void PdmPanelizerScene::addLayer(const QVariantMap &iLayerMap, const QString &iStepName)

void PdmPanelizerScene::addLinaerRemark(bool isActive)

void PdmPanelizerScene::addMeasure(bool isActive)

void PdmPanelizerScene::addPoints(const QVariantList &iPoints)

void PdmPanelizerScene::addSlantRemark(bool isActive)

void PdmPanelizerScene::addText(QVariantMap &iTextMap)

添加文字 iTextMap:需添加的文字相关信息 Map相关格式为: { "text":, "pos":, "angle":, "font":, "mirror": }

void PdmPanelizerScene::addText(const QVariantMap &iTextMap, const QString &iStepName)

void PdmPanelizerScene::alignBottom()

void PdmPanelizerScene::alignHorizontal()

void PdmPanelizerScene::alignLeft()

void PdmPanelizerScene::alignRight()

void PdmPanelizerScene::alignTop()

void PdmPanelizerScene::alignVertical()

void PdmPanelizerScene::anchorBottom()

void PdmPanelizerScene::anchorHorizontal()

void PdmPanelizerScene::anchorLeft()

void PdmPanelizerScene::anchorRight()

void PdmPanelizerScene::anchorTop()

void PdmPanelizerScene::anchorVertical()

bool PdmPanelizerScene::autoRemark(bool iClearAndReturn = false)

void PdmPanelizerScene::calcStepMinGap(Qt::Orientation iOrientation, qreal &oMinA2aGap, qreal &oMinA2cGap, qreal &oMinC2cGap, const QString &iStepName = QString())

void PdmPanelizerScene::clearCurStepLocationNumber()

void PdmPanelizerScene::clearData()

[signal] void PdmPanelizerScene::clearLocationNumber()

void PdmPanelizerScene::clearPoints()

void PdmPanelizerScene::clearRemark(const QString &iStepName)

void PdmPanelizerScene::clearSelected()

void PdmPanelizerScene::close2Step(Qt::ArrowType iArrow, qreal iDis)

[signal] void PdmPanelizerScene::contentsMove(const QPointF &point)

bool PdmPanelizerScene::controlMove(QPointF iPos, bool isRelative = false)

移动选中item的对外接口 iPos isRelative iSelectPoint

void PdmPanelizerScene::copyStep()

RemarkData PdmPanelizerScene::createRemarkData(const QRectF &iRect1, const QRectF &iRect2, const QVector<QRectF> iAllRects, Qt::Orientation iOrientation)

PdmStepItem *PdmPanelizerScene::currentStep() const

See also setCurrentStep().

void PdmPanelizerScene::gapPeripheryRemark()

void PdmPanelizerScene::gapRemark()

QRectF PdmPanelizerScene::getStepRect(const QList<PdmBaseItem *> &iItemList)

QRectF PdmPanelizerScene::getStepRect(const QString &iStepName)

bool PdmPanelizerScene::hasSelectedItem()

返回是否有选中Item \Returns

void PdmPanelizerScene::highLightRepeat(QList<PdmRepeatData *> iRepeatLst)

设置指定repeat高亮 iRepeatLst

void PdmPanelizerScene::horizontalEquiDistanceGrouped()

调整水平方向的item为等间距(按纵坐标分成多行处理)

void PdmPanelizerScene::horizontalEquidistance()

void PdmPanelizerScene::insertCoupon(PdmStepData *coupon)

插入阻抗 iCounponName:阻抗的name

[virtual protected] void PdmPanelizerScene::keyPressEvent(QKeyEvent *event)

[virtual protected] void PdmPanelizerScene::keyReleaseEvent(QKeyEvent *event)

[signal] void PdmPanelizerScene::messageChange(const QVariantMap &message)

float PdmPanelizerScene::minArray2CouponGap()

float PdmPanelizerScene::minGapX()

float PdmPanelizerScene::minGapY()

void PdmPanelizerScene::mirrorX()

void PdmPanelizerScene::mirrorY()

void PdmPanelizerScene::modifyDimen(QVariantMap &iDimenMap)

修改标注信息 iDimenMap:修改后的标注相关信息 Map格式为: { "font": }

void PdmPanelizerScene::modifyText(QVariantMap &iTextMap)

修改文字信息 iTextMap:修改后的文字信息,Map格式同上(addText)

[virtual protected] void PdmPanelizerScene::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *mouseEvent)

[virtual protected] void PdmPanelizerScene::mouseMoveEvent(QGraphicsSceneMouseEvent *event)

[virtual protected] void PdmPanelizerScene::mousePressEvent(QGraphicsSceneMouseEvent *event)

[virtual protected] void PdmPanelizerScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)

void PdmPanelizerScene::moveFinish()

void PdmPanelizerScene::moveItem(QPointF iPos, bool isRelative = false, QPointF iSelectPoint = QPointF())

移动选中item iPos:需要移动的距离 isRelative:是否相对距离 iSelectPoint

void PdmPanelizerScene::moveItem()

[protected] QPointF PdmPanelizerScene::neighbor45DegreesPos(const QPointF &iStartPoint, const QPointF &iPoint)

根据目标点计算与该点成45度倍数角度线上最接近的有效点 iStartPoint 起点, iPoint 目标点 \Returns 若存在有效点,则返回,否则,返回本身

[protected] QPointF PdmPanelizerScene::neighborPos(const QPointF &iPoint)

根据目标点计算最接近的有效点(即附近step上的点) iPoint 目标点 \Returns 若存在有效点,则返回,否则,返回本身

void PdmPanelizerScene::refreshItems(bool dataChange = true)

void PdmPanelizerScene::removeSelectItem()

void PdmPanelizerScene::resetOperate(bool clearSelect = true)

重置所有操作的flag。防止操作之间相互交叉

bool PdmPanelizerScene::rotate90()

将选中step旋转90° \Returns 若未选中任何item或者当前step为NULL,则返回false,否则,返回true

bool PdmPanelizerScene::rotateByCenter()

[signal] void PdmPanelizerScene::sActGroupReset()

[signal] void PdmPanelizerScene::sAddCoupon()

[signal] void PdmPanelizerScene::sDataChanged()

[signal] void PdmPanelizerScene::sDimensionModify(const QVariantMap &oDataMap)

[signal] void PdmPanelizerScene::sRepeatSelect(QList<PdmRepeatData *> oRepeatLst)

[signal] void PdmPanelizerScene::sTextModify(const QVariantMap &oDataMap)

[signal] void PdmPanelizerScene::sUIChanged()

void PdmPanelizerScene::selectAllStep()

void PdmPanelizerScene::setAllStepGap(qreal iGap, const QString &iStepName)

void PdmPanelizerScene::setCanSelect(bool canSelect)

void PdmPanelizerScene::setConfigInfo(const QVariantList &iDataLst)

设置绘制图形元素的颜色 iDataLst

void PdmPanelizerScene::setContextMenu(QMenu *iMenu)

void PdmPanelizerScene::setCurrentStep(PdmStepData *iStepData)

设置当前Panelizer中的显示step
iStepData

See also currentStep().

void PdmPanelizerScene::setDimensionLargeSize(const QVariantMap &iSizeMap)

void PdmPanelizerScene::setDimensionSmallSize(const QVariantMap &iSizeMap)

void PdmPanelizerScene::setGapLength(int iGapLength)

void PdmPanelizerScene::setGapPrecision(int iGapPrecision)

void PdmPanelizerScene::setKeepDisplayLocationNum(bool iKeepDisplayLocationNum)

void PdmPanelizerScene::setKeyingSlotInfo(const QVariantMap &iKeyingSlotInfo)

void PdmPanelizerScene::setLayerVisible(const QString &iLayerName, const QString &iStepName, bool iVisible = true)

void PdmPanelizerScene::setMeasureCtrl(bool iMeasureCtrl)

void PdmPanelizerScene::setNeighborDis(qreal neighborDis)

void PdmPanelizerScene::setOutBoundingRect(QRectF iOutRect)

void PdmPanelizerScene::setPanelizerData(PdmPanelizerData *iPanelData)

设置在当前界面中处理的Panelizer iPanelData

void PdmPanelizerScene::setScaleFactor(float iScaleFactor)

设置当前绘制的缩放比例,注意,这将直接影响图形界面效果 iScaleFactor

void PdmPanelizerScene::setSelectedRepeat(QList<PdmRepeatData *> iRepeatLst)

设置选中的repeat iRepeatLst:传入的repeat信息

void PdmPanelizerScene::setSelectedStepData(QList<PdmStepData *> iStepDataLst)

设置选中的stepData iStepDataLst:传入的stepData数据信息

void PdmPanelizerScene::setShowFactor(float iShowFactor)

void PdmPanelizerScene::setShowStepSize(const QVariantMap &iShowStepSize)

void PdmPanelizerScene::setShowZoomRatio(qreal iShowZoomRatio)

void PdmPanelizerScene::setSizePrecision(const QMap<QString, int> &iSizePrecision)

void PdmPanelizerScene::setSnapColor(const QString &iSnapColor)

void PdmPanelizerScene::setStepProfileVisible(const QString &iStepName, bool iBol = true)

void PdmPanelizerScene::setStepValue(double iStepValue)

设置移动步长 iStepValue:移动步长

void PdmPanelizerScene::snapEdgeLine(bool iIsSnap)

void PdmPanelizerScene::snapEndpoint(bool iIsSnap)

void PdmPanelizerScene::snapMidpoint(bool iIsSnap)

bool PdmPanelizerScene::stepIsValid(const QString &iStepName = "", QStringList *oInvalidStep = nullptr, QString *oErrorType = nullptr)

QMap<QString, PdmStepItem *> PdmPanelizerScene::stepItemMap()

QFont PdmPanelizerScene::textFont() const

void PdmPanelizerScene::totalHorizontalCenterGrouped(const QVariantMap &iParam)

void PdmPanelizerScene::totalVerticalCenterGrouped(const QVariantMap &iParam)

void PdmPanelizerScene::updateCurrentStepLocationNumber()

void PdmPanelizerScene::updateDrawInfo()

重新绘制界面信息。此时重新对panelizer中的数据做处理,若当前已有step数据不包含在panelizer 中,则删除,若为包含panelizer中的数据,则添加

void PdmPanelizerScene::updateTextByText(const QString &iOldText, const QString &iNewText, const QString &iStepName)

void PdmPanelizerScene::verticalEquiDistanceGrouped()

调整垂直方向的item为等间距(按横坐标分成多列处理)

void PdmPanelizerScene::verticalEquidistance()

void PdmPanelizerScene::zoomArea(bool isActive)

[signal] void PdmPanelizerScene::zoomRect(const QRectF &rect)