The purpose of a KstDataObject
plugin is to provide an implementation of the
virtual class KstDataObject
. Plugin writers need to provide a class that
inherits KstDataObject
directly. You will also need to provide a
.desktop
file and a configuration widget for this plugin. The benefit of this type of
plugin over KstBasicPlugin
plugins is the degree of control you'll have over
the implementation. Most plugins should probably use KstBasicPlugin
, but if
you need a custom dialog for instance, this is the type of plugin for you.
Here is an example of the .desktop
file named kstobject_myplugin.desktop
:
[Desktop Entry] Encoding=UTF-8 Type=Service ServiceTypes=Kst Data Object X-KDE-ModuleType=Plugin X-KDE-Library=kstobject_fooplugin X-Kst-Plugin-Author=Your Name X-Kst-Plugin-Version=0.1 Name=Foo Comment=A plugin that provides Foo algorithm.
You C++ class should inherit KstDataObject
and provide implementations of the
pure virtual methods found in KstDataObject
:
virtual UpdateType update(int updateCounter = -1) = 0; virtual QString propertyString() const = 0; virtual void showNewDialog() = 0; virtual void showEditDialog() = 0;
There is also a number of regular virtual methods that can be reimplemented as needed.
See the Cross Power Spectrum plugin for an example implementation and the
KstDataObject
header file for API declarations.
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team