office-gobmx/wizards/Package_sfdocuments.mk
Jean-Pierre Ledure 88a67c50af ScriptForge - (SFDocuments) new FormDocument service
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
2023-01-05 15:00:28 +00:00

38 lines
1.3 KiB
Makefile

# -*- 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_Package_Package,wizards_basicsrvsfdocuments,$(SRCDIR)/wizards/source/sfdocuments))
$(eval $(call gb_Package_add_files,wizards_basicsrvsfdocuments,$(LIBO_SHARE_FOLDER)/basic/SFDocuments,\
SF_Base.xba \
SF_Calc.xba \
SF_Chart.xba \
SF_Document.xba \
SF_DocumentListener.xba \
SF_Form.xba \
SF_FormControl.xba \
SF_FormDocument.xba \
SF_Register.xba \
SF_Writer.xba \
__License.xba \
dialog.xlb \
script.xlb \
))
# vim: set noet sw=4 ts=4: