/**
   File : qxsldbgdoc.h
   Author : Keith Isdale
   Date : 19th April 2002
   Description : The document to handle source and breakpoints
 */


#ifndef TQXSLDBGDOC_H
#define TQXSLDBGDOC_H

#include <tdeio/job.h>
#include <tqptrlist.h>
#include <tqstring.h>
#include <tqguardedptr.h>
#include <tdetexteditor/document.h>
#include <tdetexteditor/view.h>

class QXsldbgDoc : public TQObject {

Q_OBJECT
  

 public:
  QXsldbgDoc(TQWidget *parent=0, KURL url=TQString());
  ~QXsldbgDoc();

  void enableBreakPoint(uint lineNumber, bool state);
  void addBreakPoint(uint lineNumber, bool enabled);
  void deleteBreakPoint(uint lineNumber);
  void selectBreakPoint(uint lineNumberbool, bool reachedBreakPoint);
  bool isSelected(uint lineNumberbool);
  void clearMarks(bool allMarkTypes);

  KURL url() const;
  KTextEditor::Document *kateDoc() {return kDoc;};
  KTextEditor::View *kateView() {return kView;};
 

  bool isLocked() {return locked;};
  void refresh();

signals:
    void docChanged();

private slots:
    void slotResult( TDEIO::Job *job );
    void lockDoc();
    void unlockDoc();

 private:
  TQGuardedPtr<KTextEditor::Document> kDoc;
  TQGuardedPtr<KTextEditor::View> kView;
  bool locked;
};

#endif