summaryrefslogtreecommitdiff
path: root/sccomp
diff options
context:
space:
mode:
Diffstat (limited to 'sccomp')
-rw-r--r--sccomp/AllLangMoTarget_scc.mk13
-rw-r--r--sccomp/AllLangResTarget_solver.mk34
-rw-r--r--sccomp/Library_solver.mk6
-rw-r--r--sccomp/Module_sccomp.mk2
-rw-r--r--sccomp/inc/strings.hrc40
-rw-r--r--sccomp/source/solver/CoinMPSolver.cxx2
-rw-r--r--sccomp/source/solver/LpsolveSolver.cxx2
-rw-r--r--sccomp/source/solver/SolverComponent.cxx30
-rw-r--r--sccomp/source/solver/SolverComponent.hxx6
-rw-r--r--sccomp/source/solver/solver.hrc39
-rw-r--r--sccomp/source/solver/solver.src82
11 files changed, 77 insertions, 179 deletions
diff --git a/sccomp/AllLangMoTarget_scc.mk b/sccomp/AllLangMoTarget_scc.mk
new file mode 100644
index 000000000000..9bbbb1b5c14a
--- /dev/null
+++ b/sccomp/AllLangMoTarget_scc.mk
@@ -0,0 +1,13 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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/.
+
+$(eval $(call gb_AllLangMoTarget_AllLangMoTarget,scc))
+
+$(eval $(call gb_AllLangMoTarget_set_polocation,scc,sccomp))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sccomp/AllLangResTarget_solver.mk b/sccomp/AllLangResTarget_solver.mk
deleted file mode 100644
index b04ee0fb052b..000000000000
--- a/sccomp/AllLangResTarget_solver.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-# 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 .
-#
-
-$(eval $(call gb_AllLangResTarget_AllLangResTarget,solver))
-
-$(eval $(call gb_AllLangResTarget_add_srs,solver,solver/res))
-$(eval $(call gb_SrsTarget_SrsTarget,solver/res))
-
-$(eval $(call gb_SrsTarget_set_include,solver/res,\
- $$(INCLUDE) \
- -I$(SRCDIR)/sccomp/source/solver \
-))
-
-$(eval $(call gb_SrsTarget_add_files,solver/res,\
- sccomp/source/solver/solver.src \
-))
-
-# vim: set noet sw=4 ts=4:
diff --git a/sccomp/Library_solver.mk b/sccomp/Library_solver.mk
index b79d8d2f2c33..2d30205fe4b0 100644
--- a/sccomp/Library_solver.mk
+++ b/sccomp/Library_solver.mk
@@ -24,12 +24,18 @@ $(if $(ENABLE_LPSOLVE),$(eval $(call gb_Library_set_componentfile,solver,sccomp/
$(eval $(call gb_Library_use_sdk_api,solver))
+$(eval $(call gb_Library_set_include,solver,\
+ $$(INCLUDE) \
+ -I$(SRCDIR)/sccomp/inc \
+))
+
$(eval $(call gb_Library_use_libraries,solver,\
comphelper \
cppu \
cppuhelper \
sal \
tl \
+ vcl \
i18nlangtag \
))
diff --git a/sccomp/Module_sccomp.mk b/sccomp/Module_sccomp.mk
index 6960f5761c86..9ff09e8d70bd 100644
--- a/sccomp/Module_sccomp.mk
+++ b/sccomp/Module_sccomp.mk
@@ -24,7 +24,7 @@ $(eval $(call gb_Module_add_targets,sccomp,\
))
$(eval $(call gb_Module_add_l10n_targets,sccomp,\
- $(if $(ENABLE_COINMP)$(ENABLE_LPSOLVE), AllLangResTarget_solver) \
+ $(if $(ENABLE_COINMP)$(ENABLE_LPSOLVE), AllLangMoTarget_scc) \
))
$(eval $(call gb_Module_add_check_targets,sccomp,\
diff --git a/sccomp/inc/strings.hrc b/sccomp/inc/strings.hrc
new file mode 100644
index 000000000000..4f736374e619
--- /dev/null
+++ b/sccomp/inc/strings.hrc
@@ -0,0 +1,40 @@
+/* -*- 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 .
+ */
+
+#ifndef INCLUDED_SCCOMP_INC_STRINGS_HRC
+#define INCLUDED_SCCOMP_INC_STRINGS_HRC
+
+#define NC_(Context, String) (Context "\004" u8##String)
+
+#define RID_SOLVER_COMPONENT NC_("RID_SOLVER_COMPONENT", "%PRODUCTNAME Linear Solver")
+#define RID_COINMP_SOLVER_COMPONENT NC_("RID_COINMP_SOLVER_COMPONENT", "%PRODUCTNAME CoinMP Linear Solver")
+#define RID_PROPERTY_NONNEGATIVE NC_("RID_PROPERTY_NONNEGATIVE", "Assume variables as non-negative")
+#define RID_PROPERTY_INTEGER NC_("RID_PROPERTY_INTEGER", "Assume variables as integer")
+#define RID_PROPERTY_TIMEOUT NC_("RID_PROPERTY_TIMEOUT", "Solving time limit (seconds)")
+#define RID_PROPERTY_EPSILONLEVEL NC_("RID_PROPERTY_EPSILONLEVEL", "Epsilon level (0-3)")
+#define RID_PROPERTY_LIMITBBDEPTH NC_("RID_PROPERTY_LIMITBBDEPTH", "Limit branch-and-bound depth")
+#define RID_ERROR_NONLINEAR NC_("RID_ERROR_NONLINEAR", "The model is not linear.")
+#define RID_ERROR_EPSILONLEVEL NC_("RID_ERROR_EPSILONLEVEL", "The epsilon level is invalid.")
+#define RID_ERROR_INFEASIBLE NC_("RID_ERROR_INFEASIBLE", "The model is infeasible. Check limiting conditions.")
+#define RID_ERROR_UNBOUNDED NC_("RID_ERROR_UNBOUNDED", "The model is unbounded.")
+#define RID_ERROR_TIMEOUT NC_("RID_ERROR_TIMEOUT", "The time limit was reached.")
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sccomp/source/solver/CoinMPSolver.cxx b/sccomp/source/solver/CoinMPSolver.cxx
index 36cead8f116b..045fb5fa5aa1 100644
--- a/sccomp/source/solver/CoinMPSolver.cxx
+++ b/sccomp/source/solver/CoinMPSolver.cxx
@@ -21,7 +21,7 @@
#include <CoinError.hpp>
#include "SolverComponent.hxx"
-#include "solver.hrc"
+#include "strings.hrc"
#include <com/sun/star/frame/XModel.hpp>
#include <com/sun/star/table/CellAddress.hpp>
diff --git a/sccomp/source/solver/LpsolveSolver.cxx b/sccomp/source/solver/LpsolveSolver.cxx
index fbb0a60c1f4f..428d87d55916 100644
--- a/sccomp/source/solver/LpsolveSolver.cxx
+++ b/sccomp/source/solver/LpsolveSolver.cxx
@@ -53,7 +53,7 @@
#undef LANGUAGE_NONE
#include "SolverComponent.hxx"
-#include "solver.hrc"
+#include "strings.hrc"
#include <com/sun/star/frame/XModel.hpp>
#include <com/sun/star/table/CellAddress.hpp>
diff --git a/sccomp/source/solver/SolverComponent.cxx b/sccomp/source/solver/SolverComponent.cxx
index bac5e8dc2b2c..134226d02a55 100644
--- a/sccomp/source/solver/SolverComponent.cxx
+++ b/sccomp/source/solver/SolverComponent.cxx
@@ -18,7 +18,7 @@
*/
#include "SolverComponent.hxx"
-#include "solver.hrc"
+#include "strings.hrc"
#include <com/sun/star/container/XIndexAccess.hpp>
#include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
@@ -29,6 +29,8 @@
#include <vector>
#include <tools/resmgr.hxx>
+#include <vcl/settings.hxx>
+#include <vcl/svapp.hxx>
using namespace com::sun::star;
@@ -42,14 +44,10 @@ using namespace com::sun::star;
// Resources from tools are used for translated strings
-ResMgr* SolverComponent::pSolverResMgr = nullptr;
-
-OUString SolverComponent::GetResourceString( sal_uInt32 nId )
+OUString SolverComponent::GetResourceString(const char* pId)
{
- if (!pSolverResMgr)
- pSolverResMgr = ResMgr::CreateResMgr("solver");
-
- return ResId(nId, *pSolverResMgr).toString();
+ static std::locale loc = Translate::Create("scc", Application::GetSettings().GetUILanguageTag());
+ return Translate::get(pId, loc);
}
size_t ScSolverCellHash::operator()( const css::table::CellAddress& rAddress ) const
@@ -146,24 +144,24 @@ OUString SAL_CALL SolverComponent::getStatusDescription()
OUString SAL_CALL SolverComponent::getPropertyDescription( const OUString& rPropertyName )
{
- sal_uInt32 nResId = 0;
+ const char* pResId = nullptr;
sal_Int32 nHandle = getInfoHelper().getHandleByName( rPropertyName );
switch (nHandle)
{
case PROP_NONNEGATIVE:
- nResId = RID_PROPERTY_NONNEGATIVE;
+ pResId = RID_PROPERTY_NONNEGATIVE;
break;
case PROP_INTEGER:
- nResId = RID_PROPERTY_INTEGER;
+ pResId = RID_PROPERTY_INTEGER;
break;
case PROP_TIMEOUT:
- nResId = RID_PROPERTY_TIMEOUT;
+ pResId = RID_PROPERTY_TIMEOUT;
break;
case PROP_EPSILONLEVEL:
- nResId = RID_PROPERTY_EPSILONLEVEL;
+ pResId = RID_PROPERTY_EPSILONLEVEL;
break;
case PROP_LIMITBBDEPTH:
- nResId = RID_PROPERTY_LIMITBBDEPTH;
+ pResId = RID_PROPERTY_LIMITBBDEPTH;
break;
default:
{
@@ -171,8 +169,8 @@ OUString SAL_CALL SolverComponent::getPropertyDescription( const OUString& rProp
}
}
OUString aRet;
- if ( nResId )
- aRet = SolverComponent::GetResourceString( nResId );
+ if (pResId)
+ aRet = SolverComponent::GetResourceString(pResId);
return aRet;
}
diff --git a/sccomp/source/solver/SolverComponent.hxx b/sccomp/source/solver/SolverComponent.hxx
index 227d48de5822..21b646731e0c 100644
--- a/sccomp/source/solver/SolverComponent.hxx
+++ b/sccomp/source/solver/SolverComponent.hxx
@@ -32,8 +32,6 @@
#include <unordered_map>
-class ResMgr;
-
// 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.
@@ -66,8 +64,6 @@ class SolverComponent : public comphelper::OMutexAndBroadcastHelper,
public SolverComponent_Base
{
protected:
- static ResMgr* pSolverResMgr;
-
// settings
css::uno::Reference< css::sheet::XSpreadsheetDocument > mxDoc;
css::table::CellAddress maObjective;
@@ -86,7 +82,7 @@ protected:
css::uno::Sequence< double > maSolution;
OUString maStatus;
- static OUString GetResourceString( sal_uInt32 nId );
+ static OUString GetResourceString(const char* pId);
static css::uno::Reference<css::table::XCell> GetCell(
const css::uno::Reference<css::sheet::XSpreadsheetDocument>& xDoc,
const css::table::CellAddress& rPos );
diff --git a/sccomp/source/solver/solver.hrc b/sccomp/source/solver/solver.hrc
deleted file mode 100644
index 888739831ea9..000000000000
--- a/sccomp/source/solver/solver.hrc
+++ /dev/null
@@ -1,39 +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 .
- */
-#ifndef SOLVER_HRC
-#define SOLVER_HRC
-
-#define SOLVER_RESOURCE_START 1000
-
-#define RID_SOLVER_COMPONENT (SOLVER_RESOURCE_START)
-#define RID_PROPERTY_NONNEGATIVE (SOLVER_RESOURCE_START + 1)
-#define RID_PROPERTY_INTEGER (SOLVER_RESOURCE_START + 2)
-#define RID_PROPERTY_TIMEOUT (SOLVER_RESOURCE_START + 3)
-#define RID_PROPERTY_EPSILONLEVEL (SOLVER_RESOURCE_START + 4)
-#define RID_PROPERTY_LIMITBBDEPTH (SOLVER_RESOURCE_START + 5)
-#define RID_ERROR_NONLINEAR (SOLVER_RESOURCE_START + 6)
-#define RID_ERROR_EPSILONLEVEL (SOLVER_RESOURCE_START + 7)
-#define RID_ERROR_INFEASIBLE (SOLVER_RESOURCE_START + 8)
-#define RID_ERROR_UNBOUNDED (SOLVER_RESOURCE_START + 9)
-#define RID_ERROR_TIMEOUT (SOLVER_RESOURCE_START + 10)
-#define RID_COINMP_SOLVER_COMPONENT (SOLVER_RESOURCE_START + 11)
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sccomp/source/solver/solver.src b/sccomp/source/solver/solver.src
deleted file mode 100644
index 05044003ff45..000000000000
--- a/sccomp/source/solver/solver.src
+++ /dev/null
@@ -1,82 +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 "solver.hrc"
-
-String RID_SOLVER_COMPONENT
-{
- Text [ en-US ] = "%PRODUCTNAME Linear Solver";
-};
-
-String RID_COINMP_SOLVER_COMPONENT
-{
- Text [ en-US ] = "%PRODUCTNAME CoinMP Linear Solver";
-};
-
-String RID_PROPERTY_NONNEGATIVE
-{
- Text [ en-US ] = "Assume variables as non-negative";
-};
-
-String RID_PROPERTY_INTEGER
-{
- Text [ en-US ] = "Assume variables as integer";
-};
-
-String RID_PROPERTY_TIMEOUT
-{
- Text [ en-US ] = "Solving time limit (seconds)";
-};
-
-String RID_PROPERTY_EPSILONLEVEL
-{
- Text [ en-US ] = "Epsilon level (0-3)";
-};
-
-String RID_PROPERTY_LIMITBBDEPTH
-{
- Text [ en-US ] = "Limit branch-and-bound depth";
-};
-
-String RID_ERROR_NONLINEAR
-{
- Text [ en-US ] = "The model is not linear.";
-};
-
-String RID_ERROR_EPSILONLEVEL
-{
- Text [ en-US ] = "The epsilon level is invalid.";
-};
-
-String RID_ERROR_INFEASIBLE
-{
- Text [ en-US ] = "The model is infeasible. Check limiting conditions.";
-};
-
-String RID_ERROR_UNBOUNDED
-{
- Text [ en-US ] = "The model is unbounded.";
-};
-
-String RID_ERROR_TIMEOUT
-{
- Text [ en-US ] = "The time limit was reached.";
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */