Age | Commit message (Collapse) | Author |
|
The complete expected bheviour is:
when there is no data returned by the query,
- either GetRows() returns an empty array, (Header := False)
- or GetRows() returns an array with a single
row containing the column names only (Header := True)
In the example given in the bug report,
GetRows() gives an unexpected error.
Actually the "end-of-file" status is tested
with the isAfterLast() indicator.
It seems better to rely on the Boolean value
returned by the first() and next() methods applied
on the resultset.
Change-Id: Ibe97dbbcb03d45ebb9184fab2733abe4e04963a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151844
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
Controls designated in english as "Hyperlink controls"
in the Basic IDE are from now on accepted as instances
of the SF_DialogControl service.
All generic properties are accepted.
The supported specific properties are:
- Caption (the text that appears in the dialog box)
- URL (the URL to activate when clicked)
The new control type is supported in Basic and Python
user scripts.
The SFDialogs.DialogControl help page needs to be updated.
Change-Id: I4827834ad8ef336c084ee51b5285b85745ceb1b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150824
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
Change-Id: Iba5e188204fafa4cd88282d001eea31f277fcc4b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150768
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I59aea5a7b71d6ddf14d4d7d22b61bdc8ab01ae3b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150767
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I943dbf7dd8c6ac138ab9fc16638a06b07dcace93
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150766
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Dimensioning a dialog in the Basic IDE is done
by using "Map AppFont" units.
Map AppFont units are device and resolution independent.
One Map AppFont unit is equal to one eighth of the average
character (Systemfont) height and one quarter of the average
character width.
A dialog or control model also uses AppFont units.
While their views use pixels.
This is confusing. It also complicates size prototyping
with the Basic IDE.
In ScriptForge, sizing and positioning a dialog or a control
is done from now on in AppFont units as well.
Additionally, X and Y positions accept now negative values.
Compatibility with past is ensured: dynamic change or
position and size is a new feature in 7.6.
The change is valid both for Basic and Python user scripts.
It requires a small change in the actual documentation
(pixels => AppFontunits)
Change-Id: Id80b0ccf473eb012b0a8c85d66f5a8ada9b26be5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150704
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
Error happens in gen and gtk3 modes.
Does not happen in kf5 mode.
Linux only. Windows OK.
Change-Id: Ia5dd21f6879c1a732d291d15d6fb9f4bf20c76e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150238
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
Addition of method
control.Resize(X, Y, Width, Height)
to selectively (arguments are applicable only when present)
update the position and/or the size of any
dialog control.
Addition of updatable properties:
Height
Width
X
Y
for the same purpose.
All measures are expressed in PIXELS.
The measures for dialogs are also as from now expressed
in pixels.
Changes are applicable to Basic and Python user scripts.
Documentation should be updated.
Change-Id: I03a6c819efa6a2a67c88403f1ae644d94eb7f2d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149174
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
Change-Id: Ie7b0692c5f79eb4e8022ac1bcedfe01b3f7b75f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148878
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I3c7b644de7b6e6bf46161a33f56eb89df662777c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148876
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I9a46298fe53880cd84aa1cb9713e576eece3d2f1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148877
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Ie08c4c4b6997b13eea7b29f987f994d8a894a331
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148875
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
A dialog box and its controls may be associated
with scripts triggered by events (mouse moved,
key pressed, ...).
The link is usually preset in the Basic IDE when
the dialog is designed.
So far, ScriptForge did not offer the setting of
a link event-script by code.
The actual commit removes this limitation: every
On-property related to either a dialog or a dialog
control is now editbale.
With the important precision that such a property
may be updated ONLY IF it was NOT PRESET in the
Basic IDE.
Static (IDE) and dynamic (by code) definition of
a specific On property on a specific dialog or on
a specific dialog control are mutually exclusive.
The new capacity may be used both in Basic and Python scripts.
A short update of the help texts (dialog and dialogcontrol)
is needed with mention of above restriction.
Change-Id: Ia078aaab317ced7ade7ce69694504013f8e768a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148800
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
Change-Id: I53e2a2f57ca1f00a07c62918e6e34c57a53fdcf3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148022
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I7a1302f472473171b31a4c2b21c9bfbfe1517904
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148020
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Ib620227c38d27d3de1a774f9c3aebfbcc5edd0a8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148021
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Each component has its own set of toolbars, depending
on the component type (Calc, Writer, Basic IDE, ...).
In the context of the actual class, a toolbar
is presumed defined statically:
- either by the application
- or by a customization done by the user.
The definition of a toolbar can be stored
in the application configuration files
or in the current document.
Changes made by scripts to toolbars stored
in the application are persistent. They are valid
for all documents of the same type.
Note that the menubar and the statusbar
are not considered toolbars in this context.
A toolbar consists in a series of graphical
controls to trigger actions.
The "Toolbar" service gives access to the "ToolbarButton" service to manage
the individual buttons belonging to the toolbar.
The "Toolbar" service is triggered from next
services: Document, Calc, Writer, Base, FormDocument
and Datasheet. All those components might host toolbars.
Proposed properties in the Toolbar service:
BuiltIn
Docked
HasGlobalScope
Name
ResourceURL
Visible (r/w)
XUIElement
Proposed method:
ToolbarButtons()
Proposed properties in the ToolbarButton service:
Caption
Height
Index
OnClick (r/w)
Parent
TipText (r/w)
Visible (r/w)
X
Y
(The Height, Width, X, Y properties allow for
easy hook of a popup menu to tye button)
Proposed method:
Execute()
Both services are available both from Basic and Python user scripts.
An update of the dcumentation help is required.
Change-Id: I43cb523b52e3d6362994557d74c4ef9faa220507
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147925
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
The vnd.sun.star.expand: payload must be URL-decoded prior to passing
it to expandMacros; the protocol must be checked case-insensitively.
Use startsWithIgnoreAsciiCase for that.
Change-Id: I2be993a0400a27cb7dc57207cd0824b4505afd2b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146855
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
While a script is executed any display update
resulting from that execution is done immediately.
For performance reasons it might be an advantage
to differ the display updates up to the end of the script.
This is where pairs of Echo() methods to set
and reset the removal of the immediate updates
may be beneficial.
Optionally the actual mouse pointer can be
modified to the image of an hourglass.
Arguments:
EchoOn: when False, the display updates are suspended.
Default = True.
Multiple calls with EchoOn = False are harmless.
Hourglass: when True, the mouse pointer is changed
to an hourglass. Default = False.
The mouse pointer needs to be inside the actual
document's window.
Note that it is very likely that at the least
manual movement of the mouse, the operating system
or the LibreOffice process will take back
the control of the mouse icon and its usual behaviour.
The method may be called from any document, including Calc and
Writer, or form document.
It may be invoked from Basic and Python user scripts.
Echo() should be documented in the sfdocument.xhp help page.
Change-Id: I4d669f5e332131bd1b2efcd33b7a98b304796ad1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146258
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
Impact only on comments, code left unchanged
Change-Id: I5549f2549d2b9ff351ad6174b9dba458525db210
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146139
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
OKBUTTON and CANCELBUTTON are defined in the help
as properties, both for Basic and Python user scripts.
To make
dialog.OKBUTTON
valid in Basic, OKBUTTON should be defined either as (1)
Public Const OKBUTTON = 1
or (2)
Property Get OKBUTTON()
Actually, it if a Private constant. <= wrong
Choice is made to make it a full property (2).
Python equivalent is OK, no change required.
No impact on help documentation.
Change-Id: Id4cf7dfbaff68fc8cc48a5c4779374ce1e7cc88b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146008
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: I086d4f9f6490ecce773aef598049af07b5f852d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145978
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
Change-Id: Ifbf5ba5b28b7afff64ed36965eadfa68a750cfd9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145976
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
Change-Id: Ie6dcedee4a1202f43feee99169172e2a3b1523b4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145959
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Remove duplicate values from a range of values.
The comparison between rows is done on a subset
of the columns in the range.
The resulting range replaces the input range,
in which, either:
all duplicate rows are cleared from their content
all duplicate rows are suppressed
and rows below are pushed upwards.
Anyway, the first copy of each set of duplicates
is kept and the initial sequence is preserved.
Arguments of the method:
Range: the range, as a string,
from which the duplicate rows should be removed
Columns: an array of column numbers to compare;
items are in the interval [1 .. range width]
Default = the first column in the range
Header: when True, the first row is a header row.
Default = False.
CaseSensitive: for string comparisons.
Default = False.
Mode: either "CLEAR" or "COMPACT" (Default)
For large ranges, the "COMPACT" mode
is probably significantly slower.
The method has been implemented for Basic
and Python user scripts.
The calc.xhp help page should be updated accordingly.
Change-Id: I352b2f3da98974d9482575850550cec4e27d2e01
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145954
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
The Calc.SortRange() method sorts
the given range on any number of columns/rows.
The sorting order may vary by column/row.
The sorting algorithm allows for maximum 3 keys.
When the number of sort keys is > 3 then the range
is sorted several times, by groups of 3 keys,
starting from the last key.
In this context the algorithm used by Calc
to sort ranges is presumed STABLE,
i.e. it maintains the relative order of records
with equal keys.
Change-Id: If7f4920f7ab8f8ffb71edf648ed9accc8eb62dce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145681
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
When
- WholeRow/WholeColumn = False
- no row or column matches the FilterFormula
the cells below or at the right were erroneously
shifted down or right.
Future behaviour:
- when nothing to compact,
the initial range is left unchanged
the return value = the initial range
- when all rows/columns are impacted,
the initial range is cleared
the return value = zero-length string
- otherwise
the initial range is compacted
the return value is the compacted range
In either case, the surrounding cells are unchanged.
Change-Id: I27288878dcadeb4ded297b7bb1e6897947ed5e56
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145622
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: I963f340e0da9a0e7bc50bd1ee8c73f28c8edb6de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145101
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I6a15118c9e0b686c7157a162990b7776362865f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145100
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
The SF_FormDocument service is focused on :
- The orchestration of Base form documents
(aka Base Forms, but this is confusing)
and the identification of and the access to their controls.
- Form documents are always contained in a Base document.
A form document may be opened either:
- via code or user interface from the Base file welcome page
- via code only, without having its Base container opened first
In any mode, a form document can be opened only in 1 single copy.
The FormDocument service is triggered either by
base.OpenFormDocument(...)
database.OpenFormDocument(...)
' Base file may be closed
ui.GetDocument(...)
Specific methods:
CloseDocument()
Forms()
GetDatabase()
PrintOut()
Next methods are inherited from the Document superclass:
Activate()
CreateMenu(), RemoveMenu()
ExportAsPdf()
RunCommand()
SaveCopyAs()
SetPrinter()
As a consequence, next methods remain available
but should be declared as deprecated in the help:
base.CloseFormDocument()
base.Forms()
base.PrintOut()
base.SetPrinter()
Above changes have several more minor impacts :
- beside IsCalc, IsWriter, ... , a new IsFormDocument property
- the UI service identifies open form documents
- a new service means a new entry to register
in the Services catalog
- management of form events has been reviewed
- the connection between Base, FormDocument, Form
and Database services is reinforced
- menus were available on components, now also on sub-components
The new service is available for both Basic and Python user scripts.
It requires in the help
- a new sf_formdocument page
- a review of the sf_base, sf_database, sf_form, sf_ui pages
Change-Id: Ib06d1c4565ca093af2f068fa5b8082082641752e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145080
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
Before this commit, the 'column' argument was manadatory.
Now the argument becomes optional and designates
the current column, i.e. the column containing the cursor.
Additionally, when a datasheet is closed by code,
any filter is better removed to avoid eventual
user misunderstandings when the datasheet is reopened
manually during the same session.
Change-Id: I904cfa56a9407539a89b7d2451dcf6b45292f660
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144242
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
No effect on code execution.
Hence no cherry-picks to previous release(s).
Change-Id: I724c05ee2807e2783655cbb8889a721a5a5e1b75
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144224
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
that parameter did specify how many entries of the list the workaround
method could use to not exceed commandline length limits, so it was a
guess of sorts and many places didn't actually bother with tweaking that
value anyway and just used 100. the $(file …) function doesn't care
about that, so the parameter was always ignored in that case.
Change-Id: If89ec3a1968be297c0fe7c65336c5a965598f0c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143911
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
|
Next basic code
Dim myDict as Variant
myDict = CreateScriptService("Dictionary")
myDict.Add("key", Array())
myDict.ReplaceItem("key", Array(1, 2, 3))
produces an error message incriminating the user code.
While it should run normally ...
Fixed by enlarging the validation rules.
Change-Id: I667abc81cb712308764c342d0e74b95821e46a5f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144041
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
Spotted thanks to:
grep -nR PRODUCTNAME *|grep -v \%PRODUCTNAME|grep -v '${PRODUCTNAME}'|grep -v '\[PRODUCTNAME\]'|grep -v '\[FULLPRODUCTNAME\]'
suggested in tdf#152265 UI: "tip of the day: placeholder "PRODUCTNAME" in text of the tip"
Change-Id: I5292eeb1767404f2aa31f4b51b410a29afafcd6d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143851
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
|
For homogeneity with the Form service,
the
ApplyFilter()
OrderBy()
methods are replaced by the
Filter
OrderBy
updatable properties respectively.
Functionally there is no change.
This substitution is valid both for Basic and
Python user scripts.
Change-Id: I63a1d5c4554437b6a2cd634677e6eee246cb59ab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142355
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
Next 2 methods are added:
CreateMenu()
RemoveMenu()
They allow the addition of a menu entry in the menubar
of datasheets in the same way as in documents.
The implementation required to make the
SFWidgets.SF_Menu
SFWidgets.SF_MenuListener
SFWidgets.SF_Register
classes and modules more generic to be applicable
in several contexts.
In addition, 2 properties are added:
DatabaseFileName
ParentDatabase
to better identify the database from which the datasheet
is derived.
New properties and methods are applicable both
for Basic and Python user scripts.
Change-Id: Iac6318287e89b18810a53ec5928a68e921ea96db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142285
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
Change-Id: I30dc89340942c1fc21a889e611b8a4510553476a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142169
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I3df6a2b0b6600d4d9e37723c902e03310aab22c1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142171
Tested-by: Jenkins
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I3e4e076e8fc71d3999d5c58f05d34a866da3aa5d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142168
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
Change-Id: Ic658024df51bd53cb704af7c006ee5300c0922cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142170
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Icdd19c1165134867ed532c82a2663d1545c64739
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142174
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
A datasheet is the visual representation
of tabular data produced by a database.
In the user interface of LibreOffice
it is the result of the opening of a table or a query.
In this case the concerned Base document must be open.
In the context of ScriptForge, a datasheet
may be opened automatically by script code :
- either by reproducing the behaviour of the user interface
- or at any moment.
In this case the Base document does not need to be open.
Additionally, any SELECT SQL statement
may define the datasheet display.
The proposed API allows for either datasheets
(opened manually of by code) in particular
to know which cell is selected and its content.
Properties:
ColumnHeaders
CurrentColumn
CurrentRow
LastRow
Source
SourceType
XComponent
XControlModel
XTabControllerModel
Methods
Activate
ApplyFilter
CloseDatasheet
GetValue
GetText
GoToCell
OrderBy
The Base and Database services are enriched with the
OpenTable
OpenQuery
methods. The Database service gets also a new
OpenSql
method.
The whole set of properties and methods is available
both for Basic and Python scripts.
This new service requires a new help page dedicated
to this service, as well as an update of the
pages about the Base and Database services.
Change-Id: Ib409ce74d95de78f2792ba53e7ae554eab0867ab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142118
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
The method extends the set of functions compatible
with their corresponding Basic builtin functions.
BTW it might avoid the need for the user to
import uno
in his/her Python scripts.
Of course (s)he remains free to prefer the latter.
Impact only on Python scripts. Basic part is unchanged.
An update of the help page about the Basic service is reuired.
Change-Id: I3b01eb76aa52f62fa54bae49ddb45755126bc3fe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141429
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
Bug description:
Programmatic access to doc-based dialog
is not possible using ScriptForge.Dialog service
The relevant component was identified incorrectly
in routine
SFDialogs.SF_Register_NewDialog()
Change-Id: I13f6302330ca097b8aef8fd3cdbd0b3d05a1b58c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141337
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|
|
Change-Id: I4bfa53602b34d18ae9229aa8e110b85dfd160f94
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141307
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: If62e035cf92f5fad359da9dd426f0975b1da6b23
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141308
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I4171730123186c8b057e6a05e382f253f81a0013
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141310
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Ia4d7dd731e24c89c3228fdaf18cc0558a9c5ee66
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141311
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
The SetPageManager() method
Define how the dialog displays pages.
The page manager is an alternative to the direct use
of the Page property of the dialog and dialogcontrol objects.
The arguments define which controls are involved
in the orchestration of the displayed pages.
Possible options:
- select a value in a list- or combobox
- select an item in a group of radio buttons
- select a button linked to a page
placed side-by-side the buttons can simulate a tabbed interface
- press a NEXT or BACK button like in many wizards
Those options may be combined.
The control updates will be synchronized.
The method will set the actual page number to 1.
Afterwards the Page property may be used to display any other page
The SetPageManager() method is to be run
only once and before the Execute() statement.
If invoked several times, subsequent calls will be ignored.
The method will define new listeners
on the concerned controls, addressing generic routines.
The corresponding events will be fired during the dialog execution.
Preset events (in the Basic IDE) will be preserved
and executed immediately AFTER the page change.
The listeners will be removed at dialog termination.
The implementation has next parts:
1. Store the arguments in the Dialog instance
2. Set appropriate listeners on involved controls
3. Page change synchronizes the values in the involved controls
(be it by user code or by page manager)
4. Events triggered by listeners change page number
The method is available both in Basic and Python contexts.
This commit require the Dialog help page to be updated.
Change-Id: I00a0212414f283102c73de4ceb488aa1aeddf746
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141257
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Tested-by: Jenkins
|