sw/Executable_tiledrendering.mk | 1 sw/qa/tiledrendering/tiledrendering.cxx | 156 ++++++++++++++++++++++---------- sw/qa/tiledrendering/tiledrendering.ui | 12 +- 3 files changed, 116 insertions(+), 53 deletions(-)
New commits: commit ea2738ec4571530ef2e40f1c9862a358df3dd08c Author: Ptyl Dragon <p...@cloudon.com> Date: Wed Oct 23 11:08:26 2013 +0200 tiledrendering opens files Change-Id: Ifbf5a3aad016e1c90c4c331b2f72b44203717f90 diff --git a/sw/qa/tiledrendering/tiledrendering.cxx b/sw/qa/tiledrendering/tiledrendering.cxx index a6205a6..9991bbe 100644 --- a/sw/qa/tiledrendering/tiledrendering.cxx +++ b/sw/qa/tiledrendering/tiledrendering.cxx @@ -24,23 +24,40 @@ #include <sfx2/filedlghelper.hxx> #include <com/sun/star/ui/dialogs/TemplateDescription.hpp> #include <com/sun/star/ui/dialogs/XFilePicker.hpp> -#include <sfx2/filedlghelper.hxx> +#include <com/sun/star/uno/XInterface.hpp> +#include <com/sun/star/frame/XComponentLoader.hpp> +#include <com/sun/star/frame/Desktop.hpp> +#include <com/sun/star/lang/XComponent.hpp> +#include <com/sun/star/beans/XPropertySet.hpp> + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::ui::dialogs; +using namespace ::sfx2; -class UIPreviewApp : public Application +class TiledRenderingApp : public Application { +private: + uno::Reference<uno::XComponentContext> xContext; + uno::Reference<lang::XMultiComponentFactory> xFactory; + uno::Reference<lang::XMultiServiceFactory> xSFactory; + uno::Reference<uno::XInterface> xDesktop; + uno::Reference<frame::XComponentLoader> xLoader; + uno::Reference<lang::XComponent> xComponent; public: virtual void Init(); virtual int Main(); + void Open(OUString & aFileUrl); }; -using namespace ::com::sun::star; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::ui::dialogs; -using namespace ::sfx2; class TiledRenderingDialog: public ModalDialog{ +private: + TiledRenderingApp * app; public: - TiledRenderingDialog() : ModalDialog(DIALOG_NO_PARENT, "TiledRendering", "qa/sw/ui/tiledrendering.ui") + TiledRenderingDialog(TiledRenderingApp * app) : + ModalDialog(DIALOG_NO_PARENT, "TiledRendering", "qa/sw/ui/tiledrendering.ui"), + app(app) { PushButton * renderButton; get(renderButton,"buttonRenderTile"); @@ -52,6 +69,7 @@ public: SetStyle(GetStyle()|WB_CLOSEABLE); } + virtual ~TiledRenderingDialog() { } @@ -59,12 +77,11 @@ public: DECL_LINK ( RenderHdl, Button * ); DECL_LINK ( ChooseDocumentHdl, Button * ); - sal_Int32 extractInt(const char * name) + sal_Int32 ExtractInt(const char * name) { NumericField * pField; get(pField,name); OUString aString(pField->GetText()); - std::cerr << "param " << name << " returned " << aString <<"\n"; return aString.toInt32(); } @@ -72,12 +89,12 @@ public: IMPL_LINK ( TiledRenderingDialog, RenderHdl, Button *, EMPTYARG ) { - extractInt("spinContextWidth"); - extractInt("spinContextHeight"); - extractInt("spinTilePosX"); - extractInt("spinTilePosY"); - extractInt("spinTileWidth"); - extractInt("spinTileHeight"); + ExtractInt("spinContextWidth"); + ExtractInt("spinContextHeight"); + ExtractInt("spinTilePosX"); + ExtractInt("spinTilePosY"); + ExtractInt("spinTileWidth"); + ExtractInt("spinTileHeight"); return 1; } @@ -87,64 +104,62 @@ IMPL_LINK ( TiledRenderingDialog, ChooseDocumentHdl, Button *, EMPTYARG ) uno::Reference < XFilePicker > xFP = aDlgHelper.GetFilePicker(); if( aDlgHelper.Execute() == ERRCODE_NONE ) { - OUString aFilePath =xFP->getFiles().getConstArray()[0]; - std::cerr << aFilePath <<"\n"; + OUString aFileUrl =xFP->getFiles().getConstArray()[0]; + app->Open(aFileUrl); } return 1; } -void UIPreviewApp::Init() +void TiledRenderingApp::Open(OUString & aFileUrl){ + static const OUString TARGET("_default"); + static const Sequence<beans::PropertyValue> PROPS (0); + if(xComponent.get()) + { + xComponent->dispose(); + xComponent.clear(); + } + xComponent.set(xLoader->loadComponentFromURL(aFileUrl,TARGET,0,PROPS)); +} + +void TiledRenderingApp::Init() { - uno::Reference<uno::XComponentContext> xContext = - cppu::defaultBootstrap_InitialComponentContext(); - uno::Reference<lang::XMultiComponentFactory> xFactory = - xContext->getServiceManager(); - uno::Reference<lang::XMultiServiceFactory> xSFactory = - uno::Reference<lang::XMultiServiceFactory> (xFactory, uno::UNO_QUERY_THROW); + xContext.set(cppu::defaultBootstrap_InitialComponentContext()); + xFactory.set(xContext->getServiceManager()); + xSFactory.set(uno::Reference<lang::XMultiServiceFactory> (xFactory, uno::UNO_QUERY_THROW)); comphelper::setProcessServiceFactory(xSFactory); // Create UCB (for backwards compatibility, in case some code still uses // plain createInstance w/o args directly to obtain an instance): - ::ucb::UniversalContentBroker::create( - comphelper::getProcessComponentContext() ); + ::ucb::UniversalContentBroker::create(comphelper::getProcessComponentContext() ); + + xDesktop.set(xFactory->createInstanceWithContext(OUString("com.sun.star.frame.Desktop"), xContext)); + xLoader.set(frame::Desktop::create(xContext)); } -int UIPreviewApp::Main() +int TiledRenderingApp::Main() { - //std::vector<OUString> uifiles; - //for (sal_uInt16 i = 0; i < GetCommandLineParamCount(); ++i) - //{ - // OUString aFileUrl; - // osl::File::getFileURLFromSystemPath(GetCommandLineParam(i), aFileUrl); - // uifiles.push_back(aFileUrl); - //} - //if (uifiles.empty()) - //{ - // fprintf(stderr, "Usage: ui-previewer file.ui\n"); - // return EXIT_FAILURE; - //} - - // turn on tooltips + if(GetCommandLineParamCount()>0) + { + OUString aFileUrl; + osl::File::getFileURLFromSystemPath(GetCommandLineParam(0), aFileUrl); + Open(aFileUrl); + } Help::EnableQuickHelp(); - try { - - TiledRenderingDialog pDialog; - + TiledRenderingDialog pDialog(this); pDialog.Execute(); } catch (const uno::Exception &e) { fprintf(stderr, "fatal error: %s\n", OUStringToOString(e.Message, osl_getThreadTextEncoding()).getStr()); } - return EXIT_SUCCESS; } void vclmain::createApplication() { - static UIPreviewApp aApp; + static TiledRenderingApp aApp; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 4db91c7db633b2e141d340bead677458f2d511a7 Author: Ptyl Dragon <p...@cloudon.com> Date: Wed Oct 23 10:05:15 2013 +0200 tiled rendering file picker works Change-Id: I9936b7d366c5f02a973927381480d064eba710c6 diff --git a/sw/Executable_tiledrendering.mk b/sw/Executable_tiledrendering.mk index c39b88b..d6d3da8 100644 --- a/sw/Executable_tiledrendering.mk +++ b/sw/Executable_tiledrendering.mk @@ -28,6 +28,7 @@ $(eval $(call gb_Executable_use_libraries,tiledrendering,\ tl \ ucbhelper \ vcl \ + sfx \ sw \ )) diff --git a/sw/qa/tiledrendering/tiledrendering.cxx b/sw/qa/tiledrendering/tiledrendering.cxx index bfd20c3..a6205a6 100644 --- a/sw/qa/tiledrendering/tiledrendering.cxx +++ b/sw/qa/tiledrendering/tiledrendering.cxx @@ -21,6 +21,10 @@ #include <vcl/vclmain.hxx> #include <vcl/field.hxx> #include <vcl/button.hxx> +#include <sfx2/filedlghelper.hxx> +#include <com/sun/star/ui/dialogs/TemplateDescription.hpp> +#include <com/sun/star/ui/dialogs/XFilePicker.hpp> +#include <sfx2/filedlghelper.hxx> class UIPreviewApp : public Application { @@ -29,7 +33,10 @@ public: virtual int Main(); }; -using namespace com::sun::star; +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::ui::dialogs; +using namespace ::sfx2; class TiledRenderingDialog: public ModalDialog{ public: @@ -38,6 +45,11 @@ public: PushButton * renderButton; get(renderButton,"buttonRenderTile"); renderButton->SetClickHdl( LINK( this, TiledRenderingDialog, RenderHdl)); + + PushButton * chooseDocumentButton; + get(chooseDocumentButton,"buttonChooseDocument"); + chooseDocumentButton->SetClickHdl( LINK( this, TiledRenderingDialog, ChooseDocumentHdl)); + SetStyle(GetStyle()|WB_CLOSEABLE); } virtual ~TiledRenderingDialog() @@ -45,13 +57,14 @@ public: } DECL_LINK ( RenderHdl, Button * ); + DECL_LINK ( ChooseDocumentHdl, Button * ); sal_Int32 extractInt(const char * name) { NumericField * pField; get(pField,name); OUString aString(pField->GetText()); - std::cerr << "param " << name << " returned " << aString <<"/n"; + std::cerr << "param " << name << " returned " << aString <<"\n"; return aString.toInt32(); } @@ -68,6 +81,18 @@ IMPL_LINK ( TiledRenderingDialog, RenderHdl, Button *, EMPTYARG ) return 1; } +IMPL_LINK ( TiledRenderingDialog, ChooseDocumentHdl, Button *, EMPTYARG ) +{ + FileDialogHelper aDlgHelper( TemplateDescription::FILEOPEN_SIMPLE, 0 ); + uno::Reference < XFilePicker > xFP = aDlgHelper.GetFilePicker(); + if( aDlgHelper.Execute() == ERRCODE_NONE ) + { + OUString aFilePath =xFP->getFiles().getConstArray()[0]; + std::cerr << aFilePath <<"\n"; + } + return 1; +} + void UIPreviewApp::Init() { uno::Reference<uno::XComponentContext> xContext = commit d2eb26b4979b18c0cad0a57d9081e9f4c367f9f7 Author: Ptyl Dragon <p...@cloudon.com> Date: Tue Oct 22 18:26:55 2013 +0200 tiledrendering extracts values when clicking render Change-Id: I4b350dc6c796bb1af0740917e17ac79b2a259a0a diff --git a/sw/qa/tiledrendering/tiledrendering.cxx b/sw/qa/tiledrendering/tiledrendering.cxx index 9f296bd..bfd20c3 100644 --- a/sw/qa/tiledrendering/tiledrendering.cxx +++ b/sw/qa/tiledrendering/tiledrendering.cxx @@ -33,21 +33,26 @@ using namespace com::sun::star; class TiledRenderingDialog: public ModalDialog{ public: - TiledRenderingDialog() : ModalDialog(DIALOG_NO_PARENT, "TiledRendering", "qa/sw/ui/tiledrendering.ui"){ + TiledRenderingDialog() : ModalDialog(DIALOG_NO_PARENT, "TiledRendering", "qa/sw/ui/tiledrendering.ui") + { PushButton * renderButton; get(renderButton,"buttonRenderTile"); renderButton->SetClickHdl( LINK( this, TiledRenderingDialog, RenderHdl)); + SetStyle(GetStyle()|WB_CLOSEABLE); + } + virtual ~TiledRenderingDialog() + { } - virtual ~TiledRenderingDialog(){} DECL_LINK ( RenderHdl, Button * ); - sal_Int32 extractInt(const char * name){ - NumericField * pField; - get(pField,name); - OUString aString(pField->GetText()); - SAL_INFO("TiledRenderingDialog","param " << name << " returned " << aString); - return aString.toInt32(); + sal_Int32 extractInt(const char * name) + { + NumericField * pField; + get(pField,name); + OUString aString(pField->GetText()); + std::cerr << "param " << name << " returned " << aString <<"/n"; + return aString.toInt32(); } }; @@ -60,8 +65,7 @@ IMPL_LINK ( TiledRenderingDialog, RenderHdl, Button *, EMPTYARG ) extractInt("spinTilePosY"); extractInt("spinTileWidth"); extractInt("spinTileHeight"); - - return 1; + return 1; } void UIPreviewApp::Init() @@ -89,7 +93,6 @@ int UIPreviewApp::Main() // osl::File::getFileURLFromSystemPath(GetCommandLineParam(i), aFileUrl); // uifiles.push_back(aFileUrl); //} - //if (uifiles.empty()) //{ // fprintf(stderr, "Usage: ui-previewer file.ui\n"); @@ -105,21 +108,6 @@ int UIPreviewApp::Main() TiledRenderingDialog pDialog; pDialog.Execute(); -/* - { - VclBuilder aBuilder(pDialog, OUString(), "sw/qa/tiledrendering/tiledrendering.ui"); - Dialog *pRealDialog = dynamic_cast<Dialog*>(aBuilder.get_widget_root()); - - if (!pRealDialog) - pRealDialog = pDialog; - - if (pRealDialog) - { - pRealDialog->SetText(OUString("LibreOffice ui-previewer")); - pRealDialog->SetStyle(pDialog->GetStyle()|WB_CLOSEABLE); - pRealDialog->Execute(); - } - }*/ } catch (const uno::Exception &e) { @@ -129,12 +117,6 @@ int UIPreviewApp::Main() return EXIT_SUCCESS; } -void render(){ - - -} - - void vclmain::createApplication() { static UIPreviewApp aApp; diff --git a/sw/qa/tiledrendering/tiledrendering.ui b/sw/qa/tiledrendering/tiledrendering.ui index 7d051fb..f27939c 100644 --- a/sw/qa/tiledrendering/tiledrendering.ui +++ b/sw/qa/tiledrendering/tiledrendering.ui @@ -22,10 +22,10 @@ <property name="can_focus">False</property> <property name="orientation">vertical</property> <child> - <object class="GtkLabel" id="labelContentWidth"> + <object class="GtkLabel" id="labelContextWidth"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="label" translatable="yes">contentWidth</property> + <property name="label" translatable="yes">contextWidth</property> </object> <packing> <property name="expand">True</property> @@ -34,10 +34,10 @@ </packing> </child> <child> - <object class="GtkLabel" id="labelContentHeight"> + <object class="GtkLabel" id="labelContextHeight"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="label" translatable="yes">contentHeight</property> + <property name="label" translatable="yes">contextHeight</property> </object> <packing> <property name="expand">True</property> @@ -106,7 +106,7 @@ <property name="can_focus">False</property> <property name="orientation">vertical</property> <child> - <object class="GtkSpinButton" id="spinContentWidth"> + <object class="GtkSpinButton" id="spinContextWidth"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="invisible_char">â¢</property> @@ -120,7 +120,7 @@ </packing> </child> <child> - <object class="GtkSpinButton" id="spinContentHeight"> + <object class="GtkSpinButton" id="spinContextHeight"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="invisible_char">â¢</property> commit d8b87516c041c2e86973a7649e50acaebf4ee6d9 Author: Ptyl Dragon <p...@cloudon.com> Date: Tue Oct 22 17:41:09 2013 +0200 added callback for render Change-Id: I56f47926eeff6ab57903c8eedf6528465fc41c9e diff --git a/sw/qa/tiledrendering/tiledrendering.cxx b/sw/qa/tiledrendering/tiledrendering.cxx index 5ea5f48..9f296bd 100644 --- a/sw/qa/tiledrendering/tiledrendering.cxx +++ b/sw/qa/tiledrendering/tiledrendering.cxx @@ -19,6 +19,8 @@ #include <vcl/help.hxx> #include <vcl/svapp.hxx> #include <vcl/vclmain.hxx> +#include <vcl/field.hxx> +#include <vcl/button.hxx> class UIPreviewApp : public Application { @@ -29,6 +31,39 @@ public: using namespace com::sun::star; +class TiledRenderingDialog: public ModalDialog{ +public: + TiledRenderingDialog() : ModalDialog(DIALOG_NO_PARENT, "TiledRendering", "qa/sw/ui/tiledrendering.ui"){ + PushButton * renderButton; + get(renderButton,"buttonRenderTile"); + renderButton->SetClickHdl( LINK( this, TiledRenderingDialog, RenderHdl)); + } + virtual ~TiledRenderingDialog(){} + + DECL_LINK ( RenderHdl, Button * ); + + sal_Int32 extractInt(const char * name){ + NumericField * pField; + get(pField,name); + OUString aString(pField->GetText()); + SAL_INFO("TiledRenderingDialog","param " << name << " returned " << aString); + return aString.toInt32(); + } + +}; + +IMPL_LINK ( TiledRenderingDialog, RenderHdl, Button *, EMPTYARG ) +{ + extractInt("spinContextWidth"); + extractInt("spinContextHeight"); + extractInt("spinTilePosX"); + extractInt("spinTilePosY"); + extractInt("spinTileWidth"); + extractInt("spinTileHeight"); + + return 1; +} + void UIPreviewApp::Init() { uno::Reference<uno::XComponentContext> xContext = @@ -47,13 +82,13 @@ void UIPreviewApp::Init() int UIPreviewApp::Main() { - std::vector<OUString> uifiles; - for (sal_uInt16 i = 0; i < GetCommandLineParamCount(); ++i) - { - OUString aFileUrl; - osl::File::getFileURLFromSystemPath(GetCommandLineParam(i), aFileUrl); - uifiles.push_back(aFileUrl); - } + //std::vector<OUString> uifiles; + //for (sal_uInt16 i = 0; i < GetCommandLineParamCount(); ++i) + //{ + // OUString aFileUrl; + // osl::File::getFileURLFromSystemPath(GetCommandLineParam(i), aFileUrl); + // uifiles.push_back(aFileUrl); + //} //if (uifiles.empty()) //{ @@ -66,9 +101,10 @@ int UIPreviewApp::Main() try { - Dialog *pDialog = new ModalDialog(DIALOG_NO_PARENT, "TiledRendering", "qa/sw/ui/tiledrendering.ui"); - pDialog->Execute(); + TiledRenderingDialog pDialog; + + pDialog.Execute(); /* { VclBuilder aBuilder(pDialog, OUString(), "sw/qa/tiledrendering/tiledrendering.ui"); @@ -84,8 +120,6 @@ int UIPreviewApp::Main() pRealDialog->Execute(); } }*/ - - delete pDialog; } catch (const uno::Exception &e) { @@ -95,6 +129,12 @@ int UIPreviewApp::Main() return EXIT_SUCCESS; } +void render(){ + + +} + + void vclmain::createApplication() { static UIPreviewApp aApp;
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits