[Libreoffice] [GSoC 2011][svgexport] Get selected slides in Impress left Pane
Marco
mrcekets at gmail.com
Sun Jun 12 15:56:36 PDT 2011
On Sun, 12 Jun 2011 17:06:40 +0200, Thorsten Behrens
<thb at documentfoundation.org> wrote:
> Marco wrote:
>> The following header files: FrameworkHelper.hxx, SlideSorter.hxx,
>> ShellView.hxx and in general all headers under sd/source/ui/inc/
>> are not delivered to solver/340/unxlngx6.pro/inc Is that normal ?
>> Or is there something broken in my build ?
>> In the first case how can I access such headers from the filter
>> module ?
>>
> Hi Marco - not at all, my comment was meant to direct you to the
> implementation - which is sometimes the best approach on how to
> figure out how the API works. :)
Hi Thorsten,
give a look at this code fragment:
uno::Reference< uno::XComponentContext > xComponentContext
(::comphelper::getProcessComponentContext());
if( xComponentContext.is() )
{
uno::Reference< drawing::framework::XControllerManager > xCM(
xController, uno::UNO_QUERY );
if ( xCM.is() )
{
Reference< drawing::framework::XConfigurationController >
xCC( xCM->getConfigurationController() );
if( xCC.is() )
{
//
::sd::framework::FrameworkHelper::msLeftImpressPaneURL
const ::rtl::OUString msLeftImpressPaneURL(
RTL_CONSTASCII_USTRINGPARAM( "private:resource/pane/LeftImpressPane" ) );
const ::rtl::OUString msSlideSorterURL(
RTL_CONSTASCII_USTRINGPARAM( "private:resource/view/SlideSorter" ) );
Reference< drawing::framework::XView > xView(
xCC->getResource( drawing::framework::ResourceId::createWithAnchorURL
( xComponentContext, msSlideSorterURL, msLeftImpressPaneURL) ),
uno::UNO_QUERY );
if( xView.is() )
{
// TODO
}
}
}
}
What I get is an XView object that does not support any service.
I look into the implementation code for SlideSorter and I found
out that this object, which I get, is indeed a fake XView:
its real type is a ViewShellWrapper from which we can get
a SlideSorterViewShell that owns a method to provide a
XDrawSubController interface for the view.
Now as I said my problem is that to utilize these classes I have
to include the headers under "sd/source/ui/inc/" but they are not
delivered to "solver/340/unxlngx6.pro/inc".
So what should I do ?
Cheers,
Marco
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
More information about the LibreOffice
mailing list