%{H_TEMPLATE} #ifndef _PLUGIN_%{APPNAMEUC}_H_ #define _PLUGIN_%{APPNAMEUC}_H_ #include #include #include #include #include #include #include #include #include #include #include class %{APPNAME}ConfigPage; class KatePluginFactory : public KLibFactory { Q_OBJECT public: KatePluginFactory(); virtual ~KatePluginFactory(); virtual QObject* createObject( QObject* parent = 0, const char* pname = 0, const char* name = "QObject", const QStringList &args = QStringList() ); private: static KInstance* s_instance; }; class KatePlugin%{APPNAME} : public Kate::Plugin, Kate::PluginViewInterface, Kate::PluginConfigInterfaceExtension { Q_OBJECT public: KatePlugin%{APPNAME}( QObject* parent = 0, const char* name = 0 ); virtual ~KatePlugin%{APPNAME}(); void addView (Kate::MainWindow *win); void removeView (Kate::MainWindow *win); /** overwrite some functions */ uint configPages () const { return 1; } Kate::PluginConfigPage *configPage (uint , QWidget *w, const char *name=0); QString configPageName(uint) const { return i18n("%{APPNAME}"); }; QString configPageFullName(uint) const { return i18n("Configure KatePlugin%{APPNAME}"); }; QPixmap configPagePixmap (uint number = 0, int size = KIcon::SizeSmall) const { return 0L; }; public slots: void slotInsertHello(); void slotApplyConfig(%{APPNAME}ConfigPage*); private: void initConfigPage( %{APPNAME}ConfigPage* ); private: QPtrList m_views; }; class %{APPNAME}ConfigPage : public Kate::PluginConfigPage { Q_OBJECT friend class KatePlugin%{APPNAME}; public: %{APPNAME}ConfigPage (QObject* parent = 0L, QWidget *parentWidget = 0L); ~%{APPNAME}ConfigPage (); /** Reimplemented from Kate::PluginConfigPage; just emits configPageApplyRequest( this ). */ virtual void apply(); virtual void reset () { ; }; virtual void defaults () { ; }; signals: /** Ask the plugin to set initial values */ void configPageApplyRequest( %{APPNAME}ConfigPage* ); /** Ask the plugin to apply changes */ void configPageInitRequest( %{APPNAME}ConfigPage* ); private: // variables }; #endif // _PLUGIN_%{APPNAMEUC}_H_