Tag: cws_src680_oj14
User: oj      
Date: 2006/07/04 01:12:07

Modified:
   dba/dbaccess/source/ui/misc/HtmlReader.cxx

Log:
 RESYNC: (1.22-1.25); FILE MERGED

File Changes:

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

File [changed]: HtmlReader.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/misc/HtmlReader.cxx?r1=1.20.4.4&r2=1.20.4.5
Delta lines:  +62 -82
---------------------
--- HtmlReader.cxx      25 Apr 2006 13:03:13 -0000      1.20.4.4
+++ HtmlReader.cxx      4 Jul 2006 08:12:04 -0000       1.20.4.5
@@ -140,7 +140,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
@@ -209,9 +208,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)
@@ -277,11 +277,11 @@
                        case HTML_TABLE_ON:
                                ++m_nTableCount;
                                {       // es kann auch TD oder TH sein, wenn 
es vorher kein TABLE gab
-                                       const HTMLOptions* pOptions = 
GetOptions();
-                                       sal_Int16 nArrLen = pOptions->Count();
+                    const HTMLOptions* pHtmlOptions = GetOptions();
+                    sal_Int16 nArrLen = pHtmlOptions->Count();
                                        for ( sal_Int16 i = 0; i < nArrLen; i++ 
)
                                        {
-                                               const HTMLOption* pOption = 
(*pOptions)[i];
+                        const HTMLOption* pOption = (*pHtmlOptions)[i];
                                                switch( pOption->GetToken() )
                                                {
                                                        case HTML_O_WIDTH:
@@ -304,11 +304,11 @@
                                }
                                break;
                        case HTML_TABLEROW_ON:
-                               if ( m_xResultSetUpdate.is() )
+                               if ( m_pUpdateHelper.get() )
                                {
                                        try
                                        {
-                                               
m_xResultSetUpdate->moveToInsertRow(); // sonst neue Zeile anh"angen
+                                               
m_pUpdateHelper->moveToInsertRow(); // sonst neue Zeile anh"angen
                                        }
                                        catch(SQLException& e)
                                        // UpdateFehlerbehandlung
@@ -321,34 +321,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:
                                {
@@ -362,12 +339,12 @@
                                                showErrorDialog(e);
                                        }
                                        m_nColumnPos++;
-                                       m_sTextToken.Erase();
+                    eraseTokens();
                                        m_bSDNum = m_bInTbl = sal_False;
                                }
                                break;
                        case HTML_TABLEROW_OFF:
-                               if ( !m_xResultSetUpdate.is() )
+                               if ( !m_pUpdateHelper.get() )
                                {
                                        m_bError = sal_True;
                                        break;
@@ -376,8 +353,8 @@
                                {
                                        m_nRowCount++;
                                        if (m_bIsAutoIncrement) // if 
bSetAutoIncrement then I have to set the autoincrement
-                                               
m_xRowUpdate->updateInt(1,m_nRowCount);
-                                       m_xResultSetUpdate->insertRow();
+                                               
m_pUpdateHelper->updateInt(1,m_nRowCount);
+                                       m_pUpdateHelper->insertRow();
                                }
                                catch(SQLException& e)
                                
//////////////////////////////////////////////////////////////////////
@@ -406,54 +383,60 @@
                                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* options = GetOptions();
+       sal_Int16 nArrLen = options->Count();
+       for ( sal_Int16 i = 0; i < nArrLen; i++ )
+       {
+               const HTMLOption* pOption = (*options)[i];
+               switch( pOption->GetToken() )
                                {
-                                       sal_Int32 nColPos = 
m_vColumns[m_nColumnPos].first;
-                                       if(nColPos != CONTAINER_ENTRY_NOTFOUND)
+                       case HTML_O_SDVAL:
                                        {
-                                               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();
+                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;
                }
        }
 }
 
//---------------------------------------------------------------------------------
-void OHTMLReader::TableDataOn(SvxCellHorJustify& eVal,String *pValue,int 
nToken)
+void OHTMLReader::TableDataOn(SvxCellHorJustify& eVal,int nToken)
 {
        DBG_CHKTHIS(OHTMLReader,NULL);
        sal_Bool bHorJustifyCenterTH = (nToken == HTML_TABLEHEADER_ON);
-       const HTMLOptions* pOptions = GetOptions();
-       sal_Int16 nArrLen = pOptions->Count();
+       const HTMLOptions* pHtmlOptions = GetOptions();
+       sal_Int16 nArrLen = pHtmlOptions->Count();
        for ( sal_Int16 i = 0; i < nArrLen; i++ )
        {
-               const HTMLOption* pOption = (*pOptions)[i];
+               const HTMLOption* pOption = (*pHtmlOptions)[i];
                switch( pOption->GetToken() )
                {
                        case HTML_O_ALIGN:
@@ -472,12 +455,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:
@@ -496,11 +479,11 @@
 void OHTMLReader::TableFontOn(FontDescriptor& _rFont,sal_Int32 &_rTextColor)
 {
        DBG_CHKTHIS(OHTMLReader,NULL);
-       const HTMLOptions* pOptions = GetOptions();
-       sal_Int16 nArrLen = pOptions->Count();
+       const HTMLOptions* pHtmlOptions = GetOptions();
+       sal_Int16 nArrLen = pHtmlOptions->Count();
        for ( sal_Int16 i = 0; i < nArrLen; i++ )
        {
-               const HTMLOption* pOption = (*pOptions)[i];
+               const HTMLOption* pOption = (*pHtmlOptions)[i];
                switch( pOption->GetToken() )
                {
                case HTML_O_COLOR:
@@ -576,8 +559,6 @@
        String aColumnName;
        SvxCellHorJustify eVal;
        String *pValue=NULL;
-       sal_Int16 nWidth = 0;
-       sal_Int16 nHeight = 0;
 
        String aTableName;
        FontDescriptor aFont = 
::dbaui::CreateFontDescriptor(Application::GetSettings().GetStyleSettings().GetAppFont());
@@ -608,7 +589,7 @@
                                        DELETEZ(pValue);
                                        eVal = SVX_HOR_JUSTIFY_STANDARD;
                                }
-                               TableDataOn(eVal,pValue,nTmpToken2);
+                               TableDataOn(eVal,nTmpToken2);
                                bTableHeader = TRUE;
                                break;
                        case HTML_TABLEDATA_OFF:
@@ -684,14 +665,13 @@
        DBG_CHKTHIS(OHTMLReader,NULL);
        m_bMetaOptions = sal_True;
        USHORT nContentOption = HTML_O_CONTENT;
-       rtl_TextEncoding eEnc = RTL_TEXTENCODING_DONTKNOW;
        String aName, aContent;
        USHORT nAction = HTML_META_NONE;
-       BOOL bHTTPEquiv = FALSE, bChanged = FALSE;
-       const HTMLOptions *pOptions = GetOptions(&nContentOption);
-       for( USHORT i = pOptions->Count(); i; )
+       BOOL bHTTPEquiv = FALSE;
+       const HTMLOptions *pHtmlOptions = GetOptions(&nContentOption);
+       for( USHORT i = pHtmlOptions->Count(); i; )
        {
-               const HTMLOption *pOption = (*pOptions)[ --i ];
+               const HTMLOption *pOption = (*pHtmlOptions)[ --i ];
                switch( pOption->GetToken() )
                {
                case HTML_O_HTTPEQUIV:




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

Reply via email to