[Libreoffice-commits] core.git: Changes to 'refs/changes/00/8700/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/00/8700/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/00/8700/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/93/3193/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/26/5926/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/26/5926/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/52/5652/5'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/93/3193/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/26/5926/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/52/5652/9'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/52/5652/6'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/26/5926/5'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/26/5926/4'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/52/5652/8'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/52/5652/10'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/52/5652/7'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/10/5910/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/52/5652/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/10/5910/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/10/5910/4'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/10/5910/5'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/10/5910/6'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/05/1905/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/05/1905/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[GSOC]Slide Layout Extendibility :Weekly Report
Hello Everyone, Here is the Link<http://vishvbrahmbhatt.wordpress.com/2013/09/14/slide-layout-extendibility-weekly-report-5/> to my blog for the weekly report update. Thanks & Regards, Vishv On Wed, Aug 28, 2013 at 10:25 AM, Vishv Brahmbhatt < vishvbrahmbhat...@gmail.com> wrote: > Hello Everyone, > > Here is the > Link<http://vishvbrahmbhatt.wordpress.com/2013/08/27/slide-layout-extendibility-weekly-report-3/> > to > my blog for the weekly report update. > > Thanks & Regards, > Vishv Brahmbhatt > > On Sun, Jul 14, 2013 at 8:31 PM, Vishv Brahmbhatt < > vishvbrahmbhat...@gmail.com> wrote: > >> Hello Everyone, >> >> Here is the >> Link<http://vishvbrahmbhatt.wordpress.com/2013/07/14/slide-layout-extendibility-weekly-report-4/> >> to >> my blog for the weekly report update. >> >> Thanks & Regards, >> Vishv Brahmbhatt >> >> On Mon, Jul 8, 2013 at 9:10 PM, Vishv Brahmbhatt < >> vishvbrahmbhat...@gmail.com> wrote: >> >>> Hello Everyone, >>> In the beginning of the week,I was able to complete the required changes >>> in XML parser function(for extracting slide layout information). >>> >>> But,after that I was caught up with the unit-test error(related to >>> configuration XML file) for rest of the 4 days.It seemed to me as a bug in >>> the unit-test process,because in-spite of having made proper entry in the >>> "Package_unittest.mk" and "layoutlist.xml" being added at "unit-test" >>> file-path,the error came up(with wrongly generated path). I have already >>> posted my question to mailing-list >>> Link<http://nabble.documentfoundation.org/Unit-Test-Fail-Error-GSOC-Slide-Layout-Extendibility-td4064300.html> >>> and >>> I am thankful for the reply from Markus. >>> And I will soon resolve this error with appropriate guidance and >>> discussion on mailing-list/ IRC. >>> >>> As of now ,I have moved ahead with addition of some new layouts to >>> "layoutlist.xml". I will peak up more speed from now on-wards. >>> >>> Also for the current status: >>> + I pushed one commit with required changes(last week). >>> + XML parser works in-spite of unit-test errors. >>> + So information from configuration XML file "layoutlist.xml" is >>> extracted perfectly. >>> >>> Thanks & Regards, >>> Vishv Brahmbhatt >>> >>> On Mon, Jul 1, 2013 at 8:30 PM, Vishv Brahmbhatt < >>> vishvbrahmbhat...@gmail.com> wrote: >>> >>>> Hello Everyone, >>>> >>>> Here is the >>>> Link<http://vishvbrahmbhatt.wordpress.com/2013/07/01/slide-layout-extendibility-weekly-report-2/> >>>> to my blog for the weekly report update. >>>> >>>> Thanks & Regards, >>>> Vishv Brahmbhatt >>>> >>>> >>>> On Fri, Jun 21, 2013 at 6:34 PM, Vishv Brahmbhatt < >>>> vishvbrahmbhat...@gmail.com> wrote: >>>> >>>>> Hello Everyone, >>>>> >>>>> Before the beginning of this week ,I was debugging on impress slide >>>>> layouts.Basically,I got to understand the mechanism of creation of slide >>>>> layouts in the "normal" page,in the master pages like "notes" and >>>>> "handout" >>>>> and much more. >>>>> >>>>> Currently in the slide layouts, Placeholder object's >>>>> height,width,position are hard-coded. So,I did following things during >>>>> this >>>>> week: >>>>> >>>>> +So at first ,I started with creation of XML file which stores >>>>> following information: >>>>> (1) Layout Type >>>>> (2) "PresObj" Kind >>>>> (3) Position co-ordinates of "PresObj" >>>>> (4) Size of "PreObj"(Width and Height) >>>>> >>>>> + I have started coding XML parser, which will read this information >>>>> from XML file and set the appropriate parameters in the function >>>>> "CalcAutoLayoutRectangles" (This function calculates/sets the Top >>>>> Position,Height and Width of Rectangle "PresObj" used.) And this will >>>>> parser will help in bringing configurability with Slide Layouts. >>>>> >>>>> + So XML parser should be fully completed, probably by "Monday" or >>>>> "Tuesday"(mostly it should get completed by this weekend). >>>>> >>>>> + Next week,I will work on understanding "Slide Mater View" and on >>>>> using "Slide Mater View" to edit the current built-in layouts. >>>>> >>>>> Regards, >>>>> Vishv Brahmbhatt >>>>> >>>> >>>> >>> >> > ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice-commits] core.git: comphelper/source include/comphelper sd/source
comphelper/source/misc/expandmacro.cxx | 24 +++- include/comphelper/expandmacro.hxx | 23 +-- sd/source/core/CustomAnimationPreset.cxx | 14 ++ sd/source/core/TransitionPreset.cxx | 14 ++ sd/source/core/drawdoc.cxx |6 ++ 5 files changed, 10 insertions(+), 71 deletions(-) New commits: commit 6fc6494aa9fea0b47fbf048998d7bd412ef478b1 Author: Vishv Brahmbhatt Date: Wed Sep 11 00:44:36 2013 +0530 Using macro expansion function for the remaining config entries. Macro Expansion function is used in 'CustomAnimationPreset.cxx' & 'TransitionPreset.cxx' to avoid code redundancy.Also appropriate changes are to made to 'getExpandedFilePath' function. Change-Id: I6b6ae068db3499fe2de2e78a884f9e0737577651 Reviewed-on: https://gerrit.libreoffice.org/5910 Reviewed-by: Thorsten Behrens Tested-by: Thorsten Behrens diff --git a/comphelper/source/misc/expandmacro.cxx b/comphelper/source/misc/expandmacro.cxx index a7eae4b..86eb7c2 100644 --- a/comphelper/source/misc/expandmacro.cxx +++ b/comphelper/source/misc/expandmacro.cxx @@ -10,29 +10,17 @@ #include #include -#include -#include #include #include -#include -#include +#include using namespace ::com::sun::star; using namespace ::com::sun::star::uno; -using ::com::sun::star::lang::XMultiServiceFactory; namespace comphelper { rtl::OUString getExpandedFilePath(const rtl::OUString& filepath) { -const Reference xContext( ::comphelper::getProcessComponentContext() ); -return getExpandedFilePath(filepath, xContext); -} - -rtl::OUString getExpandedFilePath(const rtl::OUString& filepath, const Reference& xContext) -{ -Reference< util::XMacroExpander > xMacroExpander = util::theMacroExpander::get( xContext ); - rtl::OUString aFilename = filepath; if( aFilename.startsWith( "vnd.sun.star.expand:" ) ) @@ -44,16 +32,10 @@ namespace comphelper aMacro = rtl::Uri::decode( aMacro, rtl_UriDecodeWithCharset, RTL_TEXTENCODING_UTF8 ); // expand macro string -aFilename = xMacroExpander->expandMacros( aMacro ); -} +rtl::Bootstrap::expandMacros( aMacro); -if( aFilename.startsWith( "file://" ) ) -{ -rtl::OUString aSysPath; -if( osl_getSystemPathFromFileURL( aFilename.pData, &aSysPath.pData ) == osl_File_E_None ) -aFilename = aSysPath; +aFilename = aMacro; } - return aFilename; } } diff --git a/include/comphelper/expandmacro.hxx b/include/comphelper/expandmacro.hxx index efd2552..d699a1a 100644 --- a/include/comphelper/expandmacro.hxx +++ b/include/comphelper/expandmacro.hxx @@ -29,29 +29,8 @@ namespace comphelper @param path to operate on. Both system file path and file URIs are accepted. - @return macro-expanded system file path. + @return macro-expanded file URI. */ COMPHELPER_DLLPUBLIC rtl::OUString getExpandedFilePath(const rtl::OUString& filepath); - -/** - A helper function to get expanded version of macro for filepaths. - - If the given path is prefixed by "vnd.sun.star.expand:", this - function substitutes contained macro references. It then always - returns a system file path, if necessary converting file - URIs. Example: - vnd.sun.star.expand:$BRAND_BASE_DIR/$BRAND_SHARE_SUBDIR gets - converted to e.g. /usr/lib64/libreoffice/share. - - Use this version if you have a local reference of a component - context at hand, saves us the extra lookup. - - @param path to operate on. Both system file path and file URIs are accepted. - @param xContext refers to the component context of the process. - - @return macro-expanded system file path. -*/ -COMPHELPER_DLLPUBLIC rtl::OUString getExpandedFilePath(const rtl::OUString& filepath, - const ::com::sun::star::uno::Reference& xContext); } #endif diff --git a/sd/source/core/CustomAnimationPreset.cxx b/sd/source/core/CustomAnimationPreset.cxx index b03359b..9883027 100644 --- a/sd/source/core/CustomAnimationPreset.cxx +++ b/sd/source/core/CustomAnimationPreset.cxx @@ -33,6 +33,7 @@ #include #include #include +#include #include #include @@ -291,8 +292,6 @@ Reference< XAnimationNode > implImportEffects( const Reference< XMultiServiceFac return xRootNode; } -#define EXPAND_PROTOCOL "vnd.sun.star.expand:" - void CustomAnimationPresets::importEffects() { try @@ -324,16 +323,7 @@ void CustomAnimationPresets::importEffects() for( sal_Int32 i=0; iexpandMacros( aMacro ); -} +OUString aURL = ::comphelper::getExpandedFi
[Libreoffice-commits] core.git: comphelper/Library_comphelper.mk comphelper/source include/comphelper officecfg/registry sd/inc sd/Package_xml.mk sd/source sd/xml test/Package_unittest.mk test/user-te
comphelper/Library_comphelper.mk |1 comphelper/source/misc/expandmacro.cxx | 59 ++ include/comphelper/expandmacro.hxx | 57 ++ officecfg/registry/schema/org/openoffice/Office/Impress.xcs| 14 sd/Package_xml.mk |1 sd/inc/drawdoc.hxx |8 sd/source/core/drawdoc.cxx | 64 +- sd/source/core/sdpage.cxx | 271 +- sd/xml/objectlist.xml | 56 +- test/Package_unittest.mk |1 test/user-template/user/config/soffice.cfg/simpress/objectlist.xml | 41 + 11 files changed, 417 insertions(+), 156 deletions(-) New commits: commit d50bd55c5d78dc10d40be502f8d6638bcc0ce890 Author: Vishv Brahmbhatt Date: Wed Aug 28 01:52:17 2013 +0530 Parsing master presentation objects from 'objectlist.xml' Parsing the property values of master presentation objects. Also new functions added to comphelper module for expanding filepaths macro to appropriate system file paths(for configuration files present at 'Impress.xcs') Change-Id: If0381a12155673e85103ddb5d51c34ae53fe2ecb diff --git a/comphelper/Library_comphelper.mk b/comphelper/Library_comphelper.mk index 09a6889..4b30338 100644 --- a/comphelper/Library_comphelper.mk +++ b/comphelper/Library_comphelper.mk @@ -86,6 +86,7 @@ $(eval $(call gb_Library_add_exception_objects,comphelper,\ comphelper/source/misc/documentiologring \ comphelper/source/misc/evtlistenerhlp \ comphelper/source/misc/evtmethodhelper \ +comphelper/source/misc/expandmacro \ comphelper/source/misc/ihwrapnofilter \ comphelper/source/misc/instancelocker \ comphelper/source/misc/interaction \ diff --git a/comphelper/source/misc/expandmacro.cxx b/comphelper/source/misc/expandmacro.cxx new file mode 100644 index 000..a7eae4b --- /dev/null +++ b/comphelper/source/misc/expandmacro.cxx @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include + +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using ::com::sun::star::lang::XMultiServiceFactory; + +namespace comphelper +{ +rtl::OUString getExpandedFilePath(const rtl::OUString& filepath) +{ +const Reference xContext( ::comphelper::getProcessComponentContext() ); +return getExpandedFilePath(filepath, xContext); +} + +rtl::OUString getExpandedFilePath(const rtl::OUString& filepath, const Reference& xContext) +{ +Reference< util::XMacroExpander > xMacroExpander = util::theMacroExpander::get( xContext ); + +rtl::OUString aFilename = filepath; + +if( aFilename.startsWith( "vnd.sun.star.expand:" ) ) +{ +// cut protocol +rtl::OUString aMacro( aFilename.copy( sizeof ( "vnd.sun.star.expand:" ) -1 ) ); + +// decode uric class chars +aMacro = rtl::Uri::decode( aMacro, rtl_UriDecodeWithCharset, RTL_TEXTENCODING_UTF8 ); + +// expand macro string +aFilename = xMacroExpander->expandMacros( aMacro ); +} + +if( aFilename.startsWith( "file://" ) ) +{ +rtl::OUString aSysPath; +if( osl_getSystemPathFromFileURL( aFilename.pData, &aSysPath.pData ) == osl_File_E_None ) +aFilename = aSysPath; +} + +return aFilename; +} +} diff --git a/include/comphelper/expandmacro.hxx b/include/comphelper/expandmacro.hxx new file mode 100644 index 000..efd2552 --- /dev/null +++ b/include/comphelper/expandmacro.hxx @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef COMPHELPER_EXPANDMACRO_HXX_INCLUDED +#define COMPHELPER_EXPANDMACRO_HXX_INCLUDED + +#include "rtl/ustring.hxx" +#include "comphelper/comphelperdllapi.h" +#include +#include + +namespace comphelper +{ +/** + A helper function to get expanded version of macro for filepaths. + + If the given path is prefixed
[GSOC]Slide Layout Extendibility :Weekly Report
Hello Everyone, Here is the Link<http://vishvbrahmbhatt.wordpress.com/2013/09/02/slide-layout-extendibility-weekly-report26th-aug-1st-sep/> to my blog for the weekly report update. Thanks & Regards, Vishv Brahmbhatt On Tue, Sep 3, 2013 at 12:34 AM, Vishv Brahmbhatt < vishvbrahmbhat...@gmail.com> wrote: > Hello Everyone, > > Here is the > Link<http://vishvbrahmbhatt.wordpress.com/2013/09/02/slide-layout-extendibility-weekly-report26th-aug-1st-sep/> > to > my blog for the weekly report update. > > Thanks & Regards, > Vishv Brahmbhatt > > > On Wed, Aug 28, 2013 at 10:25 AM, Vishv Brahmbhatt < > vishvbrahmbhat...@gmail.com> wrote: > >> Hello Everyone, >> >> Here is the >> Link<http://vishvbrahmbhatt.wordpress.com/2013/08/27/slide-layout-extendibility-weekly-report-3/> >> to >> my blog for the weekly report update. >> >> Thanks & Regards, >> Vishv Brahmbhatt >> >> On Sun, Jul 14, 2013 at 8:31 PM, Vishv Brahmbhatt < >> vishvbrahmbhat...@gmail.com> wrote: >> >>> Hello Everyone, >>> >>> Here is the >>> Link<http://vishvbrahmbhatt.wordpress.com/2013/07/14/slide-layout-extendibility-weekly-report-4/> >>> to >>> my blog for the weekly report update. >>> >>> Thanks & Regards, >>> Vishv Brahmbhatt >>> >>> On Mon, Jul 8, 2013 at 9:10 PM, Vishv Brahmbhatt < >>> vishvbrahmbhat...@gmail.com> wrote: >>> >>>> Hello Everyone, >>>> In the beginning of the week,I was able to complete >>>> the required changes in XML parser function(for extracting slide layout >>>> information). >>>> >>>> But,after that I was caught up with the unit-test error(related to >>>> configuration XML file) for rest of the 4 days.It seemed to me as a bug in >>>> the unit-test process,because in-spite of having made proper entry in the >>>> "Package_unittest.mk" and "layoutlist.xml" being added at "unit-test" >>>> file-path,the error came up(with wrongly generated path). I have already >>>> posted my question to mailing-list >>>> Link<http://nabble.documentfoundation.org/Unit-Test-Fail-Error-GSOC-Slide-Layout-Extendibility-td4064300.html> >>>> and >>>> I am thankful for the reply from Markus. >>>> And I will soon resolve this error with appropriate guidance and >>>> discussion on mailing-list/ IRC. >>>> >>>> As of now ,I have moved ahead with addition of some new layouts to >>>> "layoutlist.xml". I will peak up more speed from now on-wards. >>>> >>>> Also for the current status: >>>> + I pushed one commit with required changes(last week). >>>> + XML parser works in-spite of unit-test errors. >>>> + So information from configuration XML file "layoutlist.xml" is >>>> extracted perfectly. >>>> >>>> Thanks & Regards, >>>> Vishv Brahmbhatt >>>> >>>> On Mon, Jul 1, 2013 at 8:30 PM, Vishv Brahmbhatt < >>>> vishvbrahmbhat...@gmail.com> wrote: >>>> >>>>> Hello Everyone, >>>>> >>>>> Here is the >>>>> Link<http://vishvbrahmbhatt.wordpress.com/2013/07/01/slide-layout-extendibility-weekly-report-2/> >>>>> to my blog for the weekly report update. >>>>> >>>>> Thanks & Regards, >>>>> Vishv Brahmbhatt >>>>> >>>>> >>>>> On Fri, Jun 21, 2013 at 6:34 PM, Vishv Brahmbhatt < >>>>> vishvbrahmbhat...@gmail.com> wrote: >>>>> >>>>>> Hello Everyone, >>>>>> >>>>>> Before the beginning of this week ,I was debugging on impress slide >>>>>> layouts.Basically,I got to understand the mechanism of creation of slide >>>>>> layouts in the "normal" page,in the master pages like "notes" and >>>>>> "handout" >>>>>> and much more. >>>>>> >>>>>> Currently in the slide layouts, Placeholder object's >>>>>> height,width,position are hard-coded. So,I did following things during >>>>>> this >>>>>> week: >>>>>> >>>>>> +So at first ,I started with creation of XML file which stores >>>>>> following information: >>>>>> (1) Layout Type >>>>>> (2) "PresObj" Kind >>>>>> (3) Position co-ordinates of "PresObj" >>>>>> (4) Size of "PreObj"(Width and Height) >>>>>> >>>>>> + I have started coding XML parser, which will read this information >>>>>> from XML file and set the appropriate parameters in the function >>>>>> "CalcAutoLayoutRectangles" (This function calculates/sets the Top >>>>>> Position,Height and Width of Rectangle "PresObj" used.) And this will >>>>>> parser will help in bringing configurability with Slide Layouts. >>>>>> >>>>>> + So XML parser should be fully completed, probably by "Monday" or >>>>>> "Tuesday"(mostly it should get completed by this weekend). >>>>>> >>>>>> + Next week,I will work on understanding "Slide Mater View" and on >>>>>> using "Slide Mater View" to edit the current built-in layouts. >>>>>> >>>>>> Regards, >>>>>> Vishv Brahmbhatt >>>>>> >>>>> >>>>> >>>> >>> >> > ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [GSOC]Slide Layout Extendibility :Weekly Report
Hello Everyone, Here is the Link<http://vishvbrahmbhatt.wordpress.com/2013/09/02/slide-layout-extendibility-weekly-report26th-aug-1st-sep/> to my blog for the weekly report update. Thanks & Regards, Vishv Brahmbhatt On Wed, Aug 28, 2013 at 10:25 AM, Vishv Brahmbhatt < vishvbrahmbhat...@gmail.com> wrote: > Hello Everyone, > > Here is the > Link<http://vishvbrahmbhatt.wordpress.com/2013/08/27/slide-layout-extendibility-weekly-report-3/> > to > my blog for the weekly report update. > > Thanks & Regards, > Vishv Brahmbhatt > > On Sun, Jul 14, 2013 at 8:31 PM, Vishv Brahmbhatt < > vishvbrahmbhat...@gmail.com> wrote: > >> Hello Everyone, >> >> Here is the >> Link<http://vishvbrahmbhatt.wordpress.com/2013/07/14/slide-layout-extendibility-weekly-report-4/> >> to >> my blog for the weekly report update. >> >> Thanks & Regards, >> Vishv Brahmbhatt >> >> On Mon, Jul 8, 2013 at 9:10 PM, Vishv Brahmbhatt < >> vishvbrahmbhat...@gmail.com> wrote: >> >>> Hello Everyone, >>> In the beginning of the week,I was able to complete the required changes >>> in XML parser function(for extracting slide layout information). >>> >>> But,after that I was caught up with the unit-test error(related to >>> configuration XML file) for rest of the 4 days.It seemed to me as a bug in >>> the unit-test process,because in-spite of having made proper entry in the >>> "Package_unittest.mk" and "layoutlist.xml" being added at "unit-test" >>> file-path,the error came up(with wrongly generated path). I have already >>> posted my question to mailing-list >>> Link<http://nabble.documentfoundation.org/Unit-Test-Fail-Error-GSOC-Slide-Layout-Extendibility-td4064300.html> >>> and >>> I am thankful for the reply from Markus. >>> And I will soon resolve this error with appropriate guidance and >>> discussion on mailing-list/ IRC. >>> >>> As of now ,I have moved ahead with addition of some new layouts to >>> "layoutlist.xml". I will peak up more speed from now on-wards. >>> >>> Also for the current status: >>> + I pushed one commit with required changes(last week). >>> + XML parser works in-spite of unit-test errors. >>> + So information from configuration XML file "layoutlist.xml" is >>> extracted perfectly. >>> >>> Thanks & Regards, >>> Vishv Brahmbhatt >>> >>> On Mon, Jul 1, 2013 at 8:30 PM, Vishv Brahmbhatt < >>> vishvbrahmbhat...@gmail.com> wrote: >>> >>>> Hello Everyone, >>>> >>>> Here is the >>>> Link<http://vishvbrahmbhatt.wordpress.com/2013/07/01/slide-layout-extendibility-weekly-report-2/> >>>> to my blog for the weekly report update. >>>> >>>> Thanks & Regards, >>>> Vishv Brahmbhatt >>>> >>>> >>>> On Fri, Jun 21, 2013 at 6:34 PM, Vishv Brahmbhatt < >>>> vishvbrahmbhat...@gmail.com> wrote: >>>> >>>>> Hello Everyone, >>>>> >>>>> Before the beginning of this week ,I was debugging on impress slide >>>>> layouts.Basically,I got to understand the mechanism of creation of slide >>>>> layouts in the "normal" page,in the master pages like "notes" and >>>>> "handout" >>>>> and much more. >>>>> >>>>> Currently in the slide layouts, Placeholder object's >>>>> height,width,position are hard-coded. So,I did following things during >>>>> this >>>>> week: >>>>> >>>>> +So at first ,I started with creation of XML file which stores >>>>> following information: >>>>> (1) Layout Type >>>>> (2) "PresObj" Kind >>>>> (3) Position co-ordinates of "PresObj" >>>>> (4) Size of "PreObj"(Width and Height) >>>>> >>>>> + I have started coding XML parser, which will read this information >>>>> from XML file and set the appropriate parameters in the function >>>>> "CalcAutoLayoutRectangles" (This function calculates/sets the Top >>>>> Position,Height and Width of Rectangle "PresObj" used.) And this will >>>>> parser will help in bringing configurability with Slide Layouts. >>>>> >>>>> + So XML parser should be fully completed, probably by "Monday" or >>>>> "Tuesday"(mostly it should get completed by this weekend). >>>>> >>>>> + Next week,I will work on understanding "Slide Mater View" and on >>>>> using "Slide Mater View" to edit the current built-in layouts. >>>>> >>>>> Regards, >>>>> Vishv Brahmbhatt >>>>> >>>> >>>> >>> >> > ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Unit-Test Query [GSOC: Slide Layout Extendibility]
Hi, -> In the current build system,we have some config XML files at "*sd/xml*" and their corresponding test-profile copies are at "* test/usertemplate/user/config/soffice.cfg/simpress*". -> And using test-profile at "test/user-template",'Package_unittest.mk' creates a new copy at "unittest/install/share/config/soffice.cfg/simpress/". -> *Unit-test* refers to the files at "unittest/install" for further checking/testing during build. ->So can unit-test directly use "sd/xml" as a test-profile and then create a new copy at "unittest/install/share/config/soffice.cfg/simpress/" ? And so that we can probably avoid duplicate config files at "test/user-template"? It would be great,if someone can guide me in this matter. Thanks & Regards, Vishv ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[GSOC]Slide Layout Extendibility :Weekly Report
Hello Everyone, Here is the Link<http://vishvbrahmbhatt.wordpress.com/2013/08/27/slide-layout-extendibility-weekly-report-3/> to my blog for the weekly report update. Thanks & Regards, Vishv Brahmbhatt On Sun, Jul 14, 2013 at 8:31 PM, Vishv Brahmbhatt < vishvbrahmbhat...@gmail.com> wrote: > Hello Everyone, > > Here is the > Link<http://vishvbrahmbhatt.wordpress.com/2013/07/14/slide-layout-extendibility-weekly-report-4/> > to > my blog for the weekly report update. > > Thanks & Regards, > Vishv Brahmbhatt > > On Mon, Jul 8, 2013 at 9:10 PM, Vishv Brahmbhatt < > vishvbrahmbhat...@gmail.com> wrote: > >> Hello Everyone, >> In the beginning of the week,I was able to complete the required changes >> in XML parser function(for extracting slide layout information). >> >> But,after that I was caught up with the unit-test error(related to >> configuration XML file) for rest of the 4 days.It seemed to me as a bug in >> the unit-test process,because in-spite of having made proper entry in the >> "Package_unittest.mk" and "layoutlist.xml" being added at "unit-test" >> file-path,the error came up(with wrongly generated path). I have already >> posted my question to mailing-list >> Link<http://nabble.documentfoundation.org/Unit-Test-Fail-Error-GSOC-Slide-Layout-Extendibility-td4064300.html> >> and >> I am thankful for the reply from Markus. >> And I will soon resolve this error with appropriate guidance and >> discussion on mailing-list/ IRC. >> >> As of now ,I have moved ahead with addition of some new layouts to >> "layoutlist.xml". I will peak up more speed from now on-wards. >> >> Also for the current status: >> + I pushed one commit with required changes(last week). >> + XML parser works in-spite of unit-test errors. >> + So information from configuration XML file "layoutlist.xml" is >> extracted perfectly. >> >> Thanks & Regards, >> Vishv Brahmbhatt >> >> On Mon, Jul 1, 2013 at 8:30 PM, Vishv Brahmbhatt < >> vishvbrahmbhat...@gmail.com> wrote: >> >>> Hello Everyone, >>> >>> Here is the >>> Link<http://vishvbrahmbhatt.wordpress.com/2013/07/01/slide-layout-extendibility-weekly-report-2/> >>> to my blog for the weekly report update. >>> >>> Thanks & Regards, >>> Vishv Brahmbhatt >>> >>> >>> On Fri, Jun 21, 2013 at 6:34 PM, Vishv Brahmbhatt < >>> vishvbrahmbhat...@gmail.com> wrote: >>> >>>> Hello Everyone, >>>> >>>> Before the beginning of this week ,I was debugging on impress slide >>>> layouts.Basically,I got to understand the mechanism of creation of slide >>>> layouts in the "normal" page,in the master pages like "notes" and "handout" >>>> and much more. >>>> >>>> Currently in the slide layouts, Placeholder object's >>>> height,width,position are hard-coded. So,I did following things during this >>>> week: >>>> >>>> +So at first ,I started with creation of XML file which stores >>>> following information: >>>> (1) Layout Type >>>> (2) "PresObj" Kind >>>> (3) Position co-ordinates of "PresObj" >>>> (4) Size of "PreObj"(Width and Height) >>>> >>>> + I have started coding XML parser, which will read this information >>>> from XML file and set the appropriate parameters in the function >>>> "CalcAutoLayoutRectangles" (This function calculates/sets the Top >>>> Position,Height and Width of Rectangle "PresObj" used.) And this will >>>> parser will help in bringing configurability with Slide Layouts. >>>> >>>> + So XML parser should be fully completed, probably by "Monday" or >>>> "Tuesday"(mostly it should get completed by this weekend). >>>> >>>> + Next week,I will work on understanding "Slide Mater View" and on >>>> using "Slide Mater View" to edit the current built-in layouts. >>>> >>>> Regards, >>>> Vishv Brahmbhatt >>>> >>> >>> >> > ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/source
sd/source/core/sdpage.cxx |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) New commits: commit 37e02cf8f965f33bf8768fd6785692fab7460a5c Author: Vishv Brahmbhatt Date: Sat Aug 24 12:30:50 2013 +0530 Small fix to the previous commit. Making a small logical change,as per my code.Please let me know if some other logic can be used here.'Slide Layouts' did not work properly after previous commit, so pushing this change. Change-Id: Iefbb33503bf1c37bdb899181c58109fb904af6de diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index 244c375..8aa2a54 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -1319,8 +1319,8 @@ static void CalcAutoLayoutRectangles( SdPage& rPage,Rectangle* rRectangle ,const { Size aSize( basegfx::fround(aLayoutSize.Width() * propvalue[1]), basegfx::fround(aLayoutSize.Height() * propvalue[0]) ); -Point aPos( basegfx::fround(aLayoutPos.X() +(aLayoutSize.Width() * propvalue[2])), -basegfx::fround(aLayoutPos.Y() + (aLayoutSize.Height() * propvalue[3])) ); +Point aPos( basegfx::fround(aLayoutPos.X() +(aSize.Width() * propvalue[2])), +basegfx::fround(aLayoutPos.Y() + (aSize.Height() * propvalue[3])) ); rRectangle[count] = Rectangle (aPos, aSize); count = count+1; } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - test/user-template
test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) New commits: commit 22b3dcda919ae65d6b8c17844952a9d629a21549 Author: Vishv Brahmbhatt Date: Fri Aug 23 19:03:39 2013 +0530 Making changes to unit-test as well. Have made changes to unit-test file of 'layoutlist.xml' as well. Change-Id: Ia4d85fd7935a935b77dfbb475a38a087520865b4 diff --git a/test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml b/test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml index 08328e9..d7338ad 100644 --- a/test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml +++ b/test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml @@ -62,12 +62,12 @@ - + - - + + ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/xml
sd/xml/layoutlist.xml |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) New commits: commit a6ae63aac89e9090d5c08087a541e523294ee1ca Author: Vishv Brahmbhatt Date: Fri Aug 23 18:27:32 2013 +0530 Few changes to position co-ordinates of layouts. Made appropriate changes to the position co-ordinates of layoutlist.xml.And now diff of 'vertical layouts' comes empty. Change-Id: Idd4ced9e7551dc95fd42e2a9767894fff121914d diff --git a/sd/xml/layoutlist.xml b/sd/xml/layoutlist.xml index 08328e9..d7338ad 100644 --- a/sd/xml/layoutlist.xml +++ b/sd/xml/layoutlist.xml @@ -62,12 +62,12 @@ - + - - + + ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/xml
sd/xml/objectlist.xml | 15 +-- 1 file changed, 13 insertions(+), 2 deletions(-) New commits: commit 6a934dcb3e852018cc9dad39853d984f888a217b Author: Vishv Brahmbhatt Date: Fri Aug 16 00:13:14 2013 +0530 Adding entries to "objectlist.xml" Few more entries are added to "objectlist.xml".Only last two magic numbers of "sdpage.cxx" are left to be handled.They are slightly different from rest of the entries. Change-Id: Ic1481606a360695dc57174e5e4037169f91bd611 diff --git a/sd/xml/objectlist.xml b/sd/xml/objectlist.xml index d2c6d9b..b354185 100644 --- a/sd/xml/objectlist.xml +++ b/sd/xml/objectlist.xml @@ -1,8 +1,19 @@ - - + + + + + + + + + + + + + \ No newline at end of file ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/xml
sd/xml/objectlist.xml |8 1 file changed, 8 insertions(+) New commits: commit 2190b56fcd914a0fc5ff81a6cf940643f49918bc Author: Vishv Brahmbhatt Date: Thu Aug 15 22:35:08 2013 +0530 Creating a new demo XML file A small demo version of new XML file, to store the remaining of the 'magic numbers' left in the "sdpage.cxx". Change-Id: I2883782dbdfd5a68f707631faec2e7b1d62a00de diff --git a/sd/xml/objectlist.xml b/sd/xml/objectlist.xml new file mode 100644 index 000..d2c6d9b --- /dev/null +++ b/sd/xml/objectlist.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - test/user-template
0 files changed New commits: commit 940ae4d0a24da62b41b827b391194370c782ef39 Author: Vishv Brahmbhatt Date: Thu Aug 15 21:02:39 2013 +0530 Deleting the required files. The files were left to be deleted in the previous commit ,now deleting them. Change-Id: I1243e6383d3cd96dccf1a786e9b9fc840e46f0a7 diff --git a/test/user-template/user/autocorr/empty_directory b/test/user-template/user/autocorr/empty_directory deleted file mode 100644 index e69de29..000 diff --git a/test/user-template/user/config/soffice.cfg/modules/empty_directory b/test/user-template/user/config/soffice.cfg/modules/empty_directory deleted file mode 100644 index e69de29..000 diff --git a/test/user-template/user/dtd/empty_directory b/test/user-template/user/dtd/empty_directory deleted file mode 100644 index e69de29..000 diff --git a/test/user-template/user/gallery/empty_directory b/test/user-template/user/gallery/empty_directory deleted file mode 100644 index e69de29..000 diff --git a/test/user-template/user/psprint/driver/empty_directory b/test/user-template/user/psprint/driver/empty_directory deleted file mode 100644 index e69de29..000 diff --git a/test/user-template/user/psprint/fontmetric/empty_directory b/test/user-template/user/psprint/fontmetric/empty_directory deleted file mode 100644 index e69de29..000 diff --git a/test/user-template/user/template/empty_directory b/test/user-template/user/template/empty_directory deleted file mode 100644 index e69de29..000 ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - test/Package_unittest.mk
test/Package_unittest.mk |7 --- 1 file changed, 7 deletions(-) New commits: commit 4c02aaf9d3c96c6144656c53740afaf0e2192f55 Author: Vishv Brahmbhatt Date: Thu Aug 15 20:51:52 2013 +0530 Deleting useless unit-test files/directory. Deleting the "empty_directory" entries of "unittest/user/*" in 'Package_unittest.mk' and corresponding files from the "test/user-template/*" directory. Change-Id: Ia53a18bf7d55bfaba91f9bb8c2a15d3578e35e11 diff --git a/test/Package_unittest.mk b/test/Package_unittest.mk index 6df47f7..1a83b4c 100644 --- a/test/Package_unittest.mk +++ b/test/Package_unittest.mk @@ -14,10 +14,6 @@ $(eval $(call gb_Package_add_file,test_unittest,unittest/user/wordbook/sl.dic,us $(eval $(call gb_Package_add_file,test_unittest,unittest/user/wordbook/en-US.dic,user/wordbook/en-US.dic)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/wordbook/technical.dic,user/wordbook/technical.dic)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/wordbook/en-GB.dic,user/wordbook/en-GB.dic)) -$(eval $(call gb_Package_add_file,test_unittest,unittest/user/gallery/empty_directory,user/gallery/empty_directory)) -$(eval $(call gb_Package_add_file,test_unittest,unittest/user/dtd/empty_directory,user/dtd/empty_directory)) -$(eval $(call gb_Package_add_file,test_unittest,unittest/user/psprint/fontmetric/empty_directory,user/psprint/fontmetric/empty_directory)) -$(eval $(call gb_Package_add_file,test_unittest,unittest/user/psprint/driver/empty_directory,user/psprint/driver/empty_directory)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/autotext/en-US/template.bau,user/autotext/en-US/template.bau)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/autotext/en-US/standard.bau,user/autotext/en-US/standard.bau)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/autotext/en-US/crdbus50.bau,user/autotext/en-US/crdbus50.bau)) @@ -26,9 +22,6 @@ $(eval $(call gb_Package_add_file,test_unittest,unittest/install/share/config/so $(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/soffice.cfg/simpress/transitions-ogl.xml,user/config/soffice.cfg/simpress/transitions-ogl.xml)) $(eval $(call gb_Package_add_file,test_unittest,unittest/install/share/config/soffice.cfg/simpress/effects.xml,user/config/soffice.cfg/simpress/effects.xml)) $(eval $(call gb_Package_add_file,test_unittest,unittest/install/share/config/soffice.cfg/simpress/layoutlist.xml,user/config/soffice.cfg/simpress/layoutlist.xml)) -$(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/soffice.cfg/modules/empty_directory,user/config/soffice.cfg/modules/empty_directory)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/psetupl.xpm,user/config/psetupl.xpm)) -$(eval $(call gb_Package_add_file,test_unittest,unittest/user/autocorr/empty_directory,user/autocorr/empty_directory)) -$(eval $(call gb_Package_add_file,test_unittest,unittest/user/template/empty_directory,user/template/empty_directory)) # vim: set noet sw=4 ts=4: ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/source sd/xml test/user-template
sd/source/core/sdpage.cxx |8 sd/xml/layoutlist.xml | 92 +- test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml | 90 + 3 files changed, 104 insertions(+), 86 deletions(-) New commits: commit 820d186be8928265528ab6b2ec1ba00c9b7476ff Author: Vishv Brahmbhatt Date: Thu Aug 15 18:44:00 2013 +0530 Few name conventions changes. Changed the name of attributes from "title-shape-relative-height" to "relative-height" & all others. Change-Id: I3010e8faf8a9bf347a7bec366449bbba77f0a69f diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index 2693375..9fd6b68 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -1317,19 +1317,19 @@ static void CalcAutoLayoutRectangles( SdPage& rPage,Rectangle* rRectangle ,const { Reference presObjAttributes = presobj->getAttributes(); -Reference presObjSizeHeight = presObjAttributes->getNamedItem("title-shape-relative-height"); +Reference presObjSizeHeight = presObjAttributes->getNamedItem("relative-height"); rtl::OUString sValue = presObjSizeHeight->getNodeValue(); propvalue[0] = sValue.toDouble(); -Reference presObjSizeWidth = presObjAttributes->getNamedItem("title-shape-relative-width"); +Reference presObjSizeWidth = presObjAttributes->getNamedItem("relative-width"); sValue = presObjSizeWidth->getNodeValue(); propvalue[1] = sValue.toDouble(); -Reference presObjPosX = presObjAttributes->getNamedItem("title-shape-relative-posX"); +Reference presObjPosX = presObjAttributes->getNamedItem("relative-posX"); sValue = presObjPosX->getNodeValue(); propvalue[2] = sValue.toDouble(); -Reference presObjPosY = presObjAttributes->getNamedItem("title-shape-relative-posY"); +Reference presObjPosY = presObjAttributes->getNamedItem("relative-posY"); sValue = presObjPosY->getNodeValue(); propvalue[3] = sValue.toDouble(); diff --git a/sd/xml/layoutlist.xml b/sd/xml/layoutlist.xml index b99a18f..08328e9 100644 --- a/sd/xml/layoutlist.xml +++ b/sd/xml/layoutlist.xml @@ -3,79 +3,79 @@ --> - - + + - - - + + + - - - + + + - - - - + + + + - - - - - + + + + + - + - + - - - - - - - + + + + + + + - - + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - + + - - - + + + \ No newline at end of file diff --git a/test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml b/test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml index d02bf2a..08328e9 100644 --- a/test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml +++ b/test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml @@ -3,61 +3,79 @@ --> - - + + - - - + + + - - - + + + - - - - + + + + - - - - - + + + + + - + - + - - - - - - - + + + + + + + - - + + - - - - + + + + - - - - + + + + + +
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/source sd/xml
sd/source/core/sdpage.cxx | 188 +++--- sd/xml/layoutlist.xml | 20 2 files changed, 35 insertions(+), 173 deletions(-) New commits: commit 6276440a71ce779951bb2de8e544701dd1fbed6d Author: Vishv Brahmbhatt Date: Tue Aug 13 19:15:14 2013 +0530 Adding vertical layouts to XML file. The new vertical layouts and the old layouts works well on my maschine. Also the 'vertical writing' mode seems to be working perfectly for 'vertical layouts'. And removed the 'switch'case from the "sdpage.cxx". Change-Id: Ic9f6af68cdeb635f79e67b959f95ac0a79c119ca diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index d7b6f44..2693375 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -1197,9 +1197,6 @@ rtl::OUString enumtoString(AutoLayout aut) case AUTOLAYOUT_TITLE_CONTENT: retstr="AUTOLAYOUT_TITLE_CONTENT"; break; -case AUTOLAYOUT_TITLE_2VTEXT: -retstr="AUTOLAYOUT_TITLE_2VTEXT"; -break; case AUTOLAYOUT_TITLE_CONTENT_OVER_CONTENT: retstr="AUTOLAYOUT_TITLE_CONTENT_OVER_CONTENT"; break; @@ -1230,6 +1227,18 @@ rtl::OUString enumtoString(AutoLayout aut) case AUTOLAYOUT_TITLE_2CONTENT: retstr="AUTOLAYOUT_TITLE_2CONTENT"; break; +case AUTOLAYOUT_VTITLE_VCONTENT: +retstr="AUTOLAYOUT_VTITLE_VCONTENT"; +break; +case AUTOLAYOUT_VTITLE_VCONTENT_OVER_VCONTENT: +retstr="AUTOLAYOUT_VTITLE_VCONTENT_OVER_VCONTENT"; +break; +case AUTOLAYOUT_TITLE_VCONTENT: +retstr="AUTOLAYOUT_TITLE_VCONTENT"; +break; +case AUTOLAYOUT_TITLE_2VTEXT: +retstr="AUTOLAYOUT_TITLE_2VTEXT"; +break; default: retstr="unknown"; break; @@ -1238,7 +1247,7 @@ rtl::OUString enumtoString(AutoLayout aut) return retstr; } -static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRectangle ,const rtl::OUString& autolayout) +static void CalcAutoLayoutRectangles( SdPage& rPage,Rectangle* rRectangle ,const rtl::OUString& autolayout) { Rectangle aTitleRect; Rectangle aLayoutRect; @@ -1283,10 +1292,9 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe SizeaTempSize; Point aTempPnt; aTempSize = aLayoutSize; -aTempPnt = aLayoutPos; -sal_BoolbRightToLeft = ( rPage.GetModel() && static_cast< SdDrawDocument* >( rPage.GetModel() )->GetDefaultWritingMode() == ::com::sun::star::text::WritingMode_RL_TB ); +aTempPnt = aLayoutPos; -std::vector> &layoutinfo = static_cast< SdDrawDocument* >( rPage.GetModel() )->GetLayoutVector(); //getting vector from "SdDrawDocument" ,not sure about the correct mechanism +const std::vector> &layoutinfo = static_cast< SdDrawDocument* >( rPage.GetModel() )->GetLayoutVector(); //getting vector from "SdDrawDocument" ,not sure about the correct mechanism for(size_t y=0; y < layoutinfo.size(); y++) //loop through vector of Xnodes { Reference layoutnode = layoutinfo[y]; //get i'th layout element @@ -1351,170 +1359,6 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe break; } } - -switch( nLayout ) -{ -case 0: // default layout using only the title and layout area -break; // do nothing -case 1: // title, 2 shapes -case 9: // title, 2 vertical shapes - -// if( bRightToLeft && (nLayout != 9) ) -// ::std::swap( rRectangle[1], rRectangle[2] ); -break; -case 2: // title, shape, 2 shapes -// aTempPnt = aLayoutPos; -// aTempSize = aLayoutSize; -// aLayoutSize.Height() = long (aLayoutSize.Height() * 0.477); -// aLayoutSize.Width() = long (aLayoutSize.Width() * 0.488); -// aLayoutPos.X() = long (aLayoutPos.X() + aLayoutSize.Width() * 1.05); -// rRectangle[2] = Rectangle (aLayoutPos, aLayoutSize); - -// aLayoutPos.Y() = long (aLayoutPos.Y() + aLayoutSize.Height() * 1.095); -// rRectangle[3] = Rectangle (aLayoutPos, aLayoutSize); - -// aLayoutPos = aTempPnt; -// aLayoutSize = aTempSize; -// aLayoutSize.Width() = long (aLayoutSize.Width() * 0.488); -// rRectangle[1] = Rectangle (aLayoutPos, aLayoutSize); - -// if( bRightToLeft ) -// { -// ::std::swap( rRectangle[1].Left(), rRectangle[2].Left() ); -// rRectangle[3].Left() = rRectangle[2].Left(); -// } -break; -case 3: // title, 2 shapes, shape -// aTempPnt = aLayoutPos; -// aTempSize = aLayout
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/CppunitTest_sd_uimpress.mk sd/source test/user-template
sd/CppunitTest_sd_uimpress.mk |1 sd/source/core/drawdoc.cxx |4 test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml | 71 +++--- 3 files changed, 54 insertions(+), 22 deletions(-) New commits: commit 4af93aaf9c50c795f7789e1c256627204be7199c Author: Vishv Brahmbhatt Date: Fri Aug 9 18:50:52 2013 +0530 Fixed a broken unit-test. Added a new component of "unoxml/source/service/unoxml" in makefile of 'sd_uimpress'. Also few changes in "drawdoc.cxx".Please ignore the changes of unit-test XML file, it has to be deleted in subsequent commit. Change-Id: I50eb516444820c8037aebc8859a322116989d3bf diff --git a/sd/CppunitTest_sd_uimpress.mk b/sd/CppunitTest_sd_uimpress.mk index 5fb5961..a5b0491 100644 --- a/sd/CppunitTest_sd_uimpress.mk +++ b/sd/CppunitTest_sd_uimpress.mk @@ -89,6 +89,7 @@ $(eval $(call gb_CppunitTest_use_components,sd_uimpress,\ i18npool/util/i18npool \ linguistic/source/lng \ ucb/source/core/ucb1 \ +unoxml/source/service/unoxml \ )) $(eval $(call gb_CppunitTest_use_configuration,sd_uimpress)) diff --git a/sd/source/core/drawdoc.cxx b/sd/source/core/drawdoc.cxx index 68180f1..f7515be 100644 --- a/sd/source/core/drawdoc.cxx +++ b/sd/source/core/drawdoc.cxx @@ -1005,7 +1005,7 @@ sal_uInt16 SdDrawDocument::GetAnnotationAuthorIndex( const OUString& rAuthor ) // to get the root element of the xml file Reference getRoot() { -const Reference xContext( comphelper_getProcessComponentContext() ); +const Reference xContext( ::comphelper::getProcessComponentContext() ); Reference< XMultiServiceFactory > xServiceFactory( xContext->getServiceManager() , UNO_QUERY_THROW ); Reference< util::XMacroExpander > xMacroExpander = util::theMacroExpander::get( xContext ); Reference< XMultiServiceFactory > xConfigProvider = configuration::theDefaultProvider::get( xContext ); @@ -1046,7 +1046,7 @@ Reference getRoot() aURL = aSysPath; } -const Reference xDocBuilder( css::xml::dom::DocumentBuilder::create( comphelper::getComponentContext (xServiceFactory) ) ); +const Reference xDocBuilder( DocumentBuilder::create( comphelper::getComponentContext (xServiceFactory) )); const Reference xDoc = xDocBuilder->parseURI( aURL ); const Reference xRoot = xDoc->getDocumentElement(); return xRoot; //this loops seems to work only once,so returning the root element diff --git a/test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml b/test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml index cfe1f1e..d02bf2a 100644 --- a/test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml +++ b/test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml @@ -3,30 +3,61 @@ --> - - + + - - - - + + + + - - - + + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/source sd/xml
sd/source/core/drawdoc.cxx |4 - sd/source/core/sdpage.cxx | 139 ++--- sd/xml/layoutlist.xml | 74 +++ 3 files changed, 109 insertions(+), 108 deletions(-) New commits: commit e7220a786f9271114c2cfeb687cccfad780b8aed Author: Vishv Brahmbhatt Date: Thu Aug 8 16:19:48 2013 +0530 Making few changes to the parser logic. The logical change seems to work perfectly,only few of the layouts involving 'vertical title' are left to be handled in the XML file.Also commenting out some of the code in the switch case for temporary reference.It will be deleted in the subsequent commit. Change-Id: I491e414dec3dbd01d8566f23ab31096daa7bbfa8 diff --git a/sd/source/core/drawdoc.cxx b/sd/source/core/drawdoc.cxx index dc631cf..68180f1 100644 --- a/sd/source/core/drawdoc.cxx +++ b/sd/source/core/drawdoc.cxx @@ -77,6 +77,7 @@ #include #include #include +#include #include #include "drawdoc.hxx" @@ -1019,6 +1020,7 @@ Reference getRoot() xConfigProvider->createInstanceWithArguments( "com.sun.star.configuration.ConfigurationAccess", Sequence( &propValue, 1 ) ), UNO_QUERY_THROW ); + Sequence< rtl::OUString > aFiles; xNameAccess->getByName( "LayoutListFiles" ) >>= aFiles; rtl::OUString aURL; @@ -1044,7 +1046,7 @@ Reference getRoot() aURL = aSysPath; } -const Reference xDocBuilder( css::xml::dom::DocumentBuilder::create( comphelper::getComponentContext (xServiceFactory)) ); +const Reference xDocBuilder( css::xml::dom::DocumentBuilder::create( comphelper::getComponentContext (xServiceFactory) ) ); const Reference xDoc = xDocBuilder->parseURI( aURL ); const Reference xRoot = xDoc->getDocumentElement(); return xRoot; //this loops seems to work only once,so returning the root element diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index f6cb6a0..d7b6f44 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -1227,6 +1227,9 @@ rtl::OUString enumtoString(AutoLayout aut) case AUTOLAYOUT_TITLE_2CONTENT_OVER_CONTENT: retstr="AUTOLAYOUT_TITLE_2CONTENT_OVER_CONTENT"; break; +case AUTOLAYOUT_TITLE_2CONTENT: +retstr="AUTOLAYOUT_TITLE_2CONTENT"; +break; default: retstr="unknown"; break; @@ -1314,12 +1317,12 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe sValue = presObjSizeWidth->getNodeValue(); propvalue[1] = sValue.toDouble(); -Reference presObjPos = presObjAttributes->getNamedItem("title-shape-relative-pos"); -sValue = presObjPos->getNodeValue(); +Reference presObjPosX = presObjAttributes->getNamedItem("title-shape-relative-posX"); +sValue = presObjPosX->getNodeValue(); propvalue[2] = sValue.toDouble(); -Reference presObjBool = presObjAttributes->getNamedItem("boolx"); -sValue = presObjBool->getNodeValue(); +Reference presObjPosY = presObjAttributes->getNamedItem("title-shape-relative-posY"); +sValue = presObjPosY->getNodeValue(); propvalue[3] = sValue.toDouble(); if(count==0) @@ -1327,23 +1330,19 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe Size aTitleSize ( aTitleRect.GetSize() ); aTitleSize.Height() = sal_Int32(aTitleSize.Height() * propvalue[0]); aTitleSize.Width() = sal_Int32(aTitleSize.Width() * propvalue[1]); -if(propvalue[3]==1) -aTitlePos.X() = sal_Int32(aTitlePos.X() +(aTitleSize.Width() * propvalue[2])); -else -aTitlePos.Y() = sal_Int32(aTitlePos.Y() + (aTitleSize.Height() * propvalue[2])); +aTitlePos.X() = sal_Int32(aTitlePos.X() +(aTitleSize.Width() * propvalue[2])); +aTitlePos.Y() = sal_Int32(aTitlePos.Y() + (aTitleSize.Height() * propvalue[3])); rRectangle[count] = Rectangle (aTitlePos, aTitleSize); count = count+1; } else { -aLayoutSize = aTempSize;//to regain fixed layout size -aLayoutPos = aTempPnt; +aLayoutSize = aTempSize; //to re-gain fixed layout size +aLayoutPos = aTempPnt; //to re-gain fixed layout pos
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/inc sd/source
sd/inc/drawdoc.hxx |4 ++-- sd/source/core/drawdoc.cxx | 31 --- sd/source/core/sdpage.cxx |8 +++- 3 files changed, 21 insertions(+), 22 deletions(-) New commits: commit 6a239432895511dfc9ade58c683ad18f71ead822 Author: Vishv Brahmbhatt Date: Mon Aug 5 20:18:29 2013 +0530 Few changes to "drawdoc.cxx". Prettifying some of the code in "drawdoc.cxx".Also few changes related to static_cast is left to be discussed.It will be pushed in the next commit. Change-Id: I30e7550de4e8c40ba100dbe178f357763bee8ca4 diff --git a/sd/inc/drawdoc.hxx b/sd/inc/drawdoc.hxx index cce2bc5..2320885 100644 --- a/sd/inc/drawdoc.hxx +++ b/sd/inc/drawdoc.hxx @@ -188,7 +188,7 @@ private: DECL_LINK(OnlineSpellEventHdl, EditStatus*); std::vector< OUString > maAnnotationAuthors; - std::vector> malayoutinfo; + std::vector> maLayoutInfo; boolmbUseEmbedFonts; @@ -260,7 +260,7 @@ public: bool IsStartWithPresentation() const; void SetStartWithPresentation( bool bStartWithPresentation ); void SetLayoutVector(); -inline std::vector>& GetLayoutVector(){ return malayoutinfo; } + std::vector> &GetLayoutVector() { return maLayoutInfo; } /** Insert pages into this document This method inserts whole pages into this document, either diff --git a/sd/source/core/drawdoc.cxx b/sd/source/core/drawdoc.cxx index f9ccd9e..dc631cf 100644 --- a/sd/source/core/drawdoc.cxx +++ b/sd/source/core/drawdoc.cxx @@ -77,7 +77,6 @@ #include #include #include -#include #include #include "drawdoc.hxx" @@ -1002,14 +1001,13 @@ sal_uInt16 SdDrawDocument::GetAnnotationAuthorIndex( const OUString& rAuthor ) return idx; } -#define EXPAND_PROTOCOL "vnd.sun.star.expand:" // to get the root element of the xml file Reference getRoot() { -const Reference xContext(comphelper_getProcessComponentContext()); -Reference< XMultiServiceFactory > xServiceFactory(xContext->getServiceManager(), UNO_QUERY_THROW ); -Reference< util::XMacroExpander > xMacroExpander =util::theMacroExpander::get(xContext); -Reference< XMultiServiceFactory > xConfigProvider =configuration::theDefaultProvider::get( xContext ); +const Reference xContext( comphelper_getProcessComponentContext() ); +Reference< XMultiServiceFactory > xServiceFactory( xContext->getServiceManager() , UNO_QUERY_THROW ); +Reference< util::XMacroExpander > xMacroExpander = util::theMacroExpander::get( xContext ); +Reference< XMultiServiceFactory > xConfigProvider = configuration::theDefaultProvider::get( xContext ); Any propValue = uno::makeAny( beans::PropertyValue( @@ -1024,41 +1022,44 @@ Reference getRoot() Sequence< rtl::OUString > aFiles; xNameAccess->getByName( "LayoutListFiles" ) >>= aFiles; rtl::OUString aURL; -for( sal_Int32 i=0; iexpandMacros( aMacro ); } } + if( aURL.startsWith( "file://" ) ) { rtl::OUString aSysPath; if( osl_getSystemPathFromFileURL( aURL.pData, &aSysPath.pData ) == osl_File_E_None ) aURL = aSysPath; } -const Reference xDocBuilder(css::xml::dom::DocumentBuilder::create(comphelper::getComponentContext(xServiceFactory))); -const Reference xDoc = xDocBuilder->parseURI(aURL); + +const Reference xDocBuilder( css::xml::dom::DocumentBuilder::create( comphelper::getComponentContext (xServiceFactory)) ); +const Reference xDoc = xDocBuilder->parseURI( aURL ); const Reference xRoot = xDoc->getDocumentElement(); -return xRoot;//this loops seems to work only once,so temporary returning the root element +return xRoot; //this loops seems to work only once,so returning the root element } void SdDrawDocument::SetLayoutVector() { int layoutlistsize; -const Reference root= getRoot();//get the root element of my xml file +const Reference root = getRoot(); //get the root element of my xml file const Reference layoutlist = root->getElementsByTagName("layout"); layoutlistsize=layoutlist->getLength(); -for(int index=0; index layoutnode = layoutlist->item(index); //get i'th layout element -malayoutinfo.push_back(layoutnode); +maLayoutInfo.push_back(layoutnode); } } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index 715753b..f6cb6a0 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -1117,7 +1117,6 @@ Rectangle SdPage::GetLayoutRect() const const int MAX_PRESOBJS = 7; // maximum number of presentation objects per layout const int VERTICAL = 0x8000; const int PRESOB
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/inc sd/source
sd/inc/drawdoc.hxx |4 +- sd/source/core/drawdoc.cxx |7 sd/source/core/sdpage.cxx | 69 ++--- 3 files changed, 7 insertions(+), 73 deletions(-) New commits: commit 04d512a6515a38613aab7174d969819e0c71773e Author: Vishv Brahmbhatt Date: Fri Aug 2 14:27:02 2013 +0530 Getting vector from "SdDrawDocument" Deleting some of the unused methods.Also there is some "filter-test/unit-test" error associated with "drawdoc.cxx" methods. But the functionality is working as desired.This one for the quick reference.I am trying to remove those errors in next commit. Change-Id: I2d5507e1945c5d33f72df3b3ec14dc12ee420c16 diff --git a/sd/inc/drawdoc.hxx b/sd/inc/drawdoc.hxx index 066cc1a..cce2bc5 100644 --- a/sd/inc/drawdoc.hxx +++ b/sd/inc/drawdoc.hxx @@ -188,7 +188,7 @@ private: DECL_LINK(OnlineSpellEventHdl, EditStatus*); std::vector< OUString > maAnnotationAuthors; - std::vector> layoutinfo; + std::vector> malayoutinfo; boolmbUseEmbedFonts; @@ -260,7 +260,7 @@ public: bool IsStartWithPresentation() const; void SetStartWithPresentation( bool bStartWithPresentation ); void SetLayoutVector(); - std::vector> GetLayoutVector(); +inline std::vector>& GetLayoutVector(){ return malayoutinfo; } /** Insert pages into this document This method inserts whole pages into this document, either diff --git a/sd/source/core/drawdoc.cxx b/sd/source/core/drawdoc.cxx index ca12a96..f9ccd9e 100644 --- a/sd/source/core/drawdoc.cxx +++ b/sd/source/core/drawdoc.cxx @@ -1058,12 +1058,7 @@ void SdDrawDocument::SetLayoutVector() for(int index=0; index layoutnode = layoutlist->item(index); //get i'th layout element -layoutinfo.push_back(layoutnode); +malayoutinfo.push_back(layoutnode); } } - -std::vector> GetLayoutVector() -{ -return layoutinfo; -} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index 43f1295..715753b 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -1190,53 +1190,6 @@ static const LayoutDescriptor& GetLayoutDescriptor( AutoLayout eLayout ) return aLayouts[ eLayout - AUTOLAYOUT__START ]; } -#define EXPAND_PROTOCOL "vnd.sun.star.expand:" -//to get the root element of the xml file -Reference getRootElement() -{ -const Reference xContext(comphelper_getProcessComponentContext()); -Reference< XMultiServiceFactory > xServiceFactory(xContext->getServiceManager(), UNO_QUERY_THROW ); -Reference< util::XMacroExpander > xMacroExpander =util::theMacroExpander::get(xContext); -Reference< XMultiServiceFactory > xConfigProvider =configuration::theDefaultProvider::get( xContext ); - -Any propValue = uno::makeAny( -beans::PropertyValue( -"nodepath", -1, -uno::makeAny( OUString( "/org.openoffice.Office.Impress/Misc" )), -beans::PropertyState_DIRECT_VALUE ) ); - -Reference xNameAccess( -xConfigProvider->createInstanceWithArguments( -"com.sun.star.configuration.ConfigurationAccess", -Sequence( &propValue, 1 ) ), UNO_QUERY_THROW ); -Sequence< rtl::OUString > aFiles; -xNameAccess->getByName( "LayoutListFiles" ) >>= aFiles; -rtl::OUString aURL; -for( sal_Int32 i=0; iexpandMacros( aMacro ); -} -} -if( aURL.startsWith( "file://" ) ) -{ -rtl::OUString aSysPath; -if( osl_getSystemPathFromFileURL( aURL.pData, &aSysPath.pData ) == osl_File_E_None ) -aURL = aSysPath; -} -const Reference xDocBuilder(css::xml::dom::DocumentBuilder::create(comphelper::getComponentContext(xServiceFactory))); -const Reference xDoc = xDocBuilder->parseURI(aURL); -const Reference xRoot = xDoc->getDocumentElement(); -return xRoot;//this loops seems to work only once,so temporary returning the root element -} - rtl::OUString enumtoString(AutoLayout aut) { rtl::OUString retstr; @@ -1283,19 +1236,6 @@ rtl::OUString enumtoString(AutoLayout aut) return retstr; } -void parseXml() -{ -int layoutlistsize; -const Reference root= getRootElement();//get the root element of my xml file -const Reference layoutlist = root->getElementsByTagName("layout"); -layoutlistsize=layoutlist->getLength(); -for(int index=0; index layoutnode = layoutlist->item(index); //get i'th layout element -layoutinfo.push_back(layoutnode); -} -} - static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRectangle ,const rtl::OUString& autolayout) { Rectangle aTitleRect; @@ -1304,6 +1244,7 @@ static void
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/source
sd/source/core/sdpage.cxx | 105 -- 1 file changed, 105 deletions(-) New commits: commit e561c6ee421514d82f77b37f57865adb51be6123 Author: Vishv Brahmbhatt Date: Fri Aug 2 11:37:24 2013 +0530 Refactoring changes in the "sdpage.cxx" Few removal changes from "sdpage.cxx" some more are still to be done. Change-Id: I60e98ef54cb8e10a007820d83280a16c0407f97a diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index 03837b3..43f1295 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -1237,70 +1237,6 @@ Reference getRootElement() return xRoot;//this loops seems to work only once,so temporary returning the root element } -//read the information from XML file(traversing from layout node) -void readLayoutPropFromFile(const Reference& root, const rtl::OUString& sLayoutType, const rtl::OUString& sPresObjKind, double propvalue[]) -{ -long presobjsize; -long layoutlistsize; -rtl::OUString sLayoutAttName; -rtl::OUString sPresObjKindAttName; -bool bnoprop=true; //use it to skip the remaining loop ,once propvalue is obtained -const Reference layoutlist = root->getElementsByTagName("layout"); -layoutlistsize=layoutlist->getLength(); - -for( long i=0; i layoutnode = layoutlist->item(i); //get i'th layout element -Reference layoutattrlist =layoutnode->getAttributes(); -Reference layoutattr = layoutattrlist->getNamedItem("type"); -sLayoutAttName=layoutattr->getNodeValue(); //get the attribute value of layout(i.e it's type) - -if(sLayoutAttName==sLayoutType)//check string comparision func //compare it with the given parameter of the function -{ -Reference layoutchildrens = layoutnode->getChildNodes(); -presobjsize = layoutchildrens->getLength(); //get the length of that of the layout(number of pres objects) -for( long j=0; j< presobjsize ; j++) -{ -rtl::OUString nodename; -Reference presobj = layoutchildrens->item(j); //get the j'th presobj for that layout -nodename=presobj->getNodeName(); -if(nodename=="presobj")//check whether children is blank 'text-node' or 'presobj' node -{ -Reference presObjAttributes = presobj->getAttributes(); -Reference presObjKindAttr = presObjAttributes->getNamedItem("kind"); -sPresObjKindAttName = presObjKindAttr->getNodeValue(); //get the value of it's presobj kind -if(sPresObjKindAttName==sPresObjKind) -{ -Reference presObjPosX = presObjAttributes->getNamedItem("layout-pos-x"); -rtl::OUString sValue = presObjPosX->getNodeValue(); -propvalue[0] = sValue.toDouble(); -Reference presObjPosY = presObjAttributes->getNamedItem("layout-pos-y"); -sValue = presObjPosY->getNodeValue(); -propvalue[1] = sValue.toDouble(); -Reference presObjSizeHeight = presObjAttributes->getNamedItem("layout-size-height"); -sValue = presObjSizeHeight->getNodeValue(); -propvalue[2] = sValue.toDouble(); -Reference presObjSizeWidth = presObjAttributes->getNamedItem("layout-size-width"); -sValue = presObjSizeWidth->getNodeValue(); -propvalue[3] = sValue.toDouble(); -bnoprop=false; -break; -} -else -continue; -} -} -} -else -continue; -} -else -break; -} -} - rtl::OUString enumtoString(AutoLayout aut) { rtl::OUString retstr; @@ -1486,19 +1422,6 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe break; // do nothing case 1: // title, 2 shapes case 9: // title, 2 vertical shapes -readLayoutPropFromFile(root, "AUTOLAYOUT_TITLE_2VTEXT" ,"PRESOBJ_OUTLINE1" ,propvalue); -aLayoutPos.X() = propvalue[0]; -aLayoutPos.Y() = propvalue[1]; -aLayoutSize.Height() = propvalue[2]; -aLayoutSize.Width() = propvalue[3]; -rRectangle[1] = Rectangle (aLayout
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/source sd/xml
sd/source/core/sdpage.cxx | 85 ++ sd/xml/layoutlist.xml | 72 +++--- 2 files changed, 78 insertions(+), 79 deletions(-) New commits: commit 2a592701e57a7ff7ee257da72218c4cf973c8dc8 Author: Vishv Brahmbhatt Date: Fri Aug 2 11:27:47 2013 +0530 Few changes to the logic of parsing This changes are pushed for quick reference as there are some more changes that are left to be done. Change-Id: I8c79fa7730dcab9250bebe6bd84f49a8664e338d diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index d070a3f..03837b3 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -1238,7 +1238,7 @@ Reference getRootElement() } //read the information from XML file(traversing from layout node) -void readLayoutPropFromFile(const Reference& root, const rtl::OUString& sLayoutType, const rtl::OUString& sPresObjKind, sal_Int32 propvalue[]) +void readLayoutPropFromFile(const Reference& root, const rtl::OUString& sLayoutType, const rtl::OUString& sPresObjKind, double propvalue[]) { long presobjsize; long layoutlistsize; @@ -1367,7 +1367,7 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe int presobjsize; rtl::OUString sLayoutAttName; rtl::OUString sPresObjKindAttName; -sal_Int32 propvalue[4]; +double propvalue[4]; if( rPage.GetPageKind() != PK_HANDOUT ) { @@ -1406,7 +1406,8 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe Point aLayoutPos( aLayoutRect.TopLeft() ); SizeaTempSize; Point aTempPnt; - +aTempSize = aLayoutSize; +aTempPnt = aLayoutPos; sal_BoolbRightToLeft = ( rPage.GetModel() && static_cast< SdDrawDocument* >( rPage.GetModel() )->GetDefaultWritingMode() == ::com::sun::star::text::WritingMode_RL_TB ); parseXml(); //calling this for temporary reference,have to use it somewhere else. @@ -1432,28 +1433,47 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe { Reference presObjAttributes = presobj->getAttributes(); -Reference presObjPosX = presObjAttributes->getNamedItem("layout-pos-x"); -rtl::OUString sValue = presObjPosX->getNodeValue(); -propvalue[0] = sValue.toInt32(); +Reference presObjSizeHeight = presObjAttributes->getNamedItem("title-shape-relative-height"); +rtl::OUString sValue = presObjSizeHeight->getNodeValue(); +propvalue[0] = sValue.toDouble(); + +Reference presObjSizeWidth = presObjAttributes->getNamedItem("title-shape-relative-width"); +sValue = presObjSizeWidth->getNodeValue(); +propvalue[1] = sValue.toDouble(); -Reference presObjPosY = presObjAttributes->getNamedItem("layout-pos-y"); -sValue = presObjPosY->getNodeValue(); -propvalue[1] = sValue.toInt32(); +Reference presObjPos = presObjAttributes->getNamedItem("title-shape-relative-pos"); +sValue = presObjPos->getNodeValue(); +propvalue[2] = sValue.toDouble(); -Reference presObjSizeHeight = presObjAttributes->getNamedItem("layout-size-height"); -sValue = presObjSizeHeight->getNodeValue(); -propvalue[2] = sValue.toInt32(); +Reference presObjBool = presObjAttributes->getNamedItem("boolx"); +sValue = presObjBool->getNodeValue(); +propvalue[3] = sValue.toDouble(); -Reference presObjSizeWidth = presObjAttributes->getNamedItem("layout-size-width"); -sValue = presObjSizeWidth->getNodeValue(); -propvalue[3] = sValue.toInt32(); - -aLayoutPos.X() = propvalue[0]; -aLayoutPos.Y() = propvalue[1]; -aLayoutSize.Height() = propvalue[2]; -aLayoutSize.Width() = propvalue[3]; -rRectangle[count] = Rectangle (aLayoutPos, aLayoutSize); -count=count+1; +if(count==0) +{ +Size aTitleSize ( aTitleRect.GetSize() ); +aTitleSize.Height() = sal_Int32(aTitleSize.Height() * propvalue[0]); +aTitleSize.Width() = sal_Int32(aTitleSize.Width() * propvalue[1]); +if(propvalue[3]==1) +aTitlePos.X() = sal_Int32(aTitle
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/inc sd/source sd/xml
sd/inc/drawdoc.hxx |5 ++ sd/source/core/drawdoc.cxx | 88 + sd/xml/layoutlist.xml | 22 +-- 3 files changed, 103 insertions(+), 12 deletions(-) New commits: commit b51863296598dc9fe90af07bb8288d13652f1d72 Author: Vishv Brahmbhatt Date: Wed Jul 31 01:58:58 2013 +0530 Temporarily adding new methods to "drawdoc.cxx". Adding new methods to "SdDrawDocument" class to set the vector "layoutlist" from the constructor of "SdDrawDocument" and use it in "CalcAutoLayoutRectangles". Build got failed in-between,so authentication of it's working is left to be done. Change-Id: Ia614ab0e1d45022d770e61d27b0ae6c74dc71bf8 diff --git a/sd/inc/drawdoc.hxx b/sd/inc/drawdoc.hxx index 77ac6b6..066cc1a 100644 --- a/sd/inc/drawdoc.hxx +++ b/sd/inc/drawdoc.hxx @@ -30,6 +30,7 @@ #include #include #include +#include #include @@ -187,6 +188,7 @@ private: DECL_LINK(OnlineSpellEventHdl, EditStatus*); std::vector< OUString > maAnnotationAuthors; + std::vector> layoutinfo; boolmbUseEmbedFonts; @@ -257,7 +259,8 @@ public: bool IsStartWithPresentation() const; void SetStartWithPresentation( bool bStartWithPresentation ); - +void SetLayoutVector(); + std::vector> GetLayoutVector(); /** Insert pages into this document This method inserts whole pages into this document, either diff --git a/sd/source/core/drawdoc.cxx b/sd/source/core/drawdoc.cxx index aca4996..ca12a96 100644 --- a/sd/source/core/drawdoc.cxx +++ b/sd/source/core/drawdoc.cxx @@ -62,6 +62,22 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include "drawdoc.hxx" @@ -90,6 +106,13 @@ using namespace ::com::sun::star::uno; using namespace ::com::sun::star::lang; using namespace ::com::sun::star::linguistic2; +using namespace com::sun::star::xml::dom; +using ::com::sun::star::uno::Reference; +using ::com::sun::star::io::XInputStream; +using ::com::sun::star::lang::XMultiServiceFactory; +using ::com::sun::star::container::XNameAccess; +using ::com::sun::star::beans::PropertyValue; + // TYPEINIT1( SdDrawDocument, FmFormModel ); @@ -169,6 +192,7 @@ SdDrawDocument::SdDrawDocument(DocumentType eType, SfxObjectShell* pDrDocSh) mpMasterPageListWatcher = ::std::auto_ptr( new ImpMasterPageListWatcher(*this)); +SetLayoutVector(); SetObjectShell(pDrDocSh); // for VCDrawModel if (mpDocSh) @@ -978,4 +1002,68 @@ sal_uInt16 SdDrawDocument::GetAnnotationAuthorIndex( const OUString& rAuthor ) return idx; } +#define EXPAND_PROTOCOL "vnd.sun.star.expand:" +// to get the root element of the xml file +Reference getRoot() +{ +const Reference xContext(comphelper_getProcessComponentContext()); +Reference< XMultiServiceFactory > xServiceFactory(xContext->getServiceManager(), UNO_QUERY_THROW ); +Reference< util::XMacroExpander > xMacroExpander =util::theMacroExpander::get(xContext); +Reference< XMultiServiceFactory > xConfigProvider =configuration::theDefaultProvider::get( xContext ); + +Any propValue = uno::makeAny( +beans::PropertyValue( +"nodepath", -1, +uno::makeAny( OUString( "/org.openoffice.Office.Impress/Misc" )), +beans::PropertyState_DIRECT_VALUE ) ); + +Reference xNameAccess( +xConfigProvider->createInstanceWithArguments( +"com.sun.star.configuration.ConfigurationAccess", +Sequence( &propValue, 1 ) ), UNO_QUERY_THROW ); +Sequence< rtl::OUString > aFiles; +xNameAccess->getByName( "LayoutListFiles" ) >>= aFiles; +rtl::OUString aURL; +for( sal_Int32 i=0; iexpandMacros( aMacro ); +} +} +if( aURL.startsWith( "file://" ) ) +{ +rtl::OUString aSysPath; +if( osl_getSystemPathFromFileURL( aURL.pData, &aSysPath.pData ) == osl_File_E_None ) +aURL = aSysPath; +} +const Reference xDocBuilder(css::xml::dom::DocumentBuilder::create(comphelper::getComponentContext(xServiceFactory))); +const Reference xDoc = xDocBuilder->parseURI(aURL); +const Reference xRoot = xDoc->getDocumentElement(); +return xRoot;//this loops seems to work only once,so temporary returning the root element +} + +void SdDrawDocument::SetLayoutVector() +{ +int layoutlistsize; +const Reference root= getRoot();//get the root element of my xml file +const Reference layoutlist = root->getElementsByTagName("layout"); +
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/source
sd/source/core/sdpage.cxx | 19 +-- 1 file changed, 9 insertions(+), 10 deletions(-) New commits: commit ee38d2ef7903454ac1968e9b14171b882010c933 Author: Vishv Brahmbhatt Date: Sun Jul 28 23:11:21 2013 +0530 Refactoring changes in the "sdpage.cxx" Converted some 'long' to 'int' and 'double' to 'sal_Int32'.So removed the long from the file. Also one of the changes for "readLayoutPropFromFile" will be removed soon. Change-Id: I4e88807908520439fa64f07808af9138c6556890 diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index a7d4b51..4ac9ed9 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -1238,7 +1238,7 @@ Reference getRootElement() } //read the information from XML file(traversing from layout node) -void readLayoutPropFromFile(const Reference& root, const rtl::OUString& sLayoutType, const rtl::OUString& sPresObjKind, double propvalue[]) +void readLayoutPropFromFile(const Reference& root, const rtl::OUString& sLayoutType, const rtl::OUString& sPresObjKind, sal_Int32 propvalue[]) { long presobjsize; long layoutlistsize; @@ -1353,7 +1353,7 @@ void parseXml() const Reference root= getRootElement();//get the root element of my xml file const Reference layoutlist = root->getElementsByTagName("layout"); layoutlistsize=layoutlist->getLength(); -for( long index=0; index layoutnode = layoutlist->item(index); //get i'th layout element layoutinfo.push_back(layoutnode); @@ -1364,11 +1364,10 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe { Rectangle aTitleRect; Rectangle aLayoutRect; -long presobjsize; -long layoutlistsize; +int presobjsize; rtl::OUString sLayoutAttName; rtl::OUString sPresObjKindAttName; -double propvalue[4]; +sal_Int32 propvalue[4]; if( rPage.GetPageKind() != PK_HANDOUT ) { @@ -1424,7 +1423,7 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe int count=0; Reference layoutchildrens = layoutnode->getChildNodes(); presobjsize = layoutchildrens->getLength(); //get the length of that of the layout(number of pres objects) -for( long j=0; j< presobjsize ; j++) +for( int j=0; j< presobjsize ; j++) { rtl::OUString nodename; Reference presobj = layoutchildrens->item(j);//get the j'th presobj for that layout @@ -1435,19 +1434,19 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe Reference presObjPosX = presObjAttributes->getNamedItem("layout-pos-x"); rtl::OUString sValue = presObjPosX->getNodeValue(); -propvalue[0] = sValue.toDouble(); +propvalue[0] = sValue.toInt32(); Reference presObjPosY = presObjAttributes->getNamedItem("layout-pos-y"); sValue = presObjPosY->getNodeValue(); -propvalue[1] = sValue.toDouble(); +propvalue[1] = sValue.toInt32(); Reference presObjSizeHeight = presObjAttributes->getNamedItem("layout-size-height"); sValue = presObjSizeHeight->getNodeValue(); -propvalue[2] = sValue.toDouble(); +propvalue[2] = sValue.toInt32(); Reference presObjSizeWidth = presObjAttributes->getNamedItem("layout-size-width"); sValue = presObjSizeWidth->getNodeValue(); -propvalue[3] = sValue.toDouble(); +propvalue[3] = sValue.toInt32(); aLayoutPos.X() = propvalue[0]; aLayoutPos.Y() = propvalue[1]; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - test/Package_unittest.mk
test/Package_unittest.mk |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) New commits: commit a6ee4d2cc2443f61e8400a4fb11d15d2e73fec49 Author: Vishv Brahmbhatt Date: Sun Jul 28 22:16:24 2013 +0530 Made changes in the unit-test of other configuration files Unit-test path is changed for the "effects.xml" and "transitions.xml" to avoid "unit-test" error. Change-Id: Ia871b16b9b9c1bec96fa3d208dc9171c287b020a diff --git a/test/Package_unittest.mk b/test/Package_unittest.mk index 83b2dba..6df47f7 100644 --- a/test/Package_unittest.mk +++ b/test/Package_unittest.mk @@ -22,9 +22,9 @@ $(eval $(call gb_Package_add_file,test_unittest,unittest/user/autotext/en-US/tem $(eval $(call gb_Package_add_file,test_unittest,unittest/user/autotext/en-US/standard.bau,user/autotext/en-US/standard.bau)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/autotext/en-US/crdbus50.bau,user/autotext/en-US/crdbus50.bau)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/psetup.xpm,user/config/psetup.xpm)) -$(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/soffice.cfg/simpress/transitions.xml,user/config/soffice.cfg/simpress/transitions.xml)) +$(eval $(call gb_Package_add_file,test_unittest,unittest/install/share/config/soffice.cfg/simpress/transitions.xml,user/config/soffice.cfg/simpress/transitions.xml)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/soffice.cfg/simpress/transitions-ogl.xml,user/config/soffice.cfg/simpress/transitions-ogl.xml)) -$(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/soffice.cfg/simpress/effects.xml,user/config/soffice.cfg/simpress/effects.xml)) +$(eval $(call gb_Package_add_file,test_unittest,unittest/install/share/config/soffice.cfg/simpress/effects.xml,user/config/soffice.cfg/simpress/effects.xml)) $(eval $(call gb_Package_add_file,test_unittest,unittest/install/share/config/soffice.cfg/simpress/layoutlist.xml,user/config/soffice.cfg/simpress/layoutlist.xml)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/soffice.cfg/modules/empty_directory,user/config/soffice.cfg/modules/empty_directory)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/psetupl.xpm,user/config/psetupl.xpm)) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/source sd/xml
sd/source/core/sdpage.cxx | 18 sd/xml/layoutlist.xml | 49 +- 2 files changed, 58 insertions(+), 9 deletions(-) New commits: commit e187f3a747033f8efc71699434ab46a5a07b4077 Author: Vishv Brahmbhatt Date: Sun Jul 28 21:50:34 2013 +0530 Added few more new samples to "layoutlist.xml" New samples are added to "layoutlist.xml" and corresponding changes are made in the "sdpage.cxx". Few changes are still left to be made in the values,which will be done in the next commit. Change-Id: Ia388f416906f4416ec596ae4631a51940e6ccf93 diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index c244da6..a7d4b51 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -1321,6 +1321,24 @@ rtl::OUString enumtoString(AutoLayout aut) case AUTOLAYOUT_TITLE_4CONTENT: retstr="AUTOLAYOUT_TITLE_4CONTENT"; break; +case AUTOLAYOUT_ONLY_TEXT: +retstr="AUTOLAYOUT_ONLY_TEXT"; +break; +case AUTOLAYOUT_TITLE_ONLY: +retstr="AUTOLAYOUT_TITLE_ONLY"; +break; +case AUTOLAYOUT_TITLE_6CONTENT: +retstr="AUTOLAYOUT_TITLE_6CONTENT"; +break; +case AUTOLAYOUT__START: +retstr="AUTOLAYOUT__START"; +break; +case AUTOLAYOUT_TITLE_2CONTENT_CONTENT: +retstr="AUTOLAYOUT_TITLE_2CONTENT_CONTENT"; +break; +case AUTOLAYOUT_TITLE_2CONTENT_OVER_CONTENT: +retstr="AUTOLAYOUT_TITLE_2CONTENT_OVER_CONTENT"; +break; default: retstr="unknown"; break; diff --git a/sd/xml/layoutlist.xml b/sd/xml/layoutlist.xml index 88ec811..82424b0 100644 --- a/sd/xml/layoutlist.xml +++ b/sd/xml/layoutlist.xml @@ -3,30 +3,61 @@ --> - - + + - + - + - - - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/source sd/xml
sd/source/core/sdpage.cxx | 108 +- sd/xml/layoutlist.xml |2 2 files changed, 60 insertions(+), 50 deletions(-) New commits: commit 57866f97931e789b33e650d1c2bf81afe1a6ed11 Author: Vishv Brahmbhatt Date: Sun Jul 28 12:33:45 2013 +0530 Changed the logic of parsing Have added a vector list of XNode to store the parse XML and referring it instead of XML eveytime. Need to make scope level changes for vector and parseXml() in the next commit. Change-Id: I2f270fc18058772fbf30a2a44e564c8290c316c4 diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index 0aace256..c244da6 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -1117,6 +1117,7 @@ Rectangle SdPage::GetLayoutRect() const const int MAX_PRESOBJS = 7; // maximum number of presentation objects per layout const int VERTICAL = 0x8000; const int PRESOBJPROP = 4; +std::vector> layoutinfo; //temporarily at global scope struct LayoutDescriptor { @@ -1317,6 +1318,9 @@ rtl::OUString enumtoString(AutoLayout aut) case AUTOLAYOUT_TITLE_CONTENT_2CONTENT: retstr="AUTOLAYOUT_TITLE_CONTENT_2CONTENT"; break; +case AUTOLAYOUT_TITLE_4CONTENT: +retstr="AUTOLAYOUT_TITLE_4CONTENT"; +break; default: retstr="unknown"; break; @@ -1325,6 +1329,19 @@ rtl::OUString enumtoString(AutoLayout aut) return retstr; } +void parseXml() +{ +int layoutlistsize; +const Reference root= getRootElement();//get the root element of my xml file +const Reference layoutlist = root->getElementsByTagName("layout"); +layoutlistsize=layoutlist->getLength(); +for( long index=0; index layoutnode = layoutlist->item(index); //get i'th layout element +layoutinfo.push_back(layoutnode); +} +} + static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRectangle ,const rtl::OUString& autolayout) { Rectangle aTitleRect; @@ -1333,7 +1350,6 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe long layoutlistsize; rtl::OUString sLayoutAttName; rtl::OUString sPresObjKindAttName; -bool bnoprop=true; //use it to skip the remaining loop ,once propvalue is obtained double propvalue[4]; if( rPage.GetPageKind() != PK_HANDOUT ) @@ -1376,61 +1392,55 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe sal_BoolbRightToLeft = ( rPage.GetModel() && static_cast< SdDrawDocument* >( rPage.GetModel() )->GetDefaultWritingMode() == ::com::sun::star::text::WritingMode_RL_TB ); -const Reference layoutlist = root->getElementsByTagName("layout"); -layoutlistsize=layoutlist->getLength(); -rtl::OUString sLayoutType = autolayout; -for( long index=0; index layoutnode = layoutlist->item(index); //get i'th layout element -Reference layoutattrlist =layoutnode->getAttributes(); -Reference layoutattr = layoutattrlist->getNamedItem("type"); -sLayoutAttName=layoutattr->getNodeValue(); //get the attribute value of layout(i.e it's type) +Reference layoutnode = layoutinfo[y]; //get i'th layout element +Reference layoutattrlist =layoutnode->getAttributes(); +Reference layoutattr = layoutattrlist->getNamedItem("type"); +sLayoutAttName=layoutattr->getNodeValue(); //get the attribute value of layout(i.e it's type) +rtl::OUString sLayoutType = autolayout; -if(sLayoutAttName==sLayoutType) +if(sLayoutAttName==sLayoutType) +{ +int count=0; +Reference layoutchildrens = layoutnode->getChildNodes(); +presobjsize = layoutchildrens->getLength(); //get the length of that of the layout(number of pres objects) +for( long j=0; j< presobjsize ; j++) { -Reference layoutchildrens = layoutnode->getChildNodes(); -presobjsize = layoutchildrens->getLength(); //get the length of that of the layout(number of pres objects) -for( long j=1; j< presobjsize ; j++) +rtl::OUString nodename; +Reference presobj = layoutchildrens->item(j);//get the j'th presobj for that layout +nodename=presobj->getNodeName(); +if(nodename=="presobj")//check whether children is blank 'text-node' or 'presobj' node { -rtl::OUString nodename; -Reference presobj = layoutchildrens->item(j); //get the j'th presobj for that layout -
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - officecfg/registry test/Package_unittest.mk
officecfg/registry/schema/org/openoffice/Office/Impress.xcs |2 +- test/Package_unittest.mk|2 +- 2 files changed, 2 insertions(+), 2 deletions(-) New commits: commit fbfc097c29ebdc1930b2c25a216c50ad101ebdbf Author: Vishv Brahmbhatt Date: Thu Jul 25 19:40:43 2013 +0530 Solved the unit-test problem Changed the destination path of test-profile at "test/Package_unittest.mk". Change-Id: I24ae595af22c38141add0ab8446281c3ccc84707 diff --git a/officecfg/registry/schema/org/openoffice/Office/Impress.xcs b/officecfg/registry/schema/org/openoffice/Office/Impress.xcs index 882f46e..61c7cab1 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Impress.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Impress.xcs @@ -480,7 +480,7 @@ List of files containing list of layouts -vnd.sun.star.expand:$BRAND_BASE_DIR/../user/config/soffice.cfg/simpress/layoutlist.xml +vnd.sun.star.expand:$BRAND_BASE_DIR/share/config/soffice.cfg/simpress/layoutlist.xml diff --git a/test/Package_unittest.mk b/test/Package_unittest.mk index 4c1d9ad..83b2dba 100644 --- a/test/Package_unittest.mk +++ b/test/Package_unittest.mk @@ -25,7 +25,7 @@ $(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/psetup.xpm, $(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/soffice.cfg/simpress/transitions.xml,user/config/soffice.cfg/simpress/transitions.xml)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/soffice.cfg/simpress/transitions-ogl.xml,user/config/soffice.cfg/simpress/transitions-ogl.xml)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/soffice.cfg/simpress/effects.xml,user/config/soffice.cfg/simpress/effects.xml)) -$(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/soffice.cfg/simpress/layoutlist.xml,user/config/soffice.cfg/simpress/layoutlist.xml)) +$(eval $(call gb_Package_add_file,test_unittest,unittest/install/share/config/soffice.cfg/simpress/layoutlist.xml,user/config/soffice.cfg/simpress/layoutlist.xml)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/soffice.cfg/modules/empty_directory,user/config/soffice.cfg/modules/empty_directory)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/psetupl.xpm,user/config/psetupl.xpm)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/autocorr/empty_directory,user/autocorr/empty_directory)) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/source
sd/source/core/sdpage.cxx | 96 -- 1 file changed, 93 insertions(+), 3 deletions(-) New commits: commit 047017b3b0d33a88334459697efc46467cc69e0a Author: Vishv Brahmbhatt Date: Thu Jul 25 19:25:01 2013 +0530 Added a for loop to "CalcAutoLayoutRectangles" to change logic. Changed the logic of switch case in "CalcAutoLayoutRectangles".This for loop basically traverse through the "layoutlist.xml" and find the appropriate node to a particular "layout" and then fills in the property values to all of it's presobj in the layout. Currently,I have not deleted the switch case,but this 'for loop' aims to replace it. Change-Id: I114614292934af179f9380277021aea350e3b35d diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index ecd481f..0aace256 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -1261,7 +1261,8 @@ void readLayoutPropFromFile(const Reference& root, const rtl::OUString Reference layoutchildrens = layoutnode->getChildNodes(); presobjsize = layoutchildrens->getLength(); //get the length of that of the layout(number of pres objects) for( long j=0; j< presobjsize ; j++) -{ rtl::OUString nodename; +{ +rtl::OUString nodename; Reference presobj = layoutchildrens->item(j); //get the j'th presobj for that layout nodename=presobj->getNodeName(); if(nodename=="presobj")//check whether children is blank 'text-node' or 'presobj' node @@ -1299,10 +1300,40 @@ void readLayoutPropFromFile(const Reference& root, const rtl::OUString } } -static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRectangle ) +rtl::OUString enumtoString(AutoLayout aut) +{ +rtl::OUString retstr; +switch (aut) +{ +case AUTOLAYOUT_TITLE_CONTENT: +retstr="AUTOLAYOUT_TITLE_CONTENT"; +break; +case AUTOLAYOUT_TITLE_2VTEXT: +retstr="AUTOLAYOUT_TITLE_2VTEXT"; +break; +case AUTOLAYOUT_TITLE_CONTENT_OVER_CONTENT: +retstr="AUTOLAYOUT_TITLE_CONTENT_OVER_CONTENT"; +break; +case AUTOLAYOUT_TITLE_CONTENT_2CONTENT: +retstr="AUTOLAYOUT_TITLE_CONTENT_2CONTENT"; +break; +default: +retstr="unknown"; +break; +// case AUTOLAYOUT_TITLE_4SCONTENT:return "AUTOLAYOUT_TITLE_4SCONTENT"; +} +return retstr; +} + +static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRectangle ,const rtl::OUString& autolayout) { Rectangle aTitleRect; Rectangle aLayoutRect; +long presobjsize; +long layoutlistsize; +rtl::OUString sLayoutAttName; +rtl::OUString sPresObjKindAttName; +bool bnoprop=true; //use it to skip the remaining loop ,once propvalue is obtained double propvalue[4]; if( rPage.GetPageKind() != PK_HANDOUT ) @@ -1345,6 +1376,63 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe sal_BoolbRightToLeft = ( rPage.GetModel() && static_cast< SdDrawDocument* >( rPage.GetModel() )->GetDefaultWritingMode() == ::com::sun::star::text::WritingMode_RL_TB ); +const Reference layoutlist = root->getElementsByTagName("layout"); +layoutlistsize=layoutlist->getLength(); +rtl::OUString sLayoutType = autolayout; +for( long index=0; index layoutnode = layoutlist->item(index); //get i'th layout element +Reference layoutattrlist =layoutnode->getAttributes(); +Reference layoutattr = layoutattrlist->getNamedItem("type"); +sLayoutAttName=layoutattr->getNodeValue(); //get the attribute value of layout(i.e it's type) + +if(sLayoutAttName==sLayoutType) +{ +Reference layoutchildrens = layoutnode->getChildNodes(); +presobjsize = layoutchildrens->getLength(); //get the length of that of the layout(number of pres objects) +for( long j=1; j< presobjsize ; j++) +{ +rtl::OUString nodename; +Reference presobj = layoutchildrens->item(j); //get the j'th presobj for that layout +nodename=presobj->getNodeName(); +if(nodename=="presobj")//check whether children is blank 'text-node' or 'presobj' node +{ +Reference presObjAttributes = presobj->getAttributes(); +Reference p
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/source sd/xml test/user-template
sd/source/core/sdpage.cxx | 46 +- sd/xml/layoutlist.xml | 32 +- test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml | 32 +- 3 files changed, 79 insertions(+), 31 deletions(-) New commits: commit e283e81165914c337815227bb3f91e2e9bc11ef4 Author: Vishv Brahmbhatt Date: Mon Jul 22 20:01:24 2013 +0530 Solved the identation problem related to "layoutlist.xml". Have added a 'if' conditional statement to know whether layout's child is a empty 'text' node or 'presobj' node.And proceed with rest of the things ,if it is a 'presobj' node.Also the xml files are indented. Change-Id: I676e710b86b1f50dbd861f2cb180bf9be839b867 diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index 051cadc..ecd481f 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -1261,30 +1261,34 @@ void readLayoutPropFromFile(const Reference& root, const rtl::OUString Reference layoutchildrens = layoutnode->getChildNodes(); presobjsize = layoutchildrens->getLength(); //get the length of that of the layout(number of pres objects) for( long j=0; j< presobjsize ; j++) -{ +{ rtl::OUString nodename; Reference presobj = layoutchildrens->item(j); //get the j'th presobj for that layout -Reference presObjAttributes = presobj->getAttributes(); -Reference presObjKindAttr = presObjAttributes->getNamedItem("kind"); -sPresObjKindAttName = presObjKindAttr->getNodeValue(); //get the value of it's presobj kind -if(sPresObjKindAttName==sPresObjKind) +nodename=presobj->getNodeName(); +if(nodename=="presobj")//check whether children is blank 'text-node' or 'presobj' node { -Reference presObjPosX = presObjAttributes->getNamedItem("layout-pos-x"); -rtl::OUString sValue = presObjPosX->getNodeValue(); -propvalue[0] = sValue.toDouble(); -Reference presObjPosY = presObjAttributes->getNamedItem("layout-pos-y"); -sValue = presObjPosY->getNodeValue(); -propvalue[1] = sValue.toDouble(); -Reference presObjSizeHeight = presObjAttributes->getNamedItem("layout-size-height"); -sValue = presObjSizeHeight->getNodeValue(); -propvalue[2] = sValue.toDouble(); -Reference presObjSizeWidth = presObjAttributes->getNamedItem("layout-size-width"); -sValue = presObjSizeWidth->getNodeValue(); -propvalue[3] = sValue.toDouble(); -bnoprop=false; -break; +Reference presObjAttributes = presobj->getAttributes(); +Reference presObjKindAttr = presObjAttributes->getNamedItem("kind"); +sPresObjKindAttName = presObjKindAttr->getNodeValue(); //get the value of it's presobj kind +if(sPresObjKindAttName==sPresObjKind) +{ +Reference presObjPosX = presObjAttributes->getNamedItem("layout-pos-x"); +rtl::OUString sValue = presObjPosX->getNodeValue(); +propvalue[0] = sValue.toDouble(); +Reference presObjPosY = presObjAttributes->getNamedItem("layout-pos-y"); +sValue = presObjPosY->getNodeValue(); +propvalue[1] = sValue.toDouble(); +Reference presObjSizeHeight = presObjAttributes->getNamedItem("layout-size-height"); +sValue = presObjSizeHeight->getNodeValue(); +propvalue[2] = sValue.toDouble(); +Reference presObjSizeWidth = presObjAttributes->getNamedItem("layout-size-width"); +sValue = presObjSizeWidth->getNodeValue(); +propvalue[3] = sValue.toDouble(); +bnoprop=false; +break; +} +else +continue;
Re: Unit-Test Fail Error[GSOC: Slide Layout Extendibility]
Hi Markus, Thanks for your reply. Actually I did make right entry in the makefile('test/Package_unittest.mk') and also added a test-profile at appropriate location('test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml').But this commit<http://cgit.freedesktop.org/libreoffice/core/commit/?h=feature/gsoc-impresslayout&id=a837a7c573c5f35fbcf7b9375725282496b0f4c9> had only partially solved the problem(for the unit-test). Because as per my discussion with Thorsten,it seems that there is some problem with how "brandbasedir"(i.e vnd.sun.star.expand:$BRAND_BASE_DIR) is expanded for the "*unit-test*". Can you please suggest me appropriate pointer to the makefile,so I can either change how "brandbasedir" is expanded for "unit tests" or may be I could stick the xml files into a different directory. Thanks and Regards, Vishv On Fri, Jul 5, 2013 at 9:26 PM, Markus Mohrhard < markus.mohrh...@googlemail.com> wrote: > Hey Vishv, > > 2013/7/5 Vishv Brahmbhatt : > > Hi, > > > > I am working on "Slide Layout Extendibility" project for GSOC. As for > one of > > my initial task,I had to set up XML file and parser which reads > information > > from that XML file.So as of now the parser is working perfectly and even > > compilation works perfectly.But the "unit test" fails.I have been stuck > on > > this error for last 4 days and it seems that,there is a bug in the > > "unit-test" process(for XML configuration files in Impress). And I am > > sharing this problem as per the advice of my mentor Thorsten(Please > refer to > > my commit & Error links at the end): > > > > (1) So for setting up the configuration path of "layoutlist.xml" ,I have > > made an entry of "LayoutListFiles",similar to that of "EffectFiles" in > > "Impress.xcs:457". > > > > (2) The code processing of XML is similar to that in > > "core/sd/source/core/CustomAnimationPreset.cxx:300". > > > > (3) After using xNameAccess->getByName( "LayoutListFiles" ) >>= aFiles > and > > expandMacros() function.The configuration file-path > > > "vnd.sun.star.expand:$BRAND_BASE_DIR/share/config/soffice.cfg/simpress/layoutlist.xml" > > expands to > > > "/home/vishv/Libre_Git/core/solver/unxlngx6/installation/opt/program/../share/config/soffice.cfg/simpress/layoutlist.xml" > > for "installation" process. > > > > But for "Unit-Test" ,it expands to > > > "/home/vishv/Libre_Git/core/solver/unxlngx6/unittest/install/share/config/soffice.cfg/simpress/layoutlist.xml". > > Ok so some background knowdlege about why our unittests work > differently than a normal start. For unit tests we use a clean minimal > user profile that contains exactly the few entries that are necessary > to run the tests during a build. > > > > > I am using the above generated string in parseURI(string filepath) to get > > DOM structure and then traverse through XML for information. > > > > (4)So in-spite of unit-test errors, XML parser works perfectly,because > > correct path goes into the parseURI() in the installation process(i.e > > .install/program/simpress works well without any crashes). > > > > (5)The problem here is that path generated for unit-test check is wrong: > > > > Correct path should be: > > > "/home/vishv/Libre_Git/core/solver/unxlngx6/unittest/install/../user/share/config/soffice.cfg/simpress/layoutlist.xml" > > , because at this place a new "layoutlist.xml" is generated after > packaging. > > But the wrong path generated as stated above is > > > :"/home/vishv/Libre_Git/core/solver/unxlngx6/unittest/install/share/config/soffice.cfg/simpress/layoutlist.xml" > > It leads to errors (i.e failed to load external entity at "filepath..." > ) > > > > Also this scenario happens for the current configuration "effects.xml" > file > > as well. > > > > It would be great ,if someone can guide in correcting the "unit-test" > path > > and indeed removing the error.Also please correct me,if I am wrong in my > > observations. > > So if you need these files for the unit tests you need to tell the > tests that they should be copied to the tests profile. You can find > the test profile at test/user-template/ and the makefile copying them > to their destination folder at test/Package_unittest.mk. You might > just want to add some code to the makefile that takes your xml files > and copies them to the correct location. > > Regards, > Markus > ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [GSOC]Slide Layout Extendibility :Weekly Report #4
Hello Everyone, Here is the Link<http://vishvbrahmbhatt.wordpress.com/2013/07/14/slide-layout-extendibility-weekly-report-4/> to my blog for the weekly report update. Thanks & Regards, Vishv Brahmbhatt On Mon, Jul 8, 2013 at 9:10 PM, Vishv Brahmbhatt < vishvbrahmbhat...@gmail.com> wrote: > Hello Everyone, > In the beginning of the week,I was able to complete the required changes > in XML parser function(for extracting slide layout information). > > But,after that I was caught up with the unit-test error(related to > configuration XML file) for rest of the 4 days.It seemed to me as a bug in > the unit-test process,because in-spite of having made proper entry in the > "Package_unittest.mk" and "layoutlist.xml" being added at "unit-test" > file-path,the error came up(with wrongly generated path). I have already > posted my question to mailing-list > Link<http://nabble.documentfoundation.org/Unit-Test-Fail-Error-GSOC-Slide-Layout-Extendibility-td4064300.html> > and > I am thankful for the reply from Markus. > And I will soon resolve this error with appropriate guidance and > discussion on mailing-list/ IRC. > > As of now ,I have moved ahead with addition of some new layouts to > "layoutlist.xml". I will peak up more speed from now on-wards. > > Also for the current status: > + I pushed one commit with required changes(last week). > + XML parser works in-spite of unit-test errors. > + So information from configuration XML file "layoutlist.xml" is > extracted perfectly. > > Thanks & Regards, > Vishv Brahmbhatt > > On Mon, Jul 1, 2013 at 8:30 PM, Vishv Brahmbhatt < > vishvbrahmbhat...@gmail.com> wrote: > >> Hello Everyone, >> >> Here is the >> Link<http://vishvbrahmbhatt.wordpress.com/2013/07/01/slide-layout-extendibility-weekly-report-2/> >> to my blog for the weekly report update. >> >> Thanks & Regards, >> Vishv Brahmbhatt >> >> >> On Fri, Jun 21, 2013 at 6:34 PM, Vishv Brahmbhatt < >> vishvbrahmbhat...@gmail.com> wrote: >> >>> Hello Everyone, >>> >>> Before the beginning of this week ,I was debugging on impress slide >>> layouts.Basically,I got to understand the mechanism of creation of slide >>> layouts in the "normal" page,in the master pages like "notes" and "handout" >>> and much more. >>> >>> Currently in the slide layouts, Placeholder object's >>> height,width,position are hard-coded. So,I did following things during this >>> week: >>> >>> +So at first ,I started with creation of XML file which stores >>> following information: >>> (1) Layout Type >>> (2) "PresObj" Kind >>> (3) Position co-ordinates of "PresObj" >>> (4) Size of "PreObj"(Width and Height) >>> >>> + I have started coding XML parser, which will read this information >>> from XML file and set the appropriate parameters in the function >>> "CalcAutoLayoutRectangles" (This function calculates/sets the Top >>> Position,Height and Width of Rectangle "PresObj" used.) And this will >>> parser will help in bringing configurability with Slide Layouts. >>> >>> + So XML parser should be fully completed, probably by "Monday" or >>> "Tuesday"(mostly it should get completed by this weekend). >>> >>> + Next week,I will work on understanding "Slide Mater View" and on >>> using "Slide Mater View" to edit the current built-in layouts. >>> >>> Regards, >>> Vishv Brahmbhatt >>> >> >> > ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - officecfg/registry
officecfg/registry/schema/org/openoffice/Office/Impress.xcs |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit a837a7c573c5f35fbcf7b9375725282496b0f4c9 Author: Vishv Brahmbhatt Date: Thu Jul 11 18:29:29 2013 +0530 Solved the "unit-test" error related to parser. This error may also prevail with the unit-tests of "effects.xml & "transitions.xml" present in Impress.xcs. Change-Id: I2c661e62840911f9e21919e54271d30fd996798f diff --git a/officecfg/registry/schema/org/openoffice/Office/Impress.xcs b/officecfg/registry/schema/org/openoffice/Office/Impress.xcs index 61c7cab1..882f46e 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Impress.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Impress.xcs @@ -480,7 +480,7 @@ List of files containing list of layouts -vnd.sun.star.expand:$BRAND_BASE_DIR/share/config/soffice.cfg/simpress/layoutlist.xml +vnd.sun.star.expand:$BRAND_BASE_DIR/../user/config/soffice.cfg/simpress/layoutlist.xml ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - sd/source sd/xml test/user-template
sd/source/core/sdpage.cxx | 75 -- sd/xml/layoutlist.xml |2 test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml |2 3 files changed, 66 insertions(+), 13 deletions(-) New commits: commit 04f7fafadcda40d35b92aa580984e2bc7da03dbb Author: Vishv Brahmbhatt Date: Wed Jul 10 20:25:43 2013 +0530 Adding new Slide Layouts Samples to "layoutlist.xml". Have added new "Slide Layouts" samples.So commented out the code related to existing slide layouts in "sdpage.cxx" and also added some code for XML parsing of the new layouts. Change-Id: I8f5fdcab5f2eb41e37fa522a7801b388cbfefed5 diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index 96961a0..051cadc 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -1417,34 +1417,83 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe break; case 5: // title, 2 shapes above shape -aLayoutSize.Height() = long (aLayoutSize.Height() * 0.477); -aLayoutSize.Width() = long (aLayoutSize.Width() * 0.488); +// aLayoutSize.Height() = long (aLayoutSize.Height() * 0.477); +// aLayoutSize.Width() = long (aLayoutSize.Width() * 0.488); +// rRectangle[1] = Rectangle (aLayoutPos, aLayoutSize); + +// aTempPnt = aLayoutPos; +// aLayoutPos.X() = long (aLayoutPos.X() + aLayoutSize.Width() * 1.05); +// rRectangle[2] = Rectangle (aLayoutPos, aLayoutSize); + +// aLayoutPos.X() = aTempPnt.X(); +// aLayoutPos.Y() = long (aLayoutPos.Y() + aLayoutSize.Height() * 1.095); +// aLayoutSize.Width() = long (aLayoutSize.Width() / 0.488); +// rRectangle[3] = Rectangle (aLayoutPos, aLayoutSize); +// break; +readLayoutPropFromFile(root, "AUTOLAYOUT_TITLE_CONTENT_2CONTENT" ,"PRESOBJ_OUTLINE1" ,propvalue); +aLayoutPos.X() = propvalue[0]; +aLayoutPos.Y() = propvalue[1]; +aLayoutSize.Height() = propvalue[2]; +aLayoutSize.Width() = propvalue[3]; rRectangle[1] = Rectangle (aLayoutPos, aLayoutSize); -aTempPnt = aLayoutPos; -aLayoutPos.X() = long (aLayoutPos.X() + aLayoutSize.Width() * 1.05); +readLayoutPropFromFile(root, "AUTOLAYOUT_TITLE_CONTENT_2CONTENT" ,"PRESOBJ_OUTLINE2" ,propvalue); +aLayoutPos.X() = propvalue[0]; +aLayoutPos.Y() = propvalue[1]; +aLayoutSize.Height() = propvalue[2]; +aLayoutSize.Width() = propvalue[3]; rRectangle[2] = Rectangle (aLayoutPos, aLayoutSize); -aLayoutPos.X() = aTempPnt.X(); -aLayoutPos.Y() = long (aLayoutPos.Y() + aLayoutSize.Height() * 1.095); -aLayoutSize.Width() = long (aLayoutSize.Width() / 0.488); +readLayoutPropFromFile(root, "AUTOLAYOUT_TITLE_CONTENT_2CONTENT" ,"PRESOBJ_OUTLINE3" ,propvalue); +aLayoutPos.X() = propvalue[0]; +aLayoutPos.Y() = propvalue[1]; +aLayoutSize.Height() = propvalue[2]; +aLayoutSize.Width() = propvalue[3]; rRectangle[3] = Rectangle (aLayoutPos, aLayoutSize); break; case 6: // title, 4 shapes { -sal_uLong nX = long (aLayoutPos.X()); +// sal_uLong nX = long (aLayoutPos.X()); -aLayoutSize.Height() = long (aLayoutSize.Height() * 0.477); -aLayoutSize.Width() = long (aLayoutSize.Width() * 0.488); +// aLayoutSize.Height() = long (aLayoutSize.Height() * 0.477); +// aLayoutSize.Width() = long (aLayoutSize.Width() * 0.488); +// rRectangle[1] = Rectangle (aLayoutPos, aLayoutSize); + +// aLayoutPos.X() = long (nX + aLayoutSize.Width() * 1.05); +// rRectangle[2] = Rectangle (aLayoutPos, aLayoutSize); + +// aLayoutPos.Y() = long (aLayoutPos.Y() + aLayoutSize.Height() * 1.095); +// rRectangle[3] = Rectangle (aLayoutPos, aLayoutSize); + +// aLayoutPos.X() = nX; +// rRectangle[4] = Rectangle (aLayoutPos, aLayoutSize); +// break; +readLayoutPropFromFile(root, "AUTOLAYOUT_TITLE_4SCONTENT" ,"PRESOBJ_OUTLINE1" ,propvalue); +aLayoutPos.X() = propvalue[0]; +aLayoutPos.Y() = propvalue[1]; +aLayoutSize.Height() = propvalue[2]; +aLayoutSize.Width() = propvalue[3]; rRectangle[1] = Rectangle (aLayoutPos, aLayoutSize); -aLayoutPos.X() = long (nX + aLayoutSize.Width() * 1.05); +readLayoutPropFromFile(root, "AUTOLAYOUT_TITLE_4SCONTENT" ,"PRESOBJ_OUTLINE2" ,propvalue); +aLayoutPos.X() = propvalue[0]; +aLayoutPos.Y() = propvalue[1]; +aLayoutSize.Height() = propvalue[2]; +aLayoutSize.Width() = propvalue[3]; rRectangle[2] = Rectangle (aLayoutPos, aLayoutSize); -aL
[GSOC]Slide Layout Extendibility :Weekly Report #3
Hello Everyone, In the beginning of the week,I was able to complete the required changes in XML parser function(for extracting slide layout information). But,after that I was caught up with the unit-test error(related to configuration XML file) for rest of the 4 days.It seemed to me as a bug in the unit-test process,because in-spite of having made proper entry in the "Package_unittest.mk" and "layoutlist.xml" being added at "unit-test" file-path,the error came up(with wrongly generated path). I have already posted my question to mailing-list Link<http://nabble.documentfoundation.org/Unit-Test-Fail-Error-GSOC-Slide-Layout-Extendibility-td4064300.html> and I am thankful for the reply from Markus. And I will soon resolve this error with appropriate guidance and discussion on mailing-list/ IRC. As of now ,I have moved ahead with addition of some new layouts to "layoutlist.xml". I will peak up more speed from now on-wards. Also for the current status: + I pushed one commit with required changes(last week). + XML parser works in-spite of unit-test errors. + So information from configuration XML file "layoutlist.xml" is extracted perfectly. Thanks & Regards, Vishv Brahmbhatt On Mon, Jul 1, 2013 at 8:30 PM, Vishv Brahmbhatt < vishvbrahmbhat...@gmail.com> wrote: > Hello Everyone, > > Here is the > Link<http://vishvbrahmbhatt.wordpress.com/2013/07/01/slide-layout-extendibility-weekly-report-2/> > to my blog for the weekly report update. > > Thanks & Regards, > Vishv Brahmbhatt > > > On Fri, Jun 21, 2013 at 6:34 PM, Vishv Brahmbhatt < > vishvbrahmbhat...@gmail.com> wrote: > >> Hello Everyone, >> >> Before the beginning of this week ,I was debugging on impress slide >> layouts.Basically,I got to understand the mechanism of creation of slide >> layouts in the "normal" page,in the master pages like "notes" and "handout" >> and much more. >> >> Currently in the slide layouts, Placeholder object's >> height,width,position are hard-coded. So,I did following things during this >> week: >> >> +So at first ,I started with creation of XML file which stores following >> information: >> (1) Layout Type >> (2) "PresObj" Kind >> (3) Position co-ordinates of "PresObj" >> (4) Size of "PreObj"(Width and Height) >> >> + I have started coding XML parser, which will read this information from >> XML file and set the appropriate parameters in the function >> "CalcAutoLayoutRectangles" (This function calculates/sets the Top >> Position,Height and Width of Rectangle "PresObj" used.) And this will >> parser will help in bringing configurability with Slide Layouts. >> >> + So XML parser should be fully completed, probably by "Monday" or >> "Tuesday"(mostly it should get completed by this weekend). >> >> + Next week,I will work on understanding "Slide Mater View" and on >> using "Slide Mater View" to edit the current built-in layouts. >> >> Regards, >> Vishv Brahmbhatt >> > > ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Unit-Test Fail Error[GSOC: Slide Layout Extendibility]
Hi, I am working on "Slide Layout Extendibility" project for GSOC. As for one of my initial task,I had to set up XML file and parser which reads information from that XML file.So as of now the parser is working perfectly and even compilation works perfectly.But the "unit test" fails.I have been stuck on this error for last 4 days and it seems that,there is a bug in the "unit-test" process(for XML configuration files in Impress). And I am sharing this problem as per the advice of my mentor Thorsten(Please refer to my commit & Error links at the end): (1) So for setting up the configuration path of "layoutlist.xml" ,I have made an entry of "LayoutListFiles",similar to that of "EffectFiles" in "Impress.xcs:457". (2) The code processing of XML is similar to that in "core/sd/source/core/CustomAnimationPreset.cxx:300". (3) After using xNameAccess->getByName( "LayoutListFiles" ) >>= aFiles and expandMacros() function.The configuration file-path "* vnd.sun.star.expand:$BRAND_BASE_DIR/share/config/soffice.cfg/simpress/layoutlist.xml *" expands to "* /home/vishv/Libre_Git/core/solver/unxlngx6/installation/opt/program/../share/config/soffice.cfg/simpress/layoutlist.xml *" for "installation" process. But for "Unit-Test" ,it expands to "* /home/vishv/Libre_Git/core/solver/unxlngx6/unittest/install/share/config/soffice.cfg/simpress/layoutlist.xml *". I am using the above generated string in *parseURI(string filepath)* to get DOM structure and then traverse through XML for information. (4)So in-spite of unit-test errors, XML parser works perfectly,because correct path goes into the parseURI() in the installation process(i.e .install/program/simpress works well without any crashes). (5)The problem here is that path generated for unit-test check is wrong: Correct path should be: "* /home/vishv/Libre_Git/core/solver/unxlngx6/unittest/install/../user/share/config/soffice.cfg/simpress/layoutlist.xml *" , because at this place a new "layoutlist.xml" is generated after packaging. But the wrong path generated as stated above is :"* /home/vishv/Libre_Git/core/solver/unxlngx6/unittest/install/share/config/soffice.cfg/simpress/layoutlist.xml *" It leads to errors (i.e failed to load external entity at "filepath..." ) Also this scenario happens for the current configuration "effects.xml" file as well. It would be great ,if someone can guide in correcting the "unit-test" path and indeed removing the error.Also please correct me,if I am wrong in my observations. Here are the links of my commits and Errors for Reference: Error: Error-Link <http://pastebin.com/PPUuXXQt> feature/gsoc-impresslayout: Commit2<http://cgit.freedesktop.org/libreoffice/core/commit/?h=feature/gsoc-impresslayout&id=e2a23779c42a4b252706794dd7e89e975804c50e> & Commit3<http://cgit.freedesktop.org/libreoffice/core/commit/?h=feature/gsoc-impresslayout&id=d5a552ee01d491e85b76dbb9c373a019ce18a06a> Thanks and Regards, Vishv Brahmbhatt ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - officecfg/registry sd/source sd/xml test/user-template
officecfg/registry/schema/org/openoffice/Office/Impress.xcs| 11 +-- sd/source/core/sdpage.cxx | 31 +- sd/xml/layoutlist.xml |4 - test/user-template/user/config/soffice.cfg/simpress/layoutlist.xml |8 ++ 4 files changed, 31 insertions(+), 23 deletions(-) New commits: commit d5a552ee01d491e85b76dbb9c373a019ce18a06a Author: Vishv Brahmbhatt Date: Fri Jul 5 19:25:28 2013 +0530 Working version of XML parser from configuration file path Added some changes in the "getRootElement" and new "layoutlist.xml" is added for "unit-test" module. XML parser works perfectly in the installation,only the failure of "unit-test" is left to be solved. Some refactoring related to "layoutlist.xml" will be updated soon. Change-Id: If7ed3af40e9b6df26e20881728181eb6c82936d8 diff --git a/officecfg/registry/schema/org/openoffice/Office/Impress.xcs b/officecfg/registry/schema/org/openoffice/Office/Impress.xcs index fcb0e74..61c7cab1 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Impress.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Impress.xcs @@ -468,20 +468,19 @@ List of files containing object effects vnd.sun.star.expand:$BRAND_BASE_DIR/share/config/soffice.cfg/simpress/effects.xml + - - - -Contains a list of layout type.It contains +Contains a list of layout type.It contains properties of presobj like their Position, -Height and Width +Height and Width.Values are put through +macro expansion, so, vnd.sun.star.expand prefix +is allowed. List of files containing list of layouts vnd.sun.star.expand:$BRAND_BASE_DIR/share/config/soffice.cfg/simpress/layoutlist.xml - diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index 1bcda69..96961a0 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -66,6 +66,7 @@ #include #include #include +#include #include "../ui/inc/DrawDocShell.hxx" #include "Outliner.hxx" @@ -1192,12 +1193,11 @@ static const LayoutDescriptor& GetLayoutDescriptor( AutoLayout eLayout ) //to get the root element of the xml file Reference getRootElement() { -rtl::OUString filepath="/home/vishv/layoutlist.xml"; const Reference xContext(comphelper_getProcessComponentContext()); Reference< XMultiServiceFactory > xServiceFactory(xContext->getServiceManager(), UNO_QUERY_THROW ); Reference< util::XMacroExpander > xMacroExpander =util::theMacroExpander::get(xContext); Reference< XMultiServiceFactory > xConfigProvider =configuration::theDefaultProvider::get( xContext ); - // read path to transition effects files from config + Any propValue = uno::makeAny( beans::PropertyValue( "nodepath", -1, @@ -1208,31 +1208,32 @@ Reference getRootElement() xConfigProvider->createInstanceWithArguments( "com.sun.star.configuration.ConfigurationAccess", Sequence( &propValue, 1 ) ), UNO_QUERY_THROW ); -uno::Sequence< OUString > aFiles; +Sequence< rtl::OUString > aFiles; xNameAccess->getByName( "LayoutListFiles" ) >>= aFiles; - +rtl::OUString aURL; for( sal_Int32 i=0; iexpandMacros( aMacro ); } -SvStream* pIStm = ::utl::UcbStreamHelper::CreateStream( aURL, STREAM_READ ); -::utl::OInputStreamWrapper* isw=new ::utl::OInputStreamWrapper( pIStm); -Reference xIs(isw); - -rtl::OUString sServName = rtl::OUString::createFromAscii("com.sun.star.xml.dom.DocumentBuilder"); -Reference xDb( xServiceFactory->createInstance(sServName), UNO_QUERY); -const Reference xDom(xDb->parse(xIs), UNO_QUERY_THROW ); -const Reference xRoot( xDom->getDocumentElement(),UNO_QUERY_THROW ); -return xRoot;//this loops seems to work only once,so temporary returning the root element } +if( aURL.startsWith( "file://" ) ) +{ +rtl::OUString aSysPath; +if( osl_getSystemPathFromFileURL( aURL.pData, &aSysPath.pData ) == osl_File_E_None ) +aURL = aSysPath; +} +const Reference xDocBuilder(css::xml::dom::DocumentBuilder::create(comphelper::getComponentContext(xServiceFactory))); +const Reference xDoc = xDocBuilder->parseURI(aURL); +const Reference xRoot = xDoc->getDocumentElement(); +return xRoot;//this loops seems to work only once,so temporary returning the root element } //read the information from XML file(traversing from layout node) diff --git a/sd
[GSOC]Slide Layout Extendibility :Weekly Report #2
Hello Everyone, Here is the Link<http://vishvbrahmbhatt.wordpress.com/2013/07/01/slide-layout-extendibility-weekly-report-2/> to my blog for the weekly report update. Thanks & Regards, Vishv Brahmbhatt On Fri, Jun 21, 2013 at 6:34 PM, Vishv Brahmbhatt < vishvbrahmbhat...@gmail.com> wrote: > Hello Everyone, > > Before the beginning of this week ,I was debugging on impress slide > layouts.Basically,I got to understand the mechanism of creation of slide > layouts in the "normal" page,in the master pages like "notes" and "handout" > and much more. > > Currently in the slide layouts, Placeholder object's height,width,position > are hard-coded. So,I did following things during this week: > > +So at first ,I started with creation of XML file which stores following > information: > (1) Layout Type > (2) "PresObj" Kind > (3) Position co-ordinates of "PresObj" > (4) Size of "PreObj"(Width and Height) > > + I have started coding XML parser, which will read this information from > XML file and set the appropriate parameters in the function > "CalcAutoLayoutRectangles" (This function calculates/sets the Top > Position,Height and Width of Rectangle "PresObj" used.) And this will > parser will help in bringing configurability with Slide Layouts. > > + So XML parser should be fully completed, probably by "Monday" or > "Tuesday"(mostly it should get completed by this weekend). > > + Next week,I will work on understanding "Slide Mater View" and on using > "Slide Mater View" to edit the current built-in layouts. > > Regards, > Vishv Brahmbhatt > ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice-commits] core.git: Branch 'feature/gsoc-impresslayout' - officecfg/registry sd/Package_xml.mk sd/source sd/xml test/Package_unittest.mk
officecfg/registry/schema/org/openoffice/Office/Impress.xcs | 14 ++ sd/Package_xml.mk |1 sd/source/core/sdpage.cxx | 59 +++- sd/xml/layoutlist.xml |8 + test/Package_unittest.mk|1 5 files changed, 79 insertions(+), 4 deletions(-) New commits: commit e2a23779c42a4b252706794dd7e89e975804c50e Author: Vishv Brahmbhatt Date: Sat Jun 29 02:55:37 2013 +0530 Changing the XML parser with configuration file path Updating the "getRootElement" function.So "layoutlist.xml" can be read from actual configuration path. Change-Id: Iee636d32e629e935e46a18572646659780ae20e3 diff --git a/officecfg/registry/schema/org/openoffice/Office/Impress.xcs b/officecfg/registry/schema/org/openoffice/Office/Impress.xcs index 8161806..fcb0e74 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Impress.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Impress.xcs @@ -468,6 +468,20 @@ List of files containing object effects vnd.sun.star.expand:$BRAND_BASE_DIR/share/config/soffice.cfg/simpress/effects.xml + + + + + + +Contains a list of layout type.It contains +properties of presobj like their Position, +Height and Width + + List of files containing list of layouts + +vnd.sun.star.expand:$BRAND_BASE_DIR/share/config/soffice.cfg/simpress/layoutlist.xml + diff --git a/sd/Package_xml.mk b/sd/Package_xml.mk index 94e9607..3c997e0 100644 --- a/sd/Package_xml.mk +++ b/sd/Package_xml.mk @@ -14,6 +14,7 @@ $(eval $(call gb_Package_set_outdir,sd_xml,$(INSTDIR))) $(eval $(call gb_Package_add_files,sd_xml,share/config/soffice.cfg/simpress,\ effects.xml \ transitions.xml \ + layoutlist.xml \ )) # vim: set noet sw=4 ts=4: diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index 9dbe297..1bcda69 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -57,6 +57,15 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include "../ui/inc/DrawDocShell.hxx" #include "Outliner.hxx" @@ -81,9 +90,15 @@ using namespace ::sd; using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; using namespace com::sun::star::xml::dom; using ::com::sun::star::uno::Reference; +using ::com::sun::star::io::XInputStream; +using ::com::sun::star::lang::XMultiServiceFactory; +using ::com::sun::star::container::XNameAccess; +using ::com::sun::star::beans::PropertyValue; + TYPEINIT2( SdPage, FmFormPage, SdrObjUserCall ); @@ -1173,15 +1188,51 @@ static const LayoutDescriptor& GetLayoutDescriptor( AutoLayout eLayout ) return aLayouts[ eLayout - AUTOLAYOUT__START ]; } +#define EXPAND_PROTOCOL "vnd.sun.star.expand:" //to get the root element of the xml file Reference getRootElement() { rtl::OUString filepath="/home/vishv/layoutlist.xml"; const Reference xContext(comphelper_getProcessComponentContext()); -const Reference xDocBuilder(css::xml::dom::DocumentBuilder::create(xContext)); -const Reference xDoc = xDocBuilder->parseURI(filepath); -const Reference xRoot = xDoc->getDocumentElement(); -return xRoot; +Reference< XMultiServiceFactory > xServiceFactory(xContext->getServiceManager(), UNO_QUERY_THROW ); +Reference< util::XMacroExpander > xMacroExpander =util::theMacroExpander::get(xContext); +Reference< XMultiServiceFactory > xConfigProvider =configuration::theDefaultProvider::get( xContext ); + // read path to transition effects files from config +Any propValue = uno::makeAny( +beans::PropertyValue( +"nodepath", -1, +uno::makeAny( OUString( "/org.openoffice.Office.Impress/Misc" )), +beans::PropertyState_DIRECT_VALUE ) ); + +Reference xNameAccess( +xConfigProvider->createInstanceWithArguments( +"com.sun.star.configuration.ConfigurationAccess", +Sequence( &propValue, 1 ) ), UNO_QUERY_THROW ); +uno::Sequence< OUString > aFiles; +xNameAccess->getByName( "LayoutListFiles" ) >>= aFiles; + +for( sal_Int32 i=0; iexpandMacros( aMacro ); +} +SvStream* pIStm = ::utl::UcbStreamHelper::CreateStream( aURL, STREAM_READ ); +::utl::OInputStreamWrapper* isw=new ::utl::OInputStreamWrapper( pIStm); +Reference xIs(isw); + +rtl::OUString sServName = rtl::OUString::createFromAscii("com.sun.star.xml.dom.DocumentBuilder"); +Reference xDb( xServiceFactory-
[Libreoffice-commits] core.git: Changes to 'feature/gsoc-impresslayout'
New branch 'feature/gsoc-impresslayout' available with the following commits: commit ca67297df1f85aed21f150c9824a7bbf12853ec8 Author: Vishv Brahmbhatt Date: Tue Jun 25 18:59:00 2013 +0530 Creation of XML parser function Updating the first working version of parser function "readLayoutPropFromFile".And it parses information from XML file for layout "AUTOLAYOUT_TITLE_2VTEXT". Change-Id: I24a52ae8c2b0c18ef806d9723d7eb6a7e43a20ec ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[GSOC]Slide Layout Extendibility :Weekly Report #1
Hello Everyone, Before the beginning of this week ,I was debugging on impress slide layouts.Basically,I got to understand the mechanism of creation of slide layouts in the "normal" page,in the master pages like "notes" and "handout" and much more. Currently in the slide layouts, Placeholder object's height,width,position are hard-coded. So,I did following things during this week: +So at first ,I started with creation of XML file which stores following information: (1) Layout Type (2) "PresObj" Kind (3) Position co-ordinates of "PresObj" (4) Size of "PreObj"(Width and Height) + I have started coding XML parser, which will read this information from XML file and set the appropriate parameters in the function "CalcAutoLayoutRectangles" (This function calculates/sets the Top Position,Height and Width of Rectangle "PresObj" used.) And this will parser will help in bringing configurability with Slide Layouts. + So XML parser should be fully completed, probably by "Monday" or "Tuesday"(mostly it should get completed by this weekend). + Next week,I will work on understanding "Slide Mater View" and on using "Slide Mater View" to edit the current built-in layouts. Regards, Vishv Brahmbhatt ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [GSOC Introduction]Slide Layout Extendibility
Hi Thorsten, Thanks for the code pointers.Currently,I am getting my LO build to the latest version.I will stay connected on IRC for further queries. Regards, Vishv On Tue, May 28, 2013 at 4:15 PM, Thorsten Behrens < t...@documentfoundation.org> wrote: > Vishv Brahmbhatt wrote: > > I am very much exited to hear that I have been selected as one of > > the student to work on LibreOffice for GSOC-2013 summer! > > > Hi Vishv, > > a very warm welcome also from our side - truly happy to have you > hacking on Impress over the summer! :) > > > I have gone through the guidelines of "LibreOffice Community" for > > GSOC. I am eager to dive into the code early.I am not habituate in > > writing Blogs,but I'll soon start blogging about my progress on the > > project and update the mailing-list with my weekly-report. > > > Right, getting into the habit of regular public updates early would be > good, and with a blog, you can build a readership at the same time. :) > > So the next steps are, making yourself comfortable with a recent > master build, get sd with debug symbols, and start wrapping your head > around how this is currently implemented. Code to read / place to > stick a breakpoint into and single-stepping is: > > sd/source/core/sdpage.cxx:AsCalcAutoLayoutRectangles() > > Happy hacking, > > -- Thorsten > ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[GSOC Introduction]Slide Layout Extendibility
Hello Everyone, I am very much exited to hear that I have been selected as one of the student to work on LibreOffice for GSOC-2013 summer! I am greatly thankful to all the community members for their support and faith in me. I will be hacking on LibreOffice to improve the "Slide Layouts" in the LibreOffice Impress. Preciously to make Slide Layouts configurable and user-extendible, with the valuable support of my mentor Thorsten Behrens. Here is the Link of my Proposal<https://google-melange.appspot.com/gsoc/proposal/review/google/gsoc2013/vishv/1> which describes the broad aspects of my idea.I will be devising an accurate plan with finest of details and will do my work in accordance to guidelines and assistance of my mentor and community. I have gone through the guidelines of "LibreOffice Community" for GSOC. I am eager to dive into the code early.I am not habituate in writing Blogs,but I'll soon start blogging about my progress on the project and update the mailing-list with my weekly-report. As described in the proposal,my contact number is +91-9428808343 and I will be working from Ahmedabad,India(UTC+0530) throughout the summer.Also,I am "vis19" on IRC. It would be great to hear back from you for this project.Please feel free to provide me your valuable feedback. Thanks a lot again for providing me this opportunity. Regards, Vishv Brahmbhatt IRC-vis19 Mobile:+91-9428808343 ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Patch] Bug 47302-Adding a new field in "Insert->Fields"
Hi, I am hereby attaching my patch for review. Please guide me, if I have made any mistakes. Also there is new file created @offapi/com/sun/star/text/textfield/SlideName.idl for the patch. So I am attaching that file too. Thanks and Regards, Vishv 1_Bug47302.patch Description: Binary data SlideName.idl Description: Binary data ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[PATCH] fdo#62099 UI: More intuitive text for menu 'Insert - File' C...
aw/menubar/menubar.xml +++ b/sd/uiconfig/sdraw/menubar/menubar.xml @@ -196,7 +196,7 @@ - + diff --git a/sd/uiconfig/sdraw/toolbar/insertbar.xml b/sd/uiconfig/sdraw/toolbar/insertbar.xml index 4a06355..35cc15f 100644 --- a/sd/uiconfig/sdraw/toolbar/insertbar.xml +++ b/sd/uiconfig/sdraw/toolbar/insertbar.xml @@ -22,7 +22,7 @@ - + -- To view, visit https://gerrit.libreoffice.org/3193 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I80a1aef56b3a8fa0e1939e63dd2607e18757687d Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Vishv Brahmbhatt ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Need Help for Bug:47302
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 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. 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? (2) How can I handle renaming of the Slide (with my existing code) and the slide name can automatically change in the text-field? (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? 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? In-spite of many attempts ,I am not able to get further clue about this problem.So any sort of help is appreciated. Thanks and Regards, Vishv Bug47302.patch Description: Binary data ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: Need Help for Bug 47302 - Adding a new field in "Insert->Fields"
I have the following(attached) *Reply* from one of the developers for my Earlier Query. But I am slightly confused with my approach in solving the problem: After testing some code instances ,I have found out that code for "Insert->Fields->Slide Name" (impress) can be added here * drviewsb.cxx file * And Using the method define at *drviewsb.cxx*, I am planning to follow this approach: (1)For getting a *Slide Name. *Create a class (similar to the class) which is define at *flditem.hxx* . (2)Use the class created above in deriving the SvxFieldItem( ) at * drviewsb.cxx* . (3)As I am not familiar with UNO references used in the *flditem.hxx* , I am not sure whether this is a right approach or some other approach is available. So if someone can guide me with the approach ,it would be really helpful. *drviewsb.cxx file* - http://opengrok.libreoffice.org/xref/core/sd/source/ui/view/drviewsb.cxx#520 *flditem.hxx*- http://opengrok.libreoffice.org/xref/core/editeng/inc/editeng/flditem.hxx#182 Eagerly waiting for the needed answer. Regards, Vishv *Reply* > In order to actually implement the feature, you should follow the > SID_INSERT_FLD_PAGE use cases in .cxx files also: > > http://opengrok.libreoffice.org/search?q=&project=core&defs=&refs=SID_INSERT_FLD_PAGE&path=%2Fcore%2Fsd%2Fsource%2Fui%2Fview%2F&hist= > > Here you can see what "insert field page" does (when in draw view): > > http://opengrok.libreoffice.org/xref/core/sd/source/ui/view/drviewsb.cxx#484 > > As far as I understand, you should derive an SvxFieldItem for hold a > text data - but I'm not sure at all. Maybe you should check some > Writer fields... > > You can get slide name by SdPage::GetName() > http://opengrok.libreoffice.org/xref/core/sd/inc/sdpage.hxx#282 > http://opengrok.libreoffice.org/xref/core/sd/source/core/sdpage.cxx#2508 > > while you can retrieve the SdPage by index here SdDrawDocument::GetSdPage() > http://opengrok.libreoffice.org/xref/core/sd/source/core/drawdoc2.cxx#199 > > Maybe you can get some clues here > > http://opengrok.libreoffice.org/xref/core/sd/source/ui/view/drviewsb.cxx#710 > > > Regards. > > 2013/2/13 Vishv Brahmbhatt : > > Hi, > > I need help for this bug > https://bugs.freedesktop.org/show_bug.cgi?id=47302 > > .I am little inexperienced at scripting(xml). So I want help for my > Query. > > > > As per comment#1 at the above link.I have done following steps: > > > > 1)Added a menuitem with label "~Slide Name" at > > > http://opengrok.libreoffice.org/xref/core/scripting/workben/bindings/impressmenubar.xml#190 > . > > > > 2)Added a node oor:name=".uno:InsertSlideField" with value="~Slide Name" > at > > > http://opengrok.libreoffice.org/xref/core/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu#534 > > > > 3)Added a menuitem with menu:id=".uno:InsertSlideField" at > > > http://opengrok.libreoffice.org/xref/core/sd/uiconfig/simpress/menubar/menubar.xml#147 > > > > 4)Define SID_INSERT_FLD_SLIDE at > > http://opengrok.libreoffice.org/xref/core/sd/inc/app.hrc#379 > > > > 5)Added a function SfxVoidItem InsertSlideField SID_INSERT_FLD_SLIDE at > > http://opengrok.libreoffice.org/xref/core/sd/sdi/sdraw.sdi#3472 > > > > > > Using above procedure I am able to get "~Slide Name" option in > > Insert->Fields->Slide Name.But it is not active/working. > > > > So here is my Query: > > > > (1)Do I need to use some helper functions for viewing & getting "Slide > Name" > > ? > > > > If yes ,then which function do I have to use and where can I use it to > make > > "Slide Name" option active? > > > > Or I have to make some changes in the above given steps? > > > > > > Eagerly waiting to get some answers in this query. > > > > Regards, > > Vishv > > > > ___ > > LibreOffice mailing list > > LibreOffice@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/libreoffice > > > ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Need Help for Bug 47302 - Adding a new field in "Insert->Fields"
Hi, I need help for this bug https://bugs.freedesktop.org/show_bug.cgi?id=47302 .I am little inexperienced at scripting(xml). So I want help for my Query. As per *comment#1* at the above link.I have done following steps: 1)Added a menuitem with label "*~Slide Name*" at http://opengrok.libreoffice.org/xref/core/scripting/workben/bindings/impressmenubar.xml#190 . 2)Added a node oor:name=".uno:*InsertSlideField*" with value="*~Slide Name*" at http://opengrok.libreoffice.org/xref/core/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu#534 3)Added a menuitem with menu:id="*.uno:InsertSlideField*" at http://opengrok.libreoffice.org/xref/core/sd/uiconfig/simpress/menubar/menubar.xml#147 4)Define *SID_INSERT_FLD_SLIDE* at http://opengrok.libreoffice.org/xref/core/sd/inc/app.hrc#379 5)Added a function *SfxVoidItem InsertSlideField SID_INSERT_FLD_SLIDE* at http://opengrok.libreoffice.org/xref/core/sd/sdi/sdraw.sdi#3472 Using above procedure I am able to get "~*Slide Name*" option in *Insert->Fields->Slide Name*.But it is not active/working. *So here is my Query:* (1)Do I need to use some helper functions for viewing & getting "*Slide Name *" ? If yes ,then which function do I have to use and where can I use it to make "*Slide Name*" option active? Or I have to make some *changes* in the above given steps? Eagerly waiting to get some answers in this query. Regards, Vishv ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Change in core[master]: fdo#59397 Use more precise wording at 'Find & Replace - Mor...
aLayoutBtn.SetText( aStylesStr ); +} + + bFormat = sal_False; aLayoutBtn.Check( sal_False ); diff --git a/svx/source/dialog/srchdlg.src b/svx/source/dialog/srchdlg.src index 8b45d93..a6c7d6b 100644 --- a/svx/source/dialog/srchdlg.src +++ b/svx/source/dialog/srchdlg.src @@ -28,6 +28,14 @@ { Text [ en-US ] = "Including Styles" ; }; +String RID_SVXSTR_WRITER_STYLES +{ +Text [ en-US ] = "Search for Paragraph St~yles" ; +}; +String RID_SVXSTR_CALC_STYLES +{ +Text [ en-US ] = "Search for Cell St~yles" ; +}; String RID_SVXSTR_SEARCH { Text [ en-US ] = "(Search)" ; -- To view, visit https://gerrit.libreoffice.org/1905 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5013e8b2ce99478f2445756e181f009b93d4e746 Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Vishv Brahmbhatt ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: "Need help for "Bug 59397 - UI: Use more precise wording at 'Find & Replace - More Options - Styles' "
Hi, I need help for this bug https://bugs.freedesktop.org/show_bug.cgi?id=59397. I am slightly confused with my approach in solving this bug, so I need help for it. I am using this approach for solving the bug: I am planning to create a separate CheckBox(with modified Text) for "calc" ,similar to which is defined in the* src *file and then create a function similiar to *aLayoutBtn* in this* cxx *file and make necessary changes at the *change *line mentioned below.Is this the correct approach or some other approach possible? *src* file - http://opengrok.libreoffice.org/xref/core/svx/source/dialog/srchdlg.src#284 *cxx *file - http://opengrok.libreoffice.org/xref/core/svx/source/dialog/srchdlg.cxx#282 *change* line- http://opengrok.libreoffice.org/xref/core/svx/source/dialog/srchdlg.cxx#728 Hoping for the needed guidance in this matter. Regards, Vishv On Fri, Jan 18, 2013 at 12:11 AM, Joren wrote: > > Op 17-01-13 19:14, Vishv Brahmbhatt schreef: > > Hi, > > I need help for this bug > https://bugs.freedesktop.org/show_bug.cgi?id=59397 . > > Can someone help me in suggesting the good starting point/code pointer > for this hack? > > Also where can I find the layout file for *Edit->Find & Replace* in > Writer & Calc (i.e in which module is it defined)? > > I think you can find it here > http://opengrok.libreoffice.org/xref/core/svx/source/dialog/srchdlg.src#284 > > Kind regards, > Joren > > > > ___ > LibreOffice mailing list > LibreOffice@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/libreoffice > > ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
"Need help for "Bug 59397 - UI: Use more precise wording at 'Find & Replace - More Options - Styles' "
Hi, I need help for this bug https://bugs.freedesktop.org/show_bug.cgi?id=59397 . Can someone help me in suggesting the good starting point/code pointer for this hack? Also where can I find the layout file for *Edit->Find & Replace* in Writer & Calc (i.e in which module is it defined)? Eagerly waiting to get some answers in this query. Regards, Vishv ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Email-Introduction
Hello, I am Vishv Brahmbhatt. I am a student of Dhirubhai Ambani Institute of Information and Communication Technology(DA-IICT),India. I am new to the open source community and LibreOffice community. I am very much interested in contributing to the community and also work for the LibreOffice in GSOC. I have a keen interest in the UI development,so please guide me how can I start contributing to LibreOffice. Thanks. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice