[Uml-devel] KDE/kdesdk/umbrello/umbrello

Andi Fischer andi.fischer at hispeed.ch
Sun Apr 22 19:23:35 UTC 2012


SVN commit 1291008 by fischer:

Difference to gsoc-branch reduced.

 M  +24 -17    dialogs/classgenpage.cpp  
 M  +24 -8     dialogs/umlwidgetstylepage.cpp  
 M  +1 -2      widgets/classifierwidget.h  


--- trunk/KDE/kdesdk/umbrello/umbrello/dialogs/classgenpage.cpp #1291007:1291008
@@ -44,8 +44,11 @@
 #include <QtGui/QGridLayout>
 
 ClassGenPage::ClassGenPage(UMLDoc* d, QWidget* parent, UMLObject* o)
-  : QWidget(parent), m_pObject(o), m_pWidget(0), m_pInstanceWidget(0), m_pUmldoc(d)
+  : QWidget(parent),
+    m_pObject(o), m_pWidget(0), m_pInstanceWidget(0), m_pUmldoc(d)
 {
+    Q_ASSERT_X(m_pObject, "ClassGenPage::ClassGenPage", "Given UMLObject is NULL.");
+
     int margin = fontMetrics().height();
 
     setMinimumSize(310,330);
@@ -54,7 +57,7 @@
 
     // setup name
     QString name;
-    UMLObject::ObjectType t = o->baseType();
+    UMLObject::ObjectType t = m_pObject->baseType();
     switch (t) {
     case UMLObject::ot_Class:
         name = i18n("Class &name:");
@@ -116,7 +119,7 @@
     m_pStereoTypeCB = new KComboBox(true, this);
     m_pNameLayout->addWidget(m_pStereoTypeCB, 1, 1);
 
-    m_pStereoTypeCB->setItemText( m_pStereoTypeCB->currentIndex(), o->stereotype() );
+    m_pStereoTypeCB->setItemText( m_pStereoTypeCB->currentIndex(), m_pObject->stereotype() );
     m_pStereoTypeL->setBuddy(m_pStereoTypeCB);
 
     if (t == UMLObject::ot_Interface || t == UMLObject::ot_Datatype || t == UMLObject::ot_Enum) {
@@ -138,8 +141,8 @@
         }
         packages.sort();
         m_pPackageCB->insertItems(-1, packages);
-	QString packagePath = o->package();
-        UMLPackage* parentPackage = o->umlPackage();
+        QString packagePath = m_pObject->package();
+        UMLPackage* parentPackage = m_pObject->umlPackage();
 
         // if parent package == NULL
         // or if the parent package is the Logical View folder
@@ -158,7 +161,7 @@
             abstractCaption = i18n("A&bstract use case");
         }
         m_pAbstractCB = new QCheckBox( abstractCaption, this );
-        m_pAbstractCB->setChecked( o->isAbstract() );
+        m_pAbstractCB->setChecked( m_pObject->isAbstract() );
         m_pNameLayout->addWidget( m_pAbstractCB, 3, 0 );
     }
 
@@ -231,9 +234,9 @@
     topLayout->addWidget(m_docGB);
 
     // setup fields
-    m_pClassNameLE->setText(o->name());
-    m_doc->setText(o->doc());
-    Uml::Visibility s = o->visibility();
+    m_pClassNameLE->setText(m_pObject->name());
+    m_doc->setText(m_pObject->doc());
+    Uml::Visibility s = m_pObject->visibility();
     if (s == Uml::Visibility::Public)
         m_pPublicRB->setChecked(true);
     else if (s == Uml::Visibility::Private)
@@ -252,8 +255,11 @@
 }
 
 ClassGenPage::ClassGenPage(UMLDoc* d, QWidget* parent, ObjectWidget* o)
-  : QWidget(parent), m_pObject(0), m_pWidget(o), m_pInstanceWidget(0), m_pUmldoc(d)
+  : QWidget(parent),
+    m_pObject(0), m_pWidget(o), m_pInstanceWidget(0), m_pUmldoc(d)
 {
+    Q_ASSERT_X(m_pWidget, "ClassGenPage::ClassGenPage", "Given ObjectWidget is NULL.");
+
     m_pDeconCB = 0;
     m_pMultiCB = 0;
 
@@ -272,7 +278,7 @@
     m_pNameLayout->addWidget(m_pNameL, 0, 0);
 
     m_pClassNameLE = new KLineEdit(this);
-    m_pClassNameLE->setText(o->name());
+    m_pClassNameLE->setText(m_pWidget->name());
     m_pNameLayout->addWidget(m_pClassNameLE, 0, 1);
 
     m_pInstanceL = new QLabel(this);
@@ -280,23 +286,23 @@
     m_pNameLayout->addWidget(m_pInstanceL, 1, 0);
 
     m_pInstanceLE = new KLineEdit(this);
-    m_pInstanceLE->setText(o->instanceName());
+    m_pInstanceLE->setText(m_pWidget->instanceName());
     m_pNameLayout->addWidget(m_pInstanceLE, 1, 1);
     UMLView *view = UMLApp::app()->currentView();
 
     m_pDrawActorCB = new QCheckBox( i18n( "Draw as actor" ) , this );
-    m_pDrawActorCB->setChecked( o->drawAsActor() );
+    m_pDrawActorCB->setChecked(m_pWidget->drawAsActor());
     m_pNameLayout->addWidget( m_pDrawActorCB, 2, 0 );
 
     if (view->umlScene()->type() == Uml::DiagramType::Collaboration) {
         m_pMultiCB = new QCheckBox(i18n("Multiple instance"), this);
-        m_pMultiCB->setChecked(o->multipleInstance());
+        m_pMultiCB->setChecked(m_pWidget->multipleInstance());
         m_pNameLayout->addWidget(m_pMultiCB, 2,1);
         if ( m_pDrawActorCB->isChecked() )
             m_pMultiCB->setEnabled( false );
     } else {  // sequence diagram
         m_pDeconCB = new QCheckBox(i18n("Show destruction"), this);
-        m_pDeconCB->setChecked(o->showDestruction());
+        m_pDeconCB->setChecked(m_pWidget->showDestruction());
         m_pNameLayout->addWidget(m_pDeconCB, 2,1);
     }
     // setup documentation
@@ -308,7 +314,7 @@
 
     m_doc = new KTextEdit(m_docGB);
     m_doc->setLineWrapMode(QTextEdit::WidgetWidth);
-    m_doc->setText(o->documentation());
+    m_doc->setText(m_pWidget->documentation());
     docLayout->addWidget(m_doc);
     if (m_pMultiCB) {
         connect( m_pDrawActorCB, SIGNAL(toggled(bool)), this, SLOT(slotActorToggled(bool)));
@@ -316,7 +322,8 @@
 }
 
 ClassGenPage::ClassGenPage(UMLDoc* d, QWidget* parent, UMLWidget* widget)
-    : QWidget(parent), m_pObject(0), m_pWidget(0), m_pInstanceWidget(widget), m_pUmldoc(d)
+    : QWidget(parent),
+      m_pObject(0), m_pWidget(0), m_pInstanceWidget(widget), m_pUmldoc(d)
 {
     m_pDeconCB = 0;
     m_pMultiCB = 0;
--- trunk/KDE/kdesdk/umbrello/umbrello/dialogs/umlwidgetstylepage.cpp #1291007:1291008
@@ -10,6 +10,7 @@
 
 #include "umlwidgetstylepage.h"
 
+#include "debug_utils.h"
 #include "optionstate.h"
 #include "uml.h"
 #include "umlscene.h"
@@ -32,10 +33,10 @@
  *   Constructor - Observe a UMLWidget.
  */
 UMLWidgetStylePage::UMLWidgetStylePage( QWidget *pParent, WidgetBase *pWidget )
-  : QWidget( pParent )
+  : QWidget(pParent),
+    m_pUMLWidget(pWidget),
+    m_options(0)
 {
-    m_pUMLWidget = pWidget;
-    m_options = 0;
     init();
     m_pTextColorB->setColor( pWidget->textColor() );
     m_pLineColorB->setColor( pWidget->lineColor() );
@@ -46,20 +47,23 @@
     if (!m_pUMLWidget) {  //  when we are on the diagram
         UMLView * view = UMLApp::app()->currentView();
         if (view) {
-            m_BackgroundColorB->setColor(view->umlScene()->backgroundColor());
-            m_GridDotColorB->setColor(view->umlScene()->gridDotColor());
+            UMLScene* scene = view->umlScene();
+            if (scene) {
+                m_BackgroundColorB->setColor(scene->backgroundColor());
+                m_GridDotColorB->setColor(scene->gridDotColor());
         }
     }
 }
+}
 
 /**
  *   Constructor - Observe an OptionState structure.
  */
 UMLWidgetStylePage::UMLWidgetStylePage( QWidget * pParent, Settings::OptionState *options )
-  : QWidget( pParent )
+  : QWidget(pParent),
+    m_pUMLWidget(0),
+    m_options(options)
 {
-    m_options = options;
-    m_pUMLWidget = 0;
     init();
     m_pTextColorB->setColor( m_options->uiState.textColor );
     m_pLineColorB->setColor( m_options->uiState.lineColor );
@@ -250,6 +254,18 @@
         m_options->uiState.lineWidth = m_lineWidthB->value();
         UMLApp::app()->currentView()->umlScene()->setOptionState(*m_options);
     }
+
+    if (!m_pUMLWidget) {  // when we are on the diagram
+        UMLView * view = UMLApp::app()->currentView();
+        if (view) {
+            UMLScene* scene = view->umlScene();
+            if (scene) {
+                uDebug() << "Setting background and grid dot color.";
+                scene->setBackgroundColor(m_BackgroundColorB->color());
+                scene->setGridDotColor(m_GridDotColorB->color());
 }
+        }
+    }
+}
 
 #include "umlwidgetstylepage.moc"
--- trunk/KDE/kdesdk/umbrello/umbrello/widgets/classifierwidget.h #1291007:1291008
@@ -100,6 +100,7 @@
     void slotShowOperations(bool state);
 
 private:
+    void updateSignatureTypes();
     QSize calculateTemplatesBoxSize();
 
     UMLSceneSize minimumSize();
@@ -107,8 +108,6 @@
     void drawAsCircle(QPainter& p, int offsetX, int offsetY);
     QSize calculateAsCircleSize();
 
-    void updateSignatureTypes();
-
     int displayedMembers(UMLObject::ObjectType ot);
     void drawMembers(QPainter & p, UMLObject::ObjectType ot, Uml::SignatureType sigType,
                      int x, int y, int fontHeight);




More information about the umbrello-devel mailing list