Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


Hi,

Now I can collect (parse) and save all the comment info on a particular
slide. As of now I am saving it in std::strings.

How are annotations actually displayed on the slide ? Which paint function
is called ?



On Thu, Jan 24, 2013 at 1:46 AM, Thorsten Behrens <
thb@documentfoundation.org> wrote:

Vinaya Mandke wrote:
I am a trainee and have been assigned a project to debug and correct one
bug of LiBo.

Hi Vinaya,

this is cool - great to have you looking into that!

As of now I have identified this much:-

   - Comments folder with comment1.xml , CommentAuthors are getting
created
   in the PPTx So this is an FileOpen issue
   - I have also identified that pptx opens and is handled from
   ../oox/source/ppt/presentationfragmenthandler.cxx (finalizeimport)
   - There are handlers for Notes, Layouts etc but none for Annotations.

Yeah, that sounds about right.

   - Furthermore I have also identified that Annotations are considered
as
   smarttags and are not exactly treated as part of the Presentation and
hence
   have no data structures in the SlidePersistPtr

I think this is rather missing than intended -

As of now I can identify whether a slide has a comment in it or not using
following in presentationfragmenthandler.cxx (finalizeimport) :-
OUString aCommentFragmentPath =
xSlideFragmentHandler->getFragmentPathFromFirstType(
CREATE_OFFICEDOC_RELATION_TYPE( "comment" ) );
 if ( !aCommentFragmentPath.isEmpty() ) { ... //comment present }

Yeps.

Furthermore:-

   - ../sd/source/core/annotations have a few incomplete implementations
   for the Annotations (Annotations.cxx AnnotationAccess.cxx etc)
   - In presentationfragmenthandler there needs to another handler for
   comments but I am stuck on how this can be implemented.

I think the implementation in sd is complete enough to have export
working - at least the ODF export seems to use it, check
xmloff/source/draw/sdxmlexp.cxx's SdXMLExport::exportAnnotations().

So can you please guide how should I go about solving this issue ?

I did not look too deep just yet, but maybe the above ptr could get
you started? Indeed you'd need to implement your own fragment handler,
best start with a smaller blueprint like LayoutFragmentHandler and add
all needed tokens that you'll want to consume.

HTH,

-- Thorsten


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.