CWS-TOOLING: integrate CWS dba31f
2008-12-10 14:16:09 +0100 oj r265185 : #i96658# remove is 2008-12-10 08:46:07 +0100 oj r265147 : remove duplicate ids 2008-12-10 08:35:02 +0100 oj r265146 : #i96658# remove is 2008-12-09 11:44:35 +0100 oj r265072 : use of tools::StringresourceList 2008-12-09 11:43:41 +0100 oj r265071 : new class to read string elements from a Resource 2008-12-09 11:41:56 +0100 oj r265070 : export StringListResource 2008-12-09 11:38:17 +0100 oj r265068 : change string ; to more string objects 2008-12-08 12:11:43 +0100 oj r264985 : change default-license-id to lic-en-US 2008-12-05 12:06:09 +0100 oj r264896 : disable check to uncheck 2008-12-04 08:58:50 +0100 oj r264814 : #i96517,i96520,i96522# d&d, background, state fixed 2008-12-04 08:53:29 +0100 oj r264813 : #i96434# use document ui name from filter 2008-12-04 08:41:06 +0100 oj r264812 : #i96434# use document ui name from filter 2008-12-02 13:48:49 +0100 lla r264697 : #i96526# extra string for default otr wasn't found 2008-11-28 11:46:31 +0100 oj r264536 : move toolbar and resize add field dlg 2008-11-28 08:38:22 +0100 oj r264526 : load string resources 2008-11-27 19:28:52 +0100 oj r264520 : unsigned 2008-11-27 19:10:19 +0100 oj r264517 : move class into unnamed namespace 2008-11-27 18:33:38 +0100 oj r264514 : wrong param 2008-11-27 16:52:39 +0100 oj r264510 : #i96622# wrong string replacement 2008-11-27 16:46:03 +0100 oj r264509 : remove unused var 2008-11-27 13:37:16 +0100 oj r264484 : #i96432# notify only when not in special mode of the page 2008-11-27 13:16:47 +0100 oj r264479 : #i95224# accept alias in group by 2008-11-27 12:35:19 +0100 oj r264477 : #i95416# always show localized strings in the start marker 2008-11-27 09:49:29 +0100 oj r264455 : #i93460# set split pos 2008-11-27 09:05:27 +0100 oj r264447 : #i96453# use extension from mimetype / mediatype 2008-11-26 16:24:43 +0100 oj r264416 : #i96520# #i96522# #i96519# some changes at the add field dialog 2008-11-26 16:20:27 +0100 oj r264414 : #i93420# prevent to register a none system file url 2008-11-26 16:19:02 +0100 oj r264413 : #i96522# new class to paste multiple objects 2008-11-26 10:06:12 +0100 oj r264349 : #i96191# introduce new error message and check if type was defined aand should not be changed 2008-11-26 10:06:12 +0100 oj r264348 : #i96191# throw error when decimal is to big 2008-11-25 12:08:59 +0100 oj r264281 : #i96431# correct state for align and move 2008-11-25 11:54:47 +0100 oj r264280 : #i96428# when new bind to first table 2008-11-25 11:49:55 +0100 oj r264279 : #i96434# add report output format to inspection 2008-11-25 11:49:05 +0100 oj r264278 : #i96434# add report output format to inspection 2008-11-24 10:46:23 +0100 oj r264215 : #i96458# size width for controls 2008-11-24 09:28:56 +0100 oj r264199 : #i96459# mark detail section when nothing is selected 2008-11-20 12:02:35 +0100 oj r264038 : #i96191# fix check for prec 2008-11-20 08:06:32 +0100 oj r264026 : #i90949# patch MID function 2008-11-11 13:14:58 +0100 oj r263555 : #i96086# apply patch 2008-11-11 11:34:46 +0100 oj r263549 : #i94128# correct height of section when controls moved outside 2008-11-11 07:52:08 +0100 oj r263544 : #i94729# fix string with ; as sep 2008-11-11 07:45:27 +0100 oj r263543 : #i95222# export chart title style 2008-11-11 07:43:37 +0100 oj r263542 : #i92541# fix line height
This commit is contained in:
@@ -44,7 +44,7 @@
|
|||||||
#include <cppuhelper/typeprovider.hxx>
|
#include <cppuhelper/typeprovider.hxx>
|
||||||
#include "connectivity/dbexception.hxx"
|
#include "connectivity/dbexception.hxx"
|
||||||
#include <osl/file.hxx>
|
#include <osl/file.hxx>
|
||||||
|
#include "resource/ado_res.hrc"
|
||||||
|
|
||||||
using namespace dbtools;
|
using namespace dbtools;
|
||||||
using namespace connectivity::ado;
|
using namespace connectivity::ado;
|
||||||
@@ -135,30 +135,37 @@ void OConnection::construct(const ::rtl::OUString& url,const Sequence< PropertyV
|
|||||||
else if(!pIter->Name.compareToAscii("password"))
|
else if(!pIter->Name.compareToAscii("password"))
|
||||||
pIter->Value >>= aPWD;
|
pIter->Value >>= aPWD;
|
||||||
}
|
}
|
||||||
|
try
|
||||||
if(m_pAdoConnection)
|
|
||||||
{
|
{
|
||||||
if(m_pAdoConnection->Open(aDSN,aUID,aPWD,adConnectUnspecified))
|
if(m_pAdoConnection)
|
||||||
m_pAdoConnection->PutCommandTimeout(nTimeout);
|
{
|
||||||
|
if(m_pAdoConnection->Open(aDSN,aUID,aPWD,adConnectUnspecified))
|
||||||
|
m_pAdoConnection->PutCommandTimeout(nTimeout);
|
||||||
|
else
|
||||||
|
ADOS::ThrowException(*m_pAdoConnection,*this);
|
||||||
|
if(m_pAdoConnection->get_State() != adStateOpen)
|
||||||
|
throwGenericSQLException( STR_NO_CONNECTION,*this );
|
||||||
|
|
||||||
|
WpADOProperties aProps = m_pAdoConnection->get_Properties();
|
||||||
|
if(aProps.IsValid())
|
||||||
|
{
|
||||||
|
OTools::putValue(aProps,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Jet OLEDB:ODBC Parsing")),sal_True);
|
||||||
|
OLEVariant aVar(OTools::getValue(aProps,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Jet OLEDB:Engine Type"))));
|
||||||
|
if(!aVar.isNull() && !aVar.isEmpty())
|
||||||
|
m_nEngineType = aVar;
|
||||||
|
}
|
||||||
|
buildTypeInfo();
|
||||||
|
//bErg = TRUE;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
ADOS::ThrowException(*m_pAdoConnection,*this);
|
|
||||||
if(m_pAdoConnection->get_State() != adStateOpen)
|
|
||||||
::dbtools::throwFunctionSequenceException(*this);
|
::dbtools::throwFunctionSequenceException(*this);
|
||||||
|
|
||||||
WpADOProperties aProps = m_pAdoConnection->get_Properties();
|
|
||||||
if(aProps.IsValid())
|
|
||||||
{
|
|
||||||
OTools::putValue(aProps,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Jet OLEDB:ODBC Parsing")),sal_True);
|
|
||||||
OLEVariant aVar(OTools::getValue(aProps,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Jet OLEDB:Engine Type"))));
|
|
||||||
if(!aVar.isNull() && !aVar.isEmpty())
|
|
||||||
m_nEngineType = aVar;
|
|
||||||
}
|
|
||||||
buildTypeInfo();
|
|
||||||
//bErg = TRUE;
|
|
||||||
}
|
}
|
||||||
else
|
catch(const Exception )
|
||||||
::dbtools::throwFunctionSequenceException(*this);
|
{
|
||||||
|
osl_decrementInterlockedCount( &m_refCount );
|
||||||
|
throw;
|
||||||
|
}
|
||||||
osl_decrementInterlockedCount( &m_refCount );
|
osl_decrementInterlockedCount( &m_refCount );
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
@@ -638,7 +638,9 @@ sal_Bool ODbaseTable::fetchRow(OValueRefRow& _rRow,const OSQLColumns & _rCols, s
|
|||||||
sal_Size nByteOffset = 1;
|
sal_Size nByteOffset = 1;
|
||||||
// Felder:
|
// Felder:
|
||||||
OSQLColumns::const_iterator aIter = _rCols.begin();
|
OSQLColumns::const_iterator aIter = _rCols.begin();
|
||||||
for (sal_Size i = 1; aIter != _rCols.end() && nByteOffset <= m_nBufferSize && i < _rRow->size();++aIter, i++)
|
OSQLColumns::const_iterator aEnd = _rCols.end();
|
||||||
|
const sal_Size nCount = _rRow->size();
|
||||||
|
for (sal_Size i = 1; aIter != aEnd && nByteOffset <= m_nBufferSize && i < nCount;++aIter, i++)
|
||||||
{
|
{
|
||||||
// Laengen je nach Datentyp:
|
// Laengen je nach Datentyp:
|
||||||
sal_Int32 nLen = 0;
|
sal_Int32 nLen = 0;
|
||||||
@@ -689,10 +691,11 @@ sal_Bool ODbaseTable::fetchRow(OValueRefRow& _rRow,const OSQLColumns & _rCols, s
|
|||||||
String aStr(pData,(xub_StrLen)nLen,m_eEncoding);
|
String aStr(pData,(xub_StrLen)nLen,m_eEncoding);
|
||||||
aStr.EraseTrailingChars();
|
aStr.EraseTrailingChars();
|
||||||
|
|
||||||
if (!aStr.Len()) // keine StringLaenge, dann NULL
|
if ( aStr.Len() )
|
||||||
|
*(*_rRow)[i] = ::rtl::OUString(aStr);
|
||||||
|
else// keine StringLaenge, dann NULL
|
||||||
(*_rRow)[i]->setNull();
|
(*_rRow)[i]->setNull();
|
||||||
else
|
|
||||||
*(*_rRow)[i]= ORowSetValue(aStr);
|
|
||||||
pData[nLen] = cLast;
|
pData[nLen] = cLast;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -724,11 +727,11 @@ sal_Bool ODbaseTable::fetchRow(OValueRefRow& _rRow,const OSQLColumns & _rCols, s
|
|||||||
(*_rRow)[i]->setNull();
|
(*_rRow)[i]->setNull();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
sal_uInt16 nYear = (sal_uInt16)aStr.Copy( 0, 4 ).ToInt32();
|
const sal_uInt16 nYear = (sal_uInt16)aStr.Copy( 0, 4 ).ToInt32();
|
||||||
sal_uInt16 nMonth = (sal_uInt16)aStr.Copy( 4, 2 ).ToInt32();
|
const sal_uInt16 nMonth = (sal_uInt16)aStr.Copy( 4, 2 ).ToInt32();
|
||||||
sal_uInt16 nDay = (sal_uInt16)aStr.Copy( 6, 2 ).ToInt32();
|
const sal_uInt16 nDay = (sal_uInt16)aStr.Copy( 6, 2 ).ToInt32();
|
||||||
|
|
||||||
::com::sun::star::util::Date aDate(nDay,nMonth,nYear);
|
const ::com::sun::star::util::Date aDate(nDay,nMonth,nYear);
|
||||||
*(*_rRow)[i] = aDate;
|
*(*_rRow)[i] = aDate;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -744,7 +747,7 @@ sal_Bool ODbaseTable::fetchRow(OValueRefRow& _rRow,const OSQLColumns & _rCols, s
|
|||||||
case 'T':
|
case 'T':
|
||||||
case 'Y':
|
case 'Y':
|
||||||
case 'J': b = TRUE; break;
|
case 'J': b = TRUE; break;
|
||||||
default: b = sal_False; break;
|
default: b = FALSE; break;
|
||||||
}
|
}
|
||||||
*(*_rRow)[i] = b;
|
*(*_rRow)[i] = b;
|
||||||
// pVal->setDouble(b);
|
// pVal->setDouble(b);
|
||||||
@@ -752,7 +755,7 @@ sal_Bool ODbaseTable::fetchRow(OValueRefRow& _rRow,const OSQLColumns & _rCols, s
|
|||||||
break;
|
break;
|
||||||
case DataType::LONGVARCHAR:
|
case DataType::LONGVARCHAR:
|
||||||
{
|
{
|
||||||
long nBlockNo = aStr.ToInt32(); // Blocknummer lesen
|
const long nBlockNo = aStr.ToInt32(); // Blocknummer lesen
|
||||||
if (nBlockNo > 0 && m_pMemoStream) // Daten aus Memo-Datei lesen, nur wenn
|
if (nBlockNo > 0 && m_pMemoStream) // Daten aus Memo-Datei lesen, nur wenn
|
||||||
{
|
{
|
||||||
if ( !ReadMemo(nBlockNo, (*_rRow)[i]->get()) )
|
if ( !ReadMemo(nBlockNo, (*_rRow)[i]->get()) )
|
||||||
@@ -1469,7 +1472,6 @@ BOOL ODbaseTable::UpdateBuffer(OValueRefVector& rRow, OValueRefRow pOrgRow,const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const sal_Int32 nRealPrecision = nLen;
|
|
||||||
switch (nType)
|
switch (nType)
|
||||||
{
|
{
|
||||||
case DataType::DATE: nLen = 8; break;
|
case DataType::DATE: nLen = 8; break;
|
||||||
@@ -1480,7 +1482,7 @@ BOOL ODbaseTable::UpdateBuffer(OValueRefVector& rRow, OValueRefRow pOrgRow,const
|
|||||||
case DataType::LONGVARCHAR: nLen = 10; break;
|
case DataType::LONGVARCHAR: nLen = 10; break;
|
||||||
default: break;
|
default: break;
|
||||||
|
|
||||||
}
|
} // switch (nType)
|
||||||
|
|
||||||
sal_Int32 nPos = i;
|
sal_Int32 nPos = i;
|
||||||
if(_xCols != xColumns)
|
if(_xCols != xColumns)
|
||||||
@@ -1525,8 +1527,6 @@ BOOL ODbaseTable::UpdateBuffer(OValueRefVector& rRow, OValueRefRow pOrgRow,const
|
|||||||
pIndex->Insert(m_nFilePos,*rRow[nPos]);
|
pIndex->Insert(m_nFilePos,*rRow[nPos]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
char* pData = (char *)(m_pBuffer + nByteOffset);
|
char* pData = (char *)(m_pBuffer + nByteOffset);
|
||||||
if (rRow[nPos]->getValue().isNull())
|
if (rRow[nPos]->getValue().isNull())
|
||||||
{
|
{
|
||||||
@@ -1537,9 +1537,6 @@ BOOL ODbaseTable::UpdateBuffer(OValueRefVector& rRow, OValueRefRow pOrgRow,const
|
|||||||
}
|
}
|
||||||
|
|
||||||
sal_Bool bHadError = sal_False;
|
sal_Bool bHadError = sal_False;
|
||||||
sal_Int32 nErrorCode = 1000;
|
|
||||||
::rtl::OUString sSQLState = ::dbtools::getStandardSQLState( SQL_GENERAL_ERROR );
|
|
||||||
Any aSQLError;
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
switch (nType)
|
switch (nType)
|
||||||
@@ -1566,41 +1563,33 @@ BOOL ODbaseTable::UpdateBuffer(OValueRefVector& rRow, OValueRefRow pOrgRow,const
|
|||||||
{
|
{
|
||||||
memset(pData,' ',nLen); // Zuruecksetzen auf NULL
|
memset(pData,' ',nLen); // Zuruecksetzen auf NULL
|
||||||
|
|
||||||
double n = rRow[nPos]->getValue();
|
const double n = rRow[nPos]->getValue();
|
||||||
|
|
||||||
// ein const_cast, da GetFormatPrecision am SvNumberFormat nicht const ist, obwohl es das eigentlich
|
// ein const_cast, da GetFormatPrecision am SvNumberFormat nicht const ist, obwohl es das eigentlich
|
||||||
// sein koennte und muesste
|
// sein koennte und muesste
|
||||||
|
|
||||||
const ByteString aDefaultValue( ::rtl::math::doubleToString( n, rtl_math_StringFormat_F, nScale, '.', NULL, 0));
|
const ByteString aDefaultValue( ::rtl::math::doubleToString( n, rtl_math_StringFormat_F, nScale, '.', NULL, 0));
|
||||||
sal_Int32 nRealLen = aDefaultValue.Len();
|
BOOL bValidLength = aDefaultValue.Len() <= nLen;
|
||||||
BOOL bValidLength = nRealLen <= nLen;
|
|
||||||
if ( bValidLength )
|
if ( bValidLength )
|
||||||
{
|
{
|
||||||
nRealLen -= nScale;
|
strncpy(pData,aDefaultValue.GetBuffer(),nLen);
|
||||||
if ( nScale ) // for '.'
|
// write the resulting double back
|
||||||
--nRealLen;
|
*rRow[nPos] = toDouble(aDefaultValue);
|
||||||
if ( n < 0.0 ) // for the sign '-'
|
|
||||||
--nRealLen;
|
|
||||||
|
|
||||||
bValidLength = nRealLen <= nRealPrecision;
|
|
||||||
if ( bValidLength )
|
|
||||||
{
|
|
||||||
strncpy(pData,aDefaultValue.GetBuffer(),nLen);
|
|
||||||
// write the resulting double back
|
|
||||||
*rRow[nPos] = toDouble(aDefaultValue);
|
|
||||||
} // if ( nRealLen < nRealPrecision )
|
|
||||||
}
|
}
|
||||||
if (!bValidLength)
|
else
|
||||||
{
|
{
|
||||||
m_pColumns->getByIndex(i) >>= xCol;
|
m_pColumns->getByIndex(i) >>= xCol;
|
||||||
OSL_ENSURE(xCol.is(),"ODbaseTable::UpdateBuffer column is null!");
|
OSL_ENSURE(xCol.is(),"ODbaseTable::UpdateBuffer column is null!");
|
||||||
xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME)) >>= aColName;
|
xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME)) >>= aColName;
|
||||||
|
::std::list< ::std::pair<const sal_Char* , ::rtl::OUString > > aStringToSubstitutes;
|
||||||
|
aStringToSubstitutes.push_back(::std::pair<const sal_Char* , ::rtl::OUString >("$columnname$", aColName));
|
||||||
|
aStringToSubstitutes.push_back(::std::pair<const sal_Char* , ::rtl::OUString >("$precision$", String::CreateFromInt32(nLen)));
|
||||||
|
aStringToSubstitutes.push_back(::std::pair<const sal_Char* , ::rtl::OUString >("$scale$", String::CreateFromInt32(nScale)));
|
||||||
|
aStringToSubstitutes.push_back(::std::pair<const sal_Char* , ::rtl::OUString >("$value$", ::rtl::OStringToOUString(aDefaultValue,RTL_TEXTENCODING_UTF8)));
|
||||||
|
|
||||||
const ::rtl::OUString sError( getConnection()->getResources().getResourceStringWithSubstitution(
|
const ::rtl::OUString sError( getConnection()->getResources().getResourceStringWithSubstitution(
|
||||||
STR_INVALID_COLUMN_DECIMAL_VALUE,
|
STR_INVALID_COLUMN_DECIMAL_VALUE
|
||||||
"$columnname$", aColName,
|
,aStringToSubstitutes
|
||||||
"$precision$", String::CreateFromInt32(nRealPrecision),
|
|
||||||
"$scale$", String::CreateFromInt32(nScale)
|
|
||||||
) );
|
) );
|
||||||
::dbtools::throwGenericSQLException( sError, *this );
|
::dbtools::throwGenericSQLException( sError, *this );
|
||||||
}
|
}
|
||||||
@@ -1644,12 +1633,9 @@ BOOL ODbaseTable::UpdateBuffer(OValueRefVector& rRow, OValueRefRow pOrgRow,const
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch( SQLException& e )
|
catch( SQLException& )
|
||||||
{
|
{
|
||||||
aSQLError = ::cppu::getCaughtException();
|
throw;
|
||||||
bHadError = sal_True;
|
|
||||||
nErrorCode = e.ErrorCode;
|
|
||||||
sSQLState = e.SQLState;
|
|
||||||
}
|
}
|
||||||
catch ( Exception& ) { bHadError = sal_True; }
|
catch ( Exception& ) { bHadError = sal_True; }
|
||||||
|
|
||||||
|
@@ -880,7 +880,7 @@ namespace
|
|||||||
{
|
{
|
||||||
::rtl::OUString sError1( _aResource.getResourceStringWithSubstitution(
|
::rtl::OUString sError1( _aResource.getResourceStringWithSubstitution(
|
||||||
STR_NO_CLASSNAME,
|
STR_NO_CLASSNAME,
|
||||||
"$class$", _rDriverClass
|
"$classname$", _rDriverClass
|
||||||
) );
|
) );
|
||||||
if ( _rDriverClassPath.getLength() )
|
if ( _rDriverClassPath.getLength() )
|
||||||
{
|
{
|
||||||
|
@@ -40,11 +40,6 @@
|
|||||||
#define STR_NO_DISK_SPACE ( STR_ADABAS_BASE + 1 )
|
#define STR_NO_DISK_SPACE ( STR_ADABAS_BASE + 1 )
|
||||||
#define STR_COMMAND_NOT_FOUND ( STR_ADABAS_BASE + 2 )
|
#define STR_COMMAND_NOT_FOUND ( STR_ADABAS_BASE + 2 )
|
||||||
#define STR_DATABASE_NEEDS_CONVERTING ( STR_ADABAS_BASE + 3 )
|
#define STR_DATABASE_NEEDS_CONVERTING ( STR_ADABAS_BASE + 3 )
|
||||||
#define STR_INVALID_KEY_DESCRIPTOR_ERROR ( STR_ADABAS_BASE + 4 )
|
|
||||||
#define STR_INVALID_TABLE_DESCRIPTOR_ERROR ( STR_ADABAS_BASE + 5 )
|
|
||||||
#define STR_INVALID_USER_DESCRIPTOR_ERROR ( STR_ADABAS_BASE + 6 )
|
|
||||||
#define STR_INVALID_VIEW_DESCRIPTOR_ERROR ( STR_ADABAS_BASE + 7 )
|
|
||||||
#define STR_VIEW_NO_COMMAND_ERROR ( STR_ADABAS_BASE + 8 )
|
|
||||||
#define STR_USER_NO_DELETE ( STR_ADABAS_BASE + 9 )
|
#define STR_USER_NO_DELETE ( STR_ADABAS_BASE + 9 )
|
||||||
|
|
||||||
#endif // CONNECTIVITY_RESOURCE_ADABAS_HRC
|
#endif // CONNECTIVITY_RESOURCE_ADABAS_HRC
|
||||||
|
@@ -46,6 +46,7 @@
|
|||||||
#define STR_INVALID_VIEW_DESCRIPTOR_ERROR ( STR_ADO_BASE + 7 )
|
#define STR_INVALID_VIEW_DESCRIPTOR_ERROR ( STR_ADO_BASE + 7 )
|
||||||
#define STR_VIEW_NO_COMMAND_ERROR ( STR_ADO_BASE + 8 )
|
#define STR_VIEW_NO_COMMAND_ERROR ( STR_ADO_BASE + 8 )
|
||||||
#define STR_TYPE_NOT_CONVERT ( STR_ADO_BASE + 9 )
|
#define STR_TYPE_NOT_CONVERT ( STR_ADO_BASE + 9 )
|
||||||
|
#define STR_NO_CONNECTION ( STR_ADO_BASE + 10 )
|
||||||
|
|
||||||
|
|
||||||
#endif // CONNECTIVITY_RESOURCE_ADO_HRC
|
#endif // CONNECTIVITY_RESOURCE_ADO_HRC
|
||||||
|
@@ -35,6 +35,7 @@
|
|||||||
/** === end UNO includes === **/
|
/** === end UNO includes === **/
|
||||||
|
|
||||||
#include <rtl/ustring.hxx>
|
#include <rtl/ustring.hxx>
|
||||||
|
#include <list>
|
||||||
|
|
||||||
//........................................................................
|
//........................................................................
|
||||||
namespace connectivity
|
namespace connectivity
|
||||||
@@ -142,6 +143,19 @@ namespace connectivity
|
|||||||
const sal_Char* _pAsciiPatternToReplace3,
|
const sal_Char* _pAsciiPatternToReplace3,
|
||||||
const ::rtl::OUString& _rStringToSubstitute3
|
const ::rtl::OUString& _rStringToSubstitute3
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
|
/** loads a string from the shared resource file, and replaces a given ASCII pattern with a given string
|
||||||
|
|
||||||
|
@param _nResId
|
||||||
|
the resource ID of the string to load
|
||||||
|
@param _aStringToSubstitutes
|
||||||
|
A list of substitutions.
|
||||||
|
|
||||||
|
@return
|
||||||
|
the string from the resource file, with applied string substitution
|
||||||
|
*/
|
||||||
|
::rtl::OUString getResourceStringWithSubstitution( ResourceId _nResId,
|
||||||
|
const ::std::list< ::std::pair<const sal_Char* , ::rtl::OUString > > _aStringToSubstitutes) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
//........................................................................
|
//........................................................................
|
||||||
|
@@ -1920,7 +1920,7 @@ void OSQLParseNode::negateSearchCondition(OSQLParseNode*& pSearchCondition,sal_B
|
|||||||
}
|
}
|
||||||
// row_value_constructor comparison row_value_constructor
|
// row_value_constructor comparison row_value_constructor
|
||||||
// row_value_constructor comparison any_all_some subquery
|
// row_value_constructor comparison any_all_some subquery
|
||||||
else if(bNegate && SQL_ISRULE(pSearchCondition,comparison_predicate) || SQL_ISRULE(pSearchCondition,all_or_any_predicate))
|
else if(bNegate && (SQL_ISRULE(pSearchCondition,comparison_predicate) || SQL_ISRULE(pSearchCondition,all_or_any_predicate)))
|
||||||
{
|
{
|
||||||
OSQLParseNode* pComparison = pSearchCondition->getChild(1);
|
OSQLParseNode* pComparison = pSearchCondition->getChild(1);
|
||||||
OSQLParseNode* pNewComparison = NULL;
|
OSQLParseNode* pNewComparison = NULL;
|
||||||
|
@@ -372,6 +372,11 @@ String STR_VIEW_NO_COMMAND_ERROR
|
|||||||
Text [ en-US ] = "Could not create view: no command object.";
|
Text [ en-US ] = "Could not create view: no command object.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
String STR_NO_CONNECTION
|
||||||
|
{
|
||||||
|
Text [ en-US ] = "The connection could not be created. May be the nescessary data provider is not installed.";
|
||||||
|
};
|
||||||
|
|
||||||
// dbase
|
// dbase
|
||||||
String STR_COULD_NOT_DELETE_INDEX
|
String STR_COULD_NOT_DELETE_INDEX
|
||||||
{
|
{
|
||||||
@@ -430,7 +435,7 @@ String STR_DUPLICATE_VALUE_IN_COLUMN
|
|||||||
|
|
||||||
String STR_INVALID_COLUMN_DECIMAL_VALUE
|
String STR_INVALID_COLUMN_DECIMAL_VALUE
|
||||||
{
|
{
|
||||||
Text [ en-US ] = "The '$columnname$' column has been defined as a \"Decimal\" type, the max. length is $precision$ characters (with $scale$ decimal places).\n\nThe specified value is longer than the number of digits allowed.";
|
Text [ en-US ] = "The '$columnname$' column has been defined as a \"Decimal\" type, the max. length is $precision$ characters (with $scale$ decimal places).\n\nThe specified value \"$value$ is longer than the number of digits allowed.";
|
||||||
};
|
};
|
||||||
|
|
||||||
String STR_COLUMN_NOT_ALTERABLE
|
String STR_COLUMN_NOT_ALTERABLE
|
||||||
@@ -497,7 +502,7 @@ String STR_ROW_ALREADY_DELETED
|
|||||||
};
|
};
|
||||||
String STR_QUERY_MORE_TABLES
|
String STR_QUERY_MORE_TABLES
|
||||||
{
|
{
|
||||||
Text [ en-US ] = "The query can not be executed. It is contains more then one table.";
|
Text [ en-US ] = "The query can not be executed. It contains more than one table.";
|
||||||
};
|
};
|
||||||
String STR_QUERY_NO_TABLE
|
String STR_QUERY_NO_TABLE
|
||||||
{
|
{
|
||||||
|
@@ -226,6 +226,18 @@ namespace connectivity
|
|||||||
OSL_VERIFY( lcl_substitute( sString, _pAsciiPatternToReplace3, _rStringToSubstitute3 ) );
|
OSL_VERIFY( lcl_substitute( sString, _pAsciiPatternToReplace3, _rStringToSubstitute3 ) );
|
||||||
return sString;
|
return sString;
|
||||||
}
|
}
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
::rtl::OUString SharedResources::getResourceStringWithSubstitution( ResourceId _nResId,
|
||||||
|
const ::std::list< ::std::pair<const sal_Char* , ::rtl::OUString > > _aStringToSubstitutes) const
|
||||||
|
{
|
||||||
|
::rtl::OUString sString( SharedResources_Impl::getInstance().getResourceString( _nResId ) );
|
||||||
|
::std::list< ::std::pair<const sal_Char* , ::rtl::OUString > >::const_iterator aIter = _aStringToSubstitutes.begin();
|
||||||
|
::std::list< ::std::pair<const sal_Char* , ::rtl::OUString > >::const_iterator aEnd = _aStringToSubstitutes.end();
|
||||||
|
for(;aIter != aEnd; ++aIter)
|
||||||
|
OSL_VERIFY( lcl_substitute( sString, aIter->first, aIter->second ) );
|
||||||
|
|
||||||
|
return sString;
|
||||||
|
}
|
||||||
|
|
||||||
//........................................................................
|
//........................................................................
|
||||||
} // namespace connectivity
|
} // namespace connectivity
|
||||||
|
@@ -261,6 +261,39 @@ namespace svx
|
|||||||
,const ::rtl::OUString& _sActiveCommand);
|
,const ::rtl::OUString& _sActiveCommand);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//====================================================================
|
||||||
|
//= OMultiColumnTransferable
|
||||||
|
//====================================================================
|
||||||
|
/** class for transfering multiple columns
|
||||||
|
*/
|
||||||
|
class SVX_DLLPUBLIC OMultiColumnTransferable : public TransferableHelper
|
||||||
|
{
|
||||||
|
::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > m_aDescriptors;
|
||||||
|
|
||||||
|
public:
|
||||||
|
OMultiColumnTransferable(const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _aDescriptors);
|
||||||
|
|
||||||
|
void push_back(ODataAccessDescriptor& _aDescriptor);
|
||||||
|
|
||||||
|
/** checks whether or not an object descriptor can be extracted from the data flavor vector given
|
||||||
|
@param _rFlavors
|
||||||
|
available flavors
|
||||||
|
@param _nFormats
|
||||||
|
formats to accept
|
||||||
|
*/
|
||||||
|
static sal_Bool canExtractDescriptor(const DataFlavorExVector& _rFlavors);
|
||||||
|
|
||||||
|
/** extracts a object descriptor from the transferable given
|
||||||
|
*/
|
||||||
|
static ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > extractDescriptor(const TransferableDataHelper& _rData);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void AddSupportedFormats();
|
||||||
|
virtual sal_Bool GetData( const ::com::sun::star::datatransfer::DataFlavor& rFlavor );
|
||||||
|
virtual void ObjectReleased();
|
||||||
|
static sal_uInt32 getDescriptorFormatId();
|
||||||
|
};
|
||||||
|
|
||||||
//........................................................................
|
//........................................................................
|
||||||
} // namespace svx
|
} // namespace svx
|
||||||
//........................................................................
|
//........................................................................
|
||||||
|
@@ -1364,8 +1364,10 @@
|
|||||||
#define RID_SVXSTR_YESTOALL (RID_SVX_START + 1166) //added for issue73355
|
#define RID_SVXSTR_YESTOALL (RID_SVX_START + 1166) //added for issue73355
|
||||||
#define RID_SVXSTR_SELMODE_BLK (RID_SVX_START + 1167)
|
#define RID_SVXSTR_SELMODE_BLK (RID_SVX_START + 1167)
|
||||||
|
|
||||||
|
#define STR_LINKEDDOC_NO_SYSTEM_FILE (RID_SVX_START + 1168)
|
||||||
// pb: next free string resource id
|
// pb: next free string resource id
|
||||||
#define RID_SVXSTR_NEXTFREE (RID_SVX_START + 1168)
|
|
||||||
|
#define RID_SVXSTR_NEXTFREE (RID_SVX_START + 1169)
|
||||||
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -147,6 +147,16 @@ namespace svx
|
|||||||
aError.Execute();
|
aError.Execute();
|
||||||
return 0L;
|
return 0L;
|
||||||
} // if (!bFileExists)
|
} // if (!bFileExists)
|
||||||
|
INetURLObject aURL( sURL );
|
||||||
|
if ( aURL.GetProtocol() != INET_PROT_FILE )
|
||||||
|
{
|
||||||
|
String sMsg = String(SVX_RES(STR_LINKEDDOC_NO_SYSTEM_FILE));
|
||||||
|
sMsg.SearchAndReplaceAscii("$file$", m_aURL.GetText());
|
||||||
|
ErrorBox aError(this, WB_OK , sMsg);
|
||||||
|
aError.Execute();
|
||||||
|
return 0L;
|
||||||
|
}
|
||||||
|
|
||||||
String sCurrentText = m_aName.GetText();
|
String sCurrentText = m_aName.GetText();
|
||||||
if ( m_aNameValidator.IsSet() )
|
if ( m_aNameValidator.IsSet() )
|
||||||
{
|
{
|
||||||
|
@@ -137,6 +137,11 @@ String STR_LINKEDDOC_DOESNOTEXIST
|
|||||||
Text [ en-US ] = "The file\n$file$\ndoes not exist.";
|
Text [ en-US ] = "The file\n$file$\ndoes not exist.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
String STR_LINKEDDOC_NO_SYSTEM_FILE
|
||||||
|
{
|
||||||
|
Text [ en-US ] = "The file\n$file$\ndoes not exist in the local file system.";
|
||||||
|
};
|
||||||
|
|
||||||
String STR_NAME_CONFLICT
|
String STR_NAME_CONFLICT
|
||||||
{
|
{
|
||||||
Text [ en-US ] = "The name '$file$' is already used for another database.\nPlease choose a different name.";
|
Text [ en-US ] = "The name '$file$' is already used for another database.\nPlease choose a different name.";
|
||||||
|
@@ -688,6 +688,81 @@ namespace svx
|
|||||||
m_sCompatibleObjectDescription += sSeparator;
|
m_sCompatibleObjectDescription += sSeparator;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
OMultiColumnTransferable::OMultiColumnTransferable(const Sequence< PropertyValue >& _aDescriptors) : m_aDescriptors(_aDescriptors)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
sal_uInt32 OMultiColumnTransferable::getDescriptorFormatId()
|
||||||
|
{
|
||||||
|
static sal_uInt32 s_nFormat = (sal_uInt32)-1;
|
||||||
|
if ((sal_uInt32)-1 == s_nFormat)
|
||||||
|
{
|
||||||
|
s_nFormat = SotExchange::RegisterFormatName(String::CreateFromAscii("application/x-openoffice;windows_formatname=\"dbaccess.MultipleColumnDescriptorTransfer\""));
|
||||||
|
OSL_ENSURE((sal_uInt32)-1 != s_nFormat, "OColumnTransferable::getDescriptorFormatId: bad exchange id!");
|
||||||
|
}
|
||||||
|
return s_nFormat;
|
||||||
|
}
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
void OMultiColumnTransferable::AddSupportedFormats()
|
||||||
|
{
|
||||||
|
AddFormat(getDescriptorFormatId());
|
||||||
|
}
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
void OMultiColumnTransferable::push_back(ODataAccessDescriptor& _aDescriptor)
|
||||||
|
{
|
||||||
|
const sal_Int32 nCount = m_aDescriptors.getLength();
|
||||||
|
m_aDescriptors.realloc(nCount+1);
|
||||||
|
m_aDescriptors[nCount].Value <<= _aDescriptor.createPropertyValueSequence();
|
||||||
|
}
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
sal_Bool OMultiColumnTransferable::GetData( const DataFlavor& _rFlavor )
|
||||||
|
{
|
||||||
|
const sal_uInt32 nFormatId = SotExchange::GetFormat(_rFlavor);
|
||||||
|
if (nFormatId == getDescriptorFormatId())
|
||||||
|
{
|
||||||
|
return SetAny( makeAny( m_aDescriptors ), _rFlavor );
|
||||||
|
}
|
||||||
|
|
||||||
|
return sal_False;
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
sal_Bool OMultiColumnTransferable::canExtractDescriptor(const DataFlavorExVector& _rFlavors)
|
||||||
|
{
|
||||||
|
DataFlavorExVector::const_iterator aCheck = _rFlavors.begin();
|
||||||
|
for ( ;
|
||||||
|
aCheck != _rFlavors.end() && getDescriptorFormatId() == aCheck->mnSotId;
|
||||||
|
++aCheck
|
||||||
|
)
|
||||||
|
;
|
||||||
|
|
||||||
|
return aCheck == _rFlavors.end();
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
Sequence< PropertyValue > OMultiColumnTransferable::extractDescriptor(const TransferableDataHelper& _rData)
|
||||||
|
{
|
||||||
|
Sequence< PropertyValue > aList;
|
||||||
|
if (_rData.HasFormat(getDescriptorFormatId()))
|
||||||
|
{
|
||||||
|
// extract the any from the transferable
|
||||||
|
DataFlavor aFlavor;
|
||||||
|
#if OSL_DEBUG_LEVEL > 0
|
||||||
|
sal_Bool bSuccess =
|
||||||
|
#endif
|
||||||
|
SotExchange::GetFormatDataFlavor(getDescriptorFormatId(), aFlavor);
|
||||||
|
OSL_ENSURE(bSuccess, "OColumnTransferable::extractColumnDescriptor: invalid data format (no flavor)!");
|
||||||
|
|
||||||
|
_rData.GetAny(aFlavor) >>= aList;
|
||||||
|
} // if (_rData.HasFormat(getDescriptorFormatId()))
|
||||||
|
return aList;
|
||||||
|
}
|
||||||
|
// -----------------------------------------------------------------------------
|
||||||
|
void OMultiColumnTransferable::ObjectReleased()
|
||||||
|
{
|
||||||
|
m_aDescriptors.realloc(0);
|
||||||
|
}
|
||||||
|
|
||||||
//........................................................................
|
//........................................................................
|
||||||
} // namespace svx
|
} // namespace svx
|
||||||
|
@@ -1491,16 +1491,14 @@ bool FmXFormView::createControlLabelPair( const ::comphelper::ComponentContext&
|
|||||||
MapMode eTargetMode( _rOutDev.GetMapMode() ),
|
MapMode eTargetMode( _rOutDev.GetMapMode() ),
|
||||||
eSourceMode( MAP_100TH_MM );
|
eSourceMode( MAP_100TH_MM );
|
||||||
|
|
||||||
// Textbreite ist mindestens 5cm
|
// Textbreite ist mindestens 4cm
|
||||||
// Texthoehe immer halber cm
|
// Texthoehe immer halber cm
|
||||||
::Size aDefTxtSize(3000, 500);
|
::Size aDefTxtSize(4000, 500);
|
||||||
::Size aDefSize(4000, 500);
|
::Size aDefSize(4000, 500);
|
||||||
::Size aDefImageSize(4000, 4000);
|
::Size aDefImageSize(4000, 4000);
|
||||||
// Abstand zwischen Text und Control
|
|
||||||
::Size aDelta(500, 0);
|
|
||||||
|
|
||||||
::Size aRealSize = _rOutDev.LogicToLogic(aTextSize, eTargetMode, eSourceMode);
|
::Size aRealSize = _rOutDev.LogicToLogic(aTextSize, eTargetMode, eSourceMode);
|
||||||
aRealSize.Width() = std::max(aRealSize.Width(), aDefTxtSize.Width()) + aDelta.Width();
|
aRealSize.Width() = std::max(aRealSize.Width(), aDefTxtSize.Width());
|
||||||
aRealSize.Height()= aDefSize.Height();
|
aRealSize.Height()= aDefSize.Height();
|
||||||
|
|
||||||
// je nach Skalierung des Zieldevices muss die Groesse noch normiert werden (#53523#)
|
// je nach Skalierung des Zieldevices muss die Groesse noch normiert werden (#53523#)
|
||||||
|
Reference in New Issue
Block a user