Age | Commit message (Collapse) | Author |
|
The Calc service offers the possibility to export
a range, given as a string, to a file in several
different image formats.
Supported formats: pdf, jpeg, png.
Arguments:
- Range: a sheet name or a range of cells
- Filename: the file to export to in FileSystem notation
- ImageType: the expected output format
- Overwrite: True when the output file may be overwritten
New error message: RANGEEXPORTERROR
Error is introduced in po files.
The method is available both in Basic and Python user scripts.
Change-Id: Ibd297ec2da1b48fca3dee7d8e03bd2ee4815957a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130835
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
The FilterNames property returns, as an unsorted zero-based
array of strings, the list of available/installed import
and export filters for components.
The property can serve as support for the FilterName
argument used for opening and saving documents.
The FilterNames property is available both from Basic
and Python user scripts.
Change-Id: I607500b56836ceeb6716b10d39d22638b0741f3c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130624
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Actual arguments:
- FolderName: the folder containing the PO-files
- Locale: in the form la-CO (language-COUNTRY)
- Encoding: The character set that should be used
New arguments introduced by this commit:
- Locale2: fallback Locale to select if Locale po file does not exist
- Encoding2: Encoding of the 2nd Locale file
Both new arguments are optional => no regression on existing scripts
The arguments are available in Basic and Python equally.
They may be passed as keyworg arguments in Python only.
The default locale is now set to the "OfficeLocale",
which is the locale in the user interface.
NB: the distinction between SystemLocale and OfficeLocale
is new in version 7.4.
Change-Id: Ie3bc5d30193df35a8c6c1ec706e13eaea0050981
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130074
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
The ServiceName property is part of the standard
norm for ScriptForge services.
It is used only internally.
Its omission in SF_UI caused the tree in construction
for help files to contain wrong redirections.
Change-Id: I51f1966ef463fffe62c9495dbc2ea0c152fa9667
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130004
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
To allow object introspection and some help
files automatic generation (see Telegram discussions),
the possibility to make the list of properties
and methods used in Basic available in Python
has been requested.
These changes are for internal use only.
Main changes:
- the SFServices parent class receives new basicproperties()
and basicmethods() methods
- Basic PythonDispatcher() is adapted to provide the lists to
the Python caller
- Methods lists are reviewed in SFDocuments to NOT include
the methods implemented in the parent SF_Document class, to
avoid redundant entries in the list
Change-Id: I80758e225b039426b46f52dd67efe54c50f9f31e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129969
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
As from LO 7.3, optional missing arguments must not be used
in assignments and comparisons.
The Basic interpreter tolerated it before 7.3.
Probable commit having changed Basic behaviour:
https://gerrit.libreoffice.org/c/core/+/121794
A unique case of this singularity was found in the
SF_Utils._Repr()
method.
The bad consequence was that the commonly used
SF_Exception.DebugPrint()
method calls above method. This broke in fact
the whole ScriptForge library.
Change-Id: Iba8792b92c73c992429de4382bd8a3dc4b58a94f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129728
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: I50e8988c320c0068f7adf4a3429d7639df0cbcd1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129596
Tested-by: Jenkins
Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net>
|
|
New properties and methods
--------------------------
SF_Platform.Extensions : (property)
provide a list of the installed extensions
as an array of strings
SF_FileSystem.ExtensionFolder(Extension as string) : (method)
provides the location in FileNaming notation of the
folder where the given extension is installed
The SF_FileSystem.ExtensionsFolder (notice the additional "s")
is kept as a property providing the folder containing the
extensions installed by the user.
All methods and properties are available with an identical
syntax and semantics both from Basic and Python scripts.
The difference between a propert or a method is
irrelevant for Basic but is essential in Python:
a property must not have brackets, a method must have them.
Hence the distinction between
ExtensionFolder being a method requiring an argument
ExtensionsFolder being a property without argument
Change-Id: Idd18a5624f4abd84095d146e467e8fdcf497bd0d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129572
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Functionally SF_UI groups methods impacting the
user interface, while the Session service groups general-purpose
actions.
The RunCommand() method (newly introduced in 7.4) simulates
menu commands applied on the active window.
RunCommand() fits better in the UI service.
It is removed from SF_Session.
Change-Id: Ia72150efea2f50de13d15a4c1f5fea79777d1760
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129453
Tested-by: Jenkins
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
When sheet name contains
- a leading $
- surrounding single quotes
an error message was errorneously displayed to the user.
Corrected in the SF_Calc._ParseAddress() function
Change-Id: I8abd4908a4c92bd6e569b95be58ab21e16ffc169
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129408
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
So far, only SF_Platform.Locale was supported, returning
the locale of the operating system.
Now, 3 different locales may be considered:
- SystemLocale: identical to Locale (still supported)
- OfficeLocale: the locale associated with the LibreOffice
installation
- FormatLocale: the locale associated with how numbers and
dates are formatted.
Of course, in many cases all locales are identical. Anyway
a distinction can be made.
All these properties are read-only.
Those properties are supported in Basic and Python evenly.
Change-Id: I0792d49a052b1441a30ac231d61eda997dc4216a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129297
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
When ScriptForge detects an error in a user script,
a message box is displayed with a summary of the
syntax and validation rules the invoked method
should respect, and/or any other reason the library
has identified.
Now the error message is completed with
- the sentence "Do you want to receive more information
about the '%1' method ?"
- 2 buttons Yes/No (No being the default)
When the Yes button is pressed the local browser opens
the help page/anchor of the invoked service/method.
The pot template and the english po files are modified.
There is no difference between Basic and Python in this
matter.
Change-Id: Ie6210b9d108c9a1e98a46173504680e3985125b0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129232
Tested-by: Jenkins
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: I472190c743dd26e88e3400f323ab52fa05c187d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129215
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
Next wiki page
https://wiki.documentfoundation.org/Development/DispatchCommands
facilitates the use of commands with the
DispatchHelper service, including with arguments
This commit
- adds the RunCommand() method in the Session service
- extends the scope of existing RunCommand() methods
for the Document, Base, Calc and Writer services
with the addition of command arguments
Syntax by examples:
(Basic)
session.RunCommand("BasicIDEAppear", _
"Document", "LibreOffice Macros & Dialogs", _
"LibName", "ScriptForge", _
"Name", "SF_Session", _
"Line", 100)
(Python) (1)
session.RunCommand("BasicIDEAppear",
"Document", "LibreOffice Macros & Dialogs",
"LibName", "ScriptForge",
"Name", "SF_Session",
"Line", 100)
(Python) (2)
session.RunCommand("BasicIDEAppear",
Document = "LibreOffice Macros & Dialogs",
LibName = "ScriptForge",
Name = "SF_Session",
Line = 100)
Change-Id: I60cd5eb1ed0a057420215ce7aebe92b2aafabd53
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129175
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: I136d292cd535d4208457ef91a7773fc7ac00d5c8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127716
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
|
|
Read Mike Kaganski's comment in
https://gerrit.libreoffice.org/c/core/+/9303
Change-Id: I8d89d9dd93dd6c31438418847d4073568baf11f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127312
Tested-by: Jenkins
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
...instead of by listing the content somewhat redundantly in the Rdb_*.mk
files, to avoid duplication of logic for components that are only built
conditionally (and thus should only be included conditionally in the
corresponding Rdb). To achieve that, add an "rdb" parameter to
gb_ComponentTarget_ComponentTarget (and to the gb_*_set_componentfile macros
that internally call gb_ComponentTarget_ComponentTarget), which is used to make
the appropriate gb_Rdb_add_component call internally from within
gb_ComponentTarget_ComponentTarget. (As a special case,
gb_CppunitTest_set_componentfile shall not call gb_Rdb_add_component, as that
has already been done by the corresponding gb_Library_set_componentfile call, so
allow the gb_ComponentTarget_ComponentTarget "rdb" parameter to be empty to
support that special case.)
Most Rdb_*.mk files are thus mostly empty now. One exception is
i18npool/Rdb_saxparser.mk, which duplicates some of the Rdb_services content as
needed during the build in CustomTarget_i18npool/localedata.
1c9a40299d328c78c035ca63ccdf22c5c669a03b "gbuild: create services.rdb from built
components" had already tried to do something similar (in addition to other
things) under a new --enable-services-rdb-from-build option. However, that
approach had four drawbacks that this approach here addresses (and which thus
partly reverts 1c9a40299d328c78c035ca63ccdf22c5c669a03b):
1 Rdb_services shall not contain the component files of all libraries that are
built. While that commit filtered out the component files that go into
Rdb_ure/services (ure/Rdb_ure.mk), it failed to filter out the component files
that go into others like Rdb_postgresql-sdbc
(connectivity/Rdb_postgresql-sdbc.mk).
2 The code added by that commit to Makefile.gbuild codified the knowledge that
there is an Rdb_services, which is brittle.
3 The code added by that commit to solenv/gbuild/Rdb.mk codified the knowledge
(for gb_Rdb__URECOMPONENTS) that there is an Rdb_ure/services, which is brittle.
4 Introducing an --enable-services-rdb-from-build option needlessly provided
two different ways how the content of Rdb_services is assembled.
The changes done here would leave --enable-services-rdb-from-build as a
misnomer, as it no longer controls how Rdb_services is assembled. I thus
renamed it to --enable-customtarget-components, as that is apparently what it
still does now.
Change-Id: Ia5e8df4b640146c77421fcec6daa11a9cd260265
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126577
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I2ba326faa47531c1d7c71ac05a8dd211cebac199
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126513
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
... ever since commit 0aa1eda1a2af438d7061ba2a6d53866141f5fda6
author Behrend Cornelius <bc@openoffice.org> Fri May 04 14:15:30 2001 +0000
## several changes
Change-Id: I97a761919b3f3faabc87b1804ef10a231ad1df96
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126512
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
The vaste majority of language codes are 2 characters long.
However it is not the norm.
A length of 3 is admitted for less spread languages
Change-Id: Iabdf6a6cf453169419d0a4a7a3ab6ea80ae4753e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126531
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: I16d59aa3a3f17764a848428a2e6b206dc57a480a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126325
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Display a menu in the menubar of a document (form document to be done)
After use, the menu will not be saved neither in the application settings,
nor in the document. The menu setting does not affect the modified status of the
document.
The menu will be displayed, as usual, when its header in the menubar is clicked.
When one of its items is selected, there are 3 alternative options:
- a UNO command (like ".uno:About") is triggered
- a user script is run receiving a standard argument defined in this service
- one of above combined with a toggle of the status of the item
The menu is described from top to bottom.
Each menu item receives a numeric and a string identifier.
Each menu item may be decorated with a tooltip and/or an icon.
The AddItem(), AddCheckBox() and AddRadioButton() methods, when
coompared with their equivalents in the SF_PopupMenu service,
receive 2 additional arguments: Command and Script.
The various document services receive 2 additional methods:
CreateMenu(), returning a Menu service instance
RemoveMenu()
Very short example:
menu = doc.CreateMenu("My menu", Before := "Help")
menu.AddItem("First Item", Command := "About")
menu.AddItem('2nd Item", Script := "... URI notation ...")
menu.Dispose() ' Once set the menu object may ve erased, listeners stay tuned
Later in the lifecycle of the document, one may run:
doc.RemoveMenu("My menu") ' doc.RemoveMenu("File") works as well !!!
All the functionalities are available both in Basic and Python user scripts.
Change-Id: Iabd157573693e9648fcb06d36c90af9a22b17a6c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126309
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Example:
oCalc.ShiftDown("A10:D15", , -1)
gives an "Objectvariable not set" Basic runtime error.
Fixed by replacing 4x '= 0' by '<= 0' test in If statements checking
the argument value.
Change-Id: I272112a1addd303b7b38d3d9eb2ef73034e28727
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125939
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
So far it returned the LO locale.
Discussed on Telegram
Change-Id: I2cf66ca3acebe695354de9185e0698ffa4d8cf05
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125820
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: Idd21ee0026d8a36653f0fb25b350dae37315f603
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125336
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
The method activates the Calc document, opens a non-modal dialog
with a text box, let the user make a selection in the current
or another sheet and returns the selected area as a string.
This method does not change the current selection.
Arguments:
Title: the title to display on the top of the dialog
Selection: a default preselection as a String.
When absent, the first element of the current selection is preselected.
SingleCell: When True, only a single cell may be selected. Default = False
CloseAfterSelect: When True (default-, the dialog is closed immediately
after the selection. When False, the user may change his/her mind
and must close the dialog manually.
Returns:
The selected range as a string, or the empty string
when the user cancelled the request (close window button)
Example:
Dim sSelect As String, vValues As Variant
sSelect = oDoc.OpenRangeSelector("Select a range ...")
If sSelect = "" Then Exit Function
vValues = oDoc.GetValue(sSelect)
The implementation requires a new module: SF_DocumentListener.xba
The method is available for Basic and Python user scripts.
Change-Id: I2d67a9c900ea8ac661cd6b6fb43bb4a34e6abd8e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125201
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Returns the input string after substitution of its tokens by
their values in the given range
This method is usually used in combination with SetFormula()
The accepted tokens are:
- %S The sheet name containing the range,
including single quotes when necessary
- %R1 The row number of the top-left part of the range
- %C1 The column letter of the top-left part of the range
- %R2 The row number of the bottom-right part of the range
- %C2 The column letter of the bottom-right part of the range
The default token character (%) may be modified.
The method is available both for Basic and Python user scripts
Change-Id: If9c3a042abf22ba760d1410b105b04716d092418
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125044
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Invoking the service without an event object was supposed to work.
For instance:
Dim myPopup As Object
Set myPopup = CreateScriptService("PopupMenu", , 300, 300)
This would create the PopupMenu in position (300, 300)
without an event object... however this does not work.
Getting an error saying that "Event is EMPTY"
=> Add an IsEmpty() test.
Change-Id: I86a1baf83264921088facbd35bf8fa299a5aa132
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125005
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
The methods
FirstCell
FirstColumn
FirstRow
LastCell
LastColumn
LastRow
SheetName
accept uniformly either a sheet name or a range name.
They return a single cell as an absolute address (First/LastCell),
a String (SheetName) or a Long.
The range name is to be understood as the extended notation for ranges.
FirstCell/Column/Row accept sheet names. However they will then always return
either the "A1" cell or the value 1.
The LastCell/Column/Row return the real last xxx for ranges, and
the last USED xxx when the argument is a sheet.
The A1Style() method surrounds from now on sheet names
with single quotes only when necessary.
The GetRangeAddress() method has been dropped as redundant with the actual
methods. (Was new in 7.3 => no effect on upward compatibiity)
Change-Id: Iff1ce437ee27dfb8481361f648b3f7a33ae2c4b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124904
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Implementation to improve performance of a simple
cache of the last already parsed range.
The address is reused when the sheet name is explicit and that
the range to parse, as a string, is identical to the
previous parsing request.
Change-Id: I0137689e9697686e76e07e037129983baba6ecfb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124711
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
To have checkboxes displayed correctly in KDE, it is necessary
to use
com.sun.star.awt.MenuItemStyle.CHECKABLE
instead.
No regression in behaviour observed so far in other environments.
Change-Id: If15b2ff597f1cdffe2df65fe2352ffef0f770cb4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124639
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change the variable name: var2file to gb_var2file
Change-Id: Ib7d64b76cfe10e6c2df1a176674a360b28704070
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124666
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Change-Id: Ida6978ed843615504fac7ce0a0a6a08a66f10367
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124320
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
The GetRangeAddress() method accepts 2 arguments:
GetRangeAddress(Range, AddressItem)
- a range as a string, to be understood as the extended definition
described in the help pages
- the item to be extracted from the given range, either:
firstrow
firstcol
lastrow
lastcol
sheet
The returned value is either:
- a Long
- a String when sheet is requested
- an array of all these values when no item is given
The method is available for both Basic and Python user scripts
Change-Id: I6156b176e29cf47207a079d10552443467dd2f6d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124551
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
ShiftRight()/ShiftDown() insert empty cells at the left/on the top of
a given range and move all cells at the right/bottom of the range
accordingly.
They are similar to the Insert Cells ... menu commands
ShiftLeft()/ShiftUp() delete cells at the left/top of a given
range and move all cells at the right/below the range
accordingly.
They are similar to the Delete Cells ... menu commands
The insertion/deletion may be done for a whole column/row.
The number of columns/rows to insert/delete may be chosen.
All methods are available in Basic and Python user scripts.
Change-Id: I14555a3966c26054925dd71b0696f3dfc773fc21
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124530
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: I8acccd3036c8a08d6fd52b64623f2c9ab3ded5ff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124323
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
The XSheetCellCursor property requires one mandatory argument,
a range as a string.
It returns a UNO object of type com.sun.star.sheet.XSheetCellCursor.
Such an object is designed to navigate thru the spreadsheet.
After the user script has used one or more navigation verbs
(gotoNext(), ...) the resulting range can be got back in the
script by using the cursor.AbsoluteName UNO property.
The new range can be given as input to further ScriptForge
methods.
XSheetCellCursor is available both from Basic and Python user scripts.
Change-Id: I62fb18a6f496d81b01036aef2ca6733f07632d9d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124280
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
The Region() property expects one mandatory argument,
a range given as a string.
It returns a new range as a string, including the sheet name,
corresponding with the smallest area
- containing the input range
- completely surrounded with empty cells
It is complementary to Offset() and A1Style() to make easy the
definition of new ranges relative to known ranges
The property is available both in Basic and Python user scripts.
Change-Id: Ifc9ce07b76e72fe580baf2c8103387cab56a6ef0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124230
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Returns a range expressed in A1-style as defined by its coordinates
If only one pair of coordinates is given, the range will embrace only a single cell
Arguments:
Row1 : the row number of the first coordinate
Column1 : the column number of the first coordinates
Row2 : optional, the row number of the second coordinate
Column2 : optional, the column number of the second coordinates
SheetName: Default = the current sheet. If present, the sheet must exist
Is complementary to the Offset() method to compute ranges easily
Available both from Basic and Python user scripts
Change-Id: Ib9323441bbd579beb867329c8b0930653462d00e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124093
Tested-by: Jenkins
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: I66712db3b74e45728e3104c24823a962fd498037
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123677
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I101231dc8daa99254a086bd635817e20c23a8ff4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123679
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
The SFWidgets library is intended to host the Toolbar,
ToolbarControl (both future) and PopupMenu services.
A popup menu is usually triggered by a mouse action
(typically a right-click) on a dialog, a form, or one of their controls.
In these cases the menu will be displayed below the clicked area.
When triggered by other events, including in the normal flow
of a user script, the script should provide the coordinates
of the topleft edge of the menu versus the actual component.
The menu is described from top to bottom with next methods:
AddItem()
AddCheckBox()
AddRadioButton()
Example:
.AddCheckBox("View>Toolbars>Dialog")
.AddCheckBox("View>Toolbars>Find", Status := True)
.AddCheckBox("View>Status Bar", Status := True)
.AddItem("View>Full Screen", Name := "FULLSCREEN")
The SubmenuCharacter (Default = ">") is modifiable.
Each menu item receives a numeric and a string identifier.
The execute() method returns the item selected by the user.
The service is available both from Basic and Python user scripts.
The commit includes the review of build files to include
the new library and the new modules.
Change-Id: I2940be25313cc8fff7b337766edd348b04a20584
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123654
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Tests have proven that the use of a case sensitive search
on long strings improves significantly the execution
performance.
The number of fonts being potentially huge (2-3K), the change
in the InStr() Basic function of the Compare argument
can divide the execution duration by factors in the range > 5.
Change-Id: I248ff88cd2cb5a2753e7749f8d512ad44b5fc8d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122979
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: I7e7efdf6331f36c59d4632758492bcd342db70d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122965
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
|
|
The Fonts property returns the list of available fonts
as an unsorted array of unique font names
The size of the array being potentially huge, the choice
has been made to not sort the list at each invocation
of the property.
To get it sorted, use the SF_Array.Sort() method.
The property is available both from Basic and Python scripts.
It is read-only.
Change-Id: I49233d279dc7257d3b97e5a17be0bc8807f18d67
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122780
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: Ib811f39fea5c0e78405f805f6c278b4b529b17d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121964
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Ic3793bd77a7db52e59797cc6b2153850b1cec42e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121737
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
The objective is to facilitate the automatic translation of
all fixed texts in dialogs and dialog controls.
Concerned items are:
- the title of the dialog
- the caption associated with next control types:
Button, CheckBox, FixedLine, FixedText, GroupBox and RadioButton
- the content of list- and comboboxes
- the tip- or helptext displayed when the mouse is hovering the
control
ScriptForge.SF_L10N.AddTextsFromDialog(dialog)
store all fixed texts of the dialog in the list of translatable
strings of a L10N object to prepare a POT file
SFDialogs.Dialog.GetTextsFromL10N(l10n)
get the translated versions of all fixed texts in the dialog from
a L10N object and apply them on the dialog before display
Both methods are executable from Basic and Python user scripts
Change-Id: I3dc9fbbce287d7af4040df713f9d11e0ff928b1c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121514
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: Ie4e2ef5a884b51250863d3384d5e703232f31258
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121179
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
With the method SetTableData(), feed a tablecontrol
with a sortable and selectable array of data.
Columns and rows may receive a header.
Column widths are adjusted manually by the user or
with the same method.
Alignments can be set as well by script.
oControl.SetTableData(DataArray, Widths, Alignments)
DataArray: the set of data to display in the table control,
including optional column/row headers
Is a 2D array in Basic, is a tuple of tuples inPython
Widths: the column's relative widths as a 1D array,
each element corresponding with a column.
If the array is shorter than the number of columns,
the last value is kept for the next columns.
Example:
Widths := Array(1, 2)
means that the first column is half as wide as all
the other columns.
When the argument is absent, the columns are evenly
spreaded over the control.
Alignments: the column's horizontal alignment as a string
with length = number of columns.
Possible characters are:
L(EFT), C(ENTER), R(IGHT) or space (default behaviour)
Default: LEFT for strings, RIGHT for numbers
Impact on existing properties: ListIndex, Value
New properties: XGridColumnModel, XGridDataModel
All properties and methods are available from user
scripts written either in Basic or in Python.
Change-Id: I70582cd0ba48ee3b9b9a292d8a47dbc1229b1fe6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121148
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|