[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/3.5/kdesdk/umbrello/umbrello
From:       Oliver Kellogg <okellogg () users ! sourceforge ! net>
Date:       2006-01-29 17:58:02
Message-ID: 1138557482.509589.1018.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 503618 by okellogg:

Thanks Achim for your PatchSynchronousMessageResize.diff at
http://www.geeksoc.org/~jr/umbrello/uml-devel/9171.html
which I apply here after slight modification.


 M  +11 -4     messagewidget.cpp  
 M  +6 -0      messagewidget.h  


--- branches/KDE/3.5/kdesdk/umbrello/umbrello/messagewidget.cpp #503617:503618
@@ -41,8 +41,7 @@
         y -= m_pOw[Uml::B]->getHeight() / 2;
         m_pOw[Uml::B]->setY(y);
     }
-    UMLWidget::m_bResizable = (m_pOw[Uml::A] == m_pOw[Uml::B]);
-
+    updateResizability();
     calculateWidget();
     y = y < getMinHeight() ? getMinHeight() : y;
     y = y > getMaxHeight() ? getMaxHeight() : y;
@@ -71,6 +70,14 @@
 MessageWidget::~MessageWidget() {
 }
 
+void MessageWidget::updateResizability() {
+    if (m_sequenceMessageType == Uml::sequence_message_synchronous ||
+        m_pOw[Uml::A] == m_pOw[Uml::B])
+        UMLWidget::m_bResizable = true;
+    else
+        UMLWidget::m_bResizable = false;
+}
+
 void MessageWidget::draw(QPainter& p, int offsetX, int offsetY) {
     if(!m_pOw[Uml::A] || !m_pOw[Uml::B]) {
         return;
@@ -737,7 +744,7 @@
 
 void MessageWidget::setWidget(ObjectWidget * ow, Uml::Role_Type role) {
     m_pOw[role] = ow;
-    UMLWidget::m_bResizable = (m_pOw[Uml::A] == m_pOw[Uml::B]);
+    updateResizability();
 }
 
 ObjectWidget* MessageWidget::getWidget(Uml::Role_Type role) {
@@ -805,7 +812,7 @@
         << ID2STR(bId) << " is not an ObjectWidget" << endl;
         return false;
     }
-    UMLWidget::m_bResizable = (m_pOw[Uml::A] == m_pOw[Uml::B]);
+    updateResizability();
 
     UMLClassifier *c = dynamic_cast<UMLClassifier*>( pWB->getUMLObject() );
     if (c) {
--- branches/KDE/3.5/kdesdk/umbrello/umbrello/messagewidget.h #503617:503618
@@ -363,6 +363,12 @@
      */
     static void drawSolidArrowhead(QPainter& p, int x, int y, Qt::ArrowType direction);
 
+    /**
+     * Update the UMLWidget::m_bResizable flag according to the
+     * charactersitics of this message.
+     */
+    void updateResizability();
+
     // Data loaded/saved
     QString m_SequenceNumber;
     QString m_CustomOp;
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic