Configuration¶
Create new extension:
./zaz.py -new -t ~/projects -n MyGreatExtension
Move to new folder:
cd ~/projects/MyGreatExtension
Edit file
conf.py
vim conf.py
Parameters¶
Configure correctly this options, before you start code your extension.
Only modify this options.
Type extension¶
TYPE_EXTENSION
The type extension that you want develop.
- Integer
1 = Normal extension
2 = New components
3 = Calc addin
Example:
TYPE_EXTENSION = 1
Version¶
VERSION
- String
The current version of extension, look: Semantic Versioning
Example:
VERSION = '0.1.0'
Name¶
NAME
- String
Your extension name, not used spaces.
Example:
NAME = 'MyGreatExtension'
ID extension¶
The internal name for extension.
ID
- String
Should be unique, used URL inverse
Example:
ID = 'org.yourname.extensionname'
Locales¶
If your extension will be multi-language (recommended)
USE_LOCALES
Bool
Example:
USE_LOCALES = True
Domain for locales¶
The base name for generate files POT
DOMAIN
String
Example:
DOMAIN = 'base'
Path pyGetText¶
Absolute path for tool pygettext.py for generate POT.
PATH_PYGETTEXT
String
Example:
PATH_PYGETTEXT = '/usr/lib/python3.9/Tools/i18n/pygettext.py'
Extension icon¶
Path relative or absolute to extension logo. Show in extension manager.
ICON
String
Example:
ICON='images/logo.png'
License¶
The license for your extension, please, used free license.
LICENSE
String
Example:
LICENSE_EN = f"""This file is part of {NAME}.
{NAME} is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
{NAME} is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with {NAME}. If not, see <https://www.gnu.org/licenses/>.
"""
LICENSE_ES = LICENSE_EN
Information¶
Information of extension: Display name, description and license to displayed when install.
INFO
Dictionary
Example:
INFO = {
'en': {
'display_name': 'Test Macro',
'description': 'My great extension',
'license': LICENSE_EN,
},
'es': {
'display_name': 'Macro de Prueba',
'description': 'Mi gran extensión',
'license': LICENSE_ES,
},
}
Functions¶
Only for Add-in extension (TYPE_EXTENSION = 2). Can be multi language.
The key of dictionary, is the same name of your function. Used exactly you used in your code.
FUNCTIONS
- Dictionary of dictionaries
displayname = Show in function wizard, multi language.
description = Show in function wizard, multi language.
- parameters = Each parameters in your function.
- key = Is the exactly name for parameter in your code function.
displayname = Show in function wizard, multi language.
description = Show in function wizard, multi language.
Example:
FUNCTIONS = {
'test': {
'displayname': {'en': 'test', 'es': 'prueba'},
'description': {'en': 'My test', 'es': 'Mi prueba'},
'parameters': {
'value': {
'displayname': {'en': 'value', 'es': 'valor'},
'description': {'en': 'The value', 'es': 'El valor'},
},
},
},
}
Default program¶
Optional. Open automatically when install and test.
PROGRAM
- String
–calc
–writer
–draw
–impress
Example:
PROGRAM = '--calc'
File test¶
Optional. Open automatically when install and test.
String
Example:
FILE_TEST = '/home/mau/example.ods'
Paths¶
Paths for install and test. idlc, include and remerge only used en TYPE_EXTENSION 2 or 3. idlc and path include is installed with LibreOffice SDK.
PATHS
- Dictionary
idlc for generate files urd.
include path with files idl.
remerge for generate files rdb.
soffice for open LibreOffice.
install for install extension.
Example:
PATHS = {
'idlc': '/usr/lib/libreoffice/sdk/bin/idlc',
'include': '/usr/share/idl/libreoffice',
'regmerge': '/usr/lib/libreoffice/program/regmerge',
'soffice': ('soffice', PROGRAM, FILE_TEST),
'install': ('unopkg', 'add', '-v', '-f', '-s'),
}