Kaydet (Commit) 530ea919 authored tarafından Matúš Kukan's avatar Matúš Kukan

sccomp: Make the source files more similar and fix some problems.

Change-Id: I1e3c8aac52e9d2677937e08aac08db4ace5cb2b8
üst 856c7499
...@@ -578,7 +578,7 @@ uno::Sequence< OUString > SolverComponent_getSupportedServiceNames() ...@@ -578,7 +578,7 @@ uno::Sequence< OUString > SolverComponent_getSupportedServiceNames()
OUString SolverComponent_getImplementationName() OUString SolverComponent_getImplementationName()
{ {
return OUString("com.sun.star.comp.Calc.Solver" ); return OUString("com.sun.star.comp.Calc.Solver");
} }
OUString SAL_CALL SolverComponent::getImplementationName() throw(uno::RuntimeException, std::exception) OUString SAL_CALL SolverComponent::getImplementationName() throw(uno::RuntimeException, std::exception)
......
...@@ -37,13 +37,12 @@ ...@@ -37,13 +37,12 @@
#include <cppuhelper/factory.hxx> #include <cppuhelper/factory.hxx>
#include <cppuhelper/supportsservice.hxx> #include <cppuhelper/supportsservice.hxx>
#include <vector> #include <vector>
#include <unordered_map> #include <boost/unordered_map.hpp>
#include <tools/resmgr.hxx> #include <tools/resmgr.hxx>
using namespace com::sun::star; using namespace com::sun::star;
#define C2U(constAsciiStr) (::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( constAsciiStr ) ))
#define STR_NONNEGATIVE "NonNegative" #define STR_NONNEGATIVE "NonNegative"
#define STR_INTEGER "Integer" #define STR_INTEGER "Integer"
...@@ -51,20 +50,20 @@ using namespace com::sun::star; ...@@ -51,20 +50,20 @@ using namespace com::sun::star;
#define STR_EPSILONLEVEL "EpsilonLevel" #define STR_EPSILONLEVEL "EpsilonLevel"
#define STR_LIMITBBDEPTH "LimitBBDepth" #define STR_LIMITBBDEPTH "LimitBBDepth"
// -----------------------------------------------------------------------
// Resources from tools are used for translated strings // Resources from tools are used for translated strings
static ResMgr* pSolverResMgr = NULL; static ResMgr* pSolverResMgr = NULL;
OUString lcl_GetResourceString( sal_uInt32 nId ) static OUString lcl_GetResourceString( sal_uInt32 nId )
{ {
if (!pSolverResMgr) if (!pSolverResMgr)
pSolverResMgr = ResMgr::CreateResMgr( "solver" ); pSolverResMgr = ResMgr::CreateResMgr("solver");
return ResId( nId, *pSolverResMgr ); return ResId(nId, *pSolverResMgr).toString();
} }
// -----------------------------------------------------------------------
namespace namespace
{ {
...@@ -78,7 +77,7 @@ namespace ...@@ -78,7 +77,7 @@ namespace
}; };
} }
// -----------------------------------------------------------------------
// hash map for the coefficients of a dependent cell (objective or constraint) // hash map for the coefficients of a dependent cell (objective or constraint)
// The size of each vector is the number of columns (variable cells) plus one, first entry is initial value. // The size of each vector is the number of columns (variable cells) plus one, first entry is initial value.
...@@ -104,11 +103,11 @@ struct ScSolverCellEqual ...@@ -104,11 +103,11 @@ struct ScSolverCellEqual
} }
}; };
typedef std::unordered_map< table::CellAddress, std::vector<double>, ScSolverCellHash, ScSolverCellEqual > ScSolverCellHashMap; typedef boost::unordered_map< table::CellAddress, std::vector<double>, ScSolverCellHash, ScSolverCellEqual > ScSolverCellHashMap;
// -----------------------------------------------------------------------
uno::Reference<table::XCell> lcl_GetCell( const uno::Reference<sheet::XSpreadsheetDocument>& xDoc,
static uno::Reference<table::XCell> lcl_GetCell( const uno::Reference<sheet::XSpreadsheetDocument>& xDoc,
const table::CellAddress& rPos ) const table::CellAddress& rPos )
{ {
uno::Reference<container::XIndexAccess> xSheets( xDoc->getSheets(), uno::UNO_QUERY ); uno::Reference<container::XIndexAccess> xSheets( xDoc->getSheets(), uno::UNO_QUERY );
...@@ -116,19 +115,19 @@ uno::Reference<table::XCell> lcl_GetCell( const uno::Reference<sheet::XSpreadshe ...@@ -116,19 +115,19 @@ uno::Reference<table::XCell> lcl_GetCell( const uno::Reference<sheet::XSpreadshe
return xSheet->getCellByPosition( rPos.Column, rPos.Row ); return xSheet->getCellByPosition( rPos.Column, rPos.Row );
} }
void lcl_SetValue( const uno::Reference<sheet::XSpreadsheetDocument>& xDoc, static void lcl_SetValue( const uno::Reference<sheet::XSpreadsheetDocument>& xDoc,
const table::CellAddress& rPos, double fValue ) const table::CellAddress& rPos, double fValue )
{ {
lcl_GetCell( xDoc, rPos )->setValue( fValue ); lcl_GetCell( xDoc, rPos )->setValue( fValue );
} }
double lcl_GetValue( const uno::Reference<sheet::XSpreadsheetDocument>& xDoc, static double lcl_GetValue( const uno::Reference<sheet::XSpreadsheetDocument>& xDoc,
const table::CellAddress& rPos ) const table::CellAddress& rPos )
{ {
return lcl_GetCell( xDoc, rPos )->getValue(); return lcl_GetCell( xDoc, rPos )->getValue();
} }
// -------------------------------------------------------------------------
SolverComponent::SolverComponent( const uno::Reference<uno::XComponentContext>& /* rSMgr */ ) : SolverComponent::SolverComponent( const uno::Reference<uno::XComponentContext>& /* rSMgr */ ) :
OPropertyContainer( GetBroadcastHelper() ), OPropertyContainer( GetBroadcastHelper() ),
...@@ -142,11 +141,11 @@ SolverComponent::SolverComponent( const uno::Reference<uno::XComponentContext>& ...@@ -142,11 +141,11 @@ SolverComponent::SolverComponent( const uno::Reference<uno::XComponentContext>&
mfResultValue( 0.0 ) mfResultValue( 0.0 )
{ {
// for XPropertySet implementation: // for XPropertySet implementation:
registerProperty( C2U(STR_NONNEGATIVE), PROP_NONNEGATIVE, 0, &mbNonNegative, getCppuType( &mbNonNegative ) ); registerProperty( STR_NONNEGATIVE, PROP_NONNEGATIVE, 0, &mbNonNegative, getCppuType( &mbNonNegative ) );
registerProperty( C2U(STR_INTEGER), PROP_INTEGER, 0, &mbInteger, getCppuType( &mbInteger ) ); registerProperty( STR_INTEGER, PROP_INTEGER, 0, &mbInteger, getCppuType( &mbInteger ) );
registerProperty( C2U(STR_TIMEOUT), PROP_TIMEOUT, 0, &mnTimeout, getCppuType( &mnTimeout ) ); registerProperty( STR_TIMEOUT, PROP_TIMEOUT, 0, &mnTimeout, getCppuType( &mnTimeout ) );
registerProperty( C2U(STR_EPSILONLEVEL), PROP_EPSILONLEVEL, 0, &mnEpsilonLevel, getCppuType( &mnEpsilonLevel ) ); registerProperty( STR_EPSILONLEVEL, PROP_EPSILONLEVEL, 0, &mnEpsilonLevel, getCppuType( &mnEpsilonLevel ) );
registerProperty( C2U(STR_LIMITBBDEPTH), PROP_LIMITBBDEPTH, 0, &mbLimitBBDepth, getCppuType( &mbLimitBBDepth ) ); registerProperty( STR_LIMITBBDEPTH, PROP_LIMITBBDEPTH, 0, &mbLimitBBDepth, getCppuType( &mbLimitBBDepth ) );
} }
SolverComponent::~SolverComponent() SolverComponent::~SolverComponent()
...@@ -289,15 +288,13 @@ uno::Sequence<double> SAL_CALL SolverComponent::getSolution() throw(uno::Runtime ...@@ -289,15 +288,13 @@ uno::Sequence<double> SAL_CALL SolverComponent::getSolution() throw(uno::Runtime
return maSolution; return maSolution;
} }
// -------------------------------------------------------------------------
void SAL_CALL SolverComponent::solve() throw(uno::RuntimeException, std::exception) void SAL_CALL SolverComponent::solve() throw(uno::RuntimeException, std::exception)
{ {
uno::Reference<frame::XModel> xModel( mxDoc, uno::UNO_QUERY ); uno::Reference<frame::XModel> xModel( mxDoc, uno::UNO_QUERY );
if ( !xModel.is() ) if ( !xModel.is() )
throw uno::RuntimeException(); throw uno::RuntimeException();
maStatus = OUString(); maStatus = "";
mbSuccess = false; mbSuccess = false;
xModel->lockControllers(); xModel->lockControllers();
...@@ -374,7 +371,7 @@ void SAL_CALL SolverComponent::solve() throw(uno::RuntimeException, std::excepti ...@@ -374,7 +371,7 @@ void SAL_CALL SolverComponent::solve() throw(uno::RuntimeException, std::excepti
xModel->unlockControllers(); xModel->unlockControllers();
if ( maStatus.getLength() ) if ( !maStatus.isEmpty() )
return; return;
// //
...@@ -583,13 +580,13 @@ void SAL_CALL SolverComponent::solve() throw(uno::RuntimeException, std::excepti ...@@ -583,13 +580,13 @@ void SAL_CALL SolverComponent::solve() throw(uno::RuntimeException, std::excepti
uno::Sequence< OUString > SolverComponent_getSupportedServiceNames() uno::Sequence< OUString > SolverComponent_getSupportedServiceNames()
{ {
uno::Sequence< OUString > aServiceNames( 1 ); uno::Sequence< OUString > aServiceNames( 1 );
aServiceNames[ 0 ] = OUString::createFromAscii( "com.sun.star.sheet.Solver" ); aServiceNames[ 0 ] = "com.sun.star.sheet.Solver";
return aServiceNames; return aServiceNames;
} }
OUString SolverComponent_getImplementationName() OUString SolverComponent_getImplementationName()
{ {
return OUString::createFromAscii( "com.sun.star.comp.Calc.CoinMPSolver" ); return OUString("com.sun.star.comp.Calc.CoinMPSolver");
} }
OUString SAL_CALL SolverComponent::getImplementationName() throw(uno::RuntimeException, std::exception) OUString SAL_CALL SolverComponent::getImplementationName() throw(uno::RuntimeException, std::exception)
...@@ -599,7 +596,7 @@ OUString SAL_CALL SolverComponent::getImplementationName() throw(uno::RuntimeExc ...@@ -599,7 +596,7 @@ OUString SAL_CALL SolverComponent::getImplementationName() throw(uno::RuntimeExc
sal_Bool SAL_CALL SolverComponent::supportsService( const OUString& rServiceName ) throw(uno::RuntimeException, std::exception) sal_Bool SAL_CALL SolverComponent::supportsService( const OUString& rServiceName ) throw(uno::RuntimeException, std::exception)
{ {
return cppu::supportsService( this, rServiceName ); return cppu::supportsService(this, rServiceName);
} }
uno::Sequence<OUString> SAL_CALL SolverComponent::getSupportedServiceNames() throw(uno::RuntimeException, std::exception) uno::Sequence<OUString> SAL_CALL SolverComponent::getSupportedServiceNames() throw(uno::RuntimeException, std::exception)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment