ios/CustomTarget_Viewer_app.mk | 4 ++ ios/experimental/Viewer/Viewer/lo-viewer.mm | 44 ++++++++++++++++++++++++++-- sfx2/source/appl/appdata.cxx | 2 + sfx2/source/appl/appinit.cxx | 5 ++- sfx2/source/appl/appquit.cxx | 4 ++ sfx2/source/inc/appdata.hxx | 4 ++ toolkit/source/awt/vclxtoolkit.cxx | 7 ---- 7 files changed, 60 insertions(+), 10 deletions(-)
New commits: commit 32e927952cff4f715eceb861a3c4c8ab088be405 Author: Tor Lillqvist <t...@iki.fi> Date: Mon Jan 7 00:42:06 2013 +0200 Add a sample document to the test app bundle and try to load it Change-Id: Id0f13351108cbcd748f3c403fe7a6716145f1892 diff --git a/ios/CustomTarget_Viewer_app.mk b/ios/CustomTarget_Viewer_app.mk index 9af7a49..8c05728 100644 --- a/ios/CustomTarget_Viewer_app.mk +++ b/ios/CustomTarget_Viewer_app.mk @@ -127,6 +127,10 @@ $(SCRIPT_OUTPUT_FILE_0) : $(call gb_Executable_get_target,Viewer) echo 'ProductMajor=360' && \ echo 'ProductMinor=1' && \ : ) > $(appdir)/program/versionrc +# +# Copy a sample document... good old test1.odt... +# + cp $(SRC_ROOT)/odk/examples/java/DocumentHandling/test/test1.odt $(appdir) else # When run just from the command line, we don't have any app bundle to diff --git a/ios/experimental/Viewer/Viewer/lo-viewer.mm b/ios/experimental/Viewer/Viewer/lo-viewer.mm index 616f136..10c3156 100644 --- a/ios/experimental/Viewer/Viewer/lo-viewer.mm +++ b/ios/experimental/Viewer/Viewer/lo-viewer.mm @@ -18,12 +18,17 @@ #include <osl/detail/ios-bootstrap.h> #include <osl/process.h> +#include <com/sun/star/awt/XDevice.hpp> +#include <com/sun/star/awt/XToolkitExperimental.hpp> +#include <com/sun/star/beans/PropertyValue.hpp> #include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/bridge/XUnoUrlResolver.hpp> #include <com/sun/star/frame/XComponentLoader.hpp> #include <com/sun/star/lang/XMultiComponentFactory.hpp> #include <com/sun/star/lang/XMultiServiceFactory.hpp> #include <com/sun/star/registry/XSimpleRegistry.hpp> +#include <com/sun/star/uno/XComponentContext.hpp> +#include <com/sun/star/view/XRenderable.hpp> #include <vcl/svapp.hxx> @@ -32,6 +37,8 @@ using namespace com::sun::star; using ::rtl::OUString; using ::rtl::OUStringToOString; +#define SMALLSIZE 100 + extern "C" { extern void * animcore_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); extern void * avmedia_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); @@ -165,6 +172,9 @@ lo_initialize(void) try { + // Should start a background thread to do all this UNO + // initialisation crap + uno::Reference< uno::XComponentContext > xContext(::cppu::defaultBootstrap_InitialComponentContext()); uno::Reference< lang::XMultiComponentFactory > xFactory( xContext->getServiceManager() ); @@ -175,9 +185,37 @@ lo_initialize(void) InitVCL(); - uno::Reference< uno::XInterface > xInterface = - xFactory->createInstanceWithContext( "com.sun.star.frame.Desktop", - xContext ); + // Yes, this code does of course not belong here. Once this + // turns into something that actually displays something and + // has a proper app lifecycle etc that willl be fixed. But for + // now this is just a test, not supposed to work in any sane + // way from a "user" POV, and it doesn't matter that we do + // this here. + + uno::Reference< uno::XInterface > xDesktop = + xFactory->createInstanceWithContext( "com.sun.star.frame.Desktop", xContext ); + uno::Reference< frame::XComponentLoader > xComponentLoader( xDesktop, uno::UNO_QUERY_THROW ); + + uno::Reference< uno::XInterface > xToolkitService = + xFactory->createInstanceWithContext( "com.sun.star.awt.Toolkit", xContext ); + + uno::Reference< awt::XToolkitExperimental > xToolkit( xToolkitService, uno::UNO_QUERY_THROW ); + + char *smallbb = new char[ SMALLSIZE*SMALLSIZE*4 ]; + + uno::Reference< awt::XDevice > xDummyDevice = xToolkit->createScreenCompatibleDeviceUsingBuffer( SMALLSIZE, SMALLSIZE, 1, 1, 0, 0, (sal_Int64) (intptr_t) smallbb); + + uno::Sequence< beans::PropertyValue > loadProps(3); + + loadProps[0].Name = "Hidden"; + loadProps[0].Value <<= sal_True; + loadProps[1].Name = "ReadOnly"; + loadProps[1].Value <<= sal_True; + loadProps[2].Name = "Preview"; + loadProps[2].Value <<= sal_True; + + OUString test1_odt( OUString( "file://" ) + OUString::createFromAscii( [[app_root_escaped stringByAppendingPathComponent: @"test1.odt"] UTF8String] )); + uno::Reference< lang::XComponent > xDoc = xComponentLoader->loadComponentFromURL ( test1_odt, "_blank", 0, loadProps ); } catch ( uno::Exception e ) { SAL_WARN("Viewer", e.Message); commit d9388579475a11054fbe7476b307f8acfcaa04df Author: Tor Lillqvist <t...@iki.fi> Date: Mon Jan 7 00:35:54 2013 +0200 Call SetOutputSizePixelScaleOffsetAndBuffer for non-Android Change-Id: I59febb87f3da3098e1644087b498d9821b5d7047 diff --git a/toolkit/source/awt/vclxtoolkit.cxx b/toolkit/source/awt/vclxtoolkit.cxx index 8879054..38960e2 100644 --- a/toolkit/source/awt/vclxtoolkit.cxx +++ b/toolkit/source/awt/vclxtoolkit.cxx @@ -558,12 +558,7 @@ void SAL_CALL VCLXToolkit::disposing() ByteBufferWrapper *bbw = (ByteBufferWrapper *) (intptr_t) addressOfMemoryBufferForSharedArrayWrapper; pV->SetOutputSizePixelScaleOffsetAndBuffer( Size( Width, Height ), Fraction(ScaleNumerator, ScaleDenominator), Point( XOffset, YOffset), basebmp::RawMemorySharedArray( bbw->pointer(), *bbw )); #else - (void) ScaleNumerator; - (void) ScaleDenominator; - (void) XOffset; - (void) YOffset; - OSL_FAIL( "rendering to a pre-allocated buffer not done yet for this OS" ); - pV->SetOutputSizePixel( Size( Width, Height ) ); + pV->SetOutputSizePixelScaleOffsetAndBuffer( Size( Width, Height ), Fraction(ScaleNumerator, ScaleDenominator), Point( XOffset, YOffset), basebmp::RawMemorySharedArray( (sal_uInt8*) (sal_uIntPtr) addressOfMemoryBufferForSharedArrayWrapper )); #endif } else { pV->SetOutputSizePixel( Size( Width, Height ) ); commit 80acb4482d392ff40c56211c1048514fbda23aa5 Author: Tor Lillqvist <t...@iki.fi> Date: Mon Jan 7 00:34:00 2013 +0200 Add some DISABLE_SCRIPTING ifndefs Change-Id: I2bb4f00ece212fe3c4741deea0bcad50e1fd60e1 diff --git a/sfx2/source/appl/appdata.cxx b/sfx2/source/appl/appdata.cxx index a49e779..e31065d 100644 --- a/sfx2/source/appl/appdata.cxx +++ b/sfx2/source/appl/appdata.cxx @@ -86,7 +86,9 @@ SfxAppData_Impl::SfxAppData_Impl( SfxApplication* ) , pFactArr(0) , pTopFrames( new SfxFrameArr_Impl ) , pMatcher( 0 ) +#ifndef DISABLE_SCRIPTING , pBasicResMgr( 0 ) +#endif , pSvtResMgr( 0 ) , pAppDispatch(NULL) , pTemplates( 0 ) diff --git a/sfx2/source/appl/appinit.cxx b/sfx2/source/appl/appinit.cxx index 1e0864f..935d00a 100644 --- a/sfx2/source/appl/appinit.cxx +++ b/sfx2/source/appl/appinit.cxx @@ -240,14 +240,17 @@ bool SfxApplication::Initialize_Impl() pAppData_Impl->m_pToolsErrorHdl = new SfxErrorHandler( RID_ERRHDL, ERRCODE_AREA_TOOLS, ERRCODE_AREA_LIB1); +#ifndef DISABLE_SCRIPTING pAppData_Impl->pBasicResMgr = CreateResManager("sb"); +#endif pAppData_Impl->pSvtResMgr = CreateResManager("svt"); pAppData_Impl->m_pSoErrorHdl = new SfxErrorHandler( RID_SO_ERROR_HANDLER, ERRCODE_AREA_SO, ERRCODE_AREA_SO_END, pAppData_Impl->pSvtResMgr ); +#ifndef DISABLE_SCRIPTING pAppData_Impl->m_pSbxErrorHdl = new SfxErrorHandler( RID_BASIC_START, ERRCODE_AREA_SBX, ERRCODE_AREA_SBX_END, pAppData_Impl->pBasicResMgr ); - +#endif //ensure instantiation of listener that manages the internal recently-used //list SfxPickList::ensure(); diff --git a/sfx2/source/appl/appquit.cxx b/sfx2/source/appl/appquit.cxx index 9db9199..7a5daab 100644 --- a/sfx2/source/appl/appquit.cxx +++ b/sfx2/source/appl/appquit.cxx @@ -146,10 +146,14 @@ void SfxApplication::Deinitialize() pAppData_Impl->pPool = NULL; NoChaos::ReleaseItemPool(); +#ifndef DISABLE_SCRIPTING DELETEZ(pAppData_Impl->pBasicResMgr); +#endif DELETEZ(pAppData_Impl->pSvtResMgr); +#ifndef DISABLE_SCRIPTING delete pAppData_Impl->m_pSbxErrorHdl; +#endif delete pAppData_Impl->m_pSoErrorHdl; delete pAppData_Impl->m_pToolsErrorHdl; #ifdef DBG_UTIL diff --git a/sfx2/source/inc/appdata.hxx b/sfx2/source/inc/appdata.hxx index 9b4480b..6b711fa 100644 --- a/sfx2/source/inc/appdata.hxx +++ b/sfx2/source/inc/appdata.hxx @@ -85,14 +85,18 @@ public: // application members SfxFilterMatcher* pMatcher; +#ifndef DISABLE_SCRIPTING ResMgr* pBasicResMgr; +#endif ResMgr* pSvtResMgr; #ifdef DBG_UTIL SimpleErrorHandler *m_pSimpleErrorHdl; #endif SfxErrorHandler *m_pToolsErrorHdl; SfxErrorHandler *m_pSoErrorHdl; +#ifndef DISABLE_SCRIPTING SfxErrorHandler *m_pSbxErrorHdl; +#endif SfxStatusDispatcher* pAppDispatch; SfxDocumentTemplates* pTemplates; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits