[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdelibs/khtml
From: Matt Broadstone <mbroadst () gmail ! com>
Date: 2006-07-21 19:46:35
Message-ID: 1153511195.944821.26763.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 564940 by mbroadst:
Switched from NumberedTextView to KTE stuff. Added ktexteditor as dependency for \
khtml in doing this.
M +1 -1 CMakeLists.txt
M +50 -4 ecma/debugger/debugwindow.cpp
M +13 -1 ecma/debugger/debugwindow.h
M +5 -3 ecma/debugger/scriptsdock.cpp
M +3 -0 ecma/debugger/scriptsdock.h
M +3 -2 ecma/kjs_debugwin.cpp
--- trunk/KDE/kdelibs/khtml/CMakeLists.txt #564939:564940
@@ -313,7 +313,7 @@
kde4_add_library(khtml SHARED ${khtml_LIB_SRCS})
-target_link_libraries(khtml ${KDE4_KDECORE_LIBS} kparts kdeprint kutils kde3support \
kwalletclient kjs ${JPEG_LIBRARIES} ${GIF_LIBRARIES} ${PNG_LIBRARIES} ) \
+target_link_libraries(khtml ${KDE4_KDECORE_LIBS} ktexteditor kparts kdeprint kutils \
kde3support kwalletclient kjs ${JPEG_LIBRARIES} ${GIF_LIBRARIES} ${PNG_LIBRARIES} )
set_target_properties(khtml PROPERTIES VERSION 5.0.0 SOVERSION 5 )
install(TARGETS khtml DESTINATION ${LIB_INSTALL_DIR} )
--- trunk/KDE/kdelibs/khtml/ecma/debugger/debugwindow.cpp #564939:564940
@@ -38,7 +38,14 @@
#include <kconfigbase.h>
#include <kapplication.h>
#include <kstringhandler.h>
+#include <kxmlguifactory.h>
+#include <ktexteditor/sessionconfiginterface.h>
+#include <ktexteditor/modificationinterface.h>
+#include <ktexteditor/editorchooser.h>
+#include <ktexteditor/cursor.h>
+
+
#include "kjs_dom.h"
#include "kjs_binding.h"
#include "khtml_part.h"
@@ -108,7 +115,29 @@
setCaption(i18n("JavaScript Debugger"));
kDebug() << "creating DebugWindow" << endl;
+// Testing KTextEditor stuff
m_sourceEdit = new NumberedTextView;
+
+ m_editor = KTextEditor::EditorChooser::editor();
+
+ if ( !m_editor )
+ {
+ KMessageBox::error(this, i18n("A KDE text-editor component could not be \
found;\n" + "please check your KDE \
installation.")); + kapp->exit(1);
+ }
+
+ KTextEditor::Document *document = m_editor->createDocument(0);
+
+ // enable the modified on disk warning dialogs if any
+ if (qobject_cast<KTextEditor::ModificationInterface *>(document))
+ qobject_cast<KTextEditor::ModificationInterface \
*>(document)->setModifiedOnDiskWarning(true); +
+ m_documentList.append(document);
+ m_view = qobject_cast<KTextEditor::View*>(document->createView(this));
+ guiFactory()->addClient(m_view);
+// End Testing
+
m_watches = new WatchesDock;
m_localVariables = new LocalVariablesDock;
m_scripts = new ScriptsDock;
@@ -126,7 +155,8 @@
QVBoxLayout *layout = new QVBoxLayout(mainFrame);
layout->setSpacing(0);
QSplitter *splitter = new QSplitter(Qt::Vertical);
- splitter->addWidget(m_sourceEdit);
+// splitter->addWidget(m_sourceEdit);
+ splitter->addWidget(m_view);
splitter->addWidget(m_console);
layout->addWidget(splitter);
@@ -137,6 +167,9 @@
createMenus();
createToolBars();
createStatusBar();
+
+ connect(m_scripts, SIGNAL(displayScript(KJS::DebugDocument*)),
+ this, SLOT(displayScript(KJS::DebugDocument*)));
}
void DebugWindow::createActions()
@@ -209,7 +242,6 @@
void DebugWindow::stopExecution()
{
// KMessageBox::information(this, "Stop!");
- m_localVariables->display(m_tempInterpreter);
}
void DebugWindow::continueExecution()
@@ -242,6 +274,7 @@
{
Q_UNUSED(exec);
+ kDebug() << "Testing..." << endl;
kDebug() << "***************************** sourceParsed \
**************************************************" << endl << " sourceId: " << \
sourceId << endl << " sourceURL: " << sourceURL.qstring() << endl
@@ -264,9 +297,8 @@
document = new DebugDocument(m_nextUrl, exec->dynamicInterpreter());
m_documents[key] = document;
+ // m_documents[key]->setFullSource(
- m_tempInterpreter = exec->dynamicInterpreter();
- // m_localVariables->display(exec->interpreter());
// }
}
else
@@ -343,3 +375,17 @@
return true;
}
+void DebugWindow::displayScript(KJS::DebugDocument *document)
+{
+ QList<SourceFragment> fragments = document->code();
+ foreach (SourceFragment fragment, fragments)
+ {
+ int line = fragment.baseLine;
+ int col = 0;
+
+ KTextEditor::Cursor cur = m_view->cursorPosition();
+ cur.setPosition(line, col);
+ m_view->insertText(fragment.source);
+ }
+}
+
--- trunk/KDE/kdelibs/khtml/ecma/debugger/debugwindow.h #564939:564940
@@ -32,10 +32,13 @@
#include <kjs/value.h>
#include <kjs_binding.h>
+#include <ktexteditor/document.h>
+#include <ktexteditor/view.h>
+#include <ktexteditor/editor.h>
+
#include "khtml_pagecache.h"
#include "khtml_part.h"
#include "misc/decoder.h"
-
#include "dom/dom_misc.h"
class KActionCollection;
@@ -164,6 +167,9 @@
bool eventFilter(QObject *obj, QEvent *evt);
*/
+private slots:
+ void displayScript(KJS::DebugDocument *document);
+
private:
void createActions();
void createMenus();
@@ -180,6 +186,12 @@
KAction *m_stepOutAct;
KAction *m_stepOverAct;
+ // Text editing stuff
+ KTextEditor::Editor *m_editor;
+ KTextEditor::View *m_view;
+ QList<KTextEditor::Document*> m_documentList;
+
+
NumberedTextView *m_sourceEdit;
WatchesDock *m_watches;
LocalVariablesDock *m_localVariables;
--- trunk/KDE/kdelibs/khtml/ecma/debugger/scriptsdock.cpp #564939:564940
@@ -44,6 +44,7 @@
item = m_widget->topLevelItem(idx);
item->setText(1, "multiple");
+/*
item->takeChildren();
QList<SourceFragment> fragments = document->code();
foreach (SourceFragment fragment, fragments)
@@ -53,12 +54,14 @@
child->setText(1, fragment.source);
item->addChild(child);
}
+ */
}
else
{
item = new QTreeWidgetItem;
item->setText(0, document->url());
+/*
QList<SourceFragment> fragments = document->code();
foreach (SourceFragment fragment, fragments)
{
@@ -67,7 +70,7 @@
child->setText(1, fragment.source);
item->addChild(child);
}
-
+*/
m_widget->addTopLevelItem(item);
kDebug() << "added document for url: " << document->url() << endl;
}
@@ -82,8 +85,7 @@
void ScriptsDock::scriptSelected(QTreeWidgetItem *item, int column)
{
KJS::DebugDocument *doc = m_documents[item];
- kDebug() << " url: " << doc->url() << endl
- << "source: " << doc->source() << endl;
+ emit displayScript(doc);
}
--- trunk/KDE/kdelibs/khtml/ecma/debugger/scriptsdock.h #564939:564940
@@ -20,6 +20,9 @@
void addDocument(KJS::DebugDocument *document);
+signals:
+ void displayScript(KJS::DebugDocument *document);
+
private slots:
void scriptSelected(QTreeWidgetItem *item, int column);
--- trunk/KDE/kdelibs/khtml/ecma/kjs_debugwin.cpp #564939:564940
@@ -147,6 +147,7 @@
if (line.length()) {
m_lines.append(line);
int lineWidth = metrics.width(line);
+ m_documents[key]->setFullSource(
if (lineWidth > width)
width = lineWidth;
}
@@ -261,9 +262,9 @@
KHTMLPageCache::self()->saveData(part->cacheId(),&stream);
QString str;
if (data.size() == 0)
- str = "";
+ str = "";
else
- str = decoder->decode(data.data(),data.size()) + decoder->flush();
+ str = decoder->decode(data.data(),data.size()) + decoder->flush();
delete decoder;
return str;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic