Issue 72807 - Arrow style is not correctly shown in format dialog
Summary: Arrow style is not correctly shown in format dialog
Status: CLOSED FIXED
Alias: None
Product: gsl
Classification: Code
Component: code (show other issues)
Version: OOo 2.2
Hardware: All All
: P3 Trivial (vote)
Target Milestone: OOo 2.2
Assignee: wolframgarten
QA Contact: issues@gsl
URL:
Keywords: regression
: 72506 (view as issue list)
Depends on:
Blocks:
 
Reported: 2006-12-20 15:08 UTC by helge.delfs
Modified: 2007-01-26 14:44 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description helge.delfs 2006-12-20 15:08:30 UTC
New writerdocument->Insert a line->set different arrow heads for both line
ends->Format / Object /Line->Choose Tabpage 'Line' -> Bug:Arrow styles are set
to <none>
Comment 1 Oliver Specht 2006-12-21 09:20:43 UTC
->aw: The same bug in appears in Draw. Seems to be broken after integration of
aw024. The polygon comparison in svx/source/dialog/tpline.cxx fails.
Comment 2 Armin Le Grand 2006-12-21 14:52:59 UTC
AW: The comparison fails since the loaded ArrowHeads are not closed. This
happens since in SvxUnoXLineEndTable::getEntry the B2DPolyPolygon does not get
closed. Investigating...
Comment 3 Armin Le Grand 2006-12-21 15:21:50 UTC
AW: SvxUnoXLineEndTable::getEntry closes the polygon as before. Must be
something different.
AW: rItemPolygon in SvxLineTabPage::Reset is not closed. That means that the
item set at the object is not closed, so lets see where this comes from.
AW: The drop-down line start/end window (see SvxLineEndWindow::SelectHdl)
creates a correct XLineStartItem with a correct PolyPolygon, but then uses
QueryValue() to convert it to UNO API definitions again and feed it to an any.
It is then converted back to B2DPolyPolygon using XLineStartItem::PutValue()
from the framework somehow. There, it is not forced to closed like in
SvxUnoXLineEndTable::getEntry.
Comment 4 Armin Le Grand 2006-12-21 15:36:19 UTC
AW: A XLineStartItem::QueryValue() and XLineStartItem::PutValue() cycle will not
preserve the closed state of the B2DPolyPolygon, since the converters
SvxConvertB2DPolyPolygonToPolyPolygonBezier and
SvxConvertPolyPolygonBezierToB2DPolyPolygon do not preserve the closed state,
too. Need to discuss with CL next year.
Comment 5 Armin Le Grand 2006-12-22 10:07:57 UTC
AW: Next question is: Why are the line ends painted filled at all then? In
createAreaGeometryForLineStartEnd(...) the return value gets explicitely closed.
This should not be necessary with correct line start/ends and also prevents from
defining non-closed line start/ends ATM.
Comment 6 Armin Le Grand 2007-01-02 12:34:14 UTC
AW: Discussed with CL, we will make the quick fix for now for safety reasons and
a follow-up to eventually change all UNO API polygons to svg:d. Writing a
follow-up task...
Comment 7 Armin Le Grand 2007-01-02 12:45:15 UTC
AW: Written #i73044# for AAPI change of polygons to svg:d. Changing ::PutValue()
Polygon implementations to close the polygon...
Comment 8 clippka 2007-01-02 12:52:00 UTC
*** Issue 72506 has been marked as a duplicate of this issue. ***
Comment 9 Armin Le Grand 2007-01-02 12:56:14 UTC
AW: Changed XLineStartItem::PutValue and XLineEndItem::PutValue and tested,
works as expected. It is still possible thta more places with the Polygon
turn-around loosing the closed state may come up; it also needs to be mentioned
that we will not be able to foffere opened line start/end definitions for now
(but at least support PolyPolygons now).
AW: Checking in...
AW: Okay, done.
Comment 10 Armin Le Grand 2007-01-10 10:28:33 UTC
AW->WG: Please verify. Just use draw/impress, create a line with an arrow end
(from toolbar) and open line dialog.
Comment 11 Armin Le Grand 2007-01-10 14:09:43 UTC
AW: The fix was overestimated. It was not good to individually close polygons
which were converted from api polygons. The necessary step is to correctly
handle B2DPolygon creation in SvxConvertPolyPolygonBezierToB2DPolyPolygon. The
api polygon uses the old start/endpoint-equal-is-closed definition, so it needs
to apply basegfx::tools::checkClosed to the newly created B2DPolygons.
Before aw024 exactly that happened: a XPolygon was created and when converted to
B2DPolygon, basegfx::tools::checkClosed was used. This needs to be done now in
SvxConvertPolyPolygonBezierToB2DPolyPolygon directly.
Comment 12 wolframgarten 2007-01-12 09:41:09 UTC
Verified in CWS.
Comment 13 wolframgarten 2007-01-26 14:44:11 UTC
Tested in m201. Closed.