class KWordMacroExpander


abstract class

Table of contents
Modules
kdecore Classes
All Classes
Module kdecore
Namespace global
Class KWordMacroExpander
Inherits KMacroExpanderBase

Abstract base class for simple word macro substitutors. Use this instead of the functions in the KMacroExpander namespace if speculatively pre-filling the substitution map would be too expensive.

A typical application:

class MyClass {
...
private:
QString m_str;
...
friend class MyExpander;
};

class MyExpander : public KWordMacroExpander { public: MyExpander( MyClass *_that ) : KWordMacroExpander(), that( _that ) {} protected: virtual bool expandMacro( const QString &str, QStringList &ret ); private: MyClass *that; };

bool MyExpander.expandMacro( const QString &str, QStringList &ret ) { if (str == "macro") { ret += complexOperation( that->m_str ); return true; } return false; }

... MyClass....(...) { QString str; ... MyExpander mx( this ); mx.expandMacrosShellQuote( str ); ... }

Alternatively MyClass could inherit from KWordMacroExpander directly.

Author Oswald Buddenhagen



methods