#ifndef KXSLDBGKPART_H #define KXSLDBGKPART_H #include #include #include #include #include "xsldbgdebugger.h" #include "xsldbginspector.h" #include #include "kxsldbg_partif.h" #include #include 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 TDEAboutData; typedef TQDict XsldbgDocDict; /** * This is a "Part". It that does all the real work in a KPart * application. * * @short Main Part * @author Keith Isdale * @version 0.1 */ class KXsldbgPart : public KParts::ReadOnlyPart, public KXsldbgPartIf { TQ_OBJECT public: /** * Default constructor */ KXsldbgPart(TQWidget *parentWidget, const char *widgetName, TQObject *parent, const char *name, const TQStringList &args); /** * Destructor */ virtual ~KXsldbgPart(); static TDEAboutData *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