diff --git a/sources/qetgraphicsitem/crossrefitem.cpp b/sources/qetgraphicsitem/crossrefitem.cpp index 9ee583d3a..55145182c 100644 --- a/sources/qetgraphicsitem/crossrefitem.cpp +++ b/sources/qetgraphicsitem/crossrefitem.cpp @@ -661,18 +661,21 @@ QRectF CrossRefItem::drawContact(QPainter &painter, int flags, Element *elmt) painter.drawLine(16, offset+6, 24, offset+6); ///take example of this code for display the terminal text - /*QFont font = QETApp::diagramTextsFont(4); - font.setBold(true); - painter.setFont(font); - QRectF bt(0, offset, 24, 10); - int txt = 10 + m_drawed_contacts; - painter.drawText(bt, Qt::AlignLeft|Qt::AlignTop, QString::number(txt)); - painter.drawText(bt, Qt::AlignRight|Qt::AlignTop, QString::number(txt)); - painter.setFont(QETApp::diagramTextsFont(5));*/ + //draw open contact if (flags &NO) { painter.drawLine(8, offset+9, 16, offset+6); + //We can't use this code, one is used to draw all NO part, two we need to count only this flags + // and not all &NO used by other flags like &Delay etc.. + // QFont font = QETApp::diagramTextsFont(4); + // font.setBold(true); + // painter.setFont(font); + // QRectF bt(0, offset, 24, 10); + // int txt = 10 + m_drawed_contacts *10; + // painter.drawText(bt, Qt::AlignLeft|Qt::AlignTop, QString::number(txt +3)); + // painter.drawText(bt, Qt::AlignRight|Qt::AlignTop, QString::number(txt +4)); + // painter.setFont(QETApp::diagramTextsFont(5)); } //draw close contact if (flags &NC) { @@ -683,6 +686,16 @@ QRectF CrossRefItem::drawContact(QPainter &painter, int flags, Element *elmt) }; painter.drawPolyline(p1,3); painter.drawLine(8, offset+3, 16, offset+6); + //We can't use this code, one is used to draw all NC part, two we need to count only this flags + // and not all &NC used by other flags like &Delay etc.. + // QFont font = QETApp::diagramTextsFont(4); + // font.setBold(true); + // painter.setFont(font); + // QRectF bt(0, offset, 24, 10); + // int txt = 10 + m_drawed_contacts *10; + // painter.drawText(bt, Qt::AlignLeft|Qt::AlignTop, QString::number(txt +1)); + // painter.drawText(bt, Qt::AlignRight|Qt::AlignTop, QString::number(txt +2)); + // painter.setFont(QETApp::diagramTextsFont(5)); } //draw half circle for power contact @@ -702,11 +715,27 @@ QRectF CrossRefItem::drawContact(QPainter &painter, int flags, Element *elmt) painter.drawLine(12, offset+8, 12, offset+11); QRectF r(9.5, offset+9, 5, 3); painter.drawArc(r, 180*16, 180*16); + QFont font = QETApp::diagramTextsFont(4); + font.setBold(true); + painter.setFont(font); + QRectF bt(0, offset, 24, 10); + int txt = 60; + painter.drawText(bt, Qt::AlignLeft|Qt::AlignTop, QString::number(txt +7)); + painter.drawText(bt, Qt::AlignRight|Qt::AlignTop, QString::number(txt +8)); + painter.setFont(QETApp::diagramTextsFont(5)); } if (flags &NC) { painter.drawLine(QPointF(12.5, offset+5), QPointF(12.5, offset+8)); QRectF r(10, offset+6, 5, 3); painter.drawArc(r, 180*16, 180*16); + QFont font = QETApp::diagramTextsFont(4); + font.setBold(true); + painter.setFont(font); + QRectF bt(0, offset, 24, 10); + int txt = 50; + painter.drawText(bt, Qt::AlignLeft|Qt::AlignTop, QString::number(txt +5)); + painter.drawText(bt, Qt::AlignRight|Qt::AlignTop, QString::number(txt +6)); + painter.setFont(QETApp::diagramTextsFont(5)); } } // for delay off contact @@ -715,11 +744,27 @@ QRectF CrossRefItem::drawContact(QPainter &painter, int flags, Element *elmt) painter.drawLine(12, offset+8, 12, offset+9.5); QRectF r(9.5, offset+9.5, 5, 3); painter.drawArc(r, 0, 180*16); + QFont font = QETApp::diagramTextsFont(4); + font.setBold(true); + painter.setFont(font); + QRectF bt(0, offset, 24, 10); + int txt = 50; + painter.drawText(bt, Qt::AlignLeft|Qt::AlignTop, QString::number(txt +7)); + painter.drawText(bt, Qt::AlignRight|Qt::AlignTop, QString::number(txt +8)); + painter.setFont(QETApp::diagramTextsFont(5)); } if (flags &NC) { painter.drawLine(QPointF(12.5, offset+5), QPointF(12.5, offset+7)); QRectF r(10, offset+7.5, 5, 3); painter.drawArc(r, 0, 180*16); + QFont font = QETApp::diagramTextsFont(4); + font.setBold(true); + painter.setFont(font); + QRectF bt(0, offset, 24, 10); + int txt = 60; + painter.drawText(bt, Qt::AlignLeft|Qt::AlignTop, QString::number(txt +5)); + painter.drawText(bt, Qt::AlignRight|Qt::AlignTop, QString::number(txt +6)); + painter.setFont(QETApp::diagramTextsFont(5)); } } @@ -777,6 +822,7 @@ QRectF CrossRefItem::drawContact(QPainter &painter, int flags, Element *elmt) }; painter.drawPolyline(p1, 3); + //Draw the common side QPointF p2[3] = { QPointF(7, offset+14), @@ -784,6 +830,16 @@ QRectF CrossRefItem::drawContact(QPainter &painter, int flags, Element *elmt) QPointF(24, offset+11), }; painter.drawPolyline(p2, 3); + QFont font = QETApp::diagramTextsFont(4); + font.setBold(true); + painter.setFont(font); + QRectF bt(0, offset, 24, 18); + int txt = 10; + painter.drawText(bt, Qt::AlignLeft|Qt::AlignTop, QString::number(txt +4)); + painter.drawText(bt, Qt::AlignLeft|Qt::AlignBottom, QString::number(txt +2)); + painter.drawText(bt, Qt::AlignRight|Qt::AlignCenter, QString::number(txt +1)); + painter.setFont(QETApp::diagramTextsFont(5)); + //Draw the half ellipse off delay if (flags &Delay) @@ -802,6 +858,15 @@ QRectF CrossRefItem::drawContact(QPainter &painter, int flags, Element *elmt) painter.drawArc(r, 180*16, 180*16); QRectF rr(9.5, offset+17, 5, 3); painter.drawArc(rr, 0, 180*16); + QFont font = QETApp::diagramTextsFont(4); + font.setBold(true); + painter.setFont(font); + QRectF bt(0, offset, 24, 18); + int txt = 10; + painter.drawText(bt, Qt::AlignLeft|Qt::AlignTop, QString::number(txt +8)); + painter.drawText(bt, Qt::AlignLeft|Qt::AlignBottom, QString::number(txt +6)); + painter.drawText(bt, Qt::AlignRight|Qt::AlignCenter, QString::number(txt +5)); + painter.setFont(QETApp::diagramTextsFont(5)); } }