Summary: | Employ the use of Splines | ||
---|---|---|---|
Product: | [Applications] umbrello | Reporter: | Justace Clutter <justacec> |
Component: | general | Assignee: | Andi Fischer <andi.fischer> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | CC: | andi.fischer, ralf.habacker, rgc |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | 2.12 (KDE 4.12) | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 4.12.0 | |
Bug Depends on: | 320463 | ||
Bug Blocks: |
Description
Justace Clutter
2005-06-10 16:22:33 UTC
So, I have done some searching and found out that the new QT4.0 will have the new painting system. It looks as though the QPainterPath class will allow for a rich set of line options including some sort of spline path that will fill the current needs. The canvas is going away as of 4.0 but a replacement will be avail in 4.1. I am not sure of Umbrello's QT4 plans but if the conversion is made to the new paint system then this bug will be fixed by converting the current QCanvasLine's to QPainterPath's. Could be exciting... Justace > fixed by converting the current QCanvasLine's to QPainterPath's.
QCanvasLine has been already migrated to QGraphicsLineItem.
The resulting work to do is
1. convert AssociationLine::m_lineList a QVector<QPointF>
2. add a ::paint() method which paints a polyline.
3. add a line type attribute (polyline, spline) setable by AssociationWidget property dialog.
4. use QPainterPath to display splines when line type = spline is used
The QVector<QPointF> implementation in umbrello-soc branch may be used as as base.
Work started as proposed. See branch _associationline_refactoring_. Associations can now be drawn with different layouts. The possibilities, which are set from the popup menu, are - direct lines - polylines - orthogonal lines (only vertical and horizontal) - splines Single points or segments can be moved. The controllers are now integrated into the widgets and therefore deleted. This makes the code more readable and maintainable. *** Bug 128352 has been marked as a duplicate of this bug. *** |