[Uml-devel] [Bug 57672] Activity diagram fork/join lines--can't change length
Oliver Kellogg
okellogg at users.sourceforge.net
Sat Sep 10 06:07:10 UTC 2005
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=57672
okellogg users sourceforge net changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Additional Comments From okellogg users sourceforge net 2005-09-10 15:06 -------
SVN commit 459238 by okellogg:
BUG:57672 - Inheriting from BoxWidget gives us resizability.
M +3 -3 ChangeLog
M +21 -6 umbrello/forkjoinwidget.cpp
M +10 -3 umbrello/forkjoinwidget.h
--- branches/KDE/3.5/kdesdk/umbrello/ChangeLog #459237:459238
@ -9,9 +9,9 @
* Automatic Diagram Layout (67059, not yet closed)
* Bugs fixed / wishes implemented (see http://bugs.kde.org)
- 57588 58809 66461 67719 72016 79433 87252 88117 97162 105564
-108223 109591 109636 110216 110231 110379 111088 111470 111502 111759
-111768 112017 112293
+ 57588 57672 58809 66461 67719 72016 79433 87252 88117 97162
+105564 108223 109591 109636 110216 110231 110379 111088 111470 111502
+111759 111768 112017 112293
Version 1.4.2 (maintenance release)
--- branches/KDE/3.5/kdesdk/umbrello/umbrello/forkjoinwidget.cpp #459237:459238
@ -24,7 +24,7 @
#include "listpopupmenu.h"
ForkJoinWidget::ForkJoinWidget(UMLView * view, bool drawVertical, Uml::IDType id)
- : UMLWidget(view, id), m_drawVertical(drawVertical) {
+ : BoxWidget(view, id), m_drawVertical(drawVertical) {
init();
}
@ -38,10 +38,9 @
}
void ForkJoinWidget::calculateSize() {
- if (m_drawVertical)
- setSize(4, 40);
- else
- setSize(40, 4);
+ int w = width(), h = height();
+ constrain(w, h);
+ setSize(w, h);
}
void ForkJoinWidget::draw(QPainter& p, int offsetX, int offsetY) {
@ -52,9 +51,25 @
}
}
-void ForkJoinWidget::drawSelected(QPainter *, int, int, bool) {
+void ForkJoinWidget::drawSelected(QPainter * p, int offsetX, int offsetY, bool resizeable) {
+ if (! resizeable) {
+ UMLWidget::drawSelected(p, offsetX, offsetY, resizeable);
+ return;
+ }
}
+void ForkJoinWidget::constrain(int& width, int& height) {
+ if (m_drawVertical) {
+ width = 4;
+ if (height < 40)
+ height = 40;
+ } else {
+ height = 4;
+ if (width < 40)
+ width = 40;
+ }
+}
+
void ForkJoinWidget::slotMenuSelection(int sel) {
switch (sel) {
case ListPopupMenu::mt_Flip:
--- branches/KDE/3.5/kdesdk/umbrello/umbrello/forkjoinwidget.h #459237:459238
@ -14,7 +14,7 @
//qt includes
#include <qpainter.h>
//app includes
-#include "umlwidget.h"
+#include "boxwidget.h"
// fwd decl.
class UMLView;
@ -25,7 +25,7 @
* see UMLWidget
* Bugs and comments to uml-devel lists sf net or http://bugs.kde.org
*/
-class ForkJoinWidget : public UMLWidget {
+class ForkJoinWidget : public BoxWidget {
public:
/**
@ -64,6 +64,11 @
void slotMenuSelection(int sel);
/**
+ * Reimplement method from BoxWidget.
+ */
+ void constrain(int& width, int& height);
+
+ /**
* Draws a slim solid black rectangle.
*/
void draw(QPainter & p, int offsetX, int offsetY);
@ -80,7 +85,9 @
protected:
/**
- * Reimplements method from UMLWidget. Disables selection adornments and resize.
+ * Reimplement method from UMLWidget to suppress the resize corner.
+ * Although the ForkJoinWidget supports resizing, we suppress the
+ * resize corner because it is too large for this very slim widget.
*/
void drawSelected(QPainter * p, int offsetX, int offsetY, bool resizeable = false);
More information about the umbrello-devel
mailing list