diff options
Diffstat (limited to 'basic')
-rw-r--r-- | basic/AllLangMoTarget_sb.mk | 13 | ||||
-rw-r--r-- | basic/AllLangResTarget_sb.mk | 39 | ||||
-rw-r--r-- | basic/Library_sb.mk | 3 | ||||
-rw-r--r-- | basic/Module_basic.mk | 2 | ||||
-rw-r--r-- | basic/inc/basic.hrc | 161 | ||||
-rw-r--r-- | basic/inc/basrid.hxx | 8 | ||||
-rw-r--r-- | basic/inc/pch/precompiled_sb.hxx | 1 | ||||
-rw-r--r-- | basic/inc/strings.hrc (renamed from basic/inc/sb.hrc) | 19 | ||||
-rw-r--r-- | basic/qa/cppunit/basictest.cxx | 1 | ||||
-rw-r--r-- | basic/source/basmgr/basmgr.cxx | 2 | ||||
-rw-r--r-- | basic/source/classes/sb.cxx | 26 | ||||
-rw-r--r-- | basic/source/classes/sb.src | 191 | ||||
-rw-r--r-- | basic/source/runtime/basrdll.cxx | 14 | ||||
-rw-r--r-- | basic/source/runtime/methods.cxx | 2 | ||||
-rw-r--r-- | basic/source/runtime/runtime.cxx | 2 | ||||
-rw-r--r-- | basic/source/sbx/format.src | 51 | ||||
-rw-r--r-- | basic/source/sbx/sbxscan.cxx | 20 |
17 files changed, 220 insertions, 335 deletions
diff --git a/basic/AllLangMoTarget_sb.mk b/basic/AllLangMoTarget_sb.mk new file mode 100644 index 000000000000..90ece5be32da --- /dev/null +++ b/basic/AllLangMoTarget_sb.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,sb)) + +$(eval $(call gb_AllLangMoTarget_set_polocation,sb,basic)) + +# vim: set noet sw=4 ts=4: diff --git a/basic/AllLangResTarget_sb.mk b/basic/AllLangResTarget_sb.mk deleted file mode 100644 index fa792286d626..000000000000 --- a/basic/AllLangResTarget_sb.mk +++ /dev/null @@ -1,39 +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,sb)) - - -$(eval $(call gb_AllLangResTarget_add_srs,sb,\ - sb/res \ -)) - -$(eval $(call gb_SrsTarget_SrsTarget,sb/res)) - -$(eval $(call gb_SrsTarget_set_include,sb/res,\ - $$(INCLUDE) \ - -I$(SRCDIR)/basic/inc \ -)) - -$(eval $(call gb_SrsTarget_add_files,sb/res,\ - basic/source/classes/sb.src \ - basic/source/sbx/format.src \ -)) - -# vim: set noet sw=4 ts=4: diff --git a/basic/Library_sb.mk b/basic/Library_sb.mk index e2ed084131f0..f866a3bbd347 100644 --- a/basic/Library_sb.mk +++ b/basic/Library_sb.mk @@ -158,7 +158,4 @@ $(eval $(call gb_Library_add_exception_objects,sb,\ endif endif -# Runtime dependency for unit-tests -$(eval $(call gb_Library_use_restarget,sb,sb)) - # vim: set noet sw=4 ts=4: diff --git a/basic/Module_basic.mk b/basic/Module_basic.mk index 10fcbfd36990..a01c883268bc 100644 --- a/basic/Module_basic.mk +++ b/basic/Module_basic.mk @@ -12,7 +12,7 @@ $(eval $(call gb_Module_Module,basic)) ifneq ($(filter SCRIPTING,$(BUILD_TYPE)),) $(eval $(call gb_Module_add_l10n_targets,basic,\ - AllLangResTarget_sb \ + AllLangMoTarget_sb \ )) $(eval $(call gb_Module_add_check_targets,basic,\ diff --git a/basic/inc/basic.hrc b/basic/inc/basic.hrc new file mode 100644 index 000000000000..c0824802a979 --- /dev/null +++ b/basic/inc/basic.hrc @@ -0,0 +1,161 @@ +/* -*- 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 N_("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_BASIC_INC_STRINGS_HRC +#define INCLUDED_BASIC_INC_STRINGS_HRC + +#define NC_(Context, String) (Context "\004" u8##String) + +std::pair<const char*, ErrCode> RID_BASIC_START[] = +{ + { NC_("RID_BASIC_START", "Syntax error."), ErrCode(sal_uInt32(ERRCODE_BASIC_SYNTAX) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Return without Gosub."), ErrCode(sal_uInt32(ERRCODE_BASIC_NO_GOSUB) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Incorrect entry; please retry."), ErrCode(sal_uInt32(ERRCODE_BASIC_REDO_FROM_START) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Invalid procedure call."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_ARGUMENT) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Overflow."), ErrCode(sal_uInt32(ERRCODE_BASIC_MATH_OVERFLOW) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Not enough memory."), ErrCode(sal_uInt32(ERRCODE_BASIC_NO_MEMORY) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Array already dimensioned."), ErrCode(sal_uInt32(ERRCODE_BASIC_ALREADY_DIM) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Index out of defined range."), ErrCode(sal_uInt32(ERRCODE_BASIC_OUT_OF_RANGE) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Duplicate definition."), ErrCode(sal_uInt32(ERRCODE_BASIC_DUPLICATE_DEF) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Division by zero."), ErrCode(sal_uInt32(ERRCODE_BASIC_ZERODIV) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Variable not defined."), ErrCode(sal_uInt32(ERRCODE_BASIC_VAR_UNDEFINED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Data type mismatch."), ErrCode(sal_uInt32(ERRCODE_BASIC_CONVERSION) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Invalid parameter."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_PARAMETER) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Process interrupted by user."), ErrCode(sal_uInt32(ERRCODE_BASIC_USER_ABORT) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Resume without error."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_RESUME) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Not enough stack memory."), ErrCode(sal_uInt32(ERRCODE_BASIC_STACK_OVERFLOW) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Sub-procedure or function procedure not defined."), ErrCode(sal_uInt32(ERRCODE_BASIC_PROC_UNDEFINED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Error loading DLL file."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_DLL_LOAD) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Wrong DLL call convention."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_DLL_CALL) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Internal error $(ARG1)."), ErrCode(sal_uInt32(ERRCODE_BASIC_INTERNAL_ERROR) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Invalid file name or file number."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_CHANNEL) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "File not found."), ErrCode(sal_uInt32(ERRCODE_BASIC_FILE_NOT_FOUND) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Incorrect file mode."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_FILE_MODE) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "File already open."), ErrCode(sal_uInt32(ERRCODE_BASIC_FILE_ALREADY_OPEN) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Device I/O error."), ErrCode(sal_uInt32(ERRCODE_BASIC_IO_ERROR) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "File already exists."), ErrCode(sal_uInt32(ERRCODE_BASIC_FILE_EXISTS) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Incorrect record length."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_RECORD_LENGTH) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Disk or hard drive full."), ErrCode(sal_uInt32(ERRCODE_BASIC_DISK_FULL) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Reading exceeds EOF."), ErrCode(sal_uInt32(ERRCODE_BASIC_READ_PAST_EOF) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Incorrect record number."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_RECORD_NUMBER) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Too many files."), ErrCode(sal_uInt32(ERRCODE_BASIC_TOO_MANY_FILES) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Device not available."), ErrCode(sal_uInt32(ERRCODE_BASIC_NO_DEVICE) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Access denied."), ErrCode(sal_uInt32(ERRCODE_BASIC_ACCESS_DENIED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Disk not ready."), ErrCode(sal_uInt32(ERRCODE_BASIC_NOT_READY) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Not implemented."), ErrCode(sal_uInt32(ERRCODE_BASIC_NOT_IMPLEMENTED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Renaming on different drives impossible."), ErrCode(sal_uInt32(ERRCODE_BASIC_DIFFERENT_DRIVE) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Path/File access error."), ErrCode(sal_uInt32(ERRCODE_BASIC_ACCESS_ERROR) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Path not found."), ErrCode(sal_uInt32(ERRCODE_BASIC_PATH_NOT_FOUND) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Object variable not set."), ErrCode(sal_uInt32(ERRCODE_BASIC_NO_OBJECT) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Invalid string pattern."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_PATTERN) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Use of zero not permitted."), ErrCode(sal_uInt32(ERRCODE_BASIC_IS_NULL) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "DDE Error."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_ERROR) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Awaiting response to DDE connection."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_WAITINGACK) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "No DDE channels available."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_OUTOFCHANNELS) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "No application responded to DDE connect initiation."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_NO_RESPONSE) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Too many applications responded to DDE connect initiation."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_MULT_RESPONSES) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "DDE channel locked."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_CHANNEL_LOCKED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "External application cannot execute DDE operation."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_NOTPROCESSED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Timeout while waiting for DDE response."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_TIMEOUT) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "User pressed ESCAPE during DDE operation."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_USER_INTERRUPT) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "External application busy."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_BUSY) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "DDE operation without data."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_NO_DATA) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Data are in wrong format."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_WRONG_DATA_FORMAT) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "External application has been terminated."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_PARTNER_QUIT) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "DDE connection interrupted or modified."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_CONV_CLOSED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "DDE method invoked with no channel open."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_NO_CHANNEL) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Invalid DDE link format."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_INVALID_LINK) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "DDE message has been lost."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_QUEUE_OVERFLOW) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Paste link already performed."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_LINK_ALREADY_EST) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Link mode cannot be set due to invalid link topic."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_LINK_INV_TOPIC) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "DDE requires the DDEML.DLL file."), ErrCode(sal_uInt32(ERRCODE_BASIC_DDE_DLL_NOT_FOUND) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Module cannot be loaded; invalid format."), ErrCode(sal_uInt32(ERRCODE_BASIC_CANNOT_LOAD) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Invalid object index."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_INDEX) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Object is not available."), ErrCode(sal_uInt32(ERRCODE_BASIC_NO_ACTIVE_OBJECT) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Incorrect property value."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_PROP_VALUE) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "This property is read-only."), ErrCode(sal_uInt32(ERRCODE_BASIC_PROP_READONLY) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "This property is write only."), ErrCode(sal_uInt32(ERRCODE_BASIC_PROP_WRITEONLY) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Invalid object reference."), ErrCode(sal_uInt32(ERRCODE_BASIC_INVALID_OBJECT) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Property or method not found: $(ARG1)."), ErrCode(sal_uInt32(ERRCODE_BASIC_NO_METHOD) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Object required."), ErrCode(sal_uInt32(ERRCODE_BASIC_NEEDS_OBJECT) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Invalid use of an object."), ErrCode(sal_uInt32(ERRCODE_BASIC_INVALID_USAGE_OBJECT) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "OLE Automation is not supported by this object."), ErrCode(sal_uInt32(ERRCODE_BASIC_NO_OLE) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "This property or method is not supported by the object."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_METHOD) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "OLE Automation Error."), ErrCode(sal_uInt32(ERRCODE_BASIC_OLE_ERROR) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "This action is not supported by given object."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_ACTION) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Named arguments are not supported by given object."), ErrCode(sal_uInt32(ERRCODE_BASIC_NO_NAMED_ARGS) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "The current locale setting is not supported by the given object."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_LOCALE) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Named argument not found."), ErrCode(sal_uInt32(ERRCODE_BASIC_NAMED_NOT_FOUND) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Argument is not optional."), ErrCode(sal_uInt32(ERRCODE_BASIC_NOT_OPTIONAL) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Invalid number of arguments."), ErrCode(sal_uInt32(ERRCODE_BASIC_WRONG_ARGS) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Object is not a list."), ErrCode(sal_uInt32(ERRCODE_BASIC_NOT_A_COLL) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Invalid ordinal number."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_ORDINAL) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Specified DLL function not found."), ErrCode(sal_uInt32(ERRCODE_BASIC_DLLPROC_NOT_FOUND) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Invalid clipboard format."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_CLIPBD_FORMAT) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Object does not have this property."), ErrCode(sal_uInt32(ERRCODE_BASIC_PROPERTY_NOT_FOUND) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Object does not have this method."), ErrCode(sal_uInt32(ERRCODE_BASIC_METHOD_NOT_FOUND) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Required argument lacking."), ErrCode(sal_uInt32(ERRCODE_BASIC_ARG_MISSING) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Invalid number of arguments."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_NUMBER_OF_ARGS) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Error executing a method."), ErrCode(sal_uInt32(ERRCODE_BASIC_METHOD_FAILED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Unable to set property."), ErrCode(sal_uInt32(ERRCODE_BASIC_SETPROP_FAILED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Unable to determine property."), ErrCode(sal_uInt32(ERRCODE_BASIC_GETPROP_FAILED) & ERRCODE_RES_MASK) }, + // Compiler errors. These are not runtime errors. + { NC_("RID_BASIC_START", "Unexpected symbol: $(ARG1)."), ErrCode(sal_uInt32(ERRCODE_BASIC_UNEXPECTED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Expected: $(ARG1)."), ErrCode(sal_uInt32(ERRCODE_BASIC_EXPECTED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Symbol expected."), ErrCode(sal_uInt32(ERRCODE_BASIC_SYMBOL_EXPECTED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Variable expected."), ErrCode(sal_uInt32(ERRCODE_BASIC_VAR_EXPECTED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Label expected."), ErrCode(sal_uInt32(ERRCODE_BASIC_LABEL_EXPECTED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Value cannot be applied."), ErrCode(sal_uInt32(ERRCODE_BASIC_LVALUE_EXPECTED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Variable $(ARG1) already defined."), ErrCode(sal_uInt32(ERRCODE_BASIC_VAR_DEFINED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Sub procedure or function procedure $(ARG1) already defined."), ErrCode(sal_uInt32(ERRCODE_BASIC_PROC_DEFINED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Label $(ARG1) already defined."), ErrCode(sal_uInt32(ERRCODE_BASIC_LABEL_DEFINED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Variable $(ARG1) not found."), ErrCode(sal_uInt32(ERRCODE_BASIC_UNDEF_VAR) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Array or procedure $(ARG1) not found."), ErrCode(sal_uInt32(ERRCODE_BASIC_UNDEF_ARRAY) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Procedure $(ARG1) not found."), ErrCode(sal_uInt32(ERRCODE_BASIC_UNDEF_PROC) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Label $(ARG1) undefined."), ErrCode(sal_uInt32(ERRCODE_BASIC_UNDEF_LABEL) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Unknown data type $(ARG1)."), ErrCode(sal_uInt32(ERRCODE_BASIC_UNDEF_TYPE) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Exit $(ARG1) expected."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_EXIT) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Statement block still open: $(ARG1) missing."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_BLOCK) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Parentheses do not match."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_BRACKETS) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Symbol $(ARG1) already defined differently."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_DECLARATION) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Parameters do not correspond to procedure."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_PARAMETERS) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Invalid character in number."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_CHAR_IN_NUMBER) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Array must be dimensioned."), ErrCode(sal_uInt32(ERRCODE_BASIC_MUST_HAVE_DIMS) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Else/Endif without If."), ErrCode(sal_uInt32(ERRCODE_BASIC_NO_IF) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "$(ARG1) not allowed within a procedure."), ErrCode(sal_uInt32(ERRCODE_BASIC_NOT_IN_SUBR) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "$(ARG1) not allowed outside a procedure."), ErrCode(sal_uInt32(ERRCODE_BASIC_NOT_IN_MAIN) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Dimension specifications do not match."), ErrCode(sal_uInt32(ERRCODE_BASIC_WRONG_DIMS) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Unknown option: $(ARG1)."), ErrCode(sal_uInt32(ERRCODE_BASIC_BAD_OPTION) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Constant $(ARG1) redefined."), ErrCode(sal_uInt32(ERRCODE_BASIC_CONSTANT_REDECLARED) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Program too large."), ErrCode(sal_uInt32(ERRCODE_BASIC_PROG_TOO_LARGE) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Strings or arrays not permitted."), ErrCode(sal_uInt32(ERRCODE_BASIC_NO_STRINGS_ARRAYS) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "An exception occurred $(ARG1)."), ErrCode(sal_uInt32(ERRCODE_BASIC_EXCEPTION) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "This array is fixed or temporarily locked."), ErrCode(sal_uInt32(ERRCODE_BASIC_ARRAY_FIX) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Out of string space."), ErrCode(sal_uInt32(ERRCODE_BASIC_STRING_OVERFLOW) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Expression Too Complex."), ErrCode(sal_uInt32(ERRCODE_BASIC_EXPR_TOO_COMPLEX) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Can't perform requested operation."), ErrCode(sal_uInt32(ERRCODE_BASIC_OPER_NOT_PERFORM) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "Too many DLL application clients."), ErrCode(sal_uInt32(ERRCODE_BASIC_TOO_MANY_DLL) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "For loop not initialized."), ErrCode(sal_uInt32(ERRCODE_BASIC_LOOP_NOT_INIT) & ERRCODE_RES_MASK) }, + { NC_("RID_BASIC_START", "$(ARG1)"), ErrCode(sal_uInt32(ERRCODE_BASIC_COMPAT) & ERRCODE_RES_MASK) }, + { nullptr, ERRCODE_NONE } +}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/basic/inc/basrid.hxx b/basic/inc/basrid.hxx index 203c28162748..e6fd817afb23 100644 --- a/basic/inc/basrid.hxx +++ b/basic/inc/basrid.hxx @@ -20,13 +20,7 @@ #ifndef INCLUDED_BASIC_INC_BASRID_HXX #define INCLUDED_BASIC_INC_BASRID_HXX -#include <tools/resid.hxx> - -class BasResId : public ResId -{ - public: - BasResId( sal_uInt32 nId ); -}; +OUString BasResId(const char* pId); #endif // INCLUDED_BASIC_INC_BASRID_HXX diff --git a/basic/inc/pch/precompiled_sb.hxx b/basic/inc/pch/precompiled_sb.hxx index 85d74021de78..a277651d7c50 100644 --- a/basic/inc/pch/precompiled_sb.hxx +++ b/basic/inc/pch/precompiled_sb.hxx @@ -59,7 +59,6 @@ #include <vcl/msgbox.hxx> #include <vcl/settings.hxx> #include <vcl/svapp.hxx> -#include <basrid.hxx> #include <com/sun/star/frame/XModel.hpp> #include <com/sun/star/i18n/KCharacterType.hpp> #include <com/sun/star/i18n/KParseTokens.hpp> diff --git a/basic/inc/sb.hrc b/basic/inc/strings.hrc index 12469099cf88..deab90a91eb5 100644 --- a/basic/inc/sb.hrc +++ b/basic/inc/strings.hrc @@ -17,16 +17,21 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#ifndef INCLUDED_BASIC_INC_SB_HRC -#define INCLUDED_BASIC_INC_SB_HRC +#ifndef INCLUDED_BASIC_INC_STRINGS_HRC +#define INCLUDED_BASIC_INC_STRINGS_HRC -#include <svl/solar.hrc> +#define NC_(Context, String) (Context "\004" u8##String) -#ifndef IDS_SBERR_START - #define IDS_SBERR_START RID_BASIC_START -#endif +#define STR_BASICKEY_FORMAT_ON NC_("STR_BASICKEY_FORMAT_ON", "On") +#define STR_BASICKEY_FORMAT_OFF NC_("STR_BASICKEY_FORMAT_OFF", "Off") +#define STR_BASICKEY_FORMAT_TRUE NC_("STR_BASICKEY_FORMAT_TRUE", "True") +#define STR_BASICKEY_FORMAT_FALSE NC_("STR_BASICKEY_FORMAT_FALSE", "False") +#define STR_BASICKEY_FORMAT_YES NC_("STR_BASICKEY_FORMAT_YES", "Yes") +#define STR_BASICKEY_FORMAT_NO NC_("STR_BASICKEY_FORMAT_NO", "No") +//format currency +#define STR_BASICKEY_FORMAT_CURRENCY NC_("STR_BASICKEY_FORMAT_CURRENCY", "@0.00 $;@(0.00 $)") -#define IDS_SBERR_TERMINATED IDS_SBERR_START+2000 +#define IDS_SBERR_TERMINATED NC_("IDS_SBERR_TERMINATED", "The macro running has been interrupted") #endif diff --git a/basic/qa/cppunit/basictest.cxx b/basic/qa/cppunit/basictest.cxx index bedd89e5dacf..9622a2867242 100644 --- a/basic/qa/cppunit/basictest.cxx +++ b/basic/qa/cppunit/basictest.cxx @@ -20,7 +20,6 @@ void MacroSnippet::InitSnippet() { - CPPUNIT_ASSERT_MESSAGE( "No resource manager", maDll.GetBasResMgr() != nullptr ); mpBasic = new StarBASIC(); StarBASIC::SetGlobalErrorHdl( LINK( this, MacroSnippet, BasicErrorHdl ) ); } diff --git a/basic/source/basmgr/basmgr.cxx b/basic/source/basmgr/basmgr.cxx index cc1e3d340503..9189d7538df8 100644 --- a/basic/source/basmgr/basmgr.cxx +++ b/basic/source/basmgr/basmgr.cxx @@ -41,9 +41,7 @@ #include <basic/basmgr.hxx> #include "global.hxx" #include <sbunoobj.hxx> -#include "basrid.hxx" #include "sbintern.hxx" -#include <sb.hrc> #include <memory> #include <vector> diff --git a/basic/source/classes/sb.cxx b/basic/source/classes/sb.cxx index d04e6c3f0b73..45b85dc6b83a 100644 --- a/basic/source/classes/sb.cxx +++ b/basic/source/classes/sb.cxx @@ -18,8 +18,6 @@ */ #include "sb.hxx" -#include <tools/rcid.h> -#include <tools/resary.hxx> #include <tools/stream.hxx> #include <vcl/errinf.hxx> #include <comphelper/solarmutex.hxx> @@ -36,7 +34,7 @@ #include "sbobjmod.hxx" #include "stdobj.hxx" #include "filefmt.hxx" -#include "sb.hrc" +#include "basic.hrc" #include <basrid.hxx> #include <cppuhelper/implbase.hxx> #include <com/sun/star/lang/XMultiServiceFactory.hpp> @@ -1576,18 +1574,30 @@ void StarBASIC::SetErrorData( ErrCode nCode, sal_uInt16 nLine, aGlobals.nCol2 = nCol2; } +const ErrMsgCode* getRID_BASIC_START() +{ + return RID_BASIC_START; +} + void StarBASIC::MakeErrorText( ErrCode nId, const OUString& aMsg ) { SolarMutexGuard aSolarGuard; sal_uInt16 nOldID = GetVBErrorCode( nId ); - // instantiate the help class - ResStringArray aMyStringList(BasResId(RID_BASIC_START)); - sal_uInt32 nErrIdx = aMyStringList.FindIndex(nId.GetRest()); - if (nErrIdx != RESARRAY_INDEX_NOTFOUND) + const char* pErrorMsg = nullptr; + for (ErrMsgCode* pItem = RID_BASIC_START; pItem->second; ++pItem) + { + if (ErrCode(nId.GetRest()) == pItem->second) + { + pErrorMsg = pItem->first; + break; + } + } + + if (pErrorMsg) { // merge message with additional text - OUString sError = aMyStringList.GetString(nErrIdx); + OUString sError = BasResId(pErrorMsg); OUStringBuffer aMsg1(sError); // replace argument placeholder with %s OUString aSrgStr( "$(ARG1)" ); diff --git a/basic/source/classes/sb.src b/basic/source/classes/sb.src deleted file mode 100644 index 634dcab034bd..000000000000 --- a/basic/source/classes/sb.src +++ /dev/null @@ -1,191 +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 <vcl/errcode.hxx> -#include <basic/sberrors.hxx> - -#include "sb.hrc" - -StringArray RID_BASIC_START -{ - ItemList [ en-US ] = - { - < "Syntax error." ; ERRCODE_BASIC_SYNTAX & ERRCODE_RES_MASK ; >; - < "Return without Gosub." ; ERRCODE_BASIC_NO_GOSUB & ERRCODE_RES_MASK ; >; - < "Incorrect entry; please retry." ; ERRCODE_BASIC_REDO_FROM_START & ERRCODE_RES_MASK ; >; - < "Invalid procedure call." ; ERRCODE_BASIC_BAD_ARGUMENT & ERRCODE_RES_MASK ; >; - < "Overflow." ; ERRCODE_BASIC_MATH_OVERFLOW & ERRCODE_RES_MASK ; >; - < "Not enough memory." ; ERRCODE_BASIC_NO_MEMORY & ERRCODE_RES_MASK ; >; - < "Array already dimensioned." ; ERRCODE_BASIC_ALREADY_DIM & ERRCODE_RES_MASK ; >; - < "Index out of defined range." ; ERRCODE_BASIC_OUT_OF_RANGE & ERRCODE_RES_MASK ; >; - < "Duplicate definition." ; ERRCODE_BASIC_DUPLICATE_DEF & ERRCODE_RES_MASK ; >; - < "Division by zero." ; ERRCODE_BASIC_ZERODIV & ERRCODE_RES_MASK ; >; - < "Variable not defined." ; ERRCODE_BASIC_VAR_UNDEFINED & ERRCODE_RES_MASK ; >; - < "Data type mismatch." ; ERRCODE_BASIC_CONVERSION & ERRCODE_RES_MASK ; >; - < "Invalid parameter." ; ERRCODE_BASIC_BAD_PARAMETER & ERRCODE_RES_MASK ; >; - < "Process interrupted by user." ; ERRCODE_BASIC_USER_ABORT & ERRCODE_RES_MASK ; >; - < "Resume without error." ; ERRCODE_BASIC_BAD_RESUME & ERRCODE_RES_MASK ; >; - < "Not enough stack memory." ; ERRCODE_BASIC_STACK_OVERFLOW & ERRCODE_RES_MASK ; >; - < "Sub-procedure or function procedure not defined." ; ERRCODE_BASIC_PROC_UNDEFINED & ERRCODE_RES_MASK ; >; - < "Error loading DLL file." ; ERRCODE_BASIC_BAD_DLL_LOAD & ERRCODE_RES_MASK ; >; - < "Wrong DLL call convention." ; ERRCODE_BASIC_BAD_DLL_CALL & ERRCODE_RES_MASK ; >; - < "Internal error $(ARG1)." ; ERRCODE_BASIC_INTERNAL_ERROR & ERRCODE_RES_MASK ; >; - < "Invalid file name or file number." ; ERRCODE_BASIC_BAD_CHANNEL & ERRCODE_RES_MASK ; >; - < "File not found." ; ERRCODE_BASIC_FILE_NOT_FOUND & ERRCODE_RES_MASK ; >; - < "Incorrect file mode." ; ERRCODE_BASIC_BAD_FILE_MODE & ERRCODE_RES_MASK ; >; - < "File already open." ; ERRCODE_BASIC_FILE_ALREADY_OPEN & ERRCODE_RES_MASK ; >; - < "Device I/O error." ; ERRCODE_BASIC_IO_ERROR & ERRCODE_RES_MASK ; >; - < "File already exists." ; ERRCODE_BASIC_FILE_EXISTS & ERRCODE_RES_MASK ; >; - < "Incorrect record length." ; ERRCODE_BASIC_BAD_RECORD_LENGTH & ERRCODE_RES_MASK ; >; - < "Disk or hard drive full." ; ERRCODE_BASIC_DISK_FULL & ERRCODE_RES_MASK ; >; - < "Reading exceeds EOF." ; ERRCODE_BASIC_READ_PAST_EOF & ERRCODE_RES_MASK ; >; - < "Incorrect record number." ; ERRCODE_BASIC_BAD_RECORD_NUMBER & ERRCODE_RES_MASK ; >; - < "Too many files." ; ERRCODE_BASIC_TOO_MANY_FILES & ERRCODE_RES_MASK ; >; - < "Device not available." ; ERRCODE_BASIC_NO_DEVICE & ERRCODE_RES_MASK ; >; - < "Access denied." ; ERRCODE_BASIC_ACCESS_DENIED & ERRCODE_RES_MASK ; >; - < "Disk not ready." ; ERRCODE_BASIC_NOT_READY & ERRCODE_RES_MASK ; >; - < "Not implemented." ; ERRCODE_BASIC_NOT_IMPLEMENTED & ERRCODE_RES_MASK ; >; - < "Renaming on different drives impossible." ; ERRCODE_BASIC_DIFFERENT_DRIVE & ERRCODE_RES_MASK ; >; - < "Path/File access error." ; ERRCODE_BASIC_ACCESS_ERROR & ERRCODE_RES_MASK ; >; - < "Path not found." ; ERRCODE_BASIC_PATH_NOT_FOUND & ERRCODE_RES_MASK ; >; - < "Object variable not set." ; ERRCODE_BASIC_NO_OBJECT & ERRCODE_RES_MASK ; >; - < "Invalid string pattern." ; ERRCODE_BASIC_BAD_PATTERN & ERRCODE_RES_MASK ; >; - < "Use of zero not permitted." ; ERRCODE_BASIC_IS_NULL & ERRCODE_RES_MASK ; >; - < "DDE Error." ; ERRCODE_BASIC_DDE_ERROR & ERRCODE_RES_MASK ; >; - < "Awaiting response to DDE connection." ; ERRCODE_BASIC_DDE_WAITINGACK & ERRCODE_RES_MASK ; >; - < "No DDE channels available." ; ERRCODE_BASIC_DDE_OUTOFCHANNELS & ERRCODE_RES_MASK ; >; - < "No application responded to DDE connect initiation." ; ERRCODE_BASIC_DDE_NO_RESPONSE & ERRCODE_RES_MASK ; >; - < "Too many applications responded to DDE connect initiation." ; ERRCODE_BASIC_DDE_MULT_RESPONSES & ERRCODE_RES_MASK ; >; - < "DDE channel locked." ; ERRCODE_BASIC_DDE_CHANNEL_LOCKED & ERRCODE_RES_MASK ; >; - < "External application cannot execute DDE operation." ; ERRCODE_BASIC_DDE_NOTPROCESSED & ERRCODE_RES_MASK ; >; - < "Timeout while waiting for DDE response." ; ERRCODE_BASIC_DDE_TIMEOUT & ERRCODE_RES_MASK ; >; - < "User pressed ESCAPE during DDE operation." ; ERRCODE_BASIC_DDE_USER_INTERRUPT & ERRCODE_RES_MASK ; >; - < "External application busy." ; ERRCODE_BASIC_DDE_BUSY & ERRCODE_RES_MASK ; >; - < "DDE operation without data." ; ERRCODE_BASIC_DDE_NO_DATA & ERRCODE_RES_MASK ; >; - < "Data are in wrong format." ; ERRCODE_BASIC_DDE_WRONG_DATA_FORMAT & ERRCODE_RES_MASK ; >; - < "External application has been terminated." ; ERRCODE_BASIC_DDE_PARTNER_QUIT & ERRCODE_RES_MASK ; >; - < "DDE connection interrupted or modified." ; ERRCODE_BASIC_DDE_CONV_CLOSED & ERRCODE_RES_MASK ; >; - < "DDE method invoked with no channel open." ; ERRCODE_BASIC_DDE_NO_CHANNEL & ERRCODE_RES_MASK ; >; - < "Invalid DDE link format." ; ERRCODE_BASIC_DDE_INVALID_LINK & ERRCODE_RES_MASK ; >; - < "DDE message has been lost." ; ERRCODE_BASIC_DDE_QUEUE_OVERFLOW & ERRCODE_RES_MASK ; >; - < "Paste link already performed." ; ERRCODE_BASIC_DDE_LINK_ALREADY_EST & ERRCODE_RES_MASK ; >; - < "Link mode cannot be set due to invalid link topic." ; ERRCODE_BASIC_DDE_LINK_INV_TOPIC & ERRCODE_RES_MASK ; >; - < "DDE requires the DDEML.DLL file." ; ERRCODE_BASIC_DDE_DLL_NOT_FOUND & ERRCODE_RES_MASK ; >; - < "Module cannot be loaded; invalid format." ; ERRCODE_BASIC_CANNOT_LOAD & ERRCODE_RES_MASK ; >; - < "Invalid object index." ; ERRCODE_BASIC_BAD_INDEX & ERRCODE_RES_MASK ; >; - < "Object is not available." ; ERRCODE_BASIC_NO_ACTIVE_OBJECT & ERRCODE_RES_MASK ; >; - < "Incorrect property value." ; ERRCODE_BASIC_BAD_PROP_VALUE & ERRCODE_RES_MASK ; >; - < "This property is read-only." ; ERRCODE_BASIC_PROP_READONLY & ERRCODE_RES_MASK ; >; - < "This property is write only." ; ERRCODE_BASIC_PROP_WRITEONLY & ERRCODE_RES_MASK ; >; - < "Invalid object reference." ; ERRCODE_BASIC_INVALID_OBJECT & ERRCODE_RES_MASK ; >; - < "Property or method not found: $(ARG1)." ; ERRCODE_BASIC_NO_METHOD & ERRCODE_RES_MASK ; >; - < "Object required." ; ERRCODE_BASIC_NEEDS_OBJECT & ERRCODE_RES_MASK ; >; - < "Invalid use of an object." ; ERRCODE_BASIC_INVALID_USAGE_OBJECT & ERRCODE_RES_MASK ; >; - < "OLE Automation is not supported by this object." ; ERRCODE_BASIC_NO_OLE & ERRCODE_RES_MASK ; >; - < "This property or method is not supported by the object." ; ERRCODE_BASIC_BAD_METHOD & ERRCODE_RES_MASK ; >; - < "OLE Automation Error." ; ERRCODE_BASIC_OLE_ERROR & ERRCODE_RES_MASK ; >; - < "This action is not supported by given object." ; ERRCODE_BASIC_BAD_ACTION & ERRCODE_RES_MASK ; >; - < "Named arguments are not supported by given object." ; ERRCODE_BASIC_NO_NAMED_ARGS & ERRCODE_RES_MASK ; >; - < "The current locale setting is not supported by the given object." ; ERRCODE_BASIC_BAD_LOCALE & ERRCODE_RES_MASK ; >; - < "Named argument not found." ; ERRCODE_BASIC_NAMED_NOT_FOUND & ERRCODE_RES_MASK ; >; - < "Argument is not optional." ; ERRCODE_BASIC_NOT_OPTIONAL & ERRCODE_RES_MASK ; >; - < "Invalid number of arguments." ; ERRCODE_BASIC_WRONG_ARGS & ERRCODE_RES_MASK ; >; - < "Object is not a list." ; ERRCODE_BASIC_NOT_A_COLL & ERRCODE_RES_MASK ; >; - < "Invalid ordinal number." ; ERRCODE_BASIC_BAD_ORDINAL & ERRCODE_RES_MASK ; >; - < "Specified DLL function not found." ; ERRCODE_BASIC_DLLPROC_NOT_FOUND & ERRCODE_RES_MASK ; >; - < "Invalid clipboard format." ; ERRCODE_BASIC_BAD_CLIPBD_FORMAT & ERRCODE_RES_MASK ; >; - < "Object does not have this property." ; ERRCODE_BASIC_PROPERTY_NOT_FOUND & ERRCODE_RES_MASK ; >; - < "Object does not have this method." ; ERRCODE_BASIC_METHOD_NOT_FOUND & ERRCODE_RES_MASK ; >; - < "Required argument lacking." ; ERRCODE_BASIC_ARG_MISSING & ERRCODE_RES_MASK ; >; - < "Invalid number of arguments." ; ERRCODE_BASIC_BAD_NUMBER_OF_ARGS & ERRCODE_RES_MASK ; >; - < "Error executing a method." ; ERRCODE_BASIC_METHOD_FAILED & ERRCODE_RES_MASK ; >; - < "Unable to set property." ; ERRCODE_BASIC_SETPROP_FAILED & ERRCODE_RES_MASK ; >; - < "Unable to determine property." ; ERRCODE_BASIC_GETPROP_FAILED & ERRCODE_RES_MASK ; >; - // Compiler errors. These are not runtime errors. - < "Unexpected symbol: $(ARG1)." ; ERRCODE_BASIC_UNEXPECTED & ERRCODE_RES_MASK ; >; - < "Expected: $(ARG1)." ; ERRCODE_BASIC_EXPECTED & ERRCODE_RES_MASK ; >; - < "Symbol expected." ; ERRCODE_BASIC_SYMBOL_EXPECTED & ERRCODE_RES_MASK ; >; - < "Variable expected." ; ERRCODE_BASIC_VAR_EXPECTED & ERRCODE_RES_MASK ; >; - < "Label expected." ; ERRCODE_BASIC_LABEL_EXPECTED & ERRCODE_RES_MASK ; >; - < "Value cannot be applied." ; ERRCODE_BASIC_LVALUE_EXPECTED & ERRCODE_RES_MASK ; >; - < "Variable $(ARG1) already defined." ; ERRCODE_BASIC_VAR_DEFINED & ERRCODE_RES_MASK ; >; - < "Sub procedure or function procedure $(ARG1) already defined." ; ERRCODE_BASIC_PROC_DEFINED & ERRCODE_RES_MASK ; >; - < "Label $(ARG1) already defined." ; ERRCODE_BASIC_LABEL_DEFINED & ERRCODE_RES_MASK ; >; - < "Variable $(ARG1) not found." ; ERRCODE_BASIC_UNDEF_VAR & ERRCODE_RES_MASK ; >; - < "Array or procedure $(ARG1) not found." ; ERRCODE_BASIC_UNDEF_ARRAY & ERRCODE_RES_MASK ; >; - < "Procedure $(ARG1) not found." ; ERRCODE_BASIC_UNDEF_PROC & ERRCODE_RES_MASK ; >; - < "Label $(ARG1) undefined." ; ERRCODE_BASIC_UNDEF_LABEL & ERRCODE_RES_MASK ; >; - < "Unknown data type $(ARG1)." ; ERRCODE_BASIC_UNDEF_TYPE & ERRCODE_RES_MASK ; >; - < "Exit $(ARG1) expected." ; ERRCODE_BASIC_BAD_EXIT & ERRCODE_RES_MASK ; >; - < "Statement block still open: $(ARG1) missing." ; ERRCODE_BASIC_BAD_BLOCK & ERRCODE_RES_MASK ; >; - < "Parentheses do not match." ; ERRCODE_BASIC_BAD_BRACKETS & ERRCODE_RES_MASK ; >; - < "Symbol $(ARG1) already defined differently." ; ERRCODE_BASIC_BAD_DECLARATION & ERRCODE_RES_MASK ; >; - < "Parameters do not correspond to procedure." ; ERRCODE_BASIC_BAD_PARAMETERS & ERRCODE_RES_MASK ; >; - < "Invalid character in number." ; ERRCODE_BASIC_BAD_CHAR_IN_NUMBER & ERRCODE_RES_MASK ; >; - < "Array must be dimensioned." ; ERRCODE_BASIC_MUST_HAVE_DIMS & ERRCODE_RES_MASK ; >; - < "Else/Endif without If." ; ERRCODE_BASIC_NO_IF & ERRCODE_RES_MASK ; >; - < "$(ARG1) not allowed within a procedure." ; ERRCODE_BASIC_NOT_IN_SUBR & ERRCODE_RES_MASK ; >; - < "$(ARG1) not allowed outside a procedure." ; ERRCODE_BASIC_NOT_IN_MAIN & ERRCODE_RES_MASK ; >; - < "Dimension specifications do not match." ; ERRCODE_BASIC_WRONG_DIMS & ERRCODE_RES_MASK ; >; - < "Unknown option: $(ARG1)." ; ERRCODE_BASIC_BAD_OPTION & ERRCODE_RES_MASK ; >; - < "Constant $(ARG1) redefined." ; ERRCODE_BASIC_CONSTANT_REDECLARED & ERRCODE_RES_MASK ; >; - < "Program too large." ; ERRCODE_BASIC_PROG_TOO_LARGE & ERRCODE_RES_MASK ; >; - < "Strings or arrays not permitted." ; ERRCODE_BASIC_NO_STRINGS_ARRAYS & ERRCODE_RES_MASK ; >; - < "An exception occurred $(ARG1)." ; ERRCODE_BASIC_EXCEPTION & ERRCODE_RES_MASK ; >; - < "This array is fixed or temporarily locked." ; ERRCODE_BASIC_ARRAY_FIX & ERRCODE_RES_MASK ; >; - < "Out of string space." ; ERRCODE_BASIC_STRING_OVERFLOW & ERRCODE_RES_MASK ; >; - < "Expression Too Complex." ; ERRCODE_BASIC_EXPR_TOO_COMPLEX & ERRCODE_RES_MASK ; >; - < "Can't perform requested operation." ; ERRCODE_BASIC_OPER_NOT_PERFORM & ERRCODE_RES_MASK ; >; - < "Too many DLL application clients." ; ERRCODE_BASIC_TOO_MANY_DLL & ERRCODE_RES_MASK ; >; - < "For loop not initialized." ; ERRCODE_BASIC_LOOP_NOT_INIT & ERRCODE_RES_MASK ; >; - < "$(ARG1)" ; ERRCODE_BASIC_COMPAT & ERRCODE_RES_MASK ; >; - }; -}; - - // Hinweis: IDS_SBERR_TERMINATED = IDS_SBERR_START+2000. -String IDS_SBERR_TERMINATED -{ - Text [ en-US ] = "The macro running has been interrupted" ; -}; -String ERRCODE_BASMGR_LIBLOAD & ERRCODE_RES_MASK -{ - Text [ en-US ] = "Error loading library '$(ARG1)'." ; -}; -String ERRCODE_BASMGR_LIBSAVE & ERRCODE_RES_MASK -{ - Text [ en-US ] = "Error saving library: '$(ARG1)'." ; -}; -String ERRCODE_BASMGR_MGROPEN & ERRCODE_RES_MASK -{ - Text [ en-US ] = "The BASIC from the file '$(ARG1)' could not be initialized." ; -}; -String ERRCODE_BASMGR_MGRSAVE & ERRCODE_RES_MASK -{ - Text [ en-US ] = "Error saving BASIC: '$(ARG1)'." ; -}; -String ERRCODE_BASMGR_REMOVELIB & ERRCODE_RES_MASK -{ - Text [ en-US ] = "Error removing library." ; -}; -String ERRCODE_BASMGR_UNLOADLIB & ERRCODE_RES_MASK -{ - Text [ en-US ] = "The library could not be removed from memory." ; -}; - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/basic/source/runtime/basrdll.cxx b/basic/source/runtime/basrdll.cxx index c9e4a153338d..e7f228060293 100644 --- a/basic/source/runtime/basrdll.cxx +++ b/basic/source/runtime/basrdll.cxx @@ -26,8 +26,8 @@ #include <basic/sbstar.hxx> #include <basic/basrdll.hxx> -#include <basrid.hxx> -#include <sb.hrc> +#include <tools/resmgr.hxx> +#include "strings.hrc" #include <sbxbase.hxx> struct BasicDLL::Impl @@ -35,13 +35,13 @@ struct BasicDLL::Impl bool bDebugMode; bool bBreakEnabled; - std::unique_ptr<ResMgr> xBasResMgr; + std::locale aBasResLocale; std::unique_ptr<SbxAppData> xSbxAppData; Impl() : bDebugMode(false) , bBreakEnabled(true) - , xBasResMgr(ResMgr::CreateResMgr("sb", Application::GetSettings().GetUILanguageTag())) + , aBasResLocale(Translate::Create("sb", Application::GetSettings().GetUILanguageTag())) , xSbxAppData(new SbxAppData) { } }; @@ -52,9 +52,9 @@ BasicDLL * BASIC_DLL; } -BasResId::BasResId( sal_uInt32 nId ) : - ResId( nId, *(BASIC_DLL->GetBasResMgr()) ) +OUString BasResId(const char* pId) { + return Translate::get(pId, BASIC_DLL->GetBasResLocale()); } BasicDLL::BasicDLL() @@ -67,7 +67,7 @@ BasicDLL::~BasicDLL() { } -ResMgr* BasicDLL::GetBasResMgr() const { return m_xImpl->xBasResMgr.get(); } +const std::locale& BasicDLL::GetBasResLocale() const { return m_xImpl->aBasResLocale; } void BasicDLL::EnableBreak( bool bEnable ) { diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx index f9f7d53597e3..56fa68c2aa52 100644 --- a/basic/source/runtime/methods.cxx +++ b/basic/source/runtime/methods.cxx @@ -72,9 +72,7 @@ using namespace com::sun::star::uno; #include "stdobj.hxx" #include "sbstdobj.hxx" #include "rtlproto.hxx" -#include "basrid.hxx" #include "image.hxx" -#include "sb.hrc" #include "iosys.hxx" #include "ddectrl.hxx" #include <sbintern.hxx> diff --git a/basic/source/runtime/runtime.cxx b/basic/source/runtime/runtime.cxx index 8f7342b84aee..5d9764fa7581 100644 --- a/basic/source/runtime/runtime.cxx +++ b/basic/source/runtime/runtime.cxx @@ -53,7 +53,6 @@ #include <basic/sbuno.hxx> -#include "basrid.hxx" #include "codegen.hxx" #include "comenumwrapper.hxx" #include "ddectrl.hxx" @@ -63,7 +62,6 @@ #include "iosys.hxx" #include "opcodes.hxx" #include "runtime.hxx" -#include "sb.hrc" #include "sb.hxx" #include "sbintern.hxx" #include "sbunoobj.hxx" diff --git a/basic/source/sbx/format.src b/basic/source/sbx/format.src deleted file mode 100644 index 432da3ffe2cd..000000000000 --- a/basic/source/sbx/format.src +++ /dev/null @@ -1,51 +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 <svtools/svtools.hrc> - -String STR_BASICKEY_FORMAT_ON -{ - Text [ en-US ] = "On" ; -}; -String STR_BASICKEY_FORMAT_OFF -{ - Text [ en-US ] = "Off" ; -}; -String STR_BASICKEY_FORMAT_TRUE -{ - Text [ en-US ] = "True" ; -}; -String STR_BASICKEY_FORMAT_FALSE -{ - Text [ en-US ] = "False" ; -}; -String STR_BASICKEY_FORMAT_YES -{ - Text [ en-US ] = "Yes" ; -}; -String STR_BASICKEY_FORMAT_NO -{ - Text [ en-US ] = "No" ; -}; -String STR_BASICKEY_FORMAT_CURRENCY -{ - Text [ en-US ] = "@0.00 $;@(0.00 $)" ; -}; - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/basic/source/sbx/sbxscan.cxx b/basic/source/sbx/sbxscan.cxx index eff6720951f5..8be89826439b 100644 --- a/basic/source/sbx/sbxscan.cxx +++ b/basic/source/sbx/sbxscan.cxx @@ -38,11 +38,10 @@ #include "sbxbase.hxx" #include <basic/sbxfac.hxx> #include <basic/sbxform.hxx> -#include <svtools/svtools.hrc> -#include "basrid.hxx" #include "date.hxx" #include "runtime.hxx" +#include "strings.hrc" #include <rtl/strbuf.hxx> #include <rtl/character.hxx> @@ -584,21 +583,16 @@ bool SbxValue::Scan( const OUString& rSrc, sal_uInt16* pLen ) namespace { -ResMgr& implGetResMgr() +const std::locale& implGetResLocale() { - static ResMgr* const pResMgr( ResMgr::CreateResMgr( - "sb", Application::GetSettings().GetUILanguageTag() )); - - return *pResMgr; + static std::locale loc(Translate::Create("sb", Application::GetSettings().GetUILanguageTag())); + return loc; } -class SbxValueFormatResId : public ResId +OUString SbxValueFormatResId(const char *pId) { -public: - explicit SbxValueFormatResId( sal_uInt32 nId ) - : ResId( nId, implGetResMgr() ) - {} -}; + return Translate::get(pId, implGetResLocale()); +} enum class VbaFormatType { |