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/commandinterface.h>
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
const QStringList& cmds ();
47
bool exec(KTextEditor::View *view, const QString &cmd, QString &msg);
48
bool help(KTextEditor::View *view, const QString &cmd, QString &msg);
50
void runFilter(KTextEditor::View *kv, const QString & filter);
53
QString m_strFilterOutput;
54
QString m_stderrOutput;
55
QString m_last_command;
56
KProcess * m_pFilterProcess;
57
QStringList completionList;
61
void slotEditFilter ();
62
void slotFilterReceivedStdout();
63
void slotFilterReceivedStderr();
64
void slotFilterProcessExited(int exitCode, QProcess::ExitStatus exitStatus);
67
class PluginViewKateTextFilter: public Kate::PluginView, public Kate::XMLGUIClient
72
PluginViewKateTextFilter(PluginKateTextFilter *plugin, Kate::MainWindow *mainwindow);
73
virtual ~PluginViewKateTextFilter();
76
PluginKateTextFilter *m_plugin;
79
#endif // PLUGIN_KATETEXTFILTER_H
81
// kate: space-indent on; indent-width 2; replace-tabs on; mixed-indent off;