summaryrefslogtreecommitdiffstats
path: root/kxsldbg/kxsldbgpart/xsldbgdebugger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kxsldbg/kxsldbgpart/xsldbgdebugger.cpp')
-rw-r--r--kxsldbg/kxsldbgpart/xsldbgdebugger.cpp474
1 files changed, 0 insertions, 474 deletions
diff --git a/kxsldbg/kxsldbgpart/xsldbgdebugger.cpp b/kxsldbg/kxsldbgpart/xsldbgdebugger.cpp
deleted file mode 100644
index a9521964..00000000
--- a/kxsldbg/kxsldbgpart/xsldbgdebugger.cpp
+++ /dev/null
@@ -1,474 +0,0 @@
-/***************************************************************************
- xsldbgdebugger.cpp - 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. *
- * *
- ************************************************************************************/
-
-#include <tdelocale.h>
-#include <kurl.h>
-
-#include <libxml/tree.h>
-#include <libxslt/xsltInternals.h>
-#include "xsldbgdebugger.h"
-
-#include <libxsldbg/xsldbgthread.h>
-#include <libxsldbg/xsldbgevent.h>
-#include <libxsldbg/qtnotifier2.h>
-#include <libxsldbg/options.h>
-#include <libxsldbg/files.h>
-
-extern int xsldbgStop;
-
-#include "xsldbgwalkspeedimpl.h"
-#include <tqmessagebox.h>
-#include <kdebug.h>
-
-XsldbgDebugger::XsldbgDebugger()
-{
- initialized = false;
- inspector = 0L;
- walkDialog = 0L;
- outputFileActive = false;
-
- updateText = "";
- lastType = XSLDBG_MSG_AWAITING_INPUT;
- readMsg = false;
- procMsg = false;
- /* set a slow occurance of timer events to check for xsldbg commands from user */
- updateTimerID = startTimer(100);
-
- connectNotifier(this);
-}
-
-
-XsldbgDebugger::~XsldbgDebugger(){
- if (initialized == true)
- xsldbgThreadFree();
-
- if (walkDialog != 0L)
- walkDialog->close(true);
-
-}
-
-
-void XsldbgDebugger::setInspector(XsldbgInspector *inspector)
-{
- this->inspector = inspector;
-}
-
-bool XsldbgDebugger::event(TQEvent *e)
-{
- if (e == 0L)
- return false;
-
- if (e->type() != TQEvent::User)
- return TQObject::event(e);
- else{
- static bool waitingFirstmessage = true;
- if (waitingFirstmessage){
- waitingFirstmessage = false;
- emit debuggerReady();
- }
-
- /* we now have a notify message from xsldbg */
- XsldbgEvent *event = dynamic_cast<XsldbgEvent*>(e);
- /* send to this debugger the messages in event */
- event->emitMessage(this);
- }
- return true;
-
-}
-
-
-void XsldbgDebugger::timerEvent(TQTimerEvent *e)
-{
- /* This function runs in the application's thread */
-
- if (e == 0L || (e->timerId() != updateTimerID))
- return;
-
- if ((getInputReady() == 0) && (getInputStatus() == XSLDBG_MSG_AWAITING_INPUT) &&
- (commandQue.count() > 0)){
- TQString msg = commandQue.first();
- commandQue.remove(msg);
- ::fakeInput((const char*)msg.utf8());
- }
-
- if ((!updateText.isEmpty()) && (getInputStatus() == XSLDBG_MSG_AWAITING_INPUT)){
- /* flush remainding text to message window */
- TQString msgCopy = updateText;
- updateText = "";
- emit showMessage(msgCopy);
- lastType = XSLDBG_MSG_AWAITING_INPUT;
- }
-
-}
-
-
-TQString XsldbgDebugger::fixLocalPaths(TQString & file)
-{
- TQString result = file;
-
- if (file.left(6) == "file:/"){
- xmlChar * tempResult = filesExpandName((xmlChar *)file.utf8().data());
- result = TQString::fromUtf8((char*)tempResult);
- xmlFree(tempResult);
- }
-
- return result;
-}
-
-
-TQString XsldbgDebugger::sourceFileName()
-{
- TQString fileName;
-
- if (optionsGetStringOption(OPTIONS_SOURCE_FILE_NAME) != 0L)
- fileName = TQString::fromUtf8((const char*)optionsGetStringOption(OPTIONS_SOURCE_FILE_NAME));
-
- return fileName;
-}
-
-TQString XsldbgDebugger::dataFileName()
-{
- TQString fileName;
-
- if (optionsGetStringOption(OPTIONS_DATA_FILE_NAME) != 0L)
- fileName = TQString::fromUtf8((const char*)optionsGetStringOption(OPTIONS_DATA_FILE_NAME));
-
- return fileName;
-}
-
-TQString XsldbgDebugger::outputFileName()
-{
- TQString fileName;
-
- if (optionsGetStringOption(OPTIONS_OUTPUT_FILE_NAME) != 0L)
- fileName = TQString::fromUtf8((const char*)optionsGetStringOption(OPTIONS_OUTPUT_FILE_NAME));
-
- return fileName;
-}
-
-void XsldbgDebugger::gotoLine(TQString fileName, int lineNo, bool breakpoint /*= false*/)
-{
- emit lineNoChanged(fileName, lineNo, breakpoint);
-}
-
-
-void XsldbgDebugger::setOption(const char* name, bool value)
-{
- TQString msg = "setoption ";
- msg.append(name).append(" ").append(TQString::number(value));
- fakeInput(msg, true);
-}
-
-void XsldbgDebugger::fakeInput(TQString text, bool wait)
-{
- Q_UNUSED(wait);
- commandQue.append(text);
-}
-
-
-bool XsldbgDebugger::start()
-{
- bool result = false;
- if ((initialized == false) && !xsldbgThreadInit())
- {
- xsldbgThreadFree();
- kdDebug() << "Init of thread failed" << endl;
- }
- else
- {
- initialized = true;
- result = true;
- }
- return result;
-}
-
-bool XsldbgDebugger::stop()
-{
- if (initialized == true){
- setThreadStatus(XSLDBG_MSG_THREAD_STOP);
- }
-
- /* it always succeeds at the moment */
- return true;
-}
-
-void XsldbgDebugger::slotConfigure()
-{
- if (start() == false)
- return;
-
- if(inspector == 0L ){
- inspector = new XsldbgInspector(this);
- connect(inspector, TQT_SIGNAL(closedWindow()), this, TQT_SLOT(slotConfigClosed()));
- }
-}
-
-
-void XsldbgDebugger::slotConfigClosed()
-{
- inspector = 0L;
-}
-
-void XsldbgDebugger::slotStepCmd()
-{
- if (start())
- fakeInput("step", true);
- if (inspector != 0L)
- inspector->refreshVariables();
-}
-
-void XsldbgDebugger::slotContinueCmd()
-{
- if (start())
- /*this can take a while so don't wait for xsldbg to finish */
- fakeInput("continue", false);
- if (inspector != 0L)
- inspector->refreshVariables();
-
-}
-
-void XsldbgDebugger::slotRunCmd()
-{
- if (start())
- /*this can take a while so don't wait for xsldbg to finish */
- fakeInput("run", false);
-
- if (inspector != 0L)
- inspector->refresh();
-}
-
-
-void XsldbgDebugger::slotWalkSpeed(int speed)
-{
- if ((speed >= 0) && (speed <= 9)){
- if (start()){
- if (optionsGetIntOption(OPTIONS_WALK_SPEED) == WALKSPEED_STOP){
- // start walking at speed requested
- TQString msg("walk ");
- msg.append(TQString::number(speed));
- fakeInput(msg, true);
- } else
- // This will take effect imediately
- optionsSetIntOption(OPTIONS_WALK_SPEED, speed);
- }
- }else
- kdDebug() << "Invalid walk speed " << speed << endl;
-}
-
-void XsldbgDebugger::slotWalkCmd()
-{
- if (walkDialog == 0L )
- walkDialog = new XsldbgWalkSpeedImpl (this);
-
- if (walkDialog != 0L)
- /* if the user changes the speed the dialog will call back slotWalkSpeed(int) */
- walkDialog->show();
-}
-
-void XsldbgDebugger::slotWalkStopCmd()
-{
- xsldbgStop = 1;
-}
-
-void XsldbgDebugger::slotTraceCmd()
-{
- if (start())
- /*this can take a while so don't wait for xsldbg to finish */
- fakeInput("trace", false);
-}
-
-void XsldbgDebugger::slotBreakCmd(TQString fileName, int lineNumber)
-{
- if (outputFileActive == true){
- TQMessageBox::information(0L, i18n("Operation Failed"),
- i18n("Cannot set/edit breakpoints on the output file."),
- TQMessageBox::Ok);
- return ;
- }
-
- TQString msg("break -l \"");
- msg.append(XsldbgDebugger::fixLocalPaths(fileName)).append("\" ").append(TQString::number(lineNumber));
-
- if (start())
- fakeInput(msg, true);
-
- if (inspector != 0L)
- inspector->refreshBreakpoints();
-}
-
-void XsldbgDebugger::slotBreakCmd(TQString templateName, TQString modeName)
-{
-
- if (outputFileActive == true){
- TQMessageBox::information(0L, i18n("Operation Failed"),
- i18n("Cannot set/edit breakpoints on the output file."),
- TQMessageBox::Ok);
- return ;
- }
- TQString msg("break \"");
- msg.append(templateName).append("\" \"").append(modeName).append("\"");
- if (start())
- fakeInput(msg, true);
-
- if (inspector != 0L)
- inspector->refreshBreakpoints();
-}
-
-void XsldbgDebugger::slotEnableCmd(TQString fileName, int lineNumber)
-{
-
- if (outputFileActive == true){
- TQMessageBox::information(0L, i18n("Operation Failed"),
- i18n("Cannot set/edit breakpoints on the output file."),
- TQMessageBox::Ok);
- return ;
- }
-
- TQString msg("enable -l \"");
- msg.append(XsldbgDebugger::fixLocalPaths(fileName)).append("\" ").append(TQString::number(lineNumber));
- if (start())
- fakeInput(msg, true);
-
- if (inspector != 0L)
- inspector->refreshBreakpoints();
-}
-
-
-void XsldbgDebugger::slotEnableCmd(int id)
-{
-
- if (outputFileActive == true){
- TQMessageBox::information(0L, i18n("Operation Failed"),
- i18n("Cannot set/edit breakpoints on the output file."),
- TQMessageBox::Ok);
- return ;
- }
-
- TQString msg("enable ");
- msg.append(TQString::number(id));
- if (start())
- fakeInput(msg, true);
-
- if (inspector != 0L)
- inspector->refreshBreakpoints();
-}
-
-
-void XsldbgDebugger::slotDeleteCmd(TQString fileName, int lineNumber)
-{
-
- if (outputFileActive == true){
- TQMessageBox::information(0L, i18n("Operation Failed"),
- i18n("Cannot set/edit breakpoints on the output file."),
- TQMessageBox::Ok);
- return ;
- }
-
- TQString msg("delete -l \"");
- msg.append(XsldbgDebugger::fixLocalPaths(fileName)).append("\" ").append(TQString::number(lineNumber));
- if (start())
- fakeInput(msg, true);
- if (inspector != 0L)
- inspector->refreshBreakpoints();
-}
-
-
-void XsldbgDebugger::slotDeleteCmd(int id)
-{
-
- if (outputFileActive == true){
- TQMessageBox::information(0L, i18n("Operation Failed"),
- i18n("Cannot set/edit breakpoints on the output file."),
- TQMessageBox::Ok);
- return ;
- }
- TQString msg("delete ");
- msg.append(TQString::number(id));
- if (start())
- fakeInput(msg, true);
- if (inspector != 0L)
- inspector->refreshBreakpoints();
-}
-
-
-void XsldbgDebugger::slotSourceCmd()
-{
- if (start()){
- outputFileActive = false;
- fakeInput("source", true);
- }
-}
-
-
-void XsldbgDebugger::slotDataCmd()
-{
- if (start()){
- outputFileActive = false;
- fakeInput("data", true);
- }
-}
-
-void XsldbgDebugger::slotShowDocument()
-{
-
- if (outputFileName().length() > 0){
- outputFileActive = true;
- gotoLine(outputFileName(), 1);
- }
-}
-
-
-void XsldbgDebugger::slotExitCmd()
-{
- /* showMessage("\nExit command disabled in Quanta for the moment\n");*/
- stop();
-}
-
-
-void XsldbgDebugger::slotCatCmd(TQString xPathExpression){
- TQString msg("cat ");
- msg.append(xPathExpression);
-
- if (start())
- /*this can take a while so don't wait for xsldbg to finish */
- fakeInput(msg, false);
-
-}
-
-void XsldbgDebugger::slotCdCmd(TQString xPathExpression){
- TQString msg("cd ");
- msg.append(xPathExpression);
-
- if (start())
- fakeInput(msg, true);
-}
-void XsldbgDebugger::slotSetVariableCmd(TQString variableName, TQString xPathExpression)
-{
- if (!variableName.isEmpty() && !xPathExpression.isEmpty()){
- TQString msg("set ");
- msg.append(variableName);
- msg.append(" \"");
- msg.append(xPathExpression);
- msg.append("\"");
-
- if (start())
- fakeInput(msg, true);
- }
-}
-
-
-#include "xsldbgdebugger.moc"