kde-extraapps/kdevplatform/plugins/filetemplates/filetemplatesplugin.h

56 lines
1.3 KiB
C
Raw Normal View History

#ifndef KDEVPLATFORM_PLUGIN_FILETEMPLATESPLUGIN_H
#define KDEVPLATFORM_PLUGIN_FILETEMPLATESPLUGIN_H
#include <interfaces/iplugin.h>
#include <interfaces/itemplateprovider.h>
#include <QVariantList>
class KUrl;
namespace KDevelop
{
class TemplatesModel;
class IToolViewFactory;
}
class FileTemplatesPlugin : public KDevelop::IPlugin, public KDevelop::ITemplateProvider
{
Q_OBJECT
Q_INTERFACES(KDevelop::ITemplateProvider)
public:
enum TemplateType
{
NoTemplate,
FileTemplate,
ProjectTemplate
};
FileTemplatesPlugin(QObject* parent, const QVariantList& args);
virtual ~FileTemplatesPlugin();
virtual void unload();
virtual KDevelop::ContextMenuExtension contextMenuExtension (KDevelop::Context* context);
virtual QString name() const;
virtual QIcon icon() const;
virtual QAbstractItemModel* templatesModel();
virtual QString knsConfigurationFile() const;
virtual QStringList supportedMimeTypes() const;
virtual void reload();
virtual void loadTemplate(const QString& fileName);
TemplateType determineTemplateType(const KUrl& url);
private:
KDevelop::TemplatesModel* m_model;
KDevelop::IToolViewFactory* m_toolView;
public slots:
void createFromTemplate();
void previewTemplate();
};
#endif // KDEVPLATFORM_PLUGIN_FILETEMPLATESPLUGIN_H