1
/***************************************************************************
2
plugin_katetextfilter.h - description
4
begin : FRE Feb 23 2001
5
copyright : (C) 2001 by Joseph Wenninger
6
email : jowenn@bigfoot.com
7
***************************************************************************/
9
/***************************************************************************
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
16
***************************************************************************/
18
#ifndef PLUGIN_KATETEXTFILTER_H
19
#define PLUGIN_KATETEXTFILTER_H
21
#include <kate/plugin.h>
22
#include <kate/application.h>
23
#include <kate/documentmanager.h>
24
#include <kate/mainwindow.h>
26
#include <ktexteditor/view.h>
27
#include <ktexteditor/document.h>
28
#include <KTextEditor/Command>
31
#include <QVariantList>
35
class PluginKateTextFilter : public Kate::Plugin, public KTextEditor::Command
40
explicit PluginKateTextFilter(QObject* parent = 0, const QVariantList& = QVariantList() );
41
virtual ~PluginKateTextFilter();
43
Kate::PluginView *createView (Kate::MainWindow *mainWindow);
46
bool exec(KTextEditor::View *view, const QString &cmd, QString &msg);
47
bool help(KTextEditor::View *view, const QString &cmd, QString &msg);
49
void runFilter(KTextEditor::View *kv, const QString & filter);
52
QString m_strFilterOutput;
53
QString m_stderrOutput;
54
QString m_last_command;
55
KProcess * m_pFilterProcess;
56
QStringList completionList;
60
void slotEditFilter ();
61
void slotFilterReceivedStdout();
62
void slotFilterReceivedStderr();
63
void slotFilterProcessExited(int exitCode, QProcess::ExitStatus exitStatus);
66
class PluginViewKateTextFilter: public Kate::PluginView, public Kate::XMLGUIClient
71
PluginViewKateTextFilter(PluginKateTextFilter *plugin, Kate::MainWindow *mainwindow);
72
virtual ~PluginViewKateTextFilter();
75
PluginKateTextFilter *m_plugin;
78
#endif // PLUGIN_KATETEXTFILTER_H
80
// kate: space-indent on; indent-width 2; replace-tabs on; mixed-indent off;