#ifndef _KJS_PROXY_H_
#define _KJS_PROXY_H_
#include <qvariant.h>
#include <qstring.h>
class KHTMLPart;
class KJSDebugWin;
namespace DOM {
class Node;
class EventListener;
class Event;
class NodeImpl;
};
namespace KJS {
class List;
class Interpreter;
}
class KJSProxy {
public:
KJSProxy() { m_handlerLineno = 0; }
virtual ~KJSProxy() { }
virtual QVariant evaluate(QString filename, int baseLine, const QString &, const DOM::Node &n) = 0;
virtual void clear() = 0;
virtual DOM::EventListener *createHTMLEventHandler(QString sourceUrl, QString code, DOM::NodeImpl *node) = 0;
virtual void finishedWithEvent(const DOM::Event &event) = 0;
virtual KJS::Interpreter *interpreter() = 0;
virtual void setDebugEnabled(bool enabled) = 0;
virtual bool paused() const = 0;
virtual void setSourceFile(QString url, QString code) = 0;
virtual void appendSourceFile(QString url, QString code) = 0;
void setEventHandlerLineno(int lineno) { m_handlerLineno = lineno; }
KHTMLPart *m_part;
int m_handlerLineno;
static KJSProxy *proxy( KHTMLPart *part );
};
#endif