Hi Regina,

On 25.10.2011 18:33, Regina Henschel wrote:
Hi Armin,

Armin Le Grand schrieb:
[..]
I checked all changes again and added the patch to #118485#. Now I'm
looking for someone volunteering to add the patch, build AOOo and play
around with OLEs a little bit, reading the patch will also help in this
case, it's not too big to do so.

I did some further tests.

Good, go ahead :-)

Have You checked the converters? It's even possible to convert charts directly to Sdr-3D-Objects (but not nice) :-) You can directly substract e.g. an ellipse from a chart, too.

In activated mode there should be no rot/shear and no green handles anymore (was an error anyways, modifying these while the OLE was activated leaded to unpredictable errors). Changing dimensions of the activated OLE will adapt to the centered OLE after deactivation as needed.

I have taken some older documents, where the transformations are done
via matrix (you know them). Chart and Math-Formulas behave now the same
way as simple drawing objects. So that is OK.

Good, thanks for checking.

OOo sxd-documents are converted fine, the fill style and the line style
is corrected to NONE.

Yes, all OOo < 3.4 are corrected at load time. In ODF, no attributes for fill and line are set, so the default blue8/hairline is what is defined in the ODF, just because it was not set to none in the OLE constructors. I added that for OOo 3.3 but it failed since ODF export goes over UNO API and fill/line was not allowed for OLEs (which I also changed now).


The change looks big, but it touches no too critical parts. It is also
necessary to bring it in AOOo3.4, this change relies on a version change
(here: 3.3 to 3.4) to be able to correct files written by OOo up to 3.3
(and only those).

Some background: The root problem here was that older versions straight
ignored attributes set at OLE objects by just not painting them. This
means that in files generated the attributes are written and in plain
ODF OLEs are filled default (blue8) and have line on default (black
hairline).

Documents made with LibreOffice are not converted. The background is
blue and the line black. Is a solution possible inside AOOo? Should it
be done?

Source of this is that LO already has 3.4 version and the correction would have to be done for LO <= 3.4, plus writing OLEs with LINE_NONE and FILL_NONE if set (activating LineProperties/FillProperties for OLEs in LO, too). I'm already in contact with Thorsten and we are working on a solution for both together. I need to check if LO files can be detected and it looks like being possible. ODF exchange is very important for all of us, so there should be a correction in AOO at LO-created-file load time and mentioned corrections in LO, too.

As described above, seen from ODF, OLEs are actually blue8 and hairline, so technically it's correctly displayed. Some other product using ODF FileFormat may have written such files where the OLEs are actually blue8 and hairline, so correction can only be done for known cases, e.g. OOo < 3.4 and LO <= 3.4 where we know for sure that the error was that the old paints just ignored LineStyle/FillStyle.

I'm working on it with Thorsten, it's solvable...

I have written a Basic macro to set the background and line style to
NONE. Developing it I have noticed, that the Math-objects do not support
the services LineProperties and FillProperties. But I can set the single
properties 'LineStyle' and 'FillStyle' and Xray lists all the other
properties. So shouldn't they support these services?

Not sure. StarMath is a regular OLE, so it should support LineProperties and FillProperties. But not inside StarMath itself, it's supported in the SdrObject containing the StarMath. There may be exceptions in the old code for StarMath. It's also possible that You used it in Writer which has it's own OLE implementation and does not (yet) support those new features...?


Questions/Comments are welcome,
Armin


Kind regards
Regina



Sincerely,
        Armin
--
ALG

Reply via email to