Summary: | export class diagramm to eps draws interfaces too small | ||
---|---|---|---|
Product: | [Applications] umbrello | Reporter: | Matthias Kempka <lists> |
Component: | general | Assignee: | Umbrello Development Group <umbrello-devel> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Debian testing | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Matthias Kempka
2005-04-27 12:08:43 UTC
SVN commit 412607 by okellogg: drawAsConcept(): Use UMLWidget::getFontMetrics() for fontHeight determination. BUG:104637 M +1 -1 trunk/KDE/kdesdk/umbrello/ChangeLog M +20 -21 trunk/KDE/kdesdk/umbrello/umbrello/interfacewidget.cpp --- trunk/KDE/kdesdk/umbrello/ChangeLog #412606:412607 @@ -13,7 +13,7 @@ * Crash in UMLView::createAutoAttributeAssociations() * Bugs from http://bugs.kde.org : 53376 57667 57875 70924 80924 89691 95353 100290 100307 101148 -103123 103133 103728 101541 +103123 103133 103728 101541 104637 Version 1.4 --- trunk/KDE/kdesdk/umbrello/umbrello/interfacewidget.cpp #412606:412607 @@ -92,53 +92,52 @@ } //////////////////////////////////////////////////////////////////////////////////////////////////// void InterfaceWidget::drawAsConcept(QPainter& p, int offsetX, int offsetY) { - ClassifierWidget::draw(p, offsetX, offsetY); + ClassifierWidget::draw(p, offsetX, offsetY); // draw templates QFont font = UMLWidget::getFont(); font.setItalic(false); font.setUnderline(false); font.setBold(false); - QFontMetrics fontMetrics(font); - int fontHeight = fontMetrics.lineSpacing(); - QString name; - if ( m_bShowPackage ) { - name = m_pObject -> getPackage() + "." + this -> getName(); - } else { - name = this -> getName(); - } + QFontMetrics fontMetrics = UMLWidget::getFontMetrics(UMLWidget::FT_NORMAL); + const int fontHeight = fontMetrics.lineSpacing(); + const int w = m_w - ClassifierWidget::MARGIN * 2; + const int x = offsetX + ClassifierWidget::MARGIN; + int y = m_bodyOffsetY; p.setPen(QPen(black)); + // draw stereotype font.setBold(true); p.setFont(font); - p.drawText(offsetX + ClassifierWidget::MARGIN, m_bodyOffsetY, - m_w - ClassifierWidget::MARGIN * 2,fontHeight, - AlignCenter, m_pObject->getStereotype()); + p.drawText(x, y, w, fontHeight, AlignCenter, m_pObject->getStereotype()); + y += fontHeight; + // draw name + QString name; + if ( m_bShowPackage ) { + name = m_pObject -> getPackage() + "." + this -> getName(); + } else { + name = this -> getName(); + } font.setItalic( m_pObject -> getAbstract() ); //FIXME why is underline sometimes true font.setUnderline( false ); p.setFont(font); - p.drawText(offsetX + ClassifierWidget::MARGIN, m_bodyOffsetY + fontHeight, - m_w - ClassifierWidget::MARGIN * 2, fontHeight, AlignCenter, name); + p.drawText(x, y, w, fontHeight, AlignCenter, name); font.setBold(false); font.setItalic(false); p.setFont(font); + y += fontHeight; if ( m_bShowOperations ) { QFont font = UMLWidget::getFont(); font.setItalic(false); font.setUnderline(false); font.setBold(false); - - UMLWidget::draw(p, offsetX, m_bodyOffsetY); - - const int operationsStart = fontHeight * 2; - const int y = m_bodyOffsetY + operationsStart; + UMLWidget::draw(p, offsetX, m_bodyOffsetY); // sets the pen p.drawLine(offsetX, y, offsetX + m_w - 1, y); p.setPen( QPen(black) ); - drawMembers(p, Uml::ot_Operation, m_ShowOpSigs, - offsetX + ClassifierWidget::MARGIN, y, fontHeight); + drawMembers(p, Uml::ot_Operation, m_ShowOpSigs, x, y, fontHeight); }//end if op if (m_bSelected) { |