ScriptForge - (SF_Document) new Import/ExportFilters properties

The ImportFilters and ExportFilters properties
of the Document, Calc and Writer services
return a zero-based array (Basic) or a list (Python)
of all filters available for the current document
instance.

These properties are NOT applicable to Base documents.

ImportFilter contains the filters flagged for import
or for Import/Export. Idem for ExportFilters.
Both lists overlap each other partially.

The filter selection is done thanks to the
- filter type, to be compared with the Identifier of
  the document's component
- filter flags, last 2 bits determine the import or export
  orientation

The filter names are potential arguments of the OpenDocument()
and SaveAs() methods (and alike).

Both properties are callable from Basic and Python user scripts.

Change-Id: I8ce5312a58a013bc7e1e68101ff9f50f3233155d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131106
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
This commit is contained in:
Jean-Pierre Ledure
2022-03-07 16:13:46 +01:00
parent a7e5c48b3d
commit 2598c35dba
4 changed files with 117 additions and 9 deletions
@@ -1788,9 +1788,9 @@ class SFDocuments:
serviceimplementation = 'basic'
servicename = 'SFDocuments.Document'
servicesynonyms = ('document', 'sfdocuments.document')
serviceproperties = dict(Description = True, DocumentType = False, IsBase = False, IsCalc = False,
IsDraw = False, IsImpress = False, IsMath = False, IsWriter = False,
Keywords = True, Readonly = False, Subject = True, Title = True,
serviceproperties = dict(Description = True, DocumentType = False, ExportFilters = False, ImportFilters = False,
IsBase = False, IsCalc = False, IsDraw = False, IsImpress = False, IsMath = False,
IsWriter = False, Keywords = True, Readonly = False, Subject = True, Title = True,
XComponent = False)
# Force for each property to get its value from Basic - due to intense interactivity with user
forceGetProperty = True
@@ -1902,9 +1902,9 @@ class SFDocuments:
servicename = 'SFDocuments.Calc'
servicesynonyms = ('calc', 'sfdocuments.calc')
serviceproperties = dict(CurrentSelection = True, Sheets = False,
Description = True, DocumentType = False, IsBase = False, IsCalc = False,
IsDraw = False, IsImpress = False, IsMath = False, IsWriter = False,
Keywords = True, Readonly = False, Subject = True, Title = True,
Description = True, DocumentType = False, ExportFilters = False, ImportFilters = False,
IsBase = False, IsCalc = False, IsDraw = False, IsImpress = False, IsMath = False,
IsWriter = False, Keywords = True, Readonly = False, Subject = True, Title = True,
XComponent = False)
# Force for each property to get its value from Basic - due to intense interactivity with user
forceGetProperty = True
@@ -2241,9 +2241,9 @@ class SFDocuments:
serviceimplementation = 'basic'
servicename = 'SFDocuments.Writer'
servicesynonyms = ('writer', 'sfdocuments.writer')
serviceproperties = dict(Description = True, DocumentType = False, IsBase = False, IsCalc = False,
IsDraw = False, IsImpress = False, IsMath = False, IsWriter = False,
Keywords = True, Readonly = False, Subject = True, Title = True,
serviceproperties = dict(Description = True, DocumentType = False, ExportFilters = False, ImportFilters = False,
IsBase = False, IsCalc = False, IsDraw = False, IsImpress = False, IsMath = False,
IsWriter = False, Keywords = True, Readonly = False, Subject = True, Title = True,
XComponent = False)
# Force for each property to get its value from Basic - due to intense interactivity with user
forceGetProperty = True