You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdewebdev/kxsldbg/kxsldbgpart/kxsldbg_part.h

172 lines
4.1 KiB

#ifndef KXSLDBGKPART_H
#define KXSLDBGKPART_H
#include <kparts/part.h>
#include <tqvariant.h>
#include <tqdict.h>
#include <tqmainwindow.h>
#include "xsldbgdebugger.h"
#include "xsldbginspector.h"
#include <dcopclient.h>
#include "kxsldbg_partif.h"
#include <ktexteditor/document.h>
#include <ktexteditor/view.h>
class TQVBoxLayout;
class TQHBoxLayout;
class TQGridLayout;
class TQAction;
class TQActionGroup;
class TQToolBar;
class TQPopupMenu;
class TQTextBrowser;
class TQLineEdit;
class TQDockWindow;
class TQWidgetStack;
class XsldbgBrkStatusView;
class QXsldbgDoc;
class XsldbgOutputView;
class XsldbgConfigImpl;
class TQWidget;
class TQPainter;
class KURL;
class TQMultiLineEdit;
class KAboutData;
typedef TQDict<QXsldbgDoc> XsldbgDocDict;
/**
* This is a "Part". It that does all the real work in a KPart
* application.
*
* @short Main Part
* @author Keith Isdale <k_isdale@tpg.com.au>
* @version 0.1
*/
class KXsldbgPart : public KParts::ReadOnlyPart, public KXsldbgPartIf
{
Q_OBJECT
public:
/**
* Default constructor
*/
KXsldbgPart(TQWidget *parentWidget, const char *widgetName,
TQObject *parent, const char *name, const TQStringList &args);
/**
* Destructor
*/
virtual ~KXsldbgPart();
static KAboutData *createAboutData();
/** Checks the debugger, if it is not ready then
* display a error in a message box
*
* @returns TRUE if debugger is ready, otherwise FALSE
*/
bool checkDebugger();
void lookupSystemID(TQString systemID);
void lookupPublicID(TQString publicID);
void createInspector();
public slots:
virtual bool openURL(const KURL &url);
virtual bool closeURL();
void quit();
void emitOpenFile(TQString file, int line, int row);
void slotLookupSystemID();
void slotLookupPublicID();
void walkCmd_activated();
void walkStopCmd_activated();
void traceCmd_activated();
void traceStopCmd_activated();
void configureEditorCmd_activated();
//Tool bar commands
void configureCmd_activated();
void inspectorCmd_activated();
void runCmd_activated();
void stepCmd_activated();
void nextCmd_activated();
void continueCmd_activated();
void stepupCmd_activated();
void stepdownCmd_activated();
void sourceCmd_activated();
void dataCmd_activated();
void outputCmd_activated();
void refreshCmd_activated();
void enableCmd_activated();
void breakCmd_activated();
void deleteCmd_activated();
/** Evaluate expression entered */
void evaluateCmd_activated();
/** Goto/display file XPath entered */
void gotoXPathCmd_activated();
virtual void lineNoChanged( TQString fileName, int lineNumber,
bool breakpoint );
void addBreakPoint(int lineNumber);
void enableBreakPoint(int lineNumber);
void deleteBreakPoint(int lineNumber);
/** Evaluate expression entered in expressionEdit */
void slotEvaluate();
/** Goto/display file that matches XPath specified in xPathEdit */
void slotGotoXPath();
/** Run search on data base , see search.dtd for DTD of search database */
void slotSearch();
/* Process the the URI for SystemID or PublicID requested */
void slotProcResolveItem(TQString URI);
/* used to get breakpoint list notfication */
void breakpointItem(TQString fileName, int lineNumber ,
TQString /*templateName*/, TQString /* modeName */,
bool enabled , int /* id */);
void cursorPositionChanged();
void docChanged();
void debuggerStarted();
protected:
/**
* This must be implemented by each part
*/
virtual bool openFile();
bool fetchURL(const KURL &url);
protected slots:
void fileOpen();
private:
QXsldbgDoc *currentDoc;
TQWidgetStack *mainView;
TQPushButton *xPathBtn, *searchBtn, *evaluateBtn;
TQLineEdit *newXPath, *newSearch, *newEvaluate;
TQGridLayout* qxsldbgLayout;
uint currentLineNo, currentColumnNo;
XsldbgDocDict docDictionary;
XsldbgInspector *inspector;
XsldbgDebugger *debugger;
XsldbgConfigImpl *configWidget;
TQString currentFileName;
XsldbgOutputView *outputview;
};
#endif // KXSLDBGPART_H