Age | Commit message (Collapse) | Author |
|
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>
|
|
Next methods are introduced in SF_Session:
- GetPDFExportOptions to extract a dictionary of the
40+ existing options for PDF export
- SetPDFExportOptions to update the existing options
When applied the options are permanent also for user manual exports
Those methods are not available in Python.
Next method to export a document to PDF:
- ExportAsPDF: it uses the options set above and/or takes
next specific and transitional options:
pages, password, watermark
This method is implemented for use from Basic and Python
Change-Id: Ic5c4190cff579e62137930f422638aad98e61a16
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120740
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: I0ceb5910fec2dfd4ef5d360b47ae4e147eabec35
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119931
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
|
|
Change-Id: Ie4809d5367d15dc155033db034d86aaa75cb5abe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119932
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
New methods in the SF_Calc service:
Charts(), to list charts or to instantiate a chart service
CreateChart, to create a new chart in a given Calc sheet
The SF_Chart service has next properties to parameter the type
and the characteristics of the (new or pre-existing) chart
ChartType, Deep, Dim3d, Exploded, Filled, Legend, Percent, Stacked,
Title, XTitle, YTitle
Next methods are available:
Resize, to move and resize the chart shape
ExportToFile, to export the chart as a graphical object
Supported: gif, jpeg, png, svg and tiff
New error messages in SF_Root and SF_Exception.
Corresponding labels are integrated in the POT file
Full support under Basic and Python
Review of make file of the SFDocuments library
Change-Id: Id8db3098ff24fbf2efcbdd9c6dcd4f02ff5972af
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119824
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: Iac45dca972c294ed3772bcdcd0b3f05484ce912a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119418
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
For Python scripts only:
the CreateScriptService() method accepts now both positional
(as before) and keyword arguments.
The impacted services are:
- l10n
- timer
Done with the ReviewServiceArgs() class method that returns the
input arguments as a tuple in the correct sequence. This method
is inserted in each of the impacted service definitions.
Implied a review of the creation of the L10N service to
replace absent arguments by zero-length default arguments
Change-Id: I3cc3b98847a395a2fd9f5e5bb15f45b398858b12
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119359
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
The closure of a form document is available from
the SF_Form service.
A form document is since recent commits associated with
actions like PrintOut() that do not require to access
its internal forms.
As a consequence, the closure of a form document from
the SF_Base service gains in relevance.
Hence the actual commit.
Change-Id: I9d4af078e6631d18c2d92c17249be6025ac9dfdd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118857
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Return value should be True when successful.
Was erroneously False.
Minor bug. No correction in 7.1 and 7.2
Change-Id: I71040f2ba8fec80297428b0ca317e9d67c79a25e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118815
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
The PrintOut() method launches the printing of a
LO document to a printer previously defined by default,
by the user or by the SetPrinter() method.
It is applicable on any document, on a Calc sheet, a Base form
document. For a Writer document specific arguments may
be provided.
Implemented both for Basic and Python user scripts.
Change-Id: I51ce897b66d3e5624cec97a46e5eb28d9132357a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118786
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
The SetPrinter() method is applicable to any document type,
except Base documents.
It is also applicable to Base form documents with an
additional "FormDocument" argument.
Implemented in Basic and in Python.
The method defines next printer settings:
- the printer name
- the orientation
- the paper format
The settings are kept per document or form document
To bypass array management troubles in Basic,
the SF_Utils._SetPropertyValue() Sub is converted to a Function.
(no user scripts impact, only internal use).
Change-Id: I39290d924646ff3b2a65a6d9282f1265ca7543b7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118685
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
The Forms() method was placed in the SF_Document service
but was applicable only on Writer documents
Now it is placed correctly in the recently created Writer service.
Effective in Basic and Python.
Additionally redundant parentheses have been removed in scriptforge.py
Change-Id: I0d328b40577ddf81a188fdf72611f84751bcb506
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118559
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Addition of the skeleton of the new SF_Writer service
as a subclass of SF_Document.
Entry points in CreateScriptService are provided
both for Basic and Python user scripts.
Full compatibility with existing user scripts.
Specific properties and methods will be provided in later
commits.
Change-Id: Ib00a9ea52023707d1429e8ad9dcb4dca2ca63174
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118515
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Send from BASIC the arguments of the method to the
Python shell (APSO) console.
The same string is added to the ScriptForge debug console.
From PYTHON use simply the builtin print() statement instead.
Change-Id: Iac175b2f7c5773e0369361c3f26bbc33485848db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118225
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
While developing a new version of
ScriptForgeHelper.py
the dev should be sure to invoke the new version
instead of the standard version shipped with its
LO release.
This can be done now by setting
- in Python a specific ScriptForge class property
ScriptForge.pythonhelpermodule2 = 'user#QA/ScriptForgeHelper.py'
- in Basic a specific property of the root class
_SF_.PythonHelper2 = "QA/ScriptForgeHelper.py"
both in the test script
Testing a new version of scriptforge.py can be configured
entirely from the test script by inserting next statements
import sys
sys.path.reverse()
sys.path.append('/home/jean-pierre/.config/libreoffice/4/user/Scripts/python/QA')
sys.path.reverse()
Change-Id: Iab6db518932e9dde9030b7e5bbe00a50dee31840
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118171
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: I04341059becb36467795a2aa1d5c2f573fe1bc6f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118092
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
The SF_Platform.Printers property returns the list of
available printers as a zero-based array.
The default printer is put in the 1st position of the
list (index = [0]).
The property is available in Basic and Python.
Change-Id: I3f02b1b5e37aa9866491d9285683fc45d17fb664
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117776
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Syntax of CreateBaseDocument() becomes
FileName, [EmbeddedDatabase=HSQLDB|FIREBIRD|CALC],
[RegistrationName=""], [CalcFileName]
Only when EmbedddedDatabase = "CALC", the new argument CalcFileName
represents the file containing the tables as Calc sheets.
The file must exist or an error is raised.
Example:
Dim myBase As Object, myCalcBase As Object
Set myBase = ui.CreateBaseDocument("C:\Databases\MyBaseFile.odb", "FIREBIRD")
Set myCalcBase = ui.CreateBaseDocument("C:\Databases\MyCalcBaseFile.odb", _
"CALC", , "C:\Databases\MyCalcFile.ods")
Both Basic and Python are supported.
Change-Id: I9912b110dcec12fe451a47abb61ab143fb543b94
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117665
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: I70d723ea2d0cad5a28840e250ae261aab6a08bfc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117514
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Basic use ProperCased arguments, Python lowercased ones.
The error messages always displayed the ProperCase notation.
Example:
BEFORE: called both from Basic or Python:
Library : ScriptForge
Service : FileSystem
Method : OpenTextFile
Arguments: FileName, [IOMode=1], [Create=False], [Encoding="UTF-8"]
A serious error has been detected in your code on argument : FileName
The given file could not be found on your system.
FileName = /...
AFTER: called from Basic, as above, and from Python:
Library : ScriptForge
Service : FileSystem
Method : OpenTextFile
Arguments: filename, [iomode=1], [create=False], [encoding="UTF-8"]
A serious error has been detected in your code on argument : filename
The given file could not be found on your system.
filename = /...
Minor user visibility. No need to cherry-pick to 7.2 branch.
Change-Id: I6938c3149fe883ded97051897c19aca23eadcc58
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117501
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
The last 2 arguments have resp. XPosTwips and YPosTwips
as names.
The signature in Python is correct.
The signature in Basic still used the XPos and YPos names.
No visibility towards users.
No need to cherry-pick to the 7.2 branch.
Change-Id: Id93de702cbcb0f3ae72a1f95247189299cb7cf30
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117482
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
SF_UI.GetDocument() has 1 argument.
Before, must be a string designating an open window
Now, also a UNO object of types
com.sun.star.lang.XComponent or
com.sun.star.comp.dba.ODatabaseDocument
Typical usage: pass ThisComponent or ThisDatabaseDocument
as argument to create a new SFDocuments.Document/Base/Calc service.
Change-Id: Id9e0a40425dc3ce5e83953af5da4fb7ef8dd6f63
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117442
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
For Python scripts only:
the CreateScriptService() method accepts now both positional
(as before) and keyword arguments.
The impacted services are:
- database
- dialog
- document
- base
- calc
Done with the ReviewServiceArgs() class method that returns the
input arguments as a tuple in the correct sequence. This method
is inserted in each of the impacted service definitions.
Change-Id: I545ca5ef0a4e7946d598eed07a2122885e4f864a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117387
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Insert in each service module a pointer to the
help page on https://help.libreoffice.org
containing the user documentation of the given
service.
Example:
SF_Array.xba contains a pointer to next help page
https://help.libreoffice.org/latest/en-US/text/sbasic/shared/03/sf_array.html?DbPAR=BASIC
Only addition of comments lines.
No code change.
Change-Id: I83899d9fab247d23e2d5123378e2fb3fd0ade60e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117370
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Increment the versioning constants from 7.2 to 7.3 in next files
modified: wizards/source/scriptforge/SF_Utils.xba
modified: wizards/source/scriptforge/po/ScriptForge.pot
modified: wizards/source/scriptforge/po/en.po
modified: wizards/source/scriptforge/python/scriptforge.py
Change-Id: Iba78215cea9c16f3e7dd9302b84c90815c7a9e68
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117258
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: I68ec6c53bbf9f6631f33192776b154936c1b721e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117065
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Addition to the Basic service for Python scripts
of 2 Basic builtin objects:
- ThisComponent
returning the current component
- ThisDatabaseDocument
returning the main Base component when a subcomponent is active
Both are implemented as properties of SF_Basic.
The behaviour can be slightly different versus native Basic when
the Basic IDE is involved. Read comments in code.
Change-Id: I5d59b0ae0bae026f9b7e4c1d7068e84958aab56d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116674
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
GetSystemTicks() and GetPathSeparator() are inverted
Change-Id: I7e5c14041d6c70fe0a47519c93a24360ccc2d162
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116048
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
The CDate() method replicates in Python the behavior of the Basic
builtin function with the same name, except that it returns
its unique input argument when it could not be recognized as
a valid date, while Basic raises an DataType error.
The method is introduced to make it easy to Python devs to
convert numbers stored in Calc cells and representing dates
to their corresponding datetime.datetime instance.
Change-Id: Ifd8fbd4bf7a97bf6b91cf481c09d75ec14159916
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115989
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Previous behavior:
After a PythonShell() statement that opened the APSO shell console,
subsequent print() statements executed in the same macro
run were not displayed in the console.
They were only from a next macro run.
Solution:
Force a brief suspension of the Python process by inserting
a call to a Basic routine (IPC) immediately after the launch
of the shell console.
Result: The redirection of STDOUT and STDERR happens normally inside
the APSO code, as expected.
Change-Id: Ifbf267a898d45a97c346f0f3ea824edd4e6045ff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115930
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
CreateScriptService() does not accept keyword arguments.
In Basic positional arguments may be skipped, not in Python.
This makes
CreateScriptSevice('Dialog', '', '', 'myDialog')
rather inelegant.
Only for the Dialog service, None is accepted as default value
i.o. '' for the Container and Library arguments.
Change-Id: Ib96e23373140264c7100f174c7704ed32351f124
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115629
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
In the SFDialogs.SF_Dialog class:
- Fix the comments describing the behaviour of non-modal dialogs
- Add the OKBUTTON and CANCELBUTTON definitions
Change-Id: I2d3abc1c610b0c60949987feb1a9d66e21abfdc1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115152
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Error was announced with a message box.
Error message was not translatable.
Managed with standard exception handling.
Change-Id: I10d67985ec4bdebce5bda9123caddb4134646b48
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115095
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Strings in CSV file recognized as dates are passed via
their ISO format, not in the default com.sun.star.util.DateTime
format. This required a fix in Basic ImportFromCSVFile().
Errors in user scripts can be announced to users from Python
with the same interface as from Basic: SF_Exception.RaiseFatal().
Error messages become translatable.
Used by SF_Exception.PythonShell(), display of APSO console,
when the APSO extension is not present.
Addition of the PYTHONSHELL error message in the po files.
Review of typos.
Change-Id: I52a19faa3773904bd37505fee780d517436485f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115032
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: Id54e8fd6803c3a6c0d924338d1781679ed0b1bfd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115025
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
In replacement of the ISO format, to avoid any
misinterpretation of strings containing accidentally
a date,
from now on, dates are exchanged between Basic and Python
as com.sun.star.util.DateTime structures.
The year boundaries are [1900 - 9999].
The code managing the Python-Basic protocol has been changed
on both sides.
The Basic service receives the
- CDateFromUnoDateTime()
- CDateToUnoDateTime()
methods, equivalent with their Basic homonyms.
Change-Id: Ib6ded20c24ff71d3349d242f72bd7b88f69a2661
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114815
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
When launching a dialog from a Python script while the
dialog is contained in a document, the DialogProvider setup
from that context was built by the wrong method.
Use createInstanceWithArguments()
i.o. createInstanceWithContext()
This caused a LibreOffice crash.
Change-Id: I3615c55068134085579662004f5bb085de008cbd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114677
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
cfr. https://gerrit.libreoffice.org/c/core/+/114659
Change-Id: I1638ee3f523e685b324201cc9916a743db0ecb7e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114662
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
The PythonShell() method invokes the console() method
of the APSO extension.
It accepts 1 argument, which is a dictionary of variables
that the user wants transferred to the console to become part
of the Python context there.
Typical usage:
exc.PythonShell( {**globals(), **locals()} )
Subsequent print() statements executed in the user script
are displayed in the console.
An (untranslated - english) error message is raised when
the APSO extension is not installed.
Change-Id: I1b620bc041e1293234ddfd789e0ce8892dc87169
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114561
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: I83e1fb153601106d028641db3c9a636813b928e7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114348
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
A number of methods were defined implicitly as
instance methods.
Where apropriate they are replaced by class methods:
- insertion of the @classmethod decorator
- self replaced with cls
1 line in SF_PythonHelper.xba uncommented:
it was so far commented in for debugging
Change-Id: Ie8c3dd740f0129511295877ef947b1db35475c48
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114440
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: I85f7f1f870078aa18f28402e24b55422a10eea0a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114338
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
New classes to manage Basic dialogs and their controls from
Python.
The use of UNO interfaces has been reviewed in Basic:
replacement of
CreateUnoDialog()
by
XDialogProvider.createDialog()
The latter allows to run dialogs in non-modal mode.
SF_UI.ShowProgressBar() and SF_Console() have been reviewed
to incorporate the XSCRIPTCONTEXT shipped with Python
Now the console and the progress bar are able to run
in non-modal mode.
Change-Id: I49b09aa41ee6f50e6d205f44fc329f91bce76beb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114296
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
When a Base form is:
1. opened with OpenFormDocument(), then closed
2. Opened manually in Edit mode, then closed
3. Reopened with OpenFormDocument() in normal mode
- it again gets opened in Edit mode
- its closure is not executed, neither by program nor manually
The OpenFormDocument() method is simplified:
the invoked loadComponent method may be executed even when
the form is already open. It simply activates the form which
is exactly the expected bahaviour.
Additionally:
- the opening mode is checked after the open and, if not
matching the expected DesignMode argument, reset.
- the alive check of a form (IsStillAlive()) does not require
a database connection anymore
Change-Id: I5f55e45b246867d19e514e0d820f164790dec300
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114092
Tested-by: Jenkins
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
New class to run from Python DDL + DML SQL commands
on databases embedded in or connected to Base documents.
GetRows() is hardcoded as an exception (cfr. bug #138155) in
_PythonDispatcher() - SF_PythonHelper.xba
to be able to return 2D arrays to Python.
Fix returned empty arrays in the Basic-Python engine:
the standard bridge ignores them and returns a null byte
sequence instead of an empty tuple.
Change-Id: I336ea0b585b759b998af0871d25bfd384a2e66ae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113953
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
New class to manage controls in forms and subforms
from Python, essentially thru the use of Properties
Required a review of SF_FormControl.Getproperty()
Indeed, the IDE debugger computes all the properties
of a Basic object when expanded in the watch window.
This can cause errors.
This class makes use of default values for properties
when irrelevant for the actual control type
Error were detected on date/time conversions of date/timefield
controls and corrected.
SF_String etc shortcuts have been removed (see previous commit)
because not applicable in every scenario.
The only entry point to the API from a user Python script
is via CreateScriptService().
Change-Id: Ia87c7281c3fcf39ab0c3528f00114c9b1e067bcf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113920
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|