sc/UIConfig_scalc.mk                        |    1 
 sc/inc/sc.hrc                               |    2 
 sc/inc/scabstdlg.hxx                        |    2 
 sc/source/ui/attrdlg/scdlgfact.cxx          |   22 
 sc/source/ui/attrdlg/scdlgfact.hxx          |    3 
 sc/source/ui/inc/delcldlg.hxx               |   16 
 sc/source/ui/inc/miscdlgs.hrc               |    9 
 sc/source/ui/miscdlgs/delcldlg.cxx          |   51 -
 sc/source/ui/src/miscdlgs.src               |   68 --
 sc/source/ui/view/cellsh1.cxx               |    4 
 sc/uiconfig/scalc/ui/deletecells.ui         |   51 -
 unodevtools/Executable_skeletonmaker.mk     |    1 
 unodevtools/source/unodevtools/typeblob.cxx |  797 ----------------------------
 13 files changed, 61 insertions(+), 966 deletions(-)

New commits:
commit 569ef418f5b0ff2d9e2246f2a16d7d7f090ce4d0
Author: Caolán McNamara <caol...@redhat.com>
Date:   Thu Apr 11 13:32:24 2013 +0100

    adapt code for delete cells dialog
    
    Change-Id: Ibf587e1ea94765f0322a5b847bcf82d1eabc1b64

diff --git a/sc/UIConfig_scalc.mk b/sc/UIConfig_scalc.mk
index 3ff8973..8f800bf 100644
--- a/sc/UIConfig_scalc.mk
+++ b/sc/UIConfig_scalc.mk
@@ -61,6 +61,7 @@ $(eval $(call gb_UIConfig_add_toolbarfiles,modules/scalc,\
 $(eval $(call gb_UIConfig_add_uifiles,modules/scalc,\
        sc/uiconfig/scalc/ui/cellprotectionpage \
        sc/uiconfig/scalc/ui/definename \
+       sc/uiconfig/scalc/ui/deletecells \
        sc/uiconfig/scalc/ui/deletecontents \
        sc/uiconfig/scalc/ui/formatcellsdialog \
        sc/uiconfig/scalc/ui/insertname \
diff --git a/sc/inc/sc.hrc b/sc/inc/sc.hrc
index 9d85a5a..4749970 100644
--- a/sc/inc/sc.hrc
+++ b/sc/inc/sc.hrc
@@ -951,7 +951,7 @@
 
 #define RID_SCDLG_FILTER        (SC_DIALOGS_START + 8)
 #define RID_SCDLG_SPEC_FILTER   (SC_DIALOGS_START + 9)
-#define RID_SCDLG_DELCELL       (SC_DIALOGS_START + 11)
+
 #define RID_SCDLG_INSCELL       (SC_DIALOGS_START + 12)
 
 #define RID_SCDLG_INSCONT       (SC_DIALOGS_START + 14)
diff --git a/sc/inc/scabstdlg.hxx b/sc/inc/scabstdlg.hxx
index 7b6c602..89997d4 100644
--- a/sc/inc/scabstdlg.hxx
+++ b/sc/inc/scabstdlg.hxx
@@ -358,7 +358,7 @@ public:
                                                                         const 
com::sun::star::uno::Sequence<OUString>& rServices,
                                                                         int 
nId ) = 0;
 
-    virtual AbstractScDeleteCellDlg * CreateScDeleteCellDlg( Window* pParent, 
int nId, sal_Bool bDisallowCellMove = false ) = 0 ; //add for ScDeleteCellDlg
+    virtual AbstractScDeleteCellDlg * CreateScDeleteCellDlg(Window* pParent, 
bool bDisallowCellMove = false) = 0 ; //add for ScDeleteCellDlg
 
     //for dataform
     virtual AbstractScDataFormDlg * CreateScDataFormDlg( Window* pParent, int 
nId, ScTabViewShell*      pTabViewShell ) = 0 ; //add for ScDataFormDlg
diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx 
b/sc/source/ui/attrdlg/scdlgfact.cxx
index b6ce1f8..98b656f 100644
--- a/sc/source/ui/attrdlg/scdlgfact.cxx
+++ b/sc/source/ui/attrdlg/scdlgfact.cxx
@@ -832,27 +832,13 @@ AbstractScDataPilotServiceDlg* 
ScAbstractDialogFactory_Impl::CreateScDataPilotSe
 // add for ScDataPilotServiceDlg end
 
 
-AbstractScDeleteCellDlg* ScAbstractDialogFactory_Impl::CreateScDeleteCellDlg( 
Window* pParent, int nId,
-                                                                             
sal_Bool bDisallowCellMove )
+AbstractScDeleteCellDlg* 
ScAbstractDialogFactory_Impl::CreateScDeleteCellDlg(Window* pParent,
+    bool bDisallowCellMove)
 {
-    ScDeleteCellDlg * pDlg=NULL;
-    switch ( nId )
-    {
-        case RID_SCDLG_DELCELL :
-            pDlg = new ScDeleteCellDlg( pParent, bDisallowCellMove );
-            break;
-        default:
-            break;
-    }
-
-    if ( pDlg )
-        return new AbstractScDeleteCellDlg_Impl( pDlg );
-    return 0;
+    ScDeleteCellDlg * pDlg = new ScDeleteCellDlg(pParent, bDisallowCellMove);
+    return new AbstractScDeleteCellDlg_Impl( pDlg );
 }
 
-
-
-
 AbstractScDataFormDlg* ScAbstractDialogFactory_Impl::CreateScDataFormDlg( 
Window* pParent, int nId, ScTabViewShell* pTabViewShell )
 {
     ScDataFormDlg * pDlg=NULL;
diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx 
b/sc/source/ui/attrdlg/scdlgfact.hxx
index 823eaeb..3383616 100644
--- a/sc/source/ui/attrdlg/scdlgfact.hxx
+++ b/sc/source/ui/attrdlg/scdlgfact.hxx
@@ -424,8 +424,7 @@ public:
     virtual AbstractScDataPilotServiceDlg * CreateScDataPilotServiceDlg( 
Window* pParent, //add for ScDataPilotServiceDlg
                                                                         const 
com::sun::star::uno::Sequence<OUString>& rServices,
                                                                         int 
nId );
-    virtual AbstractScDeleteCellDlg * CreateScDeleteCellDlg( Window* pParent, 
int nId,
-                                                            sal_Bool 
bDisallowCellMove = false ); //add for ScDeleteCellDlg
+    virtual AbstractScDeleteCellDlg * CreateScDeleteCellDlg(Window* pParent, 
bool bDisallowCellMove = false );
 
     //for dataform
     virtual AbstractScDataFormDlg * CreateScDataFormDlg( Window* pParent, int 
nId, ScTabViewShell*      pTabViewShell); //add for ScDeleteCellDlg
diff --git a/sc/source/ui/inc/delcldlg.hxx b/sc/source/ui/inc/delcldlg.hxx
index 97271f4..56d0896 100644
--- a/sc/source/ui/inc/delcldlg.hxx
+++ b/sc/source/ui/inc/delcldlg.hxx
@@ -33,19 +33,13 @@
 class ScDeleteCellDlg : public ModalDialog
 {
 private:
-    FixedLine       aFlFrame;
-    RadioButton     aBtnCellsUp;
-    RadioButton     aBtnCellsLeft;
-    RadioButton     aBtnDelRows;
-    RadioButton     aBtnDelCols;
-    OKButton        aBtnOk;
-    CancelButton    aBtnCancel;
-    HelpButton      aBtnHelp;
-
+    RadioButton* m_pBtnCellsUp;
+    RadioButton* m_pBtnCellsLeft;
+    RadioButton* m_pBtnDelRows;
+    RadioButton* m_pBtnDelCols;
 
 public:
-            ScDeleteCellDlg( Window* pParent, sal_Bool bDisallowCellMove = 
false );
-            ~ScDeleteCellDlg();
+    ScDeleteCellDlg(Window* pParent, bool bDisallowCellMove = false);
 
     DelCellCmd GetDelCellCmd() const;
 };
diff --git a/sc/source/ui/inc/miscdlgs.hrc b/sc/source/ui/inc/miscdlgs.hrc
index e98582f..9efabdc 100644
--- a/sc/source/ui/inc/miscdlgs.hrc
+++ b/sc/source/ui/inc/miscdlgs.hrc
@@ -17,8 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include "sc.hrc"   // -> RID_SCDLG_DELCELL
-                    // -> RID_SCDLG_INSCELL
+#include "sc.hrc"   // -> RID_SCDLG_INSCELL
                     // -> RID_SCDLG_INSCONT
                     // -> RID_SCDLG_MOVETAB
                     // -> RID_SCDLG_STRINPUT
@@ -38,13 +37,9 @@
 #define FL_FRAME        112
 #define STR_BTN_CLOSE   200
 
-// Insert/Delete Cell Dialog
-#define BTN_CELLSUP     10
+// Insert Cell Dialog
 #define BTN_CELLSDOWN   11
 #define BTN_CELLSRIGHT  12
-#define BTN_CELLSLEFT   13
-#define BTN_DELROWS     14
-#define BTN_DELCOLS     15
 #define BTN_INSROWS     16
 #define BTN_INSCOLS     17
 
diff --git a/sc/source/ui/miscdlgs/delcldlg.cxx 
b/sc/source/ui/miscdlgs/delcldlg.cxx
index e2fd6d8..f93a040 100644
--- a/sc/source/ui/miscdlgs/delcldlg.cxx
+++ b/sc/source/ui/miscdlgs/delcldlg.cxx
@@ -33,43 +33,36 @@ static sal_uInt8 nDelItemChecked=0;
 
 //==================================================================
 
-ScDeleteCellDlg::ScDeleteCellDlg( Window* pParent, sal_Bool bDisallowCellMove 
) :
-    ModalDialog     ( pParent, ScResId( RID_SCDLG_DELCELL ) ),
-    //
-    aFlFrame        ( this, ScResId( FL_FRAME ) ),
-    aBtnCellsUp     ( this, ScResId( BTN_CELLSUP ) ),
-    aBtnCellsLeft   ( this, ScResId( BTN_CELLSLEFT ) ),
-    aBtnDelRows     ( this, ScResId( BTN_DELROWS ) ),
-    aBtnDelCols     ( this, ScResId( BTN_DELCOLS ) ),
-    aBtnOk          ( this, ScResId( BTN_OK ) ),
-    aBtnCancel      ( this, ScResId( BTN_CANCEL ) ),
-    aBtnHelp        ( this, ScResId( BTN_HELP ) )
+ScDeleteCellDlg::ScDeleteCellDlg(Window* pParent, bool bDisallowCellMove)
+    : ModalDialog(pParent, "DeleteCellsDialog", 
"modules/scalc/ui/deletecells.ui")
 {
+    get(m_pBtnCellsUp, "up");
+    get(m_pBtnCellsLeft, "left");
+    get(m_pBtnDelRows, "rows");
+    get(m_pBtnDelCols, "cols");
 
     if (bDisallowCellMove)
     {
-        aBtnCellsUp.Disable();
-        aBtnCellsLeft.Disable();
+        m_pBtnCellsUp->Disable();
+        m_pBtnCellsLeft->Disable();
 
         switch(nDelItemChecked)
         {
-            case 2: aBtnDelRows.Check();break;
-            case 3: aBtnDelCols.Check();break;
-            default:aBtnDelRows.Check();break;
+            case 2: m_pBtnDelRows->Check();break;
+            case 3: m_pBtnDelCols->Check();break;
+            default:m_pBtnDelRows->Check();break;
         }
     }
     else
     {
         switch(nDelItemChecked)
         {
-            case 0: aBtnCellsUp.Check();break;
-            case 1: aBtnCellsLeft.Check();break;
-            case 2: aBtnDelRows.Check();break;
-            case 3: aBtnDelCols.Check();break;
+            case 0: m_pBtnCellsUp->Check();break;
+            case 1: m_pBtnCellsLeft->Check();break;
+            case 2: m_pBtnDelRows->Check();break;
+            case 3: m_pBtnDelCols->Check();break;
         }
     }
-
-    FreeResource();
 }
 
 //------------------------------------------------------------------------
@@ -78,22 +71,22 @@ DelCellCmd ScDeleteCellDlg::GetDelCellCmd() const
 {
     DelCellCmd nReturn = DEL_NONE;
 
-    if ( aBtnCellsUp.IsChecked()   )
+    if ( m_pBtnCellsUp->IsChecked()   )
     {
         nDelItemChecked=0;
         nReturn = DEL_CELLSUP;
     }
-    else if ( aBtnCellsLeft.IsChecked() )
+    else if ( m_pBtnCellsLeft->IsChecked() )
     {
         nDelItemChecked=1;
         nReturn = DEL_CELLSLEFT;
     }
-    else if ( aBtnDelRows.IsChecked()   )
+    else if ( m_pBtnDelRows->IsChecked()   )
     {
         nDelItemChecked=2;
         nReturn = DEL_DELROWS;
     }
-    else if ( aBtnDelCols.IsChecked()   )
+    else if ( m_pBtnDelCols->IsChecked()   )
     {
         nDelItemChecked=3;
         nReturn = DEL_DELCOLS;
@@ -102,10 +95,4 @@ DelCellCmd ScDeleteCellDlg::GetDelCellCmd() const
     return nReturn;
 }
 
-ScDeleteCellDlg::~ScDeleteCellDlg()
-{
-}
-
-
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/src/miscdlgs.src b/sc/source/ui/src/miscdlgs.src
index 8dcf44a..f7bbd99 100644
--- a/sc/source/ui/src/miscdlgs.src
+++ b/sc/source/ui/src/miscdlgs.src
@@ -19,74 +19,6 @@
 
 #include "miscdlgs.hrc"
 
-ModalDialog RID_SCDLG_DELCELL
-{
-    OutputSize = TRUE ;
-    HelpId = CMD_FID_DELETE_CELL ;
-    SVLook = TRUE ;
-    Size = MAP_APPFONT ( 191 , 70 ) ;
-    Text [ en-US ] = "Delete Cells" ;
-    Moveable = TRUE ;
-    Closeable = FALSE ;
-    OKButton BTN_OK
-    {
-        Pos = MAP_APPFONT ( 135 , 6 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-        DefButton = TRUE ;
-    };
-    CancelButton BTN_CANCEL
-    {
-        Pos = MAP_APPFONT ( 135 , 23 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-    };
-    HelpButton BTN_HELP
-    {
-        Pos = MAP_APPFONT ( 135 , 43 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-    };
-    RadioButton BTN_DELCOLS
-    {
-        HelpID = "sc:RadioButton:RID_SCDLG_DELCELL:BTN_DELCOLS";
-        Pos = MAP_APPFONT ( 12 , 56 ) ;
-        Size = MAP_APPFONT ( 114 , 10 ) ;
-        Text [ en-US ] = "Delete entire ~column(s)" ;
-        TabStop = TRUE ;
-    };
-    RadioButton BTN_DELROWS
-    {
-        HelpID = "sc:RadioButton:RID_SCDLG_DELCELL:BTN_DELROWS";
-        Pos = MAP_APPFONT ( 12 , 42 ) ;
-        Size = MAP_APPFONT ( 114 , 10 ) ;
-        Text [ en-US ] = "Delete entire ~row(s)" ;
-        TabStop = TRUE ;
-    };
-    RadioButton BTN_CELLSLEFT
-    {
-        HelpID = "sc:RadioButton:RID_SCDLG_DELCELL:BTN_CELLSLEFT";
-        Pos = MAP_APPFONT ( 12 , 28 ) ;
-        Size = MAP_APPFONT ( 114 , 10 ) ;
-        Text [ en-US ] = "Shift cells ~left" ;
-        TabStop = TRUE ;
-    };
-    RadioButton BTN_CELLSUP
-    {
-        HelpID = "sc:RadioButton:RID_SCDLG_DELCELL:BTN_CELLSUP";
-        Pos = MAP_APPFONT ( 12 , 14 ) ;
-        Size = MAP_APPFONT ( 114 , 10 ) ;
-        Text [ en-US ] = "Shift cells ~up" ;
-        TabStop = TRUE ;
-    };
-    FixedLine FL_FRAME
-    {
-        Pos = MAP_APPFONT ( 6 , 3 ) ;
-        Size = MAP_APPFONT ( 123 , 8 ) ;
-        Text [ en-US ] = "Selection" ;
-    };
-};
-
 ModalDialog RID_SCDLG_INSCELL
 {
     OutputSize = TRUE ;
diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx
index 04d6eb9..85fcf83 100644
--- a/sc/source/ui/view/cellsh1.cxx
+++ b/sc/source/ui/view/cellsh1.cxx
@@ -267,14 +267,14 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
                     {
                         ScRange aRange;
                         ScDocument* pDoc = GetViewData()->GetDocument();
-                        sal_Bool bTheFlag=GetViewData()->IsMultiMarked() ||
+                        bool bTheFlag=GetViewData()->IsMultiMarked() ||
                             (GetViewData()->GetSimpleArea(aRange) == 
SC_MARK_SIMPLE_FILTERED) ||
                             (pDoc->GetChangeTrack() != NULL);
 
                         ScAbstractDialogFactory* pFact = 
ScAbstractDialogFactory::Create();
                         OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
 
-                        AbstractScDeleteCellDlg* pDlg = 
pFact->CreateScDeleteCellDlg( pTabViewShell->GetDialogParent(), 
RID_SCDLG_DELCELL, bTheFlag );
+                        AbstractScDeleteCellDlg* pDlg = 
pFact->CreateScDeleteCellDlg( pTabViewShell->GetDialogParent(), bTheFlag );
                         OSL_ENSURE(pDlg, "Dialog create fail!");
 
                         if (pDlg->Execute() == RET_OK)
diff --git a/sc/uiconfig/scalc/ui/deletecells.ui 
b/sc/uiconfig/scalc/ui/deletecells.ui
index 276326f..fbaa5e0 100644
--- a/sc/uiconfig/scalc/ui/deletecells.ui
+++ b/sc/uiconfig/scalc/ui/deletecells.ui
@@ -1,28 +1,28 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
-  <object class="GtkDialog" id="deletecells">
+  <object class="GtkDialog" id="DeleteCellsDialog">
     <property name="can_focus">False</property>
-    <property name="border_width">5</property>
+    <property name="border_width">6</property>
     <property name="title" translatable="yes">Delete Cells</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
       <object class="GtkBox" id="dialog-vbox1">
         <property name="can_focus">False</property>
-        <property name="spacing">2</property>
+        <property name="spacing">12</property>
         <child internal-child="action_area">
           <object class="GtkButtonBox" id="dialog-action_area1">
             <property name="can_focus">False</property>
             <property name="orientation">vertical</property>
             <property name="layout_style">start</property>
             <child>
-              <object class="GtkButton" id="ok1">
+              <object class="GtkButton" id="ok">
                 <property name="label">gtk-ok</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
+                <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_stock">True</property>
               </object>
               <packing>
@@ -32,12 +32,11 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="cancel1">
+              <object class="GtkButton" id="cancel">
                 <property name="label">gtk-cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_stock">True</property>
               </object>
               <packing>
@@ -47,12 +46,11 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="help1">
+              <object class="GtkButton" id="help">
                 <property name="label">gtk-help</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_stock">True</property>
                 <property name="image_position">top</property>
               </object>
@@ -80,23 +78,25 @@
               <object class="GtkAlignment" id="alignment3">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="top_padding">6</property>
                 <property name="left_padding">12</property>
                 <child>
                   <object class="GtkBox" id="box1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="orientation">vertical</property>
+                    <property name="spacing">6</property>
                     <child>
-                      <object class="GtkRadioButton" id="radiobutton1">
+                      <object class="GtkRadioButton" id="up">
                         <property name="label" translatable="yes">Shift cells 
_up</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
                         <property name="xalign">0</property>
                         <property name="active">True</property>
                         <property name="draw_indicator">True</property>
+                        <property name="group">left</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -105,16 +105,15 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkRadioButton" id="radiobutton2">
+                      <object class="GtkRadioButton" id="left">
                         <property name="label" translatable="yes">Shift cells 
_left</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
                         <property name="xalign">0</property>
-                        <property name="active">True</property>
                         <property name="draw_indicator">True</property>
+                        <property name="group">rows</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -123,16 +122,15 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkRadioButton" id="radiobutton3">
+                      <object class="GtkRadioButton" id="rows">
                         <property name="label" translatable="yes">Delete 
entire _row(s)</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
                         <property name="xalign">0</property>
-                        <property name="active">True</property>
                         <property name="draw_indicator">True</property>
+                        <property name="group">cols</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -141,16 +139,15 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkRadioButton" id="radiobutton4">
+                      <object class="GtkRadioButton" id="cols">
                         <property name="label" translatable="yes">Delete 
entire _column(s)</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
                         <property name="xalign">0</property>
-                        <property name="active">True</property>
                         <property name="draw_indicator">True</property>
+                        <property name="group">up</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -163,11 +160,13 @@
               </object>
             </child>
             <child type="label">
-              <object class="GtkLabel" id="Selectio">
+              <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" 
translatable="yes">&lt;b&gt;Selection&lt;/b&gt;</property>
-                <property name="use_markup">True</property>
+                <property name="label" translatable="yes">Selection</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
               </object>
             </child>
           </object>
@@ -180,9 +179,9 @@
       </object>
     </child>
     <action-widgets>
-      <action-widget response="0">ok1</action-widget>
-      <action-widget response="0">cancel1</action-widget>
-      <action-widget response="0">help1</action-widget>
+      <action-widget response="0">ok</action-widget>
+      <action-widget response="0">cancel</action-widget>
+      <action-widget response="0">help</action-widget>
     </action-widgets>
   </object>
 </interface>
commit eb4786e88a6e79d2c5f7723d93cd547f5994dea2
Author: Stephan Bergmann <sberg...@redhat.com>
Date:   Thu Apr 11 14:45:03 2013 +0200

    Remove dead code
    
    Change-Id: I090b0b1b10fdfe9d5955fe0137214d8907c3aa0c

diff --git a/unodevtools/Executable_skeletonmaker.mk 
b/unodevtools/Executable_skeletonmaker.mk
index b39dca0..f021485 100644
--- a/unodevtools/Executable_skeletonmaker.mk
+++ b/unodevtools/Executable_skeletonmaker.mk
@@ -54,7 +54,6 @@ $(eval $(call 
gb_Executable_use_static_libraries,uno-skeletonmaker,\
 
 $(eval $(call gb_Executable_add_exception_objects,uno-skeletonmaker,\
     unodevtools/source/unodevtools/options \
-    unodevtools/source/unodevtools/typeblob \
     unodevtools/source/skeletonmaker/skeletonmaker \
     unodevtools/source/skeletonmaker/skeletoncommon \
     unodevtools/source/skeletonmaker/javatypemaker \
diff --git a/unodevtools/source/unodevtools/typeblob.cxx 
b/unodevtools/source/unodevtools/typeblob.cxx
deleted file mode 100644
index 7f2a6fd..0000000
--- a/unodevtools/source/unodevtools/typeblob.cxx
+++ /dev/null
@@ -1,797 +0,0 @@
-/* -*- 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/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <string.h>
-
-#include "rtl/alloc.h"
-#include "registry/writer.hxx"
-
-#include "com/sun/star/beans/PropertyAttribute.hpp"
-#include "com/sun/star/container/XHierarchicalNameAccess.hpp"
-#include "com/sun/star/reflection/XPublished.hpp"
-#include "com/sun/star/reflection/XInterfaceTypeDescription2.hpp"
-#include "com/sun/star/reflection/XSingletonTypeDescription2.hpp"
-#include "com/sun/star/reflection/XServiceTypeDescription2.hpp"
-#include "com/sun/star/reflection/XStructTypeDescription.hpp"
-#include "com/sun/star/reflection/XConstantsTypeDescription.hpp"
-#include "com/sun/star/reflection/XConstantTypeDescription.hpp"
-#include "com/sun/star/reflection/XModuleTypeDescription.hpp"
-#include "com/sun/star/reflection/XInterfaceMethodTypeDescription.hpp"
-#include "com/sun/star/reflection/XInterfaceAttributeTypeDescription2.hpp"
-#include "com/sun/star/reflection/XMethodParameter.hpp"
-#include "com/sun/star/reflection/XCompoundTypeDescription.hpp"
-#include "com/sun/star/reflection/XIndirectTypeDescription.hpp"
-#include "com/sun/star/reflection/XEnumTypeDescription.hpp"
-
-#include "codemaker/generatedtypeset.hxx"
-
-using namespace com::sun::star::uno;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::container;
-using namespace com::sun::star::reflection;
-using namespace codemaker;
-
-
-namespace unodevtools {
-
-void writeConstantData(typereg::Writer& rWriter, sal_uInt16 fieldIndex,
-                       const Reference< XConstantTypeDescription >& xConstant)
-
-{
-    RTConstValue constValue;
-    OUString uConstTypeName;
-    OUString uConstName = xConstant->getName();
-    Any aConstantAny = xConstant->getConstantValue();
-
-    switch ( aConstantAny.getValueTypeClass() )
-    {
-    case TypeClass_BOOLEAN:
-    {
-        uConstTypeName = "boolean";
-        constValue.m_type = RT_TYPE_BOOL;
-        aConstantAny >>= constValue.m_value.aBool;
-    }
-    break;
-    case TypeClass_BYTE:
-    {
-        uConstTypeName = "byte";
-        constValue.m_type = RT_TYPE_BYTE;
-        aConstantAny >>= constValue.m_value.aByte;
-    }
-    break;
-    case TypeClass_SHORT:
-    {
-        uConstTypeName = "short";
-        constValue.m_type = RT_TYPE_INT16;
-        aConstantAny >>= constValue.m_value.aShort;
-    }
-    break;
-    case TypeClass_UNSIGNED_SHORT:
-    {
-        uConstTypeName = "unsigned short";
-        constValue.m_type = RT_TYPE_UINT16;
-        aConstantAny >>= constValue.m_value.aUShort;
-    }
-    break;
-    case TypeClass_LONG:
-    {
-        uConstTypeName = "long";
-        constValue.m_type = RT_TYPE_INT32;
-        aConstantAny >>= constValue.m_value.aLong;
-    }
-    break;
-    case TypeClass_UNSIGNED_LONG:
-    {
-        uConstTypeName = "unsigned long";
-        constValue.m_type = RT_TYPE_UINT32;
-        aConstantAny >>= constValue.m_value.aULong;
-    }
-    break;
-    case TypeClass_FLOAT:
-    {
-        uConstTypeName = "float";
-        constValue.m_type = RT_TYPE_FLOAT;
-        aConstantAny >>= constValue.m_value.aFloat;
-    }
-    break;
-    case TypeClass_DOUBLE:
-    {
-        uConstTypeName = "double";
-        constValue.m_type = RT_TYPE_DOUBLE;
-        aConstantAny >>= constValue.m_value.aDouble;
-    }
-    break;
-    case TypeClass_STRING:
-    {
-        uConstTypeName = "string";
-        constValue.m_type = RT_TYPE_STRING;
-        constValue.m_value.aString = 
((OUString*)aConstantAny.getValue())->getStr();
-    }
-    break;
-    default:
-        OSL_FAIL( "unsupported constant type" );
-        break;
-    }
-
-    rWriter.setFieldData(fieldIndex, OUString(), OUString(), RT_ACCESS_CONST,
-                         uConstName, uConstTypeName, constValue);
-}
-
-sal_uInt32 getInheritedMemberCount(
-    GeneratedTypeSet& checkedTypes,
-    Sequence< Reference< XTypeDescription > >& superTypes)
-{
-    sal_uInt32 memberCount = 0;
-
-    sal_uInt16 count = (sal_uInt16)superTypes.getLength();
-    OString name;
-    for (sal_uInt16 i=0; i < count; i++) {
-        name = OString(OUStringToOString(superTypes[i]->getName(),
-                                         RTL_TEXTENCODING_UTF8));
-        if (!checkedTypes.contains(name)) {
-            checkedTypes.add(name);
-
-            Reference< XInterfaceTypeDescription2 > xIFace(
-                superTypes[i], UNO_QUERY);
-
-            Sequence< Reference< XTypeDescription> > baseTypes =
-                xIFace->getBaseTypes();
-            if ( baseTypes.getLength() > 0)
-                memberCount += getInheritedMemberCount(checkedTypes, 
baseTypes);
-
-            memberCount += xIFace->getMembers().getLength();
-        }
-    }
-
-    return memberCount;
-}
-
-void writeMethodData( typereg::Writer& rWriter, sal_uInt32 
calculatedMemberOffset,
-                      const Reference< XInterfaceMethodTypeDescription >& 
xMethod )
-{
-    RTMethodMode methodMode = RT_MODE_TWOWAY;
-    if ( xMethod->isOneway() )
-        methodMode = RT_MODE_ONEWAY;
-
-    Sequence< Reference< XMethodParameter > > 
parameters(xMethod->getParameters());
-    Sequence< Reference< XTypeDescription > > 
exceptions(xMethod->getExceptions());
-
-    sal_uInt16 methodIndex = (sal_uInt16)(xMethod->getPosition()
-                                          - calculatedMemberOffset);
-    sal_uInt16 paramCount = (sal_uInt16)parameters.getLength();
-    sal_uInt16 exceptionCount = (sal_uInt16)exceptions.getLength();
-
-    rWriter.setMethodData(methodIndex, OUString(), methodMode,
-                          xMethod->getMemberName(),
-                          xMethod->getReturnType()->getName().replace('.', 
'/'),
-                          paramCount, exceptionCount);
-
-    RTParamMode paramMode = RT_PARAM_IN;
-    sal_uInt16 i;
-
-    for ( i=0; i < paramCount; i++) {
-        Reference< XMethodParameter > xParam = parameters[i];
-        if ( xParam->isIn() && xParam->isOut())
-            paramMode = RT_PARAM_INOUT;
-        else if ( xParam->isIn() )
-            paramMode = RT_PARAM_IN;
-        else if ( xParam->isOut() )
-            paramMode = RT_PARAM_OUT;
-
-        rWriter.setMethodParameterData(methodIndex,
-                                       (sal_uInt16)xParam->getPosition(),
-                                       paramMode, xParam->getName(),
-                                       xParam->getType()->
-                                       getName().replace('.', '/'));
-    }
-
-    for (i=0; i < exceptionCount; i++) {
-        rWriter.setMethodExceptionTypeName(
-            methodIndex, i, exceptions[i]->getName().replace('.', '/'));
-    }
-}
-
-void writeAttributeMethodData(
-    typereg::Writer& rWriter, sal_uInt16& methodindex, RTMethodMode methodmode,
-    const Reference<XInterfaceAttributeTypeDescription2>& xAttr)
-{
-    Sequence<Reference<XCompoundTypeDescription> > seqExcp;
-    if (methodmode == RT_MODE_ATTRIBUTE_GET)
-        seqExcp = xAttr->getGetExceptions();
-    else
-        seqExcp = xAttr->getSetExceptions();
-
-    if (seqExcp.getLength() > 0) {
-        rWriter.setMethodData(methodindex, OUString(), methodmode,
-                              xAttr->getMemberName(),
-                              OUString("void"),
-                              0, (sal_uInt16)seqExcp.getLength());
-
-        for (sal_Int32 i=0; i < seqExcp.getLength(); i++) {
-            rWriter.setMethodExceptionTypeName(
-                methodindex, (sal_uInt16)i,
-                seqExcp[i]->getName().replace('.', '/'));
-        }
-        ++methodindex;
-    }
-}
-
-RTFieldAccess checkParameterizedTypeFlag(const Sequence< OUString >& 
typeParams,
-                                         const OUString & memberType)
-{
-    for (sal_uInt16 i=0; i < typeParams.getLength(); i++) {
-        if (typeParams[i].equals(memberType))
-            return RT_ACCESS_PARAMETERIZED_TYPE;
-    }
-
-    return RT_ACCESS_READWRITE;
-}
-
-RTFieldAccess checkPropertyFlags(short flags) {
-    RTFieldAccess propertyFlags=RT_ACCESS_INVALID;
-    switch(flags) {
-    case PropertyAttribute::MAYBEVOID:
-        propertyFlags |= RT_ACCESS_MAYBEVOID;
-    case PropertyAttribute::BOUND:
-        propertyFlags |= RT_ACCESS_BOUND;
-    case PropertyAttribute::CONSTRAINED:
-        propertyFlags |= RT_ACCESS_CONSTRAINED;
-    case PropertyAttribute::TRANSIENT:
-        propertyFlags |= RT_ACCESS_TRANSIENT;
-    case PropertyAttribute::READONLY :
-        propertyFlags |= RT_ACCESS_READONLY;
-    case PropertyAttribute::MAYBEAMBIGUOUS:
-        propertyFlags |= RT_ACCESS_MAYBEAMBIGUOUS;
-    case PropertyAttribute::MAYBEDEFAULT:
-        propertyFlags |= RT_ACCESS_MAYBEDEFAULT;
-    case PropertyAttribute::REMOVABLE:
-        propertyFlags |= RT_ACCESS_REMOVEABLE;
-    case PropertyAttribute::OPTIONAL:
-        propertyFlags |= RT_ACCESS_OPTIONAL;
-    }
-    return propertyFlags;
-}
-
-void* getTypeBlob(Reference< XHierarchicalNameAccess > xTDmgr,
-                  const OString& typeName, sal_uInt32* blobsize)
-{
-    if ( typeName.isEmpty() )
-        return NULL;
-
-    OUString uTypeName(OStringToOUString(typeName, RTL_TEXTENCODING_UTF8)
-                       .replace('/', '.'));
-
-    Any aTypeAny( xTDmgr->getByHierarchicalName( uTypeName ) );
-
-    if ( !aTypeAny.hasValue() )
-        return NULL;
-
-    Reference< XTypeDescription > xType;
-    aTypeAny >>= xType;
-
-    if ( !xType.is() )
-        return NULL;
-
-    Reference< XPublished > xPublished(xType, UNO_QUERY);
-    void* pBlob = NULL;
-    switch (xType->getTypeClass())
-    {
-    case TypeClass_CONSTANTS:
-    {
-        Reference< XConstantsTypeDescription > xCFace(xType, UNO_QUERY);
-
-        if ( !xCFace.is() )
-            return NULL;
-
-        Sequence< Reference< XConstantTypeDescription > > constTypes(
-            xCFace->getConstants());
-        sal_uInt16 constCount = (sal_uInt16)constTypes.getLength();
-
-        typereg::Writer writer(TYPEREG_VERSION_1, OUString(), OUString(),
-                               RT_TYPE_CONSTANTS, xPublished->isPublished(),
-                               uTypeName.replace('.', '/'),
-                               0, constCount, 0, 0);
-
-        for (sal_uInt16 i=0; i < constCount; i++)
-            writeConstantData(writer, i, constTypes[i]);
-
-        const void* p = writer.getBlob(blobsize);
-        pBlob = (sal_uInt8*)rtl_allocateMemory(*blobsize);
-        memcpy(pBlob, p, *blobsize);
-    }
-    break;
-    case TypeClass_MODULE:
-    {
-        Reference< XModuleTypeDescription > xMFace(xType, UNO_QUERY);
-
-        if ( !xMFace.is() )
-            return NULL;
-
-        Sequence< Reference< XTypeDescription > > memberTypes(
-            xMFace->getMembers());
-
-        sal_uInt16 memberCount = (sal_uInt16)memberTypes.getLength();
-        sal_uInt16 constCount = 0;
-        sal_Int16 i;
-
-        for ( i=0; i < memberCount; i++) {
-            if ( TypeClass_CONSTANT == memberTypes[i]->getTypeClass() )
-                constCount++;
-        }
-
-        typereg::Writer writer(TYPEREG_VERSION_1, OUString(), OUString(),
-                               RT_TYPE_MODULE, xPublished->isPublished(),
-                               uTypeName.replace('.', '/'),
-                               0, constCount, 0, 0);
-
-        if ( 0 < constCount ) {
-            Reference< XConstantTypeDescription > xConst;
-            sal_uInt16 fieldIndex = 0;
-            for (i=0; i < memberCount; i++) {
-                if ( TypeClass_CONSTANT == memberTypes[i]->getTypeClass() ) {
-                    xConst = Reference< XConstantTypeDescription >(
-                        memberTypes[i], UNO_QUERY);
-
-                    writeConstantData(writer, ++fieldIndex, xConst);
-                }
-            }
-        }
-
-        const void* p = writer.getBlob(blobsize);
-        pBlob = (sal_uInt8*)rtl_allocateMemory(*blobsize);
-        memcpy(pBlob, p, *blobsize);
-    }
-    break;
-    case TypeClass_INTERFACE:
-    {
-        Reference< XInterfaceTypeDescription2 > xIFace(xType, UNO_QUERY);
-
-        if ( !xIFace.is() )
-            return NULL;
-
-        Reference< XInterfaceAttributeTypeDescription2 > xAttr;
-        Reference< XInterfaceMethodTypeDescription > xMethod;
-        Sequence< Reference< XInterfaceMemberTypeDescription > > memberTypes(
-            xIFace->getMembers());
-        Sequence< Reference< XTypeDescription > > baseTypes =
-            xIFace->getBaseTypes();
-        Sequence< Reference< XTypeDescription > > optBaseTypes =
-            xIFace->getOptionalBaseTypes();
-
-        sal_uInt16 baseCount = (sal_uInt16)baseTypes.getLength();
-        sal_uInt16 optBaseCount = (sal_uInt16)optBaseTypes.getLength();
-        sal_uInt16 memberCount = (sal_uInt16)memberTypes.getLength();
-        sal_uInt16 attrCount = 0, attrmethods = 0;
-        sal_uInt16 inheritedMemberCount = 0;
-        sal_uInt16 i;
-
-        for (i=0; i < memberCount; i++) {
-            xAttr = Reference< XInterfaceAttributeTypeDescription2 >(
-                memberTypes[i], UNO_QUERY);
-            if ( xAttr.is() ) {
-                attrCount++;
-
-                if (xAttr->getGetExceptions().getLength() > 0)
-                    attrmethods++;
-
-                if (xAttr->getSetExceptions().getLength() > 0)
-                    attrmethods++;
-            }
-        }
-
-        // check inherited members count
-        if (baseCount > 0) {
-            GeneratedTypeSet checkedTypes;
-            inheritedMemberCount = (sal_uInt16)getInheritedMemberCount(
-                checkedTypes, baseTypes );
-        }
-
-        typereg::Writer writer(TYPEREG_VERSION_1, OUString(), OUString(),
-                               RT_TYPE_INTERFACE, xPublished->isPublished(),
-                               uTypeName.replace('.', '/'),
-                               baseCount, attrCount, 
memberCount-attrCount+attrmethods,
-                               (sal_uInt16)optBaseTypes.getLength());
-
-        // set super types
-        for (i=0; i < baseCount; i++) {
-            writer.setSuperTypeName(i, baseTypes[i]->
-                                    getName().replace('.', '/'));
-        }
-
-        // set optional super types
-        RTReferenceType referenceType = RT_REF_SUPPORTS;
-        RTFieldAccess fieldAccess = RT_ACCESS_OPTIONAL;
-        for (i=0; i < optBaseCount; i++) {
-            writer.setReferenceData(i, OUString(), referenceType,
-                                    fieldAccess, optBaseTypes[i]->
-                                    getName().replace('.', '/'));
-        }
-
-        fieldAccess = RT_ACCESS_READWRITE;
-        // reset attrCount, used for method index calculation
-        attrCount = 0;
-        attrmethods = 0;
-        for (i=0; i < memberCount; i++) {
-            xAttr = Reference< XInterfaceAttributeTypeDescription2 >(
-                memberTypes[i], UNO_QUERY);
-            if ( xAttr.is() ) {
-                ++attrCount;
-                if (xAttr->isReadOnly())
-                    fieldAccess = RT_ACCESS_READONLY;
-                else
-                    fieldAccess = RT_ACCESS_READWRITE;
-
-                if (xAttr->isBound())
-                    fieldAccess |= RT_ACCESS_BOUND;
-
-                writer.setFieldData((sal_uInt16)memberTypes[i]->getPosition()
-                                    - inheritedMemberCount,
-                                    OUString(), OUString(), fieldAccess,
-                                    memberTypes[i]->getMemberName(),
-                                    
xAttr->getType()->getName().replace('.','/'),
-                                    RTConstValue());
-
-                writeAttributeMethodData(writer, attrmethods,
-                                         RT_MODE_ATTRIBUTE_GET, xAttr);
-                if (!xAttr->isReadOnly()) {
-                    writeAttributeMethodData(writer, attrmethods,
-                                            RT_MODE_ATTRIBUTE_SET, xAttr);
-                }
-
-                continue;
-            }
-
-            xMethod = Reference< XInterfaceMethodTypeDescription >(
-                memberTypes[i], UNO_QUERY);
-            if ( xMethod.is() ) {
-                writeMethodData(writer, 
attrCount+inheritedMemberCount-attrmethods,
-                                xMethod);
-            }
-        }
-
-        const void* p = writer.getBlob(blobsize);
-        pBlob = (sal_uInt8*)rtl_allocateMemory(*blobsize);
-        memcpy(pBlob, p, *blobsize);
-    }
-    break;
-    case TypeClass_STRUCT:
-    {
-        Reference< XStructTypeDescription > xStruct(xType, UNO_QUERY);
-
-        if ( !xStruct.is() )
-            return NULL;
-
-        if ( xStruct->getTypeArguments().getLength() > 0)
-            return NULL;
-
-
-        Sequence< OUString > typeParams( xStruct->getTypeParameters());
-        Sequence< OUString > memberNames( xStruct->getMemberNames());
-        Sequence< Reference< XTypeDescription > > memberTypes(
-            xStruct->getMemberTypes());
-        sal_uInt16 memberCount = (sal_uInt16)memberNames.getLength();
-
-        OUString uSuperType;
-        sal_uInt16 superCount=0;
-        if ( typeParams.getLength() == 0) {
-            Reference< XTypeDescription > xSuperType = xStruct->getBaseType();
-            if ( xSuperType.is() ) {
-                ++superCount;
-                uSuperType = xSuperType->getName().replace('.','/');
-            }
-        }
-        typereg::Writer writer(TYPEREG_VERSION_1, OUString(), OUString(),
-                               RT_TYPE_STRUCT, xPublished->isPublished(),
-                               uTypeName.replace('.', '/'),
-                                   superCount, memberCount, 0,
-                               (sal_uInt16)typeParams.getLength());
-
-        // set super type
-        if (superCount > 0) {
-            writer.setSuperTypeName(0, uSuperType);
-        }
-
-        sal_uInt16 i=0;
-        for (i=0; i < memberCount; i++) {
-            RTFieldAccess fieldAccess = RT_ACCESS_READWRITE;
-            if (typeParams.getLength() > 0)
-                fieldAccess |= checkParameterizedTypeFlag(
-                    typeParams, memberTypes[i]->getName());
-
-            writer.setFieldData(i, OUString(), OUString(), fieldAccess,
-                                memberNames[i],
-                                memberTypes[i]->getName().replace('.', '/'),
-                                RTConstValue());
-        }
-
-        for (i=0; i < typeParams.getLength(); i++) {
-            writer.setReferenceData(i, OUString(), RT_REF_TYPE_PARAMETER,
-                                    RT_ACCESS_INVALID, typeParams[i]);
-        }
-
-        const void* p = writer.getBlob(blobsize);
-        pBlob = (sal_uInt8*)rtl_allocateMemory(*blobsize);
-        memcpy(pBlob, p, *blobsize);
-        }
-    break;
-    case TypeClass_EXCEPTION:
-    {
-        Reference< XCompoundTypeDescription > xComp(xType, UNO_QUERY);
-
-        if ( !xComp.is() )
-            return NULL;
-
-        Sequence< OUString > memberNames( xComp->getMemberNames());
-        Sequence< Reference< XTypeDescription > > memberTypes(
-            xComp->getMemberTypes());
-        sal_uInt16 memberCount = (sal_uInt16)memberNames.getLength();
-
-        OUString uSuperType;
-        sal_uInt16 superCount=0;
-        Reference< XTypeDescription > xSuperType = xComp->getBaseType();
-        if ( xSuperType.is() ) {
-            ++superCount;
-            uSuperType = xSuperType->getName().replace('.','/');
-        }
-
-        typereg::Writer writer(TYPEREG_VERSION_1, OUString(), OUString(),
-                               RT_TYPE_EXCEPTION, xPublished->isPublished(),
-                               uTypeName.replace('.', '/'),
-                               superCount, memberCount, 0, 0);
-
-        // set super type
-        if (superCount > 0) {
-            writer.setSuperTypeName(0, uSuperType);
-        }
-
-        for (sal_Int16 i=0; i < memberCount; i++) {
-            writer.setFieldData(i, OUString(), OUString(), RT_ACCESS_READWRITE,
-                                memberNames[i],
-                                memberTypes[i]->getName().replace('.', '/'),
-                                RTConstValue());
-        }
-
-        const void* p = writer.getBlob(blobsize);
-        pBlob = (sal_uInt8*)rtl_allocateMemory(*blobsize);
-        memcpy(pBlob, p, *blobsize);
-    }
-    break;
-    case TypeClass_ENUM:
-    {
-        Reference< XEnumTypeDescription > xEnum(xType, UNO_QUERY);
-
-        if ( !xEnum.is() )
-            return NULL;
-
-        Sequence< OUString > enumNames( xEnum->getEnumNames());
-        Sequence< sal_Int32 > enumValues( xEnum->getEnumValues());
-        sal_uInt16 enumCount = (sal_uInt16)enumNames.getLength();
-
-        typereg::Writer writer(TYPEREG_VERSION_1, OUString(), OUString(),
-                               RT_TYPE_ENUM, xPublished->isPublished(),
-                               uTypeName.replace('.', '/'),
-                               0, enumCount, 0, 0);
-
-        RTConstValue constValue;
-        for (sal_Int16 i=0; i < enumCount; i++) {
-            constValue.m_type = RT_TYPE_INT32;
-            constValue.m_value.aLong = enumValues[i];
-
-            writer.setFieldData(i, OUString(), OUString(),
-                                RT_ACCESS_CONST, enumNames[i],
-                                OUString(), constValue);
-        }
-
-        const void* p = writer.getBlob(blobsize);
-        pBlob = (sal_uInt8*)rtl_allocateMemory(*blobsize);
-        memcpy(pBlob, p, *blobsize);
-    }
-    break;
-    case TypeClass_TYPEDEF:
-    {
-        Reference< XIndirectTypeDescription > xTD(xType, UNO_QUERY);
-
-        if ( !xTD.is() )
-            return NULL;
-
-        typereg::Writer writer(TYPEREG_VERSION_1, OUString(), OUString(),
-                               RT_TYPE_TYPEDEF, xPublished->isPublished(),
-                               uTypeName.replace('.', '/'),
-                               1, 0, 0, 0);
-
-        writer.setSuperTypeName(0, xTD->getReferencedType()
-                                ->getName().replace('.','/'));
-
-        const void* p = writer.getBlob(blobsize);
-        pBlob = (sal_uInt8*)rtl_allocateMemory(*blobsize);
-        memcpy(pBlob, p, *blobsize);
-    }
-    break;
-    case TypeClass_SERVICE:
-    {
-        Reference< XServiceTypeDescription2 > xService(xType, UNO_QUERY);
-
-        if ( !xService.is() )
-            return NULL;
-
-        Sequence<Reference<XServiceConstructorDescription> > constructors(
-            xService->getConstructors());
-        Sequence<Reference<XPropertyTypeDescription> > properties;
-        Sequence<Reference<XServiceTypeDescription> > mandatoryServices;
-        Sequence<Reference<XServiceTypeDescription> > optionalServices;
-        Sequence<Reference<XInterfaceTypeDescription> > mandatoryInterfaces;
-        Sequence<Reference<XInterfaceTypeDescription> > optionalInterfaces;
-        sal_uInt16 methodCount = (sal_uInt16)constructors.getLength();
-        sal_uInt16 referenceCount = 0;
-        sal_uInt16 propertyCount = 0;
-
-        if ( !xService->isSingleInterfaceBased() ) {
-            mandatoryServices = xService->getMandatoryServices();
-            optionalServices = xService->getOptionalServices();
-            mandatoryInterfaces = xService->getMandatoryInterfaces();
-            optionalInterfaces = xService->getOptionalInterfaces();
-            properties = xService->getProperties();
-            referenceCount = (sal_uInt16)(
-                mandatoryServices.getLength()+
-                optionalServices.getLength()+
-                mandatoryInterfaces.getLength()+
-                optionalInterfaces.getLength());
-            propertyCount = (sal_uInt16)properties.getLength();
-        }
-
-        typereg::Writer writer(TYPEREG_VERSION_1, OUString(), OUString(),
-                               RT_TYPE_SERVICE, xPublished->isPublished(),
-                               uTypeName.replace('.', '/'),
-                                   (xService->isSingleInterfaceBased() ? 1 : 
0),
-                               propertyCount, methodCount, referenceCount);
-
-        sal_uInt16 i=0;
-        if ( xService->isSingleInterfaceBased() ) {
-            writer.setSuperTypeName(0, xService->getInterface()
-                                    ->getName().replace('.','/'));
-
-            sal_uInt16 j=0;
-            for ( i=0; i<methodCount; i++ ) {
-                Reference<XServiceConstructorDescription> xConstructor(
-                    constructors[i], UNO_QUERY);
-                Sequence<Reference<XParameter> > parameters;
-                Sequence<Reference<XCompoundTypeDescription> > exceptions;
-                sal_uInt16 parameterCount=0;
-                sal_uInt16 exceptionCount=0;
-                if ( !xConstructor->isDefaultConstructor() ) {
-                    parameters = xConstructor->getParameters();
-                    parameterCount = (sal_uInt16)parameters.getLength();
-                }
-
-                writer.setMethodData(i, OUString(), RT_MODE_TWOWAY,
-                                     xConstructor->getName(),
-                                     OUString("void"),
-                                     parameterCount, exceptionCount);
-
-                if ( !xConstructor->isDefaultConstructor() ) {
-                    for ( j=0; j<parameterCount; j++ ) {
-                        Reference<XParameter> xParam(parameters[j], UNO_QUERY);
-                        RTParamMode paramMode = RT_PARAM_IN;
-                        if (xParam->isRestParameter())
-                            paramMode = RT_PARAM_REST;
-
-                        writer.setMethodParameterData(
-                            i,  (sal_uInt16)xParam->getPosition(),
-                            paramMode, xParam->getName(),
-                            xParam->getType()->getName().replace('.', '/'));
-                    }
-
-                    for (j=0; j<exceptionCount; j++) {
-                        Reference<XCompoundTypeDescription> xExcp(
-                            exceptions[j], UNO_QUERY);
-
-                        writer.setMethodExceptionTypeName(
-                            i, j, xExcp->getName().replace('.', '/'));
-                    }
-                }
-            }
-        } else
-        {
-            for (i=0; i<propertyCount; i++) {
-                Reference<XPropertyTypeDescription> xProp(
-                    properties[i], UNO_QUERY);
-
-                RTFieldAccess propertyFlags = checkPropertyFlags(
-                    xProp->getPropertyFlags());
-
-                writer.setFieldData(i, OUString(), OUString(),
-                                    propertyFlags,
-                                    
xProp->getName().copy(xProp->getName().lastIndexOf('.')+1),
-                                    xProp->getPropertyTypeDescription()
-                                    ->getName().replace('.', '/'),
-                                    RTConstValue());
-            }
-
-            sal_uInt16 refIndex = 0;
-            sal_uInt16 length = (sal_uInt16)mandatoryServices.getLength();
-            for (i=0; i < length; i++) {
-                writer.setReferenceData(refIndex++, OUString(),
-                                        RT_REF_EXPORTS, RT_ACCESS_INVALID,
-                                        mandatoryServices[i]->getName()
-                                        .replace('.', '/'));
-            }
-            length = (sal_uInt16)optionalServices.getLength();
-            for (i=0; i < length; i++) {
-                writer.setReferenceData(refIndex++, OUString(),
-                                        RT_REF_EXPORTS, RT_ACCESS_OPTIONAL,
-                                        optionalServices[i]->getName()
-                                        .replace('.', '/'));
-            }
-            length = (sal_uInt16)mandatoryInterfaces.getLength();
-            for (i=0; i < length; i++) {
-                writer.setReferenceData(refIndex++, OUString(),
-                                        RT_REF_SUPPORTS, RT_ACCESS_INVALID,
-                                        mandatoryInterfaces[i]->getName()
-                                        .replace('.', '/'));
-            }
-            length = (sal_uInt16)optionalInterfaces.getLength();
-            for (i=0; i < length; i++) {
-                writer.setReferenceData(refIndex++, OUString(),
-                                        RT_REF_SUPPORTS, RT_ACCESS_OPTIONAL,
-                                        optionalInterfaces[i]->getName()
-                                        .replace('.', '/'));
-            }
-        }
-
-        const void* p = writer.getBlob(blobsize);
-        pBlob = (sal_uInt8*)rtl_allocateMemory(*blobsize);
-        memcpy(pBlob, p, *blobsize);
-    }
-    break;
-    case TypeClass_SINGLETON:
-    {
-        Reference<XSingletonTypeDescription2> xSingleton(xType, UNO_QUERY);
-
-        if ( !xSingleton.is() )
-            return NULL;
-
-        typereg::Writer writer(TYPEREG_VERSION_1, OUString(), OUString(),
-                               RT_TYPE_SINGLETON, xPublished->isPublished(),
-                               uTypeName.replace('.', '/'),
-                               1, 0, 0, 0);
-
-        if (xSingleton->isInterfaceBased()) {
-            writer.setSuperTypeName(0, xSingleton->getInterface()
-                                    ->getName().replace('.','/'));
-        } else {
-            writer.setSuperTypeName(0, xSingleton->getService()
-                                    ->getName().replace('.','/'));
-        }
-
-        const void* p = writer.getBlob(blobsize);
-        pBlob = (sal_uInt8*)rtl_allocateMemory(*blobsize);
-        memcpy(pBlob, p, *blobsize);
-    }
-    break;
-    default:
-        OSL_FAIL( "unsupported type" );
-        break;
-    }
-
-    return pBlob;
-}
-
-} // end of namespace unodevtools
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to