Tag: cws_src680_dba203c
User: oj      
Date: 06/04/13 06:55:23

Modified:
 /dba/dbaccess/source/ui/misc/
  DExport.cxx, HtmlReader.cxx, RtfReader.cxx, WColumnSelect.cxx, WCopyTable.cxx,
  WExtendPages.cxx

Log:
 #i62797# format regconition corrected

File Changes:

Directory: /dba/dbaccess/source/ui/misc/
========================================

File [changed]: DExport.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/misc/DExport.cxx?r1=1.28&r2=1.28.46.1
Delta lines:  +244 -164
-----------------------
--- DExport.cxx 19 Jan 2006 15:43:05 -0000      1.28
+++ DExport.cxx 13 Apr 2006 13:55:20 -0000      1.28.46.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: DExport.cxx,v $
  *
- *  $Revision: 1.28 $
+ *  $Revision: 1.28.46.1 $
  *
- *  last change: $Author: obo $ $Date: 2006/01/19 15:43:05 $
+ *  last change: $Author: oj $ $Date: 2006/04/13 13:55:20 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -83,6 +83,12 @@
 #ifndef _DBHELPER_DBCONVERSION_HXX_
 #include <connectivity/dbconversion.hxx>
 #endif
+#ifndef _SFXHTML_HXX
+#include <sfx2/sfxhtml.hxx>
+#endif
+#ifndef _NUMUNO_HXX
+#include <svtools/numuno.hxx>
+#endif
 #ifndef _CONNECTIVITY_DBTOOLS_HXX_
 #include <connectivity/dbtools.hxx>
 #endif
@@ -173,8 +179,10 @@
                                                                 const 
Reference< XNumberFormatter >& _rxNumberF,
                                                                 const 
Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rM,
                                                                 const 
TColumnVector* pList,
-                                                                const 
OTypeInfoMap* _pInfoMap)
-       :m_pColumnList(pList)
+                                                                const 
OTypeInfoMap* _pInfoMap,
+                                 sal_Bool _bAutoIncrementEnabled)
+       :m_pFormatter(NULL)
+    ,m_pColumnList(pList)
        ,m_pInfoMap(_pInfoMap)
        ,m_nColumnPos(0)
        ,m_nRows(1)
@@ -184,7 +192,7 @@
        ,m_xFormatter(_rxNumberF)
        ,m_bHead(TRUE)
        ,m_bDontAskAgain(FALSE)
-       ,m_bIsAutoIncrement(FALSE)
+       ,m_bIsAutoIncrement(_bAutoIncrementEnabled)
        ,m_aDestColumns(sal_True)
        ,m_xFactory(_rM)
        ,m_pTypeInfo()
@@ -230,6 +238,7 @@
                                                                 const 
TColumnVector* pList,
                                                                 const 
OTypeInfoMap* _pInfoMap)
        :m_xConnection(_rxConnection)
+    ,m_pFormatter(NULL)
        ,m_pColumnList(NULL)
        ,m_pInfoMap(NULL)
        ,m_nColumnPos(0)
@@ -359,6 +368,7 @@
 ODatabaseExport::~ODatabaseExport()
 {
        DBG_DTOR(ODatabaseExport,NULL); 
+    m_pFormatter = NULL;
        ODatabaseExport::TColumns::iterator aIter = m_aDestColumns.begin();
        ODatabaseExport::TColumns::iterator aEnd  = m_aDestColumns.end();
 
@@ -376,8 +386,10 @@
                OFieldDescription* pField = m_vDestVector[m_nColumnPos]->second;
                if(pField)
                {
-                       OSL_ENSURE((m_bIsAutoIncrement ? m_nColumnPos+1 : 
m_nColumnPos) < static_cast<sal_Int32>(m_vColumns.size()),"Illegal index for 
vector");
-                       sal_Int32 nPos = m_vColumns[m_bIsAutoIncrement ? 
m_nColumnPos+1 : m_nColumnPos].first;
+            sal_Int32 nNewPos = m_bIsAutoIncrement ? m_nColumnPos+1 : 
m_nColumnPos;
+                       OSL_ENSURE((nNewPos) < 
static_cast<sal_Int32>(m_vColumns.size()),"Illegal index for vector");
+            
+                       sal_Int32 nPos = m_vColumns[nNewPos].first;
                        if(nPos != CONTAINER_ENTRY_NOTFOUND)
                        {
 //                                     if(m_nDefToken != LANGUAGE_DONTKNOW) // 
falls Sprache anders als Systemsprache
@@ -389,10 +401,25 @@
                                {
                                        sal_Int32 nNumberFormat = 0;
                                        double fOutNumber = 0.0;
-                                       OSL_ENSURE((m_bIsAutoIncrement ? 
m_nColumnPos+1 : m_nColumnPos) < 
static_cast<sal_Int32>(m_vColumnTypes.size()),"Illegal index for vector");
-                                       if (m_vColumnTypes[m_bIsAutoIncrement ? 
m_nColumnPos+1 : m_nColumnPos] != DataType::VARCHAR)
+                                       OSL_ENSURE((nNewPos) < 
static_cast<sal_Int32>(m_vColumnTypes.size()),"Illegal index for vector");
+                                       if (m_vColumnTypes[nNewPos] != 
DataType::VARCHAR)
+                                       {
+                        Reference< XNumberFormatsSupplier >  xSupplier = 
m_xFormatter->getNumberFormatsSupplier();
+                        Reference<XPropertySet> xNumberFormatSettings = 
xSupplier->getNumberFormatSettings();
+                        com::sun::star::util::Date aNullDate;
+                        
xNumberFormatSettings->getPropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NullDate")))
 >>= aNullDate;
+
+                        ensureFormatter();
+                           if ( m_pFormatter && m_sNumToken.Len() )
+                        {
+                            LanguageType eNumLang;
+                            sal_uInt32 nNumberFormat2;
+                            fOutNumber = 
SfxHTMLParser::GetTableDataOptionsValNum(nNumberFormat2,eNumLang,m_sTextToken,m_sNumToken,*m_pFormatter);
+                            nNumberFormat = 
static_cast<sal_Int32>(nNumberFormat2);
+                        }
+                        else
                                        {
-                                               Reference<XNumberFormatTypes> 
xNumType(m_xFormatter->getNumberFormatsSupplier()->getNumberFormats(),UNO_QUERY);
+                                                   
Reference<XNumberFormatTypes> xNumType(xSupplier->getNumberFormats(),UNO_QUERY);
 
                                                try
                                                {
@@ -422,10 +449,25 @@
                                                                }
                                                        }
                                                }
+                            fOutNumber = 
m_xFormatter->convertStringToNumber(nNumberFormat,m_sTextToken);
+                        }
                                                try
                                                {
-                                                       fOutNumber = 
m_xFormatter->convertStringToNumber(nNumberFormat,m_sTextToken);
-                                                       
m_xRowUpdate->updateDouble(nPos,::dbtools::DBTypeConversion::toStandardDbDate(::dbtools::DBTypeConversion::getStandardDate(),fOutNumber));
+                            Reference< XNumberFormatsSupplier > xSupplier = 
m_xFormatter->getNumberFormatsSupplier();
+                            Reference< XNumberFormats >         xFormats = 
xSupplier->getNumberFormats();
+                            Reference<XPropertySet> xProp = 
xFormats->getByKey(nNumberFormat);
+                                   sal_Int16 nType = 0;
+                                   xProp->getPropertyValue(PROPERTY_TYPE) >>= 
nType;
+                            switch(nType)
+                                   {
+                                           case NumberFormat::DATE:
+                                case NumberFormat::DATETIME:
+                                    fOutNumber = 
::dbtools::DBTypeConversion::toStandardDbDate(aNullDate,fOutNumber);
+                                    break;
+                                default:
+                                    ;
+                            }
+                                                       
m_xRowUpdate->updateDouble(nPos,fOutNumber);//::dbtools::DBTypeConversion::getStandardDate()
                                                }
                                                catch(Exception&)
                                                {
@@ -437,7 +479,7 @@
                                                
m_xRowUpdate->updateString(nPos,m_sTextToken);
                                }
                        }
-                       m_sTextToken.Erase();
+            eraseTokens();
                }
        }
 }
@@ -451,18 +493,28 @@
 
        try
        {
-               Reference<XNumberFormats> xFormats = 
m_xFormatter->getNumberFormatsSupplier()->getNumberFormats();
+        Reference< XNumberFormatsSupplier > xSupplier = 
m_xFormatter->getNumberFormatsSupplier();
+        Reference< XNumberFormats >         xFormats = 
xSupplier->getNumberFormats();
+
+        ensureFormatter();
+           if ( m_pFormatter && m_sNumToken.Len() )
+        {
+            LanguageType eNumLang;
+            sal_uInt32 nNumberFormat2;
+            fOutNumber = 
SfxHTMLParser::GetTableDataOptionsValNum(nNumberFormat2,eNumLang,m_sTextToken,m_sNumToken,*m_pFormatter);
+            //double fOutNumber2 = 
SfxHTMLParser::GetTableDataOptionsValNum(nNumberFormat2,eNumLang,m_sValToken,m_sNumToken,*m_pFormatter);
+            nFormat = static_cast<sal_Int32>(nNumberFormat2);
+        }
+        else
+        {                      
                Reference<XNumberFormatTypes> xNumType(xFormats,UNO_QUERY);
                nFormat = 
m_xFormatter->detectNumberFormat(xNumType->getStandardFormat(NumberFormat::ALL,m_nLocale),aCheckToken);
+            fOutNumber = 
m_xFormatter->convertStringToNumber(nFormat,aCheckToken);
+
                Reference<XPropertySet> xProp = xFormats->getByKey(nFormat);
                sal_Int16 nType = 0;
                xProp->getPropertyValue(PROPERTY_TYPE) >>= nType;
-               fOutNumber = 
m_xFormatter->convertStringToNumber(nFormat,aCheckToken);
 
-               {
-                       OSL_ENSURE((m_nColumnPos) < 
static_cast<sal_Int32>(m_vColumns.size()),"Illegal index for vector");
-                       OSL_ENSURE(m_vColumns[m_nColumnPos].first < 
static_cast<sal_Int32>(m_vFormatKey.size()),"Illegal index for vector");
-                       m_vFormatKey[m_vColumns[m_nColumnPos].first] = nFormat; 
// wird sp"ater f"ur die Column gebraucht
                        switch(nType)
                        {
                                case NumberFormat::ALL:
@@ -563,8 +615,6 @@
        }
        catch(Exception&)
        {
-               OSL_ENSURE((m_nColumnPos) < 
static_cast<sal_Int32>(m_vColumns.size()),"Illegal index for vector");
-               m_vFormatKey[m_vColumns[m_nColumnPos].first] =  100;
                nFormat = NumberFormat::TEXT; // Text "uberschreibt alles
        }
 
@@ -576,12 +626,18 @@
        DBG_CHKTHIS(ODatabaseExport,NULL);
        if(_pList && _pInfoMap)
        {
+        Reference< XNumberFormatsSupplier > xSupplier = 
m_xFormatter->getNumberFormatsSupplier();
+        Reference< XNumberFormats >         xFormats = 
xSupplier->getNumberFormats();
                TColumnVector::const_iterator aIter = _pList->begin();
-               for(sal_Int32 i=0;aIter != _pList->end();++aIter,++i)
+        TColumnVector::const_iterator aEnd = _pList->end();
+        for(sal_Int32 i= 0;aIter != aEnd;++aIter,++i)
                {
                        sal_Int32 nDataType;
                        sal_Int32 nLength(0),nScale(0);
-                       switch(m_vFormatKey[i])
+            Reference<XPropertySet> xProp = 
xFormats->getByKey(m_vFormatKey[i]);
+                   sal_Int16 nType = 0;
+                   xProp->getPropertyValue(PROPERTY_TYPE) >>= nType;
+                       switch ( nType )
                        {
                                case NumberFormat::ALL:
                                        nDataType  = DataType::DOUBLE;
@@ -804,12 +860,36 @@
        } // if(!m_bDontAskAgain)
 }
 // 
-----------------------------------------------------------------------------
-
-
-
-
-
-
-
-
-
+void ODatabaseExport::adjustFormat()
+{
+    if ( m_sTextToken.Len() )
+       {
+               sal_Int32 nColPos = m_vColumns[m_bIsAutoIncrement ? 
m_nColumnPos+1 : m_nColumnPos].first;
+               if( nColPos != CONTAINER_ENTRY_NOTFOUND)
+               {
+            --nColPos;
+                       m_vFormatKey[nColPos] = 
CheckString(m_sTextToken,m_vFormatKey[nColPos]);
+                       m_vColumnSize[nColPos] = 
::std::max<sal_Int32>((sal_Int32)m_vColumnSize[nColPos],(sal_Int32)m_sTextToken.Len());
+               }
+               eraseTokens();
+       }
+}
+// 
-----------------------------------------------------------------------------
+void ODatabaseExport::eraseTokens()
+{
+    m_sTextToken.Erase();
+    m_sNumToken.Erase();
+    m_sValToken.Erase();
+}
+// 
-----------------------------------------------------------------------------
+void ODatabaseExport::ensureFormatter()
+{
+    if ( !m_pFormatter )
+    {
+        Reference< XNumberFormatsSupplier >  xSupplier = 
m_xFormatter->getNumberFormatsSupplier();
+           Reference< XUnoTunnel > xTunnel(xSupplier,UNO_QUERY);
+           SvNumberFormatsSupplierObj* pSupplierImpl = 
(SvNumberFormatsSupplierObj*)xTunnel->getSomething(SvNumberFormatsSupplierObj::getUnoTunnelId());
+           m_pFormatter = pSupplierImpl ? pSupplierImpl->GetNumberFormatter() 
: NULL;
+    }
+}
+// 
-----------------------------------------------------------------------------

File [changed]: HtmlReader.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/misc/HtmlReader.cxx?r1=1.22&r2=1.22.50.1
Delta lines:  +42 -59
---------------------
--- HtmlReader.cxx      19 Jan 2006 15:43:23 -0000      1.22
+++ HtmlReader.cxx      13 Apr 2006 13:55:20 -0000      1.22.50.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: HtmlReader.cxx,v $
  *
- *  $Revision: 1.22 $
+ *  $Revision: 1.22.50.1 $
  *
- *  last change: $Author: obo $ $Date: 2006/01/19 15:43:23 $
+ *  last change: $Author: oj $ $Date: 2006/04/13 13:55:20 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -143,7 +143,6 @@
 using namespace ::com::sun::star::sdbcx;
 using namespace ::com::sun::star::awt;
 
-#define CONTAINER_ENTRY_NOTFOUND    ((ULONG)0xFFFFFFFF)
 #define DBAUI_HTML_FONTSIZES   8               // wie Export, HTML-Options
 #define HTML_META_NONE                 0
 #define HTML_META_AUTHOR               1
@@ -212,9 +211,10 @@
                                                 const Reference< 
::com::sun::star::util::XNumberFormatter >& _rxNumberF,
                                                 const 
::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory 
>& _rM,
                                                 const TColumnVector* pList,
-                                                const OTypeInfoMap* _pInfoMap)
+                                                const OTypeInfoMap* _pInfoMap,
+                         sal_Bool _bAutoIncrementEnabled)
        : HTMLParser(rIn)
-       ,ODatabaseExport(nRows,_rColumnPositions,_rxNumberF,_rM,pList,_pInfoMap)
+       
,ODatabaseExport(nRows,_rColumnPositions,_rxNumberF,_rM,pList,_pInfoMap,_bAutoIncrementEnabled)
        ,m_nTableCount(0)
        ,m_nColumnWidth(87)
        ,m_bMetaOptions(sal_False)
@@ -324,34 +324,11 @@
                                break;
                        case HTML_TEXTTOKEN:
                        case HTML_SINGLECHAR:
-                               if ( m_bInTbl && !m_bSDNum ) // wichtig, da wir 
sonst auch die Namen der Fonts bekommen
+                               if ( m_bInTbl ) //&& !m_bSDNum ) // wichtig, da 
wir sonst auch die Namen der Fonts bekommen
                                        m_sTextToken += aToken;
                                break;
                        case HTML_TABLEDATA_ON:
-                               {
-                                       m_bInTbl = TRUE;
-                                       String *pValue = NULL;
-                                       const HTMLOptions* pOptions = 
GetOptions();
-                                       sal_Int16 nArrLen = pOptions->Count();
-                                       for ( sal_Int16 i = 0; i < nArrLen; i++ 
)
-                                       {
-                                               const HTMLOption* pOption = 
(*pOptions)[i];
-                                               switch( pOption->GetToken() )
-                                               {
-                                                       case HTML_O_SDVAL:
-                                                       {
-                                                               m_sTextToken = 
pOption->GetString();
-                                                               m_bSDNum = 
sal_True;
-                                                       }
-                                                       break;
-                                                       case HTML_O_SDNUM:
-                                                       {
-                                                               //      pValue 
= new String( pOption->GetString() );
-                                                       }
-                                                       break;
-                                               }
-                                       }
-                               }
+                fetchOptions();
                                break;
                        case HTML_TABLEDATA_OFF:
                                {
@@ -365,7 +342,7 @@
                                                showErrorDialog(e);
                                        }
                                        m_nColumnPos++;
-                                       m_sTextToken.Erase();
+                    eraseTokens();
                                        m_bSDNum = m_bInTbl = sal_False;
                                }
                                break;
@@ -409,40 +386,46 @@
                                break;
                        case HTML_TABLEDATA_ON:
                        case HTML_TABLEHEADER_ON:
-                               m_bInTbl = TRUE;
+                               fetchOptions();
                                break;
                        case HTML_TEXTTOKEN:
                        case HTML_SINGLECHAR:
-                               if(m_bInTbl)
+                if ( m_bInTbl ) // && !m_bSDNum ) // wichtig, da wir sonst 
auch die Namen der Fonts bekommen
                                        m_sTextToken += aToken;
                                break;
                        case HTML_TABLEDATA_OFF:
-                               if(m_sTextToken.Len())
-                               {
-                                       sal_Int32 nColPos = 
m_vColumns[m_nColumnPos].first;
-                                       if( nColPos != CONTAINER_ENTRY_NOTFOUND)
-                                       {
-                                               m_vFormatKey[nColPos] = 
CheckString(m_sTextToken,m_vFormatKey[nColPos]);
-                                               m_vColumnSize[nColPos] = 
::std::max<sal_Int32>((sal_Int32)m_vColumnSize[nColPos],(sal_Int32)m_sTextToken.Len());
-                                       }
-                                       m_sTextToken.Erase();
-                               }
+                adjustFormat();
                                m_nColumnPos++;
-                               m_bInTbl = sal_False;
+                               m_bSDNum = m_bInTbl = sal_False;
                                break;
                        case HTML_TABLEROW_OFF:
-                               if(m_sTextToken.Len())
+                adjustFormat();
+                               m_nColumnPos = 0;
+                               m_nRows--;
+                               break;
+               }
+       }
+}
+// 
-----------------------------------------------------------------------------
+void OHTMLReader::fetchOptions()
+{
+       m_bInTbl = TRUE;
+       const HTMLOptions* pOptions = GetOptions();
+       sal_Int16 nArrLen = pOptions->Count();
+       for ( sal_Int16 i = 0; i < nArrLen; i++ )
                                {
-                                       sal_Int32 nColPos = 
m_vColumns[m_nColumnPos].first;
-                                       if(nColPos != CONTAINER_ENTRY_NOTFOUND)
+               const HTMLOption* pOption = (*pOptions)[i];
+               switch( pOption->GetToken() )
                                        {
-                                               m_vFormatKey[nColPos] = 
CheckString(m_sTextToken,m_vFormatKey[nColPos]);
-                                               m_vColumnSize[nColPos] = 
::std::max<sal_Int32>((sal_Int32)m_vColumnSize[nColPos],(sal_Int32)m_sTextToken.Len());
-                                       }
-                                       m_sTextToken.Erase();
+                       case HTML_O_SDVAL:
+                       {
+                m_sValToken = pOption->GetString();
+                               //m_sTextToken = pOption->GetString();
+                               m_bSDNum = sal_True;
                                }
-                               m_nColumnPos = 0;
-                               m_nRows--;
+                       break;
+                       case HTML_O_SDNUM:
+                m_sNumToken = pOption->GetString();
                                break;
                }
        }
@@ -475,12 +458,12 @@
                        break;
                        case HTML_O_SDVAL:
                        {
-                               pValue = new String( pOption->GetString() );
+                               //pValue = new String( pOption->GetString() );
                        }
                        break;
                        case HTML_O_SDNUM:
                        {
-                               pValue = new String( pOption->GetString() );
+                               //pValue = new String( pOption->GetString() );
                        }
                        break;
                        case HTML_O_BGCOLOR:

File [changed]: RtfReader.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/misc/RtfReader.cxx?r1=1.18&r2=1.18.50.1
Delta lines:  +13 -29
---------------------
--- RtfReader.cxx       19 Jan 2006 15:43:40 -0000      1.18
+++ RtfReader.cxx       13 Apr 2006 13:55:20 -0000      1.18.50.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: RtfReader.cxx,v $
  *
- *  $Revision: 1.18 $
+ *  $Revision: 1.18.50.1 $
  *
- *  last change: $Author: obo $ $Date: 2006/01/19 15:43:40 $
+ *  last change: $Author: oj $ $Date: 2006/04/13 13:55:20 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -125,7 +125,6 @@
 using namespace ::com::sun::star::sdbcx;
 using namespace ::com::sun::star::awt;
 
-#define CONTAINER_ENTRY_NOTFOUND    ((ULONG)0xFFFFFFFF)
 DBG_NAME(ORTFReader);
 // ==========================================================================
 // ORTFReader
@@ -148,9 +147,10 @@
                                           const Reference< 
::com::sun::star::util::XNumberFormatter >& _rxNumberF,
                                           const 
::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory 
>& _rM,
                                           const TColumnVector* pList,
-                                          const OTypeInfoMap* _pInfoMap)
+                                          const OTypeInfoMap* _pInfoMap,
+                       sal_Bool _bAutoIncrementEnabled)
    :SvRTFParser(rIn) 
-   ,ODatabaseExport(nRows,_rColumnPositions,_rxNumberF,_rM,pList,_pInfoMap)
+   
,ODatabaseExport(nRows,_rColumnPositions,_rxNumberF,_rM,pList,_pInfoMap,_bAutoIncrementEnabled)
 {
        DBG_CTOR(ORTFReader,NULL);
 }
@@ -231,7 +231,10 @@
                                break;
                        case RTF_INTBL:
                                if(m_bInTbl)
-                                       m_sTextToken.Erase();
+                {
+                    eraseTokens();
+                }
+
                                m_bInTbl = TRUE; // jetzt befinden wir uns in 
einer Tabellenbeschreibung
                                break;
                        case RTF_TEXTTOKEN:
@@ -251,7 +254,7 @@
                                                showErrorDialog(e);
                                        }
                                        m_nColumnPos++;
-                                       m_sTextToken.Erase();
+                    eraseTokens();
                                }
                                break;
                        case RTF_ROW:
@@ -297,30 +300,11 @@
                                        m_sTextToken += aToken;
                                break;
                        case RTF_CELL:
-                               if(m_sTextToken.Len())
-                               {
-                                       sal_Int32 nColPos = 
m_vColumns[m_nColumnPos].first;
-                                       if(nColPos != CONTAINER_ENTRY_NOTFOUND)
-                                       {
-                                               m_vFormatKey[nColPos] = 
CheckString(m_sTextToken,m_vFormatKey[nColPos]);
-                                               m_vColumnSize[nColPos] = 
::std::max<sal_Int32>(m_vColumnSize[nColPos],(sal_Int32)m_sTextToken.Len());
-                                       }
-
-                                       m_sTextToken.Erase();
-                               }
+                adjustFormat();
                                m_nColumnPos++;
                                break;
                        case RTF_ROW:
-                               if(m_sTextToken.Len())
-                               {
-                                       sal_Int32 nColPos = 
m_vColumns[m_nColumnPos].first;
-                                       if(nColPos != CONTAINER_ENTRY_NOTFOUND)
-                                       {
-                                               m_vFormatKey[nColPos] = 
CheckString(m_sTextToken,m_vFormatKey[nColPos]);
-                                               m_vColumnSize[nColPos] = 
::std::max<sal_Int32>(m_vColumnSize[nColPos],(sal_Int32)m_sTextToken.Len());
-                                       }
-                                       m_sTextToken.Erase();
-                               }
+                adjustFormat();
                                m_nColumnPos = 0;
                                m_nRows--;
                                break;

File [changed]: WColumnSelect.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/misc/WColumnSelect.cxx?r1=1.17&r2=1.17.48.1
Delta lines:  +11 -5
--------------------
--- WColumnSelect.cxx   19 Jan 2006 15:44:12 -0000      1.17
+++ WColumnSelect.cxx   13 Apr 2006 13:55:20 -0000      1.17.48.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: WColumnSelect.cxx,v $
  *
- *  $Revision: 1.17 $
+ *  $Revision: 1.17.48.1 $
  *
- *  last change: $Author: obo $ $Date: 2006/01/19 15:44:12 $
+ *  last change: $Author: oj $ $Date: 2006/04/13 13:55:20 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -176,7 +176,10 @@
        const ODatabaseExport::TColumnVector* pDestColumns = 
m_pParent->getDestVector();
 
        ODatabaseExport::TColumnVector::const_iterator aIter = 
pDestColumns->begin();
-       for(;aIter != pDestColumns->end();++aIter)
+    ODatabaseExport::TColumnVector::const_iterator aEnd = pDestColumns->end();
+    /*if ( m_pParent->isAutoincrementEnabled() && pDestColumns->size() > 1 )
+        ++aIter;*/
+       for(;aIter != aEnd;++aIter)
        {
                USHORT nPos = m_lbNewColumnNames.InsertEntry((*aIter)->first);
                m_lbNewColumnNames.SetEntryData(nPos,new 
OFieldDescription(*((*aIter)->second)));
@@ -373,7 +376,9 @@
                                                                                
                                                        
::std::select2nd<OCopyTableWizard::TNameMapping::value_type>())
                                                                                
                                                        );
 
-               DBG_ASSERT(aIter != m_pParent->m_mNameMapping.end(),"Column 
must to be defined");
+               DBG_ASSERT(aIter != m_pParent->m_mNameMapping.end(),"Column 
must be defined");
+        if ( aIter == m_pParent->m_mNameMapping.end() )
+            return; // do nothing
                const ODatabaseExport::TColumns* pSrcColumns = 
m_pParent->getSourceColumns();
                ODatabaseExport::TColumns::const_iterator aSrcIter = 
pSrcColumns->find((*aIter).first);
                if ( aSrcIter != pSrcColumns->end() )
@@ -383,6 +388,7 @@
                        ODatabaseExport::TColumnVector::const_iterator aPos = 
::std::find(pSrcVector->begin(),pSrcVector->end(),aSrcIter);
                        OSL_ENSURE( aPos != pSrcVector->end(),"Invalid position 
for the iterator here!");
                        USHORT nPos = (aPos - pSrcVector->begin()) - 
adjustColumnPosition(_pLeft, _sColumnName, (aPos - pSrcVector->begin()), 
_aCase);
+            m_pParent->removeColumnNameFromNameMap(_sColumnName);
 
                        _pRight->SetEntryData( _pRight->InsertEntry( 
(*aIter).first, nPos),aSrcIter->second );
                        _rRightColumns.push_back((*aIter).first);

File [changed]: WCopyTable.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/misc/WCopyTable.cxx?r1=1.42&r2=1.42.48.1
Delta lines:  +17 -6
--------------------
--- WCopyTable.cxx      19 Jan 2006 15:44:34 -0000      1.42
+++ WCopyTable.cxx      13 Apr 2006 13:55:20 -0000      1.42.48.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: WCopyTable.cxx,v $
  *
- *  $Revision: 1.42 $
+ *  $Revision: 1.42.48.1 $
  *
- *  last change: $Author: obo $ $Date: 2006/01/19 15:44:34 $
+ *  last change: $Author: oj $ $Date: 2006/04/13 13:55:20 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -210,12 +210,17 @@
        ,m_sTypeNames(ModuleRes(STR_TABLEDESIGN_DBFIELDTYPES))
        ,m_xFactory(_rM)
        ,m_sName(_rDefaultName)
-       ,m_vSourceVec(_rSourceColVec)
        ,m_xSourceConnection(_xConnection) // in this case source connection 
and dest connection are the same
        ,m_bDeleteSourceColumns(sal_False)
 {
        DBG_CTOR(OCopyTableWizard,NULL);
        construct();
+    ODatabaseExport::TColumnVector::const_iterator aIter = 
_rSourceColVec.begin();
+    ODatabaseExport::TColumnVector::const_iterator aEnd = _rSourceColVec.end();
+    for (; aIter != aEnd ; ++aIter)
+    {
+        m_vSourceVec.push_back(m_vSourceColumns.find((*aIter)->first));
+    }
 }
 // 
-----------------------------------------------------------------------------
 void OCopyTableWizard::construct()
@@ -723,8 +728,9 @@
                        // now only the settings are missing
                        if(xColumns->hasByName(pField->GetName()))
                        {
-                               xColumns->getByName(pField->GetName()) >>= 
xColumn;
-                               if(xColumn.is())
+                xColumn.set(xColumns->getByName(pField->GetName()),UNO_QUERY);
+                OSL_ENSURE(xColumn.is(),"OCopyTableWizard::appendColumns: 
Column is NULL!");
+                               if ( xColumn.is() )
                                        
dbaui::setColumnUiProperties(xColumn,pField);
                        }
                        else
@@ -1136,5 +1142,10 @@
 
        OSQLMessageBox aMsg(this,sTitle,sMessage);
        aMsg.Execute();
+}
+// 
-----------------------------------------------------------------------------
+void OCopyTableWizard::removeColumnNameFromNameMap(const ::rtl::OUString& 
_sName)
+{
+    m_mNameMapping.erase(_sName);
 }
 // 
-----------------------------------------------------------------------------

File [changed]: WExtendPages.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/misc/WExtendPages.cxx?r1=1.4&r2=1.4.110.1
Delta lines:  +7 -5
-------------------
--- WExtendPages.cxx    8 Sep 2005 16:10:15 -0000       1.4
+++ WExtendPages.cxx    13 Apr 2006 13:55:20 -0000      1.4.110.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: WExtendPages.cxx,v $
  *
- *  $Revision: 1.4 $
+ *  $Revision: 1.4.110.1 $
  *
- *  last change: $Author: rt $ $Date: 2005/09/08 16:10:15 $
+ *  last change: $Author: oj $ $Date: 2006/04/13 13:55:20 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -55,7 +55,8 @@
                                                        
m_pParent->GetFormatter(),
                                                        m_pParent->GetFactory(),
                                                        
m_pParent->getDestVector(),
-                                                       
m_pParent->getTypeInfo());
+                                                       
m_pParent->getTypeInfo(),
+                            m_pParent->isAutoincrementEnabled());
 }
 //========================================================================
 SvParser* OWizRTFExtend::createReader(sal_Int32 _nRows)
@@ -66,7 +67,8 @@
                                                        
m_pParent->GetFormatter(),
                                                        m_pParent->GetFactory(),
                                                        
m_pParent->getDestVector(),
-                                                       
m_pParent->getTypeInfo());
+                                                       
m_pParent->getTypeInfo(),
+                            m_pParent->isAutoincrementEnabled());
 }
 //========================================================================
 OWizNormalExtend::OWizNormalExtend(Window* pParent) : OWizTypeSelect( pParent)




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to