ooo-build r12670 - in trunk: . patches/dev300



Author: jannieuw
Date: Mon May 26 15:21:53 2008
New Revision: 12670
URL: http://svn.gnome.org/viewvc/ooo-build?rev=12670&view=rev

Log:
2008-05-26  Jan Nieuwenhuizen  <janneke gnu org>

	* patches/dev300/layout-tab-toolkit.diff: Update from GIT: fix
	documentation on how to run test app, add some debug code.


Modified:
   trunk/ChangeLog
   trunk/patches/dev300/layout-tab-toolkit.diff

Modified: trunk/patches/dev300/layout-tab-toolkit.diff
==============================================================================
--- trunk/patches/dev300/layout-tab-toolkit.diff	(original)
+++ trunk/patches/dev300/layout-tab-toolkit.diff	Mon May 26 15:21:53 2008
@@ -1,8 +1,8 @@
 diff --git a/doc/layout/README b/doc/layout/README
-index 1e3737f..a3bf2d2 100644
+index 1e3737f..d7ced38 100644
 --- toolkit/doc/layout/README
 +++ toolkit/doc/layout/README
-@@ -2,19 +2,34 @@ Layout engine for OpenOffice.org  -  Work in Progress
+@@ -2,19 +2,15 @@ Layout engine for OpenOffice.org  -  Work in Progress
  
  Simple dialogs have been ported now: zoom and wordcount.
  
@@ -18,31 +18,21 @@
 +* [d]make all
  
 -* dmake install DESTDIR=$(pwd)/ooo-layout/
-+* [d]make install DESTDIR=$(pwd)/ooo-layout/
- 
+-
 -* Source refresh in workben/layout, do something like
-+* Compile test program in toolkit/workben/layout
- 
+-
 -    cd toolkit/workben/layout && . ./refresh --inst .../ooo-layout/
-+  cd toolkit/workben/layout && dmake all
-+
-+| Currently broken on dev300 installation: m3 < dev300 <= m10.
-+|
-+| * Run it on any .xml file
-+|
-+|   ../../$INPATH/bin/test --inst .../ooo-layout/ zoom.xml
-+|
-+| * Run it for specific dialogs, see test.cxx
-+|
-+|   ../../$INPATH/bin/test --inst .../ooo-layout/ --test zoom
-+|   ../../$INPATH/bin/test --inst .../ooo-layout/ --test wordcount
-+|
-+| * Or source refresh in workben/layout, do something like
-+|
-+|     cd toolkit/workben/layout && . ./refresh --inst .../ooo-layout/
++* [d]make install DESTDIR=$(pwd)/ooo-layout/
  
  Integration into OOo:
  
+@@ -24,3 +20,5 @@ Integration into OOo:
+   ./soffice.bin
+ 
+   Start a [Writer] document and choose View/Zoom or Extra/Word count.
++
++* Also See workben/layout/README.
+\ No newline at end of file
 diff --git a/inc/layout/layout-post.hxx b/inc/layout/layout-post.hxx
 index 25e1cfc..09f90bf 100644
 --- toolkit/inc/layout/layout-post.hxx
@@ -542,10 +532,53 @@
  
      return children;
 diff --git a/source/layout/helper.cxx b/source/layout/helper.cxx
-index 78cdbd4..e2c9eae 100644
+index 78cdbd4..08b3a93 100644
 --- toolkit/source/layout/helper.cxx
 +++ toolkit/source/layout/helper.cxx
-@@ -254,7 +254,7 @@ PropHelper::getInfoHelper()
+@@ -40,6 +40,7 @@
+ #include <com/sun/star/awt/WindowAttribute.hpp>
+ #include <com/sun/star/awt/XWindow.hpp>
+ #include <com/sun/star/awt/VclWindowPeerAttribute.hpp>
++#include <toolkit/awt/vclxwindow.hxx>
+ #include <tools/debug.hxx>
+ 
+ #include "proplist.hxx"
+@@ -154,14 +155,31 @@ createToolkitWidget( uno::Reference< awt::XToolkit > xToolkit,
+     {
+         desc.Type = awt::WindowClass_SIMPLE;
+ 
++#if 0
+         // top container -- a wrapper for framewindow -- is de-coupled
+         // from awt::XWindowPeer. So, getParent() fails at it.
+-//            uno::Reference< awt::XWindowPeer > xWinParent = getParent( xParent );
+-
++        uno::Reference< awt::XWindowPeer > xWinParent = getParent( xParent );
++#else
+         uno::Reference< awt::XWindowPeer > xWinParent( xParent, uno::UNO_QUERY );
+-
++#endif
+         assert( xParent.is() );
+         assert( xWinParent.is() );
++        /*
++          With the new three layer instarr/rpath feature, when
++          prepending toolkit/unxlngx6.pro/lib or $SOLARVER/lib to
++          LD_LIBRARY_PATH, VCLXWindow::GetImplementation returns 0x0
++          vclxtoolkit::ImplCreateWindow failing to create any widget;
++          although it succeeds here.
++
++          While developing, one now must copy libtlx.so to
++          $OOO_INSTALL_PREFIX/openoffice.org/basis3.0/program/libtklx.so
++          each time.
++        */
++		VCLXWindow* pParentComponent = VCLXWindow::GetImplementation( xWinParent );
++        if ( !pParentComponent )
++            throw uno::RuntimeException(
++                OUString::createFromAscii( "parent has no implementation" ),
++                uno::Reference< uno::XInterface >() );
+         desc.Parent = xWinParent;
+     }
+ 
+@@ -254,7 +272,7 @@ PropHelper::getInfoHelper()
      if ( ! pHelper )
      {
          uno::Sequence< beans::Property > aProps( maDetails.size() );
@@ -554,7 +587,7 @@
          {
              aProps[i].Name = maDetails[i].aName;
              aProps[i].Type = maDetails[i].aType;
-@@ -349,10 +349,11 @@ PropHelper::queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::
+@@ -349,10 +367,11 @@ PropHelper::queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::
  #include <awt/vclxbutton.hxx>
  #include <awt/vclxdialog.hxx>
  #include <awt/vclxfixedline.hxx>
@@ -567,7 +600,7 @@
  #include <toolkit/awt/vclxtoolkit.hxx>
  #include <toolkit/awt/vclxwindow.hxx>
  #include <vcl/button.hxx>
-@@ -366,6 +367,8 @@ PropHelper::queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::
+@@ -366,6 +385,8 @@ PropHelper::queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::
  namespace layoutimpl
  {
  
@@ -576,7 +609,7 @@
  uno::Reference< awt::XLayoutConstrains > ImplCreateWindow(
      uno::Reference< uno::XInterface > xParent,
      OUString aName, long WindowAttributes )
-@@ -488,6 +491,13 @@ uno::Reference< awt::XLayoutConstrains > ImplCreateWindow(
+@@ -488,6 +509,13 @@ uno::Reference< awt::XLayoutConstrains > ImplCreateWindow(
          OSL_TRACE( "%s: parent=%p (%s)\n", __FUNCTION__, pParent, typeid( *pParent ).name() );
          pNewComp = new layoutimpl::VCLXPlugin( pNewWindow, ImplGetWinBits( WindowAttributes, 0 ) );
      }
@@ -604,7 +637,7 @@
              OUString( RTL_CONSTASCII_USTRINGPARAM( "invalid namespace!" ) ),
              uno::Reference< uno::XInterface >(), uno::Any() );
 diff --git a/source/layout/proplist.cxx b/source/layout/proplist.cxx
-index eef28ea..b65f918 100644
+index eef28ea..02b510a 100644
 --- toolkit/source/layout/proplist.cxx
 +++ toolkit/source/layout/proplist.cxx
 @@ -200,8 +200,8 @@ uno::Any anyFromString( OUString const& value, uno::Type const& type )
@@ -693,6 +726,30 @@
      {
          if ( findAndRemove( attribsMap[i].name, rProps, aValue ) )
          {
+diff --git a/source/layout/proplist.hxx b/source/layout/proplist.hxx
+index 59a1b4f..446bd48 100644
+--- toolkit/source/layout/proplist.hxx
++++ toolkit/source/layout/proplist.hxx
+@@ -62,8 +62,18 @@ bool findAndRemove( const char *pAttr, PropList &rProps, rtl::OUString &rValue);
+ 
+ }
+ 
+-// Convert a rtl::OUString to a byte string.
++#if !OUSTRING_CSTR_PARANOIA
+ #define OUSTRING_CSTR( str ) \
+     rtl::OUStringToOString( str, RTL_TEXTENCODING_ASCII_US ).getStr()
++#else
++
++inline char const* OUSTRING_CSTR( rtl::OUString const& str )
++{
++    rtl::OString *leak
++        = new rtl::OString (rtl::OUStringToOString (str, RTL_TEXTENCODING_ASCII_US));
++    return leak->getStr();
++}
++
++#endif
+ 
+ #endif // CORE_PROPLIST_HXX
 diff --git a/source/layout/root.cxx b/source/layout/root.cxx
 index 3cec64e..906ceae 100644
 --- toolkit/source/layout/root.cxx
@@ -1438,36 +1495,43 @@
          , other_par( new other_par##Impl( Window::GetPeer() ) ) \
 diff --git a/workben/layout/README b/workben/layout/README
 new file mode 100644
-index 0000000..1e02c46
+index 0000000..d1a9494
 --- /dev/null
 +++ toolkit/workben/layout/README
-@@ -0,0 +1,35 @@
+@@ -0,0 +1,42 @@
 +Testing workbench and editor for Layout engine.
 +
 +* Configure using --enable-layout.
 +
 +* [d]make all
 +
-+* [d]make install DESTDIR=$(pwd)/ooo-layout/
++* export OOO_INSTALL_PREFIX=$(pwd)/ooo-layout
++
++* [d]make install DESTDIR=$OOO_INSTALL_PREFIX
 +
 +* Compile test program in toolkit/workben/layout
 +
 +  cd toolkit/workben/layout && dmake all
 +
-+| Currently broken on dev300 installation: m3 < dev300 <= m10.
++* FIXME: New three layer install/rpath feature needs these workarounds
 +|
-+| * Run it on any .xml file
++|  cp -f ../..$INPATH/lib/libtkx.so $OOO_INSTALL_PREFIX/openoffice.org/basis3.0/program
++|  export LD_LIBRARY_PATH=$OOO_INSTALL_PREFIX/openoffice.org/basis3.0/program:$OOO_INSTALL_PREFIX/openoffice.org/ure/lib
 +|
-+|   ../../$INPATH/bin/test --inst .../ooo-layout/ zoom.xml
-+|
-+| * Run it for specific dialogs, see test.cxx
-+|
-+|   ../../$INPATH/bin/test --inst .../ooo-layout/ --test zoom
-+|   ../../$INPATH/bin/test --inst .../ooo-layout/ --test wordcount
-+|
-+| * Or source refresh in workben/layout, do something like
-+|
-+|     cd toolkit/workben/layout && . ./refresh --inst .../ooo-layout/
++|  (see source/layout/helper.cxx)
++
++* Run it on any .xml file
++
++  ../../$INPATH/bin/test [--inst $OOO_INSTALL_PREFIX] zoom.xml
++
++* Run it for specific dialogs, see test.cxx
++
++   ../../$INPATH/bin/test [--inst $OOO_INSTALL_PREFIX] --test zoom
++   ../../$INPATH/bin/test [--inst $OOO_INSTALL_PREFIX] --test wordcount
++
++* Or source refresh in workben/layout, do something like
++
++   cd toolkit/workben/layout && . ./refresh [--inst $OOO_INSTALL_PREFIX]
 +
 +Integration into OOo:
 +
@@ -1477,6 +1541,22 @@
 +  ./soffice.bin
 +
 +  Start a [Writer] document and choose View/Zoom or Extra/Word count.
+diff --git a/workben/layout/editor.cxx b/workben/layout/editor.cxx
+index a13030e..c09d2c5 100644
+--- toolkit/workben/layout/editor.cxx
++++ toolkit/workben/layout/editor.cxx
+@@ -66,11 +66,6 @@ using rtl::OUString;
+ #include "root.hxx"
+ #include "helper.hxx"
+ 
+-//** Utilities
+-
+-#define OUSTRING_CSTR( str ) \
+-    rtl::OUStringToOString( str, RTL_TEXTENCODING_ASCII_US ).getStr()
+-
+ // TODO: automatically generated
+ struct WidgetSpec {
+     const char *pLabel, *pName, *pIconName;
 diff --git a/workben/layout/makefile.mk b/workben/layout/makefile.mk
 index 7126deb..51e9fa6 100644
 --- toolkit/workben/layout/makefile.mk
@@ -1507,6 +1587,19 @@
  	wordcount.xml\
  	zoom.xml\
  
+diff --git a/workben/layout/refresh b/workben/layout/refresh
+index de2652c..7969995 100644
+--- toolkit/workben/layout/refresh
++++ toolkit/workben/layout/refresh
+@@ -1,3 +1,7 @@
+ echo "source me ..."
+ test -n "${INPATH}" && rm -Rf ../../${INPATH}
+-build debug=true && cp ../../${INPATH}/lib/*.so ../../../solver/680/${INPATH}/lib && dmake debug=true && ../../${INPATH}/bin/test "$@"
++build debug=true\
++  && cp ../../${INPATH}/lib/*.so ../../../solver/300/${INPATH}/lib \
++  && cp -f ../..$INPATH/lib/libtkx.so $OOO_INSTALL_PREFIX/openoffice.org/basis3.0/program \
++  && dmake debug=true \
++  && ../../${INPATH}/bin/test "$@"
 diff --git a/workben/layout/sort-options.xml b/workben/layout/sort-options.xml
 new file mode 100644
 index 0000000..9a8053a



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]