[Libreoffice-commits] core.git: 4 commits - sw/Executable_tiledrendering.mk sw/qa

Ptyl Dragon ptyl at cloudon.com
Wed Oct 23 02:38:05 PDT 2013


 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 <ptyl at 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 <ptyl at 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 <ptyl at 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 <ptyl at 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;


More information about the Libreoffice-commits mailing list