Hi Vishv,
On 04/01/2013 04:15 PM, Vishv Brahmbhatt wrote:
Hi,
I need help for Bug 47302.
https://bugs.freedesktop.org/show_bug.cgi?id=47302
For *impress* : I have to get slide name in the text-field through
option *Insert->Fields->Slide Name*. Similar to the Page Number option
in the Insert->Fields->Page Number
That's a good start. You could refer to the SvxAuthorField as well for
reference.
I am not completely sure of the correct mechanism of storing slide
name for different slides.But through bits and pieces of understanding,I
have been able to get the *Slidename* in the Text-Field and store it
(because slide name appears perfectly in *Notes(page)* even after
closing & reopening of *impress* file). But still ,I am facing some
problems in *Normal View* ,as the slide name(in text-field) doesn't
change automatically with *renaming* of the Slide.
You could refer to the code where the slide numbers are reset.
I am guessing it should be called with some Invalidate()
I am attaching my *git-diff patch* for current status on the bug.
So following are my Questions :
(1) What is the exact mechanism that works behind in storing page number
(in text field)(like some array or data structure) and how it can be
used for *Slide Name* too?
http://opengrok.libreoffice.org/search?q=SvxPageField&project=core
throws up some interesting results for you.
I think you missed,
http://opengrok.libreoffice.org/xref/core/tools/inc/tools/pstm.hxx#SV_DECL_PERSIST
Which is kind of the the first line in the class definition of SvxPageField:
SV_DECL_PERSIST1( SvxPageField, SvxFieldData,
com::sun::star::text::textfield::Type::PAGE )
Trace it through and you should be able to find out, how it works.
(2) How can I handle renaming of the Slide (with my existing code) and
the slide name can automatically change in the text-field?
Some kind of refresh needs to occur when the slide orders change - trace
the pagefield.
(3) In this code ,I am using *pagenumber service* which will affect
*Insert->Fields->Page Number* option (and it will not work properly).So
I need to define a new *service* for *slide name*,but how can I create a
new service and use it?
You would have to create the idls and create the corresponding services.
The easiest way to start is to copy those files and change it accordingly.
Because my attempt to define a new service through IDL file was
not successful ,as compiler did not recognize it.So how can I handle
this problem?
May be you you missed changing some files (?)
Also don't forget to compile modules like officecfg, offapi, etc (afaik)
- which does the additional work of creating the corresponding C++
header files.
The best is to do a 'make' in the root (at least the first time) and a
fresh make dev-install.
In-spite of many attempts ,I am not able to get further clue about this
problem.So any sort of help is appreciated.
Hope these help.
And its a very nice patch for the first time. I really liked your
efforts in adding the UI changes as well!
A little more digging and you should be able to complete this.
Thanks a lot for the patch again!
Muthu Subramanian
Thanks and Regards,
Vishv
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice
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.