Kross::ScriptingPlugin

Search for usage in LXR

Kross::ScriptingPlugin Class Reference

#include <scriptingplugin.h>

Inheritance diagram for Kross::ScriptingPlugin:

Public Member Functions

 ScriptingPlugin (const QString &collectionName, const QString &userActionsFile, const QString &referenceActionsDir=QString(), QObject *parent=nullptr)
 
 ScriptingPlugin (QObject *parent=nullptr)
 
 ~ScriptingPlugin () override
 
void addObject (QObject *object, const QString &name, ChildrenInterface::Options options)
 
void addObject (QObject *object, const QString &name=QString())
 
void setDOMDocument (const QDomDocument &document, bool merge=false) override
 
- Public Member Functions inherited from KParts::Plugin
 Plugin (QObject *parent=nullptr)
 
QString localXMLFile () const override
 
QString xmlFile () const override
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo ()
 
void dumpObjectInfo () const const
 
void dumpObjectTree ()
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
qobject_cast (const QObject *object)
 
qobject_cast (QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
QThreadthread () const const
 
- Public Member Functions inherited from KXMLGUIClient
 KXMLGUIClient (KXMLGUIClient *parent)
 
QActionaction (const char *name) const
 
virtual QActionaction (const QDomElement &element) const
 
virtual KActionCollectionactionCollection () const
 
QList< KXMLGUIClient * > childClients ()
 
KXMLGUIBuilderclientBuilder () const
 
virtual QString componentName () const
 
virtual QDomDocument domDocument () const
 
KXMLGUIFactoryfactory () const
 
void insertChildClient (KXMLGUIClient *child)
 
KXMLGUIClientparentClient () const
 
void plugActionList (const QString &name, const QList< QAction * > &actionList)
 
void reloadXML ()
 
void removeChildClient (KXMLGUIClient *child)
 
void replaceXMLFile (const QString &xmlfile, const QString &localxmlfile, bool merge=false)
 
void setClientBuilder (KXMLGUIBuilder *builder)
 
void setFactory (KXMLGUIFactory *factory)
 
void setXMLGUIBuildDocument (const QDomDocument &doc)
 
void unplugActionList (const QString &name)
 
QDomDocument xmlguiBuildDocument () const
 

Protected Slots

virtual void slotEditScriptActions ()
 
virtual void slotResetScriptActions ()
 

Additional Inherited Members

- Properties inherited from QObject
 objectName
 
- Static Public Member Functions inherited from KParts::Plugin
static void loadPlugins (QObject *parent, const QList< PluginInfo > &pluginInfos)
 
static void loadPlugins (QObject *parent, const QList< PluginInfo > &pluginInfos, const QString &instance)
 
static void loadPlugins (QObject *parent, const QString &instance)
 
static void loadPlugins (QObject *parent, KXMLGUIClient *parentGUIClient, const QString &instance, bool enableNewPluginsByDefault=true, int interfaceVersionRequired=0)
 
static QList< Plugin * > pluginObjects (QObject *parent)
 
- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Static Public Member Functions inherited from KXMLGUIClient
static QString findVersionNumber (const QString &xml)
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Protected Member Functions inherited from KParts::Plugin
virtual void setComponentData (const KAboutData &pluginData)
 
void setMetaData (const KPluginMetaData &metaData)
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 
- Protected Member Functions inherited from KXMLGUIClient
void loadStandardsXmlFile ()
 
virtual void setComponentName (const QString &componentName, const QString &componentDisplayName)
 
virtual void setLocalXMLFile (const QString &file)
 
virtual void setXML (const QString &document, bool merge=false)
 
virtual void setXMLFile (const QString &file, bool merge=false, bool setXMLDoc=true)
 
virtual void stateChanged (const QString &newstate, ReverseStateChange reverse=StateNoReverse)
 
- Static Protected Member Functions inherited from KXMLGUIClient
static QString standardsXmlFileLocation ()
 

Detailed Description

The ScriptingPlugin class loads additional actions stored in rc files with the KrossScripting format:

<KrossScripting>
<collection name="file" text="File">
<script name="dummy_script" text="Dummy Script" comment="Dummy Script example"
file="dummy_script.py" interpreter="python" />
</collection>
</KrossScripting>

The 'name' attribute in collection element will be used to match the menu object name. If no menu already exists with this name, a new one is created. In this example, the user will see a menu item with the text "Dummy Script" in "File" menu, which will execute the dummy_script.py script.

By default it tries to find kross rc files in APPDATA%/scripts directory. Clients of this class can use slotEditScriptActions() as a way to override and/or extend the default script actions (if they exist at all).

You may create multiple instances of ScriptingPlugin by using alternative c'tor.

Definition at line 61 of file scriptingplugin.h.

Constructor & Destructor Documentation

◆ ScriptingPlugin() [1/2]

ScriptingPlugin::ScriptingPlugin ( QObject parent = nullptr)
explicit

Constructor.

Parameters
parentThe parent QObject this QObject is child of.

Definition at line 65 of file scriptingplugin.cpp.

◆ ScriptingPlugin() [2/2]

ScriptingPlugin::ScriptingPlugin ( const QString collectionName,
const QString userActionsFile,
const QString referenceActionsDir = QString(),
QObject parent = nullptr 
)

Allows having actions defined in a custom location, eg for project-specific actions.

Parameters
userActionsFilescripts.rc filepath – file may be modified by user
referenceActionsDirdir – APPDATA%/scripts/referenceActionsDir% contains standard actions for this plugin instance; has a lower priority than userActionsFile.

Definition at line 73 of file scriptingplugin.cpp.

◆ ~ScriptingPlugin()

ScriptingPlugin::~ScriptingPlugin ( )
override

Destructor.

Definition at line 82 of file scriptingplugin.cpp.

Member Function Documentation

◆ addObject() [1/2]

void ScriptingPlugin::addObject ( QObject object,
const QString name,
ChildrenInterface::Options  options 
)

Add a QObject to the list of children.

The object will be published to the scripting code.

Parameters
objectThe QObject instance that should be added to the list of children.
nameThe name the QObject should be known under. If not defined, the QObject's objectName is used.

Definition at line 109 of file scriptingplugin.cpp.

◆ addObject() [2/2]

void ScriptingPlugin::addObject ( QObject object,
const QString name = QString() 
)
Deprecated:
use another addObject overload

Definition at line 103 of file scriptingplugin.cpp.

◆ setDOMDocument()

void ScriptingPlugin::setDOMDocument ( const QDomDocument document,
bool  merge = false 
)
overridevirtual

Re-implement in order to load additional kross scripting rc files.

Reimplemented from KXMLGUIClient.

Definition at line 97 of file scriptingplugin.cpp.

◆ slotEditScriptActions

void ScriptingPlugin::slotEditScriptActions ( )
protectedvirtualslot

This slot will open/create a scriptactions.rc file in XDG_DATA_HOME/application/scripts/ which will override other kross rc files.

This allows a user to extend existing menus with new actions.

Definition at line 258 of file scriptingplugin.cpp.

◆ slotResetScriptActions

void ScriptingPlugin::slotResetScriptActions ( )
protectedvirtualslot

Deletes the user rc file, which has the effect of falling back to the default script actions (if any).

Definition at line 271 of file scriptingplugin.cpp.


The documentation for this class was generated from the following files:
const char * name(StandardAction id)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Thu Sep 21 2023 04:02:21 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.