Export Plugins¶
ExportPlugin is a framework support class including several helpers used to simplify export of channel data from Oxygen to custom data formats.
Export transaction¶
An export transaction consists of 3 calls:
- validate
Exporter has to validate itself with the given context and return the result and possible warning/error messages to further describe the result. Checks of support for the given channels, formats, custom settings etc. provided by the context object should be made here.
This could be called multiple times without an actual export happening to inform the user about the state.
- exportData
One call for the actual export of data. All needed information about metadata, channels, settings etc. is provided via the context object. Channel data gets automatically fetched from oxygen and is accessible via iterators.
- cancel
Called if export transaction gets cancelled by the user. All necessary cleanup tasks should be handled here (file deletion, etc.)
Custom Settings GUI¶
If an export plugin needs some custom configuration from the user, a custom QML GUI element can be provided via export registration telegram. Separate elements can be provided for the small and fullscreen export tab in oxygen if needed.
For creation and registration of custom UI elements see QML UI elements.
Custom configuration properties can be specified in that element and are automatically provided to the plugin in the context object of the validate and exportData calls. The enable that, the following QML properties, functions and signal handlers need to be implemented by the root QML element:
- property var customProperties
Object which holds the custom properties, see QPropertyList
- readonly property bool settingsValid
Indicator if the currently selected GUI settings are valid
- function applyDefaults()
All custom properties with their default values have to be set in here
- onCustomPropertiesChanged
Called if the custom properties changed and used to update the custom GUI accordingly