diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | e9ae80694875f869892f13f4fcaf1170a00dea41 (patch) | |
tree | aa2f8d8a217e2d376224c8d46b7397b68d35de2d /kxsldbg/kxsldbgpart/xsldbgdebugger.h | |
download | tdewebdev-e9ae80694875f869892f13f4fcaf1170a00dea41.tar.gz tdewebdev-e9ae80694875f869892f13f4fcaf1170a00dea41.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdewebdev@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kxsldbg/kxsldbgpart/xsldbgdebugger.h')
-rw-r--r-- | kxsldbg/kxsldbgpart/xsldbgdebugger.h | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/kxsldbg/kxsldbgpart/xsldbgdebugger.h b/kxsldbg/kxsldbgpart/xsldbgdebugger.h new file mode 100644 index 00000000..3e9c267f --- /dev/null +++ b/kxsldbg/kxsldbgpart/xsldbgdebugger.h @@ -0,0 +1,176 @@ +/*************************************************************************** + xsldbgdebugger.h - description + ------------------- + begin : Tue Jan 1 2002 + copyright : (C) 2002 by keith Isdale + email : k_isdale@tpg.com.au + ***************************************************************************/ + +/*********************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ************************************************************************************/ + +#ifndef XSLDBGDEBUGGER_H +#define XSLDBGDEBUGGER_H + +#include <qevent.h> +#include "libxsldbg/xsldbgmsg.h" /* needed for XsldbgMessageEnum */ +#include "libqtnotfier/xsldbgdebuggerbase.h" + +#include "xsldbginspector.h" + + +/** + *@author Keith Isdale + */ + +class QStringList; + +class XsldbgWalkSpeedImpl; + +class XsldbgDebugger : public XsldbgDebuggerBase { + Q_OBJECT + +public: + XsldbgDebugger(); + ~XsldbgDebugger(); + + /** */ + void setInspector(XsldbgInspector *inspector); + + /** Get the name of source file from xsldbg*/ + QString sourceFileName(); + + /** Get the name of data file from xsldbg*/ + QString dataFileName(); + + /** Get the name of output file from xsldbg*/ + QString outputFileName(); + + /** Tell quanta to move its cursor to file and line number supplied */ + void gotoLine(QString fileName, int lineNo, bool breakpoint = false); + + /** Set a xsldbg option */ + void setOption(const char *name, bool value); + + bool event(QEvent *e); + void timerEvent(QTimerEvent *e); + + void setOutputFileActive(bool b) {outputFileActive = b;}; + + /* helper function to handle differences between URI's in Qt/KDE and libxml2 */ + static QString fixLocalPaths(QString & file); + +private: + /** */ + bool outputFileActive; + +public slots: + /** start xsldbg */ + bool start(); + + /** stop xsldbg */ + bool stop(); + + /** send text to xsldbg, if wait is true then wait for the reply */ + void fakeInput(QString text, bool wait); + + /** Display configure dialog */ + void slotConfigure(); + + /** Config window closed */ + void slotConfigClosed(); + + /** Step to next instruction */ + void slotStepCmd(); + + /** Continue to next break point */ + void slotContinueCmd(); + + /** Restart xsldbg with selected xsl/xml file */ + void slotRunCmd(); + + /** Walk throught shtylesheet at a fixed speed + @param speed : Must be a value of 0 to 9, where 1 mean fast, 9 means slow, and 0 means stop + */ + void slotWalkSpeed(int speed); + + /** Present a dialog for use to choose walk speed */ + void slotWalkCmd(); + + /** Stop walking imediately */ + void slotWalkStopCmd(); + + /** + Start xslbg's trace mode, where output will be sent to to message window. + Can only be be stopped by using "exit" tool button and killing xsldbg */ + void slotTraceCmd(); + + /** Add breakpoint at given file and line number */ + void slotBreakCmd(QString fileName, int lineNumber); + + /** Add breakpoint at given template name*/ + void slotBreakCmd(QString templateName, QString modeName); + + /** Toggle the enabling of break point at given file and line number */ + void slotEnableCmd(QString fileName, int lineNumber); + + /** Enable break point for given breakpoint id */ + void slotEnableCmd(int id); + + /** Delete break point at given file and line number */ + void slotDeleteCmd(QString fileName, int lineNumber); + + /** Delete break point for given breakpoint id */ + void slotDeleteCmd(int id); + + /** Switch to view of XSL source */ + void slotSourceCmd(); + + /* switch to the output document */ + void slotShowDocument(); + + /** Switch to view of XML data */ + void slotDataCmd(); + + /** Stop xsldg, must use start after this command */ + void slotExitCmd(); + + /** Print the result of evaluating xPathExpression to the message window */ + void slotCatCmd(QString xPathExpression); + + /** Move to line specified by xPathExpression */ + void slotCdCmd(QString xPathExpression); + + /** Set a libxslt variable to xPathExpression */ + void slotSetVariableCmd(QString variableName, QString xPathExpression); +signals: // Signals + // generated after first message is received from xsldbg + void debuggerReady(); + +private: + bool initialized; + + /* xsldbg config and inspection dialog */ + XsldbgInspector *inspector; + + /**Walk speed dialog */ + XsldbgWalkSpeedImpl *walkDialog; + bool readMsg; + bool procMsg; + + /* copy text to output only if no furher output us requested */ + XsldbgMessageEnum lastType; + int updateTimerID; + bool addMsg; + + QStringList commandQue; + +}; + +#endif |