24#ifndef _KATE_EXTERNAL_TOOLS_H_
25#define _KATE_EXTERNAL_TOOLS_H_
28#include <kdialogbase.h>
29#include <kate/document.h>
30#include <kmacroexpander.h>
54class KateExternalToolsMenuAction :
public TDEActionMenu
56 friend class KateExternalToolAction;
60 KateExternalToolsMenuAction(
const TQString &text=TQString::null, TQObject *parent=0,
const char* name=0,
class KateMainWindow *mw=0 );
61 ~KateExternalToolsMenuAction() {};
68 class TDEActionCollection *actionCollection() {
return m_actionCollection; }
71 void slotDocumentChanged();
74 class TDEActionCollection *m_actionCollection;
75 class KateMainWindow *mainwindow;
81class KateExternalToolAction :
public TDEAction,
public KWordMacroExpander
85 KateExternalToolAction( TQObject *parent,
const char *name,
class KateExternalTool *t );
86 ~KateExternalToolAction();
88 virtual bool expandMacro(
const TQString &str, TQStringList &ret );
100class KateExternalTool
103 KateExternalTool(
const TQString &
name=TQString::null,
104 const TQString &
command=TQString::null,
105 const TQString &
icon=TQString::null,
106 const TQString &
tryexec=TQString::null,
107 const TQStringList &
mimetypes=TQStringList(),
108 const TQString &
acname=TQString::null,
109 const TQString &
cmdname=TQString::null,
111 ~KateExternalTool() {};
126 bool valid(
const TQString &mimetype )
const;
143class KateExternalToolsConfigWidget :
public Kate::ConfigPage
147 KateExternalToolsConfigWidget( TQWidget *parent,
const char* name);
148 virtual ~KateExternalToolsConfigWidget();
150 virtual void apply();
151 virtual void reload();
152 virtual void reset() { reload(); }
153 virtual void defaults() { reload(); }
159 void slotInsertSeparator();
164 void slotSelectionChanged();
167 TQPixmap blankIcon();
169 TQStringList m_removed;
171 class TDEListBox *lbTools;
172 class TQPushButton *btnNew, *btnRemove, *btnEdit, *btnMoveUp, *btnMoveDwn;
174 class TDEConfig *config;
182 class KateExternalToolsCommand :
public Kate::Command {
184 KateExternalToolsCommand ();
185 virtual ~KateExternalToolsCommand () {};
186 static KateExternalToolsCommand *self();
189 virtual TQStringList cmds ();
190 virtual bool exec (Kate::View *view,
const TQString &cmd, TQString &msg);
191 virtual bool help (Kate::View *view,
const TQString &cmd, TQString &msg);
193 static KateExternalToolsCommand *s_self;
195 TQMap<TQString,TQString> m_map;
202class KateExternalToolServiceEditor :
public KDialogBase
209 TQWidget *parent=0,
const char *name=0 );
211 class TQLineEdit *leName, *leExecutable, *leMimetypes,*leCmdLine;
212 class TQTextEdit *teCommand;
213 class TDEIconButton *btnIcon;
214 class TQComboBox *cmbSave;