--===============1720104319== Content-Type: multipart/signed; boundary="nextPart3277057.QRQazybsph"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit --nextPart3277057.QRQazybsph Content-Type: multipart/mixed; boundary="Boundary-01=_a9A/HYdyfyk217p" Content-Transfer-Encoding: 7bit Content-Disposition: inline --Boundary-01=_a9A/HYdyfyk217p Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi, I have done a first pass of a KXSLDbg plugin for Quanta as shown by the=20 attached patch. I do not intend to submit the patch it as it and will have= =20 another go at writing this plugin this in the comming weeks. This patch=20 causes KXSLDbg* sources to built into KDevelop plugin and does not make us= e=20 of : * the standard KDevelop controlled document view * the default Output view widget=20 * the KDevelop style configure system =20 =46or this change to work I want to build libxsldbg as a static library as = I=20 would not wish to build the same libxsldbg sources three times :ie * for the xsldhg application=20 * for the KXSLDbg application * for the KDevelop plugin Help on what changes are required to build kxsldbg/kxsldbgpart/libxsldbg as= a=20 not installed static library and still have xsldbg and kxsldbg link=20 successfully would be appreciated. I tried the STATIC keyword when declarin= g=20 the how to build libxsldbg but could not get linking to complete. =20 Regards, Keith --Boundary-01=_a9A/HYdyfyk217p Content-Type: text/x-diff; charset="utf-8"; name="patch.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="patch.diff" Index: plugins/CMakeLists.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- plugins/CMakeLists.txt (revision 794937) +++ plugins/CMakeLists.txt (working copy) @@ -8,4 +8,5 @@ add_subdirectory( preview ) add_subdirectory( usertoolbars ) add_subdirectory( upload ) +add_subdirectory( kxsldbg ) =20 Property changes on: plugins/kxsldbg ___________________________________________________________________ Name: svn:ignore + *.moc moc_* *_automoc* ui_* Makefile Makefile.in Index: plugins/kxsldbg/kdevkxsldbg.desktop =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- plugins/kxsldbg/kdevkxsldbg.desktop (revision 0) +++ plugins/kxsldbg/kdevkxsldbg.desktop (revision 0) @@ -0,0 +1,36 @@ +[Desktop Entry] +Encoding=3DUTF-8 +Type=3DService +Name=3DKDevKXSLDbg +Name[x-test]=3DxxKDevKXSLDbgxx +GenericName=3DKXSLDbg Plugin +GenericName[fr]=3D +GenericName[ga]=3D +GenericName[pt]=3D +GenericName[pt_BR]=3D +GenericName[tr]=3D +GenericName[uk]=3D +GenericName[zh_TW]=3D +GenericName[x-test]=3DxxKXSLDbg Pluginxx +Comment=3DDebug XSLT scripts using KXSLDbg +Comment[fr]=3D +Comment[ga]=3D +Comment[pt]=3D +Comment[pt_BR]=3D +Comment[tr]=3D +Comment[uk]=3D +Comment[x-test]=3DxxDebug XSLT scripts using KXSLDbgxx +Comment[zh_TW]=3D +Icon=3Dxsldbg-source +X-KDE-PluginInfo-Name=3DKDevKXSLDbg +X-KDevelop-Plugin-Version=3D1 +X-KDevelop-Plugin-Homepage=3Dhttp://kdewebdev.org +X-KDevelop-Plugin-BugsEmailAddress=3Dkeith@kdewebdev.org +X-KDevelop-Plugin-Copyright=3D(C) by Keith Isdale +X-KDevelop-Plugin-License=3DGPL +X-KDE-Library=3Dlibkdevkxsldbg +X-KDevelop-Version=3D4 +X-KDevelop-Category=3DGlobal +X-KDevelop-Properties=3DQuanta-KXSLDbg +X-KDevelop-Args=3D +X-KDE-ServiceTypes=3DKDevelop/Plugin Index: plugins/kxsldbg/kdevkxsldbgconfigimpl.cpp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- plugins/kxsldbg/kdevkxsldbgconfigimpl.cpp (revision 0) +++ plugins/kxsldbg/kdevkxsldbgconfigimpl.cpp (revision 0) @@ -0,0 +1,38 @@ +/** + * + * This file is part of the kxsldbg package + * Copyright (c) 2008 Keith Isdale + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License version 2 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public Lice= nse + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + **/ + +#include "kdevkxsldbgconfigimpl.h" +#include + +K_PLUGIN_FACTORY(KDevKXsldbgConfigFactory, registerPlugin();) +K_EXPORT_PLUGIN(KDevKXsldbgConfigFactory("kcm_kdev_kxsldbg")) + +KDevKXsldbgConfigImpl::KDevKXsldbgConfigImpl(QWidget *parent, const QVaria= ntList &args) + : KCModule( KDevKXsldbgConfigFactory::componentData(), parent, arg= s ) +{ + setupUi(this); + load(); +} + +KDevKXsldbgConfigImpl::~KDevKXsldbgConfigImpl() +{ +} + +#include "kdevkxsldbgconfigimpl.moc" Index: plugins/kxsldbg/kdevkxsldbgplugin.cpp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- plugins/kxsldbg/kdevkxsldbgplugin.cpp (revision 0) +++ plugins/kxsldbg/kdevkxsldbgplugin.cpp (revision 0) @@ -0,0 +1,905 @@ +/** + * + * This file is part of the kxsldbg package + * Copyright (c) 2008 Keith Isdale + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License version 2 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public Lice= nse + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + **/ + +#include +#include +#include +#include "kdevkxsldbgplugin.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +//#include "../kxsldbg.h" +#include +#include +#include +#include +#include +#include + +// Qxsldbg specific includes +#include "qxsldbgdoc.h" +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "xsldbgoutputview.h" +#include "xsldbgconfigimpl.h" +#include +#include +#include + +#include +K_PLUGIN_FACTORY(KDevKXSLDbgFactory, registerPlugin(); ) +K_EXPORT_PLUGIN(KDevKXSLDbgFactory("kdevkxsldbg")) + +class KDevKXSLDbgPlugin; + + +class KDevKXSLDbgViewFactory : public KDevelop::IToolViewFactory +{ + public: + KDevKXSLDbgViewFactory(KDevKXSLDbgPlugin *thePart) + : KDevelop::IToolViewFactory(), myplugin(thePart) + { + + } + /** + Return the main widget for our tool + */ + QWidget *create(QWidget * parent =3D 0 ); + + /** + Return a hint as to where to put our tool + */ + Qt::DockWidgetArea defaultPosition(const QString &areaName); + + KDevKXSLDbgPlugin * myplugin; +}; + + +QWidget* KDevKXSLDbgViewFactory::create(QWidget * parent) +{ + QWidget *w; + + if (myplugin) + w =3D myplugin->topWidget(parent); + else + w =3D new QPushButton("Hello", parent); + return w; +} + +Qt::DockWidgetArea KDevKXSLDbgViewFactory::defaultPosition(const QString &= areaName) +{ + Q_UNUSED(areaName); + return Qt::TopDockWidgetArea; +} + + + KDevKXSLDbgPlugin::KDevKXSLDbgPlugin(QObject *parent, const QVariantLi= st &args) +: KDevelop::IPlugin(KDevKXSLDbgFactory::componentData(),parent) +{ + Q_UNUSED(args) + setXMLFile( "kdevkxsldbg.rc"); + m_widgetFactory =3D new KDevKXSLDbgViewFactory(this); + currentLineNo =3D 0; + currentColumnNo =3D 0; + inspector =3D 0L; + debugger =3D 0L; + configWidget =3D 0L; + currentDoc =3D 0L; + + frame =3D new KVBox(0); + frame->setMinimumHeight(400); //## TODO don't use a magic number =20 + KHBox *h =3D new KHBox(frame); + newXPath =3D new QLineEdit(h); + xPathBtn =3D new QPushButton(i18n("Goto XPath"), h); +/* Disable searching as searching documentation is not ready + h =3D new QHBox(frame); + newSearch =3D new QLineEdit(h); + searchBtn =3D new QPushButton(i18n("Search"), h); +*/ + h =3D new KHBox(frame); + newEvaluate =3D new QLineEdit(h); + evaluateBtn =3D new QPushButton(i18n("Evaluate"), h); + + QSplitter *splitter =3D new QSplitter(Qt::Vertical, frame); + mainView =3D new QStackedWidget(splitter); + mainView->setMinimumHeight(300); //## TODO don't use a magic number =20 + outputview =3D new XsldbgOutputView(splitter); + + setupActions(); + core()->uiController()->addToolView("KXSLDbg", m_widgetFactory ); + +/* We must have a valid debugger and inspector */ + createInspector(); + if (checkDebugger()){ + configWidget =3D new XsldbgConfigImpl( debugger, 0L ); + Q_CHECK_PTR( configWidget ); + debugger->start(); + }else{ + openUrl(KUrl()); + } +} + +KDevKXSLDbgPlugin::~KDevKXSLDbgPlugin() +{ + delete m_widgetFactory; + docDictionary.clear(); +} + +QWidget *KDevKXSLDbgPlugin::topWidget(QWidget *parent) +{ + if (frame)=20 + frame->setParent(parent); + return frame; +} + +void KDevKXSLDbgPlugin::setupActions() +{ + KActionCollection* ac =3D actionCollection(); + m_projectKXSLDbgActionMenu =3D new KActionMenu(i18n("&Run Project via = KXSLDbg"), this); + m_projectKXSLDbgActionMenu->setIcon(KIcon("xsldbg-source")); + m_projectKXSLDbgActionMenu->setToolTip(i18n("Run project")); + //m_projectKXSLDbgActionMenu->setVisible(false); //make it visible whe= n there are upload profiles + ac->addAction("project_kxsldbg_run", m_projectKXSLDbgActionMenu); + // create our actions + KStandardAction::open(this, SLOT(fileOpen()), actionCollection()); + + QAction *action ; + action =3D ac->addAction( "configureEditorCmd" ); + action->setText( i18n("Configure Editor...") ); + action->setIcon( KIcon("configure") ); + connect(action, SIGNAL(triggered(bool)), SLOT(configureEditorCmd_activa= ted())); + action =3D ac->addAction( "configureCmd" ); + action->setText( i18n("Configure...") ); + action->setIcon( KIcon("configure") ); + connect(action, SIGNAL(triggered(bool)), SLOT(configureCmd_activated())= ); + action->setShortcut(QKeySequence(Qt::Key_C)); + + action =3D ac->addAction( "inspectCmd" ); + action->setText( i18n("Inspect...") ); + action->setIcon( KIcon("edit-find") ); + connect(action, SIGNAL(triggered(bool)), SLOT(inspectorCmd_activated()= )); + action->setShortcut(QKeySequence(Qt::Key_I)); + + + // Motions commands + action =3D ac->addAction( "runCmd" ); + action->setText( i18n("Run") ); + action->setIcon( KIcon("system-run") ); + + connect(action, SIGNAL(triggered(bool)), SLOT(runCmd_activated())); + action->setShortcut(QKeySequence(Qt::Key_F5)); + + action =3D ac->addAction( "continueCmd" ); + action->setText( i18n("Continue") ); + action->setIcon( KIcon("media-playback-start") ); + + connect(action, SIGNAL(triggered(bool)), SLOT(continueCmd_activated())= ); + action->setShortcut(QKeySequence(Qt::Key_F4)); + + action =3D ac->addAction( "stepCmd" ); + action->setText( i18n("Step") ); + action->setIcon( KIcon("step") ); + + connect(action, SIGNAL(triggered(bool)), SLOT(stepCmd_activated())); + action->setShortcut(QKeySequence(Qt::Key_F8)); + + action =3D new KAction(KIcon("go-down-search"), i18n("Next"), this); + ac->addAction("nextCmd", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(nextCmd_activated())); + action->setShortcut(QKeySequence(Qt::Key_F10)); + + action =3D new KAction(KIcon("xsldbg_stepup"), i18n("Step Up"), this); + ac->addAction("stepupCmd", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(stepupCmd_activated())); + action->setShortcut(QKeySequence(Qt::Key_F6)); + + action =3D new KAction(KIcon("xsldbg_stepdown"), i18n("Step Down"), t= his); + ac->addAction("stepdownCmd", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(stepCmd_activated())); + action->setShortcut(QKeySequence(Qt::Key_F7)); + + // Breakpoint commands + action =3D new KAction(KIcon("xsldbg_break"), i18n("Break"), this); + ac->addAction("breakCmd", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(breakCmd_activated())); + action->setShortcut(QKeySequence(Qt::Key_F2)); + + action =3D new KAction(KIcon("xsldbg_enable"), i18n("Enable/Disable")= , this); + ac->addAction("enableCmd", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(enableCmd_activated())); + action->setShortcut(QKeySequence(Qt::Key_F3)); + + action =3D new KAction(KIcon("xsldbg_delete"), i18n("Delete"), this); + ac->addAction("deleteCmd", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(deleteCmd_activated())); + action->setShortcut(QKeySequence(Qt::Key_Delete)); + + action =3D new KAction(KIcon("xsldbg_source"), i18n("&Source"), this); + ac->addAction("sourceCmd", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(sourceCmd_activated())); + action->setShortcut(QKeySequence(Qt::Key_S)); + + action =3D new KAction(KIcon("xsldbg_data"), i18n("&Data"), this); + ac->addAction("dataCmd", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(dataCmd_activated())); + action->setShortcut(QKeySequence(Qt::Key_D)); + + action =3D new KAction(KIcon("xsldbg_output"), i18n("&Output"), this); + ac->addAction("outputCmd", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(outputCmd_activated())); + action->setShortcut(QKeySequence(Qt::Key_O)); + + action =3D new KAction(KIcon("xsldbg_refresh"), i18n("Reload Current = =46ile From Disk"), this); + ac->addAction("refreshCmd", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(refreshCmd_activated())); + action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_F5)); + + /* tracing and walking */ + action =3D new KAction(i18n("Walk Through Stylesheet..."), this); + ac->addAction("walkCmd", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(walkCmd_activated())); + action->setShortcut(QKeySequence(Qt::Key_W)); + action =3D new KAction(i18n("Stop Wal&king Through Stylesheet"), this= ); + ac->addAction("walkStopCmd", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(walkStopCmd_activated())= ); + action->setShortcut(QKeySequence(Qt::Key_K)); + action =3D new KAction(i18n("Tr&ace Execution of Stylesheet"), this); + ac->addAction("traceCmd", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(traceCmd_activated())); + action->setShortcut(QKeySequence(Qt::Key_A)); + action =3D new KAction(i18n("Stop Tracing of Stylesheet"), this); + ac->addAction("traceStopCmd", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(traceStopCmd_activated()= )); + action->setShortcut(QKeySequence(Qt::Key_K)); + + action =3D new KAction(i18n("&Evaluate Expression..."), this); + ac->addAction("evaluateCmd", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(evaluateCmd_activated())= ); + action->setShortcut(QKeySequence(Qt::Key_E)); + + action =3D new KAction(i18n("Goto &XPath..."), this); + ac->addAction("gotoXPathCmd", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(gotoXPathCmd_activated()= )); + action->setShortcut(QKeySequence(Qt::Key_X)); + + action =3D new KAction(i18n("Lookup SystemID..."), this); + ac->addAction("lookupSystemID", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(slotLookupSystemID())); + + action =3D new KAction(i18n("Lookup PublicID..."), this); + ac->addAction("lookupPublicID", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(slotLookupPublicID())); + + action =3D new KAction(i18n("Quit"), this); + ac->addAction("file_quit", action ); + connect(action, SIGNAL(triggered(bool)), SLOT(quit())); + action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q)); + + /* + action =3D new KAction( i18n("Exit KXsldbg"), + "xsldbg_output", actionCollection(), "exitCmd" ); + connect(action, SIGNAL(triggered(bool)), SLOT(exitCmd_activated())); + action->setShortcut(QKeySequence(CTRL + Key_Q)); + */ + connect( xPathBtn, SIGNAL( clicked() ), + this, SLOT( slotGotoXPath() ) ); + connect( evaluateBtn, SIGNAL( clicked() ), + this, SLOT( slotEvaluate() ) ); +/* + + connect( searchBtn, SIGNAL( clicked() ), + this, SLOT( slotSearch() ) ); +*/ +} + + +void KDevKXSLDbgPlugin::quit() +{ + qWarning("Custom void KDevKXSLDbgPlugin::quit()"); + closeUrl(); +} + + +bool KDevKXSLDbgPlugin::openUrl(const KUrl &url) +{ + bool result =3D fetchURL(url); + if (result){ + QXsldbgDoc *docPtr =3D docDictionary[url.prettyUrl()]; + if (docPtr && docPtr->kateView()){ + if (docPtr !=3D currentDoc){ + currentDoc =3D docPtr; + currentFileName =3D url.prettyUrl(); + mainView->setCurrentWidget(currentDoc->kateView()); + //emit setWindowCaption(currentDoc->url().prettyUrl()); + } + } else{ + result =3D false; + } + } + + if (!result) + qWarning() << "Open URL failed" << __FILE__ << ":" << __LINE__; + + return result; +} + + +/* Don't show the content of URL just loaded it into our data structures */ +bool KDevKXSLDbgPlugin::fetchURL(const KUrl &url) +{ + QString docID =3D url.prettyUrl(); + QXsldbgDoc *docPtr =3D docDictionary[docID]; + if (!docPtr){ + docPtr =3D new QXsldbgDoc(mainView, url); + docDictionary.insert(docID, docPtr); + QHash::const_iterator it; + if (docPtr->kateView()){ + mainView->addWidget(docPtr->kateView()); + KTextEditor::View *v =3D docPtr->kateView(); + connect(v, SIGNAL(cursorPositionChanged(KTextEditor::View *, const KText= Editor::Cursor &)) + , this, SLOT(cursorPositionChanged())); + } + } + + return true; +} + +bool KDevKXSLDbgPlugin::openFile() +{ + qWarning("bool KDevKXSLDbgPlugin::openFile() called"); + return false; +} + +bool KDevKXSLDbgPlugin::closeUrl() +{ + docDictionary.clear(); + return true; +} + +void KDevKXSLDbgPlugin::fileOpen() +{ + // this slot is called whenever the File->Open menu is selected, + // the Open shortcut is pressed (usually CTRL+O) or the Open toolbar + // button is clicked + QString file_name =3D KFileDialog::getOpenFileName(); + + if (file_name.isEmpty() =3D=3D false) + openUrl(KUrl( file_name )); +} + +void KDevKXSLDbgPlugin::configureEditorCmd_activated() +{ + if (currentDoc){ + currentDoc->kateDoc()->editor()->configDialog(mainView); + } +} + +bool KDevKXSLDbgPlugin::checkDebugger() +{ + bool result =3D debugger !=3D 0L; + if (!result){ + QMessageBox::information(0L, i18n("Debugger Not Ready"), + i18n("Configure and start the debugger first."), + QMessageBox::Ok); + } + + return result; +} + + +void KDevKXSLDbgPlugin::lookupSystemID( QString systemID) +{ + bool ok =3D false; + if (!checkDebugger()) + return; + + if (systemID.isEmpty()){ + systemID =3D KInputDialog::getText( + i18n( "Lookup SystemID" ), + i18n( "Please enter SystemID to find:" ), + QString(), &ok, + mainView); + }else{ + ok =3D true; + } + if ( ok && !systemID.isEmpty() ){ + // user entered something and pressed ok + QString msg(QString("system %1").arg(systemID)); // noTr + debugger->fakeInput(msg, true); + } + +} + + +void KDevKXSLDbgPlugin::lookupPublicID(QString publicID) +{ + bool ok =3D false; + if (!checkDebugger()) + return; + + if (publicID.isEmpty()){ + publicID =3D KInputDialog::getText( + i18n( "Lookup PublicID" ), + i18n( "Please enter PublicID to find:" ), + QString(), &ok, mainView ); + }else{ + ok =3D true; + } + if ( ok && !publicID.isEmpty()){ + // user entered something and pressed ok + QString msg(QString("public %1").arg(publicID)); // noTr + debugger->fakeInput(msg, true); + } +} + + +void KDevKXSLDbgPlugin::slotLookupSystemID() +{ + lookupSystemID(""); +} + +void KDevKXSLDbgPlugin::slotLookupPublicID() +{ + lookupPublicID(""); +} + +void KDevKXSLDbgPlugin::configureCmd_activated() +{ + if (!checkDebugger()) + return; + + if (configWidget !=3D 0L){ + configWidget->refresh(); + configWidget->show(); + } +} + +void +KDevKXSLDbgPlugin::runCmd_activated() +{ + if ( checkDebugger() ) + debugger->slotRunCmd(); +} + +void KDevKXSLDbgPlugin::inspectorCmd_activated() +{ + if (inspector =3D=3D 0L) + createInspector(); + + if (checkDebugger() && (inspector !=3D 0L)){ + inspector->show(); + } +} + + +void KDevKXSLDbgPlugin::createInspector() +{ + if ( inspector =3D=3D 0L ) { + debugger =3D new XsldbgDebugger(); + Q_CHECK_PTR( debugger ); + if ( debugger !=3D 0L ) { + connect(debugger, SIGNAL( debuggerReady()), + this, SLOT(debuggerStarted())); + if (outputview){ + connect(debugger, + SIGNAL( showMessage(QString /* msg*/)), + outputview, + SLOT(slotProcShowMessage(QString /* msg*/))); + } + inspector =3D new XsldbgInspector( debugger ); + Q_CHECK_PTR( inspector ); + debugger->setInspector( inspector ); + if (inspector !=3D 0L){ + /*process line number and/or file name changed */ + connect(debugger, + SIGNAL(lineNoChanged + (QString /* fileName */ , + int /* lineNumber */ , + bool /* breakpoint */ ) ), + this, + SLOT(lineNoChanged + ( QString /* fileName */ , + int /* lineNumber */ , + bool /* breakpoint */ ) ) ); + connect(debugger, + SIGNAL(breakpointItem(QString /* fileName*/, + int /* lineNumber */, + QString /*templateName*/, + QString /* modeName */, + bool /* enabled */, + int /* id */)), + this, + SLOT( breakpointItem(QString /* fileName*/, + int /* lineNumber */, + QString /*templateName*/, + QString /* modeName */, + bool /* enabled */, + int /* id */))); + connect(debugger, SIGNAL(resolveItem(QString /*URI*/)), + this, SLOT(slotProcResolveItem(QString /*URI*/))); + } + } + } +} + +void KDevKXSLDbgPlugin::emitOpenFile(QString file, int line, int row) +{ + Q_UNUSED(file) + Q_UNUSED(line) + Q_UNUSED(row) + qWarning("%s %s", __PRETTY_FUNCTION__, "called but not supported"); +} + +void KDevKXSLDbgPlugin::continueCmd_activated() +{ + if ( checkDebugger() ) + debugger->slotContinueCmd(); + +} + +void KDevKXSLDbgPlugin::stepCmd_activated() +{ + if ( checkDebugger() ) + debugger->slotStepCmd(); +} + +void KDevKXSLDbgPlugin::nextCmd_activated() +{ + if ( checkDebugger() ) + debugger->fakeInput("next", true); // noTr +} + + +void KDevKXSLDbgPlugin::stepupCmd_activated() +{ + if ( checkDebugger() ) + debugger->fakeInput("stepup", true); // noTr +} + + +void KDevKXSLDbgPlugin::stepdownCmd_activated() +{ + if ( checkDebugger() ) + debugger->fakeInput("stepdown", true); // noTr +} + + +void KDevKXSLDbgPlugin::dataCmd_activated() +{ + if ( checkDebugger() ) + debugger->slotDataCmd(); +} + +void +KDevKXSLDbgPlugin::sourceCmd_activated() +{ + if ( checkDebugger() ) + debugger->slotSourceCmd(); +} + +void +KDevKXSLDbgPlugin::outputCmd_activated() +{ + if ( ( inspector !=3D 0L ) && checkDebugger() && ( configWidget !=3D 0L= ) ){ + debugger->setOutputFileActive(true); + lineNoChanged( configWidget->getOutputFile(), 1, false ); + refreshCmd_activated(); + } +} + +void KDevKXSLDbgPlugin::refreshCmd_activated() +{ + + if ( !currentFileName.isEmpty() ){ + QXsldbgDoc *docPtr; + QHash::const_iterator it; + for (it =3D docDictionary.constBegin(); it !=3D docDictionary.cons= tEnd(); ++it){ + docPtr =3D it.value(); + if(docPtr) + docPtr->refresh(); + } + if ( checkDebugger() ){ + debugger->fakeInput("showbreak", true); // noTr + } + } +} + +void KDevKXSLDbgPlugin::enableCmd_activated() +{ + if ( checkDebugger() ){ + debugger->slotEnableCmd( currentFileName, currentLineNo); + } +} + +void KDevKXSLDbgPlugin::deleteCmd_activated() +{ + if ( checkDebugger() ){ + debugger->slotDeleteCmd( currentFileName, currentLineNo); + } +} + +void KDevKXSLDbgPlugin::breakCmd_activated() +{ + if ( checkDebugger() ){ + debugger->slotBreakCmd( currentFileName, currentLineNo); + } +} + +void KDevKXSLDbgPlugin::evaluateCmd_activated() +{ + QString expression =3D KInputDialog::getText(i18n("Evaluate Expression")= , i18n("XPath:")); + if (checkDebugger() && (expression.length() > 0)){ + debugger->slotCatCmd( expression); + } +} + +void KDevKXSLDbgPlugin::gotoXPathCmd_activated() +{ + QString xpath =3D KInputDialog::getText(i18n("Goto XPath"), i18n("XPath:= ")); + if (checkDebugger() && xpath.length() > 0){ + debugger->slotCdCmd( xpath ); + } +} + +void +KDevKXSLDbgPlugin::lineNoChanged(QString fileName, int lineNumber, bool br= eakpoint) +{ + if ( fileName.isEmpty() ) { + return; + } + + openUrl(fileName); + + /* Did we stop at a breakpoint if so move the marker */ + if (breakpoint && currentDoc) { + currentDoc->selectBreakPoint(lineNumber); + emit newDebuggerPosition(currentFileName, lineNumber); + } + + /* Move cursor and update status bar */ + if (currentDoc && currentDoc->kateView()){ + currentDoc->kateView()->setCursorPosition(KTextEditor::Cursor(lineNumb= er - 1, 0)); + currentLineNo =3D lineNumber; + } +} + +void KDevKXSLDbgPlugin::cursorPositionChanged() +{ + if (currentDoc && currentDoc->kateView()){ + KTextEditor::Cursor c =3D currentDoc->kateView()->cursorPosition(); + currentLineNo =3D c.line(); + currentColumnNo =3D c.column(); + currentLineNo++; + currentColumnNo++; + emit newCursorPosition(currentFileName, currentLineNo,0); + } +} + +void KDevKXSLDbgPlugin::docChanged() +{ + if (!currentDoc || currentDoc->kateDoc() || currentDoc->kateView()) + return; +} + +void KDevKXSLDbgPlugin::debuggerStarted() +{ + if (configWidget !=3D 0L){ + KCmdLineArgs *args =3D KCmdLineArgs::parsedArgs(); + if (args){ + int i=3D0, result=3D1, noFilesFound =3D 0; + QString expandedName; /* contains file name with path expansion = if any */ + + for (i =3D 0; i < args->count(); i++) { + if (!result) + break; + + if (args->arg(i)[0] !=3D '-') { + expandedName =3D QString::fromUtf8((const char*)filesExpandName((con= st xmlChar*)args->arg(i).toUtf8().data())); + if (expandedName.isEmpty()) { + result =3D 0; + break; + } + switch (noFilesFound) { + case 0: + configWidget->slotSourceFile(expandedName); + noFilesFound++; + break; + case 1: + configWidget->slotDataFile(expandedName); + noFilesFound++; + break; + case 2: + configWidget->slotOutputFile(expandedName); + noFilesFound++; + break; + + default: + xsldbgGenericErrorFunc(i18n("Error: Too many file names supplied vi= a command line.\n")); + result =3D 0; + } + continue; + } + } + configWidget->refresh(); + } + } +} + +void KDevKXSLDbgPlugin::addBreakPoint(int lineNumber) +{ + if ( checkDebugger() ){ + debugger->slotBreakCmd( currentFileName, lineNumber); + } +} + +void KDevKXSLDbgPlugin::enableBreakPoint(int lineNumber) +{ + if ( checkDebugger() ){ + debugger->slotEnableCmd( currentFileName, lineNumber); + } +} + + +void KDevKXSLDbgPlugin::deleteBreakPoint(int lineNumber) +{ + if ( checkDebugger() ){ + debugger->slotDeleteCmd( currentFileName, lineNumber); + } +} + + + +void KDevKXSLDbgPlugin::slotSearch() +{ + if ((newSearch !=3D 0L) && checkDebugger() ) { + QString msg(QString("search \"%1\"").arg(newSearch->text())); // noTr + debugger->fakeInput(msg, false); + } +} + + +void KDevKXSLDbgPlugin::slotEvaluate() +{ + if ((newEvaluate !=3D 0L) && checkDebugger() ){ + debugger->slotCatCmd( newEvaluate->text() ); + } +} + +void KDevKXSLDbgPlugin::slotGotoXPath() +{ + if ((newXPath !=3D 0L) && checkDebugger() ){ + debugger->slotCdCmd( newXPath->text() ); + } +} + + + +void KDevKXSLDbgPlugin::slotProcResolveItem(QString URI) +{ + if (!URI.isEmpty()){ + QMessageBox::information(mainView, i18n("SystemID or PublicID Resoluti= on Result"), + i18n("SystemID or PublicID has been resolved to\n.%1", URI), + QMessageBox::Ok); + } +} + +void KDevKXSLDbgPlugin::breakpointItem(QString fileName, int lineNumber , + QString /*templateName*/, QString /* modeName */, + bool enabled , int /* id */) +{ + + if (fileName =3D=3D 0L){ + /* Go through all documents and remove all breakpoints */ + QXsldbgDoc *docPtr=3D0; + KTextEditor::MarkInterface *markIf =3D 0L; + QHash::iterator it; + for (it =3D docDictionary.begin(); it !=3D docDictionary.end(); ++= it){ + docPtr =3D it.value(); + if (docPtr){ + markIf =3D qobject_cast( docP= tr->kateDoc() ); + if (markIf) + markIf->clearMarks(); + } + } + }else{ + /* + if (!fileName.contains("://")){ + // relative path ? must handle this special case + KUrl url; + url.setFileName(fileName); + fetchURL(url); + }else{ + fetchURL(fileName); + } + */ + fetchURL(fileName); + QXsldbgDoc *docPtr =3D docDictionary[fileName] ; + if (docPtr) + docPtr->enableBreakPoint(--lineNumber, enabled); + } +} + + + +void KDevKXSLDbgPlugin::walkCmd_activated() +{ + if (checkDebugger()){ + debugger->slotWalkCmd(); + } +} + +void KDevKXSLDbgPlugin::walkStopCmd_activated() +{ + if (checkDebugger()){ + debugger->slotWalkStopCmd(); + } +} + +void KDevKXSLDbgPlugin::traceCmd_activated() +{ + if (checkDebugger()){ + debugger->slotTraceCmd(); + } +} + +void KDevKXSLDbgPlugin::traceStopCmd_activated() +{ + walkStopCmd_activated(); +} + Index: plugins/kxsldbg/kcm_kdev_kxsldbg.desktop =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- plugins/kxsldbg/kcm_kdev_kxsldbg.desktop (revision 0) +++ plugins/kxsldbg/kcm_kdev_kxsldbg.desktop (revision 0) @@ -0,0 +1,42 @@ +[Desktop Entry] +Encoding=3DUTF-8 +Icon=3Dkxsldbg +Type=3DService +ServiceTypes=3DKCModule +Name=3DKXSLDbg Settings +Name[x-test]=3DxxKXSLDbg Settingsxx +GenericName=3DKXSLDbg Plugin +GenericName[fr]=3D +GenericName[ga]=3D +GenericName[pt]=3D +GenericName[pt_BR]=3D +GenericName[tr]=3D +GenericName[uk]=3D +GenericName[x-test]=3DxxKXSLDbg Settingsxx +GenericName[zh_TW]=3D +Comment=3DConfigure KXSLDbg Settings +Comment[fr]=3D +Comment[ga]=3D +Comment[pt]=3D +Comment[pt_BR]=3D +Comment[tr]=3D +Comment[uk]=3D +Comment[x-test]=3DxxConfigure KXSLDbg Settingsxx +Comment[zh_TW]=3D + +X-KDevelop-Plugin-Version=3D1 +X-KDevelop-Plugin-BugsEmailAddress=3Dkeith@kdewebdev.org +X-KDevelop-Plugin-Copyright=3D(C) by Keith Isdale +X-KDevelop-Plugin-License=3DGPL + + +X-KDevelop-Args=3D + +X-KDE-PluginInfo-Name=3DKCmKDevKXSLDbg +X-KDE-ModuleType=3DLibrary +X-KDE-Library=3Dkcm_kdev_kxsldbg +X-KDE-ParentApp=3Dkdevplatformproject +X-KDE-ParentComponents=3Dkdevplatformproject +X-KDE-CfgDlgHierarchy=3DGENERAL +X-KDevelop-Category=3DGlobal +X-KDevelop-Version=3D4 Index: plugins/kxsldbg/kdevkxsldbg.rc =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- plugins/kxsldbg/kdevkxsldbg.rc (revision 0) +++ plugins/kxsldbg/kdevkxsldbg.rc (revision 0) @@ -0,0 +1,81 @@ + + + + + + + &File + + + + + Debug + + + + + + + + + + + + + + + + =09 + + + + + + + + + + + + + + &Settings + + + + + + + + + + + + + +Main Toolbar + + + + + + + + + + + + + + + + + + + + + + + =09 + + Index: plugins/kxsldbg/kdevkxsldbgplugin.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- plugins/kxsldbg/kdevkxsldbgplugin.h (revision 0) +++ plugins/kxsldbg/kdevkxsldbgplugin.h (revision 0) @@ -0,0 +1,181 @@ +/** + * + * This file is part of the kxsldbg package + * Copyright (c) 2008 Keith Isdale + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License version 2 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public Lice= nse + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + **/ + +#ifndef KDEVKXSLDBGPLUGIN_H +#define KDEVKXSLDBGPLUGIN_H +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +class KxsldbgAdaptor; + +class QGridLayout; +class QAction; +class QLineEdit; +class QDockWindow; +class QStackedWidget; + +class XsldbgBrkStatusView; +class QXsldbgDoc; +class XsldbgOutputView; +class XsldbgConfigImpl; + +class QWidget; +class QPainter; +class KUrl; +class KVBox; +class KFrame; +class KAboutData; + +typedef QHash XsldbgDocDict; +class KActionMenu; + +class KDevKXSLDbgViewFactory; + +class KDevKXSLDbgPlugin: public KDevelop::IPlugin +{ +Q_OBJECT +public: + KDevKXSLDbgPlugin(QObject *parent, const QVariantList & =3D QVariantLi= st()); + virtual ~KDevKXSLDbgPlugin(); + + void setupActions(); + + + /** 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(QString systemID); + void lookupPublicID(QString publicID); + void createInspector(); + +Q_SIGNALS: + Q_SCRIPTABLE void newCursorPosition(const QString &file, int lineNumbe= r, int columnNumber); + Q_SCRIPTABLE void newDebuggerPosition(const QString &file, int lineNum= ber); + + public slots: + virtual bool openUrl(const KUrl &url); + virtual bool closeUrl(); + void quit(); + void emitOpenFile(QString file, int line, int row); + void slotLookupSystemID(); + void slotLookupPublicID(); + void walkCmd_activated(); + void walkStopCmd_activated(); + void traceCmd_activated(); + void traceStopCmd_activated(); + void configureEditorCmd_activated();=20 + + //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 */=09 + void evaluateCmd_activated(); + + /** Goto/display file XPath entered */ + void gotoXPathCmd_activated(); + + virtual void lineNoChanged( QString 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 databas= e */ + void slotSearch(); + + /* Process the the URI for SystemID or PublicID requested */ + void slotProcResolveItem(QString URI); + + /* used to get breakpoint list notfication */ + void breakpointItem(QString fileName, int lineNumber , + QString /*templateName*/, QString /* modeName */, + bool enabled , int /* id */); + + void cursorPositionChanged(); + void docChanged(); + + void debuggerStarted(); + QWidget * topWidget(QWidget *parent); + +protected: + /** + * This must be implemented by each part + */ + virtual bool openFile(); + bool fetchURL(const KUrl &url); + + protected slots: + void fileOpen(); + +private: + KDevKXSLDbgViewFactory *m_widgetFactory; + KActionMenu* m_projectKXSLDbgActionMenu; ///< KXSLDbg ActionMenu, disp= layed in the Project-Menu + KVBox * frame; + QXsldbgDoc *currentDoc; + QStackedWidget *mainView; + QDBusInterface *dbusIface; + + QPushButton *xPathBtn, *searchBtn, *evaluateBtn; + QLineEdit *newXPath, *newSearch, *newEvaluate; + QGridLayout* qxsldbgLayout; + + uint currentLineNo, currentColumnNo; + XsldbgDocDict docDictionary; + XsldbgInspector *inspector; + XsldbgDebugger *debugger; + XsldbgConfigImpl *configWidget; + QString currentFileName; + + XsldbgOutputView *outputview; +}; + +#endif Index: plugins/kxsldbg/CMakeLists.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- plugins/kxsldbg/CMakeLists.txt (revision 0) +++ plugins/kxsldbg/CMakeLists.txt (revision 0) @@ -0,0 +1,133 @@ +include_directories( + ${KDEVPLATFORM_INCLUDE_DIR} + ${KDEVPLATFORM_INCLUDE_DIR}/interfaces + ${KDEVPLATFORM_INCLUDE_DIR}/outputview + ${CMAKE_SOURCE_DIR}/kxsldbg/ + ${CMAKE_BINARY_DIR}/kxsldbg/ + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/ + ${LIBXSLT_INCLUDE_DIR} + ${LIBXML2_INCLUDE_DIR} +) + +########### next target ############### + +#setings +set(kcm_kdev_kxsldbg_PART_SRCS + kdevkxsldbgconfigimpl.cpp + # ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgconfigimpl.cpp +) + +set(kcm_kdev_kxsldbg_PART_UI + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgconfig.ui +) + +kde4_add_ui_files(kcm_kdev_kxsldbg_PART_SRCS ${kcm_kdev_kxsldbg_PART_UI}) +#kde4_add_kcfg_files( kcm_kdev_kxsldbg_PART_SRCS kxsldbg.kcfgc ) +kde4_add_plugin(kcm_kdev_kxsldbg ${kcm_kdev_kxsldbg_PART_SRCS}) + +target_link_libraries(kcm_kdev_kxsldbg + ${KDE4_KUTILS_LIBS} +) + +install(TARGETS kcm_kdev_kxsldbg DESTINATION ${PLUGIN_INSTALL_DIR}) +install(FILES kcm_kdev_kxsldbg.desktop DESTINATION ${SERVICES_INSTALL_DIR}) + + +########### next target ############### + + +set(libqtnotfier_SRCS + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libqtnotfier/xsldbgthread.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libqtnotfier/xsldbgnotifier.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libqtnotfier/xsldbgevent.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libqtnotfier/xsldbgdebuggerbas= e.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libqtnotfier/qtnotifier2.cpp + ) + +set(libxsldbg_SRCS + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/allmoc.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/xsldbgthread.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/xsldbg.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/xsldbgmsg.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/variable_cmds.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/utils.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/trace_cmds.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/template_cmds.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/search_cmds.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/search.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/param_cmds.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/os_cmds.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/options_unix.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/options.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/option_cmds.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/nodeview_cmds.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/help_unix.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/files_unix.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/files.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/file_cmds.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/debugXSL.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/debug.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/callstack.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/breakpoint_cmds.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/breakpoint.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/libxsldbg/arraylist.cpp + ) + +set(libkxsldbgcommon_SRCS + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgwalkspeedimpl.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgtemplatesimpl.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgsourcesimpl.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgoutputview.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgvariablesimpl.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbginspector.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgentitiesimpl.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgdoc.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgdialogbase.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgdebugger.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgconfigimpl.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgcallstackimpl.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgbreakpointsimpl.cpp + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/qxsldbgdoc.cpp + ) + + +kde4_add_ui_files(kxsldbgpart_PART_SRCS + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgbreakpoints.ui + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgcallstack.ui=20 + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgconfig.ui + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgentities.ui=20 + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgmsgdialog.ui=20 + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgvariables.ui + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgsources.ui + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgtemplates.ui + ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/xsldbgwalkspeed.ui) + +#plugin +set(kdevkxsldbg_PART_SRCS + kdevkxsldbgplugin.cpp + ${libqtnotfier_SRCS} + ${libxsldbg_SRCS} + ${libkxsldbgcommon_SRCS} +) + +qt4_add_dbus_adaptor(kdevkxsldbg_SRCS org.kde.kxsldbg.kxsldbg.xml kxsldbg_= part.h KXsldbgPart) +set(network_xml ${CMAKE_SOURCE_DIR}/kxsldbg/kxsldbgpart/org.kde.kxsldbg.k= xsldbg.xml) +qt4_add_dbus_interface(kdevkxsldbg_SRCS ${network_xml} kxsldbgpartinterfac= e) +kde4_add_plugin(kdevkxsldbg WITH_PREFIX ${kdevkxsldbg_PART_SRCS}) + +target_link_libraries(kdevkxsldbg + kdevquanta + kdevplatforminterfaces + kdevplatformproject + ${KDE4_KTEXTEDITOR_LIBS} + exslt + ${LIBXML2_LIBRARIES} + ${LIBXSLT_LIBRARIES} + ${QT_QT3SUPPORT_LIBRARY} +) + +########### install files ############### +install(TARGETS kdevkxsldbg DESTINATION ${PLUGIN_INSTALL_DIR}) +install(FILES kdevkxsldbg.desktop DESTINATION ${SERVICES_INSTALL_DIR}) +install(FILES kdevkxsldbg.rc DESTINATION ${DATA_INSTALL_DIR}/kdevkxsldbg) + Index: src/profile.config =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- src/profile.config (revision 794937) +++ src/profile.config (working copy) @@ -9,5 +9,4 @@ GenericName=3Dquanta =20 [Properties] =2DList=3DQuantaCore,Quanta-CreateProject,Quanta-FilesTree,Quanta-Preview,Q= uanta-ProjectTree,Quanta-StructureTree,Quanta-TagDialogs,Quanta-TemplatesTr= ee,UserToolbars,Console,Subversion,Quanta-Upload =2D +List=3DQuantaCore,Quanta-CreateProject,Quanta-FilesTree,Quanta-Preview,Qua= nta-ProjectTree,Quanta-StructureTree,Quanta-TagDialogs,Quanta-TemplatesTree= ,UserToolbars,Console,Subversion,Quanta-Upload,Quanta-KXSLDbg --Boundary-01=_a9A/HYdyfyk217p-- --nextPart3277057.QRQazybsph Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) iD8DBQBH/A9i6GIxm21XV1gRAvfBAKCOQdat5yGdKZSQrRtzCNe1ygi6ZwCfVXh9 HniHg90B9CyrfSH/x1O5mZk= =ETMX -----END PGP SIGNATURE----- --nextPart3277057.QRQazybsph-- --===============1720104319== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ quanta-devel mailing list quanta-devel@kde.org https://mail.kde.org/mailman/listinfo/quanta-devel --===============1720104319==--