diff options
280 files changed, 2 insertions, 35192 deletions
@@ -21,9 +21,6 @@ Kommander (kommander): Eric Laffoon <sequitur@easystreet.com> Michal Rudolf <mrudolf@kdewebdev.org> -KXSLDbg (kxsldbg): - Author: Keith Isdale <k_isdale@tpg.com.au> - KImageMapEditor: Author: Jan Sch�fer <JanSchaefer@gmx.de> diff --git a/CMakeLists.txt b/CMakeLists.txt index 84420a6e..064b4ee0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -55,7 +55,6 @@ option( WITH_QUANTA_CVSSERVICE "Build quanta with cvs service support" option( BUILD_ALL "Build all" ON ) option( BUILD_QUANTA "Build quanta" ${BUILD_ALL} ) -option( BUILD_KXSLDBG "Build kxsldbg" ${BUILD_ALL} ) option( BUILD_KOMMANDER "Build Kommander" ${BUILD_ALL} ) option( BUILD_KLINKSTATUS "Build klinkstatus" ${BUILD_ALL} ) option( BUILD_KIMAGEMAPEDITOR "Build kimagemapeditor" ${BUILD_ALL} ) @@ -64,7 +63,6 @@ option( BUILD_DOC "Build documentation" ${BUILD_ALL} ) ##### user defined options -set( XSLDBG_BIN "xsldbg" CACHE STRING "Name of the xsldbg executable" ) set( KMDR_EXECUTOR_PATH "${CMAKE_INSTALL_PREFIX}/bin/kmdr-executor" CACHE STRING "Path for the kmdr-executor executable" ) @@ -86,7 +84,6 @@ set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" tde_conditional_add_subdirectory( BUILD_QUANTA lib ) tde_conditional_add_subdirectory( BUILD_QUANTA quanta ) -tde_conditional_add_subdirectory( BUILD_KXSLDBG kxsldbg ) tde_conditional_add_subdirectory( BUILD_KOMMANDER kommander ) tde_conditional_add_subdirectory( BUILD_KLINKSTATUS klinkstatus ) tde_conditional_add_subdirectory( BUILD_KIMAGEMAPEDITOR kimagemapeditor ) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 7fc1c49b..10d7307b 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -31,27 +31,7 @@ endif( WITH_GCC_VISIBILITY ) find_package( X11) -##### check for headers - -check_include_file( unistd.h HAVE_UNISTD_H ) -check_include_file( string.h HAVE_STRING_H ) -check_include_file( sys/time.h HAVE_SYS_TIME_H ) -check_include_file( sys/stat.h HAVE_SYS_STAT_H ) -check_include_file( stdlib.h HAVE_STDLIB_H ) -check_include_file( stdarg.h HAVE_STDARG_H ) -check_include_file( time.h HAVE_TIME_H ) -check_include_file( locale.h LOCALE_PREFIX ) -check_include_file( pthread.h USE_XSLDBG_AS_THREAD ) - - -##### check for functions - -check_function_exists( gettimeofday HAVE_GETTIMEOFDAY ) -check_function_exists( usleep HAVE_USLEEP ) -check_function_exists( stat HAVE_STAT ) - - -if( (BUILD_QUANTA) OR (BUILD_KXSLDBG) OR (BUILD_KLINKSTATUS) ) +if( (BUILD_QUANTA) OR (BUILD_KLINKSTATUS) ) ##### check for icu's c++ standard @@ -113,70 +93,8 @@ if( (BUILD_QUANTA) OR (BUILD_KXSLDBG) OR (BUILD_KLINKSTATUS) ) message( STATUS "kompare (diff utility - tdesdk) installation is advised since some quanta's features will make use of It." ) endif() endif( BUILD_QUANTA ) - - - if( BUILD_KXSLDBG ) - find_package( Threads ) - - tde_save( CMAKE_REQUIRED_INCLUDES ) - set( CMAKE_REQUIRED_INCLUDES ${LIBXML_INCLUDE_DIRS} ) - set( LIBXML_DOCB_ENABLED 1 CACHE BOOL "Enable docbook input files" ) - check_include_file( "libxml/xinclude.h" LIBXML_XINCLUDE_ENABLED ) - tde_restore( CMAKE_REQUIRED_INCLUDES ) - - -##### check for libexslt - - pkg_search_module( LIBEXSLT libexslt ) - if( NOT LIBEXSLT_FOUND ) - tde_message_fatal( "libexlt is required but was not found on your system" ) - endif() - -##### check for readline - - find_path( READLINE_INCLUDE_DIR - NAMES "readline/readline.h" "readline/history.h" - HINTS "/usr/include" "/usr/local/include" - DOC "Looking for readline header's path" - ) - find_library( READLINE_LIBRARY - NAMES readline history - DOC "Looking for readline libraries" - ) - - if( (READLINE_INCLUDE_DIR) AND ( READLINE_LIBRARY ) ) - set( HAVE_READLINE 1 ) - set( HAVE_HISTORY 1 ) - set( READLINE_LIBRARIES ${READLINE_LIBRARY} ) - set( READLINE_INCLUDE_DIRS ${READLINE_INCLUDE_DIR} ) - else() - tde_message_fatal( "readline is required but was not found on your system" ) - endif() - -##### look for Curses - - tde_save_and_set( CMAKE_REQUIRED_INCLUDES ${READLINE_INCLUDE_DIRS} ) - tde_save_and_set( CMAKE_REQUIRED_LIBRARIES ${READLINE_LIBRARIES} ) - check_c_source_compiles(" - #include <readline/readline.h> - int main(void) - { - char *result = readline(\"prompt\"); - return 0; - }" - BUILD_READLINE_STANDALONE - ) - if( NOT BUILD_READLINE_STANDALONE ) - find_package( Curses ) - if( NOT CURSES_FOUND ) - tde_message_fatal( "(n)curses is required but was not found on your system" ) - endif() - list( APPEND READLINE_LIBRARIES ${CURSES_LIBRARIES} ) - endif() - tde_restore( CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES ) - endif( BUILD_KXSLDBG ) -endif( (BUILD_QUANTA) OR (BUILD_KXSLDBG) OR (BUILD_KLINKSTATUS) ) +endif( (BUILD_QUANTA) OR (BUILD_KLINKSTATUS) ) ##### option other editors @@ -49,11 +49,6 @@ Severity levels mean: Severity: Recommended Location: tdesdk module -- KXSLDbg: - Description: XSLT debugger - Severity: Recommended - Location: tdewebdev module - - KImageMapEditor: Description: Helps creation and editing of HTML image-maps Severity: Optional @@ -8,7 +8,6 @@ highly recommended that you install them. The extra applications are: Kommander: a GUI script builder and executor tool. Needed for some Quanta functionality. -KXSLDbg: XSL debugger KImageMapEditor: image map editor KLinkStatus: link checker diff --git a/config.h.cmake b/config.h.cmake index 75396aef..de62d095 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -7,63 +7,12 @@ significant byte first (like Motorola and SPARC, unlike Intel). */ #cmakedefine WORDS_BIGENDIAN @WORDS_BIGENDIAN@ -/* Define to 1 if you have the <unistd.h> header file. */ -#cmakedefine HAVE_UNISTD_H 1 - -/* Define to 1 if you have the <string.h> header file. */ -#cmakedefine HAVE_STRING_H 1 - -/* Define to 1 if you have the <sys/time.h> header file. */ -#cmakedefine HAVE_SYS_TIME_H 1 - -/* Define to 1 if you have the <sys/stat.h> header file. */ -#cmakedefine HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the <stdlib.h> header file. */ -#cmakedefine HAVE_STDLIB_H 1 - -/* Define to 1 if you have the <stdarg.h> header file. */ -#cmakedefine HAVE_STDARG_H 1 - -/* Define to 1 if you have the <time.h> header file. */ -#cmakedefine HAVE_TIME_H 1 - -/* Define to 1 if you have the <pthread.h> header file. */ -#cmakedefine USE_XSLDBG_AS_THREAD 1 - -/* Define to 1 if you have the <locale.h> header file. */ -//#cmakedefine LOCALE_PREFIX 1 - -/* Define to 1 if you have the <readline/readline.h> header file. */ -#cmakedefine HAVE_READLINE @HAVE_READLINE@ - -/* Define to 1 if you have the 'gettimeofday' function */ -#cmakedefine HAVE_GETTIMEOFDAY 1 - -/* Define to 1 if you have the 'usleep' function */ -#cmakedefine HAVE_USLEEP 1 - -/* Define to 1 if you have the 'stat' function */ -#cmakedefine HAVE_STAT 1 - -/* Define to 1 if you have the <readline/history.h> header file. */ -#cmakedefine HAVE_HISTORY @HAVE_HISTORY@ - -/* Define the name of the xsldbg executable */ -#cmakedefine XSLDBG_BIN "@XSLDBG_BIN@" - /* Defined if you build build for other editors than Kate */ #cmakedefine ENABLE_EDITORS 1 /* Defined if you build with cvsservice */ #cmakedefine ENABLE_CVSSERVICE 1 -/* Defined if you build with enabled docbook input files */ -#cmakedefine LIBXML_DOCB_ENABLED - -/* Defined if you have <libxml/xinclude.h> header file */ -#cmakedefine LIBXML_XINCLUDE_ENABLED - /* Define the kmdr-executor executable path */ #cmakedefine KMDR_EXECUTOR_PATH "@KMDR_EXECUTOR_PATH@" diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 27232392..ac4235de 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,8 +1,6 @@ add_subdirectory( man ) tde_conditional_add_subdirectory( BUILD_QUANTA quanta ) -tde_conditional_add_subdirectory( BUILD_KXSLDBG kxsldbg ) -tde_conditional_add_subdirectory( BUILD_KXSLDBG xsldbg ) tde_conditional_add_subdirectory( BUILD_KOMMANDER kommander ) tde_conditional_add_subdirectory( BUILD_KLINKSTATUS klinkstatus ) tde_conditional_add_subdirectory( BUILD_KIMAGEMAPEDITOR kimagemapeditor ) diff --git a/doc/kxsldbg/1downarrow.png b/doc/kxsldbg/1downarrow.png Binary files differdeleted file mode 100644 index 7f38ac13..00000000 --- a/doc/kxsldbg/1downarrow.png +++ /dev/null diff --git a/doc/kxsldbg/CMakeLists.txt b/doc/kxsldbg/CMakeLists.txt deleted file mode 100644 index 10326ba8..00000000 --- a/doc/kxsldbg/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -tde_create_handbook( DESTINATION kxsldbg ) diff --git a/doc/kxsldbg/Makefile.am b/doc/kxsldbg/Makefile.am deleted file mode 100644 index 41691557..00000000 --- a/doc/kxsldbg/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -KDE_LANG = en -KDE_DOCS = AUTO - diff --git a/doc/kxsldbg/breakpoints_window.png b/doc/kxsldbg/breakpoints_window.png Binary files differdeleted file mode 100644 index 07dea01e..00000000 --- a/doc/kxsldbg/breakpoints_window.png +++ /dev/null diff --git a/doc/kxsldbg/callstack.docbook b/doc/kxsldbg/callstack.docbook deleted file mode 100644 index 20c46fab..00000000 --- a/doc/kxsldbg/callstack.docbook +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<sect1 id="callstack"> -<sect1info> -<authorgroup> -<author> -<firstname>Keith</firstname> -<surname>Isdale</surname> -<affiliation> -<address><email>k_isdale@tpg.com.au</email></address> -</affiliation> -</author> -<!-- TRANS:ROLES_OF_TRANSLATORS --> -</authorgroup> -</sect1info> - -<title>Working With the Callstack</title> - -<para> -All call stack items found are listed here. The older the callstack entry -the lower the frame number it will have. See below for an example.</para> - -<screenshot> -<screeninfo>The Callstack Window</screeninfo> -<mediaobject> -<imageobject> -<imagedata fileref="callstack_window.png" format="PNG" /> -</imageobject> -<textobject><phrase>The Callstack Window</phrase></textobject> -</mediaobject> -</screenshot> - -<para> -Clicking on a callstack entry in the list shown will cause the cursor in -the main window to move to the file and line number indicated. -</para> -</sect1> - diff --git a/doc/kxsldbg/callstack_window.png b/doc/kxsldbg/callstack_window.png Binary files differdeleted file mode 100644 index b61e05d4..00000000 --- a/doc/kxsldbg/callstack_window.png +++ /dev/null diff --git a/doc/kxsldbg/configure.png b/doc/kxsldbg/configure.png Binary files differdeleted file mode 100644 index 63100c47..00000000 --- a/doc/kxsldbg/configure.png +++ /dev/null diff --git a/doc/kxsldbg/configure_window.png b/doc/kxsldbg/configure_window.png Binary files differdeleted file mode 100644 index 1b8f3b53..00000000 --- a/doc/kxsldbg/configure_window.png +++ /dev/null diff --git a/doc/kxsldbg/credits.docbook b/doc/kxsldbg/credits.docbook deleted file mode 100644 index 0bd018d6..00000000 --- a/doc/kxsldbg/credits.docbook +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<chapter id="credits-and-licenses"> -<chapterinfo> -<authorgroup> -<author> -<firstname>Keith</firstname> -<surname>Isdale</surname> -<affiliation> -<address><email>k_isdale@tpg.com.au</email></address> -</affiliation> -</author> -<!-- TRANS:ROLES_OF_TRANSLATORS --> -</authorgroup> -</chapterinfo> -<title>Credits and Licenses</title> - -<para>&kxsldbg; © 2004 Keith Isdale</para> -<para>Documentation © 2004 Keith Isdale</para> - - -<itemizedlist> -<title>Thanks to:</title> -<listitem> -<para> -The writers the <application>libxml</application> and -<application>libxslt</application>. -</para> -</listitem> -<listitem> -<para> -Robert Jacolin for feedback on earlier version of &kxsldbg;. -</para> -</listitem> -<listitem> -<para> -Igor Zlatkovic for creating WIN32 binaries of -<application>libxml/xslt</application> and &xsldbg;. -</para> -</listitem> -</itemizedlist> -&underFDL; -&underGPL; - -</chapter> diff --git a/doc/kxsldbg/entities.docbook b/doc/kxsldbg/entities.docbook deleted file mode 100644 index 1f680971..00000000 --- a/doc/kxsldbg/entities.docbook +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<sect1 id="entities"> -<sect1info> -<authorgroup> -<author> -<firstname>Keith</firstname> -<surname>Isdale</surname> -<affiliation> -<address><email>k_isdale@tpg.com.au</email></address> -</affiliation> -</author> -<!-- TRANS:ROLES_OF_TRANSLATORS --> -</authorgroup> -</sect1info> -<title>Working With &XML; Data Files (Entities)</title> - -<para> If the inspector dialog is not showing use the <menuchoice> -<guimenu>Tools</guimenu> <guimenuitem>Show inspectors</guimenuitem> -</menuchoice> menu item. To work with entities click on the -<guilabel>Entities</guilabel> tab of dialog shown. </para> - -<para> All external &XML; entities included via the DATA file or one -of its siblings are listed here. For this example I have run &kxsldbg; -on <filename>testdoc.xsl</filename> with -<filename>testdoc.xml</filename> (found in the -<filename role="directory"><KDE PREFIX>/share/apps/kxsldbg</filename> folder so that you can see some entities.</para> - -<screenshot> -<screeninfo>The Entities Window</screeninfo> -<mediaobject> -<imageobject> -<imagedata fileref="entities_window.png" format="PNG" /> -</imageobject> -<textobject><phrase>The Entities Window</phrase></textobject> -</mediaobject> -</screenshot> - -<para> -Clicking on a entity entry in the list shown will cause the cursor in the -main window to move to the start of the file indicated. -</para> -</sect1> diff --git a/doc/kxsldbg/entities_window.png b/doc/kxsldbg/entities_window.png Binary files differdeleted file mode 100644 index 6cfd38c1..00000000 --- a/doc/kxsldbg/entities_window.png +++ /dev/null diff --git a/doc/kxsldbg/exit.png b/doc/kxsldbg/exit.png Binary files differdeleted file mode 100644 index 19cae8de..00000000 --- a/doc/kxsldbg/exit.png +++ /dev/null diff --git a/doc/kxsldbg/glossary.docbook b/doc/kxsldbg/glossary.docbook deleted file mode 100644 index 4a980984..00000000 --- a/doc/kxsldbg/glossary.docbook +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<glossary id="glossary"> -<glossaryinfo> -<authorgroup> -<author> -<firstname>Keith</firstname> -<surname>Isdale</surname> -<affiliation> -<address><email>k_isdale@tpg.com.au</email></address> -</affiliation> -</author> -<!-- TRANS:ROLES_OF_TRANSLATORS --> -</authorgroup> -</glossaryinfo> - -<glossdiv> -<title>Keywords</title> -<glossentry id="xsldbg-glosref"> -<glossterm>&xsldbg;</glossterm> -<glossdef> -<para> -See <ulink url="http://xsldbg.sourceforge.net"></ulink>. -</para> -</glossdef> -</glossentry> - -<glossentry> -<glossterm>XPath</glossterm> -<glossdef> -<para> -A valid expression that defines what data is required. See -<ulink url="http://www.w3.org">W3C web site</ulink>. -</para> -</glossdef> -</glossentry> - -<glossentry> -<glossterm>QName</glossterm> -<glossdef> -<para> -A fully qualified name. For example, <emphasis>xsl:myvariable</emphasis>. -See <ulink url="http://www.w3.org">W3C web site</ulink> -</para> -</glossdef> -</glossentry> -</glossdiv> -</glossary> diff --git a/doc/kxsldbg/index.docbook b/doc/kxsldbg/index.docbook deleted file mode 100644 index 3dc746bd..00000000 --- a/doc/kxsldbg/index.docbook +++ /dev/null @@ -1,150 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ - <!ENTITY kxsldbg "<application>KXSLDbg</application>"> - <!ENTITY kappname "&kxsldbg;"> - <!ENTITY package "quanta"> - <!ENTITY % addindex "IGNORE"> - <!ENTITY % English "INCLUDE"> - <!ENTITY configure-section SYSTEM "kxsldbg_configure.docbook"> - <!ENTITY mainwindow-section SYSTEM "kxsldbg_mainwindow.docbook"> - <!ENTITY inspector-section SYSTEM "kxsldbg_inspector.docbook"> - <!ENTITY tools-section SYSTEM "kxsldbg_tools.docbook"> - <!ENTITY credits-chapter SYSTEM "credits.docbook"> - <!ENTITY callstack SYSTEM "callstack.docbook"> - <!ENTITY entities SYSTEM "entities.docbook"> - <!ENTITY sources SYSTEM "sources.docbook"> - <!ENTITY templates SYSTEM "templates.docbook"> - <!ENTITY variables SYSTEM "variables.docbook"> - <!ENTITY xsldbg "<application>xsldbg</application>"> - <!ENTITY DTD "<acronym>DTD</acronym>"> - <!ENTITY XSD "<acronym>XSD</acronym>"> - <!ENTITY XSLT "<acronym>XSLT</acronym>"> -]> - -<book lang="&language;"> - -<bookinfo> -<title>The &kxsldbg; Handbook</title> - -<authorgroup> -<author> -<firstname>Keith</firstname> -<surname>Isdale</surname> -<affiliation> -<address><email>k_isdale@tpg.com.au</email></address> -</affiliation> -</author> - -<!-- TRANS:ROLES_OF_TRANSLATORS --> - -</authorgroup> - -<copyright> -<year>2002</year> -<year>2003</year> -<year>2004</year> -<holder>Keith Isdale</holder> -</copyright> - -<legalnotice>&FDLNotice;</legalnotice> -<date>2004-11-18</date> -<releaseinfo>0.5</releaseinfo> - -<abstract> -<para> -&kxsldbg; provides a graphic user interface front-end to -&xsldbg;, which supports -debugging of &XSLT; scripts. -</para> -</abstract> - -<keywordset> -<keyword>KDE</keyword> -<keyword>xsldbg</keyword> -<keyword>libxslt</keyword> -<keyword>debugger</keyword> -</keywordset> -</bookinfo> - -<chapter id="introduction"> -<title>Introduction</title> - -<sect1 id="features"> -<title>Features</title> - -<para> -&kxsldbg; provides access to most of &xsldbg;'s commands to - -<itemizedlist> -<listitem> -<para> -Set and modify breakpoints -</para> -</listitem> -<listitem> -<para> -Display value of XPaths -</para> -</listitem> -<listitem> -<para> -Display information about the templates, variables, -callstack entries, stylesheets and entities present -</para> -</listitem> -<listitem> -<para> -Set and modify breakpoints and variables -</para> -</listitem> -<listitem> -<para> -Move around &XSL; source and &XML; document via XPaths -</para> -</listitem> -<listitem> -<para> -Lookup PUBLIC and SYSTEM ID's in the current &XML; catalog -</para> -</listitem> -</itemizedlist> -</para> -</sect1> - -<sect1 id="new-features"> -<title>Recently added features</title> -<para>&kxsldbg; can now -</para> -<itemizedlist> -<listitem> -<para> -Set and modify variables -</para> -</listitem> -<listitem> -<para> -Renders the text in the main window using the &kate; libraries -</para> -</listitem> -</itemizedlist> -</sect1> - - -</chapter> - -<chapter id="using-kxsldbg"> -<title>Using &kxsldbg;</title> -&configure-section; -&mainwindow-section; -&inspector-section; -&variables; -&callstack; -&templates; -&sources; -&entities; -&tools-section; -</chapter> - -&credits-chapter; - -</book> diff --git a/doc/kxsldbg/kxsldbg_configure.docbook b/doc/kxsldbg/kxsldbg_configure.docbook deleted file mode 100644 index 115cd4d3..00000000 --- a/doc/kxsldbg/kxsldbg_configure.docbook +++ /dev/null @@ -1,102 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<sect1 id="configure"> -<sect1info> -<authorgroup> -<author> -<firstname>Keith</firstname> -<surname>Isdale</surname> -<affiliation> -<address><email>k_isdale@tpg.com.au</email></address> -</affiliation> -</author> -<!-- TRANS:ROLES_OF_TRANSLATORS --> -</authorgroup> -</sect1info> - -<title>Configuring a &kxsldbg; Session</title> - -<para> -You start configuration by clicking -<menuchoice> -<guimenu>Debug</guimenu> -<guimenuitem>Configure</guimenuitem> -</menuchoice> in the Menubar. -</para> - -<screenshot> -<screeninfo>The Configuration Dialog</screeninfo> -<mediaobject> -<imageobject> -<imagedata fileref="configure_window.png" format="PNG" /> -</imageobject> -<textobject><phrase>The Configuration Dialog</phrase></textobject> -<caption><para>The Configuration Dialog.</para></caption> -</mediaobject> -</screenshot> - -<sect2> -<title>Getting Started</title> - -<para> -To be able to run a stylesheet you need to specify the: -<itemizedlist mark="bullet"> -<listitem><para>&XSL; source</para></listitem> -<listitem><para>&XML; data</para></listitem> -<listitem><para>Output file</para></listitem> -</itemizedlist> -</para> - -<para> By using the <guibutton>...</guibutton> button to choose file -desired. The <guilabel>&XSL; source</guilabel> and <guilabel>>&XML; data</guilabel> may refer -to URI that contains a http://, ftp:// or file://. The <guilabel>Output file</guilabel> -must refer to a writable local file.</para> -<para> -To follow along with the examples, select the following files in the -example <filename role="directory"><KDE PREFIX>/share/apps/kxsldbg</filename> folder -<itemizedlist mark="bullet"> -<listitem><para>&XSL; source: testdoc.xsl</para></listitem> -<listitem><para>&XML; data: testdoc.xml</para></listitem> -<listitem><para>Output file: /tmp/xsldbg_output.txt</para></listitem> -</itemizedlist> -</para> -</sect2> - -<sect2> -<title>Working With Options</title> - -<para> -You can select zero or more options from the <guilabel>Options</guilabel> dialog. Each option has a tooltip with a hint on what effect it has. -</para> -</sect2> - -<sect2> -<title>Working With Parameters</title> - -<para> -You can add zero or more parameters via the <guilabel>LibXSLT Parameters</guilabel> -section of dialog. This allows you to provide parameter values to the -stylesheet. -</para> - -<para> -For example you could add a enter a <guilabel>Parameter name</guilabel> of <parameter>myparam</parameter> -with a <guilabel>Parameter value</guilabel> of <parameter>'Hello World!'</parameter> and click the <guibutton>Add</guibutton> button. -. To update the value of an existing -parameter just use the navigate to the value you wish to change with the <guibutton>Prev</guibutton> or <guibutton>Next</guibutton> button, provide a new <guilabel>Parameter value</guilabel> then click the <guibutton>Apply</guibutton>. -</para> -</sect2> - -<sect2> -<title>Apply Changes</title> - -<para> -For the changes you have made to take effect press the <guibutton>Apply</guibutton> -button. To ignore any changes press the <guibutton>Cancel</guibutton> button. -</para> - -<para> -You can close the dialog using the <guibutton>X</guibutton> provided at the top right of the window. If you need to change the configuration just re-open the -configuration dialog as shown before. -</para> -</sect2> -</sect1> diff --git a/doc/kxsldbg/kxsldbg_inspector.docbook b/doc/kxsldbg/kxsldbg_inspector.docbook deleted file mode 100644 index ec9995bc..00000000 --- a/doc/kxsldbg/kxsldbg_inspector.docbook +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<sect1 id="breakpoints"> -<sect1info> -<authorgroup> -<author> -<firstname>Keith</firstname> -<surname>Isdale</surname> -<affiliation> -<address><email>k_isdale@tpg.com.au</email></address> -</affiliation> -</author> -<!-- TRANS:ROLES_OF_TRANSLATORS --> -</authorgroup> -</sect1info> -<title>Setting and Modifying Breakpoints</title> - -<para> -The primary way to work with breakpoints is via the main window. See -<xref linkend="mainwindow-section"/> -</para> - -<para> -Once you have started the style sheet, you can use the -<menuchoice> -<guimenu>Tools</guimenu> -<guimenuitem>Show inspectors</guimenuitem> -</menuchoice> -menu item. Then click on the Breakpoints tab. See below for an example. -</para> - -<screenshot> -<screeninfo>Setting Breakpoints</screeninfo> -<mediaobject> -<imageobject> -<imagedata fileref="breakpoints_window.png" format="PNG" /> -</imageobject> -<textobject><phrase>Setting Breakpoints</phrase></textobject> -</mediaobject> -</screenshot> - -<sect2> -<title>Adding a Breakpoint</title> - -<para> -You can add a breakpoint by supplying any of:</para> -<orderedlist> -<listitem><para>a file and line number</para> -</listitem> -<listitem><para>a template name</para> -</listitem> -<listitem><para>a template name and a mode name</para> -</listitem> -<listitem><para>a mode name</para> -</listitem> -</orderedlist> - - -<para> -And then pressing the <guibutton>Add</guibutton> button. -</para> -</sect2> - -<sect2> -<title>Argument Details</title> - -<para> -A file name may be absolute path to a local file. Or partial file (⪚ -<filename>xsldoc.xsl</filename>). -</para> - -<para> -A template or mode name may is fully Qualified Name where the non-local -part is optional ⪚ <emphasis>xsl:mytemplate</emphasis> is matched by -<emphasis>mytemplate</emphasis> -</para> -</sect2> - -<sect2> -<title>Deleting a Breakpoint</title> - -<para> -Firstly left mouse click the breakpoint you want to delete in the list of -current breakpoints. Then click the <guibutton>Delete</guibutton> button. -</para> -</sect2> - -<sect2> -<title>Deleting All Breakpoints</title> - -<para> -Click the <guibutton>Delete All</guibutton> button. -</para> -</sect2> - -<sect2> -<title>Enabling or Disabling a Breakpoint</title> - -<para> -Firstly &LMB; click the breakpoint you want to delete in the list of -current breakpoints. Then click the <guibutton>Enable</guibutton> button. -</para> -</sect2> -</sect1> diff --git a/doc/kxsldbg/kxsldbg_mainwindow.docbook b/doc/kxsldbg/kxsldbg_mainwindow.docbook deleted file mode 100644 index 3dcd3a55..00000000 --- a/doc/kxsldbg/kxsldbg_mainwindow.docbook +++ /dev/null @@ -1,455 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<sect1 id="mainwindow-section"> -<sect1info> -<authorgroup> -<author> -<firstname>Keith</firstname> -<surname>Isdale</surname> -<affiliation> -<address><email>k_isdale@tpg.com.au</email></address> -</affiliation> -</author> -<!-- TRANS:ROLES_OF_TRANSLATORS --> -</authorgroup> -</sect1info> -<title>Using the Main Window</title> - -<screenshot> -<screeninfo>The Main Window</screeninfo> -<mediaobject> -<imageobject> -<imagedata fileref="main_window.png" format="PNG"/> -</imageobject> -<textobject><phrase>A text view of the current file being debugged</phrase></textobject> -<caption><para>A text view of the current file being debugged.</para></caption> -</mediaobject> -</screenshot> - -<sect2> -<title>Working With the Main Window</title> - -<para> -The state of a given breakpoint is indicated via the relevant text with a different background color. -You can choose the color desired: see the -<menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure -Editor</guimenuitem></menuchoice> dialog, on the -<guilabel>Colors</guilabel> page.</para> - - -<para>You can set, disable or delete a breakpoint using keys, the <guimenu>Debug</guimenu> menu or the buttons on the tool bar.</para> - -<para>You can move the cursor around the text using the following keys:</para> - -<simplelist> -<member>Arrow keys: <keysym>Left Arrow</keysym>, <keysym>Right Arrow</keysym>, <keysym>Up Arrow</keysym> or <keysym>Down Arrow</keysym>.</member> -<member>Page keys: <keycap>Page Up</keycap> or <keycap>Page Down</keycap></member> - -</simplelist> - -</sect2> - -<sect2> -<title>Working With &kxsldbg; Output</title> - -<para> -Most of the output from &kxsldbg; is captured and presented either in the -inspectors dialog or the &kxsldbg; output window. The exceptions to this rule -are:</para> -<itemizedlist> -<listitem> -<para>An error message that comes from &kxsldbg; is displayed inside a message dialog.</para> -</listitem> -<listitem> -<para>The result of evaluating an expression is displayed in a message dialog.</para> -</listitem> -<listitem> -<para>The output of search is sent to the file indicated in the &kxsldbg; output window.</para> -</listitem> -</itemizedlist> - -</sect2> - -<!-- FIXME: There's way too many things wrong with this, for people to -bother translating it just yet. We can fix post 3.2 - -Specifically: Wrong icon images, all keybindings are incorrect, all -keybindings in the app are unmodified and therefore will probably be -changed, and this isn't the ideal place to put a toolbar ref anyway. - -Plan: Add a menu ref chapter, include an updated toolbar ref in it - -<sect2> -<title>&kxsldbg; Toolbar</title> - -<variablelist> - -<varlistentry> -<term> -<menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> -</shortcut> -<guiicon> -<inlinemediaobject> -<imageobject> -<imagedata fileref="configure.png" format="PNG" /> -</imageobject> -</inlinemediaobject> -</guiicon> -<guimenu>Debug</guimenu> -<guimenuitem>Configure</guimenuitem> -</menuchoice> -</term> -<listitem> -<para> -Configuration for a session, <xref linkend="configure"/> -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term> -<menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> -</shortcut> -<guiicon> -<inlinemediaobject> -<imageobject> -<imagedata fileref="configure.png" /> -</imageobject> -</inlinemediaobject> -</guiicon> -<guimenu>Debug</guimenu> -<guimenuitem>Inspect</guimenuitem> -</menuchoice> -</term> -<listitem> -<para> -To be written. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term> -<menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> -</shortcut> -<guiicon> -<inlinemediaobject> -<imageobject> -<imagedata fileref="run.png" /> -</imageobject> -</inlinemediaobject> -</guiicon> -<guimenu>Debug</guimenu> -<guimenuitem>Run</guimenuitem> -</menuchoice> -</term> -<listitem> -<para> -Restart execution applying current configuration. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term> -<menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> -</shortcut> -<guiicon> -<inlinemediaobject> -<imageobject> -<imagedata fileref="1downarrow.png" /> -</imageobject> -</inlinemediaobject> -</guiicon> -<guimenu>Debug</guimenu> -<guimenuitem>Continue</guimenuitem> -</menuchoice> -</term> -<listitem> -<para> -Continue execution stoping at next breakpoint. This will cause the -debugger to stop at the start of the stylesheet if no further breakpoints -are found. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term> -<menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> -</shortcut> -<guiicon> -<inlinemediaobject> -<imageobject> -<imagedata fileref="step.png" /> -</imageobject> -</inlinemediaobject> -</guiicon> -<guimenu>Debug</guimenu> -<guimenuitem>Step</guimenuitem> -</menuchoice> -</term> -<listitem> -<para> -Step to the next XSLT instruction found. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term> -<menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> -</shortcut> -<guiicon> -<inlinemediaobject> -<imageobject> -<imagedata fileref="next.png" /> -</imageobject> -</inlinemediaobject> -</guiicon> -<guimenu>Debug</guimenu> -<guimenuitem>Next</guimenuitem> -</menuchoice> -</term> -<listitem> -<para> -Proceed to the next instruction at the same call stack depth. This is -useful for stepping over a <emphasis>xsl:apply-templates</emphasis> or -<emphasis>xsl:call-template</emphasis>. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term> -<menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> -</shortcut> -<guiicon> -<inlinemediaobject> -<imageobject> -<imagedata fileref="xsldbg_stepup.png" /> -</imageobject> -</inlinemediaobject> -</guiicon> -<guimenu>Debug</guimenu> -<guimenuitem>StepUp</guimenuitem> -</menuchoice> -</term> -<listitem> -<para> -Proceed to the next instruction in a cooler stack frame. This is best -used within a template at a greater depth than the root match template. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term> -<menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> -</shortcut> -<guiicon> -<inlinemediaobject> -<imageobject> -<imagedata fileref="xsldbg_stepdown.png" /> -</imageobject> -</inlinemediaobject> -</guiicon> -<guimenu>Debug</guimenu> -<guimenuitem>StepDown</guimenuitem> -</menuchoice> -</term> -<listitem> -<para> -Proceed to the next instruction in a warmer stack frame. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term> -<menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> -</shortcut> -<guiicon> -<inlinemediaobject> -<imageobject> -<imagedata fileref="xsldbg_break.png" /> -</imageobject> -</inlinemediaobject> -</guiicon> -<guimenu>Debug</guimenu> -<guimenuitem>Break</guimenuitem> -</menuchoice> -</term> -<listitem> -<para> -Add a breakpoint at the current cursor location -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term> -<menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> -</shortcut> -<guiicon> -<inlinemediaobject> -<imageobject> -<imagedata fileref="xsldbg_delete.png" /> -</imageobject> -</inlinemediaobject> -</guiicon> -<guimenu>Debug</guimenu> -<guimenuitem>Delete</guimenuitem> -</menuchoice> -</term> -<listitem> -<para> -Delete a breakpoint at the current cursor location -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term> -<menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> -</shortcut> -<guiicon> -<inlinemediaobject> -<imageobject> -<imagedata fileref="xsldbg_enable.png" /> -</imageobject> -</inlinemediaobject> -</guiicon> -<guimenu>Debug</guimenu> -<guimenuitem>Enable/Disable</guimenuitem> -</menuchoice> -</term> -<listitem> -<para> -Enable or disable a breakpoint at the current cursor location -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term> -<menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> -</shortcut> -<guiicon> -<inlinemediaobject> -<imageobject> -<imagedata fileref="xsldbg_source.png" /> -</imageobject> -</inlinemediaobject> -</guiicon> -<guimenu>Debug</guimenu> -<guimenuitem>Source</guimenuitem> -</menuchoice> -</term> -<listitem> -<para> -Cause the current XSLT source file to be shown -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term> -<menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> -</shortcut> -<guiicon> -<inlinemediaobject> -<imageobject> -<imagedata fileref="xsldbg_data.png" /> -</imageobject> -</inlinemediaobject> -</guiicon> -<guimenu>Debug</guimenu> -<guimenuitem>Data</guimenuitem> -</menuchoice> -</term> -<listitem> -<para> -Cause the current &XML; data file to be shown -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term> -<menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> -</shortcut> -<guiicon> -<inlinemediaobject> -<imageobject> -<imagedata fileref="xsldbg_output.png" /> -</imageobject> -</inlinemediaobject> -</guiicon> -<guimenu>Debug</guimenu> -<guimenuitem>Output</guimenuitem> -</menuchoice> -</term> -<listitem> -<para> -Cause the current Output file to be shown -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term> -<menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> -</shortcut> -<guiicon> -<inlinemediaobject> -<imageobject> -<imagedata fileref="xsldbg_refresh.png" /> -</imageobject> -</inlinemediaobject> -</guiicon> -<guimenu>Debug</guimenu> -<guimenuitem>Reload</guimenuitem> -</menuchoice> -</term> -<listitem> -<para> -Cause the displayed file to be reloaded from disk -</para> -</listitem> -</varlistentry> - -</variablelist> -</sect2> ---> - -</sect1> diff --git a/doc/kxsldbg/kxsldbg_tools.docbook b/doc/kxsldbg/kxsldbg_tools.docbook deleted file mode 100644 index 0fa7ae8a..00000000 --- a/doc/kxsldbg/kxsldbg_tools.docbook +++ /dev/null @@ -1,93 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<sect1 id="tools-section"> -<sect1info> -<authorgroup> -<author> -<firstname>Keith</firstname> -<surname>Isdale</surname> -<affiliation> -<address><email>k_isdale@tpg.com.au</email></address> -</affiliation> -</author> -<!-- TRANS:ROLES_OF_TRANSLATORS --> -</authorgroup> -</sect1info> - -<title>Miscellenous Tools</title> - -<para> -Several tools are available via the tools menu the main tool is the -inspector tool. -</para> - -<sect2> -<title>Inspector Tool</title> - -<para> -The inspector tool is the contains all the individual dialogs for working -with:</para> -<itemizedlist> -<listitem><para>Breakpoints</para></listitem> -<listitem><para>Templates</para></listitem> -<listitem><para>Variables</para></listitem> -<listitem><para>Callstack entries</para></listitem> -<listitem><para>&XSL; source files</para></listitem> -<listitem><para>&XML; Enties</para></listitem> -</itemizedlist> - -</sect2> - -<sect2> -<title>Execute by Walking</title> - -<para>By clicking on <guimenuitem>Start execution with -walking</guimenuitem> menu a dialog is shown to allow the walk speed -to be chosen.</para> - -<screenshot> -<screeninfo>The Walk Window</screeninfo> -<mediaobject> -<imageobject> -<imagedata fileref="walk_window.png" format="PNG"/> -</imageobject> -<textobject><phrase>The Walk Window</phrase></textobject> -</mediaobject> -</screenshot> - -<para>To stop walking either use the <keycap>W</keycap> key or select the -<guimenuitem>Start execution with walking</guimenuitem> menu item.</para> -</sect2> - -<sect2> -<title>Lookup &XML; Entities</title> - -<para>To lookup a System ID in the current &XML; catalog -use the <guimenuitem>Lookup System ID</guimenuitem> menu then enter the -value to find the the dialog that displays.</para> - -<screenshot> -<screeninfo>The System ID Window</screeninfo> -<mediaobject> -<imageobject> -<imagedata fileref="systemid_window.png" format="PNG"/> -</imageobject> -<textobject><phrase>The System ID Window</phrase></textobject> -</mediaobject> -</screenshot> - -<para>To lookup a PUBLIC ID use the <guimenuitem>Lookup Public -ID</guimenuitem> menu entry then enter the value to find the the dialog that -displays.</para> - -<screenshot> -<screeninfo>The Public ID Window</screeninfo> -<mediaobject> -<imageobject> -<imagedata fileref="publicid_window.png" format="PNG"/> -</imageobject> -<textobject><phrase>The Public ID Window</phrase></textobject> -</mediaobject> -</screenshot> - -</sect2> -</sect1> diff --git a/doc/kxsldbg/main_window.png b/doc/kxsldbg/main_window.png Binary files differdeleted file mode 100644 index ef4f879a..00000000 --- a/doc/kxsldbg/main_window.png +++ /dev/null diff --git a/doc/kxsldbg/next.png b/doc/kxsldbg/next.png Binary files differdeleted file mode 100644 index 8f8da2cc..00000000 --- a/doc/kxsldbg/next.png +++ /dev/null diff --git a/doc/kxsldbg/publicid_window.png b/doc/kxsldbg/publicid_window.png Binary files differdeleted file mode 100644 index 70b39eee..00000000 --- a/doc/kxsldbg/publicid_window.png +++ /dev/null diff --git a/doc/kxsldbg/run.png b/doc/kxsldbg/run.png Binary files differdeleted file mode 100644 index c5d0907d..00000000 --- a/doc/kxsldbg/run.png +++ /dev/null diff --git a/doc/kxsldbg/sources.docbook b/doc/kxsldbg/sources.docbook deleted file mode 100644 index ecfb658e..00000000 --- a/doc/kxsldbg/sources.docbook +++ /dev/null @@ -1,44 +0,0 @@ -<sect1 id="sources-section"> -<sect1info> -<authorgroup> -<author> -<firstname>Keith</firstname> -<surname>Isdale</surname> -<affiliation> -<address><email>k_isdale@tpg.com.au</email></address> -</affiliation> -</author> -<!-- TRANS:ROLES_OF_TRANSLATORS --> -</authorgroup> -</sect1info> -<title>Working With &XSLT; Source Files (Sources)</title> - -<para> -If the inspector dialog is not showing use the -<menuchoice> -<guimenu>Tools</guimenu> - -<guimenuitem>Show inspectors</guimenuitem> -</menuchoice> -menu item. To work with sources click on the sources tab of dialog shown. -</para> - -<para> -All &XSLT; source files that are included by the &XSLT; file or one of its -siblings are listed here.</para> - -<screenshot> -<screeninfo>The Sources Window</screeninfo> -<mediaobject> -<imageobject> -<imagedata fileref="sources_window.png" format="PNG" /> -</imageobject> -<textobject><phrase>The Sources Window</phrase></textobject> -</mediaobject> -</screenshot> - -<para> -Clicking on a source entry in the list shown will cause the cursor in the -main window to move to the start of file indicated. -</para> -</sect1> diff --git a/doc/kxsldbg/sources_window.png b/doc/kxsldbg/sources_window.png Binary files differdeleted file mode 100644 index b29fcf47..00000000 --- a/doc/kxsldbg/sources_window.png +++ /dev/null diff --git a/doc/kxsldbg/step.png b/doc/kxsldbg/step.png Binary files differdeleted file mode 100644 index dd04d93b..00000000 --- a/doc/kxsldbg/step.png +++ /dev/null diff --git a/doc/kxsldbg/systemid_window.png b/doc/kxsldbg/systemid_window.png Binary files differdeleted file mode 100644 index 92fd023d..00000000 --- a/doc/kxsldbg/systemid_window.png +++ /dev/null diff --git a/doc/kxsldbg/templates.docbook b/doc/kxsldbg/templates.docbook deleted file mode 100644 index bdd0bdd2..00000000 --- a/doc/kxsldbg/templates.docbook +++ /dev/null @@ -1,34 +0,0 @@ -<sect1 id="templates"> -<title>Working With Templates</title> - -<para> -If the inspector dialog is not showing use the -<menuchoice> -<guimenu>Tools</guimenu> -<guimenuitem>Show inspectors</guimenuitem> -</menuchoice> -menu item. To work with templates click on the templates tab of dialog -shown. -</para> - -<para> -All templates found are listed here. Please note that the export rules of -&XSLT; apply. So only there may be more than one template with the same -match and mode details.</para> - -<screenshot> -<screeninfo>The Templates Window</screeninfo> -<mediaobject> -<imageobject> -<imagedata fileref="templates_window.png" format="PNG"/> -</imageobject> -<textobject><phrase>The Templates Window</phrase></textobject> -</mediaobject> -</screenshot> - -<para> -Clicking on a template entry in the list shown will cause the cursor in -the main window to move to the file and line number indicated. -</para> -</sect1> - diff --git a/doc/kxsldbg/templates_window.png b/doc/kxsldbg/templates_window.png Binary files differdeleted file mode 100644 index 3bb892a9..00000000 --- a/doc/kxsldbg/templates_window.png +++ /dev/null diff --git a/doc/kxsldbg/variables.docbook b/doc/kxsldbg/variables.docbook deleted file mode 100644 index 7cdd1cdf..00000000 --- a/doc/kxsldbg/variables.docbook +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<sect1 id="variables"> -<sect1info> -<authorgroup> -<author> -<firstname>Keith</firstname> -<surname>Isdale</surname> -<affiliation> -<address><email>k_isdale@tpg.com.au</email></address> -</affiliation> -</author> -<!-- TRANS:ROLES_OF_TRANSLATORS --> -</authorgroup> -</sect1info> - -<title>Working With Variables</title> - -<para> -If the inspector dialog is not showing use the -<menuchoice> -<guimenu>Tools</guimenu> -<guimenuitem>Show inspectors</guimenuitem> -</menuchoice> -menu item. -</para> - -<para> -Local and global variables are show in a tab on the inspector dialog. -The following example shows a XSLT code segment that declares a global and a local variable -</para> -<informalexample> -<programlisting> - <xsl:variable name="globalvariable" select="'foo'"/> - - <xsl:template match="/"/> - <xsl:param name="localvariable" select="'bar'"/> - </xsl:template match="/"/> -</programlisting> -</informalexample> -<para> -Clicking with with mouse on a variable in the list will cause summary -information to be displayed in the bottom of the dialog. If a variable has - a select expression, for example -</para> -<informalexample> -<programlisting> - <xsl:variable name="changeable" select="'oldValue'" /> -</programlisting> -</informalexample> -<para> -then a new XPath an be choosen by entering a new value - for <guilabel>Variable expression</guilabel> then clicking the <guibutton>Set expression</guibutton> button.</para> - -<screenshot> -<screeninfo>The Variables tab</screeninfo> -<mediaobject> -<imageobject> -<imagedata fileref="variables_window.png" format="PNG" /> -</imageobject> -<textobject><phrase>The Variables Tab</phrase></textobject> -<caption><para>The Variables Tab</para></caption> -</mediaobject> -</screenshot> - -<para> -Clicking on a variable entry in the list shown will cause the cursor in -the main window to move to the file and line number indicated. -</para> -</sect1> diff --git a/doc/kxsldbg/variables_window.png b/doc/kxsldbg/variables_window.png Binary files differdeleted file mode 100644 index 90e40287..00000000 --- a/doc/kxsldbg/variables_window.png +++ /dev/null diff --git a/doc/kxsldbg/walk_window.png b/doc/kxsldbg/walk_window.png Binary files differdeleted file mode 100644 index 4040fa22..00000000 --- a/doc/kxsldbg/walk_window.png +++ /dev/null diff --git a/doc/kxsldbg/xsldbg_break.png b/doc/kxsldbg/xsldbg_break.png Binary files differdeleted file mode 100644 index 84365033..00000000 --- a/doc/kxsldbg/xsldbg_break.png +++ /dev/null diff --git a/doc/kxsldbg/xsldbg_data.png b/doc/kxsldbg/xsldbg_data.png Binary files differdeleted file mode 100644 index db06dc53..00000000 --- a/doc/kxsldbg/xsldbg_data.png +++ /dev/null diff --git a/doc/kxsldbg/xsldbg_delete.png b/doc/kxsldbg/xsldbg_delete.png Binary files differdeleted file mode 100644 index 74486e3d..00000000 --- a/doc/kxsldbg/xsldbg_delete.png +++ /dev/null diff --git a/doc/kxsldbg/xsldbg_enable.png b/doc/kxsldbg/xsldbg_enable.png Binary files differdeleted file mode 100644 index 9d538bf0..00000000 --- a/doc/kxsldbg/xsldbg_enable.png +++ /dev/null diff --git a/doc/kxsldbg/xsldbg_output.png b/doc/kxsldbg/xsldbg_output.png Binary files differdeleted file mode 100644 index 0492efb3..00000000 --- a/doc/kxsldbg/xsldbg_output.png +++ /dev/null diff --git a/doc/kxsldbg/xsldbg_refresh.png b/doc/kxsldbg/xsldbg_refresh.png Binary files differdeleted file mode 100644 index 5f1b025c..00000000 --- a/doc/kxsldbg/xsldbg_refresh.png +++ /dev/null diff --git a/doc/kxsldbg/xsldbg_source.png b/doc/kxsldbg/xsldbg_source.png Binary files differdeleted file mode 100644 index 126cc081..00000000 --- a/doc/kxsldbg/xsldbg_source.png +++ /dev/null diff --git a/doc/kxsldbg/xsldbg_stepdown.png b/doc/kxsldbg/xsldbg_stepdown.png Binary files differdeleted file mode 100644 index 202fccfb..00000000 --- a/doc/kxsldbg/xsldbg_stepdown.png +++ /dev/null diff --git a/doc/kxsldbg/xsldbg_stepup.png b/doc/kxsldbg/xsldbg_stepup.png Binary files differdeleted file mode 100644 index 446623d9..00000000 --- a/doc/kxsldbg/xsldbg_stepup.png +++ /dev/null diff --git a/doc/man/CMakeLists.txt b/doc/man/CMakeLists.txt index 13caef20..26dc0948 100644 --- a/doc/man/CMakeLists.txt +++ b/doc/man/CMakeLists.txt @@ -1,5 +1,4 @@ tde_conditional_add_subdirectory( BUILD_QUANTA quanta ) -tde_conditional_add_subdirectory( BUILD_KXSLDBG kxsldbg ) tde_conditional_add_subdirectory( BUILD_KOMMANDER kommander ) tde_conditional_add_subdirectory( BUILD_KLINKSTATUS klinkstatus ) tde_conditional_add_subdirectory( BUILD_KIMAGEMAPEDITOR kimagemapeditor ) diff --git a/doc/man/kxsldbg/CMakeLists.txt b/doc/man/kxsldbg/CMakeLists.txt deleted file mode 100644 index d701aad2..00000000 --- a/doc/man/kxsldbg/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -install( - FILES kxsldbg.1 - DESTINATION ${MAN_INSTALL_DIR}/man1 - COMPONENT doc -) diff --git a/doc/man/kxsldbg/kxsldbg.1 b/doc/man/kxsldbg/kxsldbg.1 deleted file mode 100644 index 11b551f6..00000000 --- a/doc/man/kxsldbg/kxsldbg.1 +++ /dev/null @@ -1,54 +0,0 @@ -.\" Hey, EMACS: -*- nroff -*- -.\" First parameter, NAME, should be all caps -.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection -.\" other parameters are allowed: see man(7), man(1) -.TH KXSLDBG 1 "October 19, 2004" -.\" Please adjust this date whenever revising the manpage. -.\" -.\" Some roff macros, for reference: -.\" .nh disable hyphenation -.\" .hy enable hyphenation -.\" .ad l left justify -.\" .ad b justify to both left and right margins -.\" .nf disable filling -.\" .fi enable filling -.\" .br insert line break -.\" .sp <n> insert n+1 empty lines -.\" for manpage-specific macros, see man(7) -.SH NAME -kxsldbg \- a graphical XSLT debugger for TDE -.SH SYNOPSIS -.B kxsldbg -[ \fIgeneric-options\fP ] -.SH DESCRIPTION -\fBKXSLDbg\fP is a graphical debugger for XSLT scripts. It provides -a graphical front-end to the text-based debugger -.BR xsldbg (1). -KXSLDbg can be run as a standalone application or as an embedded TDE part. -.PP -XSLT is an XML language for defining transformations of XML files from -XML to some other arbitrary format, such as XML, HTML, plain text, etc., -using standard XSLT stylesheets. -.PP -This application is part of the official TDE web development module. -.SH OPTIONS -For a full summary of options, run \fIkxsldbg \-\-help\fP. -.SH SEE ALSO -.BR quanta (1), -.BR xsldbg (1). -.PP -Full user documentation is available through the TDE Help Centre. -You can also enter the URL -\fIhelp:/kxsldbg/\fP -directly into konqueror or you can run -`\fIkhelpcenter help:/kxsldbg/\fP' -from the command-line. -.PP -If the TDE Help Centre is not installed then you can install the package -\fItdewebdev-doc-html\fP and read this documentation in HTML format from -\fI/opt/trinity/share/doc/tde/HTML/en/kxsldbg/\fP. -.SH AUTHOR -KXSLDbg was written by Keith Isdale <k_isdale@tpg.com.au>. -.br -This manual page was prepared by Ben Burton <bab@debian.org> -for the Debian GNU/Linux system (but may be used by others). diff --git a/doc/xsldbg/CMakeLists.txt b/doc/xsldbg/CMakeLists.txt deleted file mode 100644 index 812e1a36..00000000 --- a/doc/xsldbg/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -tde_create_handbook( DESTINATION xsldbg ) - -install( - FILES xsldbghelp.xml xsldbghelp.xsl - DESTINATION ${HTML_INSTALL_DIR}/en/xsldbg -) diff --git a/doc/xsldbg/Makefile.am b/doc/xsldbg/Makefile.am deleted file mode 100644 index 41691557..00000000 --- a/doc/xsldbg/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -KDE_LANG = en -KDE_DOCS = AUTO - diff --git a/doc/xsldbg/commands.docbook b/doc/xsldbg/commands.docbook deleted file mode 100644 index 0c1e6735..00000000 --- a/doc/xsldbg/commands.docbook +++ /dev/null @@ -1,801 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<chapter id="commands"> -<title>Command Reference</title> - -<sect1 id="addparam_cmd"><title id="addparam_cmd.title">Addparam</title> -<para>Add a libxslt parameter ; equivalent to providing --param <QNAME>:<XPATH> via command line. -</para> -<para></para> -<table><title>Addparam usage</title> -<tgroup cols="1"><tbody> -<row><entry>addparam <QNAME> <XPATH> <emphasis>(The <XPATH> must not contain any spaces nor double quotation marks.) </emphasis></entry></row> -<row><entry>addparam <QNAME> "<XPATH>" <emphasis>(Must not contain double quotation marks in <XPATH>)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="addwatch_cmd"><title id="addwatch_cmd.title">Addwatch</title> -<para>Add an expression to be watched. See showwatch for display watch values</para> -<para>Shortcut name: watch</para> -<table><title>Addwatch usage</title> -<tgroup cols="1"><tbody> -<row><entry>addwatch <XPATH></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="base_cmd"><title id="base_cmd.title">Base</title> -<para>Print the base for this node</para> -<table><title>Base usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>base</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="break_cmd"><title id="break_cmd.title">Break</title> -<para>Break at a template, at a location in a stylesheet or xml file loaded by xsldbg, or at the current node. -New for xsldbg 3.1.4: When in gdb compatabilty mode orpaned breakpoints can be -set at a specific file and line number and be resolved to an active later on. </para> -<para>Shortcut name: b</para><para>xsldbg will try to guess the complete URL given a -<informaltable> -<tgroup cols="1"><tbody> -<row><entry>file name without a path specified.</entry></row> -<row><entry>a file name in the same directory as the "top" stylesheet loaded</entry></row> -<row><entry>a file name relative to the current working directory of xsldbg</entry></row> -</tbody></tgroup> -</informaltable> -Ie if you have loaded a stylesheet file of ../en/xsldoc.xsl you can do this -</para><para> break -l xsldoc.xsl 26 -</para><para>This command will match a partial or complete QNAME template and or mode name provided. Eg "template" will ma/tch any QNAME with a local part of "template" -</para><para>Any name spaces in the provided QNAME will be expanded as specified -by the names spaces defined in the XSL SOURCE file. eg "xsl:test1" will be expanded to "http://www.w3.org/199/XSL/Transform:test1" -</para><para>A requested breakpoint may need to be resolved to its associated URL and line number. This is done automaticly after -the first template has been seen by xsldbg. Breakpoints are re-validated shortly after the start of each run. -</para><para>Automatic breakpoint validation is used when gdb mode is enabled - the default behaviour of xsldbg</para> -<table><title>Break usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>break -l <FILENAME> <LINENO> <emphasis>(To set breakpoint at specified file, line number)</emphasis></entry></row> -<row><entry>break -l <URI> <LINENO> <emphasis>(To set breakpoint at specified URI, line number)</emphasis></entry></row> -<row><entry>break <TEMPLATE_NAME> <emphasis>(To break at named or matched template.)</emphasis></entry></row> -<row><entry>break <TEMPLATE_NAME> <MODE_NAME> <emphasis>(To break at named template with given mode.)></emphasis></entry></row> -<row><entry>break "" <MODE_NAME> <emphasis>(To break at any template that has a given mode name)</emphasis></entry></row> -<row><entry>break * <emphasis>(To break at any template found.)</emphasis></entry></row> -<row><entry>break \* <emphasis>(To break at the "*" template. Other name that include '*' will not be treated specialy.)</emphasis></entry></row> -<row><entry>break <emphasis>(To break point at current node. Yes that includes xml data nodes!)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="bye_cmd"><title id="bye_cmd.title">Bye</title> -<para>Exit processing stylesheet as soon as possible.</para> -<table><title>Bye usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>bye</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="cat_cmd"><title id="cat_cmd.title">Cat</title> -<para>Print the result of a xpath expression on relative current node.</para> -<table><title>Cat usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>Usage : cat <XPATH> <emphasis>(To view a variable or parameter)</emphasis></entry></row> -<row><entry>Usage : cat $<QNAME></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="cd_cmd"><title id="cd_cmd.title">Cd</title> -<para>Change to the path specified by a xpath.</para> -<table><title>Cd usage</title> -<tgroup cols="1"> -<tbody> -<row><entry><< = preceding-sibling::node()</entry></row> -<row><entry>>> = following-sibling::node()</entry></row> -<row><entry><- = ancestor::node()</entry></row> -<row><entry>-> = decendant::node()</entry></row> -</tbody></tgroup> -</table> -</sect1> - -<sect1 id="chdir_cmd"><title id="chdir_cmd.title">Chdir</title> -<para>Change the working directory</para> -<table><title>Chdir usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>chdir <PATH> <emphasis>(A relative or absolute path for operating system)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="continue_cmd"><title id="continue_cmd.title">Continue</title> -<para>Continue running stylesheet, stopping at any break points found.</para> -<para>Shortcut name: c</para> -<table><title>Contine usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>continue</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="data_cmd"><title id="data_cmd.title">Data</title> -<para>Switch to displaying the current node in xml data. Or change xml data used</para> -<table><title>Data usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>data <emphasis>(Switch to the current document node.)</emphasis></entry></row> -<row><entry>data <DATA> <emphasis>(To change to a new xml data file. A leading "~" is replaced by the $HOME environment variable value. Will need to use "run" command to process it)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="delete_cmd"><title id="delete_cmd.title">Delete</title> -<para>Delete a template breakpoint</para> -<para>Shortcut name: d</para> -<table><title>Delete usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>delete <emphasis>(To delete breakpoint at current node)</emphasis></entry></row> -<row><entry>delete <BREAKPOINT_ID> <emphasis>(To delete breakpoint at specified break point number)</emphasis></entry></row> -<row><entry>delete -l <FILENAME> <LINENO> <emphasis>(Delete at specifed file, line number)</emphasis></entry></row> -<row><entry>delete -l <URI> <LINENO> <emphasis>(Delete at specifed URI, line number)</emphasis></entry></row> -<row><entry>delete <TEMMPLATENAME> <emphasis>(To delete break point at named template.)</emphasis></entry></row> -<row><entry>delete * <emphasis>(To delete all break points.)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="delparam_cmd"><title id="delparam_cmd.title">Delparam</title> -<para>Delete a libxslt parameter</para> -<table><title>Delparam usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>delparam <emphasis>(Delete all parameters present)</emphasis></entry></row> -<row><entry>delparam <PARAM_ID></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="delwatch_cmd"><title id="delwatch_cmd.title">Delwatch</title> -<para>Delete a watch expression or remove all watch expressions as displayed by "showwatch." command</para> -<table><title>Delwatch usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>delwatch <WATCHID> <emphasis>(Delete a watch expression with given ID)</emphasis></entry></row> -<row><entry>delwatch * <emphasis>(Delete all watch expressions)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="dir_cmd"><title id="dir_cmd.title">Dir</title> -<para>Print list of nodes in a similary way to the dir shell command.</para> -<para/> -<table><title>Dir usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>dir</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="disable_cmd"><title id="disable_cmd.title">Disable</title> -<para>Disable a breakpoint</para> -<table><title>Disable usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>disable <emphasis>(To disable breakpoint at current node)</emphasis></entry></row> -<row><entry>disable <BREAKPOINT_ID> <emphasis>(To disable breakpoint at specified break point number</emphasis></entry></row> -<row><entry>disable -l <FILENAME> <LINENO> <emphasis>(Disable breakpoint at specifed file, line number)</emphasis></entry></row> -<row><entry>disable -l <URI> <LINENO> <emphasis>(Disable breakpoint at specifed URI, line number)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="du_cmd"><title id="du_cmd.title">Du</title> -<para>Print a summary of child nodes in a tree format.</para> -<table><title>Du usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>du</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="dump_cmd"><title id="dump_cmd.title">Dump</title> -<para>Dump the gory details of this node</para> -<table><title>Dump usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>dump</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="enable_cmd"><title id="enable_cmd.title">Enable</title> -<para>Enable or disable a breakpoint (Toggle enable/disable/)</para> -<para>Shortcut name: e</para> -<table><title>Enable usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>enable <emphasis>(To enable/disable breakpoint at current node)</emphasis></entry></row> -<row><entry>enable <BREAKPOINT_ID> <emphasis>(To enable/disable breakpoint at specified break point number</emphasis></entry></row> -<row><entry>enable -l <FILENAME> <LINENO> <emphasis>(Enable/disable breakpoint at specifed file, line number)</emphasis></entry></row> -<row><entry>enable -l <URI> <LINENO> <emphasis>(Enable/disable breakpoint at specifed URI, line number)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="entities_cmd"><title id="entities_cmd.title">Entities</title> -<para>Print list of external General Parsed entities used data file (document)</para> -<para>Shortcut name : ent</para> -<table><title>Entities usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>entities</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="exit_cmd"><title id="exit_cmd.title">Exit</title> -<para>Exit processing stylesheet as soon as possible.</para> -<table><title>Exit usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>exit</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="frame_cmd"><title id="frame_cmd.title">Frame</title> -<para>Print the stack frame at a given depth</para> -<para>Shortcut name: f</para> -<table><title>Frame usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>frame <FRAME_DEPTH> <emphasis>(Depth is a number from 0 to the current depth of call stack)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="free_cmd"><title id="free_cmd.title">Free</title> -<para>Free stylesheet and data (Disabled see run)</para> -<table><title>Free usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>free</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="globals_cmd"><title id="globals_cmd.title">Globals</title> -<para>Print a list of global stylesheet variables or parameters. Print the value of a global variable</para> -<table><title>Globals usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>globals <emphasis>(Print list of all globaly available variables)</emphasis></entry></row> -<row><entry>globals -f <emphasis>(Print list of all globaly available variables and thier values)</emphasis></entry></row> -<row><entry>globals <QNAME> <emphasis>(Print the value of variable specified)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="help_cmd"><title id="help_cmd.title">Help</title> -<para>Display help on command or overiew</para> -<para>Shortcut name: h</para> -<table><title>Help usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>help <emphasis>(Show overview of product)</emphasis></entry></row> -<row><entry>help <COMMAND> <emphasis>(Show help about a command)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="load_cmd"><title id="load_cmd.title">Load</title> -<para>Load the xsldbg's options and user preferences from disk</para> -<table><title>Load usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>load</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="locals_cmd"><title id="locals_cmd.title">Locals</title> -<para>Print a list of local stylesheet variables or parameters. Print the value of a local variable</para> -<table><title>Locals usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>locals <emphasis>(Print list of all locally available variables)</emphasis></entry></row> -<row><entry>locals -f <emphasis>(Print list of all locally available variables and thier values)</emphasis></entry></row> -<row><entry>locals <QNAME> <emphasis>(Print the value of variable specified)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="ls_cmd"><title id="ls_cmd.title">Ls</title> -<para>List nodes in a brief format</para> -<table><title>Ls usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>ls</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="next_cmd"><title id="next_cmd.title">Next</title> -<para>Skip over an xsl:call-template or xsl:apply-templates. -This command has the same effect of entering the commands "step" and then "up"</para> -<para>Shortcut name: n</para> -<table><title>Next usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>next <emphasis>(proceed to next sibling instruction)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="options_cmd"><title id="options_cmd.title">Options</title> -<para>Print the values for xsldbg's option</para> -<table><title>Options usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>options</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="output_cmd"><title id="output_cmd.title">Output</title> -<para>Specify a local, writable file to be used for output of results</para> -<para>Shortcut name : o</para> -<table><title>Output usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>output <FILENAME> <emphasis>(A local writable file name. Which can have a "~" prefix on *nix and CYGWIN platforms. Or environment variables under RISC OS)</emphasis></entry></row> -<row><entry>output <URI> <emphasis>(The <URI> must only use the "file://" protocol. This is then converted to a file name suitable for the operating system)</emphasis></entry></row> -<row><entry>output - <emphasis>( Send to standard output. Must only be used when using xsldbg's command line prompt )</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="public_cmd"><title id="public_cmd.title">Public</title> -<para>Print the value that a public ID maps via the current catalog</para> -<para>Shortcut name : pub</para> -<table><title>Public usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>public "<PublicID>"</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="pwd_cmd"><title id="pwd_cmd.title">Pwd</title> -<para>Print the current working directory.</para> -<table><title>Pwd usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>pwd</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="quit_cmd"><title id="quit_cmd.title">Quit</title> -<para>Exit processing stylesheet as soon as possible.</para> -<para>Shortcut name: q</para> -<table><title>Quit usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>quit</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="run_cmd"><title id="run_cmd.title">Run</title> -<para>Restart the stylesheet.</para> -<para>Shortcut name: r</para> -<table><title>Run usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>run</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="save_cmd"><title id="save_cmd.title">Save</title> -<para>Save the xsldbg's options and user preferences to disk</para> -<table><title>Save usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>save</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="search_cmd"><title id="search_cmd.title">Search</title> -<para>Search a dataBase of all information gathered from stylesheets loaded</para> -<para>All output files are stored in, value of the "searchresultspath" option if set, or the same directory as the provided stylesheet. searchresults.xml is normally transformed by search.xsl, but will be transformed using searchhtml.xsl if the "prefrehtml" option is set. -</para><para>When the search command is issued a xml file (searchresults.xml) will be created. You can then process this file with your own stylesheet to present data in a other ways. If "preferhtml" option is not set -then searchresult.txt is printed to display. -</para><para>Depending on the amount of data collected it might take a while to complete this command. -</para> -<table><title>Search usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>search <XPATH> <emphasis>(See what xpath can be used see search.dtd. The deafault <XPATH> is '//search/*' )</emphasis></entry></row> -<row><entry>search -sort <XPATH> <emphasis>(Tell search.xsl to sort the result before outputing it)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="set_cmd"><title id="set_cmd.title">Set</title> -<para>Set the value of a variable</para> -<table><title>Set usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>set <VARIABLE_NAME> <XPATH></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="setoption_cmd"><title id="setoption_cmd.title">Setoption</title> -<para>Set an option for execution of stylesheet</para> -<para>You will need to use run command to active changes</para> -<table><title>Setoption usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>setoption <OPTION_NAME> <INTEGER_VALUE></entry></row> -<row><entry>Where <OPTION_NAME> can be either</entry></row> -<row><entry> - <para> - <informaltable> - <tgroup cols="1"><tbody> - <row><entry>debug <emphasis>(If <INTEGER_VALUE> is true dump the tree of the result instead)</emphasis></entry></row> - <row><entry>catalogs <emphasis>(If <INTEGER_VALUE> is true use the catalogs from $SGML_CATALOG_FILES or SGML$CatalogFiles for risc operating system)</emphasis></entry></row> - <row><entry>html <emphasis>(If <INTEGER_VALUE> is true the input document is an HTML file)</emphasis></entry></row> - <row><entry>docbook <emphasis>(If <INTEGER_VALUE> is true and docbook is still supported by libxml the input document is SGML docbook)</emphasis></entry></row> - <row><entry>xinclude <emphasis>(If <INTEGER_VALUE> is true do XInclude processing on document intput)</emphasis></entry></row> - <row><entry>preferhtml <emphasis>(If <INTEGER_VALUE> is true the prefer html output for search results. : See search command)</emphasis></entry></row> - <row><entry>autoencode <emphasis>(If <INTEGER_VALUE> is true try to use the encoding from the stylesheet)</emphasis></entry></row> - <row><entry>utf8input <emphasis>(If <INTEGER_VALUE> is true All input from user is in UTF-8.This is normaly used when xsldbg is running as a thread)</emphasis></entry></row> - <row><entry> <emphasis></emphasis></entry></row> - <row><entry>gdb <emphasis>(Run in gdb compatability mode)</emphasis> - <para> - <informaltable> - <tgroup cols="1"><tbody> - <row><entry>For a value of 1 this means - <para> - <informaltable> - <tgroup cols="1"><tbody> - <row><entry>Print lots more messages. Increase the frequency of printing "Breapoint at ..."</entry></row> - <row><entry>At most GDB_LINES_TO_PRINT lines will be printed when evalating expressions, followed by a "...". See options.h to change this value, the default is three lines of text</entry></row> - <row><entry>Both local and globals will be printed when the "locals" command is issued </entry></row> - <row><entry>When printing expresssions with cat/print. The evaluated value will be prefixed by "= " < EXPRESSION ></entry></row> - </tbody></tgroup> - </informaltable> - </para> - </entry></row> - <row><entry/></row> - <row><entry>For a value of 2 this means - <para> - <informaltable> - <tgroup cols="1"><tbody> - <row><entry>Print messages needed by KDbg as well as the output state above (when value is 1) </entry></row> - </tbody></tgroup> - </informaltable> - </para> - </entry></row> - </tbody></tgroup> - </informaltable> - </para> - </entry></row> - <row><entry>nonet <emphasis>(If <INTEGER_VALUE> is true refuse to fetch DTDs or entities over network)</emphasis></entry></row> - <row><entry>novalid <emphasis>(If <INTEGER_VALUE> is true skip the DTD loading phase)</emphasis></entry></row> - <row><entry>repeat <emphasis>(If <INTEGER_VALUE> is true run the transformation 20 times)</emphasis></entry></row> - <row><entry>profile <emphasis>(If <INTEGER_VALUE> is true dump profiling informations)</emphasis></entry></row> - <row><entry>timing <emphasis>(If <INTEGER_VALUE> is true display the time used)</emphasis></entry></row> - <row><entry>noout <emphasis>(If <INTEGER_VALUE> is true do not dump the result)</emphasis></entry></row> - </tbody></tgroup> - </informaltable> - </para> -</entry></row> -<row><entry>Where value is true if it is NOT equal to zero</entry></row> -<row><entry>Where value is false if it IS equal to zero</entry></row> -<row><entry>stdout <emphasis>Print all error messages to stdout. Normally error messages go to stderr.</emphasis></entry></row> -<row><entry>setoption <OPTION_NAME> "<STRING_VALUE>" <emphasis>(Must not contain double quotation marks in <STRING_VALUE>)</emphasis></entry></row> -<row><entry>setoption <OPTION_NAME> <STRING_VALUE> <emphasis>(Must not contain any spaces, nor double quotation marks in <STRING_VALUE>)</emphasis></entry></row> -<row><entry>Where <OPTION_NAME> can be either</entry></row> -<row><entry> - <para> - <informaltable> - <tgroup cols="1"><tbody> - <row><entry>data <emphasis>(Data file's URI)</emphasis></entry></row> - <row><entry>source <emphasis>(Source file's URI)</emphasis></entry></row> - <row><entry>output <emphasis>(Output file's SystemID )</emphasis></entry></row> - <row><entry>docspath <emphasis>(Path to use when looking for documentation)</emphasis></entry></row> - <row><entry>catalognames <emphasis>(The names of the catalogs to use when the catalogs option is set. Value will be lost if set before setting catalogs option)</emphasis></entry></row> - <row><entry>encoding <emphasis>(What encoding to use for standard output)</emphasis></entry></row> - <row><entry>searchresultspath <emphasis>What path is to be used when storing the results of searching. If this is not set then xsldbg will use the path of the stylesheet</emphasis></entry></row> - </tbody></tgroup> - </informaltable> - </para> -</entry></row></tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="shell_cmd"><title id="shell_cmd.title">Shell</title> -<para>Execute shell command</para> -<table><title>Shell usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>shell <TEXT> <emphasis>(<TEXT> is the text to be passed to operating system for execution)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="showbreak_cmd"><title id="showbreak_cmd.title">Showbreak</title> -<para>To display list of template break points.</para> -<para>Shortcut name: show</para><para>If a mode exists on a template breakpoint then it will - be appended to the end of template name for breakpoint. An example of the output is : -<informaltable> -<tgroup cols="1"><tbody> -<row><entry> Breakpoint 3 enabled for template :"*" in file test1.xsl : line 105</entry></row> -<row><entry> Breakpoint 2 enabled for template :"* testMode" in file test1.xsl : line 109</entry></row> -<row><entry> Breakpoint 1 enabled for template :"* http://www.w3.org/1999/XSL/Transform:testMode" in file test1.xsl : line 113</entry></row> -<row><entry/></row> -<row><entry> Total of 3 breakpoints present</entry></row> -</tbody></tgroup></informaltable></para> -<table><title>Showbreak usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>showbreak</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="showparam_cmd"><title id="showparam_cmd.title">Showparam</title> -<para>Print the libxslt parameters present</para> -<table><title>Showparam usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>showparam</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="showwatch_cmd"><title id="showwatch_cmd.title">Showwatch</title> -<para>Show the current expression being watched</para> -<para>Shortcut name: watches</para> -<table><title>Showwatch usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>showwatch <emphasis>(Show the currently selected watches and thier values)</emphasis></entry></row> -<row><entry>showwatch 1 <emphasis>(Enable the automatic printing of watch expressions. This is used by default.)</emphasis></entry></row> -<row><entry>showwatch 0 <emphasis>(Disable the automatic printing of watch expressions.)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="source_cmd"><title id="source_cmd.title">Source</title> -<para>Switch to displaying the current node in stylesheet. Or change stylesheet used</para> -<table><title>Source usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>source <emphasis>(Switch to the current node in stylesheet.)</emphasis></entry></row> -<row><entry>source <SOURCE> <emphasis>(To change to a new source file. A leading "~" is replaced by the $HOME environment variable value. Will need to use "run" command to execute it)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="step_cmd"><title id="step_cmd.title">Step</title> -<para>Step until next stylesheet instruction.</para> -<para>Shortcut name: s</para> -<table><title>Step usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>step</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="stepdown_cmd"><title id="stepdown_cmd.title">Stepdown</title> -<para>Step down to a newer "call frame". </para> -<para>Shortcut name: down</para> -<table><title>Stepdown usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>stepdown <emphasis>(step down one frame)</emphasis></entry></row> -<row><entry>stepdown <NUMBER_OF_FRAMES> <emphasis>(step down specified number of frames)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="stepup_cmd"><title id="stepup_cmd.title">Stepup</title> -<para>Step up to a older "call frame". </para> -<para>Shortcut name: up</para><para>This is not an accurate command, xsldbg will stop as close as it can. </para> -<table><title>Stepup usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>stepup <emphasis>(step up one frame)</emphasis></entry></row> -<row><entry>stepup <NUMBER_OF_FRAMES> <emphasis>(step up specified number of frames)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="stylesheets_cmd"><title id="stylesheets_cmd.title">Stylesheets</title> -<para>Print out a list of stylesheets loaded</para> -<para>Shortcut name: style</para> -<table><title>Stylesheets usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>stylesheets</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - - -<sect1 id="system_cmd"><title id="system_cmd.title">System</title> -<para>Print the value that a system file maps via the current catalog</para> -<para>Shortcut name : sys</para> -<table><title>System usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>system "<SystemID>"</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="templates_cmd"><title id="templates_cmd.title">Templates</title> -<para>Print a list of available templates. Search for a template</para> -<para>Shortcut name: t</para> -<table><title>Templates usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>templates</entry></row> -<row><entry>templates <TEMPLATE> <emphasis>(Print details of template named <TEMPLATE> if it can be found)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="trace_cmd"><title id="trace_cmd.title">Trace</title> -<para>Trace one execution of the stylesheet printing the file and lines of -intermediate steps</para> -<table><title>Trace usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>trace</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="tty_cmd"><title id="tty_cmd.title">Tty</title> -<para>Open a terminal. Set the level of tty redirection.</para> -<table><title>Tty usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>tty <DEVICE_PATH> <emphasis>(Where <DEVICE_PATH> is a valid terminal on the operating system. Just tries to open the terminal</emphasis></entry></row> -<row><entry>tty <TTY_LEVEL> <emphasis>(Set the level of tty redirection, where <TTY_LEVEL> is a valid level of input/output to use)</emphasis> -<para> - <informaltable> - <tgroup cols="1"><tbody> - <row><entry>Where level is </entry></row> - <row><entry>0 = Default input/output </entry></row> - <row><entry>1 = Terminal output of results of transformation, tracing and walking <emphasis>(Default state when tty device has been opened. Not fully implemented yet.)</emphasis></entry></row> - <row><entry>2 = Full redirection to terminal <emphasis>(Not implemented yet.)</emphasis></entry></row> - <row><entry>All other integer values are assumed to mean level 0 - </entry></row> - </tbody> - </tgroup> - </informaltable> -</para> -</entry></row></tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="validate_cmd"><title id="validate_cmd.title">Validate</title> -<para>Validate the output file generated by stylesheet (Disabled)</para> -<table><title>Validate usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>validate</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="walk_cmd"><title id="walk_cmd.title">Walk</title> -<para>Walk through code using a range of speeds</para> -<table><title>Walk usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>walk <SPEED> <emphasis>(Use Ctrl-c to stop -execution, <SPEED> is a value between 0 and 9. Where 0 means stop, 1 is -very fast, 9 is very slow)</emphasis></entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="where_cmd"><title id="where_cmd.title">Where</title> -<para>Print a trace of templates calls (frame stack) and print the working directory.</para> -<para>Shortcut name: w</para> -<table><title>Where usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>where</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - -<sect1 id="write_cmd"><title id="write_cmd.title">Write</title> -<para>To be completed</para> -<table><title>Write usage</title> -<tgroup cols="1"> -<tbody> -<row><entry>write</entry></row> -</tbody> -</tgroup> -</table> -</sect1> - - - - - -</chapter> diff --git a/doc/xsldbg/credits.docbook b/doc/xsldbg/credits.docbook deleted file mode 100644 index 89bdadc4..00000000 --- a/doc/xsldbg/credits.docbook +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<chapter id="credits"> -<title>Credits and License</title> - -<para> -&xsldbg; -</para> -<para> -Program copyright 2004 Keith Isdale <email>k_isdale tpg com au</email> -</para> - -<!-- TRANS:CREDIT_FOR_TRANSLATORS --> -&underFDL; -&underGPL; - -<sect1 id="thanks"> -<title>Thanks to </title> -<para> The writers the libxml and libxsl.</para> -<para><ulink url="http://members.nextra.at/johsixt/">Johannes Sixt</ulink> for helping with adding xsldbg support to KDbg</para></sect1> - -</chapter> diff --git a/doc/xsldbg/index.docbook b/doc/xsldbg/index.docbook deleted file mode 100644 index 5e3be526..00000000 --- a/doc/xsldbg/index.docbook +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0" ?> -<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ - <!ENTITY xsldbg "<application>xsldbg</application>"> - <!ENTITY kappname "&xsldbg;"> - <!ENTITY package "tdewebdev"> - <!ENTITY % addindex "IGNORE"> - <!ENTITY % English "INCLUDE"> - <!ENTITY introduction-chapter SYSTEM "introduction.docbook"> - <!ENTITY usage-chapter SYSTEM "usage.docbook"> - <!ENTITY commands-chapter SYSTEM "commands.docbook"> - <!ENTITY credits-chapter SYSTEM "credits.docbook"> -]> - -<!-- More content formatting is in need of being done asking for help on kde-i18n-doc@kde.org : remove these two lines when done --> -<!-- NO TRANSLATION --> - -<!-- ................................................................ --> -<!-- The language must NOT be changed here. --> -<!-- If you are writing original documentation in a language other --> -<!-- than English, change the language above ONLY, not here --> -<book lang="&language;"> - -<bookinfo> -<title>The &xsldbg; Handbook</title> - -<authorgroup> -<author> -<firstname>Keith</firstname> -<surname>Isdale</surname> -<affiliation> -<address><email>k_isdale@tpg.com.au</email></address> -</affiliation> -</author> - -<!-- TRANS:ROLES_OF_TRANSLATORS --> - -</authorgroup> - -<copyright> -<year>2002</year> -<year>2003</year> -<holder>Keith Isdale</holder> -</copyright> - -<legalnotice>&FDLNotice;</legalnotice> -<date>2004-09-26</date> -<releaseinfo>1.01.00</releaseinfo> - - -<abstract> -<para> -&xsldbg; is a tool intended to help understand stylesheets. -What makes it different to other stylesheet debuggers is the ability -to search for items of interest and trace stylesheet execution. -</para> -</abstract> - -<keywordset> -<keyword>KDE</keyword> -<keyword>tdeutils</keyword> -<keyword>xsldbg</keyword> -<keyword>xsl</keyword> -<keyword>XML</keyword> -</keywordset> - -</bookinfo> - -&introduction-chapter; -&usage-chapter; -&commands-chapter; -&credits-chapter; - - -<appendix id="installation"> -<title>Installation</title> - -<sect1 id="getting-xsldbg"> -<title>How to obtain &xsldbg;</title> - -<para> -See the kxsldbg component of the tdewebdev module in &kde; SVN. -</para> - -&install.intro.documentation; - -</sect1> - -<sect1 id="requirements"> -<title>Requirements</title> - -<para> -In order to successfully use &xsldbg;, you need &kde; libxslt, libexslt and -libxml installed which are available on a typical &kde; installation. -</para> -</sect1> - -<sect1 id="compilation"> -<title>Compilation and Installation</title> -<para>&xsldbg; is usually compiled as part of the kxsldbg component in the tdewebdev module</para> -</sect1> - -<sect1 id="configuration"> -<title>Configuration</title> - -<para>&xsldbg; is configured using arguments passed via the command line and its <link linkend="setoption_cmd" endterm="setoption_cmd.title">setoption</link> command</para> - -</sect1> - -</appendix> - -&documentation.index; -</book> diff --git a/doc/xsldbg/introduction.docbook b/doc/xsldbg/introduction.docbook deleted file mode 100644 index 65879ce0..00000000 --- a/doc/xsldbg/introduction.docbook +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<chapter id="introduction"> -<title>Introduction</title> - -<para> -&xsldbg; is a text based tool to debug stylesheets (the eXtensible -Stylesheet Language) and has commands similar to the Unix/Linux debugger -gdb. It has three major modes of execution of stylesheets. -</para> -<para> -<informaltable> - <tgroup cols="1"><tbody> - <row><entry>Run the whole stylesheet</entry></row> - <row><entry>Step to next xsl instruction</entry></row> - <row><entry>Continue until next break point is found, or stylesheet has restarted</entry></row> - </tbody></tgroup> -</informaltable> -</para> - -</chapter> diff --git a/doc/xsldbg/usage.docbook b/doc/xsldbg/usage.docbook deleted file mode 100644 index 5fe2fdc2..00000000 --- a/doc/xsldbg/usage.docbook +++ /dev/null @@ -1,147 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<chapter id="using-xsldbg"> -<title>Using &xsldbg;</title> -<para></para> -<sect1><title>xsldbg command arguments</title> -<para> -On systems with readline library available you can use the back/forward -keys to navigate the history of entered commands. -On all systems the last entered command can be repeated by just pressing -the <ENTER> key. -</para> -<para>If your operating system supports it file names will be expanded.</para> -<para> -Several commands take more that one argument. Quotes may be used to lead to -complex expressions being treated as one arument. eg break "* | @" would allow you to se a breakpoint on the - template with the name "* | @" -</para> -</sect1> - -<sect1 id="legend"><title>Legend of terms</title> -<para>The following table describes the terms used in the subsiquent command guide</para> -<informaltable> -<tgroup cols="1"><tbody> - <row><entry> - TEMPLATE_NAME : A valid template name contains only ASCI - character codes 0x00 to 0x7F. And can be a fully qualified name ie - "xsl:templateName". </entry></row> - <row><entry> - FILENAME : A valid file name local to the system of the - user. It can have a "~" prefix on *nix and CYGWIN platforms. Or - environment variables under RISC OS - </entry></row> - <row><entry>URI : A Uniform Resource Identifiers as defined by RFC 2396</entry></row> - <row><entry>MODE_NAME The mode of template which can be fully qualified name ie "xsl:modeName".</entry></row> - <row><entry>QNAME : A fully qualified name ie "xsl:localPart"</entry></row> - <row><entry>LINENO : A valid line number in associated <FILENAME></entry></row> - <row><entry>NUMBER_OF_FRAMES : A valid line number frames to change position by</entry></row> - <row><entry>BREAKPOINT_ID : A valid break point number</entry></row> - <row><entry>WATCH_ID : A valid watch expression number as indicated by showwatch command</entry></row> - <row><entry>SPEED: speed to walk through code at, between 0 to 9</entry></row> - <row><entry> - <emphasis>(Comment)</emphasis>: a - comment about command meaning or usage - </entry></row> - <row><entry>{ opt1 | opt2 | opt2 .. etc} : Choose one of the opt's</entry></row> - <row><entry>XPATH : a xpath selection of node(s)</entry></row> - <row><entry>PARAM_ID : a valid parameter number as indicated by showparam command</entry></row> - <row><entry> - PATH : A path to change working directory to On some operating systems a - "~" prefix will be replaced by your home directory path - </entry></row> - <row><entry> - TEXT : Free form text <emphasis>(no - restrictions)</emphasis> - </entry></row> - <row><entry>COMMAND : A valid command for the xsdbg</entry></row> - <row><entry>QNAME : A valid variable/parameter name</entry></row> - <row><entry>SOURCE : The stylesheet being/to be executed. See <FILENAME> and <URI></entry></row> - <row><entry> - DATA : The xml data(document) being/to be processed by the - stylesheet. See <FILENAME> - and <URI> - </entry></row> - <row><entry>DEVICE_PATH : Is a valid terminal on the operating system</entry></row> - <row><entry>TTY_LEVEL : Is a valid level of input/output to use</entry></row> -</tbody></tgroup></informaltable> -<para></para> -</sect1> - -<sect1 id="command_summary"><title>Overview of available commands</title> -<informaltable> -<tgroup cols="1"><tbody> -<row><entry>Help related :<link linkend="help_cmd" endterm="help_cmd.title">help</link></entry></row> -<row><entry> - Running related : {<link linkend="bye_cmd" endterm="bye_cmd.title">bye</link>|<link linkend="exit_cmd" endterm="exit_cmd.title">exit</link>| - <link linkend="quit_cmd" endterm="quit_cmd.title">quit</link>}, <link linkend="step_cmd" endterm="step_cmd.title">step</link>, - <link linkend="stepup_cmd" endterm="stepup_cmd.title">stepup</link>, <link linkend="stepdown_cmd" endterm="stepdown_cmd.title">stepdown</link>, - <link linkend="next_cmd" endterm="next_cmd.title">next</link>, - <link linkend="continue_cmd" endterm="continue_cmd.title">continue</link>, - <link linkend="run_cmd" endterm="run_cmd.title">run</link>, -<link linkend="trace_cmd" endterm="trace_cmd.title">trace</link>, <link linkend="setoption_cmd" endterm="setoption_cmd.title">setoption</link>, - <link linkend="options_cmd" endterm="options_cmd.title">options</link> -</entry></row> -<row><entry> - Libxslt parameter related : <link linkend="addparam_cmd" endterm="addparam_cmd.title">addparam</link>, - <link linkend="delparam_cmd" endterm="delparam_cmd.title">delparam</link>, <link linkend="showparam_cmd" endterm="showparam_cmd.title">showparam</link>, - <link linkend="output_cmd" endterm="output_cmd.title">output</link>, <link linkend="setoption_cmd" endterm="setoption_cmd.title">setoption</link>, - <link linkend="options_cmd" endterm="options_cmd.title">options</link> -</entry></row> -<row><entry> - Template related : <link linkend="templates_cmd" endterm="templates_cmd.title">templates</link>, - <link linkend="where_cmd" endterm="where_cmd.title">where</link>, <link - linkend="frame_cmd" endterm="frame_cmd.title">frame</link> -</entry></row> -<row><entry> - Break point related : <link linkend="break_cmd" endterm="break_cmd.title">break</link>, - <link linkend="showbreak_cmd" - endterm="showbreak_cmd.title">showbreak</link>, <link linkend="delete_cmd" endterm="delete_cmd.title">delete</link>, - <link linkend="enable_cmd" endterm="enable_cmd.title">enable</link> -</entry></row> -<row><entry> - Expression viewing(xpath) : <link linkend="cat_cmd" - endterm="cat_cmd.title">cat</link> -</entry></row> -<row><entry> - Node viewing : <link linkend="ls_cmd" endterm="ls_cmd.title">ls</link>, <link linkend="dir_cmd" endterm="dir_cmd.title">dir</link>, - <link linkend="du_cmd" endterm="du_cmd.title">du</link>, <link - linkend="cat_cmd" endterm="cat_cmd.title">cat</link>, <link - linkend="pwd_cmd" endterm="pwd_cmd.title">pwd</link> -</entry></row> -<row><entry> - Variable viewing : <link linkend="globals_cmd" endterm="globals_cmd.title">globals</link>, - <link linkend="locals_cmd" endterm="locals_cmd.title">locals</link>, - <link linkend="cat_cmd" endterm="cat_cmd.title">cat</link>, - <link linkend="addwatch_cmd" endterm="addwatch_cmd.title">addwatch</link> -</entry></row> -<row><entry> - Variable setting: <link linkend="set_cmd" - endterm="set_cmd.title">set</link> -</entry></row> -<row><entry> - Node selection : <link linkend="source_cmd" endterm="source_cmd.title">source</link>, - <link linkend="data_cmd" endterm="data_cmd.title">data</link>, <link - linkend="cd_cmd" endterm="cd_cmd.title">cd</link> -</entry></row> -<row><entry> - Searching :<link linkend="search_cmd" - endterm="search_cmd.title">search</link> -</entry></row> -<row><entry> - Operating system related :<link linkend="chdir_cmd" endterm="chdir_cmd.title">chdir</link>, - <link linkend="shell_cmd" endterm="shell_cmd.title">shell</link>, <link linkend="tty_cmd" endterm="tty_cmd.title">tty</link></entry></row> -<row><entry>File related : <link linkend="output_cmd" endterm="output_cmd.title">output</link>, - <link linkend="entities_cmd" endterm="entities_cmd.title">entities</link>, <link linkend="system_cmd" endterm="system_cmd.title">system</link>, - <link linkend="public_cmd" endterm="public_cmd.title">public</link> -</entry></row> -<row><entry> - Disabled file commands: <link linkend="validate_cmd" endterm="validate_cmd.title">validate</link>, - <link linkend="load_cmd" endterm="load_cmd.title">load</link>, <link linkend="save_cmd" endterm="save_cmd.title">save</link>, - <link linkend="write_cmd" endterm="write_cmd.title">write</link>, <link - linkend="free_cmd" endterm="free_cmd.title">free</link> -</entry></row> -</tbody></tgroup></informaltable> -</sect1> - -</chapter> - diff --git a/doc/xsldbg/xsldbghelp.xml b/doc/xsldbg/xsldbghelp.xml deleted file mode 100644 index 64d9b81b..00000000 --- a/doc/xsldbg/xsldbghelp.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE helpbook [ - <!ENTITY nbsp " "> - <!ENTITY introduction-chapter SYSTEM "introduction.docbook"> - <!ENTITY usage-chapter SYSTEM "usage.docbook"> - <!ENTITY commands-chapter SYSTEM "commands.docbook"> - <!ENTITY xsldbg "xsldbg"> -]> - - -<!-- - Note: xsldbg's index.docbook file is not used because it is much slower to process. - Translations required are passed as command line arguments to xsldbg - --> - - - -<helpbook> -&introduction-chapter; -&usage-chapter; -&commands-chapter; -</helpbook> diff --git a/doc/xsldbg/xsldbghelp.xsl b/doc/xsldbg/xsldbghelp.xsl deleted file mode 100644 index c1587726..00000000 --- a/doc/xsldbg/xsldbghelp.xsl +++ /dev/null @@ -1,115 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!-- - File : xsldoc.xsl - Author: Keith Isdale <k_isdale@tpg.com.au> - Description: Stylesheet to process xsldoc.xml and generate help text - Copyright Reserved Under GPL ---> -<!-- This file does not require translation --> -<!-- NO TRANSLATION --> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - version="1.0"> - <xsl:output method="text"/> - <xsl:strip-space elements="text"/> - <!-- The selected nodes to be printed for overview --> - <xsl:variable name="overview_node" select="//chapter[@id='introduction']"/> - <!-- The selected nodes to be printed for usage overview --> - <xsl:variable name="usage_node" select="//chapter[@id='using-xsldbg']"/> - <!-- The list of valid xsldbg commands --> - <xsl:variable name="command_nodes" select="//chapter[@id='commands']"/> - <!-- The list of i18n paras --> - <xsl:variable name="i18n_para" select="//i18n"/> - <!-- What version is this document--> - <xsl:variable name="doc_version" select="'3.3.0-1'"/> - <!-- The default version of xsldbg --> - <xsl:param name="xsldbg_version" select="'3.3.0'"/> - <!-- We want 'help' to point to a invalid command if stylesheet - user has not provided a value for 'help' param--> - <xsl:param name="help" select="'_#_'"/> - <xsl:variable name="help_id" select="concat($help,'_cmd')"/> - <!-- Do we printout all documentation '1' if so '0' otherwise --> - <xsl:param name="alldocs" select="0"/> - <!-- The documentation we can find for 'help' user requires --> - <xsl:variable name="help_cmd" select="$command_nodes/sect1[@id=$help_id or @shortcut=$help_id]"/> - - <!-- Our translatables --> - <xsl:param name="xsldbgVerTxt" select="'xsldbg version'"/> - <xsl:param name="helpDocVerTxt" select="'Help document version'"/> - <xsl:param name="helpErrorTxt" select="'Help not found for command'"/> - - - - <!-- Main template--> - <xsl:template match="/"> -<xsl:text> </xsl:text><xsl:value-of select="$xsldbgVerTxt"/><xsl:text> </xsl:text><xsl:value-of select="$xsldbg_version"/> -<xsl:text> -</xsl:text> -<xsl:text> ====================</xsl:text><xsl:text> -</xsl:text> - <xsl:choose> - <xsl:when test="count($help_cmd) > 0" > - <xsl:apply-templates select="$help_cmd" /> - <xsl:value-of select="$helpDocVerTxt"/><xsl:text> </xsl:text><xsl:value-of select="$doc_version"/><xsl:text> -</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:if test="$help !='_#_'"> - <xsl:value-of select="$helpErrorTxt"/><xsl:text> </xsl:text> - <xsl:value-of select="$help"/> - </xsl:if> - <xsl:if test="$help ='_#_'"> - <xsl:apply-templates select="$overview_node"/> - <xsl:text> -</xsl:text> - <xsl:apply-templates select="$usage_node"/> - <xsl:value-of select="$helpDocVerTxt"/><xsl:text> </xsl:text><xsl:value-of select="$doc_version"/><xsl:text> -</xsl:text> - </xsl:if> -<xsl:text> -</xsl:text> - </xsl:otherwise> - </xsl:choose> -<xsl:text> -</xsl:text> - </xsl:template> - - - <!-- Convert title into something useful --> - <xsl:template match="title"> -<xsl:for-each select="ancestor::node()"><xsl:text> </xsl:text></xsl:for-each><xsl:value-of select="."/> -<xsl:text> -</xsl:text><xsl:for-each select="ancestor::node()"><xsl:text> </xsl:text></xsl:for-each> -<xsl:value-of - select="substring('____________________________________________________________', - 1, string-length())" /> -<xsl:text> -</xsl:text> - </xsl:template> - - <xsl:template match="text()"> - <xsl:value-of select="normalize-space()"/> - </xsl:template> - - <xsl:template match="row"> - <xsl:value-of select="$indentgroup/indent[@level=$indentcount]" /> - <xsl:apply-templates/> - </xsl:template> - - <xsl:template match="para"> - <xsl:text> -</xsl:text> - <xsl:apply-templates/> - </xsl:template> - - <xsl:template match="informaltable|table"> - <xsl:text> -</xsl:text> - <xsl:apply-templates select="title"/> - <xsl:for-each select="tgroup/tbody/row/entry|tbody/row/entry"> - <xsl:for-each select="ancestor::node()"><xsl:text> </xsl:text></xsl:for-each><xsl:apply-templates/> - <xsl:text> -</xsl:text> - </xsl:for-each> - </xsl:template> - -</xsl:stylesheet> diff --git a/kxsldbg/CMakeL10n.txt b/kxsldbg/CMakeL10n.txt deleted file mode 100644 index 41cee94b..00000000 --- a/kxsldbg/CMakeL10n.txt +++ /dev/null @@ -1,9 +0,0 @@ -##### create translation templates ############## - -tde_l10n_create_template( "kxsldbg" ) - -tde_l10n_create_template( - CATALOG "desktop_files/kxsldbg-desktops/" - SOURCES *.desktop - DESTINATION "${CMAKE_SOURCE_DIR}/translations" -) diff --git a/kxsldbg/CMakeLists.txt b/kxsldbg/CMakeLists.txt deleted file mode 100644 index ca9a1df0..00000000 --- a/kxsldbg/CMakeLists.txt +++ /dev/null @@ -1,91 +0,0 @@ -#add_subdirectory( data ) -add_subdirectory( kxsldbgpart ) - -add_compile_options( ${ICU_CXXFLAGS} ) - - -include_directories( - ${CMAKE_BINARY_DIR} - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR} -) - -include_directories( SYSTEM - ${TDE_INCLUDE_DIR} - ${TQT_INCLUDE_DIRS} - ${LIBXML_INCLUDE_DIRS} - ${LIBXSLT_INCLUDE_DIRS} - ${READLINE_INCLUDE_DIRS} -) - -link_directories( - ${TQT_LIBRARY_DIRS} - ${TDE_LIB_DIR} -) - - -##### kxsldbg (executable) - -tde_add_executable( kxsldbg AUTOMOC - - SOURCES - kxsldbg.cpp - main.cpp - kxsldbgif.skel - LINK - tdecore-shared - tdeui-shared - tdeio-shared - tdeparts-shared - tqtnotfier-static - kxsldbgcommon-static - xsldbg-static - ${READLINE_LIBRARIES} - - DESTINATION ${BIN_INSTALL_DIR} -) - - -##### xsldbg (executable) - -tde_add_executable( xsldbg AUTOMOC - - SOURCES - xsldbgmain.cpp - LINK - tdecore-shared - tdeui-shared - tdeio-shared - tdeparts-shared - xsldbg-static - ${READLINE_LIBRARIES} - - DEPENDENCIES - xsldbg-static - - DESTINATION ${BIN_INSTALL_DIR} -) - - -##### icons - -tde_install_icons( kxsldbg ) - - -##### other data - -install( - FILES kxsldbg_shell.rc - DESTINATION ${DATA_INSTALL_DIR}/kxsldbg -) - -tde_create_translated_desktop( - SOURCE xsldbg.desktop - DESTINATION ${APPS_INSTALL_DIR}/.hidden - PO_DIR kxsldbg-desktops -) - -tde_create_translated_desktop( - SOURCE kxsldbg.desktop - PO_DIR kxsldbg-desktops -) diff --git a/kxsldbg/Makefile.am b/kxsldbg/Makefile.am deleted file mode 100644 index 016defd0..00000000 --- a/kxsldbg/Makefile.am +++ /dev/null @@ -1,72 +0,0 @@ -bin_PROGRAMS = kxsldbg xsldbg - -kxsldbg_SOURCES = kxsldbg.cpp main.cpp kxsldbgif.skel -noinst_HEADERS = kxsldbg.h -kxsldbg_DEPENDENCIES = ./kxsldbgpart/libtqtnotfier/libtqtnotfier.la ./kxsldbgpart/libkxsldbgcommon.la ./kxsldbgpart/libxsldbg/libxsldbg.la -kxsldbg_LDADD = ./kxsldbgpart/libtqtnotfier/libtqtnotfier.la ./kxsldbgpart/libkxsldbgcommon.la ./kxsldbgpart/libxsldbg/libxsldbg.la $(LIB_TDEUI) $(LIBXSLT_LIBS) $(LIBXML_LIBS) $(LIB_TDEPARTS) - -SUBDIRS = kxsldbgpart - -KDE_ICON = kxsldbg - -xdg_apps_DATA = kxsldbg.desktop - -app_DATA = xsldbg.desktop -appdir = $(kde_appsdir)/.hidden - -# Disable building xsldbg application as documentation for it is not ready -# -xsldbg_SOURCES = xsldbgmain.cpp - -xsldbg_CFLAGS = $(XSLDBG_CFLAGS) $(all_includes) - -xsldbg_DEPENDENCIES = kxsldbgpart/libxsldbg/libxsldbg.la - -# use of configure defined libraries -xsldbg_LDADD = kxsldbgpart/libxsldbg/libxsldbg.la $(LIBXSLT_LIBS) $(LIBXML_LIBS) $(LIB_TDEUI) -# -# the library search path. -xsldbg_LDFLAGS = $(all_libraries) $(XSLDBG_EXTRA_LIBS) $(LIB_TQT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_TDEIO) -ltdetexteditor - -# These paths are KDE specific. Use them: -# kde_appsdir Where your application's menu entry (.desktop) should go to. -# kde_icondir Where your icon should go to - better use KDE_ICON. -# kde_sounddir Where your sounds should go to. -# kde_htmldir Where your docs should go to. (contains lang subdirs) -# kde_datadir Where you install application data. (Use a subdir) -# kde_locale Where translation files should go to. (contains lang subdirs) -# kde_cgidir Where cgi-bin executables should go to. -# kde_confdir Where config files should go to (system-wide ones with default values). -# kde_mimedir Where mimetypes .desktop files should go to. -# kde_servicesdir Where services .desktop files should go to. -# kde_servicetypesdir Where servicetypes .desktop files should go to. -# kde_toolbardir Where general toolbar icons should go to (deprecated, use KDE_ICON). -# kde_wallpaperdir Where general wallpapers should go to. -# kde_templatesdir Where templates for the "New" menu (Konqueror/KDesktop) should go to. -# kde_bindir Where executables should go to. Use bin_PROGRAMS or bin_SCRIPTS. -# kde_libdir Where shared libraries should go to. Use lib_LTLIBRARIES. -# kde_moduledir Where modules (e.g. parts) should go to. Use kde_module_LTLIBRARIES. -# kde_styledir Where Qt/KDE widget styles should go to (new in KDE 3). -# kde_designerdir Where Qt Designer plugins should go to (new in KDE 3). - -# set the include path for X, qt and KDE -INCLUDES= $(LIBXML_CFLAGS) $(LIBXSLT_CFLAGS) $(all_includes) -CXXFLAGS += $(ICU_CXXFLAGS) - -METASOURCES = AUTO - -# the application source, library search path, and link libraries -kxsldbg_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_TQT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_TDEIO) -ltdetexteditor - -# this is where the shell's XML-GUI resource file goes -shellrcdir = $(kde_datadir)/kxsldbg -shellrc_DATA = kxsldbg_shell.rc - -messages: rc.cpp - LIST=`find . -name \*.ui -o -name \*.rc`; \ - $(EXTRACTRC) $$LIST >> rc.cpp ;\ - LIST=`find . -name \*.h -o -name \*.hh -o -name \*.H -o -name \*.hxx -o -name \*.hpp -o -name \*.cpp -o -name \*.cc -o -name \*.cxx -o -name \*.ecpp -o -name \*.C`; \ - if test -n "$$LIST"; then \ - $(XGETTEXT) $$LIST -o $(podir)/kxsldbg.pot; \ - fi - diff --git a/kxsldbg/configure.in.in b/kxsldbg/configure.in.in deleted file mode 100644 index b4f1ef5e..00000000 --- a/kxsldbg/configure.in.in +++ /dev/null @@ -1,176 +0,0 @@ -LIBXSLT_REQUIRED_VERSION="1.0.18" -AC_SUBST(LIBXSLT_REQUIRED_VERSION) - -dnl -dnl Math detection -dnl - -AC_CHECK_HEADERS(sys/types.h unistd.h string.h) -AC_CHECK_HEADERS(ieeefp.h nan.h math.h fp_class.h float.h ansidecl.h) -AC_CHECK_HEADERS(time.h sys/stat.h stdarg.h) -AC_CHECK_FUNCS(stat _stat) - -AC_CHECK_FUNC(isnan, , AC_CHECK_LIB(m, isnan, - [M_LIBS="-lm"; AC_DEFINE(HAVE_ISNAN)])) - -AC_CHECK_FUNC(isinf, , AC_CHECK_LIB(m, isinf, - [M_LIBS="-lm"; AC_DEFINE(HAVE_ISINF)])) - -AC_CHECK_FUNC(pow, , AC_CHECK_LIB(m, pow, - [M_LIBS="-lm"; AC_DEFINE(HAVE_POW)])) - -AC_CHECK_FUNC(floor, , AC_CHECK_LIB(m, pow, - [M_LIBS="-lm"; AC_DEFINE(HAVE_FLOOR)])) - -AC_CHECK_FUNC(fabs, , AC_CHECK_LIB(m, pow, - [M_LIBS="-lm"; AC_DEFINE(HAVE_FABS)])) -AC_CHECK_FUNCS(gettimeofday) -AC_CHECK_FUNCS(mktime localtime asctime) - -AH_TEMPLATE(USE_DOCS_MACRO) -AH_TEMPLATE(TIMESTAMP) -AH_TEMPLATE(WITH_DEBUG_HELP) -AH_TEMPLATE(WITH_XSLDBG_DEBUG) -AH_TEMPLATE(XSLDBG_BIN) -AH_TEMPLATE(USE_XSLDBG_AS_THREAD) -AH_TEMPLATE(HAVE_INCLUDE_FIX) - -AH_TEMPLATE(_GNU_SOURCE) -AH_TEMPLATE(HAVE_ISINF) -AH_TEMPLATE(HAVE_ISNAN) -AH_TEMPLATE(HAVE_POW) -AH_TEMPLATE(HAVE_FLOOR) -AH_TEMPLATE(HAVE_FABS) -AH_TEMPLATE(HAVE_QT) -AH_TEMPLATE(HAVE_PTHREAD) -AH_TEMPLATE(HAVE_READLINE) -AH_TEMPLATE(HAVE_HISTORY) - -dnl -dnl how are we to invoke xsldbg, or the other stylesheet processor (xsltproc?) -dnl - -AC_DEFINE(XSLDBG_BIN, "xsldbg") - - -dnl -dnl Do we have we fix for included xml files -dnl - -save_LDFLAGS="$LDFLAGS" -save_CFLAGS="$CFLAGS" -LDFLAGS="$LDFLAGS $LIBXML_LIBS" -CFLAGS="$CFLAGS $LIBXML_CFLAGS" - -AC_CHECK_LIB(xml2, xmlSetEntityReferenceFunc, - [AC_DEFINE(HAVE_INCLUDE_FIX)], - [AC_MSG_RESULT( -!!Warning!! The version of libxml2 installed does not support - debugging of files included as entities. Test 10 will be skipped - as it will fail. You will not be able to set breakpoints on external - entities. Try upgrading your libxml2. - See also --enable-includefix) - RUNTEST10="false" - ]) - -LDFLAGS="$save_LDFLAGS" -CFLAGS="$save_CFLAGS" - -AC_ARG_ENABLE([includefix], - [ --enable-includefix Do you want to force the use of include fix (no)], [do_include_fix=$enableval], [do_include_fix="no"]) - -if test "x$do_include_fix" = "xyes"; then - AC_DEFINE(HAVE_INCLUDE_FIX) - AC_MSG_RESULT(Forcing the use if include fix) -fi - - - -XSLDBG_MAJOR_VERSION=3 -XSLDBG_MINOR_VERSION=1 -XSLDBG_MICRO_VERSION=7 -XSLDBG_VERSION=$XSLDBG_MAJOR_VERSION.$XSLDBG_MINOR_VERSION.$XSLDBG_MICRO_VERSION -XSLDBG_VERSION_INFO=`expr $XSLDBG_MAJOR_VERSION + \ -$XSLDBG_MINOR_VERSION`:$XSLDBG_MICRO_VERSION:$XSLDBG_MINOR_VERSION - -XSLDBG_VERSION_NUMBER=`expr $XSLDBG_MAJOR_VERSION \* 10000 + \ -$XSLDBG_MINOR_VERSION \* 100 + $XSLDBG_MICRO_VERSION` -AC_SUBST(XSLDBG_MAJOR_VERSION) -AC_SUBST(XSLDBG_MINOR_VERSION) -AC_SUBST(XSLDBG_MICRO_VERSION) -AC_SUBST(XSLDBG_VERSION) -AC_SUBST(XSLDBG_VERSION_INFO) -AC_SUBST(XSLDBG_VERSION_NUMBER) - - -dnl -dnl We must run xsldbg as a thread -dnl -AC_CHECK_HEADERS(pthread.h, - AC_DEFINE(HAVE_PTHREAD) - AVE_PTHREAD=1 - SE_XSLDBG_AS_THREAD=1 - AC_DEFINE(USE_XSLDBG_AS_THREAD), - AC_MSG_ERROR(PThread library not found) -) -XSLDBG_INCLUDEDIR="`pwd`/kxsldbg/kxsldbgpart" - -dnl Where is the xsldbg documentation stored -dnl -docs_macro=true -AC_ARG_ENABLE(docs_macro, - [ --enable-docs-macro Use a compiler macro to specify where documentation is (PREFIX/doc/xsldbg/)], - [docs_macro=$enableval], [docs_macro="yes"]) - -if test "x$docs_macro" = "xyes"; then - AC_DEFINE(USE_DOCS_MACRO, 1) - if test "x$prefix" != "x" - then - AC_MSG_RESULT(xsldbg will look for installed documentation in ${prefix}/doc/xsldbg) - else - AC_MSG_RESULT(xsldbg will look for installed documentation in ${ac_default_prefix}doc/xsldbg/) - fi - DOCS_PATH="${prefix}/doc/xsldbg" -AC_SUBST(DOCS_PATH) - -else - AC_MSG_RESULT( - - !!Warning!! Using a environment variable for specifiying location of documentation. - On non risc os systems : XSLDBG_DOCS_DIR - On risc os systems : XSLDebugDocs\$Dir - See --enable-docs-macro in ./configure - ) -fi - - -dnl include extra debugging for xsldbg? -AC_ARG_ENABLE([xsldbg-debugging], - [ --enable-xsldbg-debugging Do you want to enable lots of debugging messages in xsldbg (no)], [do_xsldbg_debugging=$enableval], [do_xsldbg_debugging="no"]) - -if test "x$do_xsldbg_debugging" = "xyes"; then - AC_DEFINE(WITH_XSLDBG_DEBUG) - AC_MSG_RESULT(Enabling lots of debug messages in xsldbg) -fi - - - - -AC_MSG_RESULT(Using xsldbg as a part of kxsldbg) - -dnl -dnl Check for readline and history -dnl -XSLDBG_EXTRA_LIBS="" -dnl AC_CHECK_HEADERS(readline/readline.h, [ -dnl AC_DEFINE(HAVE_READLINE) -dnl XSLDBG_EXTRA_LIBS="-lreadline -lncurses"]) -dnl AC_CHECK_HEADER(readline/history.h, [ -dnl AC_DEFINE(HAVE_HISTORY) -dnl XSLDBG_EXTRA_LIBS="$XSLDBG_EXTRA_LIBS -lhistory"]) - -AC_SUBST(XSLDBG_INCLUDEDIR) -AC_SUBST(XSLDBG_EXTRA_LIBS) -XSLDBG_CFLAGS="-I${XSLDBG_INCLUDEDIR} ${LIBXSLT_CFLAGS} " -AC_SUBST(XSLDBG_CFLAGS) -AC_SUBST(XSLDBG_PREFIX) diff --git a/kxsldbg/data/Makefile.am b/kxsldbg/data/Makefile.am deleted file mode 100644 index d6bd3286..00000000 --- a/kxsldbg/data/Makefile.am +++ /dev/null @@ -1,16 +0,0 @@ -SUBDIRS = - - -# Provide a example XSLT scripts : testdoc.xsl and empty.xsl -commondata = test1.xml test2.xml test3.xml test4.xml \ - test_import.xsl test_include_bot.xsl test_include_top.xsl \ - testdoc.dtd testdoc.xml testdoc.xsl \ - empty.xsl empty.xml - - -kxsldbgdir = ${kde_datadir}/kxsldbg -kxsldbg_DATA = ${commondata} - - -xsldbgdir = ${kde_datadir}/xsldbg -xsldbg_DATA = ${commondata} diff --git a/kxsldbg/data/empty.xml b/kxsldbg/data/empty.xml deleted file mode 100644 index aa9ac07e..00000000 --- a/kxsldbg/data/empty.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!-- - File : empty.xml - Author: Keith Isdale <k_isdale@tpg.com.au> - Description: empty xml data for getting started - Copyright Reserved Under GPL ---> -<!-- This file does not require translation --> -<!-- NO TRANSLATION --> -<empty> - Empty example data file -</empty> diff --git a/kxsldbg/data/empty.xsl b/kxsldbg/data/empty.xsl deleted file mode 100644 index ab4548ef..00000000 --- a/kxsldbg/data/empty.xsl +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - File : empty.xsl - Author: Keith Isdale <k_isdale@tpg.com.au> - Description: empty stylesheet for getting started - Copyright Reserved Under GPL ---> -<!-- This file does not require translation --> -<!-- NO TRANSLATION --> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" -version="1.0"> - - <xsl:output method="text"/> - - <xsl:template match="/"> - <xsl:apply-templates /> - </xsl:template> -</xsl:stylesheet> - diff --git a/kxsldbg/data/test1.xml b/kxsldbg/data/test1.xml deleted file mode 100644 index 06c35dde..00000000 --- a/kxsldbg/data/test1.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!-- - File : test1.xml - Author: Keith Isdale <k_isdale@tpg.com.au> - Description: xml data for stylesheet for testing - Copyright Reserved Under GPL ---> -<!-- This file does not require translation --> -<!-- NO TRANSLATION --> -<html> -<head> -</head> -<body> - <h1>test1</h1> - <p>text1</p> -</body> -</html> diff --git a/kxsldbg/data/test2.xml b/kxsldbg/data/test2.xml deleted file mode 100644 index 944b6f47..00000000 --- a/kxsldbg/data/test2.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!-- - File : test2.xml - Author: Keith Isdale <k_isdale@tpg.com.au> - Description: xml data for stylesheet for testing - Copyright Reserved Under GPL ---> -<!-- This file does not require translation --> -<!-- NO TRANSLATION --> - -<result> - <head name="foo"/> - <data name="fred"/> - <data name="barney"/> - <data name="pebbles"/> - <extra name="wilma"/> -</result> diff --git a/kxsldbg/data/test3.xml b/kxsldbg/data/test3.xml deleted file mode 100644 index daf42308..00000000 --- a/kxsldbg/data/test3.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!-- - File : test3.xml - Author: Keith Isdale <k_isdale@tpg.com.au> - Description: xml data for stylesheet for testing - Copyright Reserved Under GPL ---> -<!-- This file does not require translation --> -<!-- NO TRANSLATION --> - -<result> - <data>2</data> - <data>1</data> - <data>3</data> - <extra/> -</result> diff --git a/kxsldbg/data/test4.xml b/kxsldbg/data/test4.xml deleted file mode 100644 index b10b601d..00000000 --- a/kxsldbg/data/test4.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!-- - File : test4.xml - Author: Keith Isdale <k_isdale@tpg.com.au> - Description: xml data for stylesheet for testing - Copyright Reserved Under GPL ---> -<!-- This file does not require translation --> -<!-- NO TRANSLATION --> - -<result> - <data/> - <extra/> -</result> diff --git a/kxsldbg/data/test_import.xsl b/kxsldbg/data/test_import.xsl deleted file mode 100644 index e48539eb..00000000 --- a/kxsldbg/data/test_import.xsl +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - File : test_import.xsl - Author: Keith Isdale <k_isdale@tpg.com.au> - Description: stylesheet for testing - Copyright Reserved Under GPL ---> -<!-- This file does not require translation --> -<!-- NO TRANSLATION --> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - version="1.0"> - - <xsl:template match="head"> - <xsl:apply-templates/> - </xsl:template> - -</xsl:stylesheet> diff --git a/kxsldbg/data/test_include_bot.xsl b/kxsldbg/data/test_include_bot.xsl deleted file mode 100644 index 6dd6c9aa..00000000 --- a/kxsldbg/data/test_include_bot.xsl +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - File : test_include.xsl - Author: Keith Isdale <k_isdale@tpg.com.au> - Description: stylesheet for include testing - Copyright Reserved Under GPL ---> -<!-- This file does not require translation --> -<!-- NO TRANSLATION --> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - version="1.0"> - - <xsl:template match="include_bot"> - <xsl:apply-templates/> - </xsl:template> - -</xsl:stylesheet> diff --git a/kxsldbg/data/test_include_top.xsl b/kxsldbg/data/test_include_top.xsl deleted file mode 100644 index df7e4967..00000000 --- a/kxsldbg/data/test_include_top.xsl +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - File : test_include_top.xsl - Author: Keith Isdale <k_isdale@tpg.com.au> - Description: stylesheet for include testing - Copyright Reserved Under GPL ---> -<!-- This file does not require translation --> -<!-- NO TRANSLATION --> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - version="1.0"> - - <xsl:template name="import_top"> - <xsl:apply-templates select="result/head"/> - </xsl:template> - -</xsl:stylesheet> diff --git a/kxsldbg/data/testdoc.dtd b/kxsldbg/data/testdoc.dtd deleted file mode 100644 index 08e9108a..00000000 --- a/kxsldbg/data/testdoc.dtd +++ /dev/null @@ -1,6 +0,0 @@ -<!ELEMENT simple (#PCDATA)> -<!ENTITY mytext "Some text"> -<!ENTITY anotherDoc SYSTEM "test1.xml" > -<!ENTITY anotherDoc2 SYSTEM "test2.xml" > -<!ENTITY anotherDoc3 SYSTEM "test3.xml" > -<!ENTITY anotherDoc4 SYSTEM "test4.xml" >
\ No newline at end of file diff --git a/kxsldbg/data/testdoc.xml b/kxsldbg/data/testdoc.xml deleted file mode 100644 index b6f068d7..00000000 --- a/kxsldbg/data/testdoc.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!-- - File : testdoc.xml - Author: Keith Isdale <k_isdale@tpg.com.au> - Description: xml data for stylesheet for testing - Copyright Reserved Under GPL ---> -<!-- This file does not require translation --> -<!-- NO TRANSLATION --> - -<!DOCTYPE simple SYSTEM "testdoc.dtd"> - -<simple> - &mytext; - &anotherDoc; - &anotherDoc; - &anotherDoc; - &anotherDoc2; - &anotherDoc3; - &anotherDoc4; -</simple> diff --git a/kxsldbg/data/testdoc.xsl b/kxsldbg/data/testdoc.xsl deleted file mode 100644 index da6447f3..00000000 --- a/kxsldbg/data/testdoc.xsl +++ /dev/null @@ -1,141 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - File : testdoc.xsl - Author: Keith Isdale <k_isdale@tpg.com.au> - Description: stylesheet for testing - Copyright Reserved Under GPL ---> -<!-- This file does not require translation --> -<!-- NO TRANSLATION --> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" -version="1.0"> - - <xsl:import href="test_import.xsl"/> - <xsl:include href="test_include_top.xsl"/> - <xsl:strip-space elements="text()"/> - <xsl:decimal-format name="test" decimal-separator="."/> - <xsl:output method="text"/> - <xsl:variable name="globalvariable" select="'foo'"/> - - <xsl:template match="/"> - <xsl:call-template name="test_set_variable"> - <xsl:with-param name="item" select="'1234'"/> - </xsl:call-template> - - <xsl:variable name="localvariable" select="'bar'"/> - <xsl:text>Global variable contains </xsl:text><xsl:value-of select="$globalvariable"/><xsl:text> -</xsl:text> - <xsl:text>Local variable contains </xsl:text><xsl:value-of select="$localvariable"/><xsl:text> -</xsl:text> - - <!-- test import of xsl file --> - <xsl:call-template name="import_top"/> - - <!-- Basic xsl:apply-templates, xsl:call-template usage --> - <!-- Test basic usage of xsl:apply-templates --> - <xsl:apply-templates select="//result/data"/> - <!-- Test basic usage of xsl:call-template --> - <xsl:call-template name="call-template1"/> - - <!-- Test xsl:apply-templates with parameter value. - Test the ability to step into a xsl:with-param child --> - <xsl:apply-templates select="//result/data"> - <xsl:with-param name="item"> - <item/> - </xsl:with-param> - </xsl:apply-templates> - - <!-- Test xsl:call-template with parameter value - Test the ability to step into a xsl:with-param child --> - <xsl:call-template name="call-template2"> - <xsl:with-param name="item"> - <item /> - </xsl:with-param> - </xsl:call-template> - - <!-- Test ability to step into xsl:param from xsl:apply-templates --> - <xsl:apply-templates select="//result/extra" /> - - <!-- Test ability to step into xsl:param from xsl:call-template --> - <xsl:call-template name="call-template3" /> - - <!-- Test ability to step into xsl:sort from xsl:apply-templates --> - <xsl:apply-templates select="//result/data"> - <xsl:sort select="."/> - <xsl:text> -</xsl:text> - </xsl:apply-templates> - - <xsl:apply-imports/> <!-- useless but test that we can step to it --> - - <xsl:apply-templates select="//result/data" mode="verbose" /> - - </xsl:template> - - - <xsl:template match="result"> - <xsl:param name="item" select="'default'"/> - <!-- ignore node content --> - </xsl:template> - - - <xsl:template match="data"> - <!-- ignore node content --> - </xsl:template> - - <xsl:template match="data" mode="verbose"> - <xsl:apply-templates /> - </xsl:template> - - - <xsl:template match="extra"> - <xsl:param name="item"> - <item/> - </xsl:param> - <!-- ignore node content --> - <xsl:text> -</xsl:text> - </xsl:template> - - - <xsl:template name="call-template1"> - <xsl:number value="position()" format="1."/> - <xsl:text> -</xsl:text> - </xsl:template> - - - <xsl:template name="call-template2"> - <!-- ignore any param provided --> - <!-- test message --> - <xsl:message terminate="no">Message here</xsl:message> - <xsl:processing-instruction name="pitest"> - pi text - </xsl:processing-instruction> - <xsl:text> -</xsl:text> - </xsl:template> - - - <xsl:template name="call-template3"> - <xsl:param name="item"> - <item/> - </xsl:param> - <!-- test comments --> - <xsl:comment>A text comment.</xsl:comment> - <!-- test copy and copy-of --> - <xsl:copy>copy text</xsl:copy> - <xsl:copy-of select="'copy-of Text'"/> - <xsl:text> -</xsl:text> - </xsl:template> - - - <xsl:template name="test_set_variable"> - <xsl:param name="item" select="'default-value'"/> - <xsl:value-of select="$item"/> - <xsl:text> -</xsl:text> - </xsl:template> - -</xsl:stylesheet> diff --git a/kxsldbg/hi16-app-kxsldbg.png b/kxsldbg/hi16-app-kxsldbg.png Binary files differdeleted file mode 100644 index 513ef2cf..00000000 --- a/kxsldbg/hi16-app-kxsldbg.png +++ /dev/null diff --git a/kxsldbg/hi32-app-kxsldbg.png b/kxsldbg/hi32-app-kxsldbg.png Binary files differdeleted file mode 100644 index 29c36da3..00000000 --- a/kxsldbg/hi32-app-kxsldbg.png +++ /dev/null diff --git a/kxsldbg/kxsldbg.cpp b/kxsldbg/kxsldbg.cpp deleted file mode 100644 index 1bd2ae0e..00000000 --- a/kxsldbg/kxsldbg.cpp +++ /dev/null @@ -1,190 +0,0 @@ -/* - * kxsldbg.cpp - * - * Copyright (C) 2001 <kurt@granroth.org> - */ -#include "kxsldbg.h" - -#include <kkeydialog.h> -#include <tdeconfig.h> -#include <tdelocale.h> - -#include <kedittoolbar.h> - -#include <tdeaction.h> -#include <kstdaction.h> - -#include <klibloader.h> -#include <tdemessagebox.h> -#include <kstatusbar.h> -#include <tdepopupmenu.h> -#include <tdemenubar.h> -#include <kiconloader.h> - -KXsldbg::KXsldbg() - : DCOPObject("KXsldbg"), KParts::MainWindow( 0L, "kxsldbg" ) -{ - // set the shell's ui resource file - setXMLFile("kxsldbg_shell.rc"); - - // then, setup our actions - setupActions(); - - // and a status bar - statusBar()->show(); - statusBar()->setSizePolicy(TQSizePolicy(TQSizePolicy::Preferred, TQSizePolicy::Preferred)); - - // this routine will find and load our Part. it finds the Part by - // name which is a bad idea usually.. but it's alright in this - // case since our Part is made for this Shell - KLibFactory *factory = KLibLoader::self()->factory("libkxsldbgpart"); - if (factory) - { - // now that the Part is loaded, we cast it to a Part to get - // our hands on it - m_part = static_cast<KParts::ReadOnlyPart *>(factory->create(this, - "kxsldbg_part", "KParts::ReadOnlyPart" )); - - if (m_part) - { - // tell the KParts::MainWindow that this is indeed the main widget - setCentralWidget(m_part->widget()); - - // and integrate the part's GUI with the shell's - createGUI(m_part); - - // connect up signals - tdeApp->dcopClient()->attach(); - connectDCOPSignal(0, 0, "debuggerPositionChanged(TQString,int)", "newDebuggerPosition(TQString,int)", false ); - connectDCOPSignal(0, 0, "editorPositionChanged(TQString,int,int)", "newCursorPosition(TQString,int,int)", false ); - - // Add xsldbg handbook to help menu - TQMenuBar *mbar = menuBar(); - TDEPopupMenu *help_menu = dynamic_cast<TDEPopupMenu*> - (menuBar()->findItem(mbar->idAt(mbar->count()-1))->popup()); - if (help_menu) - { - help_menu->insertItem(SmallIconSet("contents"), i18n("&XSLDbg Handbook"), this, - TQ_SLOT(showXSLDbgHelp()), 0, -1, 1); - } - } - } - else - { - // if we couldn't find our Part, we exit since the Shell by - // itself can't do anything useful - KMessageBox::error(this, i18n("Could not find our part.")); - tdeApp->quit(); - } -} - -KXsldbg::~KXsldbg() -{ - if (m_part) - m_part->closeURL(); - - delete m_part; -} - -void KXsldbg::quit() -{ - closeURL(); - close(); -} - -bool KXsldbg::closeURL() -{ - if (m_part) - m_part->closeURL(); - - return true; -} - -void KXsldbg::setupActions() -{ - TDEAction *act = KStdAction::quit(tdeApp, TQ_SLOT(quit()), actionCollection()); - connect(act, TQ_SIGNAL(activated()), this, TQ_SLOT(quit())); - - m_toolbarAction = KStdAction::showToolbar(this, TQ_SLOT(optionsShowToolbar()), actionCollection()); - m_statusbarAction = KStdAction::showStatusbar(this, TQ_SLOT(optionsShowStatusbar()), actionCollection()); - - KStdAction::keyBindings(this, TQ_SLOT(optionsConfigureKeys()), actionCollection()); - KStdAction::configureToolbars(this, TQ_SLOT(optionsConfigureToolbars()), actionCollection()); -} - -void KXsldbg::saveProperties(TDEConfig* /*config*/) -{ - // the 'config' object points to the session managed - // config file. anything you write here will be available - // later when this app is restored -} - -void KXsldbg::readProperties(TDEConfig* /*config*/) -{ - // the 'config' object points to the session managed - // config file. this function is automatically called whenever - // the app is being restored. read in here whatever you wrote - // in 'saveProperties' -} - - -void KXsldbg::optionsShowToolbar() -{ - // this is all very cut and paste code for showing/hiding the - // toolbar - if (m_toolbarAction->isChecked()) - toolBar()->show(); - else - toolBar()->hide(); -} - -void KXsldbg::optionsShowStatusbar() -{ - // this is all very cut and paste code for showing/hiding the - // statusbar - if (m_statusbarAction->isChecked()) - statusBar()->show(); - else - statusBar()->hide(); -} - -void KXsldbg::optionsConfigureKeys() -{ - KKeyDialog::configure(actionCollection(), "kxsldbg_shell.rc"); -} - -void KXsldbg::optionsConfigureToolbars() -{ - saveMainWindowSettings(TDEGlobal::config(), "MainWindow"); - - // use the standard toolbar editor - KEditToolbar dlg(factory()); - connect(&dlg, TQ_SIGNAL(newToolbarConfig()), - this, TQ_SLOT(applyNewToolbarConfig())); - dlg.exec(); -} - -void KXsldbg::applyNewToolbarConfig() -{ - applyMainWindowSettings(TDEGlobal::config(), "MainWindow"); -} - - -void KXsldbg::newCursorPosition(const TQString &file, int lineNumber, int columnNumber) -{ - statusBar()->clear(); - statusBar()->message( i18n("File: %1 Line: %2 Col: %3").arg(file).arg(lineNumber).arg(columnNumber)); -} - -void KXsldbg::newDebuggerPosition(const TQString &file, int lineNumber) -{ - // maybe do something extra here later - newCursorPosition(file, lineNumber); -} - -void KXsldbg::showXSLDbgHelp() -{ - tdeApp->invokeHelp(TQString(), "xsldbg"); -} - -#include "kxsldbg.moc" diff --git a/kxsldbg/kxsldbg.desktop b/kxsldbg/kxsldbg.desktop deleted file mode 100644 index c0c8dce7..00000000 --- a/kxsldbg/kxsldbg.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Name=KXSLDbg - -GenericName=XSLT Debugger - -Type=Application -Exec=kxsldbg %i %m -caption "%c" -Icon=kxsldbg -Terminal=false -X-DocPath=kxsldbg/index.html -Categories=Qt;TDE;Development;WebDevelopment; diff --git a/kxsldbg/kxsldbg.h b/kxsldbg/kxsldbg.h deleted file mode 100644 index b025918c..00000000 --- a/kxsldbg/kxsldbg.h +++ /dev/null @@ -1,86 +0,0 @@ -#ifndef KXSLDBG_H -#define KXSLDBG_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include <tdeapplication.h> -#include <tdeparts/mainwindow.h> -#include <dcopobject.h> -#include <dcopclient.h> -#include "kxsldbgif.h" - -class TDEToggleAction; - -/** - * This is the application "Shell". It has a menubar, toolbar, and - * statusbar but relies on the "Part" to do all the real work. - * - * @short Application Shell - * @author Keith Isdale <k_isdale@tpg.com.au> - * @version 0.4 - */ -class KXsldbg : public KParts::MainWindow, public KXsldbgIf -{ - TQ_OBJECT - - -public: - /** - * Default Constructor - */ - KXsldbg(); - - /** - * Default Destructor - */ - virtual ~KXsldbg(); - - /** - KxsldbgIf implementation - */ - void newCursorPosition(const TQString &file, int lineNumber, int columnNumber=0); - void newDebuggerPosition(const TQString & file, int lineNumber); - -protected: - /** - * This method is called when it is time for the app to save its - * properties for session management purposes. - */ - void saveProperties(TDEConfig *); - - /** - * This method is called when this app is restored. The TDEConfig - * object points to the session management config file that was saved - * with @ref saveProperties - */ - void readProperties(TDEConfig *); - - virtual bool closeURL(); - -public slots: - void quit(); - void showXSLDbgHelp(); - -private slots: - void optionsShowToolbar(); - void optionsShowStatusbar(); - void optionsConfigureKeys(); - void optionsConfigureToolbars(); - - void applyNewToolbarConfig(); - - -private: - void setupAccel(); - void setupActions(); - -private: - KParts::ReadOnlyPart *m_part; - - TDEToggleAction *m_toolbarAction; - TDEToggleAction *m_statusbarAction; -}; - -#endif // KXSLDBG_H diff --git a/kxsldbg/kxsldbg_shell.rc b/kxsldbg/kxsldbg_shell.rc deleted file mode 100644 index d3e2fc86..00000000 --- a/kxsldbg/kxsldbg_shell.rc +++ /dev/null @@ -1,29 +0,0 @@ -<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> -<kpartgui name="kxsldbg_shell" version="1"> -<MenuBar> - <Menu noMerge="1" name="file"><text>&File</text> - <Merge/> - <Separator/> - <Action name="file_quit"/> - </Menu> - <Menu name="debug"><text>Debug</text> - </Menu> - <Menu noMerge="1" name="settings"><text>&Settings</text> - <Action name="options_show_toolbar"/> - <Action name="options_show_statusbar"/> - <Merge name="show_merge"/> - <Separator/> - <Action name="options_configure_keybinding"/> - <Action name="options_configure_toolbars"/> - <Action name="options_configure"/> - <Action name="configureEditorCmd"/> - <Merge name="configure_merge"/> - <Separator/> - <Merge/> - </Menu> -</MenuBar> -<ToolBar noMerge="1" name="mainToolBar"><text>Main Toolbar</text> - <Merge/> - <Action name="help"/> -</ToolBar> -</kpartgui> diff --git a/kxsldbg/kxsldbgif.h b/kxsldbg/kxsldbgif.h deleted file mode 100644 index dad1b5ea..00000000 --- a/kxsldbg/kxsldbgif.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef KXSLDBGIF_H -#define KXSLDBGIF_H - -#include <dcopobject.h> - -class KXsldbgIf : virtual public DCOPObject -{ - K_DCOP - k_dcop: - - virtual void newCursorPosition(const TQString & file, int lineNumber, int columnNumber=0) = 0; - virtual void newDebuggerPosition(const TQString & file, int lineNumber) = 0; - -}; - -#endif - diff --git a/kxsldbg/kxsldbgpart/CMakeLists.txt b/kxsldbg/kxsldbgpart/CMakeLists.txt deleted file mode 100644 index da1a74e3..00000000 --- a/kxsldbg/kxsldbgpart/CMakeLists.txt +++ /dev/null @@ -1,112 +0,0 @@ -add_subdirectory( libtqtnotfier ) -add_subdirectory( libxsldbg ) - -include_directories( - ${CMAKE_BINARY_DIR} - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR} -) - -include_directories( SYSTEM - ${TDE_INCLUDE_DIR} - ${TQT_INCLUDE_DIRS} - ${LIBXML_INCLUDE_DIRS} - ${LIBXSLT_INCLUDE_DIRS} -) - -link_directories( - ${TQT_LIBRARY_DIRS} - ${TDE_LIB_DIR} -) - -add_compile_options( ${ICU_CXXFLAGS} ) - - -##### kxsldbgcommon (static) - -tde_add_library( kxsldbgcommon STATIC_PIC AUTOMOC - - SOURCES - kxsldbg_partif.skel - xsldbgwalkspeed.ui - xsldbgtemplates.ui - xsldbgsources.ui - xsldbgmsgdialog.ui - xsldbglocalvariables.ui - xsldbgglobalvariables.ui - xsldbgentities.ui - xsldbgconfig.ui - xsldbgcallstack.ui - xsldbgbreakpoints.ui - xsldbgwalkspeedimpl.cpp - xsldbgtemplatesimpl.cpp - xsldbgtemplatelistitem.cpp - xsldbgsourcesimpl.cpp - xsldbgoutputview.cpp - xsldbglocalvariablesimpl.cpp - xsldbglocallistitem.cpp - xsldbglistitem.cpp - xsldbginspector.cpp - xsldbgglobalvariablesimpl.cpp - xsldbggloballistitem.cpp - xsldbgentitiesimpl.cpp - xsldbgdoc.cpp - xsldbgdialogbase.cpp - xsldbgdebugger.cpp - xsldbgconfigimpl.cpp - xsldbgcallstackimpl.cpp - xsldbgbreakpointsimpl.cpp - xsldbgbreakpointlistitem.cpp - qxsldbgdoc.cpp - kxsldbg_part.cpp - LINK - tdecore-shared - tdeui-shared - tdeio-shared - tdeparts-shared - kjs-shared - xsldbg-static - tqtnotfier-static -) - - -##### libkxsldbgpart (kpart) - -configure_file( ${TDE_CMAKE_TEMPLATES}/tde_dummy_cpp.cmake dummy.cpp COPYONLY ) - -tde_add_kpart( libkxsldbgpart AUTOMOC - - SOURCES - dummy.cpp - EMBED - kxsldbgcommon-static - LINK - tdecore-shared - tdeui-shared - kjs-shared - tdeio-shared - tdeparts-shared - katepartinterfaces-shared - ${READLINE_LIBRARIES} - - DESTINATION ${PLUGIN_INSTALL_DIR} -) - - -##### icons - -tde_install_icons( ) - - -##### other data - -tde_create_translated_desktop( - SOURCE kxsldbg_part.desktop - DESTINATION ${SERVICES_INSTALL_DIR} - PO_DIR kxsldbg-desktops -) - -install( - FILES kxsldbg_part.rc - DESTINATION ${DATA_INSTALL_DIR}/kxsldbgpart -) diff --git a/kxsldbg/kxsldbgpart/Makefile.am b/kxsldbg/kxsldbgpart/Makefile.am deleted file mode 100644 index 2861ca20..00000000 --- a/kxsldbg/kxsldbgpart/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -noinst_LTLIBRARIES = libkxsldbgcommon.la -libkxsldbgcommon_la_SOURCES = xsldbgwalkspeedimpl.cpp xsldbgtemplatesimpl.cpp xsldbgtemplatelistitem.cpp xsldbgsourcesimpl.cpp xsldbgoutputview.cpp xsldbglocalvariablesimpl.cpp xsldbglocallistitem.cpp xsldbglistitem.cpp xsldbginspector.cpp xsldbgglobalvariablesimpl.cpp xsldbggloballistitem.cpp xsldbgentitiesimpl.cpp xsldbgdoc.cpp xsldbgdialogbase.cpp xsldbgdebugger.cpp xsldbgconfigimpl.cpp xsldbgcallstackimpl.cpp xsldbgbreakpointsimpl.cpp xsldbgbreakpointlistitem.cpp qxsldbgdoc.cpp kxsldbg_part.cpp kxsldbg_partif.skel xsldbgwalkspeed.ui xsldbgtemplates.ui xsldbgsources.ui xsldbgmsgdialog.ui xsldbglocalvariables.ui xsldbgglobalvariables.ui xsldbgentities.ui xsldbgconfig.ui xsldbgcallstack.ui xsldbgbreakpoints.ui -libkxsldbgcommon_la_METASOURCES = AUTO -libkxsldbgcommon_la_LDFLAGS = $(all_libraries) -ltdecore -ltdeui $(LIB_TQT) -lkjs -ltdefx -ltdeio -ltdeparts -lDCOP -ltdetexteditor -libkxsldbgcommon_la_LIBADD = libxsldbg/libxsldbg.la libtqtnotfier/libtqtnotfier.la - -noinst_HEADERS = kxsldbg_part.h qxsldbgdoc.h xsldbgbreakpointlistitem.h xsldbgbreakpointsimpl.h xsldbgcallstackimpl.h xsldbgconfigimpl.h xsldbgdebugger.h xsldbgdialogbase.h xsldbgdoc.h xsldbgdocmap.h xsldbgentitiesimpl.h xsldbggloballistitem.h xsldbgglobalvariablesimpl.h xsldbginspector.h xsldbglistitem.h xsldbglocallistitem.h xsldbglocalvariablesimpl.h xsldbgmsgdialogimpl.h xsldbgoutputview.h xsldbgsourcesimpl.h xsldbgtemplatelistitem.h xsldbgtemplatesimpl.h xsldbgwalkspeedimpl.h - -kde_module_LTLIBRARIES = libkxsldbgpart.la - -CLEANFILES = dummy.cpp -libkxsldbgpart_la_SOURCES = dummy.cpp - -SUBDIRS = libtqtnotfier libxsldbg - -INCLUDES = $(XSLDBG_CFLAGS) -I.. $(all_includes) -CXXFLAGS += $(ICU_CXXFLAGS) - -libkxsldbgpart_la_LDFLAGS = -module $(KDE_PLUGIN) -lkatepartinterfaces $(all_libraries) $(XSLDBG_EXTRA_LIBS)-ltdecore -ltdeui $(LIB_TQT) -lkjs -ltdefx -ltdeio -ltdeparts -lDCOP -libkxsldbgpart_la_LIBADD = libkxsldbgcommon.la $(LIB_TDEPARTS) - - -# this is where the desktop file will go -partdesktopdir = $(kde_servicesdir) -partdesktop_DATA = kxsldbg_part.desktop - -# this is where the part's XML-GUI resource file goes -partrcdir = $(kde_datadir)/kxsldbgpart -partrc_DATA = kxsldbg_part.rc - -KDE_ICON = AUTO - -dummy.cpp: - echo > dummy.cpp diff --git a/kxsldbg/kxsldbgpart/hi16-action-1downarrow.png b/kxsldbg/kxsldbgpart/hi16-action-1downarrow.png Binary files differdeleted file mode 100644 index 551027be..00000000 --- a/kxsldbg/kxsldbgpart/hi16-action-1downarrow.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi16-action-configure.png b/kxsldbg/kxsldbgpart/hi16-action-configure.png Binary files differdeleted file mode 100644 index b7c78e82..00000000 --- a/kxsldbg/kxsldbgpart/hi16-action-configure.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi16-action-hash.png b/kxsldbg/kxsldbgpart/hi16-action-hash.png Binary files differdeleted file mode 100644 index 70ad55a5..00000000 --- a/kxsldbg/kxsldbgpart/hi16-action-hash.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi16-action-mark.png b/kxsldbg/kxsldbgpart/hi16-action-mark.png Binary files differdeleted file mode 100644 index 8b0c2991..00000000 --- a/kxsldbg/kxsldbgpart/hi16-action-mark.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi16-action-next.png b/kxsldbg/kxsldbgpart/hi16-action-next.png Binary files differdeleted file mode 100644 index ab6ed96f..00000000 --- a/kxsldbg/kxsldbgpart/hi16-action-next.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi16-action-step.png b/kxsldbg/kxsldbgpart/hi16-action-step.png Binary files differdeleted file mode 100644 index 50b8c438..00000000 --- a/kxsldbg/kxsldbgpart/hi16-action-step.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi16-action-system-log-out.png b/kxsldbg/kxsldbgpart/hi16-action-system-log-out.png Binary files differdeleted file mode 100644 index 2cfc0d7b..00000000 --- a/kxsldbg/kxsldbgpart/hi16-action-system-log-out.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi16-action-system-run.png b/kxsldbg/kxsldbgpart/hi16-action-system-run.png Binary files differdeleted file mode 100644 index 1e3a07ef..00000000 --- a/kxsldbg/kxsldbgpart/hi16-action-system-run.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_break.png b/kxsldbg/kxsldbgpart/hi16-action-xsldbg_break.png Binary files differdeleted file mode 100644 index c42dd048..00000000 --- a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_break.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_data.png b/kxsldbg/kxsldbgpart/hi16-action-xsldbg_data.png Binary files differdeleted file mode 100644 index 0a96d557..00000000 --- a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_data.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_delete.png b/kxsldbg/kxsldbgpart/hi16-action-xsldbg_delete.png Binary files differdeleted file mode 100644 index d314b6d0..00000000 --- a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_delete.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_enable.png b/kxsldbg/kxsldbgpart/hi16-action-xsldbg_enable.png Binary files differdeleted file mode 100644 index e8b64a96..00000000 --- a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_enable.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_output.png b/kxsldbg/kxsldbgpart/hi16-action-xsldbg_output.png Binary files differdeleted file mode 100644 index 2c78f7a1..00000000 --- a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_output.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_refresh.png b/kxsldbg/kxsldbgpart/hi16-action-xsldbg_refresh.png Binary files differdeleted file mode 100644 index 43866ec2..00000000 --- a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_refresh.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_source.png b/kxsldbg/kxsldbgpart/hi16-action-xsldbg_source.png Binary files differdeleted file mode 100644 index 92a8385c..00000000 --- a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_source.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_stepdown.png b/kxsldbg/kxsldbgpart/hi16-action-xsldbg_stepdown.png Binary files differdeleted file mode 100644 index 3e769003..00000000 --- a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_stepdown.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_stepup.png b/kxsldbg/kxsldbgpart/hi16-action-xsldbg_stepup.png Binary files differdeleted file mode 100644 index b24838ce..00000000 --- a/kxsldbg/kxsldbgpart/hi16-action-xsldbg_stepup.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi22-action-1downarrow.png b/kxsldbg/kxsldbgpart/hi22-action-1downarrow.png Binary files differdeleted file mode 100644 index cac88fb3..00000000 --- a/kxsldbg/kxsldbgpart/hi22-action-1downarrow.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi22-action-configure.png b/kxsldbg/kxsldbgpart/hi22-action-configure.png Binary files differdeleted file mode 100644 index 67adaf02..00000000 --- a/kxsldbg/kxsldbgpart/hi22-action-configure.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi22-action-next.png b/kxsldbg/kxsldbgpart/hi22-action-next.png Binary files differdeleted file mode 100644 index 85a0d1e3..00000000 --- a/kxsldbg/kxsldbgpart/hi22-action-next.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi22-action-step.png b/kxsldbg/kxsldbgpart/hi22-action-step.png Binary files differdeleted file mode 100644 index dd04d93b..00000000 --- a/kxsldbg/kxsldbgpart/hi22-action-step.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi22-action-system-log-out.png b/kxsldbg/kxsldbgpart/hi22-action-system-log-out.png Binary files differdeleted file mode 100644 index 8c8cbd44..00000000 --- a/kxsldbg/kxsldbgpart/hi22-action-system-log-out.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi22-action-system-run.png b/kxsldbg/kxsldbgpart/hi22-action-system-run.png Binary files differdeleted file mode 100644 index 429856bd..00000000 --- a/kxsldbg/kxsldbgpart/hi22-action-system-run.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_break.png b/kxsldbg/kxsldbgpart/hi22-action-xsldbg_break.png Binary files differdeleted file mode 100644 index c6435228..00000000 --- a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_break.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_data.png b/kxsldbg/kxsldbgpart/hi22-action-xsldbg_data.png Binary files differdeleted file mode 100644 index b9969bc2..00000000 --- a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_data.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_delete.png b/kxsldbg/kxsldbgpart/hi22-action-xsldbg_delete.png Binary files differdeleted file mode 100644 index 5ede103e..00000000 --- a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_delete.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_enable.png b/kxsldbg/kxsldbgpart/hi22-action-xsldbg_enable.png Binary files differdeleted file mode 100644 index 93b94036..00000000 --- a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_enable.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_output.png b/kxsldbg/kxsldbgpart/hi22-action-xsldbg_output.png Binary files differdeleted file mode 100644 index 4845122a..00000000 --- a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_output.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_refresh.png b/kxsldbg/kxsldbgpart/hi22-action-xsldbg_refresh.png Binary files differdeleted file mode 100644 index 4d580b80..00000000 --- a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_refresh.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_source.png b/kxsldbg/kxsldbgpart/hi22-action-xsldbg_source.png Binary files differdeleted file mode 100644 index 4f97b4a7..00000000 --- a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_source.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_stepdown.png b/kxsldbg/kxsldbgpart/hi22-action-xsldbg_stepdown.png Binary files differdeleted file mode 100644 index abea2cc3..00000000 --- a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_stepdown.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_stepup.png b/kxsldbg/kxsldbgpart/hi22-action-xsldbg_stepup.png Binary files differdeleted file mode 100644 index 9565b6f5..00000000 --- a/kxsldbg/kxsldbgpart/hi22-action-xsldbg_stepup.png +++ /dev/null diff --git a/kxsldbg/kxsldbgpart/kxsldbg_part.cpp b/kxsldbg/kxsldbgpart/kxsldbg_part.cpp deleted file mode 100644 index 194faa54..00000000 --- a/kxsldbg/kxsldbgpart/kxsldbg_part.cpp +++ /dev/null @@ -1,875 +0,0 @@ -#include "kxsldbg_part.h" -#include "libxsldbg/files.h" -#include "libxsldbg/xsldbg.h" - -#include <tdeinstance.h> -#include <tdeaction.h> -#include <kstdaction.h> -#include <tdefiledialog.h> -#include <tdeparts/genericfactory.h> -#include <tdetexteditor/markinterface.h> -#include <tdetexteditor/editinterface.h> -#include <tdetexteditor/viewcursorinterface.h> -#include <tdetexteditor/configinterface.h> -#include <kate/view.h> - -#include <tqfile.h> -#include <tqtextstream.h> - -#include "../kxsldbg.h" -#include <tdeaction.h> -#include <tdecmdlineargs.h> -#include <tdeinstance.h> -#include <kiconloader.h> -#include <tqmessagebox.h> -#include <tdelocale.h> -#include <tdeversion.h> -#if KDE_IS_VERSION(3,1,90) -#include <kinputdialog.h> -#else -#include <klineeditdlg.h> -#endif - -// Qxsldbg specific includes -#include "qxsldbgdoc.h" -#include <tqvariant.h> -#include <tqfile.h> -#include <tqstatusbar.h> -#include <tqsplitter.h> -#include <tqvbox.h> - - -#include <tqmime.h> -#include <tqdragobject.h> -#include <tqlayout.h> -#include <tqtooltip.h> -#include <tqwhatsthis.h> -#include <tqaction.h> -#include <tqmenubar.h> -#include <tqpopupmenu.h> -#include <tqtoolbar.h> -#include <tqimage.h> -#include <tqpixmap.h> -#include <tqtextstream.h> -#include <tqtextbrowser.h> -#include <tqmessagebox.h> -#include <tqlineedit.h> -#include <tqdockwindow.h> -#include <tqpushbutton.h> -#include <tqinputdialog.h> -#include <tqobjectlist.h> -#include <tqwidgetstack.h> -#include "xsldbgoutputview.h" -#include "xsldbgconfigimpl.h" -#include <kdebug.h> -#include "xsldbgdebugger.h" - -typedef KParts::GenericFactory<KXsldbgPart> KXsldbgPartFactory; -K_EXPORT_COMPONENT_FACTORY( libkxsldbgpart, KXsldbgPartFactory ) - -KXsldbgPart::KXsldbgPart( TQWidget *parentWidget, const char * /*widgetName*/, - TQObject *parent, const char *name, - const TQStringList & /*args*/ ) - : DCOPObject("KXsldbgPart"), KParts::ReadOnlyPart(parent, name) -{ - currentLineNo = 0; - currentColumnNo = 0; - inspector = 0L; - debugger = 0L; - configWidget = 0L; - currentDoc = 0L; - - // we need an instance - setInstance( KXsldbgPartFactory::instance() ); - TQVBox *frame = new TQVBox(parentWidget); - TQHBox *h = new TQHBox(frame); - newXPath = new TQLineEdit(h); - xPathBtn = new TQPushButton(i18n("Goto XPath"), h); -/* Disable searching as searching documentation is not ready - h = new TQHBox(frame); - newSearch = new TQLineEdit(h); - searchBtn = new TQPushButton(i18n("Search"), h); -*/ - h = new TQHBox(frame); - newEvaluate = new TQLineEdit(h); - evaluateBtn = new TQPushButton(i18n("Evaluate"), h); - - TQSplitter *splitter = new TQSplitter(TQt::Vertical, frame); - mainView = new TQWidgetStack(splitter); - mainView->setMinimumHeight(400); //## TODO don't use a magic number - outputview = new XsldbgOutputView(splitter); - setWidget(frame); - docDictionary.setAutoDelete(true); - - // create our actions - KStdAction::open(this, TQ_SLOT(fileOpen()), actionCollection()); - - // set our XML-UI resource file - setXMLFile("kxsldbg_part.rc"); - (void) new TDEAction( i18n("Configure Editor..."), - "configure", 0, - this, TQ_SLOT(configureEditorCmd_activated()), - actionCollection(), "configureEditorCmd" ); - (void) new TDEAction( i18n("Configure..."), - "configure", Key_C, - this, TQ_SLOT(configureCmd_activated()), - actionCollection(), "configureCmd" ); - - (void) new TDEAction( i18n("Inspect..."), - "edit-find", Key_I, - this, TQ_SLOT(inspectorCmd_activated()), - actionCollection(), "inspectCmd" ); - - - // Motions commands - (void) new TDEAction( i18n("Run"), - "system-run", Key_F5, - this, TQ_SLOT(runCmd_activated()), - actionCollection(), "runCmd" ); - - (void) new TDEAction( i18n("Continue"), - "1downarrow", Key_F4, - this, TQ_SLOT(continueCmd_activated()), - actionCollection(), "continueCmd" ); - - (void) new TDEAction( i18n("Step"), - "step", Key_F8, - this, TQ_SLOT(stepCmd_activated()), - actionCollection(), "stepCmd" ); - - (void) new TDEAction( i18n("Next"), - "next", Key_F10, - this, TQ_SLOT(nextCmd_activated()), - actionCollection(), "nextCmd" ); - - (void) new TDEAction( i18n("Step Up"), - "xsldbg_stepup", Key_F6, - this, TQ_SLOT(stepupCmd_activated()), - actionCollection(), "stepupCmd" ); - - (void) new TDEAction( i18n("Step Down"), - "xsldbg_stepdown", Key_F7, - this, TQ_SLOT(stepCmd_activated()), - actionCollection(), "stepdownCmd" ); - - // Breakpoint commands - (void) new TDEAction( i18n("Break"), - "xsldbg_break", Key_F2, - this, TQ_SLOT(breakCmd_activated()), - actionCollection(), "breakCmd" ); - - (void) new TDEAction( i18n("Enable/Disable"), - "xsldbg_enable", Key_F3, - this, TQ_SLOT(enableCmd_activated()), - actionCollection(), "enableCmd" ); - - (void) new TDEAction( i18n("Delete"), - "xsldbg_delete", Key_Delete, - this, TQ_SLOT(deleteCmd_activated()), - actionCollection(), "deleteCmd" ); - - (void) new TDEAction( i18n("&Source"), - "xsldbg_source", Key_S, - this, TQ_SLOT(sourceCmd_activated()), - actionCollection(), "sourceCmd" ); - - (void) new TDEAction( i18n("&Data"), - "xsldbg_data", Key_D, - this, TQ_SLOT(dataCmd_activated()), - actionCollection(), "dataCmd" ); - - (void) new TDEAction( i18n("&Output"), - "xsldbg_output", Key_O, - this, TQ_SLOT(outputCmd_activated()), - actionCollection(), "outputCmd" ); - - (void) new TDEAction( i18n("Reload Current File From Disk"), - "xsldbg_refresh", CTRL + Key_F5, - this, TQ_SLOT(refreshCmd_activated()), - actionCollection(), "refreshCmd" ); - - /* tracing and walking */ - (void) new TDEAction( i18n("Walk Through Stylesheet..."), - Key_W, - this, TQ_SLOT(walkCmd_activated()), - actionCollection(), "walkCmd" ); - (void) new TDEAction( i18n("Stop Wal&king Through Stylesheet"), - Key_K, - this, TQ_SLOT(walkStopCmd_activated()), - actionCollection(), "walkStopCmd" ); - (void) new TDEAction( i18n("Tr&ace Execution of Stylesheet"), - Key_A, - this, TQ_SLOT(traceCmd_activated()), - actionCollection(), "traceCmd" ); - (void) new TDEAction( i18n("Stop Tracing of Stylesheet"), - Key_K, - this, TQ_SLOT(traceStopCmd_activated()), - actionCollection(), "traceStopCmd" ); - - (void) new TDEAction( i18n("&Evaluate Expression..."), - Key_E, - this, TQ_SLOT(evaluateCmd_activated()), - actionCollection(), "evaluateCmd" ); - - (void) new TDEAction( i18n("Goto &XPath..."), - Key_X, - this, TQ_SLOT(gotoXPathCmd_activated()), - actionCollection(), "gotoXPathCmd" ); - - (void) new TDEAction( i18n("Lookup SystemID..."), - 0, - this, TQ_SLOT(slotLookupSystemID()), - actionCollection(), "lookupSystemID" ); - - (void) new TDEAction( i18n("Lookup PublicID..."), - 0, - this, TQ_SLOT(slotLookupPublicID()), - actionCollection(), "lookupPublicID" ); - - (void) new TDEAction( i18n("Quit"), - 0, CTRL + Key_Q, - this, TQ_SLOT(quit()), - actionCollection(), "file_quit" ); - - /* - (void) new TDEAction( i18n("Exit KXsldbg"), - "xsldbg_output", CTRL + Key_Q, - this, TQ_SLOT(exitCmd_activated()), - actionCollection(), "exitCmd" ); - */ - connect( xPathBtn, TQ_SIGNAL( clicked() ), - this, TQ_SLOT( slotGotoXPath() ) ); - connect( evaluateBtn, TQ_SIGNAL( clicked() ), - this, TQ_SLOT( slotEvaluate() ) ); -/* - - connect( searchBtn, TQ_SIGNAL( clicked() ), - this, TQ_SLOT( slotSearch() ) ); -*/ -/* We must have a valid debugger and inspector */ - createInspector(); - if (checkDebugger()){ - configWidget = new XsldbgConfigImpl( debugger, 0L ); - TQ_CHECK_PTR( configWidget ); - debugger->start(); - }else{ - openURL(""); - } -} - -KXsldbgPart::~KXsldbgPart() -{ - docDictionary.clear(); -} - -void KXsldbgPart::quit() -{ - tqWarning("Custom void KXsldbgPart::quit()"); - closeURL(); -} - - -TDEAboutData *KXsldbgPart::createAboutData() -{ - // the non-i18n name here must be the same as the directory in - // which the part's rc file is installed ('partrcdir' in the - // Makefile) - TDEAboutData *aboutData = new TDEAboutData("kxsldbgpart", I18N_NOOP("KXsldbgPart"), "0.1"); - aboutData->addAuthor("Keith Isdale", 0L, "k_isdale@tpg.com.au"); - return aboutData; -} - - -bool KXsldbgPart::openURL(const KURL &url) -{ - bool result = fetchURL(url); - if (result){ - QXsldbgDoc *docPtr = docDictionary[url.prettyURL()]; - if (docPtr && docPtr->kateView()){ - if (docPtr != currentDoc){ - currentDoc = docPtr; - currentFileName = url.prettyURL(); - mainView->raiseWidget(currentDoc->kateView()); - emit setWindowCaption(currentDoc->url().prettyURL()); - } - } else{ - result = false; - } - } - - return result; -} - - -/* Don't show the content of URL just loaded it into our data structures */ -bool KXsldbgPart::fetchURL(const KURL &url) -{ - TQString docID = url.prettyURL(); - QXsldbgDoc *docPtr = docDictionary[docID]; - if (!docPtr){ - docPtr = new QXsldbgDoc(mainView, url); - docDictionary.insert(docID, docPtr); - if (docPtr->kateView()){ - mainView->addWidget(docPtr->kateView()); - Kate::View *v = Kate::view((docPtr->kateView())); - connect(v, TQ_SIGNAL(cursorPositionChanged()), this, TQ_SLOT(cursorPositionChanged())); - } - } - - return true; -} - -bool KXsldbgPart::openFile() -{ - tqWarning("bool KXsldbgPart::openFile() called"); - return false; -} - -bool KXsldbgPart::closeURL() -{ - docDictionary.clear(); - return true; -} - -void KXsldbgPart::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 - TQString file_name = KFileDialog::getOpenFileName(); - - if (file_name.isEmpty() == false) - openURL(KURL( file_name )); -} - -void KXsldbgPart::configureEditorCmd_activated() -{ - if (currentDoc){ - KTextEditor::ConfigInterface *configIf = KTextEditor::configInterface(currentDoc->kateDoc()); - if (configIf) - configIf->configDialog(); - } -} - -bool KXsldbgPart::checkDebugger() -{ - bool result = debugger != 0L; - if (!result){ - TQMessageBox::information(0L, i18n("Debugger Not Ready"), - i18n("Configure and start the debugger first."), - TQMessageBox::Ok); - } - - return result; -} - - -void KXsldbgPart::lookupSystemID( TQString systemID) -{ - bool ok = false; - if (!checkDebugger()) - return; - - if (systemID.isEmpty()){ -#if KDE_IS_VERSION(3, 1, 90) - systemID = KInputDialog::getText( - i18n( "Lookup SystemID" ), - i18n( "Please enter SystemID to find:" ), - TQString(), &ok, - mainView); -#else - systemID = TQInputDialog::getText( - i18n( "Lookup SystemID" ), - i18n( "Please enter SystemID to find:" ), - TQLineEdit::Normal, TQString(), &ok, - mainView); -#endif - }else{ - ok = true; - } - if ( ok && !systemID.isEmpty() ){ - // user entered something and pressed ok - TQString msg(TQString("system %1").arg(systemID)); // noTr - debugger->fakeInput(msg, true); - } - -} - - -void KXsldbgPart::lookupPublicID(TQString publicID) -{ - bool ok = false; - if (!checkDebugger()) - return; - - if (publicID.isEmpty()){ -#if KDE_IS_VERSION(3, 1, 90) - publicID = KInputDialog::getText( - i18n( "Lookup PublicID" ), - i18n( "Please enter PublicID to find:" ), - TQString(), &ok, mainView ); -#else - publicID = TQInputDialog::getText( - i18n( "Lookup PublicID" ), - i18n( "Please enter PublicID to find:" ), - TQLineEdit::Normal, TQString(), &ok, mainView ); -#endif - }else{ - ok = true; - } - if ( ok && !publicID.isEmpty()){ - // user entered something and pressed ok - TQString msg(TQString("public %1").arg(publicID)); // noTr - debugger->fakeInput(msg, true); - } -} - - -void KXsldbgPart::slotLookupSystemID() -{ - lookupSystemID(""); -} - -void KXsldbgPart::slotLookupPublicID() -{ - lookupPublicID(""); -} - -void KXsldbgPart::configureCmd_activated() -{ - if (!checkDebugger()) - return; - - if (configWidget != 0L){ - configWidget->refresh(); - configWidget->show(); - } -} - -void -KXsldbgPart::runCmd_activated() -{ - if ( checkDebugger() ) - debugger->slotRunCmd(); -} - -void KXsldbgPart::inspectorCmd_activated() -{ - if (inspector == 0L) - createInspector(); - - if (checkDebugger() && (inspector != 0L)){ - inspector->show(); - } -} - - -void KXsldbgPart::createInspector() -{ - if ( inspector == 0L ) { - debugger = new XsldbgDebugger(); - TQ_CHECK_PTR( debugger ); - if ( debugger != 0L ) { - connect(debugger, TQ_SIGNAL( debuggerReady()), - this, TQ_SLOT(debuggerStarted())); - if (outputview){ - connect(debugger, - TQ_SIGNAL( showMessage(TQString /* msg*/)), - outputview, - TQ_SLOT(slotProcShowMessage(TQString /* msg*/))); - } - inspector = new XsldbgInspector( debugger ); - TQ_CHECK_PTR( inspector ); - debugger->setInspector( inspector ); - if (inspector != 0L){ - /*process line number and/or file name changed */ - connect(debugger, - TQ_SIGNAL(lineNoChanged - (TQString /* fileName */ , - int /* lineNumber */ , - bool /* breakpoint */ ) ), - this, - TQ_SLOT(lineNoChanged - ( TQString /* fileName */ , - int /* lineNumber */ , - bool /* breakpoint */ ) ) ); - connect(debugger, - TQ_SIGNAL(breakpointItem(TQString /* fileName*/, - int /* lineNumber */, - TQString /*templateName*/, - TQString /* modeName */, - bool /* enabled */, - int /* id */)), - this, - TQ_SLOT( breakpointItem(TQString /* fileName*/, - int /* lineNumber */, - TQString /*templateName*/, - TQString /* modeName */, - bool /* enabled */, - int /* id */))); - connect(debugger, TQ_SIGNAL(resolveItem(TQString /*URI*/)), - this, TQ_SLOT(slotProcResolveItem(TQString /*URI*/))); - } - } - } -} - -void KXsldbgPart::emitOpenFile(TQString file, int line, int row) -{ - TQByteArray params; - TQDataStream stream(params, IO_WriteOnly); - stream << file << line << row; - emitDCOPSignal("openFile(TQString,int,int)", params); -} -void KXsldbgPart::continueCmd_activated() -{ - if ( checkDebugger() ) - debugger->slotContinueCmd(); - -} - -void KXsldbgPart::stepCmd_activated() -{ - if ( checkDebugger() ) - debugger->slotStepCmd(); -} - -void KXsldbgPart::nextCmd_activated() -{ - if ( checkDebugger() ) - debugger->fakeInput("next", true); // noTr -} - - -void KXsldbgPart::stepupCmd_activated() -{ - if ( checkDebugger() ) - debugger->fakeInput("stepup", true); // noTr -} - - -void KXsldbgPart::stepdownCmd_activated() -{ - if ( checkDebugger() ) - debugger->fakeInput("stepdown", true); // noTr -} - - -void KXsldbgPart::dataCmd_activated() -{ - if ( checkDebugger() ) - debugger->slotDataCmd(); -} - -void -KXsldbgPart::sourceCmd_activated() -{ - if ( checkDebugger() ) - debugger->slotSourceCmd(); -} - -void -KXsldbgPart::outputCmd_activated() -{ - if ( ( inspector != 0L ) && checkDebugger() && ( configWidget != 0L ) ){ - debugger->setOutputFileActive(true); - lineNoChanged( configWidget->getOutputFile(), 1, false ); - refreshCmd_activated(); - } -} - -void KXsldbgPart::refreshCmd_activated() -{ - - if ( !currentFileName.isEmpty() ){ - TQDictIterator<QXsldbgDoc> it(docDictionary); - QXsldbgDoc *docPtr; - while (it.current()){ - docPtr = it.current(); - docPtr->refresh(); - ++it; - } - if ( checkDebugger() ){ - debugger->fakeInput("showbreak", true); // noTr - } - } -} - -void KXsldbgPart::enableCmd_activated() -{ - if ( checkDebugger() ){ - debugger->slotEnableCmd( currentFileName, currentLineNo); - } -} - -void KXsldbgPart::deleteCmd_activated() -{ - if ( checkDebugger() ){ - debugger->slotDeleteCmd( currentFileName, currentLineNo); - } -} - -void KXsldbgPart::breakCmd_activated() -{ - if ( checkDebugger() ){ - debugger->slotBreakCmd( currentFileName, currentLineNo); - } -} - -void KXsldbgPart::evaluateCmd_activated() -{ -#if KDE_IS_VERSION(3,1,90) - TQString expression = KInputDialog::getText(i18n("Evalute Expression"), i18n("XPath:")); -#else - TQString expression = KLineEditDlg::getText(i18n("Evalute Expression"), i18n("XPath:")); -#endif - if (checkDebugger() && (expression.length() > 0)){ - debugger->slotCatCmd( expression); - } -} - -void KXsldbgPart::gotoXPathCmd_activated() -{ -#if KDE_IS_VERSION(3,1,90) - TQString xpath = KInputDialog::getText(i18n("Goto XPath"), i18n("XPath:")); -#else - TQString xpath = KLineEditDlg::getText(i18n("Goto XPath"), i18n("XPath:")); -#endif - if (checkDebugger() && xpath.length() > 0){ - debugger->slotCdCmd( xpath ); - } -} - -void -KXsldbgPart::lineNoChanged(TQString fileName, int lineNumber, bool breakpoint) -{ - if ( fileName.isEmpty() ) { - kdDebug() << "Empty file Name" << endl; // noTr - return; - } - - openURL(fileName); - - QXsldbgDoc *docPtr; - TQDictIterator<QXsldbgDoc> it(docDictionary); - while (it.current()){ - docPtr = it.current(); - // cause all Execution and BreakpointReached marks to be cleared - docPtr->clearMarks(false); - ++it; - } - /* Did we stop at a breakpoint if so move the marker */ - if (currentDoc) { - currentDoc->selectBreakPoint(lineNumber -1, breakpoint); - TQByteArray params; - TQDataStream stream(params, IO_WriteOnly); - stream << currentFileName << lineNumber; - emitDCOPSignal("debuggerPositionChanged(TQString,int)", params); - }else { - tqWarning("Unable to retrieve document from internal cache"); - } - - - /* Move cursor and update status bar */ - if (currentDoc && currentDoc->kateView()){ - KTextEditor::ViewCursorInterface *cursorIf = KTextEditor::viewCursorInterface(currentDoc->kateView()); - if (cursorIf){ - cursorIf->setCursorPositionReal(lineNumber - 1, 0); - currentLineNo = lineNumber; - } - } -} - -void KXsldbgPart::cursorPositionChanged() -{ - if (currentDoc && currentDoc->kateView()){ - KTextEditor::ViewCursorInterface *viewCurIf = KTextEditor::viewCursorInterface(currentDoc->kateView()); - if (viewCurIf){ - viewCurIf->cursorPosition(¤tLineNo, ¤tColumnNo); - currentLineNo++; - currentColumnNo++; - TQByteArray params; - TQDataStream stream(params, IO_WriteOnly); - stream << currentFileName << currentLineNo << currentColumnNo; - emitDCOPSignal("editorPositionChanged(TQString,int,int)", params); - } - } -} - -void KXsldbgPart::docChanged() -{ - if (!currentDoc || currentDoc->kateDoc() || currentDoc->kateView()) - return; -} - -void KXsldbgPart::debuggerStarted() -{ - if (configWidget != 0L){ - TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs(); - if (args){ - int i=0, result=1, noFilesFound = 0; - TQString expandedName; /* contains file name with path expansion if any */ - - for (i = 0; i < args->count(); i++) { - if (!result) - break; - - if (args->arg(i)[0] != '-') { - expandedName = TQString::fromUtf8((const char*)filesExpandName((const xmlChar*)args->arg(i))); - if (expandedName.isEmpty()) { - result = 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 via command line.\n")); - result = 0; - } - continue; - } - } - configWidget->refresh(); - configWidget->show(); - } - } -} - -void KXsldbgPart::addBreakPoint(int lineNumber) -{ - if ( checkDebugger() ){ - debugger->slotBreakCmd( currentFileName, lineNumber); - } -} - -void KXsldbgPart::enableBreakPoint(int lineNumber) -{ - if ( checkDebugger() ){ - debugger->slotEnableCmd( currentFileName, lineNumber); - } -} - - -void KXsldbgPart::deleteBreakPoint(int lineNumber) -{ - if ( checkDebugger() ){ - debugger->slotDeleteCmd( currentFileName, lineNumber); - } -} - - - -void KXsldbgPart::slotSearch() -{ - if ((newSearch != 0L) && checkDebugger() ) { - TQString msg(TQString("search \"%1\"").arg(newSearch->text())); // noTr - debugger->fakeInput(msg, false); - } -} - - -void KXsldbgPart::slotEvaluate() -{ - if ((newEvaluate != 0L) && checkDebugger() ){ - debugger->slotCatCmd( newEvaluate->text() ); - } -} - -void KXsldbgPart::slotGotoXPath() -{ - if ((newXPath != 0L) && checkDebugger() ){ - debugger->slotCdCmd( newXPath->text() ); - } -} - - - -void KXsldbgPart::slotProcResolveItem(TQString URI) -{ - if (!URI.isEmpty()){ - TQMessageBox::information(mainView, i18n("SystemID or PublicID Resolution Result"), - i18n("SystemID or PublicID has been resolved to\n.%1").arg(URI), - TQMessageBox::Ok); - } -} - -void KXsldbgPart::breakpointItem(TQString fileName, int lineNumber , - TQString /*templateName*/, TQString /* modeName */, - bool enabled , int /* id */) -{ - - if (fileName == 0L){ - /* Go through all documents and remove all breakpoints */ - TQDictIterator<QXsldbgDoc> it(docDictionary); - QXsldbgDoc *docPtr; - while (it.current()){ - docPtr = it.current(); - docPtr->clearMarks(true); - ++it; - } - }else{ -/* - if (!fileName.contains("://")){ - // relative path ? must handle this special case - KURL url; - url.setFileName(fileName); - fetchURL(url); - }else{ - fetchURL(fileName); - } -*/ - fileName = XsldbgDebugger::fixLocalPaths(fileName); - KURL temp(fileName); - fileName = temp.prettyURL(); - fetchURL(fileName); - QXsldbgDoc *docPtr = docDictionary[fileName] ; - if (docPtr){ - docPtr->addBreakPoint(lineNumber - 1, enabled); - }else { - tqWarning("Unable to get doc %s from docDictionary", fileName.local8Bit().data()); - } - } -} - - - -void KXsldbgPart::walkCmd_activated() -{ - if (checkDebugger()){ - debugger->slotWalkCmd(); - } -} - -void KXsldbgPart::walkStopCmd_activated() -{ - if (checkDebugger()){ - debugger->slotWalkStopCmd(); - } -} - -void KXsldbgPart::traceCmd_activated() -{ - if (checkDebugger()){ - debugger->slotTraceCmd(); - } -} - -void KXsldbgPart::traceStopCmd_activated() -{ - walkStopCmd_activated(); -} - - -#include "kxsldbg_part.moc" diff --git a/kxsldbg/kxsldbgpart/kxsldbg_part.desktop b/kxsldbg/kxsldbgpart/kxsldbg_part.desktop deleted file mode 100644 index 81eca2be..00000000 --- a/kxsldbg/kxsldbgpart/kxsldbg_part.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Name=KXsldbgPart - -Type=Service -MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; -X-TDE-ServiceTypes=KParts/ReadOnlyPart -X-TDE-Library=libkxsldbgpart diff --git a/kxsldbg/kxsldbgpart/kxsldbg_part.h b/kxsldbg/kxsldbgpart/kxsldbg_part.h deleted file mode 100644 index e9c95a28..00000000 --- a/kxsldbg/kxsldbgpart/kxsldbg_part.h +++ /dev/null @@ -1,171 +0,0 @@ -#ifndef KXSLDBGKPART_H -#define KXSLDBGKPART_H - -#include <tdeparts/part.h> -#include <tqvariant.h> -#include <tqdict.h> -#include <tqmainwindow.h> -#include "xsldbgdebugger.h" -#include "xsldbginspector.h" -#include <dcopclient.h> -#include "kxsldbg_partif.h" -#include <tdetexteditor/document.h> -#include <tdetexteditor/view.h> - -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<QXsldbgDoc> XsldbgDocDict; - -/** - * This is a "Part". It that does all the real work in a KPart - * application. - * - * @short Main Part - * @author Keith Isdale <k_isdale@tpg.com.au> - * @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 diff --git a/kxsldbg/kxsldbgpart/kxsldbg_part.rc b/kxsldbg/kxsldbgpart/kxsldbg_part.rc deleted file mode 100644 index b8daea6e..00000000 --- a/kxsldbg/kxsldbgpart/kxsldbg_part.rc +++ /dev/null @@ -1,61 +0,0 @@ -<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> -<kpartgui name="kxsldbg_part" version="1"> -<MenuBar> - <Menu name="debug"><text>Debug</text> - <Action name="configureCmd"/> - <Action name="inspectCmd"/> - <Action name="runCmd"/> - <Action name="continueCmd"/> - <Action name="stepCmd"/> - <Action name="nextCmd"/> - <Separator/> - <Action name="stepupCmd"/> - <Action name="stepdownCmd"/> - <Separator/> - <Action name="breakCmd"/> - <Action name="deleteCmd"/> - <Action name="enableCmd"/> - <Separator/> - <Action name="sourceCmd"/> - <Action name="dataCmd"/> - <Action name="outputCmd"/> - <Action name="refreshCmd"/> - <Separator/> - <Action name="walkCmd"/> - <Action name="walkStopCmd"/> - <Action name="traceCmd"/> - <Action name="traceStopCmd"/> - <Separator/> - <Action name="evaluateCmd"/> - <Action name="gotoXPathCmd"/> - <Action name="lookupSystemID"/> - <Action name="lookupPublicID"/> - </Menu> - <Menu name="settings"><text>&Settings</text> - <Action name="configureEditorCmd"/> - </Menu> - -</MenuBar> - -<ToolBar name="debugToolBar"> - <Action name="configureCmd"/> - <Action name="inspectCmd"/> - <Action name="runCmd"/> - <Action name="continueCmd"/> - <Action name="stepCmd"/> - <Action name="nextCmd"/> - <Separator/> - <Action name="stepupCmd"/> - <Action name="stepdownCmd"/> - <Separator/> - <Action name="breakCmd"/> - <Action name="deleteCmd"/> - <Action name="enableCmd"/> - <Separator/> - <Action name="sourceCmd"/> - <Action name="dataCmd"/> - <Action name="outputCmd"/> - <Action name="refreshCmd"/> - <Separator/> - </ToolBar> -</kpartgui> diff --git a/kxsldbg/kxsldbgpart/kxsldbg_partif.h b/kxsldbg/kxsldbgpart/kxsldbg_partif.h deleted file mode 100644 index bd537cec..00000000 --- a/kxsldbg/kxsldbgpart/kxsldbg_partif.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef KXSLDBG_PARTIF_H -#define KXSLDBG_PARTIF_H - -#include <dcopobject.h> - -class KXsldbgPartIf : virtual public DCOPObject -{ - K_DCOP - k_dcop: - - /* reserved for future expansion*/ -}; - -#endif diff --git a/kxsldbg/kxsldbgpart/libtqtnotfier/CMakeLists.txt b/kxsldbg/kxsldbgpart/libtqtnotfier/CMakeLists.txt deleted file mode 100644 index e8416c7d..00000000 --- a/kxsldbg/kxsldbgpart/libtqtnotfier/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -include_directories( - ${CMAKE_BINARY_DIR} - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR} -) - -include_directories( SYSTEM - ${TDE_INCLUDE_DIR} - ${TQT_INCLUDE_DIRS} - ${LIBXML_INCLUDE_DIRS} - ${LIBXSLT_INCLUDE_DIRS} - ${READLINE_INCLUDE_DIRS} -) - -link_directories( - ${TQT_LIBRARY_DIRS} - ${TDE_LIB_DIR} -) - -add_compile_options( ${ICU_CXXFLAGS} ) - - -##### tqtnotfier (static) - -tde_add_library( tqtnotfier STATIC_PIC AUTOMOC - - SOURCES - xsldbgthread.cpp - xsldbgnotifier.cpp - xsldbgevent.cpp - xsldbgdebuggerbase.cpp - qtnotifier2.cpp - LINK - ${LIBXSLT_LIBRARIES} - ${READLINE_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} -) diff --git a/kxsldbg/kxsldbgpart/libtqtnotfier/Makefile.am b/kxsldbg/kxsldbgpart/libtqtnotfier/Makefile.am deleted file mode 100644 index caebc3f4..00000000 --- a/kxsldbg/kxsldbgpart/libtqtnotfier/Makefile.am +++ /dev/null @@ -1,9 +0,0 @@ -noinst_LTLIBRARIES = libtqtnotfier.la - -libtqtnotfier_la_LIBADD = $(LIBXSLT_LIBS) -libtqtnotfier_la_METASOURCES = AUTO - -libtqtnotfier_la_SOURCES = xsldbgthread.cpp xsldbgnotifier.cpp xsldbgevent.cpp xsldbgdebuggerbase.cpp qtnotifier2.cpp - -INCLUDES = $(XSLDBG_CFLAGS) $(all_includes) -CXXFLAGS += $(ICU_CXXFLAGS) diff --git a/kxsldbg/kxsldbgpart/libtqtnotfier/qtnotifier2.cpp b/kxsldbg/kxsldbgpart/libtqtnotfier/qtnotifier2.cpp deleted file mode 100644 index 0db9d1f0..00000000 --- a/kxsldbg/kxsldbgpart/libtqtnotfier/qtnotifier2.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/*************************************************************************** - qtnotifier2.cpp - description - ------------------- - begin : Sun Dec 23 2001 - copyright : (C) 2001 by keith - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include <tqapplication.h> - -#include "../libxsldbg/xsldbgevent.h" -#include "../libxsldbg/qtnotifier2.h" -#include "xsldbgdebuggerbase.h" -#include "../libxsldbg/xsldbgthread.h" - -XsldbgDebuggerBase *_debugger = 0L; - -int qtNotifyXsldbgApp(XsldbgMessageEnum type, const void *data) -{ - int result = 0; - if (::getThreadStatus() == XSLDBG_MSG_THREAD_NOTUSED){ - return 1; - } - - /* clear the input ready flag as quickly as possible*/ - if ( ::getInputStatus() == XSLDBG_MSG_READ_INPUT) - ::setInputReady(0); - - /* state of the thread */ - if (_debugger != 0L){ - XsldbgEvent *e = new XsldbgEvent(type, data); - if (e != 0L) { - /* The application will now have this event in its event queue - that all that is needed from here*/ - TQApplication::postEvent(_debugger, e); - } - } - - if (::getThreadStatus() == XSLDBG_MSG_THREAD_STOP) - ::xsldbgThreadCleanup(); /* thread has died so cleanup after it */ - - result++; /* at the moment this function will always work */ - - return result; -} - - - -void connectNotifier(XsldbgDebuggerBase *debugger){ - _debugger = debugger; -} - - diff --git a/kxsldbg/kxsldbgpart/libtqtnotfier/xsldbgdebuggerbase.cpp b/kxsldbg/kxsldbgpart/libtqtnotfier/xsldbgdebuggerbase.cpp deleted file mode 100644 index 518aca00..00000000 --- a/kxsldbg/kxsldbgpart/libtqtnotfier/xsldbgdebuggerbase.cpp +++ /dev/null @@ -1,93 +0,0 @@ -/*************************************************************************** - xsldbgdebuggerbase.cpp - The base class from - which a debugger - could be built - - ------------------- - begin : Fri Feb 1 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include <tqapplication.h> -#include <tqglobal.h> -#include <tqstringlist.h> -#include <kurl.h> - -#include "xsldbgdebuggerbase.h" - -XsldbgDebuggerBase::XsldbgDebuggerBase() - : TQObject(0L, "XsldbgDebuggerBase") -{ - initialized = false; - updateTimerID = -1; -} - - -XsldbgDebuggerBase::~XsldbgDebuggerBase() -{ - /* empty*/ -} - - - -TQString XsldbgDebuggerBase::fromUTF8(const char *text) -{ - TQString result; - if (text != 0L) - result = (const char*)text; - return result; -} - - -TQString XsldbgDebuggerBase::fromUTF8(const xmlChar *text) -{ - TQString result; - if (text != 0L) - result = TQString::fromUtf8((const char*)text); - return result; -} - - -TQString XsldbgDebuggerBase::fromUTF8FileName(const char *text) -{ - TQString result; - if (text != 0L){ - KURL url(((const char*)text)); - if (url.isLocalFile()) - result = TQString("file:") + url.path(); - else - result = url.prettyURL(); - } - return result; -} - - -TQString XsldbgDebuggerBase::fromUTF8FileName(const xmlChar *text) -{ - TQString result; - if (text != 0L){ - KURL url(TQString::fromUtf8((const char*)text)); - if (url.isLocalFile()) - result = TQString("file:") + url.path(); - else - result = url.prettyURL(); - } - return result; -} - - -void XsldbgDebuggerBase::queueMessage(const TQString &text) -{ - updateText += text; -} -#include "xsldbgdebuggerbase.moc" diff --git a/kxsldbg/kxsldbgpart/libtqtnotfier/xsldbgdebuggerbase.h b/kxsldbg/kxsldbgpart/libtqtnotfier/xsldbgdebuggerbase.h deleted file mode 100644 index b82dbac7..00000000 --- a/kxsldbg/kxsldbgpart/libtqtnotfier/xsldbgdebuggerbase.h +++ /dev/null @@ -1,148 +0,0 @@ -/*************************************************************************** - xsldbgdebuggerbase.h - The base class from - which a debugger - could be built - - ------------------- - begin : Fri Feb 1 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - - -#ifndef XSLDBGDEBUGGERBASE_H -#define XSLDBGDEBUGGERBASE_H - -#if defined WIN32 -# include <libxsldbg/xsldbgwin32config.h> -#else -# ifndef XSLDBG_SO_API -# define XSLDBG_SO_API -# endif -#endif - -#include <tqobject.h> -#include <tqstringlist.h> -#include <libxml/tree.h> - -class XsldbgEvent; -class TQApplication; -class TQStringList; - -/** - We delegate the task of emitting our signals to XsldbgEvent , so - Xsldbg must become our friend -*/ -class XsldbgDebuggerBase : public TQObject -{ - TQ_OBJECT - - - friend class XsldbgEvent; - - public: - XsldbgDebuggerBase(void); - ~XsldbgDebuggerBase(void); - - void setInitialized(bool state) {initialized = state; }; - bool getInitialized(void) {return initialized ;}; - - void setUpdateTimerID(int ID) { updateTimerID = ID;}; - int getUpdateTimerID(void) {return updateTimerID ;}; - - - /** Convert from libxslt UTF8 to a TQString */ - static TQString fromUTF8(const char *text); - static TQString fromUTF8FileName(const char *text); - - /** Convert from libxslt UTF8 to a TQString */ - static TQString fromUTF8(const xmlChar *text); - static TQString fromUTF8FileName(const xmlChar *text); - - /* list of command yet to be processed */ - TQStringList commandQueue(void) {return _commandQueue ;}; - - void queueMessage(const TQString &text); - -protected: - TQString updateText; - - private: - bool initialized; - int updateTimerID; - TQStringList _commandQueue; - - signals: // Signals - /** line number and/or file name changed */ - void lineNoChanged(TQString /* fileName */, int /* lineNumber */, bool /* breakpoint */); - - /** Show a message in debugger window */ - void showMessage(TQString /* msg*/); - - /** Add breakpoint to view, First parameter is TQString() - to indicate start of breakpoint list notfication */ - void breakpointItem(TQString /* fileName*/, int /* lineNumber */, - TQString /*templateName*/, TQString /* modeName */, - bool /* enabled */, int /* id */); - - /** Add global variable to view, First parameter is TQString() - to indicate start of global variable list notfication */ - void globalVariableItem(TQString /* name */, TQString /* fileName */, int /* lineNumber */); - - /** Add local variable to view, First parameter is TQString() - to indicate start of local variable list notfication */ - void localVariableItem(TQString /*name */, TQString /* templateContext*/, - TQString /* fileName */, int /*lineNumber */); - - /** Add a variable to view, First parameter is TQString() - to indicate start of local variable list notfication */ - void variableItem(TQString /*name */, TQString /* templateContext*/, - TQString /* fileName */, int /*lineNumber */, - TQString /* select XPath */, int /* is it a local variable */); - - /** Add template to view, First parameter is TQString() - to indicate start of template list notfication */ - void templateItem(TQString /* name*/, TQString /*mode*/, TQString /* fileName */, int /* lineNumber */); - - /** Add source to view, First parameter is TQString() - to indicate start of source list notfication */ - void sourceItem(TQString /* fileName */, TQString /* parentFileName */, int /*lineNumber */); - - /** Add parameter to view, First parameter is TQString() - to indicate start of parameter list notfication */ - void parameterItem(TQString /* name*/, TQString /* value */); - - /** Add callStack to view, First parameter is TQString() - to indicate start of callstack list notfication */ - void callStackItem(TQString /* tempalteName*/, TQString /* fileName */, int /* lineNumber */); - - /** Add entity to view, First parameter is TQString() - to indicate start of entity list notfication */ - void entityItem(TQString /*SystemID*/, TQString /*PublicID*/); - - /* Show the URI for SystemID or PublicID requested */ - void resolveItem(TQString /*URI*/); - - /* Display a integer option value First parameter is TQString() - to indicate start of option list notification */ - void intOptionItem(TQString /* name*/, int /* value */); - - /* Display a string option value. First parameter is TQString() - to indicate start of option list notification */ - void stringOptionItem(TQString /* name*/, TQString /* value */); - - /* Cause the names for source, data and output files to be reload from xsldbg */ - void fileDetailsChanged(); - -}; - -#endif diff --git a/kxsldbg/kxsldbgpart/libtqtnotfier/xsldbgevent.cpp b/kxsldbg/kxsldbgpart/libtqtnotfier/xsldbgevent.cpp deleted file mode 100644 index 0f377dbb..00000000 --- a/kxsldbg/kxsldbgpart/libtqtnotfier/xsldbgevent.cpp +++ /dev/null @@ -1,857 +0,0 @@ - -/*************************************************************************** - xsldbgevent.c - event to notify app of - data from xsldbg - ------------------- - begin : Fri Feb 1 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include <tqapplication.h> -#include <tqtimer.h> -#include <tqfile.h> -#include <kurl.h> -#include <tqtextstream.h> - -#include <libxslt/xsltInternals.h> - -#include "../libxsldbg/xsldbgevent.h" -#include "xsldbgdebuggerbase.h" -#include "../libxsldbg/arraylist.h" -#include "../libxsldbg/breakpoint.h" -#include "../libxsldbg/xsldbgmsg.h" -#include "../libxsldbg/xsldbgthread.h" -#include "../libxsldbg/options.h" -#include "../libxsldbg/files.h" - -TQString updateText; - -XsldbgEventData::XsldbgEventData() -{ - int column; - - for (column = 0; column < XSLDBGEVENT_COLUMNS; column++){ - textValues[column] = TQString(); - } - - for (column = 0; column < XSLDBGEVENT_COLUMNS; column++){ - intValues[column] = -1; - } - -} - -XsldbgEventData::~XsldbgEventData() -{ -} - -void XsldbgEventData::setText(int column, TQString text) -{ - if ((column >= 0) && (column < XSLDBGEVENT_COLUMNS)) - textValues[column] = text; -} - - -TQString XsldbgEventData::getText(int column) -{ - if ((column >= 0) && (column < XSLDBGEVENT_COLUMNS)) - return textValues[column]; - else - return TQString(); -} - - -void XsldbgEventData::setInt(int column, int value) -{ - if ((column >= 0) && (column < XSLDBGEVENT_COLUMNS)) - intValues[column] = value; -} - - -int XsldbgEventData::getInt(int column) -{ - if ((column >= 0) && (column < XSLDBGEVENT_COLUMNS)) - return intValues[column]; - else - return -1; -} - - -XsldbgEvent::XsldbgEvent(XsldbgMessageEnum type, const void *data) - : TQEvent(TQEvent::User) -{ - XsldbgEventData *eventData; - this->data = data; - debugger = 0L; - beenCreated = false; - - if (type == XSLDBG_MSG_LIST){ /* 23 : As list of messages */ - notifyMessageListPtr msgList = (notifyMessageListPtr)data; - void *msgData; - /* If this is an included source message, which just continues a source message, - we don't need to add an empty XsldbgEventData */ - if (msgList->type != XSLDBG_MSG_INCLUDED_SOURCE_CHANGED){ - /* add an empty event data item which indicates the start of a list */ - eventData = new XsldbgEventData(); - if (eventData != 0L) - list.append(eventData); - } - for (int index = 0; index < arrayListCount(msgList->list); index++){ - msgData = ::arrayListGet(msgList->list, index); - eventData = createEventData(msgList->type, msgData); - if (eventData != 0L) - list.append(eventData); - } - ::arrayListFree(msgList->list); - msgList->list = 0L; - itemType = msgList->type; - }else{ - eventData = createEventData(type, data); - if (eventData != 0L) - list.append(eventData); - itemType = type; - } - - beenCreated = true; - /* remove any knowledge of orginal data */ - this->data = 0L; -} - - -XsldbgEvent::~XsldbgEvent() -{ -} - - -XsldbgEventData *XsldbgEvent::createEventData(XsldbgMessageEnum type, const void *msgData) -{ - XsldbgEventData *result = new XsldbgEventData(); - - if (result == 0L) - return result; - - switch (type){ - - case XSLDBG_MSG_THREAD_NOTUSED: /* 0: Thread are not to be used */ - case XSLDBG_MSG_THREAD_INIT: /* 1: The xsldbg thread is initializing */ - case XSLDBG_MSG_THREAD_RUN: /* 2: The xsldbg thread is running */ - case XSLDBG_MSG_THREAD_STOP: /* 3: The xsldbg thread is about to die */ - case XSLDBG_MSG_THREAD_DEAD: /* 4: The xsldbg thread died */ - /* we don't need to do anything extra with this message */ - break; - - /* input status ( once thread is running) */ - case XSLDBG_MSG_AWAITING_INPUT: /* 5: Waiting for user input */ - /* we don't need to do anything extra with this message */ - break; - - case XSLDBG_MSG_READ_INPUT: /* 6: Read user input */ - /* we don't need to do anything extra with this message */ - break; - - case XSLDBG_MSG_PROCESSING_INPUT: /* 7: Processing user's request */ - /* we don't need to do anything extra with this message */ - break; - - /* provide more informatiom about state of xsldbg (optional) */ - case XSLDBG_MSG_PROCESSING_RESULT: /* 8: An error occured performing command - * requested command */ - if (msgData != 0L){ - xsldbgErrorMsgPtr msg = (xsldbgErrorMsgPtr)msgData; - if (msg->text) - result->setText(0, XsldbgDebuggerBase::fromUTF8(msg->text)); - } - break; - - case XSLDBG_MSG_LINE_CHANGED: /* 9: Changed to new line number - * ie a step */ - handleLineNoChanged(result, msgData); - break; - - case XSLDBG_MSG_FILE_CHANGED: /* 10: Changed selection for source/data/output file */ - // not used - break; - - case XSLDBG_MSG_BREAKPOINT_CHANGED: /* 11: Response to a showbreak command */ - handleBreakpointItem(result, msgData); - break; - - case XSLDBG_MSG_PARAMETER_CHANGED: /* 12: Response to showparam command */ - handleParameterItem(result, msgData); - break; - - case XSLDBG_MSG_TEXTOUT: /* 13 : Free form text from xsldg */ - /* this is going to be most common and its so simple we can handle - it here */ - result->setText(0, XsldbgDebuggerBase::fromUTF8((xmlChar*)msgData)); - break; - - case XSLDBG_MSG_FILEOUT: /* 14 : Response to cat commmand, ie - * Free form text in file */ - /* this is actualy the file to load */ - { - KURL url(XsldbgDebuggerBase::fromUTF8FileName((xmlChar*)msgData)); - if (!url.isLocalFile()){ - tqDebug("Remote path to temp file %s unsupported, unable to read message from xsldbg", url.prettyURL().local8Bit().data()); - break; - } - - TQString fileName = url.path(); - TQString outputText; - if (!fileName.isNull()){ - TQFile file (fileName); - if (file.open(IO_ReadOnly)){ - TQTextStream textFile(&file); - TQString textIn = ""; - textFile.setEncoding(TQTextStream::UnicodeUTF8); - while (1){ - textIn = textFile.readLine(); - if (textIn.isNull()) - break; - outputText.append(textIn).append("\n"); - } - file.close(); - } - outputText.append("\n"); - result->setText(0, outputText); - } - } - break; - - case XSLDBG_MSG_LOCALVAR_CHANGED: /* 15 : Response to locals command ie a - * local variable */ - handleLocalVariableItem(result, msgData); - break; - - case XSLDBG_MSG_GLOBALVAR_CHANGED: /* 16 : Response to globals command - * ie a global variable */ - handleGlobalVariableItem(result, msgData); - break; - - case XSLDBG_MSG_TEMPLATE_CHANGED: /* 17 : Response to templates commmand - * ie template details */ - handleTemplateItem(result, msgData); - break; - - case XSLDBG_MSG_SOURCE_CHANGED: /* 18 : Response to stylesheets command, - * a normal stylesheet */ - handleSourceItem(result, msgData); - break; - - case XSLDBG_MSG_INCLUDED_SOURCE_CHANGED: /* 19: Response to stylesheets - * command, a xmlNodeptr of - * a included stylesheet */ - handleIncludedSourceItem(result, msgData); - break; - - case XSLDBG_MSG_CALLSTACK_CHANGED: /* 20: Response to where command, - * ie a item on the call stack */ - handleCallStackItem(result, msgData); - break; - - case XSLDBG_MSG_ENTITIY_CHANGED: /* 21: Response to entities - * command */ - handleEntityItem(result, msgData); - break; - - case XSLDBG_MSG_RESOLVE_CHANGE: /* 22: Response to system or - * public command */ - handleResolveItem(result, msgData); - break; - - default: - tqDebug("Unhandled type in createEventData %d", type); - - } - return result; -} - -void XsldbgEvent::emitMessage(XsldbgDebuggerBase *debugger) -{ - XsldbgEventData *eventData; - - this->debugger = debugger; - - for (eventData = list.first(); eventData != 0L; eventData = list.next()){ - emitMessage(eventData); - } - - /* make sure that we only temporarily set the value for debugger*/ - this->debugger = 0L; -} - - -void XsldbgEvent::emitMessage(XsldbgEventData *eventData) -{ - - if ((eventData == 0L) || (debugger == 0L)){ - tqDebug("emitMessage failed"); - if (eventData == 0L) - tqDebug("Event data == NULL"); - if (debugger == 0L) - tqDebug("Debugger == NULL"); - return; - } - - /* - Method use will end up like - - emit debugger->lineNoChanged("", 1, false); - - */ - - switch (itemType){ - - case XSLDBG_MSG_THREAD_NOTUSED: /* 0: Thread are not to be used */ - case XSLDBG_MSG_THREAD_INIT: /* 1: The xsldbg thread is initializing */ - case XSLDBG_MSG_THREAD_RUN: /* 2: The xsldbg thread is running */ - /* we don't need to do anything extra with this message */ - break; - - case XSLDBG_MSG_THREAD_STOP: /* 3: The xsldbg thread is about to die */ - case XSLDBG_MSG_THREAD_DEAD: /* 4: The xsldbg thread died */ - /* the debugger has stopped is about to stop */ - debugger->setInitialized(false); - break; - - /* input status ( once thread is running) */ - case XSLDBG_MSG_AWAITING_INPUT: /* 5: Waiting for user input */ - if ((getInputReady() == 0) && (debugger->commandQueue().count() > 0)){ - tqDebug("Command queue not empty"); - TQTimerEvent *e = new TQTimerEvent(debugger->getUpdateTimerID()); - TQApplication::postEvent(debugger, e); - } - if (!updateText.isEmpty()){ - debugger->queueMessage(updateText); - updateText = ""; - } - break; - - case XSLDBG_MSG_READ_INPUT: /* 6: Read user input */ - /* we don't need to do anything extra with this message */ - break; - - case XSLDBG_MSG_PROCESSING_INPUT: /* 7: Processing user's request */ - /* we don't need to do anything extra with this message */ - break; - - /* provide more informatiom about state of xsldbg (optional) */ - case XSLDBG_MSG_PROCESSING_RESULT: /* 8: An error occured performing command - * requested command */ - if (!eventData->getText(0).isNull()) - updateText.append(eventData->getText(0)); - break; - - case XSLDBG_MSG_LINE_CHANGED: /* 9: Changed to new line number - * ie a step */ - handleLineNoChanged(eventData, 0L); - break; - - case XSLDBG_MSG_FILE_CHANGED: /* 10: Loaded source/data file */ - if (beenCreated == false){ - /* Empty data */ - }else{ - emit debugger->fileDetailsChanged(); - } - break; - - case XSLDBG_MSG_BREAKPOINT_CHANGED: /* 11: Response to a showbreak command */ - handleBreakpointItem(eventData, 0L); - break; - - case XSLDBG_MSG_PARAMETER_CHANGED: /* 12: Response to showparam command */ - handleParameterItem(eventData, 0L); - break; - - case XSLDBG_MSG_TEXTOUT: /* 13 : Free form text from xsldg */ - /* this is going to be most common and its so simple we can handle - it here */ - /* - emit debugger->showMessage(eventData->getText(0)); - */ - if (!eventData->getText(0).isNull()) - updateText.append(eventData->getText(0)); - break; - - case XSLDBG_MSG_FILEOUT: /* 14 : Response to cat commmand */ - if (!eventData->getText(0).isNull()) - updateText.append(eventData->getText(0)); - break; - - case XSLDBG_MSG_LOCALVAR_CHANGED: /* 15 : Response to locals command ie a - * local variable */ - handleLocalVariableItem(eventData, 0L); - break; - - case XSLDBG_MSG_GLOBALVAR_CHANGED: /* 16 : Response to globals command - * ie a global variable */ - handleGlobalVariableItem(eventData, 0L); - break; - - case XSLDBG_MSG_TEMPLATE_CHANGED: /* 17 : Response to templates commmand - * ie template details */ - handleTemplateItem(eventData, 0L); - break; - - case XSLDBG_MSG_SOURCE_CHANGED: /* 18 : Response to stylesheets command, - * a normal stylesheet */ - handleSourceItem(eventData, 0L); - break; - - case XSLDBG_MSG_INCLUDED_SOURCE_CHANGED: /* 19: Response to stylesheets - * command, a xmlNodeptr of - * a included stylesheet */ - handleIncludedSourceItem(eventData, 0L); - break; - - case XSLDBG_MSG_CALLSTACK_CHANGED: /* 20: Response to where command, - * ie a item on the call stack */ - handleCallStackItem(eventData, 0L); - break; - - case XSLDBG_MSG_ENTITIY_CHANGED: /* 21: Response to entities - * command */ - handleEntityItem(eventData, 0L); - break; - - case XSLDBG_MSG_RESOLVE_CHANGE: /* 22: Response to system or - * public command */ - handleResolveItem(eventData, 0L); - break; - - default: - tqDebug("Unhandled type in emitMessage %d", itemType); - } -} - - -void XsldbgEvent::handleLineNoChanged(XsldbgEventData *eventData, const void *msgData) -{ - if (eventData != 0L){ - if (beenCreated == false){ - /* add our specific data to eventData*/ - if (xsldbgUrl() != 0L){ - eventData->setText(0, XsldbgDebuggerBase::fromUTF8FileName(xsldbgUrl())); - eventData->setInt(0, xsldbgLineNo()); - eventData->setInt(1, msgData != 0L); - } - }else{ - /* emit the event data via debugger*/ - emit debugger->lineNoChanged(eventData->getText(0), eventData->getInt(0), - eventData->getInt(1)); - } - } -} - - -void XsldbgEvent::handleShowMessage(XsldbgEventData *eventData, const void *msgData) -{ - if (eventData != 0L){ - if (beenCreated == false){ - /* add our specific data to eventData*/ - if (msgData != 0L){ - eventData->setText(0, XsldbgDebuggerBase::fromUTF8((xmlChar*)msgData)); - } - }else{ - /* emit the event data via debugger*/ - emit debugger->showMessage(eventData->getText(0)); - } - } -} - - -void XsldbgEvent::handleBreakpointItem(XsldbgEventData *eventData, const void *msgData) -{ - if (eventData != 0L){ - if (beenCreated == false){ - /* add our specific data to eventData*/ - if (msgData != 0L){ - breakPointPtr breakItem = (breakPointPtr)msgData; - /* set the file name*/ - eventData->setText(0, XsldbgDebuggerBase::fromUTF8FileName(breakItem->url)); - /* line number*/ - eventData->setInt(0, (int)breakItem->lineNo); - - /* templateName */ - eventData->setText(1, XsldbgDebuggerBase::fromUTF8(breakItem->templateName)); - - /* modeName */ - eventData->setText(2, XsldbgDebuggerBase::fromUTF8(breakItem->modeName)); - /* enabled state */ - eventData->setInt(1, (int)(breakItem->flags & BREAKPOINT_ENABLED)); - - /* id value */ - eventData->setInt(2, (int)breakItem->id); - } - }else{ - /* emit the event data via debugger*/ - emit debugger->breakpointItem(eventData->getText(0), /* file name*/ - eventData->getInt(0), /* line number*/ - eventData->getText(1), /* template name */ - eventData->getText(2), /* mode name */ - eventData->getInt(1), /* enabled state*/ - eventData->getInt(2) /* id*/); - } - } -} - - -void XsldbgEvent::handleGlobalVariableItem(XsldbgEventData *eventData, const void *msgData) -{ - if (eventData != 0L){ - if (beenCreated == false){ - /* add our specific data to eventData*/ - if (msgData != 0L){ - xsltStackElemPtr item = (xsltStackElemPtr)msgData; - TQString name, fileName, selectXPath; - int lineNumber = -1; - - /* variable name*/ - if (item->nameURI) - name = (XsldbgDebuggerBase::fromUTF8FileName(item->nameURI)).append(":"); - name.append(XsldbgDebuggerBase::fromUTF8(item->name)); - - - - if (item->computed && item->comp && item->comp->inst && item->comp->inst->doc){ - fileName = XsldbgDebuggerBase::fromUTF8FileName(item->comp->inst->doc->URL); - lineNumber= xmlGetLineNo(item->comp->inst); - } - - if (item->select) - selectXPath = XsldbgDebuggerBase::fromUTF8(item->select); - - eventData->setText(0, name); - eventData->setText(1, ""); - eventData->setText(2, fileName); - eventData->setText(3, selectXPath); - eventData->setInt(0, lineNumber); - eventData->setInt(1, 0); - } - }else{ - /* emit the event data via debugger*/ - emit debugger->variableItem(eventData->getText(0), /* variable name*/ - eventData->getText(1), /* templatecontext*/ - eventData->getText(2), /* file name */ - eventData->getInt(0), /* line number */ - eventData->getText(3), /* select XPath */ - eventData->getInt(1) /* Is this a local variable */ ); - } - } -} - - -void XsldbgEvent::handleLocalVariableItem(XsldbgEventData *eventData, const void *msgData) -{ - if (eventData != 0L){ - if (beenCreated == false){ - /* add our specific data to eventData*/ - if (msgData != 0L){ - xsltStackElemPtr item = (xsltStackElemPtr)msgData; - TQString name, templateContext, fileName, selectXPath; - int lineNumber = -1; - xmlNodePtr varXmlNode; - - /* variable name */ - if (item->nameURI) - name = (XsldbgDebuggerBase::fromUTF8FileName(item->nameURI)).append(":"); - name.append(XsldbgDebuggerBase::fromUTF8(item->name)); - - if (item->computed && item->comp && item->comp->inst){ - varXmlNode = item->comp->inst; - - /* try to find out what template this variable belongs to */ - if (varXmlNode->parent && IS_XSLT_NAME(varXmlNode->parent, "template")) { - xmlChar* value = xmlGetProp(varXmlNode->parent, (xmlChar *) "name"); - if (value) { - templateContext = XsldbgDebuggerBase::fromUTF8(value); - xmlFree(value); - }else{ - value = xmlGetProp(varXmlNode->parent, (xmlChar *) "match"); - if (value) { - templateContext = XsldbgDebuggerBase::fromUTF8(value); - xmlFree(value); - } - } - } - - if (varXmlNode->doc) { - fileName = XsldbgDebuggerBase::fromUTF8FileName(varXmlNode->doc->URL); - lineNumber = xmlGetLineNo(varXmlNode); - } - - if (item->select) - selectXPath = XsldbgDebuggerBase::fromUTF8(item->select); - - eventData->setText(0, name); - eventData->setText(1, templateContext); - eventData->setText(2, fileName); - eventData->setText(3, selectXPath); - eventData->setInt(0, lineNumber); - eventData->setInt(1, 1); - } - } - }else{ - /* emit the event data via debugger*/ - emit debugger->variableItem(eventData->getText(0), /* variable name*/ - eventData->getText(1), /* templatecontext*/ - eventData->getText(2), /* file name */ - eventData->getInt(0), /* line number */ - eventData->getText(3), /* select XPath */ - eventData->getInt(1) /* Is this a local variable */ ); - } - } -} - - -void XsldbgEvent::handleTemplateItem(XsldbgEventData *eventData, const void *msgData) -{ -if (eventData != 0L){ - if (beenCreated == false){ - /* add our specific data to eventData*/ - if(msgData != 0L){ - xsltTemplatePtr item = (xsltTemplatePtr)msgData; - TQString name, mode, fileName; - int lineNumber = -1; - - if (item->nameURI) - name.append(XsldbgDebuggerBase::fromUTF8FileName(item->nameURI)).append(":"); - - if (item->name) - name.append(XsldbgDebuggerBase::fromUTF8(item->name)); - else if (item->match) - name.append(XsldbgDebuggerBase::fromUTF8(item->match)); - - mode = XsldbgDebuggerBase::fromUTF8(item->mode); - - if (item->elem && item->elem->doc){ - fileName = XsldbgDebuggerBase::fromUTF8FileName(item->elem->doc->URL); - lineNumber = xmlGetLineNo(item->elem); - } - eventData->setText(0, name); - eventData->setText(1, mode); - eventData->setText(2, fileName); - eventData->setInt(0, lineNumber); - } - }else{ - /* emit the event data via debugger*/ - emit debugger->templateItem(eventData->getText(0), /* tempalte name*/ - eventData->getText(1), /* mode*/ - eventData->getText(2), /* file name*/ - eventData->getInt(0) /* line number*/); - } - } - -} - - -void XsldbgEvent::handleIncludedSourceItem(XsldbgEventData *eventData, const void *msgData) -{ - if (eventData != 0L){ - if (beenCreated == false){ - /* add our specific data to eventData*/ - if (msgData != 0L){ - xmlNodePtr item = (xmlNodePtr)msgData; - TQString name, fileName; - int lineNumber = -1; - - if (item->doc) - name = XsldbgDebuggerBase::fromUTF8FileName(item->doc->URL); - - if (item->parent && item->parent->doc){ - fileName = XsldbgDebuggerBase::fromUTF8FileName(item->parent->doc->URL); - lineNumber = xmlGetLineNo((xmlNodePtr)item->parent->doc); - } - eventData->setText(0, name); - eventData->setText(1, fileName); - eventData->setInt(0, lineNumber); - } - }else{ - /* emit the event data via debugger*/ - emit debugger->sourceItem(eventData->getText(0), /* file name*/ - eventData->getText(1), /* parent file name*/ - eventData->getInt(0) /* parent line number*/); - } - } -} - -void XsldbgEvent::handleSourceItem(XsldbgEventData *eventData, const void *msgData) -{ - if (eventData != 0L){ - if (beenCreated == false){ - /* add our specific data to eventData*/ - if (msgData != 0L){ - xsltStylesheetPtr item = (xsltStylesheetPtr)msgData; - TQString name, fileName; - int lineNumber = -1; - - if (item->doc) - name = XsldbgDebuggerBase::fromUTF8FileName(item->doc->URL); - - if (item->parent && item->parent->doc){ - fileName = XsldbgDebuggerBase::fromUTF8FileName(item->parent->doc->URL); - lineNumber = xmlGetLineNo((xmlNodePtr)item->parent->doc); - } - - eventData->setText(0, name); - eventData->setText(1, fileName); - eventData->setInt(0, lineNumber); - } - }else{ - /* emit the event data via debugger*/ - emit debugger->sourceItem(eventData->getText(0), /* name*/ - eventData->getText(1), /* parent file name*/ - eventData->getInt(0) /* parent line number*/); - } - } -} - -void XsldbgEvent::handleParameterItem(XsldbgEventData *eventData, const void *msgData) -{ - if (eventData != 0L){ - if (beenCreated == false){ - /* add our specific data to eventData*/ - if (msgData != 0L){ - parameterItemPtr paramItem = (parameterItemPtr)msgData; - TQString name, value; - - name = XsldbgDebuggerBase::fromUTF8(paramItem->name); - value = XsldbgDebuggerBase::fromUTF8(paramItem->value); - - eventData->setText(0, name); - eventData->setText(1, value); - } - }else{ - /* emit the event data via debugger*/ - emit debugger->parameterItem(eventData->getText(0), /* param name*/ - eventData->getText(1) /* param value*/); - } - } -} - - -void XsldbgEvent::handleCallStackItem(XsldbgEventData *eventData, const void *msgData) -{ - if (eventData != 0L){ - if (beenCreated == false){ - /* add our specific data to eventData*/ - if (msgData != 0L){ - callPointPtr item = (callPointPtr)msgData; - TQString templateName, fileName; - int lineNumber = -1; - - /* template name */ - if (item->info){ - templateName = XsldbgDebuggerBase::fromUTF8(item->info->templateName); - fileName = XsldbgDebuggerBase::fromUTF8FileName(item->info->url); - lineNumber = item->lineNo; - } - - eventData->setText(0, templateName); - eventData->setText(1, fileName); - eventData->setInt(0, lineNumber); - } - }else{ - /* emit the event data via debugger*/ - emit debugger->callStackItem(eventData->getText(0), /* template name*/ - eventData->getText(1), /* fileName */ - eventData->getInt(0) /* line number*/); - } - } -} - - -void XsldbgEvent::handleEntityItem(XsldbgEventData *eventData, const void *msgData) -{ - if (eventData != 0L){ - if (beenCreated == false){ - /* add our specific data to eventData*/ - if (msgData != 0L){ - TQString SystemID, PublicID; - - entityInfoPtr info = (entityInfoPtr)msgData; - SystemID = XsldbgDebuggerBase::fromUTF8FileName(info->SystemID); - PublicID = XsldbgDebuggerBase::fromUTF8(info->PublicID); - - eventData->setText(0, SystemID); - eventData->setText(1, PublicID); - } - }else{ - /* emit the event data via debugger*/ - emit debugger->entityItem(eventData->getText(0), /* SystemID*/ - eventData->getText(1) /* PublicID*/); - } - } -} - - -void XsldbgEvent::handleResolveItem(XsldbgEventData *eventData, const void *msgData) -{ - if (eventData != 0L){ - if (beenCreated == false){ - /* add our specific data to eventData*/ - if (msgData != 0L){ - TQString URI = XsldbgDebuggerBase::fromUTF8FileName((const xmlChar*)msgData); - - eventData->setText(0, URI); - } - }else{ - /* emit the event data via debugger*/ - emit debugger->resolveItem(eventData->getText(0) /* URI */); - } - } -} - - -void XsldbgEvent::handleIntOptionItem(XsldbgEventData *eventData, const void *msgData) -{ - if (eventData != 0L){ - if (beenCreated == false){ - /* add our specific data to eventData*/ - if (msgData != 0L){ - parameterItemPtr paramItem = (parameterItemPtr)msgData; - eventData->setText(0, XsldbgDebuggerBase::fromUTF8(paramItem->name)); - eventData->setInt(0, paramItem->intValue); - } - }else{ - /* emit the event data via debugger*/ - emit debugger->intOptionItem(eventData->getText(0), /* option name*/ - eventData->getInt(0) /* value*/); - } - } -} - - -void XsldbgEvent::handleStringOptionItem(XsldbgEventData *eventData, const void *msgData) -{ - if (eventData != 0L){ - if (beenCreated == false){ - /* add our specific data to eventData*/ - if (msgData != 0L){ - parameterItemPtr paramItem = (parameterItemPtr)msgData; - eventData->setText(0, XsldbgDebuggerBase::fromUTF8(paramItem->name)); - eventData->setText(1, XsldbgDebuggerBase::fromUTF8(paramItem->value)); - } - }else{ - /* emit the event data via debugger*/ - emit debugger->stringOptionItem(eventData->getText(0), /* option name*/ - eventData->getText(1) /* value*/); - } - } -} - - - -void XsldbgEventDataList::deleteItem( TQPtrCollection::Item d ) -{ - if ( del_item ) delete (XsldbgEventData *)d; -} diff --git a/kxsldbg/kxsldbgpart/libtqtnotfier/xsldbgnotifier.cpp b/kxsldbg/kxsldbgpart/libtqtnotfier/xsldbgnotifier.cpp deleted file mode 100644 index d76c6678..00000000 --- a/kxsldbg/kxsldbgpart/libtqtnotfier/xsldbgnotifier.cpp +++ /dev/null @@ -1,33 +0,0 @@ -/*************************************************************************** - xsldbgnotifier.cpp - description - ------------------- - begin : Thu Dec 20 2001 - copyright : (C) 2001 by keith - email : keith@linux - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "../libxsldbg/xsldbgnotifier.h" - -XsldbgNotifier::XsldbgNotifier(void) -{ -} - - -XsldbgNotifier::~XsldbgNotifier(void) -{ -} - - -void XsldbgNotifier::doNotify(XsldbgMessageEnum /*type*/, const void * /*data*/) -{ -} - diff --git a/kxsldbg/kxsldbgpart/libtqtnotfier/xsldbgthread.cpp b/kxsldbg/kxsldbgpart/libtqtnotfier/xsldbgthread.cpp deleted file mode 100644 index d717a1f9..00000000 --- a/kxsldbg/kxsldbgpart/libtqtnotfier/xsldbgthread.cpp +++ /dev/null @@ -1,362 +0,0 @@ -/*************************************************************************** - xsldbgthread.cpp - description - ------------------- - begin : Thu Dec 20 2001 - copyright : (C) 2001 by keith - email : keith@linux - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include <pthread.h> /* need to create/work with process thread */ -#include <errno.h> /* need for EAGAIN */ -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include <stdarg.h> - -#include <libxml/xmlerror.h> - -#include "../libxsldbg/breakpoint.h" -#include "../libxsldbg/xsldbgmsg.h" -#include "../libxsldbg/xsldbgthread.h" -#include "../libxsldbg/qtnotifier2.h" - -#ifdef HAVE_READLINE -#include <readline/readline.h> -#ifdef HAVE_HISTORY -#include <readline/history.h> -#endif -#endif - -#define DEBUG_BUFFER_SIZE 500 - -static char inputBuffer[DEBUG_BUFFER_SIZE]; -static char outputBuffer[DEBUG_BUFFER_SIZE]; - -/*the major structure to hold information about the process thread */ -pthread_t mythread; - -/* The reader for stdout */ -pthread_t stdoutReaderThread; - -FILE *stdoutIO = NULL; - - -/* ----------------------------------------------- - private functions - ---------------------------------------------------*/ - -extern "C" { - -/** - * xsldbgGenericErrorFunc: - * @ctx: Is Valid - * @msg: Is valid - * @...: other parameters to use - * - * Handles print output from xsldbg and passes it to the application - */ -void -xsldbgGenericErrorFunc(void *ctx, const char *msg, ...); -xmlChar * qtXslDbgShellReadline(xmlChar * prompt); - -} - -/* ----------------------------------------------- - end functions - ---------------------------------------------------*/ - -/* setup all application wide items */ -int -xsldbgThreadInit(void) -{ - int result = 0; - fprintf(stderr, "mainInit()\n"); - xsltSetGenericErrorFunc(0, xsldbgGenericErrorFunc); - setThreadStatus(XSLDBG_MSG_THREAD_INIT); - xsldbgSetAppFunc(qtNotifyXsldbgApp); - xsldbgSetAppStateFunc(qtNotifyStateXsldbgApp); - xsldbgSetTextFunc(qtNotifyTextXsldbgApp); - xsldbgSetReadlineFunc(qtXslDbgShellReadline); - - - /* create the thread */ - if (pthread_create(&mythread, NULL, xsldbgThreadMain, NULL) != EAGAIN) { - int counter; - for (counter = 0; counter < 11; counter++){ - if (getThreadStatus() != XSLDBG_MSG_THREAD_INIT) - break; - usleep(250000); /*guess that it will take at most 2.5 seconds to startup */ - } - /* xsldbg should have started by now if it can */ - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN){ - fprintf(stderr, "Created thread\n"); - result++; - }else - fprintf(stderr, "Thread did not start\n"); - } else { - fprintf(stderr, "Failed to create thread\n"); - } - - return result; -} - - -/* tell the thread to stop and free that memory !*/ -void -xsldbgThreadFree(void) -{ - fprintf(stderr, "xsldbgThreadFree()\n"); - if (getThreadStatus() != XSLDBG_MSG_THREAD_DEAD) - { - int counter; - fprintf(stderr, "Killing xsldbg thread\n"); - setThreadStatus(XSLDBG_MSG_THREAD_STOP); - for (counter = 0; counter < 11; counter++){ - if (getThreadStatus() == XSLDBG_MSG_THREAD_DEAD) - break; - usleep(250000); /*guess that it will take at most 2.5 seconds to stop */ - } - } - -} - -const char *getFakeInput() -{ - return inputBuffer; -} - - -/* put text into standard input just like we had typed it */ -int -fakeInput(const char *text) -{ - int result = 0; - - if (!text || (getInputReady() == 1) || (getThreadStatus() != XSLDBG_MSG_THREAD_RUN)) - return result; - - // fprintf(stderr, "\nFaking input of \"%s\"\n", text); - strncpy(inputBuffer, text, sizeof(inputBuffer)); - setInputReady(1); - result++; - return result; -} - - -/* use this function instead of the one that was in debugXSL.c */ -/** - * qtXslDbgShellReadline: - * @prompt: the prompt value - * - * Read a string - * - * Returns a copy of the text inputed or NULL if EOF in stdin found. - * The caller is expected to free the returned string. - */ -xmlChar * -qtXslDbgShellReadline(xmlChar * prompt) -{ - - const char *inputReadBuff; - - static char last_read[DEBUG_BUFFER_SIZE] = { '\0' }; - - if (getThreadStatus() != XSLDBG_MSG_THREAD_RUN) - { -#ifdef HAVE_READLINE - xmlChar *line_read; - - /* Get a line from the user. */ - line_read = (xmlChar *) readline((char *) prompt); - - /* If the line has any text in it, save it on the history. */ - if (line_read && *line_read) { - add_history((char *) line_read); - strncpy((char*)last_read, (char*)line_read, DEBUG_BUFFER_SIZE - 1); - } else { - /* if only <Enter>is pressed then try last saved command line */ - line_read = (xmlChar *) xmlMemStrdup(last_read); - } - return (line_read); -#else - char line_read[DEBUG_BUFFER_SIZE]; - - if (prompt != NULL) - xsltGenericError(xsltGenericErrorContext, "%s", prompt); - if (!fgets(line_read, DEBUG_BUFFER_SIZE - 1, stdin)) - return (NULL); - line_read[DEBUG_BUFFER_SIZE - 1] = 0; - /* if only <Enter>is pressed then try last saved command line */ - if ((strlen(line_read) == 0) || (line_read[0] == '\n')) { - strcpy(line_read, last_read); - } else { - strcpy(last_read, line_read); - } - return (xmlChar *) xmlMemStrdup(line_read); -#endif - - } - else{ - - setInputStatus(XSLDBG_MSG_AWAITING_INPUT); - notifyXsldbgApp(XSLDBG_MSG_AWAITING_INPUT, NULL); - - while (getInputReady() == 0){ - usleep(10000); - /* have we been told to die */ - if (getThreadStatus() == XSLDBG_MSG_THREAD_STOP){ - fprintf(stderr, "About to stop thread\n"); - xslDebugStatus = DEBUG_QUIT; - return NULL; - } - } - - setInputStatus(XSLDBG_MSG_READ_INPUT); - inputReadBuff = getFakeInput(); - if(inputReadBuff){ - notifyXsldbgApp(XSLDBG_MSG_READ_INPUT, inputReadBuff); - return (xmlChar*)xmlMemStrdup(inputReadBuff); - }else{ - return NULL; - } - } -} - - -xsldbgErrorMsg msg; -xsldbgErrorMsgPtr msgPtr = &msg; -xmlChar *msgText = NULL; - -int qtNotifyStateXsldbgApp(XsldbgMessageEnum type, int commandId, - XsldbgCommandStateEnum commandState, const char *text) -{ - int result = 0; - msg.type = type; - msg.commandId = commandId; - msg.commandState = commandState; - if (text != NULL) - { - msg.text = (xmlChar*)xmlMemStrdup(text); - if (msg.text == NULL) - return result; /* out of memory */ - } - else - msg.text = NULL; - - notifyXsldbgApp(XSLDBG_MSG_PROCESSING_RESULT, msgPtr); - if (msg.text != NULL) - { - xmlFree(msg.text); - msg.text = NULL; - } - - result = 1; - return result; -} - - -int qtNotifyTextXsldbgApp(XsldbgMessageEnum type, const char *text) -{ - return qtNotifyStateXsldbgApp(type, -1, XSLDBG_COMMAND_NOTUSED, text); -} - -char mainBuffer[DEBUG_BUFFER_SIZE]; -static void xsldbgThreadCleanupTQt(void); - - -/* this is where the thread get to do all its work */ -void * -xsldbgThreadMain(void *) -{ - // int defaultArgc = 2; - // char *defaultArgv[2]; - // int i; - - if (getThreadStatus() != XSLDBG_MSG_THREAD_INIT){ - fprintf(stderr, "xsldbg thread is not ready to be started. Or one is already running.\n"); - return NULL; /* we can't start more than one thread of xsldbg */ - } - -// defaultArgv[0] = xmlMemStrdup("xsldbg"); -// defaultArgv[1] = xmlMemStrdup("--shell"); - /* - defaultArgv[2] = xmlMemStrdup("xsldoc.xsl"); - defaultArgv[3] = xmlMemStrdup("xsldoc.xml"); - */ -/* for (i = 0; i < defaultArgc; i++){ - if (defaultArgv[i] == NULL){ - fprintf(stderr, "Start thread failed. Unable to create xsldbg arguments\n"); - return NULL; - } - } -*/ - xsldbgSetThreadCleanupFunc(xsldbgThreadCleanupTQt); - setThreadStatus(XSLDBG_MSG_THREAD_RUN); - setInputStatus(XSLDBG_MSG_AWAITING_INPUT); - fprintf(stderr, "Starting thread\n"); - - /* call the "main of xsldbg" found in debugXSL.c */ -// xsldbgMain(defaultArgc, defaultArgv); - xsldbgMain(0,0); - fprintf(stderr, "Stopping thread\n"); -/* - for (i = 0; i < defaultArgc; i++){ - xmlFree(defaultArgv[i]); - } -*/ - - setThreadStatus(XSLDBG_MSG_THREAD_DEAD); - setInputStatus(XSLDBG_MSG_PROCESSING_INPUT); - notifyXsldbgApp(XSLDBG_MSG_THREAD_DEAD, NULL); - return NULL; -} - - - -/* thread has died so cleanup after it not called directly but via - notifyXsldbgApp*/ -void -xsldbgThreadCleanupTQt(void) -{ - fprintf(stderr, "Thread has finished\n"); - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) - { - xsldbgThreadFree(); - } - /* its safe to modify threadStatus as the thread is now dead */ - setThreadStatus(XSLDBG_MSG_THREAD_DEAD); -} - - - -void * -xsldbgThreadStdoutReader(void *data) -{ - if (!stdoutIO) - return data; - - while (getThreadStatus() == XSLDBG_MSG_THREAD_RUN){ - if (fgets(outputBuffer, sizeof(outputBuffer -1), stdoutIO)){ - usleep(10000); - strcat(outputBuffer, "\n"); - notifyTextXsldbgApp(XSLDBG_MSG_TEXTOUT, outputBuffer); - }else{ - fprintf(stderr, "Unable to read from stdout from xsldbg\n"); - break; - } - } - return data; -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/CMakeLists.txt b/kxsldbg/kxsldbgpart/libxsldbg/CMakeLists.txt deleted file mode 100644 index 79160bc0..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -include_directories( - ${CMAKE_BINARY_DIR} - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR} -) - -include_directories( SYSTEM - ${TDE_INCLUDE_DIR} - ${TQT_INCLUDE_DIRS} - ${LIBXML_INCLUDE_DIRS} - ${LIBXSLT_INCLUDE_DIRS} - ${READLINE_INCLUDE_DIRS} -) - -link_directories( - ${TQT_LIBRARY_DIRS} - ${TDE_LIB_DIR} -) - -add_compile_options( ${ICU_CXXFLAGS} ) - -##### xsldbg (static) - -tde_add_library( xsldbg STATIC_PIC AUTOMOC - - SOURCES - allmoc.cpp - xsldbgthread.cpp - xsldbg.cpp - xsldbgmsg.cpp - variable_cmds.cpp - utils.cpp - trace_cmds.cpp - template_cmds.cpp - search_cmds.cpp - search.cpp - param_cmds.cpp - os_cmds.cpp - options_unix.cpp - options.cpp - option_cmds.cpp - nodeview_cmds.cpp - help_unix.cpp - files_unix.cpp - files.cpp - file_cmds.cpp - debug.cpp - callstack.cpp - breakpoint_cmds.cpp - breakpoint.cpp - arraylist.cpp - debugXSL.cpp - LINK - ${LIBXSLT_LIBRARIES} - ${LIBEXSLT_LIBRARIES} - ${READLINE_LIBRARIES} -) diff --git a/kxsldbg/kxsldbgpart/libxsldbg/Makefile.am b/kxsldbg/kxsldbgpart/libxsldbg/Makefile.am deleted file mode 100644 index 330df2f7..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/Makefile.am +++ /dev/null @@ -1,13 +0,0 @@ -noinst_LTLIBRARIES = libxsldbg.la - -libxsldbg_la_METASOURCES = AUTO - -libxsldbg_la_SOURCES = allmoc.cpp xsldbgthread.cpp xsldbg.cpp xsldbgmsg.cpp variable_cmds.cpp utils.cpp trace_cmds.cpp template_cmds.cpp search_cmds.cpp search.cpp param_cmds.cpp os_cmds.cpp options_unix.cpp options.cpp option_cmds.cpp nodeview_cmds.cpp help_unix.cpp files_unix.cpp files.cpp file_cmds.cpp debugXSL.cpp debug.cpp callstack.cpp breakpoint_cmds.cpp breakpoint.cpp arraylist.cpp - -libxsldbg_la_LIBADD = $(LIBXSLT_LIBS) -libxsldbg_la_LDFLAGS = $(all_libraries) - -AM_CPPFLAGS = -DDOCS_PATH=\"$(DOCS_PATH)\" -I.. $(LIBXSLT_CFLAGS) $(all_includes) -CXXFLAGS += $(ICU_CXXFLAGS) - -KDE_OPTIONS= nofinal diff --git a/kxsldbg/kxsldbgpart/libxsldbg/allmoc.cpp b/kxsldbg/kxsldbgpart/libxsldbg/allmoc.cpp deleted file mode 100644 index 41decae4..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/allmoc.cpp +++ /dev/null @@ -1,2 +0,0 @@ -#include "../xsldbgdebugger.h" -#include "qtnotifier2.h" diff --git a/kxsldbg/kxsldbgpart/libxsldbg/arraylist.cpp b/kxsldbg/kxsldbgpart/libxsldbg/arraylist.cpp deleted file mode 100644 index a9de14fe..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/arraylist.cpp +++ /dev/null @@ -1,240 +0,0 @@ - -/*************************************************************************** - arraylist.c - define array implementation of a list - ------------------- - begin : Sat Nov 10 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "arraylist.h" -#include <libxslt/xsltutils.h> - -#ifndef NULL -#define NULL 0 -#endif - -/** - * arrayListNew: - * @initialSize: The initial size of list - * @deleteFunction: The function to call to free items in the list - * - * Create a new list with a size of @initialSize - * - * Returns Non-null on success, - * NULL otherwise - */ -arrayListPtr -arrayListNew(int initialSize, freeItemFunc deleteFunction) -{ - arrayListPtr list = NULL; - - if (initialSize <= 0) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "arrayListNew invalid initialSize %d\n", - initialSize); -#endif - } else - list = (arrayListPtr) xmlMalloc(sizeof(arrayList)); - - if (list) { - list->data = (void **) xmlMalloc(sizeof(void *) * initialSize); - list->deleteFunction = deleteFunction; - list->count = 0; - list->size = initialSize; - } - - return list; -} - - -/** - * arrayListFree: - * @list: A valid list - * - * Free memory assocated with array list, if the array list - * has a valid deleteFunction then content with be freed with - * using that deleteFunction - */ -void -arrayListFree(arrayListPtr list) -{ - if (!list) - return; - - arrayListEmpty(list); - xmlFree(list->data); - xmlFree(list); -} - - -/** - * arrayListEmpty: - * @list: A valid list - * - * Empties the list of its content - * - * Returns 1 on success, - * 0 otherwise - */ -int -arrayListEmpty(arrayListPtr list) -{ - int index, result = 0; - - if (list) { - if (list->deleteFunction) { - for (index = 0; index < list->count; index++) { - if (list->data[index]) - (*list->deleteFunction) (list->data[index]); - } - result = 1; - list->count = 0; - } - } - return result; -} - - -/** - * arrayListSize: - * @list: A valid list - * - * Return The maximum number elements this list can contain - * - * Returns The maximum number elements this list can contain - */ -int -arrayListSize(arrayListPtr list) -{ - int result = 0; - - if (list) - result = list->size; - - return result; -} - - -/** - * arrayListCount: - * @list: A valid list - * - * Return the count of number items in list - * - * Returns The count of number items in list - */ -int -arrayListCount(arrayListPtr list) -{ - int result = 0; - - if (list) - result = list->count; - - return result; -} - - -/** - * arrayListAdd: - * @list: A valid list - * @item: A valid list - * - * Add @item to @list - * - * Returns 1 if able to add @item to end of @list, - * 0 otherwise - */ -int -arrayListAdd(arrayListPtr list, void *item) -{ - int result = 0; - - if (list && item) { - if (list->count + 1 > list->size) { - /* grow the size of data */ - void **temp; - int newSize, index; - - if (list->size < DOUBLE_SIZE_MAX_ITEM) - newSize = list->size * 2; - else - newSize = (int) (list->size * 1.5); - temp = (void **) xmlMalloc(sizeof(void *) * newSize); - for (index = 0; index < list->count; index++) { - temp[index] = list->data[index]; - } - xmlFree(list->data); - list->data = temp; - list->size = newSize; - } - list->data[list->count++] = item; - result = 1; - } - return result; -} - - -/** - * arrayListDelete: - * @list: A valid list - * @position: 0 =< @position < arrayListCount(@list) - * - * Delete item at position @position from @list - * - * Returns 1 if able to delete element in @list at position @position, - * 0 otherwise - */ -int -arrayListDelete(arrayListPtr list, int position) -{ - int result = 0, index; - - if (list && (list->count > 0) && (position >= 0) && - (position < list->count) && list->data[position]) { - if (list->deleteFunction) - (*list->deleteFunction) (list->data[position]); - - /* shuffle all elements upwards */ - for (index = position; index < (list->count - 1); index++) { - list->data[index] = list->data[index + 1]; - } - list->count--; - result = 1; - } - return result; -} - - - -/** - * arrayListGet: - * @list: A valid list - * @position: 0 =< @position < arrayListCount(@list) - * - * Get item at position @position from @list - * - * Returns Non-null if able to retrieve element in @list at position @position, - * NULL otherwise - */ -void * -arrayListGet(arrayListPtr list, int position) -{ - void *result = NULL; - - if (list && (position >= 0) && (position < list->count)) { - result = list->data[position]; - } - return result; -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/arraylist.h b/kxsldbg/kxsldbgpart/libxsldbg/arraylist.h deleted file mode 100644 index f6256429..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/arraylist.h +++ /dev/null @@ -1,295 +0,0 @@ - -/************************************************************************** - arraylist.h - declare the functions for - implementation of the array list - ------------------- - begin : Sat Nov 10 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - **************************************************************************/ - -/************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - **************************************************************************/ - -#ifndef ARRAYLIST_H -#define ARRAYLIST_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifdef USE_KDE_DOCS - -/** - * Provide a fast easy to use array list. Support the basic functions of add - * delete, empty, count, free - * - * @short Array list support - * - * @author Keith Isdale <k_isdale@tpg.com.au> - */ -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef USE_GNOME_DOCS - -#else -#ifdef USE_KDE_DOCS - -#endif -#endif - - - typedef void (*freeItemFunc) (void *item); - /* A dynamic structure behave like a list */ - typedef struct _arrayList arrayList; - typedef arrayList *arrayListPtr; - struct _arrayList { - int size, count; - void **data; - freeItemFunc deleteFunction; - }; - -/* what size of the list do we stop automatic doubling of capacity - if array list size growth is needed */ -#define DOUBLE_SIZE_MAX_ITEM 10 - - - -#ifdef USE_GNOME_DOCS - -/** - * arrayListNew: - * @initialSize: The initial size of list - * @deleteFunction: The function to call to free items in the list - * - * Create a new list with a size of @initialSize - * - * Returns Non-null on success, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Create a new list with a size of @p initialSize - * - * @returns Non-null on success, - * NULL otherwise - * - * @param initial The initial size of list - * @param deleteFunction the Function to call to free items in the list - */ -#endif -#endif - arrayListPtr arrayListNew(int initialSize, - freeItemFunc deleteFunction); - - - -#ifdef USE_GNOME_DOCS - -/** - * arrayListFree: - * @list: A valid list - * - * Free memory assocated with array list, if the array list - * has a valid deleteFunction then content with be freed with - * using that deleteFunction - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Free memory assocated with array list, if the array list - * has a valid deleteFunction then content with be freed with - * using that deleteFunction - * - * @param list A valid list - */ -#endif -#endif - void arrayListFree(arrayListPtr list); - - - -#ifdef USE_GNOME_DOCS - -/** - * arrayListEmpty: - * @list: A valid list - * - * Empties the list of its content - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Empties the list of its content - * - * @returns 1 on success, - * 0 otherwise - * - * @param list A valid list - */ -#endif -#endif - int arrayListEmpty(arrayListPtr list); - - - -#ifdef USE_GNOME_DOCS - -/** - * arrayListSize: - * @list: A valid list - * - * Return The maximum number elements this list can contain - * - * Returns The maximum number elements this list can contain - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Return the maximum number elements this list can contain - * - * @returns The maximum number elements this list can contain - * - * @param list A valid list - */ -#endif -#endif - int arrayListSize(arrayListPtr list); - - - -#ifdef USE_GNOME_DOCS - -/** - * arrayListCount: - * @list: A valid list - * - * Return the count of number items in list - * - * Returns The count of number items in list - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Return the count of number items in list - * @returns The count of number items in list - * - * @param list A valid list - */ -#endif -#endif - - int arrayListCount(arrayListPtr list); - - - -#ifdef USE_GNOME_DOCS - -/** - * arrayListAdd: - * @list: A valid list - * @item:A valid item - * - * Add @item to @list - * - * Returns 1 if able to add @item to end of @list, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Add @p item to @p list - * - * @returns 1 if able to add @p item to end of @p list, - * 0 otherwise - * - * @param list A valid list - * @param item A valid item - */ -#endif -#endif - int arrayListAdd(arrayListPtr list, void *item); - - - -#ifdef USE_GNOME_DOCS - -/** - * arrayListDelete: - * @list: A valid list - * @position: 0 =< @position < arrayListCount(@list) - * - * Delete item at position @position from @list - * - * Returns 1 if able to delete element in @list at position @position, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * @returns 1 if able to delete element in @p list at position @p position, - * 0 otherwise - * - * @param list A valid list - * @param position 0 =< @p position < arrayListCount(@p list) - */ -#endif -#endif - int arrayListDelete(arrayListPtr list, int position); - - - -#ifdef USE_GNOME_DOCS - -/** - * arrayListGet: - * @list: A valid list - * @position: 0 =< @position < arrayListCount(@list) - * - * Get item at position @position from @list - * - * Returns Non-null if able to retrieve element in @list at position - * @position, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * @returns Non-null if able to retrieve element in @p list at position - * @p position, - * NULL otherwise - * - * @param list A valid list - * @param position 0 =< @p position < arrayListCount(@p list) - */ -#endif -#endif - void *arrayListGet(arrayListPtr list, int position); - - -#ifdef __cplusplus -} -#endif -#endif diff --git a/kxsldbg/kxsldbgpart/libxsldbg/breakpoint.cpp b/kxsldbg/kxsldbgpart/libxsldbg/breakpoint.cpp deleted file mode 100644 index 56a3ad20..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/breakpoint.cpp +++ /dev/null @@ -1,700 +0,0 @@ - -/*************************************************************************** - breakpoint.c - breakpoint implementation - ------------------- - begin : Fri Nov 2 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -#include "xsldbg.h" -#include "breakpoint.h" -#include "arraylist.h" -#include "options.h" - -extern int xsldbgValidateBreakpoints; /*located in debugXSL.c*/ - -/*----------------------------------------------------------- - Private functions ------------------------------------------------------------*/ - -/** - * lineNoItemNew: - * - * Returns a new hash table for break points - */ -xmlHashTablePtr lineNoItemNew(void); - - -/** - * lineNoItemFree: - * @item: valid hashtable of break points - * - * Free @item and all its contents - */ -void lineNoItemFree(void *item); - - -/** - * lineNoItemDelete: - * @breakPointHash: Is valid - * @breakPtr: Is valid - * - * Returns 1 if able to delete @breakPtr from @breakPointHash, - * 0 otherwise - */ -int lineNoItemDelete(xmlHashTablePtr breakPointHash, - breakPointPtr breakPtr); - -/** - * lineNoItemAdd: - * @breakPointHash: is valid - * @breakPtr: is valid - * - * Add breakpoint to hash - * - * Returns 1 if able to add @breakPtr to @breakPointHash, - * 0 otherwise - */ -int lineNoItemAdd(xmlHashTablePtr breakPointHash, breakPointPtr breakPtr); - -/*----------------------------------------------------------- - Breakpoint debugger functions ------------------------------------------------------------*/ - - -/* This is our major structure, it is a list of hash tables. Each - hash table has breakpoints with the same line number. A line - number is used as an index into this list to get the right hash table. - Then its just a matter of a simple hash table lookup */ -arrayListPtr breakList; - -/* keep track of what break point id we're up to*/ -int breakPointCounter = 0; - -/* What is the current breakpoint is only valid up to the start of - xsldbg command prompt. ie don't use it after deletion of breakpoints */ -breakPointPtr activeBreakPointItem = NULL; - - -/** - * lineNoItemNew: - * - * Returns a new hash table for break points - */ -xmlHashTablePtr -lineNoItemNew(void) -{ - xmlHashTablePtr hash; - - hash = xmlHashCreate(4); - - return hash; -} - - -/** - * lineNoItemFree: - * @item: valid hashtable of break points - * - * Free @item and all its contents - */ -void -lineNoItemFree(void *item) -{ - xmlHashTablePtr hash = (xmlHashTablePtr) item; - - if (item) { -#if 0 -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Freeing breakpoint line hash" - " with %d elements \n", xmlHashSize(item)); -#endif -#endif - xmlHashFree(hash, breakPointItemFree); - } -} - - -/** - * lineNoItemDelete: - * @breakPointHash: is valid - * @breakPtr: is valid - * - * Returns 1 if able to delete @breakPtr from @breakPointHash, - * 0 otherwise - */ -int -lineNoItemDelete(xmlHashTablePtr breakPointHash, breakPointPtr breakPtr) -{ - int result = 0; - - if (breakPointHash && breakPtr) { - if (xmlHashRemoveEntry(breakPointHash, breakPtr->url, - breakPointItemFree) == 0){ - result = 1; - }else{ -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext,"lineNoItemDelete failed"); -#endif - } - - }else { -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, "lineNoItemDelete failed args %d %d", breakPointHash, breakPtr); -#endif - } - return result; -} - - -/** - * lineNoItemAdd: - * @breakPointHash: is valid - * @breakPtr: is valid - * - * Returns 1 if able to add @breakPtr to @breakPointHash, - * 0 otherwise - */ -int -lineNoItemAdd(xmlHashTablePtr breakPointHash, breakPointPtr breakPtr) -{ - int result = 0; - - if (breakPointHash && breakPtr) { - if (xmlHashAddEntry(breakPointHash, breakPtr->url, breakPtr) == 0) - result = 1; - } - return result; -} - -/** - * breakPointGetLineNoHash: - * @lineNo: Line number of of breakpoints of interest - * - * Return A hash of breakpoints with same line number - * - * Returns A hash of breakpoints with a line number of @lineNo - */ -xmlHashTablePtr -breakPointGetLineNoHash(long lineNo) -{ - if (!breakList) { -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Error: Breakpoints structures not initialized\n"); -#endif - return NULL; - } else - return (xmlHashTablePtr) arrayListGet(breakList, lineNo); -} - - -/** - * breakPointInit: - * - * Returns 1 if breakpoints have been initialized properly and all - * memory required has been obtained, - * 0 otherwise -*/ -int -breakPointInit(void) -{ - int result = 0; - - /* the average file has 395 lines of code so add 100 lines now */ - breakList = arrayListNew(100, lineNoItemFree); - if (breakList) { - /* - * We don't need to do any thing else, as its done when we add the - * breakPoints - */ - result = 1; - } else { -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Unable to intialize breakPoints: memory error\n"); -#endif - } - return result; -} - - -/** - * breakPointFree: - * - * Free all memory used by breakPoints - */ -void -breakPointFree(void) -{ - if (breakList) - arrayListFree(breakList); - breakList = NULL; -} - - -/** - * breakPointEmpty: - * - * Empty the break point collection - * - * Returns 1 if able to empty the breakpoint list of its contents, - * 0 otherwise - */ -int -breakPointEmpty(void) -{ - return arrayListEmpty(breakList); -} - - -/** - * breakPointItemNew: - * - * Create a new break point item - * Returns valid break point with default values set if successful, - * NULL otherwise - */ -breakPointPtr -breakPointItemNew(void) -{ - breakPointPtr breakPtr = (breakPointPtr) xmlMalloc(sizeof(breakPoint)); - - if (breakPtr) { - breakPtr->url = NULL; - breakPtr->lineNo = -1; - breakPtr->templateName = NULL; - breakPtr->modeName = NULL; - breakPtr->flags = BREAKPOINT_ENABLED; - breakPtr->id = ++breakPointCounter; - breakPtr->type = DEBUG_BREAK_SOURCE; - } - return breakPtr; -} - - -/** - * breakPointItemFree: - * @payload: valid breakPointPtr - * @name: not used - * - * Free memory associated with this break point - */ -void -#if LIBXML_VERSION >= 20908 -breakPointItemFree(void *payload, const xmlChar * name) -#else -breakPointItemFree(void *payload, xmlChar * name) -#endif -{ - Q_UNUSED(name); - if (payload) { - breakPointPtr breakPtr = (breakPointPtr) payload; - - if (breakPtr->url) - xmlFree(breakPtr->url); - if (breakPtr->templateName) - xmlFree(breakPtr->templateName); - if (breakPtr->modeName) - xmlFree(breakPtr->modeName); - xmlFree(breakPtr); - } -} - - -/** - * breakPointActiveBreakPoint: - * - * Get the active break point - * - * Returns The last break point that we stoped at - * - * Depreciated - */ -breakPointPtr -breakPointActiveBreakPoint(void) -{ - /* This function is depreciated */ - return NULL; /* activeBreakPointItem; */ -} - - - -/** - * breakPointSetActiveBreakPoint: - * @breakPtr: Is valid break point or NULL - * - * Set the active break point - * - * Depreciated - */ -void -breakPointSetActiveBreakPoint(breakPointPtr breakPtr) -{ - Q_UNUSED(breakPtr); - /* - * activeBreakPointItem = breakPtr; - */ - -} - - -/** - * breakPointAdd: - * @url: Non-null, non-empty file name that has been loaded by - * debugger - * @lineNumber: @lineNumber >= 0 and is available in url specified and - * points to an xml element - * @templateName: The template name of breakPoint or NULL - * @modeName : The mode of breakpoint or NULL - * @type: Valid BreakPointTypeEnum - * - * Add break point at file and line number specified - * - * Returns 1 if successful, - * 0 otherwise -*/ -int -breakPointAdd(const xmlChar * url, long lineNumber, - const xmlChar * templateName, - const xmlChar * modeName, - BreakPointTypeEnum type) -{ - int result = 0, breakPointType = type; - xmlHashTablePtr breakPointHash = NULL; /* hash of breakPoints */ - breakPointPtr breakPtr; - - if (!breakList) { -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Error: Breakpoints structures not initialized\n"); -#endif - return result; - } - - if (!url || (lineNumber == -1)) { -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Error: Invalid url or line number to breakPointAdd\n"); -#endif - return result; - } - - /* if breakpoint already exists then don;t add it */ - if (breakPointIsPresent(url, lineNumber)) { -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Warning: Breakpoint at file %s: line %d exists\n", - url, lineNumber); -#endif - return result; - } - - breakPtr = breakPointItemNew(); - if (breakPtr) { - breakPtr->url = (xmlChar *) xmlMemStrdup((char *) url); - breakPtr->lineNo = lineNumber; - if (templateName) - breakPtr->templateName = - xmlStrdup( templateName); - else - breakPtr->templateName = NULL; - if (modeName) - breakPtr->modeName = - xmlStrdup(modeName); - else - breakPtr->modeName = NULL; - breakPtr->type = BreakPointTypeEnum(breakPointType); - - /* add new breakPoint to the right hash table */ - breakPointHash = breakPointGetLineNoHash(lineNumber); - if (breakPointHash) { - result = lineNoItemAdd(breakPointHash, breakPtr); - } else { - /* Grow breakList size */ - int lineIndex; - int newEntries = breakList->count; - xmlHashTablePtr hash; - - result = 1; - if ((lineNumber < breakList->count) && breakList->count) { -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Error: Unable to find breakpoint line hash at %d\n", - lineNumber); -#endif - } else { - if (breakList->count + newEntries < lineNumber) - newEntries = lineNumber - breakList->count + 1; - - -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - /* - * xsltGenericError(xsltGenericErrorContext, - * "Size of line list was %d adding %d entries\n", - * breakList->count, newEntries); - */ -#endif - lineIndex = 0; - while ((lineIndex < newEntries) && result) { - hash = lineNoItemNew(); - if (hash) { - result = result && arrayListAdd(breakList, hash); - } else { - result = 0; -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Error: Unable to create hash table breakPoint list: memory error\n"); -#endif - return result; - } - lineIndex++; - } - /* find the newly added hashtable of breakpoints */ - breakPointHash = breakPointGetLineNoHash(lineNumber); - if (breakPointHash) { - result = lineNoItemAdd(breakPointHash, breakPtr); - } else { -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Error: Unable to create new breakPoint:interal error\n"); -#endif - return result; - } - } - - } - } else { -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Error: Unable to create new breakPoint: memory error\n"); -#endif - } - - if (result && (optionsGetIntOption(OPTIONS_GDB) > 1) && - (xsldbgValidateBreakpoints != BREAKPOINTS_BEING_VALIDATED)){ - breakPointPrint(breakPtr); - xsldbgGenericErrorFunc("\n"); - } - return result; -} - - -/** - * breakPointDelete: - * @breakPtr: Is valid - * - * Delete the break point specified if it can be found using - * @breakPoint's url and lineNo - * - * Returns 1 if successful, - * 0 otherwise -*/ -int -breakPointDelete(breakPointPtr breakPtr) -{ - int result = 0; - xmlHashTablePtr breakPointHash; /* hash of breakPoints */ - - if (!breakPtr) - return result; - - breakPointHash = breakPointGetLineNoHash(breakPtr->lineNo); - if (breakPointHash) { - result = lineNoItemDelete(breakPointHash, breakPtr); - } else { -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Error: Breakpoint not found: xslDeleteBreakPoint\n"); -#endif - } - return result; -} - - -/** - * breakPointEnable: - * @breakPtr: A valid breakpoint - * @enable: Enable break point if 1, disable if 0, toggle if -1 - * - * Enable or disable a break point - * - * Returns 1 if successful, - * 0 otherwise -*/ -int -breakPointEnable(breakPointPtr breakPtr, int enable) -{ - int result = 0; - - if (breakPtr) { - int enableFlag = 1; - if (enable != XSL_TOGGLE_BREAKPOINT){ - enableFlag = enable; - }else { - if (breakPtr->flags & BREAKPOINT_ENABLED) - enableFlag = 0; - } - if (enableFlag) - breakPtr->flags |= BREAKPOINT_ENABLED; - else - breakPtr->flags = breakPtr->flags & (BREAKPOINT_ALLFLAGS ^ BREAKPOINT_ENABLED); - result = 1; - } - return result; -} - - -/** - * breakPointLinesCount: - * - * Return the number of hash tables of break points with the same line number - * - * Returns The number of hash tables of break points with the same line number - */ -int -breakPointLinesCount(void) -{ - if (!breakList) { -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Error: Breakpoints structures not initialized\n"); -#endif - return 0; - } else - return arrayListCount(breakList); -} - - -/** - * breakPointLinesList: - * - * Returns The list of hash tables for break points - * Dangerous function to use!! - */ -arrayListPtr -breakPointLineList(void) -{ - return breakList; -} - - -/** - * breakPointGet: - * @url: Non-null, non-empty file name that has been loaded by - * debugger - * @lineNumber: lineNumber >= 0 and is available in @url - * - * Get a break point for the breakpoint collection - * - * Returns break point if break point exists at location specified, - * NULL otherwise -*/ -breakPointPtr -breakPointGet(const xmlChar * url, long lineNumber) -{ - xmlHashTablePtr breakHash = breakPointGetLineNoHash(lineNumber); - breakPointPtr breakPtr = NULL; - - if (!breakHash || !url) - return breakPtr; - - breakPtr = (breakPointPtr)xmlHashLookup(breakHash, url); - return breakPtr; -} - - -/** - * breakPointPrint: - * @breakPtr: A valid break point - * - * Print the details of @breakPtr - * - * Returns 1 if successful, - * 0 otherwise - */ -int -breakPointPrint(breakPointPtr breakPtr) -{ - int result = 0; - const char *breakStatusText[2] = { - I18N_NOOP("disabled"), - I18N_NOOP("enabled") - }; - const char *breakTemplate=""; - const char *breakMode = ""; - const char *breakStatus; - - - if (!breakPtr) - return result; - - if (breakPtr->templateName){ - if (breakPtr->modeName) - breakMode = (const char*)breakPtr->modeName; - breakTemplate = (const char*)breakPtr->templateName; - } - - - breakStatus = breakStatusText[breakPtr->flags & BREAKPOINT_ENABLED]; - if (breakPtr->url) - xsldbgGenericErrorFunc(i18n("Breakpoint %1 %2 for template: \"%3\" mode: \"%4\" in file \"%5\" at line %6").arg(breakPtr->id).arg(i18n(breakStatus)).arg(xsldbgText(breakTemplate)).arg(xsldbgText(breakMode)).arg(xsldbgUrl(breakPtr->url)).arg(breakPtr->lineNo)); - else - xsldbgGenericErrorFunc(i18n("Breakpoint %1 %2 for template: \"%3\" mode: \"%4\"").arg(breakPtr->id).arg(i18n(breakStatus)).arg(xsldbgText(breakTemplate)).arg(xsldbgText(breakMode))); - return ++result; -} - - -/** - * breakPointIsPresent: - * @url: Non-null, non-empty file name that has been loaded by - * debugger - * @lineNumber: @lineNumber >= 0 and is available in @url - * - * Determine if there is a break point at file and line number specified - * - * Returns 1 if successful, - * 0 otherwise -*/ -int -breakPointIsPresent(const xmlChar * url, long lineNumber) -{ - int result = 0; - - if (!url || (lineNumber == -1)) - return result; - - result = (breakPointGet(url, lineNumber) != NULL); - - return result; -} - - -/** - * breakPointIsPresentNode: - * @node: node != NULL - * - * Determine if a node is a break point - * - * Returns 1 on success, - * 0 otherwise - */ -int -breakPointIsPresentNode(xmlNodePtr node) -{ - int result = 0; - - if (!node || !node->doc) - return result; - - if (xmlGetLineNo(node) == -1) - return result; - - if (node->doc->URL) { - result = breakPointIsPresent(node->doc->URL, xmlGetLineNo(node)); - } - - return result; -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/breakpoint.h b/kxsldbg/kxsldbgpart/libxsldbg/breakpoint.h deleted file mode 100644 index 09002c9c..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/breakpoint.h +++ /dev/null @@ -1,641 +0,0 @@ - -/************************************************************************** - breakpoint.h - public functions for the - breakpoint API - ------------------- - begin : Fri Dec 7 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - **************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - **************************************************************************/ - - -#ifndef XSLBREAKPOINT_H -#define XSLBREAKPOINT_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifdef USE_KDE_DOCS - -/** - * Provide a basic break point support - * - * @short break point support - * - * @author Keith Isdale <k_isdale@tpg.com.au> - */ -#endif - -#ifndef BUILD_DOCS -#include <libxml/tree.h> -#include <libxml/xpath.h> -#include <libxslt/xsltInternals.h> -#include <libxslt/xsltutils.h> - -#include "arraylist.h" -#endif /* BUILD_DOCS */ - -#ifdef __cplusplus -extern "C" { -#endif - - /* indicate that we are to toggle a breakpoint , used for enableBreakPoint */ -#define XSL_TOGGLE_BREAKPOINT -1 - - /* Define the types of status whilst debugging */ -#ifndef USE_KDOC - typedef enum { - DEBUG_NONE = 0, /* must start at zero!! */ - DEBUG_INIT, - DEBUG_STEP, - DEBUG_STEPUP, - DEBUG_STEPDOWN, - DEBUG_NEXT, - DEBUG_STOP, - DEBUG_CONT, - DEBUG_RUN, - DEBUG_RUN_RESTART, - DEBUG_QUIT, - DEBUG_TRACE, - DEBUG_WALK - } DebugStatusEnum; - - - typedef enum { - DEBUG_BREAK_SOURCE = 300, - DEBUG_BREAK_DATA - } BreakPointTypeEnum; - - -/*Indicate what type of variable to print out. - Is used by print_variable and searching functions */ - typedef enum { - DEBUG_GLOBAL_VAR = 200, /* pick a unique starting point */ - DEBUG_LOCAL_VAR, - DEBUG_ANY_VAR - } VariableTypeEnum; - -/*What type of flags can breakpoints have */ - typedef enum { - BREAKPOINT_ENABLED = 1, - BREAKPOINT_ORPHANED = 2, - BREAKPOINT_ALLFLAGS = 255 - } BreakPointFlags; - -/*What state of breakpoint validation can we be in */ - typedef enum { - BREAKPOINTS_ARE_VALID, - BREAKPOINTS_NEED_VALIDATION, - BREAKPOINTS_BEING_VALIDATED - } BreakPointValidationStates; -#else - /* keep kdoc happy */ - enum DebugStatusEnum { - DEBUG_NONE = 0, /* must start at zero!! */ - DEBUG_INIT, - DEBUG_STEP, - DEBUG_STEPUP, - DEBUG_STEPDOWN, - DEBUG_NEXT, - DEBUG_STOP, - DEBUG_CONT, - DEBUG_RUN, - DEBUG_RUN_RESTART, - DEBUG_QUIT, - DEBUG_TRACE, - DEBUG_WALK - }; - - - enum BreakPointTypeEnum { - DEBUG_BREAK_SOURCE = 300, - DEBUG_BREAK_DATA - }; - - -/*Indicate what type of variable to print out. - Is used by print_variable and searching functions */ - enum VariableTypeEnum { - DEBUG_GLOBAL_VAR = 200, /* pick a unique starting point */ - DEBUG_LOCAL_VAR, - DEBUG_ANY_VAR - } VariableTypeEnum; - -/*What type of flags can breakpoints have */ - enum BreakPointFlags { - BREAKPOINT_ENABLED = 1, - BREAKPOINT_ORPHANED = 2, - BREAKPOINT_ALLFLAGS = 255 - } BreakPointFlags; - -/*What state of breakpoint validation can we be in */ - enum BreakPointValidationStates { - BREAKPOINTS_ARE_VALID, - BREAKPOINTS_NEED_VALIDATION, - BREAKPOINTS_BEING_VALIDATED - } BreakPointValidationStates; -#endif - - /* The main structure for holding breakpoints */ - typedef struct _breakPoint breakPoint; - typedef breakPoint *breakPointPtr; - struct _breakPoint { - xmlChar *url; - long lineNo; - xmlChar *templateName, *modeName; - int flags; - BreakPointTypeEnum type; - int id; - }; - - -#ifdef USE_GNOME_DOCS - -/** - * breakPointInit: - * - * Intialized the breakpoint module - * - * Returns 1 if breakpoint module haas been initialized properly and all - * memory required has been obtained, - * 0 otherwise -*/ -#else -#ifdef USE_KDE_DOCS - -/** - * Intialized the breakpoint module - * - * @returns 1 if breakpoint module has been initialized properly and all - * memory required has been obtained, - * 0 otherwise -*/ -#endif -#endif - int breakPointInit(void); - - - -#ifdef USE_GNOME_DOCS - -/** - * breakPointFree: - * - * Free all memory used by breakpoint module - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Free all memory used by breakpoint module - */ -#endif -#endif - void breakPointFree(void); - - - -#ifdef USE_GNOME_DOCS - -/** - * breakPointActiveBreakPoint: - * - * Get the active break point - * - * Returns the last break point that we stoped at - * - * Depreciated - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Get the active break point - * - * @returns The last break point that we stoped at - * - * Depreciated - */ -#endif -#endif - breakPointPtr breakPointActiveBreakPoint(void); - - - -#ifdef USE_GNOME_DOCS - -/** - * breakPointSetActiveBreakPoint: - * @breakPtr: Is valid break point or NULL - * - * Set the active break point - * - * Depreciated - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Set the active break point - * - * @param breakPoint Is valid break point or NULL - * - * Depreciated - */ -#endif -#endif - void breakPointSetActiveBreakPoint(breakPointPtr breakPtr); - - - -#ifdef USE_GNOME_DOCS - -/** - * breakPointAdd: - * @url: Non-null, non-empty file name that has been loaded by - * debugger - * @lineNumber: @lineNumber >= 0 and is available in url specified and - * points to an xml element - * @templateName: The template name of breakPoint or NULL - * @modeName : The mode of breakpoint or NULL - * @type: Valid BreakPointTypeEnum - * - * Add break point at file and line number specified - * - * Returns 1 if successful, - * 0 otherwise -*/ -#else -#ifdef USE_KDE_DOCS - -/** - * Add break point at file and line number specified - * - * @returns 1 if successful, - * 0 otherwise - * - * @param url Non-null, non-empty file name that has been loaded by - * debugger - * @param lineNumber @p lineNumber >= 0 and is available in url specified and - * points to an xml element - * @param temlateName The template name of break point or NULL - * @param modeName : The mode of breakpoint or NULL - * @param type Valid BreakPointTypeEnum -*/ -#endif -#endif - int breakPointAdd(const xmlChar * url, long lineNumber, - const xmlChar * templateName, - const xmlChar * modeName, - BreakPointTypeEnum type); - - - -#ifdef USE_GNOME_DOCS - -/** - * breakPointDelete: - * @breakPtr: Is valid - * - * Delete the break point specified if it can be found using - * @breakPoint's url and lineNo - * - * Returns 1 if successful, - * 0 otherwise -*/ -#else -#ifdef USE_KDE_DOCS - -/** - * Delete the break point specified if it can be found using - * @p breakPtr's url and lineNo - * - * @returns 1 if successful, - * 0 otherwise - * - * @param breakPoint Is valid - * -*/ -#endif -#endif - int breakPointDelete(breakPointPtr breakPtr); - - - -#ifdef USE_GNOME_DOCS - -/** - * breakPointEmpty: - * - * Empty the break point collection - * - * Returns 1 if able to empty the breakpoint list of its contents, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Empty the break point collection - * - * @returns 1 if able to empty the break point list of its contents, - * 0 otherwise - */ -#endif -#endif - int breakPointEmpty(void); - - - -#ifdef USE_GNOME_DOCS - -/** - * breakPointEnable: - * @breakPtr: A valid breakpoint - * @enable: Enable break point if 1, disable if 0, toggle if -1 - * - * Enable or disable a break point - * - * Returns 1 if successful, - * 0 otherwise -*/ -#else -#ifdef USE_KDE_DOCS - -/** - * Enable or disable a break point - * - * @returns 1 if successful, - * 0 otherwise - * - * @param breakPoint A valid breakpoint - * @param enable Enable break point if 1, disable if 0, toggle if -1 -*/ -#endif -#endif - int breakPointEnable(breakPointPtr breakPtr, int enable); - - - -#ifdef USE_GNOME_DOCS - -/** - * breakPointGet: - * @url: Non-null, non-empty file name that has been loaded by - * debugger - * @lineNumber: lineNumber >= 0 and is available in @url - * - * Get a break point for the breakpoint collection - * - * Returns break point if break point exists at location specified, - * NULL otherwise -*/ -#else -#ifdef USE_KDE_DOCS - -/** - * Get a break point for the breakpoint collection - * - * @returns break point if break point exists at location specified, - * NULL otherwise - * - * @param url Non-null, non-empty file name that has been loaded by - * debugger - * @param lineNumber @p lineNumber >= 0 and is available in url specified -*/ -#endif -#endif - breakPointPtr breakPointGet(const xmlChar * url, long lineNumber); - - - -#ifdef USE_GNOME_DOCS - -/** - * breakPointGetLineNoHash: - * @lineNo: Line number of of breakpoints of interest - * - * Return A hash of breakpoints with same line number - * - * Returns A hash of breakpoints with a line number of @lineNo - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Return A hash of breakpoints with same line number - * - * @param lineNo : Line number of of breakpoints of interest - * - * @returns A hash of breakpoints with a line number of @p lineNo - */ -#endif -#endif - xmlHashTablePtr breakPointGetLineNoHash(long lineNo); - - - -#ifdef USE_GNOME_DOCS - -/** - * breakPointItemNew: - * - * Create a new break point item - * Returns A valid break point with default values set if successful, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Create a new break point item - * - * @returns A valid break point with default values set if successful, - * NULL otherwise - */ -#endif -#endif - breakPointPtr breakPointItemNew(void); - - - -#ifdef USE_GNOME_DOCS - -/** - * breakPointItemFree: - * @payload: valid breakPointPtr - * @name: not used - * - * Free memory associated with this break point - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Free memory associated with this break point - * - * @param payload Valid breakPointPtr - * @param name not used - * - */ -#endif -#endif -#if LIBXML_VERSION >= 20908 - void breakPointItemFree(void *payload, const xmlChar * name); -#else - void breakPointItemFree(void *payload, xmlChar * name); -#endif - - - -#ifdef USE_GNOME_DOCS - -/** - * breakPointLinesCount: - * - * Return the number of hash tables of break points with the same line number - * - * Returns the number of hash tables of break points with the same line number - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Return the number of hash tables of break points with the same line number - * - * @returns the number of hash tables of break points with the same line number - */ -#endif -#endif - int breakPointLinesCount(void); - - - -#ifdef USE_GNOME_DOCS - -/** - * breakPointPrint: - * @breakPtr: A valid break point - * - * Print the details of @breakPtr to @file - * - * Returns 1 if successful, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Print the details of @p breakPtr to @p file - * - * @returns 1 if successful, - * 0 otherwise - * - * @param breakPoint A valid break point - */ -#endif -#endif - int breakPointPrint(breakPointPtr breakPtr); - - - -#ifdef USE_GNOME_DOCS - -/** - * breakPointIsPresent: - * @url: Non-null, non-empty file name that has been loaded by - * debugger - * @lineNumber: @lineNumber >= 0 and is available in @url - * - * Determine if there is a break point at file and line number specified - * - * Returns 1 if successful, - * 0 otherwise -*/ -#else -#ifdef USE_KDE_DOCS - -/** - * Determine if there is a break point at file and line number specified - * - * @returns 1 if successful, - * 0 otherwise - * - * @param url Non-null, non-empty file name that has been loaded by - * debugger - * @lineNumber @p lineNumber >= 0 and is available in url specified -*/ -#endif -#endif - int breakPointIsPresent(const xmlChar * url, long lineNumber); - - - -#ifdef USE_GNOME_DOCS - -/** - * breakPointIsPresentNode: - * @node: node != NULL - * - * Determine if a node is a break point - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Determine if a node is a break point - * - * @returns 1 on success, - * 0 otherwise - * - * @param node Is valid - */ -#endif -#endif - int breakPointIsPresentNode(xmlNodePtr node); - - - -#ifdef USE_GNOME_DOCS - -/** - * breakPointLinesList: - * - * Return The list of hash tables for break points - * Dangerous function to use!! - * - * Returns The list of hash tables for break points - * Dangerous function to use!! - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Return The list of hash tables for break points - * Dangerous function to use!! - * - * Returns The list of hash tables for break points - * Dangerous function to use!! - */ -#endif -#endif - arrayListPtr breakPointLineList(void); - - -#ifdef __cplusplus -} -#endif -#endif diff --git a/kxsldbg/kxsldbgpart/libxsldbg/breakpoint_cmds.cpp b/kxsldbg/kxsldbgpart/libxsldbg/breakpoint_cmds.cpp deleted file mode 100644 index a757c143..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/breakpoint_cmds.cpp +++ /dev/null @@ -1,1036 +0,0 @@ - -/*************************************************************************** - breakpoint_cmds.c - breakpoint commands for xsldbg - ------------------- - begin : Wed Nov 21 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "xsldbg.h" -#include "debugXSL.h" -#include "files.h" -#include "utils.h" -#include <libxml/valid.h> /* needed for xmlSplitQName2 */ -#include <libxml/xpathInternals.h> /* needed for xmlNSLookup */ -#include <libxml/uri.h> /* needed for xmlURIEscapeStr */ -#include "xsldbgthread.h" /* for getThreadStatus() */ -#include "xsldbgmsg.h" -#include "options.h" - -/* temp buffer needed occationaly */ -static xmlChar buff[DEBUG_BUFFER_SIZE]; - -/* needed by breakpoint validation */ -extern int breakPointCounter; - -/* we need to have a fake URL and line number for orphaned template breakpoints */ -int orphanedTemplateLineNo = 1; -const xmlChar *orphanedTemplateURL= (xmlChar*)"http://xsldbg.sourceforge.net/default.xsl"; -/* --------------------------------------------------- - Private function declarations for breakpoint_cmds.c - ----------------------------------------------------*/ - -/** - * validateSource: - * @url : is valid name of a xsl source file - * @lineNo : lineNo >= 0 - * - * Returns 1 if a breakpoint could be set at specified file url and line number - * 0 otherwise - */ -int validateSource(xmlChar ** url, long *lineNo); - -/** - * validateData: - * @url : is valid name of a xml data file - * @lineNo : lineNo >= 0 - * - * Returns 1 if a breakpoint could be set at specified file url and line number - * 0 otherwise - */ -int validateData(xmlChar ** url, long *lineNo); - - -/* ------------------------------------- - End private functions ----------------------------------------*/ - - - -/* ----------------------------------------- - - BreakPoint related commands - - ------------------------------------------- */ - - -/** - * xslDbgShellFrameBreak: - * @arg: Is valid number of frames to change location by - * @stepup: If != 1 then we step up, otherwise step down - * - * Set a "frame" break point either up or down from here - * - * Returns 1 on success, - * 0 otherwise - */ -int -xslDbgShellFrameBreak(xmlChar * arg, int stepup) -{ - int result = 0; - - /* how many frames to go up/down */ - int noOfFrames; - static const char *errorPrompt = I18N_NOOP("Failed to add breakpoint."); - - if (!filesGetStylesheet() || !filesGetMainDoc()) { - xsldbgGenericErrorFunc(i18n("Error: Debugger has no files loaded. Try reloading files.\n")); - xsldbgGenericErrorFunc(TQString("Error: %1.\n").arg(i18n(errorPrompt))); - return result; - } - - if (!arg) { -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Error: NULL argument provided\n"); -#endif - xsldbgGenericErrorFunc(TQString("Error: %1\n").arg(i18n(errorPrompt))); - return result; - } - - if (xmlStrLen(arg) > 0) { - if (!sscanf((char *) arg, "%d", &noOfFrames)) { - xsldbgGenericErrorFunc(i18n("Error: Unable to parse %1 as a number of frames.\n").arg((char*)arg)); - noOfFrames = -1; - } - } else { - noOfFrames = 0; - } - - if (noOfFrames >0){ - if (stepup) { - result = callStackStepup(callStackGetDepth() - noOfFrames); - } else { - result = callStackStepdown(callStackGetDepth() + noOfFrames); - } - } - - if (!result) - xsldbgGenericErrorFunc(TQString("Error: %1\n").arg(i18n(errorPrompt))); - return result; -} - - -/** - * validateSource: - * @url : is valid name of a xsl source file - * @lineNo : lineNo >= 0 - * - * Returns 1 if a breakpoint could be set at specified file url and line number - * 0 otherwise - */ -int -validateSource(xmlChar ** url, long *lineNo) -{ - - int result = 0, type; - searchInfoPtr searchInf; - nodeSearchDataPtr searchData = NULL; - - if (!filesGetStylesheet()) { - xsldbgGenericErrorFunc(i18n("Error: Stylesheet is not valid or file is not loaded.\n")); - return result; - } - - if (!url) { -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Error: NULL argument provided\n"); -#endif - return result; - } - - searchInf = searchNewInfo(SEARCH_NODE); - - if (searchInf && searchInf->data) { - type = DEBUG_BREAK_SOURCE; - searchData = (nodeSearchDataPtr) searchInf->data; - if (lineNo != NULL) - searchData->lineNo = *lineNo; - searchData->nameInput = (xmlChar *) xmlMemStrdup((char *) *url); - guessStylesheetName(searchInf); - /* try to verify that the line number is valid */ - if (searchInf->found) { - /* ok it looks like we've got a valid url */ - /* searchData->url will be freed by searchFreeInfo */ - if (searchData->absoluteNameMatch) - searchData->url = (xmlChar *) - xmlMemStrdup((char *) searchData->absoluteNameMatch); - else - searchData->url = (xmlChar *) - xmlMemStrdup((char *) searchData->guessedNameMatch); - - if (lineNo != NULL) { - /* now to check the line number */ - if (searchData->node) { - searchInf->found = 0; - /* searchData->node is set to the topmost node in stylesheet */ - walkChildNodes((xmlHashScanner) scanForNode, searchInf, - searchData->node); - if (!searchInf->found) { - xsldbgGenericErrorFunc(i18n("Warning: Breakpoint for file \"%1\" at line %2 does not seem to be valid.\n").arg(xsldbgUrl(*url)).arg(*lineNo)); - } - - *lineNo = searchData->lineNo; - xmlFree(*url); - *url = xmlStrdup(searchData->url); - result = 1; - } - - } else { - /* we've been asked just to check the file name */ - if (*url) - xmlFree(*url); - if (searchData->absoluteNameMatch) - *url = (xmlChar *) - xmlMemStrdup((char *) searchData->absoluteNameMatch); - else - *url = (xmlChar *) - xmlMemStrdup((char *) searchData->guessedNameMatch); - result = 1; - } - } else{ - xsldbgGenericErrorFunc(i18n("Error: Unable to find a stylesheet file whose name contains %1.\n").arg(xsldbgUrl(*url))); - if (lineNo){ - xsldbgGenericErrorFunc(i18n("Warning: Breakpoint for file \"%1\" at line %2 does not seem to be valid.\n").arg(xsldbgUrl(*url)).arg(*lineNo)); - } - } - } - - if (searchInf) - searchFreeInfo(searchInf); - else - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - - return result; -} - - - - -/** - * validateData: - * @url : is valid name of a xml data file - * @lineNo : lineNo >= 0 - * - * Returns 1 if a breakpoint could be set at specified file url and line number - * 0 otherwise - */ -int -validateData(xmlChar ** url, long *lineNo) -{ - int result = 0; - searchInfoPtr searchInf; - nodeSearchDataPtr searchData = NULL; - char *lastSlash; - - if (!filesGetMainDoc()) { - if (!optionsGetIntOption(OPTIONS_GDB)){ - xsldbgGenericErrorFunc(i18n("Error: Data file is invalid. Try the run command first.\n")); - } - return result; - } - - if (!url) { -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Error: NULL argument provided\n"); -#endif - return result; - } - - searchInf = searchNewInfo(SEARCH_NODE); - if (searchInf && searchInf->data && filesGetMainDoc()) { - /* Try to verify that the line number is valid. - First try an absolute name match */ - searchData = (nodeSearchDataPtr) searchInf->data; - if (lineNo != NULL) - searchData->lineNo = *lineNo; - else - searchData->lineNo = -1; - searchData->url = (xmlChar *) xmlMemStrdup((char *) *url); - walkChildNodes((xmlHashScanner) scanForNode, searchInf, - (xmlNodePtr) filesGetMainDoc()); - - /* Next try to guess file name by adding the prefix of main document - if no luck so far */ - if (!searchInf->found) { - /* Find the last separator of the documents URL */ - lastSlash = xmlStrrChr(filesGetMainDoc()->URL, URISEPARATORCHAR); - if (!lastSlash) - lastSlash = xmlStrrChr(filesGetMainDoc()->URL, PATHCHAR); - - if (lastSlash) { - lastSlash++; - xmlStrnCpy(buff, filesGetMainDoc()->URL, - lastSlash - (char *) filesGetMainDoc()->URL); - buff[lastSlash - (char *) filesGetMainDoc()->URL] = '\0'; - xmlStrCat(buff, *url); - } else - xmlStrCpy(buff, ""); - if (xmlStrLen(buff) > 0) { - if (searchData->url) - xmlFree(searchData->url); - searchData->url = (xmlChar *) xmlMemStrdup((char *) buff); - walkChildNodes((xmlHashScanner) scanForNode, searchInf, - (xmlNodePtr) filesGetMainDoc()); - } - } - - if (!searchInf->found) { - if (lineNo){ - xsldbgGenericErrorFunc(i18n("Warning: Breakpoint for file \"%1\" at line %2 does not seem to be valid.\n").arg(xsldbgUrl(*url)).arg(*lineNo)); - } else{ - xsldbgGenericErrorFunc(i18n("Error: Unable to find a data file whose name contains %1.\n").arg(xsldbgUrl(*url))); - } - result = 1; - } else { - if (*url) - xmlFree(*url); - *url = xmlStrdup(searchData->url); - result = 1; - } - } - - if (searchInf) - searchFreeInfo(searchInf); - else - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - - return result; -} - - -/** - * xslDbgShellBreak: - * @arg: Is valid and in UTF-8 - * @style: Is valid - * @ctxt: Is valid - * - * Add break point specified by arg - * - * Returns 1 on success, - * 0 otherwise - */ -int -xslDbgShellBreak(xmlChar * arg, xsltStylesheetPtr style, - xsltTransformContextPtr ctxt) -{ - int result = 0; - long lineNo = -1; - xmlChar *url = NULL; - int orphanedBreakPoint = 0; - breakPointPtr breakPtr; - - static const char *errorPrompt = I18N_NOOP("Failed to add breakpoint."); - - if (style == NULL) { - style = filesGetStylesheet(); - } - if (!style || !filesGetMainDoc()) { - if (!optionsGetIntOption(OPTIONS_GDB)){ - xsldbgGenericErrorFunc(i18n("Error: Debugger has no files loaded. Try reloading files.\n")); - xsldbgGenericErrorFunc(TQString("Error: %1\n").arg(i18n(errorPrompt))); - return result; - }else{ - orphanedBreakPoint = 1; - } - } - - if (!arg) { -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Error: NULL argument provided\n"); -#endif - return result; - } - - if (arg[0] == '-') { - xmlChar *opts[2]; - - if ((xmlStrLen(arg) > 1) && (arg[1] == 'l')) { - if (splitString(&arg[2], 2, opts) == 2) { - if ((xmlStrlen(opts[1]) == 0) || - !sscanf((char *) opts[1], "%ld", &lineNo)) { - xsldbgGenericErrorFunc(i18n("Error: Unable to parse %1 as a line number.\n").arg((char*)opts[1])); - xsldbgGenericErrorFunc(TQString("Error: %1\n").arg(i18n(errorPrompt))); - return result; - } else { - /* try to guess whether we are looking for source or data - * break point - */ - xmlChar *escapedURI; - trimString(opts[0]); - url = filesExpandName(opts[0]); - if (url){ - escapedURI = xmlURIEscapeStr(url, (const xmlChar*)"/"); - if (escapedURI){ - xmlFree(url); - url = escapedURI; - } - } - if (url) { - if (!orphanedBreakPoint){ - if (filesIsSourceFile(url)) { - if (validateSource(&url, &lineNo)) - result = - breakPointAdd(url, lineNo, NULL, NULL, - DEBUG_BREAK_SOURCE); - } else { - if (validateData(&url, &lineNo)) - result = - breakPointAdd(url, lineNo, NULL, NULL, - DEBUG_BREAK_DATA); - } - }else{ - if (filesIsSourceFile(url)) { - result = - breakPointAdd(url, lineNo, NULL, NULL, - DEBUG_BREAK_SOURCE); - }else{ - result = - breakPointAdd(url, lineNo, NULL, NULL, - DEBUG_BREAK_DATA); - } - breakPtr = breakPointGet(url, lineNo); - if (breakPtr){ - breakPtr->flags |= BREAKPOINT_ORPHANED; - }else{ - xsldbgGenericErrorFunc(i18n("Error: Unable to find the added breakpoint.")); - } - } - } - } - } else - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments to command %1.\n").arg("break")); - } - } else { - /* add breakpoint at specified template names */ - xmlChar *opts[2]; - xmlChar *name = NULL, *nameURI = NULL, *mode = NULL, *modeURI = NULL; - xmlChar *templateName = NULL, *modeName = NULL; - xmlChar *tempUrl = NULL; /* we must use a non-const xmlChar * - and we are not making a copy - of orginal value so this must not be - freed */ - xmlChar *defaultUrl = (xmlChar *) "<n/a>"; - int newBreakPoints = 0, validatedBreakPoints = 0; - int allTemplates = 0; - int ignoreTemplateNames = 0; - int argCount; - int found; - xsltTemplatePtr templ; - if (orphanedBreakPoint || !ctxt){ - /* Add an orphaned template breakpoint we will need to call this function later to - activate the breakpoint */ - result = - breakPointAdd(orphanedTemplateURL, orphanedTemplateLineNo, arg, NULL, - DEBUG_BREAK_SOURCE); - breakPtr = breakPointGet(orphanedTemplateURL, orphanedTemplateLineNo++); - if (breakPtr){ - breakPtr->flags |= BREAKPOINT_ORPHANED; - }else{ -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Error: Unable to find added breakpoint"); -#endif - } - return result; - } - - argCount = splitString(arg, 2, opts); - if ((argCount == 2) && (xmlStrLen(opts[1]) == 0)) - argCount = 1; - - switch (argCount){ - case 0: - allTemplates = 1; - break; - - case 1: - if (xmlStrEqual(opts[0], (xmlChar*)"*")){ - allTemplates = 1; - }else{ - - if (xmlStrEqual(opts[0], (xmlChar*)"\\*")){ - opts[0][0] = '*'; - opts[0][1] = '\0'; - } - - name = xmlSplitQName2(opts[0], &nameURI); - if (name == NULL){ - name = xmlStrdup(opts[0]); - }else{ - if (nameURI){ - /* get the real URI for this namespace */ - const xmlChar *temp = xmlXPathNsLookup(ctxt->xpathCtxt, nameURI); - if (temp) - xmlFree(nameURI); - nameURI = xmlStrdup(temp); - } - - } - } - break; - - case 2: - if (xmlStrLen(opts[0]) == 0){ - /* we don't care about the template name ie we are trying to match - templates with a given mode */ - ignoreTemplateNames = 1; - }else{ - name = xmlSplitQName2(opts[0], &nameURI); - if (name == NULL) - name = xmlStrdup(opts[0]); - if (nameURI){ - /* get the real URI for this namespace */ - const xmlChar *temp = xmlXPathNsLookup(ctxt->xpathCtxt, - nameURI); - if (temp) - xmlFree(nameURI); - nameURI = xmlStrdup(temp); - } - } - mode = xmlSplitQName2(opts[1], &modeURI); - if (mode == NULL) - mode = xmlStrdup(opts[1]); - if (modeURI){ - /* get the real URI for this namespace */ - const xmlChar *temp = xmlXPathNsLookup(ctxt->xpathCtxt, modeURI); - if (temp) - xmlFree(modeURI); - modeURI = xmlStrdup(temp); - } - break; - - default: - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments for command %1.\n").arg("break")); - return 0; - } - - while (style) { - templ = style->templates; - while (templ) { - found = 0; - if (templ->elem && templ->elem->doc - && templ->elem->doc->URL) { - tempUrl = (xmlChar *) templ->elem->doc->URL; - } else { - tempUrl = defaultUrl; - } - - if (templ->match) - templateName = xmlStrdup(templ->match); - else - templateName = fullTQName(templ->nameURI, templ->name); - - if (allTemplates) - found = 1; - else { - if (ignoreTemplateNames){ - if (!mode || (xmlStrEqual(templ->mode, mode) && - (!modeURI || xmlStrEqual(templ->modeURI, - modeURI)))) - found = 1; - } else if (templ->match){ - if ((xmlStrEqual(templ->match, name) && - (!modeURI || xmlStrEqual(templ->modeURI, - modeURI)) && - (!mode || xmlStrEqual(templ->mode, - mode)))) - found = 1; - }else{ - if(xmlStrEqual(templ->name, name) && - (!nameURI || xmlStrEqual(templ->nameURI, nameURI))) - found = 1; - } - } - if (found) { - int templateLineNo = xmlGetLineNo(templ->elem); - breakPointPtr searchPtr = breakPointGet(tempUrl, templateLineNo); - - if (templ->mode) - modeName = - fullTQName(templ->modeURI, templ->mode); - - - if (!searchPtr){ - if (breakPointAdd(tempUrl, templateLineNo, - templateName, modeName, - DEBUG_BREAK_SOURCE)){ - newBreakPoints++; - } - }else{ - - if ((templateLineNo != searchPtr->lineNo ) || !xmlStrEqual(tempUrl, searchPtr->url)){ - int lastId = searchPtr->id; - int lastCounter = breakPointCounter; - /* we have a new location for breakpoint */ - if (breakPointDelete(searchPtr)){ - if (breakPointAdd(tempUrl, templateLineNo, templateName, modeName,DEBUG_BREAK_SOURCE)){ - searchPtr = breakPointGet(tempUrl, templateLineNo); - if (searchPtr){ - searchPtr->id = lastId; - result = 1; - breakPointCounter = lastCounter; - xsldbgGenericErrorFunc(i18n("Information: Breakpoint validation has caused breakpoint %1 to be re-created.\n").arg(searchPtr->id)); - validatedBreakPoints++; - } - } - } - }else{ - if (xsldbgValidateBreakpoints != BREAKPOINTS_BEING_VALIDATED){ - xsldbgGenericErrorFunc(i18n("Warning: Breakpoint exits for file \"%1\" at line %2.\n").arg(xsldbgUrl(tempUrl)).arg(templateLineNo)); - } - validatedBreakPoints++; - } - } - } - if (templateName){ - xmlFree(templateName); - templateName = NULL; - } - if (modeName){ - xmlFree(modeName); - modeName = NULL; - } - templ = templ->next; - } - if (style->next) - style = style->next; - else - style = style->imports; - } - - if ((newBreakPoints == 0) && (validatedBreakPoints == 0)) { - xsldbgGenericErrorFunc(i18n("Error: No templates found or unable to add breakpoint.\n")); - url = NULL; /* flag that we've printed partial error message about the problem url */ - } else { - result = 1; - if (newBreakPoints){ - xsldbgGenericErrorFunc(i18n("Information: Added %n new breakpoint.", "Information: Added %n new breakpoints.", newBreakPoints) + TQString("\n")); - } - } - - if (name) - xmlFree(name); - if (nameURI) - xmlFree(nameURI); - if (mode) - xmlFree(mode); - if (modeURI) - xmlFree(modeURI); - if (defaultUrl && !xmlStrEqual((xmlChar*)"<n/a>", defaultUrl)) - xmlFree(defaultUrl); - if (tempUrl) - url = xmlStrdup(tempUrl); - } /* end add template breakpoints */ - - if (!result) { - if (url) - xsldbgGenericErrorFunc(i18n("Error: Failed to add breakpoint for file \"%1\" at line %2.\n").arg(xsldbgUrl(url)).arg(lineNo)); - else - xsldbgGenericErrorFunc(i18n("Error: Failed to add breakpoint.\n")); - } - - if (url) - xmlFree(url); - return result; -} - - -/** - * xslDbgShellDelete: - * @arg: Is valid and in UTF-8 - * - * Delete break point specified by arg - * - * Returns 1 on success, - * 0 otherwise - */ -int -xslDbgShellDelete(xmlChar * arg) -{ - int result = 0, breakPointId; - long lineNo; - breakPointPtr breakPtr = NULL; - static const char *errorPrompt = I18N_NOOP("Failed to delete breakpoint."); - - if (!arg) { -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Error: NULL argument provided\n"); -#endif - xsldbgGenericErrorFunc(TQString("Error: %1\n").arg(i18n(errorPrompt))); - return result; - } - - if (arg[0] == '-') { - xmlChar *opts[2], *url = NULL; - - if ((xmlStrLen(arg) > 1) && (arg[1] == 'l')) { - if (splitString(&arg[2], 2, opts) == 2) { - if ((xmlStrlen(opts[1]) == 0) || - !sscanf((char *) opts[1], "%ld", &lineNo)) { - xsldbgGenericErrorFunc(i18n("Error: Unable to parse %1 as a line number.\n").arg((char*)opts[1])); - } else { - xmlChar *escapedURI; - trimString(opts[0]); - url = filesExpandName(opts[0]); - if (url){ - escapedURI = xmlURIEscapeStr(url, (const xmlChar*)"/"); - if (escapedURI){ - xmlFree(url); - url = escapedURI; - } - } - if (url) { - if (filesIsSourceFile(url)) { - if (validateSource(&url, &lineNo)) - breakPtr = breakPointGet(url, lineNo); - } else if (validateData(&url, &lineNo)) - breakPtr = breakPointGet(url, lineNo); - if (!breakPtr || !breakPointDelete(breakPtr)){ - xsldbgGenericErrorFunc(i18n("Error: Breakpoint does not exist for file \"%1\" at line %2.\n").arg(xsldbgUrl(url)).arg(lineNo)); - }else{ - result = 1; - } - xmlFree(url); - } - } - } else{ - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments for command %1.\n").arg("delete")); - } - } - } else if (xmlStrEqual((xmlChar*)"*", arg)) { - result = 1; - /*remove all from breakpoints */ - breakPointEmpty(); - - } else if (sscanf((char *) arg, "%d", &breakPointId)) { - breakPtr = findBreakPointById(breakPointId); - if (breakPtr) { - result = breakPointDelete(breakPtr); - if (!result) { - xsldbgGenericErrorFunc(i18n("Error: Unable to delete breakpoint %1.\n").arg(breakPointId)); - } - } else { - xsldbgGenericErrorFunc(i18n("Error: Breakpoint %1 does not exist.\n").arg(breakPointId)); - } - } else { - breakPtr = findBreakPointByName(arg); - if (breakPtr) { - result = breakPointDelete(breakPtr); - if (!result) { - xsldbgGenericErrorFunc(i18n("Error: Unable to delete breakpoint at template %1.\n").arg(xsldbgText(arg))); - } - } else{ - xsldbgGenericErrorFunc(i18n("Error: Breakpoint at template \"%1\" does not exist.\n").arg(xsldbgText(arg))); - } - } - if (!result) - xsldbgGenericErrorFunc(TQString("Error: %1\n").arg(i18n(errorPrompt))); - return result; -} - - -/** - * xslDbgShellEnableBreakPoint: - * @payload: A valid breakPointPtr - * @data: Enable type, a pointer to an integer - * for a value of - * 1 enable break point - * 0 disable break point - * -1 toggle enabling of break point - * @name: Not used - * - * Enable/disable break points via use of scan of break points -*/ -void -xslDbgShellEnableBreakPoint(void *payload, void *data, - xmlChar * name) -{ - Q_UNUSED(name); - if (payload && data) { - breakPointEnable((breakPointPtr) payload, *(int *) data); - } -} - - -/** - * xslDbgShellEnable: - * @arg : is valid and in UTF-8 - * @enableType : enable break point if 1, disable if 0, toggle if -1 - * - * Enable/disable break point specified by arg using enable - * type of @enableType - * Returns 1 if successful, - * 0 otherwise - */ - -int -xslDbgShellEnable(xmlChar * arg, int enableType) -{ - int result = 0, breakPointId; - long lineNo; - breakPointPtr breakPtr = NULL; - static const char *errorPrompt = I18N_NOOP("Failed to enable/disable breakpoint."); - - if (!filesGetStylesheet() || !filesGetMainDoc()) { - xsldbgGenericErrorFunc(i18n("Error: Debugger has no files loaded. Try reloading files.\n")); - xsldbgGenericErrorFunc(TQString("Error: %1\n").arg(i18n(errorPrompt))); - return result; - } - - if (!arg) { -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Error: NULL argument provided\n"); -#endif - xsldbgGenericErrorFunc(TQString("Error: %1\n").arg(i18n(errorPrompt))); - return result; - } - - if (arg[0] == '-') { - xmlChar *opts[2], *url = NULL; - - if ((xmlStrLen(arg) > 1) && (arg[1] == 'l')) { - if (splitString(&arg[2], 2, opts) == 2) { - if ((xmlStrlen(opts[1]) == 0) || - !sscanf((char *) opts[1], "%ld", &lineNo)) { - xsldbgGenericErrorFunc(i18n("Error: Unable to parse %1 as a line number.\n").arg((char*)opts[1])); - } else { - xmlChar *escapedURI; - trimString(opts[0]); - url = filesExpandName(opts[0]); - if (url){ - escapedURI = xmlURIEscapeStr(url, (const xmlChar*)"/"); - if (escapedURI){ - xmlFree(url); - url = escapedURI; - } - } - if (url) { - if (strstr((char *) url, ".xsl")) { - if (validateSource(&url, NULL)) - breakPtr = breakPointGet(url, lineNo); - } else if (validateData(&url, NULL)) - breakPtr = breakPointGet(url, lineNo); - if (breakPtr){ - result = breakPointEnable(breakPtr, enableType); - }else{ - xsldbgGenericErrorFunc(i18n("Error: Breakpoint does not exist for file \"%1\" at line %2.\n").arg(xsldbgUrl(url)).arg(lineNo)); - } - xmlFree(url); - } - } - } else - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments for command %1.\n").arg("enable")); - } - } else if (xmlStrEqual((xmlChar*)"*", arg)) { - result = 1; - /*enable/disable all from breakpoints */ - walkBreakPoints((xmlHashScanner) xslDbgShellEnableBreakPoint, - &enableType); - - } else if (sscanf((char *) arg, "%d", &breakPointId)) { - breakPtr = findBreakPointById(breakPointId); - if (breakPtr) { - result = breakPointEnable(breakPtr, enableType); - if (!result) { - xsldbgGenericErrorFunc(i18n("Error: Unable to enable/disable breakpoint %1.\n").arg(breakPointId)); - } - } else { - xsldbgGenericErrorFunc(i18n("Error: Breakpoint %1 does not exist.\n").arg(breakPointId)); - } - } else { - breakPtr = findBreakPointByName(arg); - if (breakPtr) { - result = breakPointEnable(breakPtr, enableType); - } else - xsldbgGenericErrorFunc(i18n("Error: Breakpoint at template \"%1\" does not exist.\n").arg(xsldbgText(arg))); - } - - if (!result) - xsldbgGenericErrorFunc(TQString("Error: %1\n").arg(i18n(errorPrompt))); - return result; -} - - -/** - * xslDbgShellPrintBreakPoint: - * @payload: A valid breakPointPtr - * @data: Not used - * @name: Not used - * - * Print data given by scan of break points -*/ -void -xslDbgShellPrintBreakPoint(void *payload, void *data, - xmlChar * name) -{ - Q_UNUSED(data); - Q_UNUSED(name); - - if (payload) { - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - notifyListQueue(payload); - } else { - printCount++; - xsldbgGenericErrorFunc(" "); - breakPointPrint((breakPointPtr) payload); - xsldbgGenericErrorFunc("\n"); - } - } -} - - -/* Validiate a breakpoint at a given URL and line number - breakPtr and copy must be valid -*/ -static int validateBreakPoint(breakPointPtr breakPtr, breakPointPtr copy) -{ - - int result = 0; - if (!breakPtr || !copy){ -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Warning: NULL arguments passed to validateBreakPoint\n"); -#endif - return result; - } - - if (filesIsSourceFile(breakPtr->url)) { - result = validateSource(©->url, ©->lineNo); - } else { - result = validateData(©->url, ©->lineNo); - } - if (result) - breakPtr->flags &= BREAKPOINT_ALLFLAGS ^ BREAKPOINT_ORPHANED; - else - breakPtr->flags |= BREAKPOINT_ORPHANED; - - if ( breakPtr->flags & BREAKPOINT_ORPHANED){ - xsldbgGenericErrorFunc(TQString("Warning: Breakpoint %1 is orphaned. Result: %2. Old flags: %3. New flags: %4.\n").arg(breakPtr->id).arg(result).arg(copy->flags).arg(breakPtr->flags)); - } - - if (!(breakPtr->flags & BREAKPOINT_ORPHANED) && ((copy->lineNo != breakPtr->lineNo ) || - (xmlStrlen(copy->url) != xmlStrlen(breakPtr->url)) || xmlStrCmp(copy->url, breakPtr->url))){ - /* we have a new location for breakpoint */ - int lastCounter = breakPointCounter; - copy->templateName = xmlStrdup(breakPtr->templateName); - copy->modeName = xmlStrdup(breakPtr->modeName); - if (breakPointDelete(breakPtr) && !breakPointGet(copy->url, copy->lineNo)){ - if (breakPointAdd(copy->url, copy->lineNo, NULL, NULL, copy->type)){ - breakPtr = breakPointGet(copy->url, copy->lineNo); - if (breakPtr){ - breakPtr->id = copy->id; - breakPtr->flags = copy->flags; - breakPointCounter = lastCounter; /* compensate for breakPointAdd which always - increments the breakPoint counter */ - result = 1; - xsldbgGenericErrorFunc(i18n("Information: Breakpoint validation has caused breakpoint %1 to be re-created.\n").arg(breakPtr->id)); - } - } - if (!result){ - xsldbgGenericErrorFunc(i18n("Warning: Validation of breakpoint %1 failed.\n").arg(copy->id)); - } - } - } - - return result; -} - -/* Validiate a breakpoint at a given URL and line number - breakPtr, copy and ctx must be valid - */ -static int validateTemplateBreakPoint(breakPointPtr breakPtr, breakPointPtr copy, xsltTransformContextPtr ctxt) -{ - int result = 0; - if (!breakPtr || !copy || !ctxt){ -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Warning: NULL arguments passed to validateTemplateBreakPoint\n"); -#endif - return result; - } - - copy->templateName = xmlStrdup(breakPtr->templateName); - if ((xmlStrlen(copy->templateName) == 0) || xmlStrEqual(copy->templateName, (xmlChar*)"*")){ - if (xmlStrEqual(breakPtr->url, orphanedTemplateURL)) - breakPointDelete(breakPtr); - if ( xslDbgShellBreak(copy->templateName, NULL, ctxt)){ - result = 1; - xsldbgGenericErrorFunc(i18n("Information: Breakpoint validation has caused one or more breakpoints to be re-created.\n")); - } - }else{ - if (xmlStrEqual(breakPtr->url, orphanedTemplateURL)) - breakPointDelete(breakPtr); - if (xslDbgShellBreak(copy->templateName, NULL, ctxt)){ - result = 1; - } - } - xmlFree(copy->templateName); - if (!result){ - xsldbgGenericErrorFunc(i18n("Warning: Validation of breakpoint %1 failed.\n").arg(copy->id)); - } - return result; -} - -/** - * xslDbgShellValidateBreakPoint: - * @payload: A valid breakPointPtr - * @data: Not used - * @name: Not used - * - * Print an warning if a breakpoint is invalid - - */ -void xslDbgShellValidateBreakPoint(void *payload, void *data, - xmlChar * name) -{ - Q_UNUSED(name); - int result = 0; - if (payload){ - breakPointPtr breakPtr = (breakPointPtr) payload; - - breakPoint copy; /* create a copy of the breakpoint */ - copy.lineNo = breakPtr->lineNo; - copy.url = xmlStrdup(breakPtr->url); - copy.flags = breakPtr->flags; - copy.type = breakPtr->type; - copy.id = breakPtr->id; - if (copy.url){ - if (breakPtr->templateName){ - /* template name is used to contain the rules to add template breakpoint */ - result = validateTemplateBreakPoint(breakPtr, ©, (xsltTransformContextPtr)data); - }else{ - result = validateBreakPoint(breakPtr, ©); - } - }else{ - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - } - - xmlFree(copy.url); - } -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/callstack.cpp b/kxsldbg/kxsldbgpart/libxsldbg/callstack.cpp deleted file mode 100644 index cd9e320a..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/callstack.cpp +++ /dev/null @@ -1,509 +0,0 @@ - -/*************************************************************************** - callstack.c - call stack implementation - ------------------- - begin : Fri Nov 2 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -#include "xsldbg.h" -#include "utils.h" -#include "breakpoint.h" -#include "arraylist.h" -#include "callstack.h" -#include "xsldbgmsg.h" - - -/*------------------------------------------------------ - Private functions - -----------------------------------------------------*/ - -/** - * addCallInfo: - * @templateName: Template name to add - * @templateURI: TQName part of template name to add - * @modeName: Mode of template - * @modeURI: TQName part of node of template - * @url: The url for the template - * - * Add template "call" to call stack - * - * Returns A reference to the added info if successful, - * NULL otherwise - */ -callPointInfoPtr -addCallInfo(const xmlChar * templateName, const xmlChar *templateURI, - const xmlChar * modeName, const xmlChar* modeURI, const xmlChar * url); - - -/*------------------------------------------------------ - Xsl call stack related ------------------------------------------------------*/ - -/* keep track of the top and bottom of call stack*/ - -/* This is the major structure and contains a stack of call points */ -callPointPtr callStackBot, callStackTop; - -/* save memory by keep only one copy of data used for several - items on call stack */ -callPointInfoPtr callInfo; - -/* What frame depth are we to stop at */ -int stopDepth = -1; - - -/** - * callStackInit: - * - * Returns If callStack has been initialized properly and all - * memory required has been obtained, - * 0 otherwise - * - * Returns 1 if callStack has been initialized properly and all - * memory required has been obtained, - * 0 otherwise -*/ -int -callStackInit(void) -{ - - callInfo = (callPointInfoPtr) xmlMalloc(sizeof(callPointInfo)); - if (callInfo) { - callInfo->next = NULL; - callInfo->templateName = NULL; - callInfo->templateURI = NULL; - callInfo->modeName = NULL; - callInfo->modeURI = NULL; - callInfo->url = NULL; - } - callStackBot = (callPointPtr) xmlMalloc(sizeof(callPoint)); - if (callStackBot) { - callStackBot->next = NULL; - callStackBot->info = NULL; - callStackBot->lineNo = -1; - callStackTop = callStackBot; - } - return (callInfo != NULL) && (callStackBot != NULL); -} - - - -/** - * callStackFree: - * - * - * Free all memory used by callStack - */ -void -callStackFree(void) -{ - - callPointInfoPtr curInfo = callInfo, nextInfo; - callPointPtr curCall = callStackBot, nextCall; - - /* remove all call info's */ - while (curInfo) { - nextInfo = curInfo->next; - if (curInfo->templateName) - xmlFree(curInfo->templateName); - if (curInfo->templateURI) - xmlFree(curInfo->templateURI); - if (curInfo->modeName) - xmlFree(curInfo->modeName); - if (curInfo->modeURI) - xmlFree(curInfo->modeURI); - if (curInfo->url) - xmlFree(curInfo->url); - xmlFree(curInfo); - curInfo = nextInfo; - } - curInfo = NULL; - - /* remove all call stack items left. There should be none !! */ - while (curCall) { - nextCall = curCall->next; - xmlFree(curCall); - curCall = nextCall; - } - - callStackBot = NULL; - callStackTop = NULL; - callInfo = NULL; -} - - -/** - * addCallInfo: - * @templateName: Template name to add - * @templateURI: TQName part of template name to add - * @modeName: Mode of template - * @modeURI: TQName part of node of template - * @url: The url for the template - * - * Add template "call" to call stack - * - * Returns A reference to the added info if successful, - * NULL otherwise - */ -callPointInfoPtr -addCallInfo(const xmlChar * templateName, const xmlChar *templateURI, - const xmlChar * modeName, const xmlChar* modeURI, const xmlChar * url) -{ - callPointInfoPtr result = NULL, cur = callInfo; - int found; - - if (!templateName || !url) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Null template name or url: addCallInfo\n"); - if (templateName) - xsltGenericError(xsltGenericErrorContext, "template :\"%s\"\n", - templateName); - if (url) - xsltGenericError(xsltGenericErrorContext, "url :\"%s\"\n", url); - -#endif - return result; - } - - while (cur->next) { - found = 1; - if (templateName && cur->templateName - && !xmlStrEqual(cur->templateName, templateName)) - found = 0; - if (found && !xmlStrEqual(cur->templateURI, templateURI)) - found = 0; - if (found && !xmlStrEqual(cur->modeName, modeName)) - found = 0; - if (found && !xmlStrEqual(cur->modeURI, modeURI)) - found = 0; - if (found && !xmlStrEqual(cur->url, url)) - found = 0; - - if (found){ - result = cur; - break; - } - cur = cur->next; - } - - if (!result && cur) { - result = (callPointInfoPtr) xmlMalloc(sizeof(callPointInfo)); - if (result) { - if ((cur == callInfo) && !cur->templateName && !cur->templateURI - && !cur->modeName && !cur->modeURI - && !cur->url){ - xmlFree(callInfo); - callInfo = result; - } else{ - cur->next = result; - } - result->templateName = - (xmlChar *) xmlMemStrdup((char *) templateName); - result->templateURI = - (xmlChar *) xmlMemStrdup((char *) templateURI); - result->modeName = - (xmlChar *) xmlMemStrdup((char *) modeName); - result->modeURI = - (xmlChar *) xmlMemStrdup((char *) modeURI); - result->url = (xmlChar *) xmlMemStrdup((char *) url); - result->next = NULL; - }else { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Unable to create callPointInfo from : addCallInfo\n"); -#endif - } - } - if (!cur){ -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Unable to create callPointInfo from : addCallInfo\n"); -#endif - } - return result; -} - - -/** - * callStackAdd: - * @templ: The current template being applied - * @source: The source node being processed - * - * Add template "call" to call stack - * - * Returns 1 on success, - * 0 otherwise - */ -int -callStackAdd(xsltTemplatePtr templ, xmlNodePtr source) -{ - int result = 0; - const char *name = "Default template"; - callPointInfoPtr info; - - if (!templ || !source) - return result; - - if (!source->doc || !source->doc->URL) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Invalid document url in call from : callStackAdd\n"); -#endif - return result; - } - - /* are at a "frame" break point ie "step down" */ - if ((xslDebugStatus == DEBUG_STEPDOWN) - && (stopDepth == callStackGetDepth())) { - xslDebugStatus = DEBUG_STOP; - stopDepth = 0; - } - - /* this need not be an error just we've got a text in source */ - if (xmlGetLineNo(source) == -1) { - return result; - } - - if (templ) { - if (templ->name) - name = (char *) templ->name; - else { - if (templ->match) - name = (char *) templ->match; - } - } - - if (!name) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Invalid template name : callStackAdd\n"); -#endif - return result; - } - - info = addCallInfo((xmlChar *) name, (xmlChar *) templ->nameURI, - (xmlChar *) templ->mode, (xmlChar *) templ->modeURI, - source->doc->URL); - - if (info) { - callPointPtr cur; - - cur = (callPointPtr) xmlMalloc(sizeof(callPoint)); - if (cur) { - callStackTop->next = cur; - callStackTop = cur; - cur->info = info; - cur->lineNo = xmlGetLineNo(source); - cur->next = NULL; - result = 1; - } else { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Unable to create call point : callStackAdd\n"); -#endif - } - } else { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Unable to create call info : callStackAdd\n"); -#endif - } - - return result; -} - - -/** - * callStackDrop: - * - * - * Drop the topmost item off the call stack - */ -void -callStackDrop(void) -{ - - if (!callStackBot) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: callStackDrop failed invalid call stack: dbgcallstack.c"); -#endif - return; - } - - /* are we at a "frame" break point ie "step up". if we've gone too - * far stop imediately */ - if ((xslDebugStatus == DEBUG_STEPUP) - && (-1 * callStackGetDepth()) >= stopDepth) { - xslDebugStatus = DEBUG_STOP; - stopDepth = 0; - } - - if (callStackBot->next) { - callPointPtr cur = callStackBot; - - while (cur->next && cur->next->next) { - cur = cur->next; - } - if (cur->next) - xmlFree(cur->next); - cur->next = NULL; - callStackTop = cur; - } else { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: callStackDrop failed no items on call stack : dbgcallstack.c"); -#endif - } -} - - -/** - * callStackStepup: - * @depth:The frame depth to step up to - * 0 < @depth <= callStackGetDepth() - * - * Set the frame depth to step up to - * - * Returns 1 on success, - * 0 otherwise - */ -int -callStackStepup(int depth) -{ - int result = 0; - - if ((depth > 0) && (depth <= callStackGetDepth())) { - stopDepth = -1 * depth; - xslDebugStatus = DEBUG_STEPUP; - result = 1; - } else { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: callStackStepup failed invalid depth %d: callstack.c", depth); -#endif - } - return result; -} - - -/** - * callStackStepdown: - * @depth: The frame depth to step down to, - * 0 < @depth <= callStackGetDepth() - * - * Set the frame depth to step down to - * - * Returns 1 on success, - * 0 otherwise - */ -int -callStackStepdown(int depth) -{ - int result = 0; - - if ((depth > 0) && (depth >= callStackGetDepth())) { - stopDepth = depth; - xslDebugStatus = DEBUG_STEPDOWN; - result = 1; - } else { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: callStackStepdown failed invalid depth %d: dbgcallstack.c", depth); -#endif - } - return result; -} - - -/** - * callStackGet: - * @depth: 0 < @depth <= callStackGetDepth() - * - * Retrieve the call point at specified call depth - - * Returns Non-null if depth is valid, - * NULL otherwise - */ -callPointPtr -callStackGet(int depth) -{ - callPointPtr result = NULL, cur = callStackBot; - - if (!callStackBot) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: callStackGet failed invalid call stack: callstack.c"); -#endif - return result; - } - if ((depth < 1) && (depth > callStackGetDepth())) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: callStackGet failed invalid call depth: callstack.c"); -#endif - return result; - } - - while (depth > 0 && cur->next) { - cur = cur->next; - depth--; - } - - if (depth == 0) - result = cur; - else { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: callStackGet failed invalid call depth: callstack.c"); -#endif - } - return result; -} - - -/** - * callStackGetTop: - * - * Get the top item in the call stack - * - * Returns The top of the call stack - */ -callPointPtr -callStackGetTop(void) -{ - return callStackTop; -} - - -/** - * callStackGetDepth: - * - * Return the depth of call stack - * - * Returns The depth of call stack - */ -int -callStackGetDepth(void) -{ - callPointPtr cur = callStackBot; - int depthCount = 0; - - if (!callStackBot) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: calldepth failed invalid call stack: dbgcallstack.c"); -#endif - return depthCount; - } - - - while (cur->next) { - depthCount++; - cur = cur->next; - } - return depthCount; -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/callstack.h b/kxsldbg/kxsldbgpart/libxsldbg/callstack.h deleted file mode 100644 index 60bf4652..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/callstack.h +++ /dev/null @@ -1,279 +0,0 @@ - -/* ************************************************************************* - xslcallpoint.h - public functions for the - the call stack - ------------------- - begin : Fri Dec 7 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ************************************************************************* */ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************* */ - -#ifndef XSLCALLSTACK_H -#define XSLCALLSTACK_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -/** - * Provide a call stack support - * - * @short call stack support - * - * @author Keith Isdale <k_isdale@tpg.com.au> - */ - -#ifndef BUILD_DOCS -#include "breakpoint.h" -#endif - -#ifdef WITH_XSLT_DEBUG -#ifndef WITH_XSLT_DEBUG_BREAKPOINTS -#define WITH_XSLT_DEBUG_BREAKPOINTS -#endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - - - typedef struct _callPointInfo callPointInfo; - typedef callPointInfo *callPointInfoPtr; - struct _callPointInfo { - xmlChar *templateName, *templateURI; - xmlChar *modeName, *modeURI; - xmlChar *url; - callPointInfoPtr next; - }; - - typedef struct _callPoint callPoint; - typedef callPoint *callPointPtr; - struct _callPoint { - callPointInfoPtr info; - long lineNo; - callPointPtr next; - }; - - -#ifdef USE_GNOME_DOCS - -/** - * callStackInit: - * - * Returns If callStack has been initialized properly and all - * memory required has been obtained, - * 0 otherwise - * - * Returns 1 if callStack has been initialized properly and all - * memory required has been obtained, - * 0 otherwise -*/ -#endif - int - callStackInit(void); - - - -#ifdef USE_GNOME_DOCS - -/** - * callStackFree: - * - * - * Free all memory used by callStack - */ -#endif - void - callStackFree(void); - - - -#ifdef USE_GNOME_DOCS - -/** - * callStackAdd: - * @templ: The current template being applied - * @source: The source node being processed - * - * Add template "call" to call stack - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Add template "call" to call stack - * - * @param templ The current template being applied - * @param source The source node being processed - * - * @returns 1 on success, - * 0 otherwise - */ -#endif -#endif - int callStackAdd(xsltTemplatePtr templ, xmlNodePtr source); - - -#ifdef USE_GNOME_DOCS - -/** - * callStackDrop: - * - * - * Drop the topmost item off the call stack - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Drop the topmost item off the call stack - */ -#endif -#endif - void callStackDrop(void); - - -#ifdef USE_GNOME_DOCS - -/** - * callStackStepup: - * @depth:The frame depth to step up to - * 0 < @depth <= callDepth() - * - * Set the frame depth to step up to - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Set the frame depth to step up to - * - * @returns 1 on success, - * 0 otherwise - * - * @param depth The frame depth to step up to - * 0 < @p depth <= callDepth() - */ -#endif -#endif - int callStackStepup(int depth); - - -#ifdef USE_GNOME_DOCS - -/** - * callStackStepdown: - * @depth: The frame depth to step down to, - * 0 < @depth <= callDepth() - * - * Set the frame depth to step down to - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Set the frame depth to step down to - * - * @returns 1 on success, - * 0 otherwise - * - * @param depth The frame depth to step down to - * 0 < @p depth <= callDepth() - */ -#endif -#endif - int callStackStepdown(int depth); - - -#ifdef USE_GNOME_DOCS - -/** - * callStackGet: - * @depth: 0 < @depth <= callDepth() - * - * Retrieve the call point at specified call depth - - * Returns Non-null a if depth is valid, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Retrieve the call point at specified call depth - - * @returns Non-null a if depth is valid, - * NULL otherwise - * - * @param depth 0 < @p depth <= callDepth() - */ -#endif -#endif - callPointPtr callStackGet(int depth); - - -#ifdef USE_GNOME_DOCS - -/** - * callStackGetTop: - * - * Get the top item in the call stack - * - * Returns The top of the call stack - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Get the top item in the call stack - * - * @returns The top of the call stack - */ -#endif -#endif - callPointPtr callStackGetTop(void); - - -#ifdef USE_GNOME_DOCS - -/** - * callStackGetDepth: - * - * Return the depth of call stack - * - * Returns The depth of call stack - */ -#else -#ifdef USE_KDE_DOCS - -/** - * @returns the depth of call stack - */ -#endif -#endif - int callStackGetDepth(void); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/kxsldbg/kxsldbgpart/libxsldbg/cmds.h b/kxsldbg/kxsldbgpart/libxsldbg/cmds.h deleted file mode 100644 index ff15bdc7..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/cmds.h +++ /dev/null @@ -1,201 +0,0 @@ - -/*************************************************************************** - cmds.h - A list of valid commands ID's for xsldbg - ------------------- - begin : Thu Dec 27 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - - -#ifndef CMDS_H -#define CMDS_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -/* See the top of debugXSL.c for a list of command names and thier shortcuts */ -#ifndef USE_KDE_DOCS -typedef enum { /* id's for commands of xslDbgShell */ - DEBUG_HELP_CMD = 100, - DEBUG_BYE_CMD, - DEBUG_EXIT_CMD, - DEBUG_QUIT_CMD, - - DEBUG_STEP_CMD, - DEBUG_STEPUP_CMD, - DEBUG_STEPDOWN_CMD, - DEBUG_NEXT_CMD, - DEBUG_CONT_CMD, - DEBUG_RUN_CMD, - - DEBUG_TEMPLATES_CMD, - DEBUG_WHERE_CMD, - DEBUG_FRAME_CMD, - DEBUG_STYLESHEETS_CMD, - - DEBUG_BREAK_CMD, - DEBUG_SHOWBREAK_CMD, - DEBUG_DELETE_CMD, - DEBUG_ENABLE_CMD, - DEBUG_DISABLE_CMD, - - DEBUG_LS_CMD, - DEBUG_DIR_CMD, - DEBUG_DU_CMD, - DEBUG_CAT_CMD, - DEBUG_PRINT_CMD, /* cat alternative */ - DEBUG_PWD_CMD, - DEBUG_DUMP_CMD, - DEBUG_BASE_CMD, - - DEBUG_GLOBALS_CMD, - DEBUG_LOCALS_CMD, - /* DEBUG_CAT_CMD, already listed */ - DEBUG_SOURCE_CMD, - DEBUG_DATA_CMD, - DEBUG_OUTPUT_CMD, - DEBUG_CD_CMD, - - /* file related */ - /* DEBUG_OUTPUT_CMD, already listed */ - DEBUG_ENTITIES_CMD, - DEBUG_SYSTEM_CMD, - DEBUG_PUBLIC_CMD, - DEBUG_ENCODING_CMD, - DEBUG_VALIDATE_CMD, - DEBUG_LOAD_CMD, - DEBUG_SAVE_CMD, - DEBUG_WRITE_CMD, - DEBUG_FREE_CMD, - - /* Operating system related */ - DEBUG_CHDIR_CMD, - DEBUG_SHELL_EXEC_CMD, - DEBUG_TTY_CMD, - - /* libxslt parameter and options related */ - DEBUG_ADDPARAM_CMD, - DEBUG_DELPARAM_CMD, - DEBUG_SHOWPARAM_CMD, - DEBUG_SETOPTION_CMD, - DEBUG_OPTIONS_CMD, /* print options */ - - /* extra options/commands */ - DEBUG_TRACE_CMD, - DEBUG_WALK_CMD, - DEBUG_ADDWATCH_CMD, - DEBUG_DELWATCH_CMD, - DEBUG_SHOWWATCH_CMD, - - /* searching */ - DEBUG_SEARCH_CMD, - - /* variable change */ - DEBUG_SET_CMD, - - /* language change */ - DEBUG_LANG_CMD - - /* NULL */ - -} CommandsEnum; -#else - -/* Keep kdoc happy*/ -enum CommandsEnum { /* id's for commands of xslDbgShell */ - DEBUG_HELP_CMD = 100, - DEBUG_BYE_CMD, - DEBUG_EXIT_CMD, - DEBUG_QUIT_CMD, - - DEBUG_STEP_CMD, - DEBUG_STEPUP_CMD, - DEBUG_STEPDOWN_CMD, - DEBUG_NEXT_CMD, - DEBUG_CONT_CMD, - DEBUG_RUN_CMD, - - DEBUG_TEMPLATES_CMD, - DEBUG_WHERE_CMD, - DEBUG_FRAME_CMD, - DEBUG_STYLESHEETS_CMD, - - DEBUG_BREAK_CMD, - DEBUG_SHOWBREAK_CMD, - DEBUG_DELETE_CMD, - DEBUG_ENABLE_CMD, - DEBUG_DISABLE_CMD, - - DEBUG_LS_CMD, - DEBUG_DIR_CMD, - DEBUG_DU_CMD, - DEBUG_CAT_CMD, - DEBUG_PRINT_CMD, /* cat alternative */ - DEBUG_PWD_CMD, - DEBUG_DUMP_CMD, - DEBUG_BASE_CMD, - - DEBUG_GLOBALS_CMD, - DEBUG_LOCALS_CMD, - /* DEBUG_CAT_CMD, already listed */ - DEBUG_SOURCE_CMD, - DEBUG_DATA_CMD, - DEBUG_OUTPUT_CMD, - DEBUG_CD_CMD, - - /* file related */ - /* DEBUG_OUTPUT_CMD, already listed */ - DEBUG_ENTITIES_CMD, - DEBUG_SYSTEM_CMD, - DEBUG_PUBLIC_CMD, - DEBUG_ENCODING_CMD, - DEBUG_VALIDATE_CMD, - DEBUG_LOAD_CMD, - DEBUG_SAVE_CMD, - DEBUG_WRITE_CMD, - DEBUG_FREE_CMD, - - /* Operating system related */ - DEBUG_CHDIR_CMD, - DEBUG_SHELL_EXEC_CMD, - DEBUG_TTY_CMD, - - /* libxslt parameter and options related */ - DEBUG_ADDPARAM_CMD, - DEBUG_DELPARAM_CMD, - DEBUG_SHOWPARAM_CMD, - DEBUG_SETOPTION_CMD, - DEBUG_OPTIONS_CMD, /* print options */ - - /* extra options/commands */ - DEBUG_TRACE_CMD, - DEBUG_WALK_CMD, - DEBUG_ADDWATCH_CMD, - DEBUG_DELWATCH_CMD, - DEBUG_SHOWWATCH_CMD, - - /* searching */ - DEBUG_SEARCH_CMD, - - /* variable change */ - DEBUG_SET_CMD - - /* language change */ - DEBUG_LANG_CMD - - /* NULL */ -}; -#endif - -#endif diff --git a/kxsldbg/kxsldbgpart/libxsldbg/debug.cpp b/kxsldbg/kxsldbgpart/libxsldbg/debug.cpp deleted file mode 100644 index 2975f814..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/debug.cpp +++ /dev/null @@ -1,235 +0,0 @@ - -/*************************************************************************** - debug.c - main functions for debugger use - ------------------- - begin : Fri Nov 2 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -#include "xsldbg.h" -#include "debug.h" -#include "debugXSL.h" /* needed for debugXSLBreak function */ -#include "breakpoint.h" -#include "callstack.h" -#include "files.h" -#include "options.h" - -#include <libxslt/xsltutils.h> /* need for breakpoint callback support */ - -/* setup debugger callbacks */ -struct DebuggerCallbacks { - xsltHandleDebuggerCallback debuggercallback; - xsltAddCallCallback addcallback; - xsltDropCallCallback dropcallback; -} debuggerDriver; - - -/* ----------------------------------------- - Private functions - -------------------------------------------*/ - -/** - * debugHandleDebugger: - * @cur : source node being executed - * @node : data node being processed - * @templ : temlate that applies to node - * @ctxt : the xslt transform context - * - * If either cur or node are a breakpoint, or xslDebugStatus in state - * where debugging must occcur at this time, then transfer control - * to the debugXSLBreak function - */ -void debugHandleDebugger(xmlNodePtr cur, xmlNodePtr node, - xsltTemplatePtr templ, - xsltTransformContextPtr ctxt); - -/* ------------------------------------- - End private functions ----------------------------------------*/ - - -/*----------------------------------------------------------- - Main debugger functions ------------------------------------------------------------*/ - - - -/** - * debugInit : - * - * Initialize debugger - * Returns 1 on success, - * 0 otherwise - */ -int -debugInit(void) -{ - int result; - - xslDebugStatus = DEBUG_NONE; - result = breakPointInit(); - result = result && callStackInit(); - - /* setup debugger callbacks */ - debuggerDriver.debuggercallback = debugHandleDebugger; - debuggerDriver.addcallback = callStackAdd; - debuggerDriver.dropcallback = callStackDrop; - xsltSetDebuggerCallbacks(3, &debuggerDriver); - return result; -} - - -/** - * debugFree : - * - * Free up any memory taken by debugging - */ -void -debugFree(void) -{ - breakPointFree(); - callStackFree(); -} - - -/** - * debugGotControl: - * @reached: 1 if debugger has received control, -1 to read its value, - 0 to clear the flag - * - * Set flag that debugger has received control to value of @reached - * - * Returns 1 if any break point was reached previously, - * 0 otherwise - */ -int -debugGotControl(int reached) -{ - static int hasReached; - int result = hasReached; - - if (reached != -1) - hasReached = reached; - return result; -} - - -/** - * debugHandleDebugger: - * @cur : source node being executed - * @node : data node being processed - * @templ : temlate that applies to node - * @ctxt : the xslt transform context - * - * If either cur or node are a breakpoint, or xslDebugStatus in state - * where debugging must occcur at this time then transfer control - * to the debugXSLBreak function - */ -void -debugHandleDebugger(xmlNodePtr cur, xmlNodePtr node, - xsltTemplatePtr templ, xsltTransformContextPtr ctxt) -{ - - if (!cur && !node) { - xsldbgGenericErrorFunc(i18n("Error: XSLT source and XML data are empty. Cannot enter the debugger.\n")); - } else { - if (optionsGetIntOption(OPTIONS_GDB)){ - int doValidation = 0; - switch(xsldbgValidateBreakpoints){ - case BREAKPOINTS_ARE_VALID: - if (!filesGetStylesheet() || !filesGetMainDoc()) { - xsldbgValidateBreakpoints = BREAKPOINTS_NEED_VALIDATION; - doValidation = 1; - } - - break; - - case BREAKPOINTS_NEED_VALIDATION: - if (filesGetStylesheet() && filesGetMainDoc() && templ){ - xsldbgValidateBreakpoints = BREAKPOINTS_BEING_VALIDATED; - doValidation = 1; - } - break; - - case BREAKPOINTS_BEING_VALIDATED: - /*should never be in the state for any length of time */ -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS - xsltGenericError(xsltGenericErrorContext, - "Error: Unexpected breakpoint validation state %d", xsldbgValidateBreakpoints); -#endif - break; - } - if (doValidation){ - /* breakpoints will either be marked as orphaned or not as needed */ - xsldbgValidateBreakpoints = BREAKPOINTS_BEING_VALIDATED; - walkBreakPoints((xmlHashScanner) - xslDbgShellValidateBreakPoint, ctxt); - if (filesGetStylesheet() && filesGetMainDoc() && templ){ - xsldbgValidateBreakpoints = BREAKPOINTS_ARE_VALID; - }else{ - xsldbgValidateBreakpoints = BREAKPOINTS_NEED_VALIDATION; - } - } - } - switch (xslDebugStatus) { - - /* A temparary stopping point */ - case DEBUG_WALK: - case DEBUG_TRACE: - /* only allow breakpoints at xml elements */ - if (xmlGetLineNo(cur) != -1) - debugXSLBreak(cur, node, templ, ctxt); - break; - - case DEBUG_STOP: - xslDebugStatus = DEBUG_CONT; - /* only allow breakpoints at xml elements */ - if (xmlGetLineNo(cur) != -1) - debugXSLBreak(cur, node, templ, ctxt); - break; - - case DEBUG_STEP: - /* only allow breakpoints at xml elements */ - if (xmlGetLineNo(cur) != -1) - debugXSLBreak(cur, node, templ, ctxt); - break; - - case DEBUG_CONT: - { - breakPointPtr breakPtr = NULL; - xmlChar *baseUri = NULL; - - if (cur) { - breakPtr = - breakPointGet(cur->doc->URL, - xmlGetLineNo(cur)); - - if (breakPtr && (breakPtr->flags & BREAKPOINT_ENABLED) ){ - debugXSLBreak(cur, node, templ, ctxt); - return; - } - } - if (node) { - baseUri = filesGetBaseUri(node); - if (baseUri != NULL) { - breakPtr = - breakPointGet(baseUri, xmlGetLineNo(node)); - } else { - breakPtr = - breakPointGet(node->doc->URL, - xmlGetLineNo(node)); - } - if (breakPtr) { - if (breakPtr->flags & BREAKPOINT_ENABLED) { - debugXSLBreak(cur, node, templ, ctxt); - } - } - if (baseUri) - xmlFree(baseUri); - } - } - break; - } - } -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/debug.h b/kxsldbg/kxsldbgpart/libxsldbg/debug.h deleted file mode 100644 index f05c50e4..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/debug.h +++ /dev/null @@ -1,105 +0,0 @@ - -/************************************************************************** - debug.h - declare major debugger functions - ------------------- - begin : Thur Jan 31 2002 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - **************************************************************************/ - -/************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - **************************************************************************/ - -#ifndef XSL_DEBUG_H -#define XSL_DEBUG_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - -#ifdef USE_GNOME_DOCS - -/** - * debugInit: - * - * Initialize debugger allocating any memory needed by debugger - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Initialize debugger allocating any memory needed by debugger - * - * @returns 1 on success, - * 0 otherwise - */ -#endif -#endif - int debugInit(void); - - - -#ifdef USE_GNOME_DOCS - -/** - * debugFree: - * - * Free up any memory taken by debugger - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Free up any memory taken by debugger - */ -#endif -#endif - void debugFree(void); - - -#ifdef USE_GNOME_DOCS - -/** - * debugGotControl: - * @reached: 1 if debugger has received control, -1 to read its value, - 0 to clear the flag - * - * Set flag that debuger has received control to value of @reached - * - * Returns 1 if any break point was reached previously, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Set flag that debuger has received control to value of @p reached - * - * @returns 1 if any breakpoint was reached previously, - * 0 otherwise - * - * @param reached 1 if debugger has received control, -1 to read its value, - * 0 to clear the flag - */ -#endif -#endif - int debugGotControl(int reached); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/kxsldbg/kxsldbgpart/libxsldbg/debugXSL.cpp b/kxsldbg/kxsldbgpart/libxsldbg/debugXSL.cpp deleted file mode 100644 index df63cdb2..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/debugXSL.cpp +++ /dev/null @@ -1,2118 +0,0 @@ - -/*************************************************************************** - debugXSL.c - debugger commands to use - ------------------- - begin : Sun Sep 16 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -/* - * Orinal file : debugXML.c : This is a set of routines used for - * debugging the tree produced by the XML parser. - * - * New file : shell.c : Debug support version - * - * See Copyright for the status of this software. - * - * Daniel Veillard <daniel@veillard.com> - * - * Permission obtained to modify the LGPL'd code and extend to include breakpoints, inspections of - * stylesheet source, xml data, stylesheet variables - */ - -#ifdef WIN32 -#include <wtypes.h> -#include <winbase.h> /* needed fort the sleep function */ -#endif - -#include "xsldbg.h" -#include "files.h" -#include "cmds.h" /* list of command Id's */ -#include "debug.h" -#include "debugXSL.h" -#include "options.h" -#include "breakpoint.h" -#include "help.h" -#include <stdlib.h> -#include <libxslt/transform.h> /* needed by source command */ -#include <libxslt/xsltInternals.h> -#include <libxml/debugXML.h> -#include <stdio.h> - -/* language change support */ -#ifdef LOCALE_PREFIX -#include <locale.h> -#endif - -#include "xsldbgmsg.h" -#include "xsldbgthread.h" /* for get thread status */ -#include "xsldbgio.h" - -/* current template being processed */ -xsltTemplatePtr rootCopy; - -/* how may items have been printed */ -int printCount; - -/* used to sending small amounts data when xsldbg runs as a thread */ -xmlChar messageBuffer[2000]; - -/* To achieve the same fucntionality of a next command - we first do a step, then a step up */ -int nextCommandActive = 0; - -/* Do we print the values for watches each time the debugger stops */ -int showWatchesActive = 1; - -extern FILE *terminalIO; - -int xsldbgStop = 0; -int xsldbgValidateBreakpoints = BREAKPOINTS_NEED_VALIDATION; -int xsldbgHasLineNumberFix; -bool xsldbgReachedFirstTemplate = false; - -/* valid commands of xslDbgShell */ -const char *commandNames[] = { - "help", - - "bye", - "exit", - "quit", - - "step", - "stepup", - "stepdown", - "next", /* next ie step over template function call*/ - "continue", - "run", - - "templates", - "where", - "frame", - "stylesheets", - - "break", - "showbreak", - "delete", - "enable", - "disable", - - "ls", - "dir", - "du", - "cat", - "print", - "pwd", - "dump", - "base", - - "globals", - "locals", - /* "cat", already listed */ - "source", - "data", - "output", /* output file name */ - "cd", - - /* file related */ - /* "output", already listed */ - "entities", - "system", - "public", - "encoding", - "validate", - "load", - "save", - "write", - "free", - - /* Operating system related */ - "chdir", - "shell", - "tty", - - /* libxslt parameter related */ - "addparam", - "delparam", - "showparam", - "setoption", - "options", - - /* extra options */ - "trace", - "walk", - "addwatch", - "delwatch", - "showwatch", - - /* searching */ - "search", - - /*variable value change */ - "set", - - /* language change */ - "lang", - - NULL /* Indicate the end of list */ -}; - -/* valid commands of xslShell in there alternative|shorter format */ -const char *shortCommandNames[] = { - "h", - - "bye", - "exit", - "q", /*quit */ - - "s", /* step */ - "up", /*stepup */ - "down", /* stepdown */ - "n", /* next ie step over function call*/ - "c", /* continue */ - "r", /* run */ - - "t", /* templates */ - "w", /* where */ - "f", - "style", - - "b", /* break */ - "show", - "d", /* delete */ - "e", /* enabled */ - "disable", - - "ls", - "dir", - "du", - "cat", - "print", - "pwd", - "dump", - "base", - - "globals", - "locals", - /* "cat", already listed */ - "source", - "data", - "o", /* output file name */ - "cd", - - - /* file related */ - /* "output", already listed */ - "ent", /* entities command */ - "sys", /* sytem command */ - "pub", /* public command */ - "encoding", - "validate", - "load", - "save", - "write", - "free", - - /* Operating system related */ - "chdir", - "shell", - "tty", - - /* libxslt parameter related */ - "addparam", - "delparam", - "showparam", - "setoption", - "options", - - /* extra options/commands */ - "trace", - "walk", - "watch", - "delwatch", - "watches", - - /* searching */ - "search", - - /*variable value change */ - "set", - - /* language change */ - "lang", - - NULL /* Indicate the end of list */ -}; - - -/* some convenient short cuts when using cd command*/ -const char *cdShortCuts[] = { - "<<", - ">>", - "<-", - "->", - NULL /* indicate end of list */ -}; - -/* what to replace shortcuts with */ -const char *cdAlternative[] = { - "preceding-sibling::node()", - "following-sibling::node()", - "ancestor::node()", - "descendant::node()", - NULL /* indicate end of list */ -}; - -/* what enum to use for shortcuts */ -enum ShortcutsEnum { - DEBUG_PREV_SIBLING = 200, - DEBUG_NEXT_SIBLING, - DEBUG_ANCESTOR_NODE, - DEBUG_DESCENDANT_NODE -}; - - - -#include <libxml/xpathInternals.h> - -#include <libxslt/extra.h> -#include <string.h> -#ifdef HAVE_STDLIB_H -#include <stdlib.h> -#endif -#ifdef HAVE_STRING_H -#include <string.h> -#endif - - -#include <libxml/xmlmemory.h> -#include <libxml/tree.h> -#include <libxml/parser.h> -#include <libxml/valid.h> -#include <libxml/debugXML.h> -#include <libxml/HTMLtree.h> -#include <libxml/HTMLparser.h> - - -/* ----------------------------------------- - Private function declarations for debugXSL.c - -------------------------------------------*/ - - -/* xslDbgCd : - * Change directories - * @styleCtxt : current stylesheet context - * @ctxt : current shell context - * @arg : path to change to - * @source : is valid - * - * Returns 1 on success, - * 0 otherwise - */ -int xslDbgCd(xsltTransformContextPtr styleCtxt, xmlShellCtxtPtr ctxt, - xmlChar * arg, xmlNodePtr source); - - -/** - * xslDbgPrintCallStack: - * @arg : the number of frame to print, NULL if all items - * - * Print all items found on the callStack - * - * Returns 1 on success, - * 0 otherwise - */ -int xslDbgPrintCallStack(const xmlChar * arg); - - -/** - * xslDbgSleep: - * @delay : the number of microseconds to delay exection by - * - * Delay execution by a specified number of microseconds. On some system - * this will not be at all accurate. - */ -void xslDbgSleep(long delay); - - -/** - * xslDbgWalkContinue: - * - * Delay execution for time as indicated by OPTION_WALK_SPEED - * Can only be called from within shellPrompt! - * OPTION_WALK_SPEED != WALKSPEED_STOP - * - * Returns 1 if walk is to continue, - * 0 otherwise - */ -int xslDbgWalkContinue(void); - - - -/** - * addBreakPointNode: - * @payload : valid breakPointPtr - * @data : not used - * @name : not used - * - * Convert payload into format needed, and add to search dataBase - */ -void - addBreakPointNode(void *payload, void *data, - xmlChar * name); - - -/** - * addSourceNode: - * @payload : valid xsltStylesheetPtr - * @data : not used - * @name : not used - * - * Convert payload into format needed, and add to search dataBase - */ -void - addSourceNode(void *payload, void *data, - xmlChar * name); - - -/** - * addTemplateNode: - * @payload : valid xsltTemplatePtr - * @data : not used - * @name : not used - * - * Convert payload into format needed, and add to search dataBase - */ -void - addTemplateNode(void *payload, void *data, - xmlChar * name); - -/** - * addGlobalNode: - * @payload : valid xmlNodePtr of global variable - * @data : not used - * @name : not used - * - * Convert payload into format needed, and add to search dataBase - */ -void - addGlobalNode(void *payload, void *data, - xmlChar * name); - -/** - * addLocalNode: - * @payload : valid xmlNodePtr of local variable - * @data : not used - * @name : not used - * - * Convert payload into format needed, and add to search dataBase - */ -void - addLocalNode(void *payload, void *data, - xmlChar * name); - - -/** - * addIncludeNode: - * @payload : valid xmlNodePtr of include instuction - * @data : not used - * @name : not used - * - * Convert payload into format needed, and add to search dataBase - */ -void - addIncludeNode(void *payload, void *data, - xmlChar * name); - - - -/** - * addCallStackItems: - * - * Convert call stack items into format needed, and add to search dataBase - */ -void - addCallStackItems(void); - - -/** - * shellPrompt: - * @source: The current stylesheet instruction being executed - * @doc: The current document node being processed - * @filename: Not used - * @input: The function to call to when reading commands from stdio - * @output: Where to put the results - * @styleCtxt: Is valid - * - * Present to the user the xsldbg shell - */ -void shellPrompt(xmlNodePtr source, xmlNodePtr doc, - xmlChar * filename, - xmlShellReadlineFunc input, - FILE * output, xsltTransformContextPtr styleCtxt); - -/* ------------------------------------- - End private functions ----------------------------------------*/ - - - -/** - * debugXSLGetTemplate: - * - * Return the last template node found, if an - * - * Returns The last template node found, if any - */ -xsltTemplatePtr -debugXSLGetTemplate(void) -{ - return rootCopy; -} - - -/**************************************************************** - * * - * The XSL shell related functions * - * * - ****************************************************************/ - - -/* xslDbgCd : - * Change directories - * @styleCtxt : current stylesheet context - * @ctxt : current shell context - * @arg : path to change to and in UTF-8 - * @source : is valid - * - * Returns 1 on success, - * 0 otherwise - */ -int -xslDbgCd(xsltTransformContextPtr styleCtxt, xmlShellCtxtPtr ctxt, - xmlChar * arg, xmlNodePtr source) -{ - xmlXPathObjectPtr list = NULL; - int result = 0; - int offset = 2; /* in some cases I'm only interested after first two chars */ - - if (!ctxt) { - xsldbgGenericErrorFunc(i18n("Error: Debugger has no files loaded. Try reloading files.\n")); - return result; - } - - if (arg == NULL) - arg = (xmlChar *) ""; - if (arg[0] == 0) { - ctxt->node = (xmlNodePtr) ctxt->doc; - } else { - if ((arg[0] == '-') && (xmlStrLen(arg) > 2)) { - if (styleCtxt) { - if (arg[1] == 't') { - xmlNodePtr templateNode; - - /* quickly find a template */ - /* skip any white spaces */ - while (_IS_BLANK(arg[offset])) - offset++; - - templateNode = - findTemplateNode(styleCtxt->style, &arg[offset]); - if (!templateNode) { - xsldbgGenericErrorFunc(i18n("Error: The XSLT template named \"%1\" was not found.\n").arg(xsldbgText(&arg[offset]))); - return result; - } else { - xsldbgGenericErrorFunc(i18n(" template: \"%1\"\n").arg(xsldbgText(&arg[offset]))); - ctxt->node = templateNode; - result = 1; - return result; - } - } else if (arg[1] == 's') { - /*quickly switch to another stylesheet node */ - xmlXPathContextPtr pctxt; - - if (source) { - pctxt = xmlXPathNewContext(source->doc); - if (pctxt == NULL) { - xmlFree(ctxt); - /* xslDebugStatus = DEBUG_QUIT; */ - return result; - } - if (!xmlXPathNsLookup(pctxt, (xmlChar *) "xsl")) - xmlXPathRegisterNs(pctxt, (xmlChar *) "xsl", - XSLT_NAMESPACE); - list = - xmlXPathEval((xmlChar *) & arg[offset], pctxt); - if (pctxt) { - xmlFree(pctxt); - } - } else { - xsldbgGenericErrorFunc(i18n("Error: Unable to cd. No stylesheet loaded.\n")); - } - } else { - xsldbgGenericErrorFunc(i18n("Error: Unknown arguments to the command %1.\n").arg("cd")); - } - } else - xsldbgGenericErrorFunc(i18n("Error: Unable to cd. No stylesheet loaded.\n")); - } else { - xmlNodePtr savenode; - - if (styleCtxt) { - savenode = styleCtxt->xpathCtxt->node; - ctxt->pctxt->node = ctxt->node; - styleCtxt->xpathCtxt->node = ctxt->node; - if (!xmlXPathNsLookup(ctxt->pctxt, (xmlChar *) "xsl")) - xmlXPathRegisterNs(ctxt->pctxt, (xmlChar *) "xsl", - XSLT_NAMESPACE); - list = xmlXPathEval((xmlChar *) arg, styleCtxt->xpathCtxt); - styleCtxt->xpathCtxt->node = savenode; - } else if (ctxt->pctxt) { - if (!xmlXPathNsLookup(ctxt->pctxt, (xmlChar *) "xsl")) - xmlXPathRegisterNs(ctxt->pctxt, (xmlChar *) "xsl", - XSLT_NAMESPACE); - list = xmlXPathEval((xmlChar *) arg, ctxt->pctxt); - } else { - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments to the command %1.\n").arg("cd")); - } - } - - if (list != NULL) { - switch (list->type) { - case XPATH_NODESET: - if (list->nodesetval) { - if (list->nodesetval->nodeNr == 1) { - ctxt->node = list->nodesetval->nodeTab[0]; - /* tell the application about the new line - * number we are looking at */ - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - int breakpoint = 0; - - xsldbgUpdateFileDetails(ctxt->node); - notifyXsldbgApp(XSLDBG_MSG_LINE_CHANGED, - &breakpoint); - } - result = 1; - } else - xsldbgGenericErrorFunc(i18n("Warning: XPath %1 is a Node Set with %n child.", "Warning: XPath %1 is a Node Set with %n children.", list->nodesetval->nodeNr).arg(xsldbgText(arg)) + TQString("\n")); - } else { - xsldbgGenericErrorFunc(i18n("Warning: XPath %1 is an empty Node Set.\n").arg(xsldbgText(arg))); - } - break; - - default: - xmlShellPrintXPathError(list->type, (char *) arg); - } - xmlXPathFreeObject(list); - } else { - xsldbgGenericErrorFunc(i18n("Error: XPath %1 was not found.\n").arg(xsldbgText(arg))); - } - if (ctxt->pctxt) - ctxt->pctxt->node = NULL; - } - return result; -} - - -/** - * xslDbgPrintCallStack: - * @arg : the number of frame to print, NULL if all items - * - * Print all items found on the callStack - * - * Returns 1 on success, - * 0 otherwise - */ -int -xslDbgPrintCallStack(const xmlChar * arg) -{ - int depth = 0; - int result = 1; - callPointPtr callPointItem; - - if (arg == NULL) { - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - notifyListStart(XSLDBG_MSG_CALLSTACK_CHANGED); - /* we send the oldest frame stack first */ - for (depth = 1; depth <= callStackGetDepth(); depth++) { - callPointItem = callStackGet(depth); - if (callPointItem && callPointItem->info) { - notifyListQueue(callPointItem); - } - } - notifyListSend(); - } else { - xmlChar *nameTemp, *modeTemp; - for (depth = callStackGetDepth(); depth >= 1; depth--) { - callPointItem = callStackGet(depth); - nameTemp = NULL; - modeTemp = NULL; - if (callPointItem && callPointItem->info) { - if (depth == callStackGetDepth()) { - xmlChar *curUrl = xsldbgUrl(); - long curLine = xsldbgLineNo(); - /* if possible list the current location */ - if (rootCopy && (rootCopy->match || rootCopy->name) - && curUrl) { - xmlChar *rootNameTemp, *rootModeTemp; - rootNameTemp = fullTQName(rootCopy->nameURI, rootCopy->name); - rootModeTemp = fullTQName(rootCopy->modeURI, rootCopy->mode); - if (rootNameTemp && rootModeTemp){ - if (rootCopy->match) - /* display information about the current XSLT template */ - xsldbgGenericErrorFunc(i18n("#%1 template: \"%2\" mode: \"%3\"").arg(depth).arg(xsldbgText(rootCopy->match)).arg(xsldbgText(rootModeTemp))); - else - /* display information about the current XSLT template */ - xsldbgGenericErrorFunc(i18n("#%1 template: \"%2\" mode: \"%3\"").arg(depth).arg(xsldbgText(rootNameTemp)).arg(xsldbgText(rootModeTemp))); - /* display where we are in the source/document file */ - xsldbgGenericErrorFunc(i18n(" in file \"%1\" at line %2\n").arg(xsldbgUrl(curUrl)).arg(curLine)); - }else{ - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - result = 0; - } - if (rootNameTemp){ - xmlFree(rootNameTemp); - rootNameTemp = NULL; - } - if (rootModeTemp){ - xmlFree(rootModeTemp); - rootModeTemp = NULL; - } - } else if (curUrl) { - /* display information about the current XSLT template */ - xsldbgGenericErrorFunc(i18n("#%1 template: \"LIBXSLT_DEFAULT\" mode: \"\"").arg(depth)); - /* display where we are in the source/document file */ - xsldbgGenericErrorFunc(i18n(" in file \"%1\" at line %2\n").arg(xsldbgUrl(curUrl)).arg(curLine)); - } - if (curUrl) - xmlFree(curUrl); - - } - nameTemp = fullTQName(callPointItem->info->templateURI, - callPointItem->info->templateName); - modeTemp = fullTQName(callPointItem->info->modeURI, - callPointItem->info->modeName); - if (nameTemp && modeTemp){ - /* display information about the current XSLT template */ - xsldbgGenericErrorFunc(i18n("#%1 template: \"%2\" mode: \"%3\"").arg(depth - 1).arg(xsldbgText(nameTemp)).arg(xsldbgText(modeTemp))); - if (callPointItem->info->url) - /* display where we are in the source/document file */ - xsldbgGenericErrorFunc(i18n(" in file \"%1\" at line %2\n").arg(xsldbgUrl(callPointItem->info->url)).arg(callPointItem->lineNo)); - else - xsldbgGenericErrorFunc("\n"); - }else{ - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - result = 0; - } - if (nameTemp){ - xmlFree(nameTemp); - nameTemp = NULL; - } - if(modeTemp){ - xmlFree(modeTemp); - modeTemp = NULL; - } - - } else { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Call stack item not found at depth %d : xslDbgPrintCallStack\n", depth); -#endif - result = 0; - break; - } - } - if (callStackGetDepth() == 0) - xsldbgGenericErrorFunc(i18n("\tNo items in call stack.\n")); - else - xsldbgGenericErrorFunc("\n"); - } - } else { - long templateDepth = atol((char *) arg); - - - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - /* should never happen but just in case, when running as a - * thread always provide NO params to the where command */ -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Notification of a frame not supported\n"); -#endif - result = 0; - return result; - } - - if (templateDepth >= 0) { - callPointItem = callStackGet(templateDepth + 1); - if (callPointItem && callPointItem->info) { - /* display information about the current XSLT template */ - xsldbgGenericErrorFunc(i18n("#%1 template: \"%2\"").arg(templateDepth).arg(xsldbgText(callPointItem->info->templateName))); - /* should alays be present but .. */ - if (callPointItem->info->url) - /* display where we are in the source/document file */ - xsldbgGenericErrorFunc(i18n(" in file \"%1\" at line %2\n").arg(xsldbgUrl(callPointItem->info->url)).arg(callPointItem->lineNo)); - else - xsldbgGenericErrorFunc("\n"); - } else { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Call stack item not found at templateDepth %d : xslDbgPrintCallStack\n", depth); -#endif - result = 0; - } - } - } - return result; -} - - -/** - * xslDbgSleep: - * @delay : the number of microseconds to delay exection by - * - * Delay execution by a specified number of microseconds. On some system - * this will not be at all accurate. - */ -void -xslDbgSleep(long delay) -{ -#ifdef HAVE_USLEEP - usleep(delay); -#else -#ifdef WIN32 - Sleep(delay / 1000); -#else - /* try to delay things by doing a lot of floating point - * multiplication - */ - long loop1, loop2; - float f1 = 1.0000001, f2; - - for (loop1 = 0; loop1 < 100000 * delay; loop1++) - for (loop2 = 0; loop2 < 100000; loop2++) { - f2 = f1 * f1; - } -#endif -#endif -} - - -/** - * xslDbgWalkContinue: - * - * Delay execution for time as indicated by OPTION_WALK_SPEED - * Can only be called from within shellPrompt! - * OPTION_WALK_SPEED != WALKSPEED_STOP - * - * Returns 1 if walk is to continue, - * 0 otherwise - */ -int -xslDbgWalkContinue(void) -{ - int result = 0, speed = optionsGetIntOption(OPTIONS_WALK_SPEED); - - /* We need to ensure that output is realy sent. Otherwise - * walking using xemacs under WIN32 will not work */ - fflush(stderr); - - switch (speed) { - case WALKSPEED_1: - case WALKSPEED_2: - case WALKSPEED_3: - case WALKSPEED_4: - case WALKSPEED_5: - case WALKSPEED_6: - case WALKSPEED_7: - case WALKSPEED_8: - case WALKSPEED_9: - /* see options.h for defintion of WALKDAY */ - xslDbgSleep(speed * WALKDELAY); - result = 1; - break; - - default: /* stop walking */ - optionsSetIntOption(OPTIONS_WALK_SPEED, WALKSPEED_STOP); - xslDebugStatus = DEBUG_STOP; - break; - } - - return result; -} - - -/** - * addBreakPointNode: - * @payload : valid breakPointPtr - * @data : not used - * @name : not used - * - * Convert payload into format needed, and add to search dataBase - */ -void -addBreakPointNode(void *payload, void *data, - xmlChar * name) -{ - Q_UNUSED(data); - Q_UNUSED(name); - xmlNodePtr node = searchBreakPointNode((breakPointPtr) payload); - - searchAdd(node); -} - - -/** - * addSourceNode: - * @payload : valid xsltStylesheetPtr - * @data : not used - * @name : not used - * - * Convert payload into format needed, and add to search dataBase - */ -void -addSourceNode(void *payload, void *data, - xmlChar * name) -{ - Q_UNUSED(data); - Q_UNUSED(name); - xmlNodePtr node = searchSourceNode((xsltStylesheetPtr) payload); - - searchAdd(node); -} - - -/** - * addTemplateNode: - * @payload : valid xsltTemplatePtr - * @data : not used - * @name : not used - * - * Convert payload into format needed, and add to search dataBase - */ -void -addTemplateNode(void *payload, void *data, - xmlChar * name) -{ - Q_UNUSED(data); - Q_UNUSED(name); - xmlNodePtr node = - searchTemplateNode(((xsltTemplatePtr) payload)->elem); - searchAdd(node); -} - - -/** - * addGlobalNode: - * @payload : valid xmlNodePtr of global variable - * @data : not used - * @name : not used - * - * Convert payload into format needed, and add to search dataBase - */ -void -addGlobalNode(void *payload, void *data, - xmlChar * name) -{ - Q_UNUSED(data); - Q_UNUSED(name); - xmlNodePtr node = searchGlobalNode((xmlNodePtr) payload); - - searchAdd(node); -} - - -/** - * addLocalNode: - * @payload : valid xmlNodePtr of local variable - * @data : not used - * @name : not used - * - * Convert payload into format needed, and add to search dataBase - */ -void -addLocalNode(void *payload, void *data, - xmlChar * name) -{ - Q_UNUSED(data); - Q_UNUSED(name); - xmlNodePtr node = searchLocalNode((xmlNodePtr) payload); - - searchAdd(node); -} - - -/** - * addIncludeNode: - * @payload : valid xmlNodePtr of include instuction - * @data : not used - * @name : not used - * - * Convert payload into format needed, and add to search dataBase - */ -void -addIncludeNode(void *payload, void *data, - xmlChar * name) -{ - Q_UNUSED(data); - Q_UNUSED(name); - xmlNodePtr node = searchIncludeNode((xmlNodePtr) payload); - - searchAdd(node); -} - - -/** - * addCallStackItems: - * - * Convert call stack items into format needed, and add to search dataBase - */ -void -addCallStackItems(void) -{ - callPointPtr item; - xmlNodePtr node; - int depth; - - for (depth = callStackGetDepth(); depth > 0; depth--) { - item = callStackGet(depth); - if (item) { - node = searchCallStackNode(item); - if (node) - searchAdd(node); - } - } -} - - -/** - * updateSearchData: - * @styleCtxt: Not used - * @style: Is valid - * @data: Not used but MUST be NULL for the moment - * @variableTypes: What types of variables to look - * - * Update the searchDatabase - * - * Returns 1 on success, - * 0 otherwise - */ -int -updateSearchData(xsltTransformContextPtr styleCtxt, - xsltStylesheetPtr style, - void *data, VariableTypeEnum variableTypes) -{ - Q_UNUSED(styleCtxt); - Q_UNUSED(variableTypes); - int result = 0; - - if (!style) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Unable to update search database no stylesheet loaded\n"); -#endif - return result; - } - searchEmpty(); - xsldbgGenericErrorFunc(i18n("Information: Updating search database. This may take a while...\n")); - /* add items to the search dataBase */ - addCallStackItems(); - xsldbgGenericErrorFunc(i18n("Information: Looking for breakpoints.\n")); - walkBreakPoints((xmlHashScanner) addBreakPointNode, data); - xsldbgGenericErrorFunc(i18n("Information: Looking for imports and top-level stylesheets.\n")); - walkStylesheets((xmlHashScanner) addSourceNode, data, style); - xsldbgGenericErrorFunc(i18n("Information: Looking for xsl:includes.\n")); - walkIncludeInst((xmlHashScanner) addIncludeNode, data, style); - xsldbgGenericErrorFunc(i18n("Information: Looking for templates.\n")); - walkTemplates((xmlHashScanner) addTemplateNode, data, style); - xsldbgGenericErrorFunc(i18n("Information: Looking for global variables.\n")); - walkGlobals((xmlHashScanner) addGlobalNode, data, style); - xsldbgGenericErrorFunc(i18n("Information: Looking for local variables.\n")); - walkLocals((xmlHashScanner) addLocalNode, data, style); - xsldbgGenericErrorFunc(i18n("Information: Formatting output.\n")); - - result = searchSave(NULL); - return result; -} - - -/** - * debugXSLBreak: - * @templ: The source node being executed - * @node: The data node being processed - * @root: The template being applied to "node" - * @ctxt: The transform context for stylesheet being processed - * - * A break point has been found so pass control to user - */ -void -debugXSLBreak(xmlNodePtr templ, xmlNodePtr node, xsltTemplatePtr root, - xsltTransformContextPtr ctxt) -{ - xmlDocPtr tempDoc = NULL; - xmlNodePtr tempNode = NULL; - rootCopy = root; - static const xmlChar *lastTemplate = NULL; - xmlBufferPtr buffer = xmlBufferCreate(); - static char mybuff[6] = " 0\n\x0"; - - if (ctxt && templ && root && !xsldbgReachedFirstTemplate) - xsldbgReachedFirstTemplate = true; - - if (templ == NULL) { - tempDoc = xmlNewDoc((xmlChar *) "1.0"); - if (!tempDoc) - return; - tempNode = xmlNewNode(NULL, (xmlChar *) "xsldbg_default_node"); - if (!tempNode) { - xmlFreeDoc(tempDoc); - return; - } - xmlAddChild((xmlNodePtr) tempDoc, tempNode); - templ = tempNode; - } - - if (node == NULL) - node = (xmlNodePtr) filesGetMainDoc(); - - if (node == NULL) { - tempDoc = xmlNewDoc((xmlChar *) "1.0"); - if (!tempDoc) - return; - tempNode = xmlNewNode(NULL, (xmlChar *) "xsldbg_default_node"); - if (!tempNode) { - xmlFreeDoc(tempDoc); - return; - } - xmlAddChild((xmlNodePtr) tempDoc, tempNode); - node = tempNode; - } - if (root) { - xmlChar *nameTemp = NULL, *modeTemp = NULL; - nameTemp = fullTQName(root->nameURI, root->name); - modeTemp = fullTQName(root->modeURI, root->mode); - if (!nextCommandActive){ - /* we only want messages if we are not - in the process of completing the next command */ - if (terminalIO == NULL) { - - if (root->match){ - xsldbgGenericErrorFunc(i18n("\nReached template: \"%1\" mode: \"%2\"\n").arg(xsldbgText(root->match)).arg(xsldbgText(modeTemp))); - if (lastTemplate != root->match && buffer){ - xmlBufferCCat(buffer, "\nreached matched template:"); - xmlBufferCat(buffer, root->match); - xmlBufferCCat(buffer, mybuff); - xsltCopyTextString(ctxt, ctxt->insert,xmlBufferContent(buffer),0); - mybuff[1]++; - lastTemplate = root->match; - } - }else{ - xsldbgGenericErrorFunc(i18n("\nReached template: \"%1\" mode: \"%2\"\n").arg(xsldbgText(nameTemp)).arg(xsldbgText(modeTemp))); - if (lastTemplate != root->name && buffer){ - xmlBufferCCat(buffer, "\nreached named template:"); - xmlBufferCat(buffer,root->match); - xmlBufferCCat(buffer,mybuff); - xsltCopyTextString(ctxt, ctxt->insert,xmlBufferContent(buffer),0); - mybuff[1]++; - lastTemplate = root->name; - } - - } - if (buffer) - xmlBufferFree(buffer); - } else { - if ((xslDebugStatus == DEBUG_TRACE) || - (xslDebugStatus == DEBUG_WALK)) { - TQString message; - if (root->match) - message = i18n("\nReached template: \"%1\" mode: \"%2\"\n").arg(xsldbgText(root->match)).arg(xsldbgText(modeTemp)); - else - message = i18n("\nReached template: \"%1\" mode: \"%2\"\n").arg(xsldbgText(nameTemp)).arg(xsldbgText(modeTemp)); - fprintf(terminalIO, "%s", message.local8Bit().data()); - } - } - } - if (nameTemp) - xmlFree(nameTemp); - if (modeTemp) - xmlFree(modeTemp); - } - - shellPrompt(templ, node, (xmlChar *) "index.xsl", - (xmlShellReadlineFunc) xslDbgShellReadline, stdout, ctxt); - if (tempDoc) - xmlFreeDoc(tempDoc); -} - - -/* Highly modified function based on xmlShell */ - -/** - * shellPrompt: - * @source: The current stylesheet instruction being executed - * @doc: The current document node being processed - * @filename: Not used - * @input: The function to call to when reading commands from stdio - * @output: Where to put the results - * @styleCtxt: Is valid - * - * Present to the user the xsldbg shell - */ -void -shellPrompt(xmlNodePtr source, xmlNodePtr doc, xmlChar * filename, - xmlShellReadlineFunc input, FILE * output, - xsltTransformContextPtr styleCtxt) -{ - xmlChar prompt[DEBUG_BUFFER_SIZE] = "/ > "; - xmlChar *cmdline = NULL, *cur; - int nbargs = 0; - int loadedFiles = 0; - int commandId = -1; /* stores what was the last - * command id entered by user */ - xmlChar command[DEBUG_BUFFER_SIZE]; /* holds the command user entered */ - xmlChar arg[DEBUG_BUFFER_SIZE]; /* holds any extra arguments to - * command entered */ - xmlChar dir[DEBUG_BUFFER_SIZE]; /* temporary buffer used by where - * and pwd commands */ - int cmdResult; /* result of last command */ - int shortCutId = -1; /* used by cd command */ - int i; - static int showSource = 1; /* Do we first show source or data ? */ - xmlChar *baseUri = NULL; /* for used for included xml entities */ - const xmlChar *breakUri; - - /* for convenience keep track of which node was last - * selected of source and doc */ - xmlNodePtr lastSourceNode, lastDocNode; - - - xmlShellCtxtPtr ctxt; - int exitShell = 0; /* Indicate when to exit xslShell */ - - if (source == NULL){ -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Source NULL in shellPrompt\n"); -#endif - return; - } - if (doc == NULL){ -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: doc NULL in shellPrompt\n"); -#endif - return; - } - if (filename == NULL){ -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: fileName NULL in shellPrompt\n"); -#endif - return; - } - if (input == NULL){ -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Input function NULL in shellPrompt\n"); -#endif - return; - } - if (output == NULL){ -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Output NULL in shellPrompt\n"); -#endif - return; - } - ctxt = (xmlShellCtxtPtr) xmlMalloc(sizeof(xmlShellCtxt)); - if (ctxt == NULL){ - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - return; - } - - /* flag that we've received control */ - debugGotControl(1); - ctxt->loaded = 0; - lastSourceNode = source; - lastDocNode = doc; - /* show the doc or source first? */ - if (showSource) { - ctxt->doc = source->doc; - ctxt->node = source; - xsldbgUpdateFileDetails(source); - } else { - ctxt->doc = doc->doc; - ctxt->node = (xmlNodePtr) doc; - xsldbgUpdateFileDetails((xmlNodePtr) doc); - } - - ctxt->input = input; - ctxt->output = output; - ctxt->filename = (char *) xmlStrdup((xmlChar *) filename); - - - if (xsldbgStop == 1){ - xslDebugStatus = DEBUG_STOP; - optionsSetIntOption(OPTIONS_TRACE, TRACE_OFF); - optionsSetIntOption(OPTIONS_WALK_SPEED, WALKSPEED_STOP); - xsldbgStop = 0; - } - - /* let any listener know that we got to a new line */ - if (xslDebugStatus != DEBUG_TRACE) { - /* don't send notify message if we are tracing stylesheet */ - int breakpoint = 1; - - notifyXsldbgApp(XSLDBG_MSG_LINE_CHANGED, &breakpoint); - } - - - /* If using a thread and the thread is running then we don't need to - * send this as the application will see the XSLDBG_MSG_LINE_CHANGED message */ - if ((getThreadStatus() == XSLDBG_MSG_THREAD_NOTUSED) || - (xslDebugStatus == DEBUG_TRACE)) { - TQString messageTxt; - if (!nextCommandActive && ctxt->node && ctxt->node && ctxt->node->doc - && ctxt->node->doc->URL) { - if (!showSource) { - baseUri = filesGetBaseUri(ctxt->node); - if (baseUri != NULL) - breakUri = baseUri; - else - breakUri = ctxt->node->doc->URL; - } else - breakUri = ctxt->node->doc->URL; - - if (xmlGetLineNo(ctxt->node) != -1) - messageTxt = i18n("Breakpoint for file \"%1\" at line %2.\n").arg(xsldbgUrl(breakUri)).arg(xmlGetLineNo(ctxt->node)); - else - messageTxt = i18n("Breakpoint at text node in file \"%1\".\n").arg(xsldbgUrl(breakUri)); - if (baseUri != NULL) { - xmlFree(baseUri); - baseUri = NULL; - } - - if (((xslDebugStatus == DEBUG_TRACE) || - (xslDebugStatus == DEBUG_WALK)) && (terminalIO != NULL)) - fprintf(terminalIO, "%s", messageTxt.utf8().data()); - else - xsldbgGenericErrorFunc(messageTxt); - - } - } - if ((showWatchesActive && (xslDebugStatus == DEBUG_TRACE)) || - (xslDebugStatus == DEBUG_WALK)){ - ctxt->pctxt = xmlXPathNewContext(ctxt->doc); - if (ctxt->pctxt) { - xslDbgShellShowWatches(styleCtxt, ctxt, 0); - xsldbgGenericErrorFunc("\n"); - xmlXPathFreeContext(ctxt->pctxt); - ctxt->pctxt = NULL; - } - } - - if (xslDebugStatus == DEBUG_TRACE) { - if (ctxt->filename) - xmlFree(ctxt->filename); - xmlFree(ctxt); - return; /* All done. Trace next instruction/node */ - } - if (xslDebugStatus == DEBUG_WALK) { - if (xslDbgWalkContinue()) { - if (ctxt->filename) - xmlFree(ctxt->filename); - xmlFree(ctxt); - return; /* All done. Walk to next instruction/node */ - } - } - - ctxt->pctxt = xmlXPathNewContext(ctxt->doc); - if (ctxt->pctxt == NULL) { - xmlFree(ctxt); - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - return; - } - - if (showWatchesActive){ - xslDbgShellShowWatches(styleCtxt, ctxt, 0); - xsldbgGenericErrorFunc("\n"); - } - - while (!exitShell && (xslDebugStatus != DEBUG_QUIT)) { - if (getThreadStatus() != XSLDBG_MSG_THREAD_RUN) { - if (ctxt->node == (xmlNodePtr) ctxt->doc) - snprintf((char *) prompt, DEBUG_BUFFER_SIZE - 1, - "(xsldbg) %s > ", "/"); - else if ((ctxt->node->name) && (ctxt->node->ns)) - snprintf((char *) prompt, DEBUG_BUFFER_SIZE - 1, - "(xsldbg) %s:%s > ", ctxt->node->ns->prefix, - ctxt->node->name); - else if (ctxt->node->name) - snprintf((char *) prompt, DEBUG_BUFFER_SIZE - 1, - "(xsldbg) %s > ", ctxt->node->name); - - else - snprintf((char *) prompt, DEBUG_BUFFER_SIZE - 1, - "(xsldbg) ? > "); - - prompt[sizeof(prompt) - 1] = 0; - - /* - * Get a new command line - */ - if (nextCommandActive && (xslDebugStatus == DEBUG_STEP)) - /* we are processing the "next command" do the next - part of the command which is the up command */ - cmdline = xmlStrdup((xmlChar*)"up"); - else - cmdline = (xmlChar *) ctxt->input((char *) prompt); - if (cmdline && (optionsGetIntOption(OPTIONS_UTF8_INPUT) == 0)) { - /* we are getting encoded characters from the command line - * so decode them into UTF-8 */ - xmlChar *tempResult = filesDecode(cmdline); - - if (tempResult) { - xmlFree(cmdline); - cmdline = tempResult; - } - } - } else { - /* don't need a prompt for running as when running as a thread */ - xmlStrCpy(messageBuffer, ""); - if (nextCommandActive && (xslDebugStatus == DEBUG_STEP)) - /* we are processing the "next command" do the next - part of the command which is the up command */ - cmdline = xmlStrdup((xmlChar*)"up"); - else - cmdline = (xmlChar *) ctxt->input((char *) messageBuffer); - } - - if (cmdline == NULL) - break; - - /* don't allow next command to be active more than at one breakpoint */ - if (nextCommandActive) - nextCommandActive = 0; - - notifyXsldbgApp(XSLDBG_MSG_PROCESSING_INPUT, NULL); - - /* remove leading/trailing blanks */ - trimString(cmdline); - - /* - * Parse the command itself - */ - cur = cmdline; - nbargs = 0; - while ((*cur == ' ') || (*cur == '\t')) - cur++; - i = 0; - while ((*cur != ' ') && (*cur != '\t') && - (*cur != '\n') && (*cur != '\r')) { - if (*cur == 0) - break; - command[i++] = *cur++; - } - command[i] = 0; - if (i == 0) - continue; - nbargs++; - - /* - * Parse the argument - */ - while ((*cur == ' ') || (*cur == '\t')) - cur++; - i = 0; - while ((*cur != '\n') && (*cur != '\r') && (*cur != 0)) { - if (*cur == 0) - break; - arg[i++] = *cur++; - } - arg[i] = 0; - if (i != 0) - nbargs++; - - - commandId = lookupName(command, (xmlChar **) commandNames); - /* try command shorts if command is not found */ - if (commandId < 0) - commandId = - lookupName(command, (xmlChar **) shortCommandNames); - - cmdResult = -1; /* flag that it contains no result */ - /* - * start interpreting the command - */ - switch (commandId + DEBUG_HELP_CMD) { - /* --- Help related commands --- */ - case DEBUG_HELP_CMD: - cmdResult = helpTop(arg); - if (!cmdResult) - xsldbgGenericErrorFunc(i18n("Unable to print local help. Online help can be found at http://xsldbg.sourceforge.net/docs/index.html.\n")); - break; - - - /* --- Running related commands --- */ - case DEBUG_BYE_CMD: - case DEBUG_EXIT_CMD: - case DEBUG_QUIT_CMD: - /* allow the stylesheet to exit */ - xslDebugStatus = DEBUG_QUIT; - exitShell++; - cmdResult = 1; - break; - - case DEBUG_NEXT_CMD: - xslDebugStatus = DEBUG_STEP; - exitShell++; - cmdResult = 1; - /* Do the the next part of this command - which is the up command */ - nextCommandActive = 1; - break; - - case DEBUG_STEP_CMD: - xslDebugStatus = DEBUG_STEP; - exitShell++; - cmdResult = 1; - break; - - case DEBUG_STEPUP_CMD: - { - xmlChar *noOfFrames = arg; - - /* skip until next space character */ - while (*noOfFrames && (*noOfFrames != ' ')) { - noOfFrames++; - } - cmdResult = xslDbgShellFrameBreak(noOfFrames, 1); - exitShell++; - } - break; - - case DEBUG_STEPDOWN_CMD: - { - xmlChar *noOfFrames = arg; - - /* skip until next space character */ - while (*noOfFrames && (*noOfFrames != ' ')) { - noOfFrames++; - } - cmdResult = xslDbgShellFrameBreak(noOfFrames, 0); - exitShell++; - } - break; - - /* continue to next break point */ - case DEBUG_CONT_CMD: - xslDebugStatus = DEBUG_CONT; - exitShell++; - cmdResult = 1; - break; - - /* restart */ - case DEBUG_RUN_CMD: - xslDebugStatus = DEBUG_RUN_RESTART; - exitShell++; - cmdResult = 1; - break; - - - /* --- Template related commands --- */ - case DEBUG_TEMPLATES_CMD: - { - int allFiles = 1, verbose = 1; - - if (xmlStrLen(arg) && (xmlStrCmp(arg, "this") == 0)) { - allFiles = 0; - } - - /* be verbose when printing template names */ - /* if args is not empty then print names this stylesheet */ - cmdResult = - xslDbgShellPrintTemplateNames(styleCtxt, ctxt, arg, - verbose, allFiles); - break; - } - - - case DEBUG_WHERE_CMD: - /* Print the current working directory as well */ - xslDbgPrintCallStack(NULL); - if (getThreadStatus() != XSLDBG_MSG_THREAD_RUN) { - if (!xmlShellPwd(ctxt, (char *) dir, ctxt->node, NULL)){ - xsldbgGenericErrorFunc((const char*)dir); - xsldbgGenericErrorFunc("\n"); - } - } - cmdResult = 1; - - break; - - case DEBUG_FRAME_CMD: - cmdResult = xslDbgPrintCallStack(arg); - break; - - case DEBUG_STYLESHEETS_CMD: - cmdResult = xslDbgShellPrintStyleSheets(arg); - break; - - /* --- Break point related commands --- */ - case DEBUG_BREAK_CMD: - if (xmlStrLen(arg)) { - if (styleCtxt) - cmdResult = - xslDbgShellBreak(arg, styleCtxt->style, - styleCtxt); - else - cmdResult = xslDbgShellBreak(arg, NULL, styleCtxt); - } else { - /* select current node to break at */ - xmlChar buff[100]; - xmlChar *tempBaseName = filesGetBaseUri(ctxt->node); - if (tempBaseName){ - snprintf((char *) buff, sizeof(buff), "-l %s %ld", - tempBaseName, - xmlGetLineNo(ctxt->node)); - xmlFree(tempBaseName); - } - if (styleCtxt) - cmdResult = - xslDbgShellBreak(buff, styleCtxt->style, - styleCtxt); - else - cmdResult = - xslDbgShellBreak(buff, NULL, styleCtxt); - } - - break; - - case DEBUG_SHOWBREAK_CMD: - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - notifyListStart(XSLDBG_MSG_BREAKPOINT_CHANGED); - walkBreakPoints((xmlHashScanner) - xslDbgShellPrintBreakPoint, NULL); - notifyListSend(); - } else { - xsldbgGenericErrorFunc("\n"); - printCount = 0; /* printCount will get updated by - * xslDbgShellPrintBreakPoint */ - - walkBreakPoints((xmlHashScanner) - xslDbgShellPrintBreakPoint, NULL); - if (printCount == 0) - xsldbgGenericErrorFunc(i18n("\nNo breakpoints are set for the file.\n")); - else - xsldbgGenericErrorFunc(i18n("\tTotal of %n breakpoint present.","\tTotal of %n breakpoints present.", printCount) + TQString("\n")); - } - cmdResult = 1; - break; - - case DEBUG_DELETE_CMD: - if (xmlStrLen(arg)) - cmdResult = xslDbgShellDelete((xmlChar *) arg); - else { - breakPointPtr breakPtr = NULL; - xmlChar* tempBaseName = filesGetBaseUri(ctxt->node); - - if (tempBaseName){ - breakPtr = - breakPointGet(tempBaseName, - xmlGetLineNo(ctxt->node)); - xmlFree(tempBaseName); - } - if (!breakPtr || !breakPointDelete(breakPtr)) { - xsldbgGenericErrorFunc(i18n("Error: Unable to delete breakpoint.\n")); - cmdResult = 0; - } - } - break; - - case DEBUG_ENABLE_CMD: - if (xmlStrLen(arg)) - cmdResult = - xslDbgShellEnable(arg, XSL_TOGGLE_BREAKPOINT); - else { - breakPointPtr breakPtr = NULL; - xmlChar * tempBaseName = filesGetBaseUri(ctxt->node); - - if (tempBaseName){ - breakPtr = - breakPointGet(tempBaseName, - xmlGetLineNo(ctxt->node)); - xmlFree(tempBaseName); - } - if (!breakPtr || - (!breakPointEnable(breakPtr, !(breakPtr->flags & BREAKPOINT_ENABLED)))) { - xsldbgGenericErrorFunc(i18n("Error: Unable to enable/disable breakpoint.\n")); - cmdResult = 0; - } - } - break; - - case DEBUG_DISABLE_CMD: - if (xmlStrLen(arg)) - cmdResult = xslDbgShellEnable(arg, 0); - else { - breakPointPtr breakPtr = NULL; - xmlChar *tempBaseName = filesGetBaseUri(ctxt->node); - - if (tempBaseName){ - breakPtr = - breakPointGet(tempBaseName, - xmlGetLineNo(ctxt->node)); - xmlFree(tempBaseName); - } - if (!breakPtr || !breakPointEnable(breakPtr, 0)) { - xsldbgGenericErrorFunc(i18n("Error: Unable to enable/disable breakpoint.\n")); - cmdResult = 0; - } - } - break; - - - - /* --- Node view related commands --- */ - case DEBUG_LS_CMD: - cmdResult = xslDbgShellPrintList(ctxt, arg, 0); - break; - - case DEBUG_DIR_CMD: - cmdResult = xslDbgShellPrintList(ctxt, arg, 1); - break; - - case DEBUG_DU_CMD: - xmlShellDu(ctxt, NULL, ctxt->node, NULL); - cmdResult = 1; - break; - - case DEBUG_CAT_CMD: - case DEBUG_PRINT_CMD: - cmdResult = xslDbgShellCat(styleCtxt, ctxt, arg); - break; - - case DEBUG_PWD_CMD: - if (!xmlShellPwd(ctxt, (char *) dir, ctxt->node, NULL)) { - xmlChar* tempBaseName = filesGetBaseUri(ctxt->node); - if(tempBaseName){ - xsldbgGenericErrorFunc("\n"); - xsldbgGenericErrorFunc((char*)dir); - xsldbgGenericErrorFunc(i18n(" in file \"%1\" at line %2").arg(xsldbgUrl(tempBaseName)).arg(xmlGetLineNo(ctxt->node))); - xmlFree(tempBaseName); - cmdResult = 1; - } - } - if (cmdResult) - xsldbgGenericErrorFunc("\n"); - else - xsldbgGenericErrorFunc(i18n("Error: Unable to print working directory.\n")); - break; - - case DEBUG_DUMP_CMD: - xmlDebugDumpDocument(stdout, ctxt->doc); - cmdResult = 1; - break; - - case DEBUG_BASE_CMD: - xmlShellBase(ctxt, NULL, ctxt->node, NULL); - cmdResult = 1; - break; - - - /* --- Variable related commands --- */ - case DEBUG_GLOBALS_CMD: - if (loadedFiles == 0) - cmdResult = xslDbgShellPrintVariable(styleCtxt, arg, - DEBUG_GLOBAL_VAR); - else { - xsldbgGenericErrorFunc(i18n("Error: Need to use the run command first.\n")); - cmdResult = 0; - } - break; - - case DEBUG_LOCALS_CMD: - if (loadedFiles == 0) - /* if gdb compatability mode is enable print the globals then - * the locals */ - if (optionsGetIntOption(OPTIONS_GDB) == 1) { - cmdResult = - xslDbgShellPrintVariable(styleCtxt, arg, - DEBUG_GLOBAL_VAR); - if (cmdResult == 1) - cmdResult = - xslDbgShellPrintVariable(styleCtxt, arg, - DEBUG_LOCAL_VAR); - } else - cmdResult = - xslDbgShellPrintVariable(styleCtxt, arg, - DEBUG_LOCAL_VAR); - else { - xsldbgGenericErrorFunc(i18n("Error: Need to use the run command first.\n")); - cmdResult = 0; - } - break; - - - /* It's difficult to put the following commands into - * a separe file so they stay here! */ - /* --- Node selection related commands --- */ - case DEBUG_SOURCE_CMD: - cmdResult = 1; /* only one case where this will command fail */ - xsldbgValidateBreakpoints = BREAKPOINTS_NEED_VALIDATION; - if (xmlStrLen(arg) == 0) { - if (ctxt->doc == doc->doc) - lastDocNode = ctxt->node; - ctxt->doc = source->doc; - ctxt->node = lastSourceNode; - if (ctxt->pctxt) - xmlXPathFreeContext(ctxt->pctxt); - ctxt->pctxt = xmlXPathNewContext(ctxt->doc); - showSource = 1; - xsldbgUpdateFileDetails((xmlNodePtr) ctxt->node); - /* let any listener know that we got to a new line */ - notifyXsldbgApp(XSLDBG_MSG_LINE_CHANGED, NULL); - if (ctxt->pctxt == NULL) { - xmlFree(ctxt); - xslDebugStatus = DEBUG_QUIT; - return; - } else - break; - } else { - /* load new stylesheet file, actual loading happens later */ - xmlChar *expandedName = filesExpandName(arg); - - if (expandedName) { - xsldbgGenericErrorFunc(i18n("Load of source deferred. Use the run command.\n")); - - optionsSetStringOption(OPTIONS_SOURCE_FILE_NAME, - expandedName); - notifyXsldbgApp(XSLDBG_MSG_FILE_CHANGED, 0L); - loadedFiles = 1; - xmlFree(expandedName); - cmdResult = 1; - } else { - cmdResult = 0; - } - } - break; - - case DEBUG_DATA_CMD: - cmdResult = 1; /* only one case where this will command fail */ - xsldbgValidateBreakpoints = BREAKPOINTS_NEED_VALIDATION; - if (xmlStrLen(arg) == 0) { - if (ctxt->doc == source->doc) - lastSourceNode = ctxt->node; - ctxt->doc = doc->doc; - ctxt->node = lastDocNode; - if (ctxt->pctxt) - xmlXPathFreeContext(ctxt->pctxt); - ctxt->pctxt = xmlXPathNewContext(ctxt->doc); - showSource = 0; - xsldbgUpdateFileDetails((xmlNodePtr) ctxt->node); - /* let any listener know that we got to a new line */ - notifyXsldbgApp(XSLDBG_MSG_LINE_CHANGED, NULL); - if (ctxt->pctxt == NULL) { - xmlFree(ctxt); - xslDebugStatus = DEBUG_QUIT; - return; - } else - break; - } else { - /* load new xml file actual loading hapens later */ - xmlChar *expandedName = filesExpandName(arg); - - if (expandedName) { - xsldbgGenericErrorFunc(i18n("Load of data file deferred. Use the run command.\n")); - - optionsSetStringOption(OPTIONS_DATA_FILE_NAME, - expandedName); - notifyXsldbgApp(XSLDBG_MSG_FILE_CHANGED, 0L); - loadedFiles = 1; - xmlFree(expandedName); - cmdResult = 1; - } else { - cmdResult = 0; - } - } - break; - - case DEBUG_OUTPUT_CMD: - /* set the output file name to use */ - cmdResult = xslDbgShellOutput(arg); - break; - - case DEBUG_CD_CMD: - /* use dir as a working buffer */ - xmlStrnCpy(dir, arg, 2); - dir[2] = '\0'; - shortCutId = lookupName(dir, (xmlChar **) cdShortCuts); - if (shortCutId >= 0) { - if (xmlStrLen(arg) == 2) { - cmdResult = xslDbgCd(styleCtxt, ctxt, (xmlChar *) - cdAlternative[shortCutId], - source); - } else { - - xmlStrCpy(dir, cdAlternative[shortCutId]); - xmlStrCat(dir, &arg[2]); - cmdResult = xslDbgCd(styleCtxt, ctxt, dir, source); - } - - } else - cmdResult = xslDbgCd(styleCtxt, ctxt, arg, source); - break; - - - /* --- File related commands --- */ - case DEBUG_ENTITIES_CMD: - cmdResult = xslDbgEntities(); - break; - - case DEBUG_SYSTEM_CMD: - /* strip off a single argument. I need to do it this - way because I've already public this API */ - { - xmlChar *systemID; - if (splitString(arg, 1, &systemID) == 1){ - cmdResult = xslDbgSystem(systemID); - }else{ - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments for the command %1.\n").arg("system")); - } - } - break; - - case DEBUG_PUBLIC_CMD: - /* strip off a single argument. I need to do it this - way because I've already public this API */ - { - xmlChar *publicID; - if (splitString(arg, 1, &publicID) == 1){ - cmdResult = xslDbgPublic(publicID); - }else{ - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments for the command %1.\n").arg("public")); - } - } - break; - - case DEBUG_ENCODING_CMD: - cmdResult = xslDbgEncoding(arg); - break; - - case DEBUG_VALIDATE_CMD: - xsldbgGenericErrorFunc(i18n("Warning: The %1 command is disabled.\n").arg("validate")); - cmdResult = 0; - /* - * xmlShellValidate(ctxt, arg, NULL, NULL); - */ - break; - - case DEBUG_LOAD_CMD: - cmdResult = optionsLoad(); - /* restart xsldbg and activate new configuration */ - if (cmdResult == 1) { - xslDebugStatus = DEBUG_RUN_RESTART; - exitShell++; - } - break; - - case DEBUG_SAVE_CMD: - cmdResult = optionsSave(); - break; - - case DEBUG_WRITE_CMD: - xsldbgGenericErrorFunc(i18n("Warning: The %1 command is disabled.\n").arg("write")); - cmdResult = 0; - /* - * xmlShellWrite(ctxt, arg, NULL, NULL); - */ - break; - - case DEBUG_FREE_CMD: - xsldbgGenericErrorFunc(i18n("Warning: The %1 command is disabled.\n").arg("free")); - cmdResult = 0; - /* - * if (arg[0] == 0) { - * xmlMemShow(stdout, 0); - * } else { - * int len = 0; - * sscanf(arg, "%d", &len); - * xmlMemShow(stdout, len); - * } - */ - break; - - - /* operating system related */ - case DEBUG_CHDIR_CMD: - cmdResult = xslDbgShellChangeWd(arg); - break; - - case DEBUG_SHELL_EXEC_CMD: - cmdResult = xslDbgShellExecute(arg, 1); - break; - - - /* libxslt parameter related commands */ - case DEBUG_ADDPARAM_CMD: - cmdResult = xslDbgShellAddParam(arg); - break; - - case DEBUG_DELPARAM_CMD: - cmdResult = xslDbgShellDelParam(arg); - break; - - case DEBUG_SHOWPARAM_CMD: - cmdResult = xslDbgShellShowParam(arg); - break; - - - - /* option related commmands */ - case DEBUG_SETOPTION_CMD: - cmdResult = xslDbgShellSetOption(arg); - break; - - case DEBUG_OPTIONS_CMD: - cmdResult = xslDbgShellOptions(); - break; - - - - /* misc commands */ - case DEBUG_TTY_CMD: - if (openTerminal(arg)) { - /* gdb does to say anything after redirecting its - output */ - if (optionsGetIntOption(OPTIONS_GDB) < 2) - xsldbgGenericErrorFunc(i18n("Opening terminal %1.\n").arg(xsldbgText(arg))); - cmdResult = 1; - } else - cmdResult = 0; - break; - - - /* language selection for messages */ - case DEBUG_LANG_CMD: -#ifdef LOCALE_PREFIX - if (xmlStrlen(arg) > 0){ - setlocale(LC_MESSAGES, (char*)arg); - textdomain("tdewebdev/xsldsbg"); - bindtextdomain("tdewebdev/xsldbg", LOCALE_PREFIX); - cmdResult = 1; - }else{ - xsldbgGenericErrorFunc(i18n("Error: Missing arguments for the command %1.\n").arg("lang")); - cmdResult = 0; - } -#else - xsldbgGenericErrorFunc(i18n("Warning: The %1 command is disabled\n").arg("lang")); - cmdResult = 1; -#endif - break; - - /* tracing related commands */ - case DEBUG_TRACE_CMD: - if (xslDbgShellTrace(arg)) { - exitShell++; - cmdResult = 1; - } else - cmdResult = 0; - - break; - - case DEBUG_WALK_CMD: - if (xslDbgShellWalk(arg)) { - exitShell++; - cmdResult = 1; - } else - cmdResult = 0; - break; - - case DEBUG_ADDWATCH_CMD: - cmdResult = xslDbgShellAddWatch(arg); - break; - - case DEBUG_DELWATCH_CMD: - cmdResult = xslDbgShellDeleteWatch(arg); - break; - - case DEBUG_SHOWWATCH_CMD: - trimString(arg); - switch (arg[0]){ - case '\0': - cmdResult = xslDbgShellShowWatches(styleCtxt, ctxt, 1); - break; - - case '0': - case '1': - showWatchesActive = arg[0] - '0'; - cmdResult = 1; - break; - - default: - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments for the command %1.\n").arg("showmatch")); - } - break; - - - /* search related commands */ - case DEBUG_SEARCH_CMD: - cmdResult = - xslDbgShellSearch(styleCtxt, filesGetStylesheet(), - arg); - break; - - - - case DEBUG_SET_CMD: - cmdResult = xslDbgShellSetVariable(styleCtxt, arg); - break; - - default: - xsldbgGenericErrorFunc(i18n("Error: Unknown command %1. Try help.\n").arg(xsldbgText(command))); - cmdResult = 0; - } - - /* KDbg likes to get the marker after every command so here it is */ - if ((optionsGetIntOption(OPTIONS_GDB) >1) && optionsGetIntOption(OPTIONS_VERBOSE) && !nextCommandActive - && (commandId != DEBUG_STEPUP_CMD - DEBUG_HELP_CMD)) { - if (ctxt->node && ctxt->node && - ctxt->node->doc && ctxt->node->doc->URL) { - - if (xmlGetLineNo(ctxt->node) != -1) - xsldbgGenericErrorFunc(i18n("Breakpoint for file \"%1\" at line %2.\n").arg(xsldbgUrl(ctxt->node->doc->URL)).arg(xmlGetLineNo(ctxt->node))); - else - xsldbgGenericErrorFunc(i18n("Breakpoint at text node in file \"%1\".\n").arg(xsldbgUrl(ctxt->node->doc->URL))); - } - } - - /* notify any listeners of that the command failed */ - if (cmdResult == 0 && (xmlStrlen(messageBuffer) > 0)) { - snprintf((char *) messageBuffer, sizeof(messageBuffer), - "\nRequest to xsldbg failed:%s\n", cmdline); - notifyTextXsldbgApp(XSLDBG_MSG_TEXTOUT, - (char *) messageBuffer); - } - - xmlFree(cmdline); - cmdline = NULL; - } - - xmlXPathFreeContext(ctxt->pctxt); - - if (ctxt->filename) - xmlFree(ctxt->filename); - - xmlFree(ctxt); - - if (cmdline) - xmlFree(cmdline); -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/debugXSL.h b/kxsldbg/kxsldbgpart/libxsldbg/debugXSL.h deleted file mode 100644 index 479448a3..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/debugXSL.h +++ /dev/null @@ -1,1082 +0,0 @@ - -/************************************************************************** - debugXSL.h - describes the core xsldbg shell functions - ------------------- - begin : Sun Sep 16 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - **************************************************************************/ - -/************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - **************************************************************************/ - -/* - * Orinal file : debugXML.h : This is a set of routines used for - * debugging the tree produced by the XML parser. - * - * New file : debugXSL.h : Debug support version - * - * See Copyright for the status of this software. - * - * Daniel Veillard <daniel@veillard.com> - * - * Permission abtained to modify the LGPL'd code and extend to include - * break points, inspections of stylesheet source, xml data, stylesheet - * variables Keith Isdale <k_isdale@tpg.com.au> - */ - -#ifndef __DEBUG_XSL__ -#define __DEBUG_XSL__ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifdef USE_XSLDBG_AS_THREAD -#include "xsldbgmsg.h" -#include "xsldbgthread.h" -#endif - -/* We want skip most of these includes when building documentation*/ -#ifndef BUILD_DOCS -#include "utils.h" -#include "breakpoint.h" -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#define DEBUG_BUFFER_SIZE 500 /*used by xslDbgShell */ - -/* how may items have been printed */ - extern int printCount; - - /* used to indicated that xsldbg should stop tracing/walking - value : 1 stop tracing at start of next cycle - value : 0 normal operation - */ - - extern int xsldbgStop; - extern int xsldbgValidateBreakpoints; - /* Some versions of libxml/libxslt need a different type of - line numbers handling */ - extern int xsldbgHasLineNumberFix; - extern bool xsldbgReachedFirstTemplate; - -/**************************************************************** - * * - * The XSL shell related structures and functions * - * * - ****************************************************************/ - -/* - Note that functions that have a prefix of xslDbgShell are NOT implemented - in debugXSL.c unless stated - - All functions with the prefix of debygXSL are implemented in debugXSL.c - - */ - -#ifdef USE_GNOME_DOCS - -/** - * debugXSLBreak: - * @templ: The source node being executed - * @node: The data node being processed - * @root: The template being applied to "node" - * @ctxt: The transform context for stylesheet being processed - * - * A break point has been found so pass control to user - */ -#else -#ifdef USE_KDE_DOCS - -/** - * A break point has been found so pass control to user - * - * @param templ The source node being executed - * @param node The data node being processed - * @param root The template being applied to "node" - * @param ctxt transform context for stylesheet being processed - */ -#endif -#endif - void debugXSLBreak(xmlNodePtr templ, xmlNodePtr node, - xsltTemplatePtr root, xsltTransformContextPtr ctxt); - - -#ifdef USE_GNOME_DOCS - -/** - * debugXSLGetTemplate: - * - * Get the last template node found, if any - * - * Returns The last template node found, if any - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Get the last template node found, if any - * - * @returns the last template node found, if any - */ -#endif -#endif - xsltTemplatePtr debugXSLGetTemplate(void); - - - -/* ----------------------------------------- - Break Point related commands - - They are implemented in breakpoint_cmds.c - ------------------------------------------- */ - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellFrameBreak: - * @arg: Is valid number of frames to change location by - * @stepup: If != 1 then we step up, otherwise step down - * - * Set a "frame" break point either up or down from here - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Set a "frame" break point either up or down from here - * - * @returns 1 on success, - * 0 otherwise - * - * @param arg Is valid and in UTF-8 - * @param stepup If != 1 then we step up, otherwise step down - */ -#endif -#endif - int xslDbgShellFrameBreak(xmlChar * arg, int stepup); - - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellBreak: - * @arg: Is valid and in UTF-8 - * @style: Is valid - * @ctxt: Is valid - * - * Add break point specified by arg - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Add break point specified by arg - * - * @returns 1 on success, - * 0 otherwise - * - * @param arg Is valid and in UTF-8 - * @param style Is valid - * @param ctxt Is valid - */ -#endif -#endif - int xslDbgShellBreak(xmlChar * arg, xsltStylesheetPtr style, - xsltTransformContextPtr ctxt); - - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellDelete: - * @arg: Is valid and in UTF-8 - * - * Delete break point specified by arg - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Delete break point specified by arg - * - * @returns 1 on success, - * 0 otherwise - * - * @param arg Is valid and in UTF-8 - */ -#endif -#endif - int xslDbgShellDelete(xmlChar * arg); - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellEnableBreakPoint: - * @payload: A valid xslBreakPointPtr - * @data: Enable type, a pointer to an integer - * for a value of - * 1 enable break point - * 0 disable break point - * -1 toggle enabling of break point - * @name: Not used - * - * Enable/disable break points via use of scan of break points -*/ -#else -#ifdef USE_KDE_DOCS - -/** - * Enable/disable break points via use of scan of break points - * - * @param payload Is valid xslBreakPointPtr - * @param data Enable type, a pointer to an integer - * for a value of - * @li 1 enable break point - * @li 0 disable break point - * @li -1 toggle enabling of break point - * @param name Not used -*/ -#endif -#endif - void xslDbgShellEnableBreakPoint(void *payload, void *data, - xmlChar * name); - - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellEnable: - * @arg : is valid enable "commmand text" and in UTF-8 - * @enableType : enable break point if 1, disable if 0, toggle if -1 - * - * Enable/disable break point specified by arg using enable - * type of @enableType - * Returns 1 if successful, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Enable/disable break point specified by arg using enable - * - * @param arg: is valid enable "commmand text" and in UTF-8 - * @param enableType : enable break point if 1, disable if 0, toggle if -1 - * - * @returns 1 if successful, - * 0 otherwise - */ -#endif -#endif - int xslDbgShellEnable(xmlChar * arg, int enableType); - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellPrintBreakPoint: - * @payload: A valid xslBreakPointPtr - * @data: Not used - * @name: Not used - * - * Print data given by scan of break points -*/ -#else -#ifdef USE_KDE_DOCS - -/** - * Print data given by scan of break points - * - * @param payload Is valid xslBreakPointPtr - * @param data Not used - * @param name Not used -*/ -#endif -#endif - void xslDbgShellPrintBreakPoint(void *payload, void *data, - xmlChar * name); - - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellValidateBreakPoint: - * @payload: A valid xslBreakPointPtr - * @data: Not used - * @name: Not used - * - * Print an warning if a breakpoint is invalid -*/ -#else -#ifdef USE_KDE_DOCS - -/** - * Print an warning if a breakpoint is invalid - * - * @param payload Is valid xslBreakPointPtr - * @param data Not used - * @param name Not used -*/ -#endif -#endif - void xslDbgShellValidateBreakPoint(void *payload, void *data, - xmlChar * name); - - -/* ----------------------------------------- - Template related commands - - They are implemented in template_cmds.c - ------------------------------------------- */ - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellPrintStyleSheets: - * @arg: The stylesheets of interests and in UTF-8, is NULL for all stylesheets - * - * Print stylesheets that can be found in loaded stylsheet - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Print stylesheets that can be found in loaded stylsheet - * - * @returns 1 on success, - * 0 otherwise - * - * @param arg The stylesheets of interests and in UTF-8, is NULL for all stylesheets - * - */ -#endif -#endif - int xslDbgShellPrintStyleSheets(xmlChar * arg); - - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellPrintTemplateNames: - * @styleCtxt: Is valid - * @ctxt: Not used - * @arg: Not used - * @verbose: If 1 then print extra messages about templates found, - * otherwise print normal messages only - * @allFiles: If 1 then look for all templates in stylsheets found in - * @styleCtxt - * otherwise look in the stylesheet found by - * debugXSLBreak function - * - * Print out the list of template names found that match critieria -* - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Print out the list of template names found that match critieria - * - * @param styleCtxt Is valid - * @param ctxt Not used - * @param arg Not used - * @param verbose If 1 then print extra messages about templates found, - * otherwise print normal messages only - * @param allFiles If 1 then look for all templates in stylsheets found in - * @p styleCtxt - * otherwise look in the stylesheet found by - * debugXSLBreak function - * @returns 1 on success, - * 0 otherwise - */ -#endif -#endif - int xslDbgShellPrintTemplateNames(xsltTransformContextPtr styleCtxt, - xmlShellCtxtPtr ctxt, - xmlChar * arg, int verbose, - int allFiles); - - - - -/* ----------------------------------------- - - Node viewing related commands - - ------------------------------------------- */ - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellPrintList: - * @ctxt: The current shell context - * @arg: What xpath to display and in UTF-8 - * @dir: If 1 print in dir mode?, - * otherwise ls mode - * - * Print list of nodes in either ls or dir format - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Print list of nodes in either ls or dir format - * - * @returns 1 on success, - * 0 otherwise - * - * @param ctxt The current shell context - * @param arg What xpath to display and in UTF-8 - * @param dir If 1 print in dir mode, - * otherwise ls mode - */ -#endif -#endif - int xslDbgShellPrintList(xmlShellCtxtPtr ctxt, xmlChar * arg, int dir); - - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellCat: - * @styleCtxt: the current stylesheet context - * @ctxt: The current shell context - * @arg: The xpath to print and in UTF-8 - * - * Print the result of an xpath expression. This can include variables - * if styleCtxt is not NULL - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Print the result of an xpath expression. This can include variables - * if styleCtxt is not NULL - * - * @returns 1 on success, - * 0 otherwise - * - * @param styleCtxt Current stylesheet context - * @param ctxt Current shell context - * @param arg The xpath to print and in UTF-8 - */ -#endif -#endif - int xslDbgShellCat(xsltTransformContextPtr styleCtxt, - xmlShellCtxtPtr ctxt, xmlChar * arg); - - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellPrintVariable: - * @styleCtxt: The current stylesheet context - * @arg: The name of variable to look for '$' prefix is optional and in UTF-8 - * @type: A valid VariableTypeEnum - * - * Print the value variable specified by args. - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Print the value variable specified by args. - * - * @returns 1 on success, - * 0 otherwise - - * - * @param styleCtxt The current stylesheet context - * @param arg The name of variable to look for '$' prefix is optional and in UTF-8 - * @param type Is valid VariableTypeEnum - */ -#endif -#endif - int xslDbgShellPrintVariable(xsltTransformContextPtr styleCtxt, - xmlChar * arg, VariableTypeEnum type); - - -/* ----------------------------------------- - - File related command - - Implemented in file_cmds.c - ------------------------------------------- */ -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellOutput: - * @arg : Is valid, either a local file name which will be expanded - * if needed, or a "file://" protocol URI - * - * Set the output file name to use - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * xslDbgShellOutput: - * @arg : Is valid, either a local file name which will be expanded - * if needed, or a "file://" protocol URI - * - * Set the output file name to use - * - * Returns 1 on success, - * 0 otherwise - */ -#endif -#endif - int xslDbgShellOutput(const xmlChar *arg); - - - - -#ifdef USE_GNOME_DOCS - - /** - * xslDbgEntities: - * - * Print list of entites found - * - * Returns 1 on sucess, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -#endif -#endif - int xslDbgEntities(void); - - -#ifdef USE_GNOME_DOCS - - /** - * xslDbgSystem: - * @arg : Is valid in UTF-8 - * - * Print what a system file @arg maps to via the current xml catalog - * - * Returns 1 on sucess, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Print what a system file @p arg maps to via the current xml catalog - * - * @param arg Is valid in UTF-8 - * - * @returns 1 on sucess, - * 0 otherwise - */ -#endif -#endif - int xslDbgSystem(const xmlChar * arg); - - -#ifdef USE_GNOME_DOCS - - /** - * xslDbgPublic: - * @arg : Is valid PublicID in UTF-8 - * - * Print what a public ID @arg maps to via the current xml catalog - * - * Returns 1 on sucess, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Print what a public ID @p arg maps to via the current xml catalog - * - * @param arg Is valid PublicID in UTF-8 - * - * @returns 1 on sucess, - * 0 otherwise - */ -#endif -#endif - int xslDbgPublic(const xmlChar * arg); - - -#ifdef USE_GNOME_DOCS - - /** - * xslDbgEncoding: - * @arg: Is valid encoding supported by libxml2 - * - * Set current encoding to use for output to standard output - * - * Returns 1 on sucess, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Set current encoding to use for output to standard output - * - * @param arg Is valid encoding supported by libxml2 - * - * - * Returns 1 on sucess, - */ -#endif -#endif - int xslDbgEncoding(xmlChar * arg); - -/* ----------------------------------------- - - Operating system related commands - - Implemented in os_cmds.c - ------------------------------------------- */ - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellChangeWd: - * @path: The path to change to and in UTF-8 - * - * Change the current working directory of the operating system - * - * Returns 1 if able to change xsldbg's working directory to @path - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * @returns 1 if able to change xsldbg working direcorty to @p path - * 0 otherwise - * - * @param path Operating system path(directory) to change to and in UTF-8 - */ -#endif -#endif - int xslDbgShellChangeWd(xmlChar * path); - - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellExecute: - * @name: The name of command string to be executed by operating system shell - * @verbose: If 1 then print extra debugging messages, - * normal messages otherwise - * - * Execute an operating system command - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * @returns 1 if able to execute command @p name, - * 0 otherwise - * - * @param name The name of command string to be executed - * by operating system shell - * @param verbose If 1 then print extra debugging messages, - * normal messages otherwise - */ -#endif -#endif - int xslDbgShellExecute(xmlChar * name, int verbose); - - - - -/* ----------------------------------------- - - libxslt parameter related commands - - Implemented in param_cmds.c - ------------------------------------------- */ - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellAddParam: - * @arg: A string comprised of two words separated by - * one or more spaces which are in UTF-8. - * - * Add a libxslt parameter to be sent to libxslt later on - * - * Returns 1 on success, - * 0 otherwise -*/ -#else -#ifdef USE_KDE_DOCS - -/* - * Add a parameter to be sent to libxslt later on - * - * @returns 1 on success, - * 0 otherwise - * - * @param arg A string comprised of two words separated by - * one or more spaces which are in UTF-8 - */ -#endif -#endif - int xslDbgShellAddParam(xmlChar * arg); - - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellDelParam: - * @arg: A single white space trimmed parameter number to look for - * - * Delete a libxslt parameter that was to be sent to libxslt later on - * - * Returns 1 if able to delete parameter @name, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Delete a libxslt parameter that was to be sent to libxslt later on - * - * @returns 1 if able to delete parameter @p name, - * 0 otherwise - * - * @param arg A single white space trimmed libxslt parameter number to look for - */ -#endif -#endif - int xslDbgShellDelParam(xmlChar * arg); - - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellShowParam: - * @arg: Not used - * - * Print list of current paramters - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Print list of current paramters - * - * @returns 1 on success, - * 0 otherwise - * - * @param arg Not used - */ -#endif -#endif - int xslDbgShellShowParam(xmlChar * arg); - - - /* ----------------------------------------- - * - * Option related commands - * - * Implemented in option_cmds.c - * - * ------------------------------------------- */ - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellSetOption: - * @arg: Is valid, and in the format <NAME> <VALUE> - * - * Set the value of an option - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Set the value of an option - * - * @returns 1 on success, - * 0 otherwise - * - * @param arg is valid, and in format <NAME> <VALUE> - * - */ -#endif -#endif - int xslDbgShellSetOption(xmlChar * arg); - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellOptions: - * - * Prints out values for user options - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Prints out values for user options - * - * @returns 1 on success, - * 0 otherwise - */ -#endif -#endif - int xslDbgShellOptions(void); - - - /** - * xslDbgShellShowWatches: - * @styleCtxt: the current stylesheet context - * @ctxt: The current shell context - * @showWarnings : If 1 then showWarning messages, - * otherwise do not show warning messages - * - * Print the current watches and their values - * - * Returns 1 on success, - * 0 otherwise - */ - int xslDbgShellShowWatches(xsltTransformContextPtr styleCtxt, - xmlShellCtxtPtr ctx,int showWarnings); - - /** - * xslDbgShellAddWatch: - * @arg : A valid xPath of expression to watch the value of - * - * Add expression to list of expressions to watch value of - * - * Returns 1 on success, - * 0 otherwise - */ - int xslDbgShellAddWatch(xmlChar* arg); - - /** - * xslDbgShellDeleteWatch: - * @arg : A watch ID to remove - * - * Delete a given watch ID from our list of expressions to watch - * - * Returns 1 on success, - * 0 otherwise - */ - int xslDbgShellDeleteWatch(xmlChar* arg); - - - /* ----------------------------------------- - * - * Tracing, walking related commands - * - * Implemented in shell.c - * - * ------------------------------------------- */ - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellTrace: - * @arg: Not used - * - * Start the tracing of the stylesheet. First need to restart it. - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Start the tracing of the stylesheet. First need to restart it. - * - * @returns 1 on success, - * 0 otherwise - * - * @param arg Not used - */ -#endif -#endif - int xslDbgShellTrace(xmlChar * arg); - - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellWalk: - * @arg: An interger between 0 and 9 indicate the speed of walk - * - * Start walking through the stylesheet. - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Start walking through the stylesheet. - * - * @returns 1 on success, - * 0 otherwise - * - * @param arg An interger between 0 and 9 indicate the speed of walk - */ -#endif -#endif - int xslDbgShellWalk(xmlChar * arg); - - - - /* ----------------------------------------- - * - * Seach related commands - * - * Implemented in search_cmds.c - * ------------------------------------------- */ - - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellSearch: - * @styleCtxt: Is valid - * @style: Is valid - * @arg: The xpath query to use for searching dataBase - * - * Displays the result of performing a query on the search dataBase - * - * Returns 1 if able to run query with @arg, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * @returns 1 if able to run query with @p arg, - * 0 otherwise - * - * @param styleCtxt Is valid - * @param style Is valid - * @param arg The xpath query to use for searching dataBase - */ -#endif -#endif - int xslDbgShellSearch(xsltTransformContextPtr styleCtxt, - xsltStylesheetPtr style, xmlChar * arg); - - -/* ----------------------------------------- - - Seach related commands - - Implemented in variable_cmds.c - ------------------------------------------- */ - -#ifdef USE_GNOME_DOCS - -/** - * xslDbgShellSetVariable: - * @styleCtxt : Is valid - * @arg : Is valid must be in the format of - * <VARIABLE_NAME> <XPATH> - * - * Change the value of a global or local variable - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Change the value of a global or local variable - * - * @param styleCtxt Is valid - * @param arg Is valid must be in the format of - * <VARIABLE_NAME> <XPATH> - * - * @returns 1 on success, - * 0 otherwise - */ -#endif -#endif - - int xslDbgShellSetVariable(xsltTransformContextPtr styleCtxt, - xmlChar * arg); - -#ifdef __cplusplus -} -#endif -#endif - /* __DEBUG_XSL__ */ diff --git a/kxsldbg/kxsldbgpart/libxsldbg/file_cmds.cpp b/kxsldbg/kxsldbgpart/libxsldbg/file_cmds.cpp deleted file mode 100644 index 10abbaf7..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/file_cmds.cpp +++ /dev/null @@ -1,274 +0,0 @@ - -/*************************************************************************** - file_cmds.c - define file command related functions - ------------------- - begin : Sat Jan 19 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include <stdio.h> -#include <libxml/tree.h> -#include <libxml/catalog.h> - -#include "xsldbg.h" -#include "debugXSL.h" -#include "files.h" -#include "options.h" -#include "utils.h" -#include "xsldbgthread.h" - -static char buffer[500]; - -/** - * xslDbgEntities: - * - * Print list of entites found - * - * Returns 1 on sucess, - * 0 otherwise - */ -int -xslDbgEntities(void) -{ - int result = 0; - - if (filesEntityList()) { - int entityIndex; - entityInfoPtr entInfo; - - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - /* notify that we are starting new list of entity names */ - notifyListStart(XSLDBG_MSG_ENTITIY_CHANGED); - for (entityIndex = 0; - entityIndex < arrayListCount(filesEntityList()); - entityIndex++) { - entInfo = (entityInfoPtr) arrayListGet(filesEntityList(), - entityIndex); - if (entInfo) - notifyListQueue(entInfo); - - } - notifyListSend(); - result = 1; - } else { - for (entityIndex = 0; - entityIndex < arrayListCount(filesEntityList()); - entityIndex++) { - entInfo = (entityInfoPtr) arrayListGet(filesEntityList(), - entityIndex); - if (entInfo) { - /* display identifier of an XML entity */ - xsldbgGenericErrorFunc(i18n("Entity %1 ").arg(xsldbgText(entInfo->SystemID))); - if (entInfo->PublicID) - xsldbgGenericErrorFunc(xsldbgText(entInfo->PublicID)); - xsldbgGenericErrorFunc("\n"); - } - } - if (arrayListCount(filesEntityList()) == 0) { - xsldbgGenericErrorFunc(i18n("No external General Parsed entities present.\n")); - } else { - xsldbgGenericErrorFunc(i18n("\tTotal of %n entity found.", "\tTotal of %n entities found.", arrayListCount(filesEntityList())) + TQString("\n")); - } - - result = 1; - } - } - return result; -} - - -/** - * xslDbgSystem: - * @arg : Is valid - * - * Print what a system file @arg maps to via the current xml catalog - * - * Returns 1 on sucess, - * 0 otherwise - */ -int -xslDbgSystem(const xmlChar * arg) -{ - int result = 0; - xmlChar *name; - - if (!arg || (xmlStrlen(arg) == 0)) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: NULL argument provided\n"); -#endif - return result; - } - - name = xmlCatalogResolveSystem(arg); - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - if (name) { - notifyXsldbgApp(XSLDBG_MSG_RESOLVE_CHANGE, name); - result = 1; - xmlFree(name); - } else { - notifyXsldbgApp(XSLDBG_MSG_RESOLVE_CHANGE, ""); - xsldbgGenericErrorFunc(i18n("SystemID \"%1\" was not found in current catalog.\n").arg(xsldbgText(arg))); - } - } else { - if (name) { - xsldbgGenericErrorFunc(i18n("SystemID \"%1\" maps to: \"%2\"\n").arg(xsldbgText(arg)).arg(xsldbgText(name))); - xmlFree(name); - result = 1; - } else { - xsldbgGenericErrorFunc(i18n("SystemID \"%1\" was not found in current catalog.\n").arg(xsldbgText(arg))); - } - } - - return result; -} - - -/** - * xslDbgPublic: - * @arg : Is valid - * - * Print what a public ID @arg maps to via the current xml catalog - * - * Returns 1 on sucess, - * 0 otherwise - */ -int -xslDbgPublic(const xmlChar * arg) -{ - int result = 0; - xmlChar *name; - - if (!arg || (xmlStrlen(arg) == 0)) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: NULL argument provided\n"); -#endif - return result; - } - - name = xmlCatalogResolvePublic(arg); - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - if (name) { - notifyXsldbgApp(XSLDBG_MSG_RESOLVE_CHANGE, name); - result = 1; - xmlFree(name); - } else { - notifyXsldbgApp(XSLDBG_MSG_RESOLVE_CHANGE, ""); - xsldbgGenericErrorFunc(i18n("PublicID \"%1\" was not found in current catalog.\n").arg(xsldbgText(arg))); - } - } else { - if (name) { - xsldbgGenericErrorFunc(i18n("PublicID \"%1\" maps to: \"%2\"\n").arg(xsldbgText(arg)).arg(xsldbgText(name))); - xmlFree(name); - result = 1; - } else { - xsldbgGenericErrorFunc(i18n("PublicID \"%1\" was not found in current catalog.\n").arg(xsldbgText(arg))); - } - xsltGenericError(xsltGenericErrorContext, "%s", buffer); - } - return result; -} - - -/** - * xslDbgEncoding: - * @arg: Is valid encoding supported by libxml2 - * - * Set current encoding to use for output to standard output - * - * Returns 1 on sucess, - * 0 otherwise - */ -int -xslDbgEncoding(xmlChar * arg) -{ - int result = 0; - xmlChar *opts[2]; - - if (!arg) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: NULL argument provided\n"); -#endif - return result; - } - - if (splitString(arg, 1, opts) == 1) { - if (filesSetEncoding((char *) opts[0])) { - optionsSetStringOption(OPTIONS_ENCODING, opts[0]); - result = 1; - } - } else - xsldbgGenericErrorFunc(i18n("Error: Missing arguments for the command %1.\n").arg("encoding")); - return result; -} - - -/** - * xslDbgShellOutput: - * @arg : Is valid, either a local file name which will be expanded - * if needed, or a "file://" protocol URI - * - * Set the output file name to use - * - * Returns 1 on success, - * 0 otherwise - */ -int xslDbgShellOutput(const xmlChar *arg) -{ - int result = 0; - if (arg && (xmlStrLen(arg) > 0)){ - if (!xmlStrnCmp(arg, "file:/", 6)){ - /* convert URI to local file name */ - xmlChar *outputFileName = filesURItoFileName(arg); - if (outputFileName){ - optionsSetStringOption(OPTIONS_OUTPUT_FILE_NAME, - outputFileName); - notifyXsldbgApp(XSLDBG_MSG_FILE_CHANGED, 0L); - xmlFree(outputFileName); - result = 1; - } - } else if (xmlStrEqual(arg, (xmlChar*)"-")) { - optionsSetStringOption(OPTIONS_OUTPUT_FILE_NAME, - NULL); - notifyXsldbgApp(XSLDBG_MSG_FILE_CHANGED, 0L); - result = 1; - } else if (!xmlStrnCmp(arg, "ftp://", 6) || !xmlStrnCmp(arg, "http://", 7)){ - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments for the command %1.\n").arg("output")); - return 0; - } else { - /* assume that we were provided a local file name - * that may need expanding - */ - xmlChar *expandedName = filesExpandName(arg); - - // The output file must not be the same as our SOURCE or DATA file - if (expandedName && - (!xmlStrEqual(optionsGetStringOption(OPTIONS_SOURCE_FILE_NAME), expandedName)) && - (!xmlStrEqual(optionsGetStringOption(OPTIONS_DATA_FILE_NAME), expandedName)) ){ - optionsSetStringOption(OPTIONS_OUTPUT_FILE_NAME, expandedName); - notifyXsldbgApp(XSLDBG_MSG_FILE_CHANGED, 0L); - xmlFree(expandedName); - result = 1; - }else{ - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments for the command %1.\n").arg("output")); - } - } - } else { - xsldbgGenericErrorFunc(i18n("Error: Missing arguments for the command %1.\n").arg("output")); - } - - return result; -} - diff --git a/kxsldbg/kxsldbgpart/libxsldbg/files.cpp b/kxsldbg/kxsldbgpart/libxsldbg/files.cpp deleted file mode 100644 index 00540e6d..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/files.cpp +++ /dev/null @@ -1,1420 +0,0 @@ - -/*************************************************************************** - files.h - define file related functions - ------------------- - begin : Sat Nov 10 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -/* We want skip most of these includes when building documentation */ -#ifndef BUILD_DOCS - -#include "xsldbg.h" -#include <stdio.h> -#include <libxml/entities.h> -#include <libxml/tree.h> -#include <libxml/catalog.h> -#include <libxml/parserInternals.h> -#include <libxml/encoding.h> /* needed by filesTranslate, filesEncoding functions */ -#include <libxml/uri.h> /* needed for xmlURIUnescapeString */ -#include "debugXSL.h" -#include "files.h" -#include "utils.h" -#include "options.h" -#include "xsldbgthread.h" -#ifdef WIN32 -#include <direct.h> -#else -#include <unistd.h> -#endif - -#endif /* BUILD_DOCS */ -#include <cstdlib> - - -/* top xml document */ -static xmlDocPtr topDocument; - -/* temporary xml document */ -static xmlDocPtr tempDocument; - -/* used as a scratch pad for temporary results*/ -static xmlChar filesBuffer[DEBUG_BUFFER_SIZE]; - -/* top stylsheet */ -static xsltStylesheetPtr topStylesheet; - -/* what is the base path for top stylesheet */ -static xmlChar *stylePathName = NULL; - -/* what is the path for current working directory*/ -static xmlChar *workingDirPath = NULL; - -static arrayListPtr entityNameList = NULL; - -/* Current encoding to use for standard output*/ -static xmlCharEncodingHandlerPtr stdoutEncoding = NULL; - -/* input and output buffers for encoding*/ -static xmlBufferPtr encodeInBuff = NULL; -static xmlBufferPtr encodeOutBuff = NULL; - -/* Current line number and URI for xsldbg*/ -static int currentLineNo = -1; -static xmlChar *currentUrl = NULL; - -/* ----------------------------------------- - Private function declarations for files.c - -------------------------------------------*/ - -/** - * guessStylesheetHelper: - * @payload: valid xsltStylesheetPtr - * @data: valid searchInfoPtr of type SEARCH_NODE - * @name: not used - * - * Try to guess what the complete file/URI is. If successful the search - * info will be set to found and the search data will contain the - * file name found. We are given our payload via walkStylesheets - */ -static void guessStylesheetHelper(void *payload, void *data, - xmlChar * name); - - -/** - * guessStylesheetHelper2: - * @payload: valid xmlNodePtr of the included stylesheet - * @data: valid searchInfoPtr of type SEARCH_NODE - * @name: not used - * - * Try to guess what the complete file/URI is. If successful the search - * info will be set to found and the search data will contain the - * file name found. We are given our payload via walkIncludes - */ -static void guessStylesheetHelper2(void *payload, void *data, - xmlChar * name); - - -entityInfoPtr filesNewEntityInfo(const xmlChar * SystemID, - const xmlChar * PublicID); - -void filesFreeEntityInfo(entityInfoPtr info); - -void filesAddEntityName(const xmlChar * SystemID, - const xmlChar * PublicID); - - -/* ------------------------------------- - End private functions ----------------------------------------*/ - - -FILE *terminalIO; - -/* No longer needed - static FILE *oldStdin, *oldStdout, *oldStderr;*/ - - -//static char *ttyName = NULL; /* what is the name of the default terminal */ -static char *termName = NULL; /* what is the name of terminal we are redirected to */ - - -/** - * redirectToTerminal: - * @device: terminal to redirect i/o to , will not work under win32 - * - * Open communications to the terminal device @device - * - * Returns 1 if sucessful - * 0 otherwise - */ -int -openTerminal(xmlChar * device) -{ - int result = 0; - - if (!device) { /* Failed; there's no device */ -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: NULL argument provided\n"); -#endif - return result; - } - - /* - * On RISC OS, you get one terminal - the screen. - * we assume that the parameter is meant to be an output device as - * per normal - we can use vdu:, rawvdu: or :tt, or a filename for - * normal VDU output, VDU output without newline expansion, - * C terminal output with control code escaping, or a raw file - * respectively. - * The name passed is expected to be in native file format - no - * URI escaping here. - * One assumes that you might use a socket or a pipe here. - */ - - if (terminalIO) { - fclose(terminalIO); - terminalIO = NULL; - } - - - switch (device[0]) { - case '\0': - case '0': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - /* look like we are supposed to close the terminal - * but we've already done that - */ - break; - - case '1': - if (termName) { - terminalIO = fopen((char *) termName, "w"); - if (terminalIO != NULL) { - xmlFree(termName); - termName = xmlMemStrdup((char *) device); - result = 1; - } else { - xsldbgGenericErrorFunc(i18n("Error: Unable to open terminal %1.\n").arg(xsldbgText(termName))); - } - } else { - xsldbgGenericErrorFunc(i18n("Error: Did not previously open terminal.\n")); - } - break; - - case '2': -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Warning: Terminal level 2 not implemented\n"); -#endif - break; - - - default: - terminalIO = fopen((char *) device, "w"); - if (terminalIO != NULL) { - if (termName) - xmlFree(termName); - termName = xmlMemStrdup((char *) device); - result = 1; - } else { - xsldbgGenericErrorFunc(i18n("Error: Unable to open terminal %1.\n").arg(xsldbgText(device))); - } - - } - - return result; -} - - -/** - * guessStylesheetHelper: - * @payload: valid xsltStylesheetPtr - * @data: valid searchInfoPtr of type SEARCH_NODE - * @name: not used - * - * Try to guess what the complete file/URI is. If successful the search - * info will be set to found and the search data will contain the - * file name found. We are given our payload via walkStylesheets - */ -void -guessStylesheetHelper(void *payload, void *data, - xmlChar * name) -{ - Q_UNUSED(name); - xsltStylesheetPtr style = (xsltStylesheetPtr) payload; - searchInfoPtr searchCriteria = (searchInfoPtr) data; - nodeSearchDataPtr searchData = NULL; - /* where did the directory/URI separator occur */ - char *lastSlash; - - if (!style || !style->doc || !searchCriteria || !searchCriteria->data - || (searchCriteria->type != SEARCH_NODE)) - return; - - searchData = (nodeSearchDataPtr) searchCriteria->data; - if (searchData->nameInput && (searchData->absoluteNameMatch == NULL)) { - /* at this point we know that we have not made an absolute match - * but we may have made a relative match */ - if (xmlStrCmp(style->doc->URL, searchData->nameInput) == 0) { - /* absolute path match great! */ - searchData->absoluteNameMatch = - (xmlChar *) xmlMemStrdup((char *) style->doc->URL); - searchData->node = (xmlNodePtr) style->doc; - searchCriteria->found = 1; - return; - } - - - /* try to guess we assume that the files are unique */ - xmlStrCpy(filesBuffer, "__#!__"); - /* try relative to top stylesheet directory */ - if (stylePath()) { - xmlStrCpy(filesBuffer, stylePath()); - xmlStrCat(filesBuffer, searchData->nameInput); - } - if (xmlStrCmp(style->doc->URL, filesBuffer) == 0) { - /* guessed right! */ - searchData->guessedNameMatch = - (xmlChar *) xmlMemStrdup((char *) filesBuffer); - searchData->node = (xmlNodePtr) style->doc; - searchCriteria->found = 1; - return; - } - - if (workingPath()) { - /* try relative to working directory */ - xmlStrCpy(filesBuffer, workingPath()); - xmlStrCat(filesBuffer, searchData->nameInput); - } - if (xmlStrCmp(style->doc->URL, filesBuffer) == 0) { - /* guessed right! */ - searchData->guessedNameMatch = - (xmlChar *) xmlMemStrdup((char *) filesBuffer); - searchData->node = (xmlNodePtr) style->doc; - searchCriteria->found = 1; - return; - } - - - /* Find the last separator of the stylsheet's URL */ - lastSlash = xmlStrChr(style->doc->URL, URISEPARATORCHAR); - if (!lastSlash) - lastSlash = xmlStrChr(style->doc->URL, PATHCHAR); - - if (lastSlash) { - /* Last try, assume nameInput contains only a file name - * Strip of the file name at end of the stylesheet doc URL */ - lastSlash++; /* skip the slash */ - if (xmlStrCmp(lastSlash, searchData->nameInput) == 0) { - /* guessed right! */ - searchData->guessedNameMatch = - (xmlChar *) xmlMemStrdup((char *) style->doc->URL); - searchData->node = (xmlNodePtr) style->doc; - searchCriteria->found = 1; - } - } - } -} - - -/** - * guessStylesheetHelper2: - * @payload: valid xmlNodePtr of the included stylesheet - * @data: valid searchInfoPtr of type SEARCH_NODE - * @name: not used - * - * Try to guess what the complete file/URI is. If successful the search - * info will be set to found and the search data will contain the - * file name found. We are given our payload via walkIncludes - */ -void -guessStylesheetHelper2(void *payload, void *data, - xmlChar * name) -{ - Q_UNUSED(name); - xmlNodePtr node = (xmlNodePtr) payload; - searchInfoPtr searchCriteria = (searchInfoPtr) data; - nodeSearchDataPtr searchData = NULL; - /* where did the directory/URI separator occur */ - char *lastSlash; - - if (!node || !node->doc || !searchCriteria || !searchCriteria->data || - (searchCriteria->type != SEARCH_NODE)) - return; - - searchData = (nodeSearchDataPtr) searchCriteria->data; - if (searchData->nameInput && (searchData->absoluteNameMatch == NULL)) { - /* at this point we know that we have not made an absolute match - * but we may have made a relative match */ - if (xmlStrCmp(node->doc->URL, searchData->nameInput) == 0) { - /* absolute path match great! */ - searchData->absoluteNameMatch = - (xmlChar *) xmlMemStrdup((char *) node->doc->URL); - searchData->node = node; - searchCriteria->found = 1; - return; - } - - - /* try to guess we assume that the files are unique */ - xmlStrCpy(filesBuffer, "__#!__"); - /* try relative to top stylesheet directory */ - if (stylePath()) { - xmlStrCpy(filesBuffer, stylePath()); - xmlStrCat(filesBuffer, searchData->nameInput); - } - if (xmlStrCmp(node->doc->URL, filesBuffer) == 0) { - /* guessed right! */ - searchData->guessedNameMatch = - (xmlChar *) xmlMemStrdup((char *) filesBuffer); - searchData->node = node; - searchCriteria->found = 1; - return; - } - - if (workingPath()) { - /* try relative to working directory */ - xmlStrCpy(filesBuffer, workingPath()); - xmlStrCat(filesBuffer, searchData->nameInput); - } - if (xmlStrCmp(node->doc->URL, filesBuffer) == 0) { - /* guessed right! */ - searchData->guessedNameMatch = - (xmlChar *) xmlMemStrdup((char *) filesBuffer); - searchData->node = node; - searchCriteria->found = 1; - return; - } - - - /* Find the last separator of the stylsheet's URL */ - lastSlash = xmlStrChr(node->doc->URL, URISEPARATORCHAR); - if (!lastSlash) - lastSlash = xmlStrChr(node->doc->URL, PATHCHAR); - - if (lastSlash) { - /* Last try, assume nameInput contains only a file name - * Strip of the file name at end of the stylesheet doc URL */ - lastSlash++; /* skip the slash */ - if (xmlStrCmp(lastSlash, searchData->nameInput) == 0) { - /* guessed right! */ - searchData->guessedNameMatch = - (xmlChar *) xmlMemStrdup((char *) node->doc->URL); - searchData->node = node; - searchCriteria->found = 1; - } - } - } -} - - -/** - * guessStylesheetName: - * @searchInf: Is valid - * - * Try to find a matching stylesheet name - * Sets the values in @searchinf depending on outcome of search - */ -void -guessStylesheetName(searchInfoPtr searchCriteria) -{ - nodeSearchDataPtr searchData; - - if (!searchCriteria) - return; - - searchData = (nodeSearchDataPtr) searchCriteria->data; - if (searchData->nameInput == NULL) - return; /* must supply name of file to look for */ - - walkStylesheets((xmlHashScanner) guessStylesheetHelper, - searchCriteria, filesGetStylesheet()); - if (!searchCriteria->found) { - /* try looking in the included stylesheets */ - walkIncludes((xmlHashScanner) guessStylesheetHelper2, - searchCriteria, filesGetStylesheet()); - } -} - - -/** - * stylePath: - * - * Return The base path for the top stylesheet ie - * ie URL minus the actual file name - * - * Returns The base path for the top stylesheet ie - * ie URL minus the actual file name - */ -xmlChar * -stylePath(void) -{ - return stylePathName; -} - - -/** - * workingPath: - * - * Return the working directory as set by changeDir function - * - * Returns The working directory as set by changeDir function - */ -xmlChar * -workingPath(void) -{ - return workingDirPath; -} - - -/** - * changeDir: - * @path: The path to adopt as new working directory - * - * Change working directory to path - * - * Returns 1 on success, - * 0 otherwise - */ -int -changeDir(const xmlChar * path) -{ - int result = 0; - int charIndex; - const char endString[2] = { PATHCHAR, '\0' }; - xmlChar *expandedName = NULL; - - - if (path && (xmlStrLen(path) > 0)) { - expandedName = filesExpandName(path); - } else { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Empty path provided to changeDir"); -#endif - return result; - } - - if (!expandedName) - return result; /* out of memory ? */ - - if (xmlStrLen(expandedName) + 1 > sizeof(filesBuffer)) { - xsldbgGenericErrorFunc(i18n("Error: The file name \"%1\" is too long.\n").arg(xsldbgText(path))); - return result; - } - - xmlStrCpy(filesBuffer, expandedName); - /* strip off any extra PATHCHAR's as win32's chdir function - * fails if we don't */ - charIndex = xmlStrLen(filesBuffer) - 1; - while (charIndex && (filesBuffer[charIndex] == PATHCHAR)) { - charIndex--; - } - filesBuffer[charIndex + 1] = '\0'; - - - if (chdir((char *) filesBuffer) == 0) { - if (workingDirPath) - xmlFree(workingDirPath); - /* must have path char at end of path name */ - xmlStrCat(filesBuffer, endString); - workingDirPath = (xmlChar *) xmlMemStrdup((char *) filesBuffer); - result = 1; - } - xmlFree(expandedName); /* this will always be valid time */ - if (!result) { - xsldbgGenericErrorFunc(i18n("Error: Unable to change to directory %1.\n").arg(xsldbgText(path))); - } else { - if (xslDebugStatus != DEBUG_NONE) - xsldbgGenericErrorFunc(i18n("Changed to directory %1.\n").arg(xsldbgText(path))); - } - return result; -} - - -/** - * filesLoadXmlFile: - * @path: xml file to load - * @fileType: A valid FileTypeEnum - * - * Load specified file type, freeing any memory previously used - * - * Returns 1 on success, - * 0 otherwise - */ -int -filesLoadXmlFile(const xmlChar * path, FileTypeEnum fileType) -{ - int result = 0; - - if (!filesFreeXmlFile(fileType)) - return result; - - switch (fileType) { - case FILES_XMLFILE_TYPE: - if (path && xmlStrLen(path)) { - if (optionsGetIntOption(OPTIONS_SHELL)) { - xsldbgGenericErrorFunc(i18n("Setting XML Data file name to %1.\n").arg(xsldbgText(path))); - } - optionsSetStringOption(OPTIONS_DATA_FILE_NAME, path); - } - topDocument = xsldbgLoadXmlData(); - if (topDocument) - result = 1; - break; - - case FILES_SOURCEFILE_TYPE: - if (path && xmlStrLen(path)) { - if (optionsGetIntOption(OPTIONS_SHELL)) { - xsldbgGenericErrorFunc(i18n("Setting stylesheet file name to %1.\n").arg(xsldbgText(path))); - } - optionsSetStringOption(OPTIONS_SOURCE_FILE_NAME, path); - } - topStylesheet = xsldbgLoadStylesheet(); - if (topStylesheet && topStylesheet->doc) { - /* look for last slash (or baskslash) of URL */ - char *lastSlash = xmlStrrChr(topStylesheet->doc->URL, - PATHCHAR); - const char *docUrl = - (const char *) topStylesheet->doc->URL; - - result = 1; - if (docUrl && lastSlash) { - stylePathName = (xmlChar *) xmlMemStrdup(docUrl); - stylePathName[lastSlash - docUrl + 1] = '\0'; - if (optionsGetIntOption(OPTIONS_SHELL)) { - xsldbgGenericErrorFunc(i18n("Setting stylesheet base path to %1.\n").arg(xsldbgText(stylePathName))); - } - } else { - const char cwd[4] = { '.', PATHCHAR, '\0' }; - - /* ie for *nix this becomes "./" */ - stylePathName = xmlStrdup(BAD_CAST cwd); - } - - /* try to find encoding for this stylesheet */ - if (optionsGetIntOption(OPTIONS_AUTOENCODE)) - filesSetEncoding((char *) topStylesheet->encoding); - } - break; - - case FILES_TEMPORARYFILE_TYPE: - if (!path || !xmlStrLen(path)) { - xsldbgGenericErrorFunc(i18n("Missing file name.\n")); - break; - } - topDocument = xsldbgLoadXmlTemporary(path); - if (tempDocument) - result = 1; - break; - } - return result; -} - - -/** - * filesFreeXmlFile: - * @fileType: A valid FileTypeEnum - * - * Free memory associated with the xml file - * - * Returns 1 on success, - * 0 otherwise - */ -int -filesFreeXmlFile(FileTypeEnum fileType) -{ - int result = 0, type = fileType; - - switch (type) { - case FILES_XMLFILE_TYPE: - if (topDocument) - xmlFreeDoc(topDocument); - topDocument = NULL; - result = 1; - break; - - case FILES_SOURCEFILE_TYPE: - if (topStylesheet) - xsltFreeStylesheet(topStylesheet); - if (stylePathName) - xmlFree(stylePathName); - stylePathName = NULL; - topStylesheet = NULL; - result = 1; - break; - - case FILES_TEMPORARYFILE_TYPE: - if (tempDocument) - xmlFreeDoc(tempDocument); - tempDocument = NULL; - result = 1; - break; - } - return result; -} - - -/** - * filesGetStylesheet: - * - * Return The topmost stylesheet non-null on success, - * NULL otherwise - * - * Returns The topmost stylesheet non-null on success, - * NULL otherwise - */ -xsltStylesheetPtr -filesGetStylesheet(void) -{ - return topStylesheet; -} - - -/** - * filesGetTemporaryDoc: - * - * Return The current "temporary" document - * - * Returns The current "temporary" document - */ -xmlDocPtr -filesGetTemporaryDoc(void) -{ - return tempDocument; -} - - -/** - * filesGetMainDoc: - * - * Return The main docment - * - * Returns The main docment - */ -xmlDocPtr -filesGetMainDoc(void) -{ - return topDocument; -} - - -/** - * filesReloaded: - * @reloaded: if = -1 then ignore @reloaded - * otherwise change the status of files to value of @reloaded - * - * Returns 1 if stylesheet or its xml data file has been "flaged" as reloaded, - * 0 otherwise - */ -int -filesReloaded(int reloaded) -{ - static int changed = 0; - - if (reloaded >= 0) { - changed = reloaded; - } - - return changed; -} - - - -/** - * filesInit: - * - * Initialize the file related structures - * Returns 1 on success, - * 0 otherwise - */ -int -filesInit(void) -{ - int result = 0; - - terminalIO = NULL; -#ifdef __riscos - ttyName = ":tt"; /* Default tty */ -#endif -#ifdef HAVE_UNISTD - ttyName = ttyname(fileno(stdin)); - /* save out io for when/if we send debugging to a terminal */ - oldStdin = stdin; - oldStdout = stdout; - oldStderr = stderr; -#endif - topDocument = NULL; - tempDocument = NULL; - topStylesheet = NULL; - entityNameList = arrayListNew(4, (freeItemFunc) filesFreeEntityInfo); - - /* setup the encoding */ - encodeInBuff = xmlBufferCreate(); - encodeOutBuff = xmlBufferCreate(); - - /* check the result so far and lastly perform platform specific - * initialization */ - if (entityNameList && encodeInBuff && encodeOutBuff && - filesPlatformInit()) - result = 1; - return result; -} - -/** - * filesFree: - * - * Free memory used by file related structures - */ -void -filesFree(void) -{ - int result; - - if (terminalIO) { - fclose(terminalIO); - terminalIO = NULL; - } - if (termName) { - xmlFree(termName); - termName = NULL; - } - - result = filesFreeXmlFile(FILES_SOURCEFILE_TYPE); - if (result) - result = filesFreeXmlFile(FILES_XMLFILE_TYPE); - if (result) - result = filesFreeXmlFile(FILES_TEMPORARYFILE_TYPE); - if (!result){ -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Unable to free memory used by XML/XSLT files\n"); -#endif - } - if (stylePathName) { - xmlFree(stylePathName); - stylePathName = NULL; - } - - if (workingDirPath) { - xmlFree(workingDirPath); - workingDirPath = NULL; - } - - if (entityNameList) { - arrayListFree(entityNameList); - entityNameList = NULL; - } - - /* Free memory used by encoding related structures */ - if (encodeInBuff) - xmlBufferFree(encodeInBuff); - - if (encodeOutBuff) - xmlBufferFree(encodeOutBuff); - - /* close current encoding */ - filesSetEncoding(NULL); - - if (currentUrl) - xmlFree(currentUrl); - - /* free any memory used by platform specific files module */ - filesPlatformFree(); -} - - -/** - * filesIsSourceFile: - * @fileName : is valid - * - * Returns true if @name has the ".xsl" externsion - */ -int -filesIsSourceFile(xmlChar * fileName) -{ - return strstr((char *) fileName, ".xsl") || - strstr((char *) fileName, ".Xsl") || - strstr((char *) fileName, ".XSL"); -} - - - -entityInfoPtr -filesNewEntityInfo(const xmlChar * SystemID, const xmlChar * PublicID) -{ - - entityInfoPtr result = (entityInfoPtr) xmlMalloc(sizeof(entityInfo)); - - if (result) { - if (SystemID) - result->SystemID = xmlStrdup(SystemID); - else - result->SystemID = xmlStrdup(BAD_CAST ""); - - if (PublicID) - result->PublicID = xmlStrdup(PublicID); - else - result->PublicID = xmlStrdup(BAD_CAST ""); - } - return result; -} - -void -filesFreeEntityInfo(entityInfoPtr info) -{ - if (!info) - return; - - if (info->SystemID) - xmlFree(info->SystemID); - - if (info->PublicID) - xmlFree(info->PublicID); - xmlFree(info); -} - -/** - * filesAddEntityName: - * @name : is valid - * - * Add name to entity name list of know external entities if - * it does not already exist in list - */ -void - -filesAddEntityName(const xmlChar * SystemID, const xmlChar * PublicID) -{ - int entityIndex = 0; - entityInfoPtr tempItem; - - if (!SystemID || !filesEntityList()) - return; - - for (entityIndex = 0; - entityIndex < arrayListCount(filesEntityList()); entityIndex++) { - tempItem = - (entityInfoPtr) arrayListGet(filesEntityList(), entityIndex); - if (tempItem && xmlStrEqual(SystemID, tempItem->SystemID)) { - /* name aready exits so don't add it */ - return; - } - - } - - tempItem = filesNewEntityInfo(SystemID, PublicID); - arrayListAdd(filesEntityList(), tempItem); -} - - -/** - * filesEntityRef : - * @ent : Is valid as provided by libxslt - * @firstNode : Is valid - * @lastNode : Is Valid - * - * Fixes the nodes from firstNode to lastNode so that debugging can occur - */ -void - -filesEntityRef(xmlEntityPtr ent, xmlNodePtr firstNode, xmlNodePtr lastNode) -{ - xmlNodePtr node = firstNode; - if (!firstNode || !ent || !ent->SystemID || - (ent->etype != XML_EXTERNAL_GENERAL_PARSED_ENTITY) ) - return; - - if (ent->ExternalID) - filesAddEntityName(ent->SystemID, ent->ExternalID); - else - filesAddEntityName(ent->URI, BAD_CAST ""); - while (node){ - filesSetBaseUri(node, ent->URI); - if (node != lastNode) - node = node->next; - else - node = NULL; - } -} - - - - /** - * filesSetBaseUri: - * @node : Is valid and has a doc parent - * @uri : Is Valid - * - * Set the base uri for this node. Function is used when xml file - * has external entities in its DTD - * - * Returns 1 if successful, - * 0 otherwise - */ - -int -filesSetBaseUri(xmlNodePtr node, const xmlChar * uri) -{ - int result = 0; - - if (!node || !uri) - return result; - else { - if (node->type == XML_ELEMENT_NODE){ - xmlChar *xsldbgUrlCopy = xmlGetProp(node, BAD_CAST "xsldbg:uri"); - if (!xsldbgUrlCopy) - xmlNewProp(node, BAD_CAST "xsldbg:uri", uri); - else - xmlFree(xsldbgUrlCopy); - } - result = 1; - } - return result; -} - - - /** - * filesGetBaseUri: - * @node : Is valid and has a doc parent - * - * Get a copy of the base uri for this node. Function is most usefull - * used when xml file has external entities in its DTD - * - * Returns the a copy of the base uri for this node, - * NULL otherwise - */ -xmlChar * -filesGetBaseUri(xmlNodePtr node) -{ - xmlChar *result = NULL; - - if (!node || !node->doc) - return result; - - while (node && node->parent) { - /* - * result = xmlGetNsProp(node, BAD_CAST "uri", XSLDBG_XML_NAMESPACE); - */ - if (node->type == XML_ELEMENT_NODE) { - result = xmlGetProp(node, BAD_CAST "xsldbg:uri"); - if (result) - break; - } - node = node->parent; - } - - if (!result && node->doc && node->doc->URL) - result = xmlStrdup(node->doc->URL); - - return result; -} - - - - -/** - * filesEntityList: - * - * Return the list entity names used for documents loaded - * - * Returns the list entity names used for documents loaded - */ -arrayListPtr -filesEntityList(void) -{ - return entityNameList; -} - -extern int intVolitileOptions[OPTIONS_LAST_INT_OPTIONID - OPTIONS_FIRST_INT_OPTIONID + 1]; - -/** - * filesLoadCatalogs: - * - * Load the catalogs specifed by OPTIONS_CATALOG_NAMES if - * OPTIONS_CATALOGS is enabled - * Returns 1 if sucessful - * 0 otherwise - */ -int -filesLoadCatalogs(void) -{ - int result = 0; - const char *catalogs = NULL; - - xmlCatalogCleanup(); - if (optionsGetIntOption(OPTIONS_CATALOGS)) { - if (optionsGetStringOption(OPTIONS_CATALOG_NAMES) == NULL) { - /* use the SGML catalog */ -#ifdef __riscos - catalogs = getenv("SGML$CatalogFiles"); -#else - catalogs = getenv("SGML_CATALOG_FILES"); -#endif - if (catalogs == NULL) { -#ifdef __riscos - xsldbgGenericErrorFunc("Warning: Environment variable SGML$CatalogFiles is not set.\n"); -#else - xsldbgGenericErrorFunc("Warning: Environment variabe SGML_CATALOG_FILES FILES not set.\n"); -#endif - } else - /* copy the current catalog name(s) for user to see */ - optionsSetStringOption(OPTIONS_CATALOG_NAMES, - (xmlChar *) catalogs); - } else - /* Use the current catalog settings from users*/ - catalogs = (char *) - optionsGetStringOption(OPTIONS_CATALOG_NAMES); - - result = 1; - } - - if (catalogs){ - /* Load the new cataog selection */ - xmlLoadCatalogs(catalogs); - }else{ - /* Use default catalogs */ - xmlInitializeCatalog(); - } - return result; -} - - - - - /** - * filesEncode: - * @text: Is valid, text to translate from UTF-8, - * - * Return A new string of converted @text - * - * Returns A new string of converted @text, may be NULL - */ -xmlChar * -filesEncode(const xmlChar * text) -{ - xmlChar *result = NULL; - - if (!text) - return result; - - if (!stdoutEncoding || !encodeInBuff || !encodeOutBuff) - return xmlStrdup(text); /* no encoding active return as UTF-8 */ - - xmlBufferEmpty(encodeInBuff); - xmlBufferEmpty(encodeOutBuff); - xmlBufferCat(encodeInBuff, text); - - if (xmlCharEncOutFunc(stdoutEncoding, encodeOutBuff, encodeInBuff) - >= 0) { - result = xmlStrdup(xmlBufferContent(encodeOutBuff)); - } else { - xsldbgGenericErrorFunc(i18n("Encoding of text failed.\n")); - return xmlStrdup(text); /* panic, return as UTF-8 */ - } - return result; -} - - - - /** - * filesDeccode: - * @text: Is valid, text to translate from current encoding to UTF-8, - * - * Return A string of converted @text - * - * Returns A string of converted @text, may be NULL - */ -xmlChar * -filesDecode(const xmlChar * text) -{ - xmlChar *result = NULL; - - if (!text) - return result; - - if (!stdoutEncoding || !encodeInBuff || !encodeOutBuff) - return xmlStrdup(text); /* no encoding active return as UTF-8 */ - - xmlBufferEmpty(encodeInBuff); - xmlBufferEmpty(encodeOutBuff); - xmlBufferCat(encodeInBuff, text); - - if (xmlCharEncInFunc(stdoutEncoding, encodeOutBuff, encodeInBuff) - >= 0) { - result = xmlStrdup(xmlBufferContent(encodeOutBuff)); - } else { - xsldbgGenericErrorFunc(i18n("Encoding of text failed.\n")); - return xmlStrdup(text); /* panic, return @text unchanged */ - } - return result; -} - - - /* - * filesSetEncoding: - * @encoding : Is a valid encoding supported by the iconv library or NULL - * - * Opens encoding for all standard output to @encoding. If @encoding - * is NULL then close current encoding and use UTF-8 as output encoding - * - * Returns 1 if successful in setting the encoding of all standard output - * to @encoding - * 0 otherwise - */ -int -filesSetEncoding(const char *encoding) -{ - int result = 0; - - if (encoding) { - /* don't switch encoding unless we've found a valid encoding */ - xmlCharEncodingHandlerPtr tempEncoding = - xmlFindCharEncodingHandler(encoding); - if (tempEncoding) { - filesSetEncoding(NULL); /* re-use code to close encoding */ - stdoutEncoding = tempEncoding; - result = - (xmlCharEncOutFunc(stdoutEncoding, encodeOutBuff, NULL) - >= 0); - if (!result) { - xmlCharEncCloseFunc(stdoutEncoding); - stdoutEncoding = NULL; - xsldbgGenericErrorFunc(i18n("Unable to initialize encoding %1.").arg(xsldbgText(encoding))); - } else - optionsSetStringOption(OPTIONS_ENCODING, - (xmlChar *) encoding); - } else { - xsldbgGenericErrorFunc(i18n("Invalid encoding %1.\n").arg(xsldbgText(encoding))); - } - } else { - /* close encoding and use UTF-8 */ - if (stdoutEncoding) - result = (xmlCharEncCloseFunc(stdoutEncoding) >= 0); - else - result = 1; - stdoutEncoding = NULL; - } - return result; -} - - - - /** - * filesMoreFile: - * @fileName : May be NULL - * @file : May be NULL - * - * Do a "more" like print of file specified by @fileName OR - * @file. If both are provided @file will be used. The content - * of file chosen must be in UTF-8, and will be printed in - * the current encoding selected.The function will pause output - * after FILES_NO_LINES lines have been printed waiting for - * user to enter "q" to quit or any other text to continue. - * - * Returns 1 if successful, - * 0 otherwise - */ -int -filesMoreFile(const xmlChar * fileName, FILE * file) -{ - int result = 0; - int openedFile = 0; - int lineCount; - int reachedEof = 0; - - if (fileName && !file) { -#ifdef __riscos - /* convert into RISC OS format a *nix style file name */ - fileName = (const xmlChar *) riscosfilename((char *) fileName); -#endif - file = fopen((char *) fileName, "r"); - openedFile = 1; /* since we opened the file we must close it */ - } - if (file) { - while (!feof(file) && !reachedEof) { - lineCount = 0; - while (!feof(file) && (lineCount < FILES_NO_LINES) && - !reachedEof) { - if (fgets((char *) filesBuffer, sizeof(filesBuffer), file)) { - xsltGenericError(xsltGenericErrorContext, "%s", - filesBuffer); - lineCount++; - } else { - reachedEof = 1; - } - } - - if (!feof(file) && !reachedEof) { - xsldbgGenericErrorFunc(i18n(" ----- more ---- \n")); - fflush(stderr); - if (fgets((char *) filesBuffer, sizeof(filesBuffer), stdin)) { - if ((*filesBuffer == 'q') || (*filesBuffer == 'Q')) - reachedEof = 1; - } else { - reachedEof = 1; - } - } - } - - if (openedFile) { - fclose(file); - } - xsltGenericError(xsltGenericErrorContext, "\n"); - result = 1; - } else { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: No valid file provided to print\n"); -#endif - } - - - return result; -} - - - /** - * filesSearchResultsPath: - * - * Get the base path to be used for storing search results - * - * Returns The base path to be used for storing search results - */ -const xmlChar * -filesSearchResultsPath() -{ - const xmlChar *result; - - if (optionsGetStringOption(OPTIONS_SEARCH_RESULTS_PATH)) - result = optionsGetStringOption(OPTIONS_SEARCH_RESULTS_PATH); - else - result = stylePath(); - - return result; -} - - - /** - * filesURItoFileName: - * @uri : A valid URI that uses the "file://" prefix - * - * Return A copy of the conversion of @uri to a file name - * that is suitable to be used with the fopen function. - * May be NULL, if out of memory, @uri does not use the - * "file://" prefix, or unable to convert to a valid file name - * - * Returns A copy of the conversion of @uri to a file name - * that is suitable to be used with the fopen function. - * May be NULL, if out of memory, @uri does not use the - * "file://" prefix, or unable to convert to a valid file name - * - */ -xmlChar *filesURItoFileName(const xmlChar* uri) -{ - xmlChar *result = NULL; - xmlChar *unescapedFileName = NULL; - const xmlChar* tempName = NULL; - - if (uri){ - if (!xmlStrnCmp(uri, "file://localhost", 16 )){ - tempName = uri + 16; - }else{ -#if defined(WIN32) && ! defined(CYGWIN) - if (!xmlStrnCmp(uri, "file:///", 8)) - tempName = uri + 8; -#else - if (!xmlStrnCmp(uri, "file:/", 6)) - tempName = uri + 5; // we need the leading '/'*/ - while (tempName[0] == '/' && tempName[1] == '/' ) - tempName++; -#endif - } - - /* If we've found something check to see if the file name - found is to be valid */ - if (tempName) - result = (xmlChar*) xmlStrdup(tempName); - unescapedFileName = (xmlChar*) xmlStrdup(tempName); - if (result && unescapedFileName){ - if (PATHCHAR != URISEPARATORCHAR){ - /* Must convert path separators first */ - xmlChar *probe = result; - while(*probe != '\0'){ - if (*probe == (xmlChar)URISEPARATORCHAR) - *probe = (xmlChar)PATHCHAR; - probe++; - } - } - /* Now unescape the file name in result so far - * NB: An unescaped name takes less memory that an escaped name - */ - xmlURIUnescapeString((char*)result, -1, (char*)unescapedFileName); - xmlFree(result); - /* success we've got an local unescaped file name */ - result = unescapedFileName; - }else{ - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - if (result){ - xmlFree(result); - } - if (unescapedFileName) /* not needed, here for completeness */ - xmlFree(unescapedFileName); - - result = NULL; - } - }else{ - xsldbgGenericErrorFunc(i18n("Error: Unable to convert %1 to local file name.\n").arg(xsldbgText(uri))); - } - - - return result; -} - - -/* TODO in xsldbg 3.x rename these to use files prefix */ - -/** - * xsldbgUpdateFileDetails: - * @node : A valid node - * - * Update the URL and line number that we stoped at - */ -void -xsldbgUpdateFileDetails(xmlNodePtr node) -{ - if ((node != NULL) && (node->doc != NULL)){ - if (currentUrl != NULL) - xmlFree(currentUrl); - currentUrl = filesGetBaseUri(node); - currentLineNo = xmlGetLineNo(node); - } -} - - -/** - * xsldbgLineNo: - * - * What line number are we at - * - * Returns The current line number of xsldbg, may be -1 - **/ -int -xsldbgLineNo(void) -{ - return currentLineNo; -} - - -/** - * xsldbgUrl: - * - * What URL did we stop at - * - * Returns A NEW copy of URL stopped at. Caller must free memory for URL. - * May be NULL - */ -xmlChar * -xsldbgUrl(void) -{ - if (currentUrl != NULL) - return (xmlChar *) xmlMemStrdup((char *) currentUrl); - else - return NULL; -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/files.h b/kxsldbg/kxsldbgpart/libxsldbg/files.h deleted file mode 100644 index 89557e28..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/files.h +++ /dev/null @@ -1,985 +0,0 @@ - -/*************************************************************************** - files.h - define file related functions - ------------------- - begin : Sat Nov 10 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef FILES_H -#define FILES_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifndef BUILD_DOCS - -#include "search.h" -#include "arraylist.h" - -#endif - -#ifdef USE_KDE_DOCS - -/** - * Provide a file support - * - * @short file support - * - * @author Keith Isdale <k_isdale@tpg.com.au> - */ -#endif - - -#ifdef HAVE_UNISTD_H -#include <unistd.h> /* need chdir function */ -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - extern FILE *terminalIO; - -#define XSLDBG_XML_NAMESPACE \ - (const xmlChar *) "http://xsldbg.sourceforge.net/namespace" - - typedef struct _entityInfo entityInfo; - typedef entityInfo *entityInfoPtr; - struct _entityInfo { - xmlChar *SystemID; - xmlChar *PublicID; - }; - - - /* how many lines do we print before pausing when - * performing "more" on a UTF-8 file. See function filesMoreFile */ -#define FILES_NO_LINES 20 - - /* Define the types of file names that we are intested in when creating - * search results */ -#ifndef USE_KDOC - typedef enum { - FILES_SEARCHINPUT, - FILES_SEARCHXSL, - FILES_SEARCHRESULT - } FilesSearchFileNameEnum; -#else - /* keep kdoc happy */ - enum FilesSearchFileNameEnum { - FILES_SEARCHINPUT, - FILES_SEARCHXSL, - FILES_SEACHRESULT - }; -#endif - - - - /*----------------------------------------------------------- - General function for working with files - -----------------------------------------------------------*/ - -#ifdef USE_GNOME_DOCS - - /** - * filesEntityRef : - * @ent : Is valid as provided by libxslt - * @firstNode : Is valid - * @lastNode : Is Valid - * - * Fixes the nodes from firstNode to lastNode so that debugging can occur - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Fixes the nodes from firstNode to lastNode so that debugging can occur - * - * @param uri Is valid as provided by libxslt - * @param firstNode Is valid - * @param lastNode Is Valid - */ -#endif -#endif - void filesEntityRef(xmlEntityPtr ent, xmlNodePtr firstNode, - xmlNodePtr lastNode); - - -#ifdef USE_GNOME_DOCS - - /** - * filesEntityList: - * - * Return the list entity names used for documents loaded - * - * Returns The list entity names used for documents loaded - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Return the list entity names used for documents loaded - * - * @returns The list entity names used for documents loaded - */ -#endif -#endif - arrayListPtr filesEntityList(void); - - -#ifdef USE_GNOME_DOCS - - /** - * filesSetBaseUri: - * @node : Is valid and has a doc parent - * @uri : Is Valid - * - * Set the base uri for this node. Function is used when xml file - * has external entities in its DTD - * - * Returns 1 if successful, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Set the base uri for this node. Function is used when xml file - * has external entities in its DTD - * - * @param node Is valid and has a doc parent - * @param uri Is Valid - * - * @returns 1 if successful, - * 0 otherwise - */ -#endif -#endif - int filesSetBaseUri(xmlNodePtr node, const xmlChar * uri); - - -#ifdef USE_GNOME_DOCS - - /** - * filesGetBaseUri: - * @node : Is valid and has a doc parent - * - * Get a copy of the base uri for this node. Function is most usefull - * used when xml file has external entities in its DTD - * - * Returns the a copy of the base uri for this node, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Get a copy of the base uri for this node. Function is most usefull - * used when xml file has external entities in its DTD - * - * @param node : Is valid and has a doc parent - * - * @returns The a copy of the base uri for this node, - * NULL otherwise - */ -#endif -#endif - xmlChar *filesGetBaseUri(xmlNodePtr node); - - -#ifdef USE_GNOME_DOCS - - /** - * filesTempFileName: - * @fleNumber : Number of temp file required - * where @fileNumber is - * 0 : file name used by cat command - * 1 : file name used by profiling output - * - * Return the name of tempfile requirested - * - * This is a platform specific interface - * - * Returns The name of temp file to be used for temporary results if sucessful, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Return the name of tempfile requested. - * @param fleNumber : Number of temp file required - * where @p fileNumber is - * 0 : file name used by cat command - * 1 : file name used by profiling output - * - * This is a platform specific interface - * - * Returns The name of temp file to be used for temporary results if sucessful, - * NULL otherwise - */ -#endif -#endif - const char *filesTempFileName(int fileNumber); - - -#ifdef USE_GNOME_DOCS - - /** - * filesLoadCatalogs: - * - * Load the catalogs specifed by OPTIONS_CATALOG_NAMES if - * OPTIONS_CATALOGS is enabled - * - * Returns 1 if sucessful - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Load the catalogs specifed by OPTIONS_CATALOG_NAMES if - * OPTIONS_CATALOGS is enabled - * - * @returns 1 if sucessful - * 0 otherwise - */ -#endif -#endif - int filesLoadCatalogs(void); - - -#ifdef USE_GNOME_DOCS - - /** - * filesEncode: - * @text: Is valid, text to translate from UTF-8, - * - * Return A string of converted @text - * - * Returns A string of converted @text, may be NULL - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Return A string of converted @text - * - * @param text Is valid, text to translate from UTF-8, - * - * Returns A string of converted @text, may be NULL - */ -#endif -#endif - xmlChar *filesEncode(const xmlChar * text); - - -#ifdef USE_GNOME_DOCS - - /** - * filesDeccode: - * @text: Is valid, text to translate from current encoding to UTF-8, - * - * Return A string of converted @text - * - * Returns A string of converted @text, may be NULL - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Return A string of converted @text - * - * @param test Is valid, text to translate from current encoding to UTF-8, - * - * Returns A string of converted @text, may be NULL - */ -#endif -#endif - xmlChar *filesDecode(const xmlChar * text); - - -#ifdef USE_GNOME_DOCS - - /** - * filesSetEncoding: - * @encoding : Is a valid encoding supported by the iconv library or NULL - * - * Opens encoding for all standard output to @encoding. If @encoding - * is NULL then close current encoding and use UTF-8 as output encoding - * - * Returns 1 if successful in setting the encoding of all standard output - * to @encoding - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Opens encoding for all standard output to @p encoding. If @p encoding - * is NULL then close current encoding and use UTF-8 as output encoding - * - * @param encoding Is a valid encoding supported by the iconv library or NULL - * - * Returns 1 if successful in setting the encoding of all standard output - * to @p encoding - * 0 otherwise - */ -#endif -#endif - int filesSetEncoding(const char *encoding); - - -#ifndef USE_KDOC - /* used by filesLoadXmlFile, filesFreeXmlFile functions */ - typedef enum { - FILES_XMLFILE_TYPE = 100, /* pick a unique starting point */ - FILES_SOURCEFILE_TYPE, - FILES_TEMPORARYFILE_TYPE - } FileTypeEnum; -#else - - /* used by filesLoadXmlFile, filesFreeXmlFile functions */ - enum FileTypeEnum { - FILES_XMLFILE_TYPE = 100, /* pick a unique starting point */ - FILES_SOURCEFILE_TYPE, - FILES_TEMPORARYFILE_TYPE - }; -#endif - - -#ifdef USE_GNOME_DOCS - - /** - * openTerminal - * @device: terminal to redirect i/o to , will not work under win32 - * - * Open communications to the terminal device @device - * Returns 1 if sucessful - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Open communications to the terminal device @p device - * - * @param device Terminal to redirect i/o to , will not work under win32 - * - * @returns 1 if sucessful - * 0 otherwise - */ -#endif -#endif - int openTerminal(xmlChar * device); - - -#ifdef USE_GNOME_DOCS - - /** - * guessStyleSheetName: - * @searchInf : Is valid - * - * Try to find a matching stylesheet name - * Sets the values in @searchinf depending on outcome of search - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Try to find a matching stylesheet name - * Sets the values in @p searchinf depending on outcome of search - * - * @param searchInf Is valid - */ -#endif -#endif - void guessStylesheetName(searchInfoPtr searchInf); - - -#ifdef USE_GNOME_DOCS - - /** - * stylePath: - * - * Returns the base path for the top stylesheet ie - * ie URL minus the actual file name - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Return the base path for the top stylesheet ie - * ie URL minus the actual file name - * - * @returns The base path for the top stylesheet ie - * ie URL minus the actual file name - */ -#endif -#endif - xmlChar *stylePath(void); - - -#ifdef USE_GNOME_DOCS - - /** - * workingPath: - * - * Return the working directory as set by changeDir function - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Return the working directory as set by changeDir function - * - * @return the working directory as set by changeDir function - */ -#endif -#endif - xmlChar *workingPath(void); - - -#ifdef USE_GNOME_DOCS - - /** - * changeDir: - * @path : path to adopt as new working directory - * - * Change working directory to path - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Change working directory to path - * - * @param path The operating system path(directory) to adopt as - * new working directory - * - * @returns 1 on success, - * 0 otherwise - */ -#endif -#endif - int changeDir(const xmlChar * path); - - -#ifdef USE_GNOME_DOCS - - /** - * filesLoadXmlFile: - * @path : xml file to load - * @fileType : A valid FileTypeEnum - * - * Load specified file type, freeing any memory previously used - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Load specified file type, freeing any memory previously used - * - * @returns 1 on success, - * 0 otherwise - * - * @param path The xml file to load - * @param fileType A valid FileTypeEnum - */ -#endif -#endif - int filesLoadXmlFile(const xmlChar * path, FileTypeEnum fileType); - - -#ifdef USE_GNOME_DOCS - - /** - * filesFreeXmlFile: - * @fileType : A valid FileTypeEnum - * - * Free memory associated with the xml file - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Free memory associated with the xml file - * - * @returns 1 on success, - * 0 otherwise - * - * @param fileType : A valid FileTypeEnum - */ -#endif -#endif - int filesFreeXmlFile(FileTypeEnum fileType); - - -#ifdef USE_GNOME_DOCS - - /** - * filesGetStylesheet: - * - * Return the topmost stylesheet - * - * Returns non-null on success, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Return the topmost stylesheet - * - * @returns Non-null on success, - * NULL otherwise - */ -#endif -#endif - xsltStylesheetPtr filesGetStylesheet(void); - - -#ifdef USE_GNOME_DOCS - - /** - * filesGetTemporaryDoc: - * - * Return the current "temporary" document - * - * Returns the current "temporary" document - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Return the current "temporary" document - * - * @returns non-null on success, - * NULL otherwise - */ -#endif -#endif - xmlDocPtr filesGetTemporaryDoc(void); - - -#ifdef USE_GNOME_DOCS - - /** - * filesGetMainDoc: - * - * Returns the main docment - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Return the main docment - * - * @returns the main document - */ -#endif -#endif - xmlDocPtr filesGetMainDoc(void); - - -#ifdef USE_GNOME_DOCS - - /** - * filesReloaded: - * @reloaded : if = -1 then ignore @reloaded - * otherwise change the status of files to value of @reloaded - * - * Returns 1 if stylesheet or its xml data file has been "flaged" as reloaded, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * @returns 1 if stylesheet or its xml data file has been "flaged" as reloaded, - * 0 otherwise - * - * @param reloaded If = -1 then ignore @p reloaded - * otherwise change the status of files to value of @p reloaded - */ -#endif -#endif - int filesReloaded(int reloaded); - - -#ifdef USE_GNOME_DOCS - - /** - * filesInit: - * - * Initialize the file module - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Initialize the file module - * - * @returns 1 on success, - * 0 otherwise - */ -#endif -#endif - int filesInit(void); - - -#ifdef USE_GNOME_DOCS - - /** - * filesFree: - * - * Free memory used by file related structures - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Free memory used by file related structures - */ -#endif -#endif - void filesFree(void); - - -#ifdef USE_GNOME_DOCS - - /** - * filesIsSourceFile: - * @fileName : Is valid - * - * Test if filename could be a stylesheet - * - * Returns true if @name has the ".xsl" extension - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Test if filename could be a stylesheet - * - * @returns True if @name has the ".xsl" extension - * - * @param fileName Is valid - */ -#endif -#endif - int filesIsSourceFile(xmlChar * fileName); - - - -#ifdef USE_GNOME_DOCS - - /** - * filesMoreFile: - * @fileName : May be NULL - * @file : May be NULL - * - * Do a "more" like print of file specified by @fileName OR - * @file. If both are provided @file will be used. The content - * of file chosen must be in UTF-8, and will be printed in - * the current encoding selected.The function will pause output - * after FILES_NO_LINES lines have been printed waiting for - * user to enter "q" to quit or any other text to continue. - * - * Returns 1 if successful, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Do a "more" like print of file specified by @fileName OR - * @file. If both are provided @file will be used. The content - * of file chosen must be in UTF-8, and will be printed in - * the current encoding selected. The function will pause output - * after FILES_NO_LINES lines have been printed waiting for - * user to enter "q" to quit or any other text to continue. - * - * @returns 1 if successful, - * 0 otherwise - * - * @param fileName May be NULL - * @param file May be NULL - * - */ -#endif -#endif - int filesMoreFile(const xmlChar * fileName, FILE * file); - -#ifdef USE_GNOME_DOCS - - /** - * filesSearchResultsPath: - * - * Get the base path to be used for storing search results - * - * Returns The base path to be used for storing search results - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Get the base path to be used for storing search results - * - * @returns The base path to be used for storing search results - */ -#endif -#endif - const xmlChar *filesSearchResultsPath(void); - - - -#ifdef USE_GNOME_DOCS - - /** - * filesURItoFileName: - * @uri : A valid URI that uses the "file://" prefix - * - * Return A copy of the conversion of @uri to a file name - * that is suitable to be used with the fopen function. - * May be NULL, if out of memory, @uri does not use the - * "file://" prefix, or unable to convert to a valid file name - * - * Returns A copy of the conversion of @uri to a file name - * that is suitable to be used with the fopen function. - * May be NULL, if out of memory, @uri does not use the - * "file://" prefix, or unable to convert to a valid file name - * - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Return A copy of the conversion of @uri to a file name - * that is suitable to be used with the fopen function. - * May be NULL, if out of memory, @uri does not use the - * "file://" protocol, or unable to convert to a valid file name - * - * Returns A copy of the conversion of @uri to a file name - * that is suitable to be used with the fopen function. - * May be NULL, if out of memory, @uri does not use the - * "file://" prefix, or unable to convert to a valid file name - * - * @param uri A valid URI that uses the "file://" prefix - * - */ -#endif -#endif - xmlChar *filesURItoFileName(const xmlChar* uri); - - -#ifdef USE_GNOME_DOCS - -/** - * xsldbgUpdateFileDetails: - * @node : A valid node - * - * Update the URL and line number that we stoped at - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Update the URL and line number that we stoped at - * - * @param node A valid node - */ -#endif -#endif - void xsldbgUpdateFileDetails(xmlNodePtr node); - - - -#ifdef USE_GNOME_DOCS - - /** - * xsldbgLineNo: - * - * What line number are we at - * - * Returns The current line number of xsldbg, may be -1 - **/ -#else -#ifdef USE_KDE_DOCS - - /** - * What line number are we at - * - * @returns The current line number of xsldbg, may be -1 - **/ -#endif -#endif - int xsldbgLineNo(void); - - -#ifdef USE_GNOME_DOCS - - /** - * xsldbgUrl: - * - * What URL did we stop at - * - * Returns A NEW copy of URL stopped at. Caller must free memory for URL, - * may be NULL - */ -#else -#ifdef USE_KDE_DOCS - - /** - * What URL did we stop at - * - * @returns A NEW copy of URL stopped at. Caller must free memory for URL, - * may be NULL - */ -#endif -#endif - xmlChar *xsldbgUrl(void); - - /*----------------------------------------------------------- - Platform specific file functions - -----------------------------------------------------------*/ - - -#ifdef USE_GNOME_DOCS - - /** - * filesPlatformInit: - * - * Intialize the platform specific files module - * - * This is a platform specific interface - * - * Returns 1 if sucessful - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Intialize the platform specific files module - * - * This is a platform specific interface - * - * @returns 1 if sucessful - * 0 otherwise - */ -#endif -#endif - int filesPlatformInit(void); - - -#ifdef USE_GNOME_DOCS - - /** - * filesPlatformFree: - * - * Free memory used by the platform specific files module - * - * This is a platform specific interface - * - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Free memory used by the platform specific files module - * - * This is a platform specific interface - * - */ -#endif -#endif - void filesPlatformFree(void); - - - -#ifdef USE_GNOME_DOCS - - /** - * filesExpandName: - * @fileName : A valid fileName - * - * Converts a fileName to an absolute path - * If operating system supports it a leading "~" in the fileName - * will be converted to the user's home path. Otherwise - * the same name will be returned - * - * Returns A copy of the converted @fileName or a copy of - * the @fileName as supplied. May return NULL - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Converts a fileName to an absolute path - * If operating system supports it a leading "~" in the fileName - * will be converted to the user's home path. Otherwise - * the same name will be returned - * - * Returns A copy of the converted @p fileName or a copy of - * the @p fileName as supplied. May return NULL - * - * @param fileName A valid fileName - */ -#endif -#endif - xmlChar *filesExpandName(const xmlChar * fileName); - - - -#ifdef USE_GNOME_DOCS - - /** - * filesSearchFileName: - * @fileType : Is valid - * - * Return a copy of the file name to use as an argument to searching - * - * Returns A copy of the file name to use as an argument to searching - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Return a copy of the file name to use as an argument to searching - * - * @returns A copy of the file name to use as an argument to searching - * - * @param fileType Is valid - * - */ -#endif -#endif - xmlChar *filesSearchFileName(FilesSearchFileNameEnum fileType); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/kxsldbg/kxsldbgpart/libxsldbg/files_unix.cpp b/kxsldbg/kxsldbgpart/libxsldbg/files_unix.cpp deleted file mode 100644 index 992b0149..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/files_unix.cpp +++ /dev/null @@ -1,226 +0,0 @@ - -/*************************************************************************** - files_unix.c - file functions *nix platform - specific - ------------------- - begin : Tue Jan 29 2002 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "xsldbg.h" -#include "files.h" -#include "utils.h" -#include "options.h" -#include <cstdlib> - -static char *tempNames[2] = { NULL, NULL }; - - /** - * filesPlatformInit: - * - * Intialize the platform specific files module - * - * This is a platform specific interface - * - * - * Returns 1 if sucessful - * 0 otherwise - */ -int -filesPlatformInit(void) -{ - const char *namePrefix = "/tmp/"; - int nameIndex; - int result = 1; - - /* The "base" names for files files to use */ - const char *names[] = { - "_xsldbg_tmp1.txt", - "_xsldbg_tmp2.txt" - }; - - if (getenv("USER")) { - for (nameIndex = 0; nameIndex < 2; nameIndex++) { - tempNames[nameIndex] = (char*) - xmlMalloc(strlen(namePrefix) + strlen(getenv("USER")) + - strlen(names[nameIndex]) + 1); - if (tempNames[nameIndex]) { - xmlStrCpy(tempNames[nameIndex], namePrefix); - xmlStrCat(tempNames[nameIndex], getenv("USER")); - xmlStrCat(tempNames[nameIndex], names[nameIndex]); - } else { - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - break; - result = 0; - } - } - } else { - xsldbgGenericErrorFunc(i18n("Error: USER environment variable is not set.\n")); - } - return result; -} - - - /** - * filesPlatformFree: - * - * Free memory used by the platform specific files module - * - * This is a platform specific interface - * - */ -void -filesPlatformFree(void) -{ - int nameIndex; - - for (nameIndex = 0; nameIndex < 2; nameIndex++) { - if (tempNames[nameIndex]) - xmlFree(tempNames[nameIndex]); - } -} - - /** - * filesTempFileName: - * @fileNumber : Number of temp file required - * - * Return the name of tempfile. For each call to this function - * with the same @fileNumber the same file name will be returned - * File number : 0 is used by cat command - * File number : 1 is used by profiling output - * - * This is a platform specific interface - * - * Returns The name of temp file to be used for temporary results, - * NULL otherwise - */ -const char * -filesTempFileName(int fileNumber) -{ - - const char *result = NULL; - - if ((fileNumber < 0) || ((fileNumber + 1) > 2)){ //don't use > (int) sizeof(tempNames), it depends on the platform and is wrong even on i586 -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Unable to allocate temporary file %d for xsldbg\n", - fileNumber); -#endif - }else{ - result = tempNames[fileNumber]; - } - - return result; -} - - - - /** - * filesExpandName: - * @fileName : A valid fileName - * - * Converts a fileName to an absolute path - * If operating system supports it a leading "~" in the fileName - * will be converted to the user's home path. Otherwise - * the same name will be returned - * - * Returns A copy of the converted @fileName or a copy of - * the @fileName as supplied. May return NULL - */ -xmlChar * -filesExpandName(const xmlChar * fileName) -{ - xmlChar *result = NULL; - - if (fileName) { - if ((fileName[0] == '~') && getenv("HOME")) { - result = - (xmlChar *) xmlMalloc(xmlStrLen(fileName) + - strlen(getenv("HOME")) + 1); - if (result) { - xmlStrCpy(result, getenv("HOME")); - xmlStrCat(result, &fileName[1]); - } else { - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - } - } else if (!xmlStrnCmp(fileName, "file:/", 6)){ - /* return a copy of the corrected path */ - result = filesURItoFileName(fileName); - }else{ - /* return a copy only */ - result = xmlStrdup(fileName); - } - } - return result; -} - - - /** - * filesSearchFileName: - * @fileType : Is valid - * - * Return a copy of the file name to use as an argument to searching - * - * Returns A copy of the file name to use as an argument to searching - */ -xmlChar * -filesSearchFileName(FilesSearchFileNameEnum fileType) -{ - xmlChar *result = NULL; - int type = fileType; - int preferHtml = optionsGetIntOption(OPTIONS_PREFER_HTML); - const xmlChar *baseDir = NULL; - const xmlChar *name = NULL; - static const char *searchNames[] = { - /* Note: File names here are in native format, to be appended to the - * help directory name or search results path - */ - /* First list names when prefer html is false */ - "searchresult.xml", /* input */ - "search.xsl", /* stylesheet to use */ - "searchresult.txt", /* where to put the result */ - /*Now for the names to use when prefer html is true */ - "searchresult.xml", /* input */ - "searchhtml.xsl", /* stylesheet to use */ - "searchresult.html" /* where to put the result */ - }; - - if (!optionsGetStringOption(OPTIONS_DOCS_PATH) - || !filesSearchResultsPath()) { - xsldbgGenericErrorFunc(i18n("Error: The value of the option docspath or searchresultspath is empty. See help on setoption or options command for more information.\n")); - return result; - } - - - name = (xmlChar *) searchNames[(preferHtml * 3) + type]; - switch (type) { - case FILES_SEARCHINPUT: - baseDir = filesSearchResultsPath(); - break; - - case FILES_SEARCHXSL: - baseDir = optionsGetStringOption(OPTIONS_DOCS_PATH); - break; - - case FILES_SEARCHRESULT: - baseDir = filesSearchResultsPath(); - break; - } - - result = (xmlChar*)xmlMalloc(xmlStrLen(baseDir) + xmlStrLen(name) + 1); - if (result) { - xmlStrCpy(result, baseDir); - xmlStrCat(result, name); - } - return result; -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/help.h b/kxsldbg/kxsldbgpart/libxsldbg/help.h deleted file mode 100644 index 9c1c9a0a..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/help.h +++ /dev/null @@ -1,77 +0,0 @@ - -/*************************************************************************** - help.h - describe the help support functions - ------------------- - begin : Sun Sep 16 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef XSLDBG_HELP_H -#define XSLDBG_HELP_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifdef USE_KDE_DOCS - -/** - * Provide a help system for user - * - * @short help system support - * - * @author Keith Isdale <k_isdale@tpg.com.au> - */ -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - -#ifdef USE_GNOME_DOCS - -/** - * helpTop: - * @args : Is valid command or empty string - * - * Display help about the command in @arg - * - * This is a platform specific interface - * - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Display help about the command in @p arg - * - * - * This is a platform specific interface - * - * @param args Is valid or empty string - * @returns 1 on success, - * 0 otherwise - */ -#endif -#endif - int helpTop(const xmlChar * args); - - -#ifdef __cplusplus -} -#endif -#endif diff --git a/kxsldbg/kxsldbgpart/libxsldbg/help_unix.cpp b/kxsldbg/kxsldbgpart/libxsldbg/help_unix.cpp deleted file mode 100644 index 53a32724..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/help_unix.cpp +++ /dev/null @@ -1,123 +0,0 @@ - -/*************************************************************************** - help.c - help system for *nix platform - ------------------- - begin : Tue Jan 29 2002 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -/* - * Uses docs/xsldoc.xsl docs/xsldoc.xml and xslproc to generate text - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifndef XSLDBG_BIN -#define XSLDBG_BIN "xsldbg" -#endif - -#include "xsldbg.h" -#include "options.h" -#include "utils.h" -#include "debugXSL.h" -#include "help.h" -#include "files.h" -#include <stdlib.h> -#include <tdeglobal.h> -#include <tdestandarddirs.h> - -/** - * helpTop: - * @args : Is valid command or empty string - * - * Display help about the command in @args - * - * This is a platform specific interface - * - * Returns 1 on success, - * 0 otherwise - */ -int -helpTop(const xmlChar * args) -{ - - //Extra phrases to support translation of help display see tdewebdev/doc/xsldbg/xsldbghelp.xml and tdewebdev/kxsldbg/xsldbghelp.xsl - static const char* xsldbghelp_translations[] = - { - I18N_NOOP("xsldbg version"), - I18N_NOOP("Help document version"), - I18N_NOOP("Help not found for command") - }; - - TQString xsldbgVerTxt(i18n("xsldbg version")); - TQString helpDocVerTxt(i18n("Help document version")); - TQString helpErrorTxt(i18n("Help not found for command")); - - - char buff[500], helpParam[100]; - - const char *docsDirPath = - (const char *) optionsGetStringOption(OPTIONS_DOCS_PATH); - int result = 0; - - if (xmlStrLen(args) > 0) { - snprintf(helpParam, 100, "--param help:%c'%s'%c", QUOTECHAR, args, - QUOTECHAR); - } else - xmlStrCpy(helpParam, ""); - if (docsDirPath && filesTempFileName(0)) { - snprintf((char *) buff, sizeof(buff), "%s %s" - " --param xsldbg_version:%c'%s'%c " - " --param xsldbgVerTxt:%c'%s'%c " - " --param helpDocVerTxt:%c'%s'%c " - " --param helpErrorTxt:%c'%s'%c " - " --output %s " - " --cd %s " - "xsldbghelp.xsl xsldbghelp.xml", - XSLDBG_BIN, helpParam, - QUOTECHAR, VERSION, QUOTECHAR, - QUOTECHAR, xsldbgVerTxt.utf8().data(), QUOTECHAR, - QUOTECHAR, helpDocVerTxt.utf8().data(), QUOTECHAR, - QUOTECHAR, helpErrorTxt.utf8().data(), QUOTECHAR, - filesTempFileName(0), - docsDirPath); - if (xslDbgShellExecute((xmlChar *) buff, optionsGetIntOption(OPTIONS_VERBOSE)) == 0) { - if (docsDirPath) - xsldbgGenericErrorFunc(i18n("Error: Unable to display help. Help files not found in %1 or xsldbg not found in path.\n").arg(docsDirPath)); /* FIXME: Comments not correct - the command is that invoked */ - else - xsldbgGenericErrorFunc(i18n("Error: Unable to find xsldbg or help files.\n")); - } else { - if (filesMoreFile((xmlChar*)filesTempFileName(0), NULL) == 1) { - result = 1; - } else { - xsldbgGenericErrorFunc(i18n("Error: Unable to print help file.\n")); - } - } - - } else { - xsldbgGenericErrorFunc(i18n("Error: No path to documentation; aborting help.\n")); -#ifdef WITH_XSLDBG_DEBUG_PROCESS -#ifdef USE_DOCS_MACRO - xsltGenericError(xsltGenericErrorContext,"MACRO has been defined look at Makefile.am\n"); -#else - xsltGenericError(xsltGenericErrorContext, - "Error: Environment variable %s is not set to the directory of xsldbg documentation.\n", - XSLDBG_DOCS_DIR_VARIABLE); -#endif -#endif - } - return result; -} - diff --git a/kxsldbg/kxsldbgpart/libxsldbg/nodeview_cmds.cpp b/kxsldbg/kxsldbgpart/libxsldbg/nodeview_cmds.cpp deleted file mode 100644 index 5fcbef00..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/nodeview_cmds.cpp +++ /dev/null @@ -1,609 +0,0 @@ - -/*************************************************************************** - nodeview_cmds.c - node viewing commands for xsldbg - ------------------- - begin : Wed Nov 21 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "xsldbg.h" -#include <libxml/xpathInternals.h> -#include <libxml/HTMLparser.h> -#include <libxml/HTMLtree.h> -#include <ctype.h> /* for isspace*/ -#include "debugXSL.h" -#include "arraylist.h" -#include "breakpoint.h" -#include "xsldbgmsg.h" -#include "xsldbgthread.h" /* for getThreadStatus */ -#include "files.h" -#include "options.h" - - -/* ----------------------------------------- - Private function declarations for nodeview_cmds.c - -------------------------------------------*/ -static xmlChar nodeViewBuffer[500]; -static int printVariableValue = 0; - -/* - * xslDbgShellPrintNames: - * Print a name of variable found by scanning variable table - * It is used by print_variable function. - * @payload : not used - * @data : not used - * @name : the variable name - */ -void *xslDbgShellPrintNames(void *payload, - void *data, xmlChar * name); - -/** - * xslDbgCatToFile: - * @node : Is valid - * @file : Is valid - * - * Send the results of cat command in @node to @file - */ -static void xslDbgCatToFile(xmlNodePtr node, FILE * file); - - -/** - * printXPathObject: - * @item : XPath object to print - * @xPath : The XPath used to find item - * - * Print an XPath object - * - * Returns 1 on success, - * 0 otherwise - */ -static int printXPathObject(xmlXPathObjectPtr item, xmlChar* xPath); - -/* ------------------------------------- - End private functions ----------------------------------------*/ - - -/** - * xslDbgShellPrintList: - * @ctxt: The current shell context - * @arg: What xpath to display and in UTF-8 - * @dir: If 1 print in dir mode?, - * otherwise ls mode - * - * Print list of nodes in either ls or dir format - * - * Returns 1 on success, - * 0 otherwise - */ -int -xslDbgShellPrintList(xmlShellCtxtPtr ctxt, xmlChar * arg, int dir) -{ - xmlXPathObjectPtr list; - int result = 0; - - if (!ctxt || !arg) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: NULL arguments provided\n"); -#endif - return result; - } - - if (arg[0] == 0) { - if (dir) - xmlShellDir(ctxt, NULL, ctxt->node, NULL); - else - xmlShellList(ctxt, NULL, ctxt->node, NULL); - result = 1; /*assume that this worked */ - } else { - ctxt->pctxt->node = ctxt->node; - ctxt->pctxt->node = ctxt->node; - if (!xmlXPathNsLookup(ctxt->pctxt, (xmlChar *) "xsl")) - xmlXPathRegisterNs(ctxt->pctxt, (xmlChar *) "xsl", - XSLT_NAMESPACE); - list = xmlXPathEval(arg, ctxt->pctxt); - if (list != NULL) { - switch (list->type) { - case XPATH_NODESET:{ - int indx; - - for (indx = 0; - indx < list->nodesetval->nodeNr; indx++) { - if (dir) - xmlShellList(ctxt, NULL, - list->nodesetval-> - nodeTab[indx], NULL); - else - xmlShellList(ctxt, NULL, - list->nodesetval-> - nodeTab[indx], NULL); - } - result = 1; - break; - } - default: - xmlShellPrintXPathError(list->type, (char *) arg); - } - xmlXPathFreeObject(list); - } else { - xsldbgGenericErrorFunc(i18n("Error: XPath %1 results in an empty Node Set.\n").arg(xsldbgText(arg))); - } - ctxt->pctxt->node = NULL; - } - return result; -} - - - -/** - * xslDbgCatToFile: - * @node : Is valid - * @file : Is valid - * - * Send the results of cat command in @node to @file - */ -void -xslDbgCatToFile(xmlNodePtr node, FILE * file) -{ - if (!node || !file) - return; - - /* assume that HTML usage is enabled */ - if (node->doc->type == XML_HTML_DOCUMENT_NODE) { - if (node->type == XML_HTML_DOCUMENT_NODE) - htmlDocDump(file, (htmlDocPtr) node); - else - htmlNodeDumpFile(file, node->doc, node); - } else if (node->type == XML_DOCUMENT_NODE) { - /* turn off encoding for the moment and just dump UTF-8 - * which will be converted by xsldbgGeneralErrorFunc */ - xmlDocPtr doc = (xmlDocPtr) node; - const xmlChar *encoding = doc->encoding; - - if (encoding) { - xsldbgGenericErrorFunc(i18n("Information: Temporarily setting document's encoding to UTF-8. Previously was %1.\n").arg(xsldbgText(encoding))); - } - doc->encoding = (xmlChar *) "UTF-8"; - xmlDocDump(file, (xmlDocPtr) node); - doc->encoding = encoding; - } else { - xmlElemDump(file, node->doc, node); - } -} - - -/** - * printXPathObject: - * @item : XPath object to print - * @xPath : The XPath used to find item - * - * Print an XPath object - * - * Returns 1 on success, - * 0 otherwise - */ - -static int -printXPathObject(xmlXPathObjectPtr item, xmlChar* xPath){ - int result = 0; - if (item){ - switch (item->type) { - case XPATH_BOOLEAN: - xsltGenericError(xsltGenericErrorContext, - "= %s\n%s\n", xPath, - xmlBoolToText(item->boolval)); - result = 1; - break; - - case XPATH_NUMBER: - xsltGenericError(xsltGenericErrorContext, - "= %s\n%0g\n", xPath, item->floatval); - result = 1; - break; - - /* case XPATH_NODESET:*/ - default:{ - /* We may need to convert this XPath to a string, - plus ensure that we print required the number of - lines of text */ - int indx; - - const char *fileName = filesTempFileName(0); - FILE *file = NULL; - - if (!fileName) - break; - file = fopen(fileName, "w+"); - if (!file) { - xsldbgGenericErrorFunc(i18n("Error: Unable to save temporary results to %1.\n").arg(xsldbgText(fileName))); - break; - } else { - fprintf(file, "= %s\n", xPath); - switch(item->type){ - - case XPATH_NODESET: - if (item->nodesetval){ - for (indx = 0; - indx < item->nodesetval->nodeNr; indx++){ - xslDbgCatToFile(item->nodesetval-> - nodeTab[indx], file); - } - } else { - xsldbgGenericErrorFunc(i18n("Error: XPath %1 results in an empty Node Set.\n").arg(xsldbgText(xPath))); - } - break; - - case XPATH_STRING: - if (item->stringval) - fprintf(file, "\'%s\'", item->stringval); - else - fprintf(file, "%s", i18n("NULL string value supplied.").utf8().data()); - break; - - default:{ - xmlXPathObjectPtr tempObj = - xmlXPathObjectCopy(item); - if (tempObj) - tempObj = xmlXPathConvertString(tempObj); - if (tempObj && tempObj->stringval){ - fprintf(file, "%s", tempObj->stringval); - }else{ - fprintf(file, "%s", i18n("Unable to convert XPath to string.").utf8().data()); - } - if (tempObj) - xmlXPathFreeObject(tempObj); - } - break; - fprintf(file,"\n"); - - } /* inner switch statement */ - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - fclose(file); - file = NULL; - /* send the data to application */ - notifyXsldbgApp(XSLDBG_MSG_FILEOUT, fileName); - } else { - int lineCount = 0, gdbModeEnabled = 0; - - /* save the value of option to speed things up - * a bit */ - gdbModeEnabled = - optionsGetIntOption(OPTIONS_GDB); - rewind(file); - - /* when gdb mode is enable then only print the first - * GDB_LINES_TO_PRINT lines */ - while (!feof(file)) { - if (fgets - ((char *) nodeViewBuffer, sizeof(nodeViewBuffer), - file)) - xsltGenericError - (xsltGenericErrorContext, "%s", - nodeViewBuffer); - if (gdbModeEnabled) { - lineCount++; - /* there is an overhead of two lines - * when print expression values */ - if (lineCount == - GDB_LINES_TO_PRINT + 2) { - xsltGenericError - (xsltGenericErrorContext, - "..."); - break; - } - } - } - xsltGenericError - (xsltGenericErrorContext, "\n"); - } - if (file) - fclose(file); - result = 1; - break; - } - } - } - } - return result; -} - - -/** - * xslDbgShellCat: - * @styleCtxt: the current stylesheet context - * @ctxt: The current shell context - * @arg: The xpath to print (in UTF-8) - * - * Print the result of an xpath expression. This can include variables - * if styleCtxt is not NULL - * - * Returns 1 on success, - * 0 otherwise - */ - -int -xslDbgShellCat(xsltTransformContextPtr styleCtxt, xmlShellCtxtPtr ctxt, - xmlChar * arg) -{ - xmlXPathObjectPtr list; - int result = 0; - static const char * QUIET_STR = "-q"; - bool silenceCtxtErrors = false; - - if ((arg == NULL) || (xmlStrLen(arg) == 0)) - arg = (xmlChar *) "."; - - /* Do we quietly ingore style context errors */ - if (strncasecmp((char*)arg, QUIET_STR, strlen(QUIET_STR))== 0){ - silenceCtxtErrors = true; - arg = arg + strlen(QUIET_STR); - while (isspace(*arg)){ - arg++; - } - } - - if (!styleCtxt || !ctxt || !ctxt->node) { - if (!(!xsldbgReachedFirstTemplate && silenceCtxtErrors)) - xsldbgGenericErrorFunc(i18n("Warning: Unable to print expression. No stylesheet was properly loaded.\n")); - return 0; - } - - if ((arg == NULL) || (xmlStrLen(arg) == 0)) - arg = (xmlChar *) "."; - - ctxt->pctxt->node = ctxt->node; - if (!styleCtxt) { - list = xmlXPathEval((xmlChar *) arg, ctxt->pctxt); - } else { - xmlNodePtr savenode = styleCtxt->xpathCtxt->node; - - ctxt->pctxt->node = ctxt->node; - styleCtxt->xpathCtxt->node = ctxt->node; - if (!xmlXPathNsLookup(styleCtxt->xpathCtxt, (xmlChar *) "xsl")) - xmlXPathRegisterNs(styleCtxt->xpathCtxt, (xmlChar *) "xsl", - XSLT_NAMESPACE); - list = xmlXPathEval((xmlChar *) arg, styleCtxt->xpathCtxt); - styleCtxt->xpathCtxt->node = savenode; - } - if (list != NULL) { - result = printXPathObject(list, arg); - xmlXPathFreeObject(list); - } else { - xsldbgGenericErrorFunc(i18n("Error: XPath %1 results in an empty Node Set.\n").arg(xsldbgText(arg))); - } - ctxt->pctxt->node = NULL; - return result; -} - -/* only used by xslDbgPrintNames and xslDbgPrintVariable cound number of variables */ -static int varCount; - -/* - * xslDbgShellPrintNames: - * Print a name of variable found by scanning variable table - * It is used by print_variable function. - * @payload : Global variable of type xsltStackElemPtr - * @data : not used - * @name : the variable name - */ -void * -xslDbgShellPrintNames(void *payload, - void *data, xmlChar * name) -{ - Q_UNUSED(payload); - Q_UNUSED(data); - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - notifyListQueue(payload); - } else if (payload && name) { - xmlChar * fullQualifiedName = nodeViewBuffer; - xsltStackElemPtr item = (xsltStackElemPtr)payload; - if (item->nameURI == NULL){ - snprintf((char*)fullQualifiedName, sizeof(nodeViewBuffer), "$%s", item->name); - }else{ - snprintf((char*)fullQualifiedName, sizeof(nodeViewBuffer), "$%s:%s", - item->nameURI, item->name); - } - if (printVariableValue == 0){ - xsldbgGenericErrorFunc(i18n(" Global %1\n").arg(xsldbgText(fullQualifiedName))); - }else{ - if (item->computed == 1){ - xsldbgGenericErrorFunc(i18n(" Global ")); - printXPathObject(item->value, fullQualifiedName); - }else if (item->tree){ - xsldbgGenericErrorFunc(i18n(" Global = %1\n").arg(xsldbgText(fullQualifiedName))); - xslDbgCatToFile(item->tree, stderr); - }else if (item->select){ - xsldbgGenericErrorFunc(i18n(" Global = %1\n%2").arg(xsldbgText(fullQualifiedName)).arg(xsldbgText(item->select))); - }else{ - /* can't find a value give only a variable name an error message */ - xsldbgGenericErrorFunc(i18n(" Global = %1\n%2").arg(xsldbgText(fullQualifiedName)).arg(i18n("Warning: No value assigned to variable.\n"))); - } - xsltGenericError(xsltGenericErrorContext, "\n\032\032\n"); - } - varCount++; - } - return NULL; -} - - - -/** - * xslDbgShellPrintVariable: - * @styleCtxt: The current stylesheet context - * @arg: The name of variable to look for '$' prefix is optional and in UTF-8 - * @type: A valid VariableTypeEnum - * - * Print the value variable specified by args. - * - * Returns 1 on success, - * 0 otherwise - */ -int -xslDbgShellPrintVariable(xsltTransformContextPtr styleCtxt, xmlChar * arg, - VariableTypeEnum type) -{ - int result = 0; - /* command argument to include both name and its value */ - static const char * FULLNAME_STR = "-f"; - /* Quietly exit if an invalid stylesheet is provided */ - static const char * QUIET_STR = "-q"; - bool silenceCtxtErrors = false; - - if (!arg) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: NULL argument provided\n"); -#endif - return result; - } - - varCount = 0; - /* Do we quietly ingore style context errors */ - if (strncasecmp((char*)arg, QUIET_STR, strlen(QUIET_STR))== 0){ - silenceCtxtErrors = true; - arg = arg + strlen(QUIET_STR); - while (isspace(*arg)){ - arg++; - } - } - - if (!styleCtxt) { - if (!(!xsldbgReachedFirstTemplate && silenceCtxtErrors)) - xsldbgGenericErrorFunc(i18n("Error: Debugger has no files loaded or libxslt has not reached a template.\nTry reloading files or taking more steps.\n")); - return result; - } - - /* Do we include the name as well as its value */ - if (strncasecmp((char*)arg, FULLNAME_STR, strlen(FULLNAME_STR))== 0){ - printVariableValue = 1; - arg = arg + strlen(FULLNAME_STR); - while (isspace(*arg)){ - arg++; - } - } - if (arg[0] == 0) { - /* list variables of type requested */ - if (type == DEBUG_GLOBAL_VAR) { - if (styleCtxt->globalVars) { - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - notifyListStart(XSLDBG_MSG_GLOBALVAR_CHANGED); - /* list global variables */ - xmlHashScan(styleCtxt->globalVars, - (xmlHashScanner) xslDbgShellPrintNames, - NULL); - notifyListSend(); - } else - /* list global variables */ - xmlHashScan(styleCtxt->globalVars, - (xmlHashScanner) xslDbgShellPrintNames, - NULL); - result = 1; - /* ensure that the locals follow imediately after the - * globals when in gdb mode */ - if (optionsGetIntOption(OPTIONS_GDB) == 0) - xsltGenericError(xsltGenericErrorContext, "\n"); - } else { - if (getThreadStatus() != XSLDBG_MSG_THREAD_RUN) { - /* Don't show this message when running as a thread as it - * is annoying */ - xsldbgGenericErrorFunc(i18n("Error: Libxslt has not initialized variables yet; try stepping to a template.\n")); - } else { - /* send an empty list */ - notifyListStart(XSLDBG_MSG_GLOBALVAR_CHANGED); - notifyListSend(); - result = 1; - } - } - } else { - /* list local variables */ - if (styleCtxt->varsNr && styleCtxt->varsTab) { - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - notifyListStart(XSLDBG_MSG_LOCALVAR_CHANGED); - for (int i = styleCtxt->varsNr; i > styleCtxt->varsBase; i--) { - xsltStackElemPtr item = styleCtxt->varsTab[i-1]; - while (item) { - notifyListQueue(item); - item = item->next; - } - } - notifyListSend(); - } else { - xmlChar * fullQualifiedName = nodeViewBuffer; - for (int i = styleCtxt->varsNr; i > styleCtxt->varsBase; i--) { - xsltStackElemPtr item = styleCtxt->varsTab[i-1]; - while (item) { - if (item->name) { - if (item->nameURI == NULL){ - snprintf((char*)fullQualifiedName, sizeof(nodeViewBuffer), "$%s", - item->name); - }else{ - - snprintf((char*)fullQualifiedName, sizeof(nodeViewBuffer), "$%s:%s", - item->nameURI, item->name); - } - if (printVariableValue == 0){ - xsldbgGenericErrorFunc(i18n(" Local %1").arg(xsldbgText(fullQualifiedName))); - }else{ - if (item->computed == 1){ - xsldbgGenericErrorFunc(i18n(" Local ")); - printXPathObject(item->value, fullQualifiedName); - }else if (item->tree){ - xsldbgGenericErrorFunc(i18n(" Local = %1\n").arg(xsldbgText(fullQualifiedName))); - xslDbgCatToFile(item->tree, stderr); - }else if (item->select){ - xsldbgGenericErrorFunc(i18n(" Local = %1\n%2").arg(xsldbgText(fullQualifiedName)).arg(xsldbgText(item->select))); - }else{ - /* can't find a value give only a variable name and an error */ - xsldbgGenericErrorFunc(i18n(" Local = %1\n%2").arg(xsldbgText(fullQualifiedName)).arg(i18n("Warning: No value assigned to variable.\n"))); - } - } - xsltGenericError(xsltGenericErrorContext, "\n\032\032\n"); - } - item = item->next; - } - } - } - result = 1; - xsltGenericError(xsltGenericErrorContext, "\n"); - } else { - if (getThreadStatus() != XSLDBG_MSG_THREAD_RUN) { - /* Don't show this message when running as a thread as it - * is annoying */ - xsldbgGenericErrorFunc(i18n("Error: Libxslt has not initialized variables yet; try stepping past the xsl:param elements in the template.\n")); - } else { - /* send an empty list */ - notifyListStart(XSLDBG_MSG_LOCALVAR_CHANGED); - notifyListSend(); - result = 1; - } - } - } - } else { - /* Display the value of variable */ - if (arg[0] == '$') { - printXPathObject(xmlXPathEval(arg, styleCtxt->xpathCtxt), arg); - xsltGenericError(xsltGenericErrorContext, "\032\032\n"); - } else { - xmlStrCpy(nodeViewBuffer, "$"); - xmlStrCat(nodeViewBuffer, arg); - printXPathObject(xmlXPathEval((xmlChar*)nodeViewBuffer,styleCtxt->xpathCtxt), - (xmlChar*)nodeViewBuffer); - xsltGenericError(xsltGenericErrorContext, "\032\032\n"); - } - - } - - printVariableValue = 0; - return result; -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/option_cmds.cpp b/kxsldbg/kxsldbgpart/libxsldbg/option_cmds.cpp deleted file mode 100644 index 0bc54364..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/option_cmds.cpp +++ /dev/null @@ -1,299 +0,0 @@ - -/*************************************************************************** - option_cmds.c - implementation for option - related commands - - ------------------- - begin : Fri Feb 1 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "xsldbg.h" -#include "utils.h" -#include "options.h" -#include "xsldbgmsg.h" -#include "xsldbgthread.h" -#include "debugXSL.h" - - -/** - * xslDbgShellSetOption: - * @arg : Is valid, and in the format <NAME> <VALUE> - * - * Set the value of an option - * - * Returns 1 on success, - * 0 otherwise - */ -int -xslDbgShellSetOption(xmlChar * arg) -{ - int result = 0; - - if (!arg) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: NULL argument provided\n"); -#endif - return result; - } - - if (xmlStrLen(arg) > 0) { - xmlChar *opts[2]; - long optValue; - long optID; - - - if (splitString(arg, 2, opts) == 2) { - bool invertOption = false; - optID = optionsGetOptionID(opts[0]); - if ((optID == -1) && (opts[0][0] == 'n') && (opts[0][1] == 'o')){ - optID = optionsGetOptionID(&opts[0][2]); - if (optID != -1){ - // invert the value the user provides - invertOption = true; - } - } - - if (optID >= OPTIONS_FIRST_INT_OPTIONID) { - if (optID <= OPTIONS_LAST_INT_OPTIONID) { - /* handle setting integer option */ - if ((xmlStrlen(opts[1]) == 0) || - !sscanf((char *) opts[1], "%ld", &optValue)) { - xsldbgGenericErrorFunc(i18n("Error: Unable to parse %1 as an option value.\n").arg(xsldbgText(opts[1]))); - } else { - if (invertOption) - optValue = !optValue; - result = optionsSetIntOption(OptionTypeEnum(optID), optValue); - } - } else { - /* handle setting a string option */ - result = optionsSetStringOption(OptionTypeEnum(optID), opts[1]); - - } - } else { - static xmlExternalEntityLoader xsldbgDefaultEntLoader = 0; - bool invertOption = false; - bool enableNet = false; - - if (!xsldbgDefaultEntLoader) - xsldbgDefaultEntLoader = xmlGetExternalEntityLoader(); - - if (xmlStrEqual(opts[0], (const xmlChar *)"nonet" )) - invertOption = true; - - if (xmlStrEqual(&opts[0][2*invertOption], (const xmlChar *)"net" )){ - if (sscanf((char *) opts[1], "%ld", &optValue)) { - if (invertOption) - optValue = !optValue; - if (optValue) - enableNet = true; - result = true; - if (enableNet) - xmlSetExternalEntityLoader(xsldbgDefaultEntLoader); - else - xmlSetExternalEntityLoader(xmlNoNetExternalEntityLoader); - }else{ - xsldbgGenericErrorFunc(i18n("Error: Unable to parse %1 as an option value.\n").arg(xsldbgText(opts[1]))); - } - } else - xsldbgGenericErrorFunc(i18n("Error: Unknown option name %1.\n").arg(xsldbgText(opts[0]))); - } - } else { - xsldbgGenericErrorFunc(i18n("Error: Missing arguments for the command %1.\n").arg("setoption")); - } - } else { - xsldbgGenericErrorFunc(i18n("Error: Missing arguments for the command %1.\n").arg("setoption")); - } - - return result; -} - - - -/** - * xslDbgShellOptions: - * - * Prints out values for user options - * - * Returns 1 on success, - * 0 otherwise - */ -int -xslDbgShellOptions(void) -{ - int result = 1; - int optionIndex; - const xmlChar *optionName, *optionValue; - - /* Print out the integer options and thier values */ - if (getThreadStatus() != XSLDBG_MSG_THREAD_RUN) { - for (optionIndex = OPTIONS_XINCLUDE; - optionIndex <= OPTIONS_VERBOSE; optionIndex++) { - /* skip any non-user options */ - optionName = optionsGetOptionName(OptionTypeEnum(optionIndex)); - if (optionName && (optionName[0] != '*')) { - xsldbgGenericErrorFunc(i18n("Option %1 = %2\n").arg(xsldbgText(optionName)).arg(optionsGetIntOption(OptionTypeEnum(optionIndex)))); - - } - } - /* Print out the string options and thier values */ - for (optionIndex = OPTIONS_OUTPUT_FILE_NAME; - optionIndex <= OPTIONS_DATA_FILE_NAME; optionIndex++) { - optionName = optionsGetOptionName(OptionTypeEnum(optionIndex)); - if (optionName && (optionName[0] != '*')) { - optionValue = optionsGetStringOption(OptionTypeEnum(optionIndex)); - if (optionValue) { - xsldbgGenericErrorFunc(i18n("Option %1 = \"%2\"\n").arg(xsldbgText(optionName)).arg((char*)optionValue)); - } else { - xsldbgGenericErrorFunc(i18n("Option %1 = \"\"\n").arg(xsldbgText(optionName))); - - } - } - - } - xsldbgGenericErrorFunc("\n"); - } else { - /* we are now notifying the application of the value of options */ - parameterItemPtr paramItem; - - notifyListStart(XSLDBG_MSG_INTOPTION_CHANGE); - /* send the integer options and their values */ - for (optionIndex = OPTIONS_XINCLUDE; - optionIndex <= OPTIONS_VERBOSE; optionIndex++) { - /* skip any non-user options */ - optionName = optionsGetOptionName(OptionTypeEnum(optionIndex)); - if (optionName && (optionName[0] != '*')) { - paramItem = optionsParamItemNew(optionName, 0L); - if (!paramItem) { - notifyListSend(); /* send what ever we've got so far */ - return 0; /* out of memory */ - } - paramItem->intValue = optionsGetIntOption(OptionTypeEnum(optionIndex)); - notifyListQueue(paramItem); /* this will be free later */ - } - } - - notifyListSend(); - notifyListStart(XSLDBG_MSG_STRINGOPTION_CHANGE); - /* Send the string options and thier values */ - for (optionIndex = OPTIONS_OUTPUT_FILE_NAME; - optionIndex <= OPTIONS_DATA_FILE_NAME; optionIndex++) { - optionName = optionsGetOptionName(OptionTypeEnum(optionIndex)); - if (optionName && (optionName[0] != '*')) { - paramItem = - optionsParamItemNew(optionName, - optionsGetStringOption - (OptionTypeEnum(optionIndex))); - if (!paramItem) { - notifyListSend(); /* send what ever we've got so far */ - return 0; /* out of memory */ - } else - notifyListQueue(paramItem); /* this will be freed later */ - } - } - notifyListSend(); - } - - return result; -} - - - /** - * xslDbgShellShowWatches: - * @styleCtxt: the current stylesheet context - * @ctxt: The current shell context - * @showWarnings : If 1 then showWarning messages, - * otherwise do not show warning messages - * - * Print the current watches and their values - * - * Returns 1 on success, - * 0 otherwise - */ - int xslDbgShellShowWatches(xsltTransformContextPtr styleCtxt, - xmlShellCtxtPtr ctx,int showWarnings) -{ - int result = 0, counter; - xmlChar* watchExpression; - if ((showWarnings == 1) && (arrayListCount(optionsGetWatchList()) == 0)){ - xsldbgGenericErrorFunc(i18n("\tNo expression watches set.\n")); - } - for ( counter = 0; - counter < arrayListCount(optionsGetWatchList()); - counter++){ - watchExpression = (xmlChar*)arrayListGet(optionsGetWatchList(), counter); - if (watchExpression){ - xsldbgGenericErrorFunc(i18n(" WatchExpression %1 ").arg(counter + 1)); - result = xslDbgShellCat(styleCtxt, ctx, watchExpression); - }else - break; - } - - return result; -} - - - /** - * xslDbgShellAddWatch: - * @arg : A valid xPath of expression to watch the value of - * - * Add expression to list of expressions to watch value of - * - * Returns 1 on success, - * 0 otherwise - */ - int xslDbgShellAddWatch(xmlChar* arg) -{ - int result = 0; - if (arg){ - trimString(arg); - result = optionsAddWatch(arg); - if (!result) - xsldbgGenericErrorFunc(i18n("Error: Unable to add watch expression \"%1\". It already has been added or it cannot be watched.\n").arg(xsldbgText(arg))); - } - return result; -} - - /** - * xslDbgShellDeleteWatch: - * @arg : A watch ID to remove or "*" to remove all watches - * - * Delete a given watch ID from our list of expressions to watch - * - * Returns 1 on success, - * 0 otherwise - */ - int xslDbgShellDeleteWatch(xmlChar* arg) -{ - int result = 0; - long watchID; - if (arg){ - trimString(arg); - if (arg[0] == '*') { - arrayListEmpty(optionsGetWatchList()); - }else if ((xmlStrlen(arg) == 0) || - !sscanf((char *) arg, "%ld", &watchID)) { - xsldbgGenericErrorFunc(i18n("Error: Unable to parse %1 as a watchID.\n").arg(xsldbgText(arg))); - return result; - } else { - result = optionsRemoveWatch(watchID); - if (!result) - xsldbgGenericErrorFunc(i18n("Error: Watch expression %1 does not exist.\n").arg(watchID)); - } - } - return result; -} - - - diff --git a/kxsldbg/kxsldbgpart/libxsldbg/options.cpp b/kxsldbg/kxsldbgpart/libxsldbg/options.cpp deleted file mode 100644 index ec3b2b90..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/options.cpp +++ /dev/null @@ -1,903 +0,0 @@ - -/*************************************************************************** - options.c - provide the implementation for option - related functions - ------------------- - begin : Sat Nov 10 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "xsldbg.h" -#include "xsldbgthread.h" -#include "options.h" -#include "arraylist.h" -#include "xsldbgmsg.h" -#include "utils.h" -#include <tdeglobal.h> -#include <tdestandarddirs.h> -#include <tqfileinfo.h> -#include <tqstringlist.h> -#include <cstdlib> - - -/* keep track of our integer/boolean options */ -static int intOptions[OPTIONS_LAST_INT_OPTIONID - OPTIONS_FIRST_INT_OPTIONID + 1]; - -/* make use that use of options are safe by only copying - critical values from intVolitleOptions just before stylesheet is started - */ -int intVolitileOptions[OPTIONS_LAST_INT_OPTIONID - OPTIONS_FIRST_INT_OPTIONID + 1]; - -/* keep track of our string options */ -static xmlChar *stringOptions[OPTIONS_LAST_STRING_OPTIONID - - OPTIONS_FIRST_STRING_OPTIONID + 1]; - -/* keep track of our parameters */ -static arrayListPtr parameterList; - -/* what are the expressions to be printed out when xsldbg stops */ -static arrayListPtr watchExpressionList; - - -/* the names for our options - Items that start with *_ are options that CANNOT be used by the user - Once you set an option you need to give a run command to activate - new settings */ -const char *optionNames[] = { - "xinclude", /* Use xinclude during xml parsing */ - "docbook", /* Use of docbook sgml parsing */ - "timing", /* Use of timing */ - "profile", /* Use of profiling */ - "valid", /* Enable file validation */ - "out", /* Enable output to stdout */ - "html", /* Enable the use of html parsing */ - "debug", /* Enable the use of xml tree debugging */ - "shell", /* Enable the use of debugger shell */ - "gdb", /* Run in gdb modem prints more messages */ - "preferhtml", /* Prefer html output for search results */ - "autoencode", /* Try to use the encoding from the stylesheet */ - "utf8input", /* All input from "user" will be in UTF-8 */ - "stdout", /* Print all error messages to stdout, - * normally error messages go to stderr */ - "autorestart", /* When finishing the debug of a XSLT script - automaticly restart at the beginning */ - "verbose", /* Be verbose with messages */ - "repeat", /* The number of times to repeat */ - "*_trace_*", /* Trace execution */ - "*_walkspeed_*", /* How fast do we walk through code */ - "catalogs", /* do we use catalogs in SGML_CATALOG_FILES */ - "output", /* what is the output file name */ - "source", /* The stylesheet source to use */ - "docspath", /* Path of xsldbg's documentation */ - "catalognames", /* The names of the catalogs to use when the catalogs option is active */ - "encoding", /* What encoding to use for standard output */ - "searchresultspath", /* Where do we store the results of search */ - "data", /* The xml data file to use */ - NULL /* indicate end of list */ -}; - - - -// find the translated help documentation directory -// langLookupDir code modified from langLookup function in tdebase/khelpcenter/view.cpp - -static TQString langLookupDir( const TQString &fname ) -{ - TQStringList search; - - // assemble the local search paths - TQStringList localDoc = TDEGlobal::dirs()->resourceDirs("html"); - // also look in each of the TDEDIR paths - TQString kdeDirs = getenv("TDEDIRS"); - TQStringList kdeDirsList = TQStringList::split(":", kdeDirs); - if (!kdeDirs.isEmpty() && !kdeDirsList.isEmpty()){ - for (TQStringList::iterator it = kdeDirsList.begin(); it != kdeDirsList.end(); it++) - localDoc.append((*it) + "/share/doc/tde/HTML/") ; - } - - // look up the different languages - for (uint id=0; id < localDoc.count(); id++) - { - TQStringList langs = TDEGlobal::locale()->languageList(); - langs.append( "en" ); - langs.remove( "C" ); - TQStringList::ConstIterator lang; - for (lang = langs.begin(); lang != langs.end(); ++lang) - search.append(TQString("%1%2/%3/%4").arg(localDoc[id]).arg(*lang).arg("xsldbg").arg(fname)); - } - - // try to locate the file - TQStringList::Iterator it; - for (it = search.begin(); it != search.end(); ++it) - { - TQString baseDir = (*it).left((*it).findRev('/')) ; - TQFileInfo info(baseDir + "/"+ fname); - if (info.exists() && info.isFile() && info.isReadable()) - return baseDir; - } - - return TQString(); -} - - -/** - * optionsInit: - * - * Intialize the options module - * - * Returns 1 on success, - * 0 otherwise - */ -int -optionsInit(void) -{ - int optionId; - - for (optionId = 0; - optionId <= OPTIONS_LAST_INT_OPTIONID - OPTIONS_FIRST_INT_OPTIONID; optionId++) { - intOptions[optionId] = 0; - intVolitileOptions[optionId] = 0; - } - - for (optionId = 0; - optionId <= OPTIONS_LAST_STRING_OPTIONID - OPTIONS_FIRST_STRING_OPTIONID; - optionId++) { - stringOptions[optionId] = NULL; - } - - /* init our parameter list */ - parameterList = arrayListNew(10, (freeItemFunc) optionsParamItemFree); - - /* setup the docs path */ - optionsSetStringOption(OPTIONS_DOCS_PATH, (const xmlChar*)(langLookupDir("xsldbghelp.xml").utf8().data())); - - optionsSetIntOption(OPTIONS_TRACE, TRACE_OFF); - optionsSetIntOption(OPTIONS_WALK_SPEED, WALKSPEED_STOP); - /* always try to use encoding if found */ - optionsSetIntOption(OPTIONS_AUTOENCODE, 1); - /* start up with auto restart turned off */ - optionsSetIntOption(OPTIONS_AUTORESTART, 0); - /* start up with gdb mode turned on */ - optionsSetIntOption(OPTIONS_GDB, 1); - /* start up with output mode turned on */ - optionsSetIntOption(OPTIONS_OUT, 1); - /* start up with validation turned on */ - optionsSetIntOption(OPTIONS_VALID, 1); - /* start up with xinclude turned on */ - optionsSetIntOption(OPTIONS_XINCLUDE, 1); - - /* set output default as standard output. Must be changed if not using - * xsldbg's command line. Or the tty command is used */ - optionsSetStringOption(OPTIONS_OUTPUT_FILE_NAME, NULL); - - /* init our list of expressions to watch which are only a list of - strings ie xmlChar*'s */ - watchExpressionList = arrayListNew(10, (freeItemFunc) xmlFree); - - return (parameterList && watchExpressionList); -} - - -/** - * optionsFree: - * - * Free memory used by the options module - */ -void -optionsFree(void) -{ - int string_option; - - for (string_option = OPTIONS_FIRST_STRING_OPTIONID; - string_option <= OPTIONS_LAST_STRING_OPTIONID; string_option++) { - optionsSetStringOption(OptionTypeEnum(string_option), NULL); - } - - /* Free up memory used by parameters and watches*/ - arrayListFree(parameterList); - arrayListFree(watchExpressionList); - parameterList = NULL; - watchExpressionList = NULL; -} - - - /** - * optionsGetOptionID: - * @optionName : A valid option name see documentation for "setoption" - * command and program usage documentation - * - * Find the option id for a given option name - * - * Returns The optionID for @optionName if successful, where - * OPTIONS_FIRST_OPTIONID<= optionID <= OPTIONS_LAST_OPTIONID, - * otherwise returns -1 - */ -int -optionsGetOptionID(xmlChar * optionName) -{ - int result = -1; - int optID = lookupName(optionName, (xmlChar **) optionNames); - - if (optID >= 0) { - result = optID + OPTIONS_FIRST_OPTIONID; - } - - return result; -} - - - /** - * optionsGetOptionName: - * @ID : A valid option ID - * - * Get the name text for an option - * - * Returns The name of option if @ID is valid, - * NULL otherwise - */ -const xmlChar * -optionsGetOptionName(OptionTypeEnum ID) -{ - const xmlChar *result = 0; - if ( (ID >= OPTIONS_FIRST_OPTIONID) && (ID <= OPTIONS_LAST_OPTIONID)){ - /* An option ID is always valid at the moment */ - result = (const xmlChar *) optionNames[ID - OPTIONS_FIRST_OPTIONID]; - } - - return result; -} - - -/** - * optionsSetIntOption: - * @optionType: A valid boolean option - * @value: 1 to enable, 0 otherwise - * - * Set the state of a boolean xsldbg option to @value - * - * Returns 1 on success, - * 0 otherwise - */ -int -optionsSetIntOption(OptionTypeEnum optionType, int value) -{ - int type = optionType, result = 1; - - if ((type >= OPTIONS_FIRST_INT_OPTIONID) && (type <= OPTIONS_LAST_INT_OPTIONID)) { - /* make sure that use of options are safe by only copying - * critical values from intVolitleOptions just before - * stylesheet is started - */ - intVolitileOptions[type - OPTIONS_FIRST_INT_OPTIONID] = value; - - /* the following types must be activated imediately */ - switch (type) { - - case OPTIONS_TRACE: - case OPTIONS_WALK_SPEED: - case OPTIONS_GDB: - intOptions[type - OPTIONS_FIRST_INT_OPTIONID] = value; - break; - - default: - break; - } - } else { - if ((type >= OPTIONS_FIRST_OPTIONID) && (type <= OPTIONS_LAST_OPTIONID)){ - xsldbgGenericErrorFunc(i18n("Error: Option %1 is not a valid boolean/integer option.\n").arg(xsldbgText(optionNames[type - OPTIONS_FIRST_OPTIONID]))); - }else{ -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsldbgGenericErrorFunc(TQString("Error: Invalid arguments for the command %1.\n").arg("setoption")); -#endif - } - result = 0; - } - return result; -} - - -/** - * optionsGetIntOption: - * @optionType: A valid boolean option to query - * - * Return the state of a boolean option - * - * Returns The state of a boolean xsldbg option. - * ie 1 for enabled , 0 for disabled - */ -int -optionsGetIntOption(OptionTypeEnum optionType) -{ - int type = optionType, result = 0; - - if ((type >= OPTIONS_FIRST_INT_OPTIONID) && (type <= OPTIONS_LAST_INT_OPTIONID)) { - result = intOptions[type - OPTIONS_FIRST_INT_OPTIONID]; - } else { - if ((type >= OPTIONS_FIRST_OPTIONID) && (type <= OPTIONS_LAST_OPTIONID)){ - xsldbgGenericErrorFunc(i18n("Error: Option %1 is not a valid boolean/integer option.\n").arg(xsldbgText(optionNames[type - OPTIONS_FIRST_OPTIONID]))); - }else{ -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsldbgGenericErrorFunc(TQString("Error: Invalid arguments for the command %1.\n").arg("options")); -#endif - } - } - return result; -} - - - -/** - * optionsSetStringOption: - * @optionType: A valid string option - * @value: The value to copy - * - * Set value for a string xsldbg option to @value. - * Any memory used currently by option @optionType will be freed - * - * Returns 1 on success, - * 0 otherwise - */ -int -optionsSetStringOption(OptionTypeEnum optionType, const xmlChar * value) -{ - int type = optionType, result = 0; - - if ((type >= OPTIONS_FIRST_STRING_OPTIONID) && - (type <= OPTIONS_LAST_STRING_OPTIONID)) { - int optionId = type - OPTIONS_FIRST_STRING_OPTIONID; - - if (stringOptions[optionId]) - xmlFree(stringOptions[optionId]); - if (value) - stringOptions[optionId] = - (xmlChar *) xmlMemStrdup((char *) value); - else /* we want to be able to provide a NULL value */ - stringOptions[optionId] = NULL; - result = 1; - } else{ - if ((type >= OPTIONS_FIRST_OPTIONID) && (type <= OPTIONS_LAST_OPTIONID)){ - xsldbgGenericErrorFunc(i18n("Error: Option %1 is not a valid string xsldbg option.\n").arg(xsldbgText(optionNames[type - OPTIONS_LAST_OPTIONID]))); - }else{ -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsldbgGenericErrorFunc(TQString("Error: Invalid arguments for the command %1.\n").arg("setoption")); -#endif - } - } - return result; -} - - -/** - * optionsGetStringOption: - * @optionType: A valid string option - * - * Get value for a string xsldbg option of @optionType - - * Returns current option value which may be NULL - */ -const xmlChar * -optionsGetStringOption(OptionTypeEnum optionType) -{ - int type = optionType; - xmlChar *result = NULL; - - if ((type >= OPTIONS_FIRST_STRING_OPTIONID) && - (type <= OPTIONS_LAST_STRING_OPTIONID)) { - int optionId = type - OPTIONS_FIRST_STRING_OPTIONID; - result = stringOptions[optionId]; - } else{ - if ((type >= OPTIONS_FIRST_OPTIONID) && (type <= OPTIONS_LAST_OPTIONID)){ - xsldbgGenericErrorFunc(i18n("Error: Option %1 is not a valid string xsldbg option.\n").arg(xsldbgText(optionNames[type - OPTIONS_FIRST_OPTIONID]))); - }else{ -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsldbgGenericErrorFunc(TQString("Error: Invalid arguments for the command %1.\n").arg("options")); -#endif - } - } - return result; -} - - - /** - * optionsCopyVolitleOptions: - * - * Copy volitile options to the working area for xsldbg to be used - * just after xsldbg starts its processing loop - */ -void -optionsCopyVolitleOptions(void) -{ - int optionId; - - for (optionId = 0; - optionId <= OPTIONS_LAST_INT_OPTIONID - OPTIONS_FIRST_INT_OPTIONID; optionId++) { - intOptions[optionId] = intVolitileOptions[optionId]; - } -} - - -/** - * optionsParamItemNew: - * @name: Is valid - * @value: Is valid - * - * Create a new libxslt parameter item - * Returns non-null if sucessful - * NULL otherwise - */ -parameterItemPtr -optionsParamItemNew(const xmlChar * name, const xmlChar * value) -{ - parameterItemPtr result = NULL; - - if (name) { - result = (parameterItem *) xmlMalloc(sizeof(parameterItem)); - if (result) { - result->name = (xmlChar *) xmlMemStrdup((char *) name); - if (value) - result->value = (xmlChar *) xmlMemStrdup((char *) value); - else - result->value = (xmlChar *) xmlMemStrdup(""); - result->intValue = -1; - } - } - return result; -} - - -/** - * optionsParamItemFree: - * @item: Is valid - * - * Free memory used by libxslt parameter item @item - */ -void -optionsParamItemFree(parameterItemPtr item) -{ - if (item) { - if (item->name) - xmlFree(item->name); - if (item->value) - xmlFree(item->value); - xmlFree(item); - } - -} - - -/** - * optionsGetParamItemList: - * - * Return the list of libxlt parameters - * - * Returns The list of parameters to provide to libxslt when doing - * stylesheet transformation if successful - * NULL otherwise - */ -arrayListPtr -optionsGetParamItemList(void) -{ - return parameterList; -} - - -/** - * optionsPrintParam: - * @paramId: 0 =< paramID < arrayListCount(getParamList()) - * - * Print parameter information - * - * Returns 1 on success, - * 0 otherwise - */ -int -optionsPrintParam(int paramId) -{ - int result = 0; - parameterItemPtr paramItem = - (parameterItemPtr) arrayListGet(optionsGetParamItemList(), - paramId); - - if (paramItem && paramItem->name && paramItem->value) { - xsldbgGenericErrorFunc(i18n(" Parameter %1 %2=\"%3\"\n").arg(paramId).arg(xsldbgText(paramItem->name)).arg(xsldbgText(paramItem->value))); - result = 1; - } - return result; -} - - -/** - * optionsPrintParamList: - * - * Prints all items in parameter list - * - * Returns 1 on success, - * 0 otherwise - */ -int -optionsPrintParamList(void) -{ - int result = 1; - int paramIndex = 0; - int itemCount = arrayListCount(optionsGetParamItemList()); - - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - if (itemCount > 0) { - while (result && (paramIndex < itemCount)) { - result = optionsPrintParam(paramIndex++); - } - } - } else { - if (itemCount > 0) { - xsltGenericError(xsltGenericErrorContext, "\n"); - while (result && (paramIndex < itemCount)) { - result = optionsPrintParam(paramIndex++); - } - } else - xsldbgGenericErrorFunc(i18n("\nNo parameters present.\n")); - } - return result; -} - - - /** - * optionsNode: - * @optionType : Is valid, option to convert to a xmlNodePtr - * - * Convert option into a xmlNodePtr - * - * Returns the option @optionType as a xmlNodePtr if successful, - * NULL otherwise - */ -xmlNodePtr -optionsNode(OptionTypeEnum optionType) -{ - xmlNodePtr node = NULL; - char numberBuffer[10]; - int result = 1; - - numberBuffer[0] = '\0'; - if (optionType <= OPTIONS_VERBOSE) { - /* integer option */ - node = xmlNewNode(NULL, (xmlChar *) "intoption"); - if (node) { - snprintf(numberBuffer, sizeof(numberBuffer), "%d", - optionsGetIntOption(optionType)); - result = result && (xmlNewProp - (node, (xmlChar *) "name", - (xmlChar *) optionNames[optionType - - OPTIONS_XINCLUDE]) - != NULL); - if (result) - result = result && (xmlNewProp(node, (xmlChar *) "value", - (xmlChar *) numberBuffer) != - NULL); - if (!result) { - xmlFreeNode(node); - node = NULL; - } - - } - } else { - /* string option */ - node = xmlNewNode(NULL, (xmlChar *) "stringoption"); - if (node) { - result = result && (xmlNewProp - (node, (xmlChar *) "name", - (xmlChar *) optionNames[optionType - - OPTIONS_XINCLUDE]) - != NULL); - if (result) { - if (optionsGetStringOption(optionType)) - result = result && (xmlNewProp - (node, (xmlChar *) "value", - optionsGetStringOption - (optionType)) != NULL); - else - result = result && (xmlNewProp - (node, (xmlChar *) "value", - (xmlChar *) "") != NULL); - } - - if (!result) { - xmlFreeNode(node); - node = NULL; - } - - } - } - return node; -} - - - /** - * optionsReadDoc: - * @doc : Is valid xsldbg config document, in the format as indicated - * by config.dtd - * - * Read options from document provided. - * - * Returns 1 if able to read @doc and load options found, - * 0 otherwise - */ -int -optionsReadDoc(xmlDocPtr doc) -{ - int result = 1; - xmlChar *name, *value; - int optID; - xmlNodePtr node; - - /* very primative search for config node - * we skip the DTD and then go straight to the first child of - * config node */ - if (doc && doc->children->next && doc->children->next->children) { - /* find the first configuration option */ - node = doc->children->next->children; - while (node && result) { - if (node->type == XML_ELEMENT_NODE) { - if (xmlStrCmp(node->name, "intoption") == 0) { - name = xmlGetProp(node, (xmlChar *) "name"); - value = xmlGetProp(node, (xmlChar *) "value"); - if (name && value && (atoi((char *) value) >= 0)) { - optID = lookupName(name, (xmlChar **) optionNames); - if (optID >= 0) - result = - optionsSetIntOption(OptionTypeEnum(optID + OPTIONS_XINCLUDE), - atoi((char *) value)); - } - if (name) - xmlFree(name); - if (value) - xmlFree(value); - } else if (xmlStrCmp(node->name, "stringoption") == 0) { - name = xmlGetProp(node, (xmlChar *) "name"); - value = xmlGetProp(node, (xmlChar *) "value"); - if (name && value) { - optID = lookupName(name, (xmlChar **) optionNames); - if (optID >= 0) - result = - optionsSetStringOption(OptionTypeEnum(optID + OPTIONS_XINCLUDE), - value); - } - if (name) - xmlFree(name); - if (value) - xmlFree(value); - } - } - node = node->next; - } - } - return result; -} - - - -/** - * optionsSavetoFile: - * @fileName : Must be NON NULL be a local file that can be written to - * - * Save configuation to file specified - * - * Returns 1 if able to save options to @fileName, - * 0 otherwise - */ -int -optionsSavetoFile(xmlChar * fileName) -{ - int result = 0; - int optionIndex = 0; - xmlDocPtr configDoc; - xmlNodePtr rootNode; - xmlNodePtr node = NULL; - - if (!fileName) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: NULL file name provided\n"); -#endif - return result; - } - - configDoc = xmlNewDoc((xmlChar *) "1.0"); - rootNode = xmlNewNode(NULL, (xmlChar *) "config"); - - if (configDoc && rootNode) { - xmlCreateIntSubset(configDoc, (xmlChar *) "config", (xmlChar *) - "-//xsldbg//DTD config XML V1.0//EN", - (xmlChar *) "config.dtd"); - xmlAddChild((xmlNodePtr) configDoc, rootNode); - - /*now to do the work of adding configuration items */ - for (optionIndex = OPTIONS_XINCLUDE; - optionIndex <= OPTIONS_DATA_FILE_NAME; optionIndex++) { - result = 1; - if (optionNames[optionIndex - OPTIONS_XINCLUDE][0] == '*') - continue; /* don't save non user options */ - - node = optionsNode(OptionTypeEnum(optionIndex)); - if (node) - xmlAddChild(rootNode, node); - else { - result = 0; - break; - } - } - - if (result) { - /* so far so good, now to serialize it to disk */ - if (!xmlSaveFormatFile((char *) fileName, configDoc, 1)) - result = 0; - } - - xmlFreeDoc(configDoc); - } else { - - if (configDoc) - xmlFreeDoc(configDoc); - - if (rootNode) - xmlFreeNode(rootNode); - - } - - return result; -} - - - - /** - * optionsConfigState: - * @value : Is valid - * - * Set/Get the state of configuration loading/saving - * - * Returns The current/new value of configuration flag. Where - * @value means: - * OPTIONS_CONFIG_READVALUE : No change return current - * value of read configuration flag - * OPTIONS_CONFIG_WRITING : Clear flag and return - * OPTIONS_CONFIG_WRITING which mean configuration - * file is being written - * OPTIONS_CONFIG_READING : Set flag and return - * OPTIONS_CONFIG_READING, which means configuration - * file is being read - * OPTIONS_CONFIG_IDLE : We are neither reading or writing - * configuration and return OPTIONS_CONFIG_IDLE - */ -int -optionsConfigState(OptionsConfigState value) -{ - int result = OPTIONS_CONFIG_IDLE; - - /* work around as some compiler refuse to switch on enums */ - int configValue = value; - - /* hold the current state of configuration reading/writing */ - static int configState = OPTIONS_CONFIG_IDLE; - - switch (configValue) { - case OPTIONS_CONFIG_READVALUE: - /* read the current value only */ - result = configState; - break; - - case OPTIONS_CONFIG_READING: - case OPTIONS_CONFIG_WRITING: - /* update the value */ - result = configValue; - configState = configValue; - break; - } - - return result; -} - - /** - * optionsAddWatch: - * @xPath : A valid xPath to evaluate in a context and - * has not already been addded - * - * Add xPath to be evaluated and printed out each time the debugger stops - * - * Returns 1 if able to add xPath to watched - * 0 otherwise - */ - int optionsAddWatch(const xmlChar* xPath) -{ - int result = 0; - if (!xPath || (xmlStrlen(xPath) == 0)){ -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Invalid XPath supplied\n"); -#endif - } else{ - if (optionsGetWatchID(xPath) == 0){ - xmlChar * nameCopy = xmlStrdup(xPath); - if (nameCopy){ - arrayListAdd(watchExpressionList, nameCopy); - result = 1; - } - } - } - - return result; -} - - - /** - * optionsGetWatchID: - * @xPath : A valid watch expression that has already been added - * - * Finds the ID of watch expression previously added - * - * Returns 0 if not found, - * otherwise returns the ID of watch expression - */ - int optionsGetWatchID(const xmlChar* xPath) -{ - int result = 0, counter; - xmlChar* watchExpression; - if (!xPath){ -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Invalid xPath supplied\n"); -#endif - } else{ - for ( counter = 0; - counter < arrayListCount(watchExpressionList); - counter++){ - watchExpression = (xmlChar*)arrayListGet(watchExpressionList, counter); - if (watchExpression){ - if (xmlStrEqual(xPath, watchExpression)){ - result = counter + 1; - break; - } - }else{ - break; - } - } - } - - return result; -} - - /** - * optionsRemoveWatch: - * @watchID : A valid watchID as indicated by last optionsPrintWatches - * @showWarnings : Print more error messages if 1, - * print less if 0 - * - * Remove the watch with given ID from our list of expressions to watch - * - * Returns 1 if able to remove to watch expression - * 0 otherwise - */ - int optionsRemoveWatch(int watchID) -{ - return arrayListDelete(watchExpressionList, watchID - 1); -} - - /** - * optionsGetWatchList: - * - * Return the current list of expressions to watch - * - * Return the current list of expressions to watch - */ - arrayListPtr optionsGetWatchList() -{ - return watchExpressionList; -} - diff --git a/kxsldbg/kxsldbgpart/libxsldbg/options.h b/kxsldbg/kxsldbgpart/libxsldbg/options.h deleted file mode 100644 index 4ce99f42..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/options.h +++ /dev/null @@ -1,480 +0,0 @@ - -/*************************************************************************** - options.h - define option related functions - ------------------- - begin : Sat Nov 10 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef OPTIONS_H -#define OPTIONS_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "arraylist.h" - -/** - * Provide a mechanism to change option. The Options structure is not in use, - * it has been added so that kdoc puts all option related - * functions together - * - * @short file support - * - * @author Keith Isdale <k_isdale@tpg.com.au> - */ - -/* We want skip most of these includes when building documentation */ -#ifndef BUILD_DOCS -#include <libxslt/xslt.h> -#endif - -/* --------------------------------------- - Misc options --------------------------------------------*/ - -/** The largest number lines of text can be print print printing documents - This is equivant to gdb shorting of evaluation values - */ -#define GDB_LINES_TO_PRINT 3 - - - enum OptionsConfigState { - OPTIONS_CONFIG_READVALUE = -1, /* Read configuration flag */ - OPTIONS_CONFIG_READING = 1, /* Configuration file is being read */ - OPTIONS_CONFIG_WRITING, /* Configuration file is being written */ - OPTIONS_CONFIG_IDLE /* We are neither reading or writing */ - }; - - enum OptionTypeEnum { - OPTIONS_XINCLUDE = 500, /* Use xinclude during xml parsing */ - OPTIONS_FIRST_BOOL_OPTIONID = OPTIONS_XINCLUDE, - OPTIONS_FIRST_INT_OPTIONID = OPTIONS_XINCLUDE, - OPTIONS_FIRST_OPTIONID = OPTIONS_XINCLUDE, - OPTIONS_DOCBOOK, /* Use of docbook sgml parsing */ - OPTIONS_TIMING, /* Use of timing */ - OPTIONS_PROFILING, /* Use of profiling */ - OPTIONS_VALID, /* Enables file validation */ - OPTIONS_OUT, /* Enables output to stdout */ - OPTIONS_HTML, /* Enable the use of html parsing */ - OPTIONS_DEBUG, /* Enable the use of xml tree debugging */ - OPTIONS_SHELL, /* Enable the use of debugger shell */ - OPTIONS_GDB, /* Run in gdb modem prints more messages) */ - OPTIONS_PREFER_HTML, /* Prefer html output for search results */ - OPTIONS_AUTOENCODE, /* try to use the encoding from the stylesheet */ - OPTIONS_UTF8_INPUT, /* All input from user is in UTF-8.This normaly - * used when xsldbg is running as a thread */ - OPTIONS_STDOUT, /* Print all error messages to stdout, - * normally error messages go to stderr */ - OPTIONS_AUTORESTART, /* When finishing the debug of a XSLT script - automaticly restart at the beginning */ - OPTIONS_VERBOSE, /* Be verbose with messages */ - OPTIONS_LAST_BOOL_OPTIONID = OPTIONS_VERBOSE, - OPTIONS_REPEAT, /* The number of times to repeat */ - OPTIONS_TRACE, /* Trace execution */ - OPTIONS_WALK_SPEED, /* How fast do we walk through code */ - OPTIONS_CATALOGS, /* Get the catalogs from SGML_CATALOG_FILES and - * store it in OPTIONS_CATALOG_NAMES */ - OPTIONS_LAST_INT_OPTIONID = OPTIONS_CATALOGS, - OPTIONS_OUTPUT_FILE_NAME, /* what is the output file name */ - OPTIONS_FIRST_STRING_OPTIONID = OPTIONS_OUTPUT_FILE_NAME, - OPTIONS_SOURCE_FILE_NAME, /* the stylesheet source to use */ - OPTIONS_DOCS_PATH, /* path of xsldbg's documentation */ - OPTIONS_CATALOG_NAMES, /* the names of the catalogs to use when catalogs option is active */ - OPTIONS_ENCODING, /* What encoding to use for standard output */ - OPTIONS_SEARCH_RESULTS_PATH, /* Where do we store the results of searching */ - OPTIONS_DATA_FILE_NAME, /* xml data file to use */ - OPTIONS_LAST_STRING_OPTIONID = OPTIONS_DATA_FILE_NAME, - OPTIONS_LAST_OPTIONID = OPTIONS_DATA_FILE_NAME - }; - - /* define what tracing is used */ - enum TraceModeEnum { - TRACE_OFF = 600, /* disable tracing */ - TRACE_ON, /* enable tracing */ - TRACE_RUNNING, /* tracing is running */ - TRACE_FINISHED /* not needed but just in case */ - }; - - /* what speeds can we walk through a stylesheet */ - /* must start walkSpeed enums from zero !! */ - enum WalkSpeedEnum { - WALKSPEED_0 = 0, - WALKSPEED_STOP = WALKSPEED_0, - WALKSPEED_1, - WALKSPEED_FAST = WALKSPEED_1, - WALKSPEED_2, - WALKSPEED_3, - WALKSPEED_4, - WALKSPEED_5, - WALKSPEED_NORMAL = WALKSPEED_5, - WALKSPEED_6, - WALKSPEED_7, - WALKSPEED_8, - WALKSPEED_9, - WALKSPEED_SLOW = WALKSPEED_9 - }; - -extern int intVolitileOptions[OPTIONS_LAST_INT_OPTIONID - OPTIONS_FIRST_INT_OPTIONID + 1]; - -/* how many microseconds is each speed increase worth*/ -#define WALKDELAY 250000 - - -/* for non win32 environments see the macro in xsldebugger/Makefile.am - Win32 type systems see macro in libxslt/xsltwin32config.h -*/ -#ifdef __riscos - -/* The environment variable name we are going to use is the readable version - of the application name */ -#define XSLDBG_DOCS_DIR_VARIABLE "XSLDebugDocs$Dir" -#else - -/* The environment variable name on normal systems */ -#define XSLDBG_DOCS_DIR_VARIABLE "XSLDBG_DOCS_DIR" -#endif - -/* used to keep track of libxslt paramters - see Parameter related options near end of file -*/ - typedef struct _parameterItem parameterItem; - typedef parameterItem *parameterItemPtr; - struct _parameterItem { - xmlChar *name; /* libxslt parameter name */ - xmlChar *value; /* libxslt parameter value */ - int intValue; /* reserved */ - }; - - - -/** - * Initialized the options module - * - * @returns 1 on success, - * 0 otherwise - */ - int optionsInit(void); - - - -/** - * Free memory used by the options module - */ - void optionsFree(void); - - - /** - * Find the option id for a given option name - * - * @returns The optionID for @optionName if successful, where - * OPTIONS_XINCLUDE<= optionID <= OPTIONS_DATA_FILE_NAME, - * otherwise returns -1 - * - * @param optionName A valid option name see documentation for "setoption" - * command and program usage documentation - * - */ - int optionsGetOptionID(xmlChar * optionName); - - - - /** - * Get the name text for an option - * - * Returns The name of option if @ID is valid, - * NULL otherwise - * - * @param ID A valid option ID - * - */ - const xmlChar *optionsGetOptionName(OptionTypeEnum ID); - - -/** - * Set the value of an integer xsldbg option to @p value - * - * @returns 1 on success, - * 0 otherwise - * - * @param optionType Is a valid integer option - * @param value Is the valid to adopt - */ - int optionsSetIntOption(OptionTypeEnum optionType, int value); - - -/** - * @returns The state of a integer xsldbg option - * - * @param optionType Is a valid integer option - */ - int optionsGetIntOption(OptionTypeEnum optionType); - - -/** - * Set value for a string xsldbg option to @p value. - * Any memory used currently by option @p optionType will be freed - * - * @returns 1 on success, - * 0 otherwise - * - * @param optionType A valid string option - * @param value The value to copy - */ - int optionsSetStringOption(OptionTypeEnum optionType, - const xmlChar * value); - - -/** - * Get value for a string xsldbg option of @p optionType - * - * @returns current option value which may be NULL - * - * @param optionType A valid string option - */ - const xmlChar *optionsGetStringOption(OptionTypeEnum optionType); - - - /** - * Copy volitile options to the working area for xsldbg to be used - * just after xsldbg starts its processing loop - */ - void optionsCopyVolitleOptions(void); - - - -/*--------------------------------------------- - Parameter related options --------------------------------------------------*/ - - -/** - * Return the list of libxlt parameters - * - * @returns The list of parameters to provide to libxslt when doing - * stylesheet transformation if successful - * NULL otherwise - */ - arrayListPtr optionsGetParamItemList(void); - - - -/** - * Create a new libxslt parameter item - * - * @returns non-null if sucessful - * NULL otherwise - * - * @param name Is valid - * @param value Is valid - */ - parameterItemPtr optionsParamItemNew(const xmlChar * name, - const xmlChar * value); - - -/** - * Free memory used by libxslt parameter item @p item - * - * @param item Is valid - */ - void optionsParamItemFree(parameterItemPtr item); - - -/** - * Prints all items in parameter list - * - * @returns 1 on success, - * 0 otherwise - */ - int optionsPrintParam(int paramId); - - - -/** - * Prints all items in parameter list - * - * @returns 1 on success, - * 0 otherwise - */ - int optionsPrintParamList(void); - -/* --------------------------------------------- - Option serialization functions --------------------------------------------------*/ - - /** - * Convert option into a xmlNodePtr - * - * @returns The option @p optionType as a xmlNodePtr if successful, - * NULL otherwise - * - * @param optionType Is valid, option to convert to a xmlNodePtr - * - */ - xmlNodePtr optionsNode(OptionTypeEnum optionType); - - - - /** - * Read options from document provided. - * - * @returns 1 if able to read @p doc and load options found, - * 0 otherwise - * - * @param doc Is valid xsldbg config document, in the format as indicated - * by config.dtd - */ - int optionsReadDoc(xmlDocPtr doc); - - - /** - * Save configuation to file specified - * - * @returns 1 if able to save options to @fileName, - * 0 otherwise - * - * @fileName : Must be NON NULL be a local file that can be written to - */ - int optionsSavetoFile(xmlChar * fileName); - - -/* --------------------------------------------- - Platform specific option functions --------------------------------------------------*/ - - /** - * Intialize the platform specific options module - * - * This is a platform specific interface - * - * @returns 1 if sucessful - * 0 otherwise - */ - int optionsPlatformInit(void); - - - /** - * Free memory used by the platform specific options module - * - * This is a platform specific interface - * - */ - void optionsPlatformFree(void); - - - /** - * Return xsldbg's the configuration file name - * - * Returns A copy of the file name that will be used to load xsldbgs - * configuration from, - * NULL otherwise - * - * This is a platform specific interface - * - */ - xmlChar *optionsConfigFileName(void); - - - /** - * Load options from configuration file/registry - * - * This is a platform specific interface - * - * Returns 1 if able to load options - * 0 otherwise - */ - int optionsLoad(void); - - - /** - * Save options to configuration file/registry - * - * This is a platform specific interface - * - * Returns 1 if able to load options - * 0 otherwise - */ - int optionsSave(void); - - - /** - * Set/Get the state of configuration loading/saving. Normally only used - * by RISC OS - * - * - * Returns The current/new value of configuration flag. Where - * @p value means: - * OPTIONS_CONFIG_READVALUE : No change return current - * value of read configuration flag - * OPTIONS_CONFIG_WRITING : Clear flag and return - * OPTIONS_CONFIG_WRITING which mean configuration - * file is being written - * OPTIONS_CONFIG_READING : Set flag and return - * OPTIONS_CONFIG_READING, which means configuration - * file is being read - * OPTIONS_CONFIG_IDLE : We are neither reading or writing - * configuration and return OPTIONS_CONFIG_IDLE - * - * @param value Is valid - * - */ - int optionsConfigState(OptionsConfigState value); - - /** - * optionsAddWatch: - * @xPath : A valid xPath to evaluate in a context and - * has not already been addded - * - * Add xPath to be evaluated and printed out each time the debugger stops - * - * Returns 1 if able to add xPath to watched - * 0 otherwise - */ - int optionsAddWatch(const xmlChar* xPath); - - /** - * optionsGetWatchID: - * @xPath : A valid watch expression that has already been added - * - * Finds the ID of watch expression previously added - * - * Returns 0 if not found, - * otherwise returns the ID of watch expression - */ - int optionsGetWatchID(const xmlChar* xPath); - - - /** - * optionsRemoveWatch: - * @watchID : A valid watchID as indicated by last optionsPrintWatches - * - * Remove the watch with given ID from our list of expressions to watch - * - * Returns 1 if able to remove to watch expression - * 0 otherwise - */ - int optionsRemoveWatch(int watchID); - - - /** - * optionsGetWatchList: - * - * Return the current list of expressions to watch - * - * Return the current list of expressions to watch - */ - arrayListPtr optionsGetWatchList(void); - - -#endif diff --git a/kxsldbg/kxsldbgpart/libxsldbg/options_unix.cpp b/kxsldbg/kxsldbgpart/libxsldbg/options_unix.cpp deleted file mode 100644 index 27c7d2f1..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/options_unix.cpp +++ /dev/null @@ -1,118 +0,0 @@ - -/*************************************************************************** - options_unix.c - *nix specific option functions - ------------------- - begin : Tue Jan 29 2002 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include <libxml/parser.h> -#include <stdlib.h> -#include <string.h> -#include "xsldbg.h" -#include "options.h" - - /** - * optionsPlatformInit: - * - * Intialize the platform specific options module - * - * This is a platform specific interface - * - * Returns 1 if sucessful - * 0 otherwise - */ -int -optionsPlatformInit(void) -{ - return 1; -} - - - /** - * optionsPlatformFree: - * - * Free memory used by the platform specific options module - * - * This is a platform specific interface - * - */ -void -optionsPlatformFree(void) -{ - /* empty */ -} - - /** - * optionsConfigFileName: - * - * Returns A copy of the file name that will be used to load xsldbgs - * configuration from, - * NULL otherwise - */ -xmlChar * -optionsConfigFileName(void) -{ - xmlChar *result = NULL; - const char *homeDir = getenv("HOME"); - const char *configName = "xsldbg.rc"; - int bufferSize = 0; - - if (homeDir) { - /* give ourselves a bit of room to move */ - bufferSize = strlen(homeDir) + strlen(configName) + 10; - result = (xmlChar *) xmlMalloc(bufferSize); - snprintf((char *) result, bufferSize, "%s/%s", homeDir, - configName); - } - return result; -} - - - /** - * optionsLoad: - * - * Load options from configuration file/registry - * - * This is a platform specific interface - * - * Returns 1 if able to load options - * 0 otherwise - */ -int -optionsLoad(void) -{ - int result = 0; - xmlDocPtr doc = xmlParseFile((char *) optionsConfigFileName()); - - if (doc) - result = optionsReadDoc(doc); - return 0; -} - - - /** - * optionsSave: - * - * Save options to configuration file/registry - * - * This is a platform specific interface - * - * Returns 1 if able to save options - * 0 otherwise - */ -int -optionsSave(void) -{ - return optionsSavetoFile(optionsConfigFileName()); -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/os_cmds.cpp b/kxsldbg/kxsldbgpart/libxsldbg/os_cmds.cpp deleted file mode 100644 index 8c5e26e8..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/os_cmds.cpp +++ /dev/null @@ -1,101 +0,0 @@ - -/*************************************************************************** - os_cmds.c - operating system commands for xsldbg - ------------------- - begin : Wed Nov 21 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "xsldbg.h" -#include "debugXSL.h" -#include "files.h" -#include <cstdlib> - -/* ----------------------------------------- - - Operating system related commands - - ------------------------------------------- */ - - -/** - * xslDbgShellChangeWd: - * @path: The path to change to - * - * Change the current working directory of the operating system - * - * Returns 1 if able to change xsldbg's working directory to @path - * 0 otherwise - */ -int -xslDbgShellChangeWd(xmlChar * path) -{ - int result = 0; - - if (xmlStrLen(path)) { - /* call function in files.c to do the work */ - result = changeDir(path); - } else - xsldbgGenericErrorFunc(i18n("Error: Missing arguments for the command %1.\n").arg("chdir")); - return result; -} - - -/** - * xslDbgShellExecute: - * @name: The name of command string to be executed by operating system shell - * @verbose: If 1 then print extra debugging messages, - * normal messages otherwise - * - * Execute an operating system command - * - * Returns 1 on success, - * 0 otherwise - */ -int -xslDbgShellExecute(xmlChar * name, int verbose) -{ - int result = 0; - - /* Quick check to see if we have a command processor; embedded systems - * may not have such a thing */ - if (system(NULL) == 0) { - xsldbgGenericErrorFunc(i18n("Error: No command processor available for shell command \"%1\".\n").arg(xsldbgText(name))); - } else { - int return_code; - - if (verbose) - xsldbgGenericErrorFunc(i18n("Information: Starting shell command \"%1\".\n").arg(xsldbgText(name))); - - return_code = system((char *) name); - /* JRF: Strictly system returns an implementation defined value - - * we are interpreting that value here, so we need - * implementation specific code to handle each case */ - -#ifdef __riscos - /* on RISC OS -2 means 'system call failed', otherwise it is the - * return code from the sub-program */ - if (return_code != -2) { -#else - if (return_code == 0) { -#endif - if (verbose) - xsldbgGenericErrorFunc(i18n("Information: Finished shell command.\n")); - result = 1; - } else { - if (verbose) - xsldbgGenericErrorFunc(i18n("Error: Unable to run command. System error %1.\n").arg(return_code)); - } - } - return result; -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/param_cmds.cpp b/kxsldbg/kxsldbgpart/libxsldbg/param_cmds.cpp deleted file mode 100644 index befa330d..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/param_cmds.cpp +++ /dev/null @@ -1,175 +0,0 @@ - -/*************************************************************************** - param_cmds.c - libxslt parameter commands for xsldbg - ------------------- - begin : Wed Nov 21 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "xsldbg.h" -#include "debugXSL.h" -#include "options.h" - -#include "xsldbgmsg.h" -#include "xsldbgthread.h" /* for get thread status */ - - -/* ----------------------------------------- - - libxslt parameter related commands - - ------------------------------------------- */ - -/** - * xslDbgShellAddParam: - * @arg: A string comprised of two words separated by - * one or more spaces which are in UTF-8 - * - * Add a libxslt parameter to be sent to libxslt later on - * - * Returns 1 on success, - * 0 otherwise -*/ -int -xslDbgShellAddParam(xmlChar * arg) -{ - int result = 0; - parameterItemPtr paramItem = NULL; - static const char *errorPrompt = I18N_NOOP("Failed to add parameter"); - xmlChar *opts[2]; - - if (!arg) { - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments for the command %1.\n").arg("addparam")); - }else{ - if ((xmlStrLen(arg) > 1) && splitString(arg, 2, opts) == 2) { - int count; - for (count = 0; count < arrayListCount(optionsGetParamItemList()); count++){ - paramItem = (parameterItemPtr)arrayListGet(optionsGetParamItemList(), count); - if (paramItem != NULL){ - if (xmlStrCmp(opts[0], paramItem->name) == 0){ - /* parameter exist just update its value */ - if (paramItem->value) - xmlFree(paramItem->value); - paramItem->value = xmlStrdup(opts[1]); - return 1; - } - } - } - paramItem = optionsParamItemNew(opts[0], opts[1]); - result = arrayListAdd(optionsGetParamItemList(), paramItem); - } else { - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments for the command %1.\n").arg("addparam")); - } - } - if (!result) - xsldbgGenericErrorFunc(TQString("Error: %1\n").arg(i18n(errorPrompt))); - else { - xsldbgGenericErrorFunc("\n"); - } - return result; -} - - -/** - * xslDbgShellDelParam: - * @arg: A single white space trimmed parameter number to look for - * - * Delet a libxslt parameter to be sent to libxslt later on - * - * Returns 1 if able to delete parameter @name, - * 0 otherwise - */ -int -xslDbgShellDelParam(xmlChar * arg) -{ - int result = 0; - static const char *errorPrompt = I18N_NOOP("Failed to delete parameter"); - long paramId; - xmlChar *opts[2]; - - if (!arg) { - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments for the command %1.\n").arg("delparam")); - }else{ - if (xmlStrLen(arg) > 0) { - if (splitString(arg, 1, opts) == 1) { - if ((xmlStrlen(opts[0]) == 0) || - !sscanf((char *) opts[0], "%ld", ¶mId)) { - xsldbgGenericErrorFunc(i18n("Error: Unable to parse %1 as a line number.\n").arg(xsldbgText(opts[0]))); - } else { - result = - arrayListDelete(optionsGetParamItemList(), paramId); - if (!result) - xsldbgGenericErrorFunc(i18n("Error: Unable to find parameter %1.\n").arg(paramId)); - } - } else { - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments for the command %1.\n").arg("delparam")); - } - } else { - /* Delete all parameters */ - arrayListEmpty(optionsGetParamItemList()); - result = 1; - } - } - if (!result) - xsldbgGenericErrorFunc(TQString("Error: %1\n").arg(i18n(errorPrompt))); - else - xsldbgGenericErrorFunc("\n"); - - return result; -} - - -/** - * xslDbgShellShowParam: - * @arg: Not used - * - * Print list of current paramters - * - * Returns 1 on success, - * 0 otherwise - */ -int -xslDbgShellShowParam(xmlChar * arg) -{ - Q_UNUSED(arg); - int result = 0; - static const char *errorPrompt = I18N_NOOP("Unable to print parameters"); - - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - int paramIndex = 0; - int itemCount = arrayListCount(optionsGetParamItemList()); - - notifyListStart(XSLDBG_MSG_PARAMETER_CHANGED); - - if (itemCount > 0) { - parameterItemPtr paramItem = NULL; - - while (paramIndex < itemCount) { - paramItem = (parameterItemPtr) - arrayListGet(optionsGetParamItemList(), paramIndex++); - if (paramItem != NULL) - notifyListQueue(paramItem); - } - } - notifyListSend(); - result = 1; - } else { - - if (optionsPrintParamList()) - result = 1; - else - xsldbgGenericErrorFunc(TQString("Error: %1\n").arg(i18n(errorPrompt))); - xsldbgGenericErrorFunc("\n"); - } - return result; -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/qtnotifier2.h b/kxsldbg/kxsldbgpart/libxsldbg/qtnotifier2.h deleted file mode 100644 index e8840234..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/qtnotifier2.h +++ /dev/null @@ -1,42 +0,0 @@ -/*************************************************************************** - qtnotifier.h - notify the qt app of changes - ------------------- - begin : Sun Dec 23 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef TQTNOTIFIER_H -#define TQTNOTIFIER_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#if defined WIN32 -#include <libxsldbg/xsldbgwin32config.h> -#endif - -#include "xsldbgnotifier.h" - - -class XsldbgDebuggerBase; - -extern "C" { - - void connectNotifier(XsldbgDebuggerBase *debugger); - int qtNotifyXsldbgApp(XsldbgMessageEnum type, const void *data); - int qtNotifyStateXsldbgApp(XsldbgMessageEnum type, int commandId, XsldbgCommandStateEnum commandState, const char *text); - int qtNotifyTextXsldbgApp(XsldbgMessageEnum type, const char *text); -} - -#endif diff --git a/kxsldbg/kxsldbgpart/libxsldbg/search.cpp b/kxsldbg/kxsldbgpart/libxsldbg/search.cpp deleted file mode 100644 index 6d30193d..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/search.cpp +++ /dev/null @@ -1,1591 +0,0 @@ - -/*************************************************************************** - search.c - search implementation - ------------------- - begin : Fri Nov 2 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifndef XSLDBG_BIN -#define XSLDBG_BIN "xsldbg" -#endif - -#include "xsldbg.h" -#include "debugXSL.h" -#include "breakpoint.h" -#include "search.h" -#include "options.h" -#include "files.h" - -#ifdef __riscos - -/* Include for filename conversions */ -#include "libxml/riscos.h" -#endif - -/* our private function*/ -void scanForBreakPoint(void *payload, void *data, - xmlChar * name); - -/* store all data in this document so we can write it to file*/ -static xmlDocPtr searchDataBase; - -/* the topmost node in document*/ -static xmlNodePtr searchDataBaseRoot; - -/* what was the last query that was run */ -static xmlChar *lastQuery; - -#define BUFFER_SIZE 500 -static xmlChar searchBuffer[BUFFER_SIZE]; - -/* ----------------------------------------- - Private function declarations for dbgsearch.c - -------------------------------------------*/ - -/** - * findNodeByLineNoHelper: - * @payload: valid xsltStylesheetPtr - * @data: valid searchInfoPtr - * @name: not used - * - * We are walking through stylesheets looking for a match - */ -void - findNodeByLineNoHelper(void *payload, void *data, - xmlChar * name); - -/** - * globalVarHelper: - * @payload: valid xsltStylesheetPtr - * @data: is valid - * @name: not used - * - * Helper to find the global variables. We are given control via - * walkStylesheets globalWalkFunc will always be set to the - * walkFunc to call - */ -void - globalVarHelper(void **payload, void *data, - xmlChar * name); - -/** - * localVarHelper: - * @payload: valid xsltTemplatePtr - * @data: is valid - * @name: not used - * - * Helper to find the local variables. We are given control via walkTemplates - * globalWalkFunc will always be set to the walkFunc to call - * localWalkFunc will always be set to the walkFunc to call - */ -void - localVarHelper(void **payload, void *data, - xmlChar * name); - - -/* ------------------------------------- - End private functions - ---------------------------------------*/ - - -/** - * searchInit: - * - * Initialize the search module - * - * Returns 1 if search structures have been initialized properly and all - * memory required has been obtained, - * 0 otherwise -*/ -int -searchInit(void) -{ - searchDataBase = NULL; - searchDataBaseRoot = NULL; - lastQuery = NULL; - if (!searchEmpty()) { - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - } - return (searchRootNode() != NULL); -} - - -/** - * searchFree: - * - * Free all memory used by the search module - */ -void -searchFree(void) -{ - if (searchDataBase) { - xmlFreeDoc(searchDataBase); - searchDataBase = NULL; - searchDataBaseRoot = NULL; - } -} - - -/** - * searchNewInfo: - * @type: What type of search is required - * - * Create a new search - * - * Returns A valid search info pointer if successful - * NULL otherwise - */ -searchInfoPtr -searchNewInfo(SearchEnum type) -{ - searchInfoPtr result = NULL; - int searchType = type; - - switch (searchType) { - case SEARCH_BREAKPOINT: - result = (searchInfoPtr) xmlMalloc(sizeof(searchInfo)); - if (result) { - breakPointSearchDataPtr searchData; - - result->type = SEARCH_BREAKPOINT; - searchData = (breakPointSearchDataPtr) - xmlMalloc(sizeof(breakPointSearchData)); - if (searchData) { - searchData->id = -1; - searchData->templateName = NULL; - searchData->breakPtr = NULL; - result->data = searchData; - } else { - xmlFree(result); - result = NULL; - } - } - break; - - case SEARCH_NODE: - result = (searchInfoPtr) xmlMalloc(sizeof(searchInfo)); - if (result) { - nodeSearchDataPtr searchData; - - result->type = SEARCH_NODE; - searchData = - (nodeSearchDataPtr) xmlMalloc(sizeof(nodeSearchData)); - if (searchData) { - searchData->node = NULL; - searchData->lineNo = -1; - searchData->url = NULL; - searchData->nameInput = NULL; - searchData->guessedNameMatch = NULL; - searchData->absoluteNameMatch = NULL; - result->data = searchData; - } else { - xmlFree(result); - result = NULL; - } - } - break; - - case SEARCH_XSL: - break; - - case SEARCH_VARIABLE: - result = (searchInfoPtr) xmlMalloc(sizeof(searchInfo)); - if (result) { - variableSearchDataPtr searchData; - - result->type = SEARCH_VARIABLE; - searchData = (variableSearchDataPtr) - xmlMalloc(sizeof(variableSearchData)); - if (searchData) { - searchData->name = NULL; - searchData->nameURI = NULL; - searchData->select = NULL; - result->data = searchData; - } else { - xmlFree(result); - result = NULL; - } - } - break; - - } - if (result) { - result->found = 0; - result->error = 0; - } - return result; -} - - -/** - * searchFreeInfo: - * @info: valid search info - * - * Free memory used by @info - */ -void -searchFreeInfo(searchInfoPtr info) -{ - if (info) { - if (info->data) { - switch (info->type) { - case SEARCH_BREAKPOINT: - { - breakPointSearchDataPtr searchData = - (breakPointSearchDataPtr) info->data; - - if (searchData->templateName) - xmlFree(searchData->templateName); - } - break; - - case SEARCH_NODE: - { - nodeSearchDataPtr searchData = - (nodeSearchDataPtr) info->data; - - if (searchData->url) - xmlFree(searchData->url); - - if (searchData->nameInput) - xmlFree(searchData->nameInput); - - if (searchData->guessedNameMatch) - xmlFree(searchData->guessedNameMatch); - - if (searchData->absoluteNameMatch) - xmlFree(searchData->absoluteNameMatch); - - /* we never free searchData->node as we did not create it! */ - } - break; - - case SEARCH_XSL: - break; - - case SEARCH_VARIABLE: - { - variableSearchDataPtr searchData = - (variableSearchDataPtr) info->data; - - if (searchData->name) - xmlFree(searchData->name); - - if (searchData->nameURI) - xmlFree(searchData->nameURI); - - if (searchData->select) - xmlFree(searchData->select); - } - break; - - } - xmlFree(info->data); - } - xmlFree(info); - } -} - - -/** - * searchEmpty: - * - * Empty the seach dataBase of its contents - * - * Returns 1 on success, - * 0 otherwise - */ -int -searchEmpty(void) -{ - if (searchDataBase) { - xmlFreeDoc(searchDataBase); - } - searchDataBase = xmlNewDoc((xmlChar *) "1.0"); - searchDataBaseRoot = NULL; - if (searchDataBase) { - xmlCreateIntSubset(searchDataBase, - (xmlChar *) "search", (xmlChar *) - "-//xsldbg//DTD search XML V1.1//EN", - (xmlChar *) "search_v1_1.dtd"); - searchDataBaseRoot = xmlNewNode(NULL, (xmlChar *) "search"); - if (searchDataBaseRoot) - xmlAddChild((xmlNodePtr) searchDataBase, searchDataBaseRoot); - } - if (lastQuery) - xmlFree(lastQuery); - lastQuery = NULL; - if (searchRootNode() == NULL) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Unable to clear old search results, memory error?\n"); -#endif - } - - return (searchRootNode() != NULL); -} - - -/** - * searchDoc: - * - * Return the document used for seaching ie the search dataBase - * - * Returns The document used for searching - * Dangerous function to use! Does NOT return a copy of - * search data so don't free it - */ -xmlDocPtr -searchDoc(void) -{ - return searchDataBase; -} - - -/** - * searchRootNode: - * - * Get the topmost node in the search dataBase - * - * Returns The topmost xml node in search dataBase. - * Dangerous function to use! Does NOT return a copy of - * search root node so don't free it - */ -xmlNodePtr -searchRootNode(void) -{ - return searchDataBaseRoot; -} - - -/** - * searchAdd: - * @node: Is valid - * - * Add a node to the search dataBase - * - * Returns 1 if able to add @node to top node in search dataBase, - * 0 otherwise - */ -int -searchAdd(xmlNodePtr node) -{ - int result = 0; - - if (node && searchDataBaseRoot - && xmlAddChild(searchDataBaseRoot, node)) { - result = 1; - } - - return result; -} - - -/** - * searchSave: - * @fileName: A valid file name, or NULL for the default - * - * Save the search dataBase to @fileName - * - * Returns 1 on success, - * 0 otherwise - */ -int -searchSave(const xmlChar * fileName) -{ - - int result = 0; - xmlChar *searchInput = NULL; - - if (fileName == NULL) - searchInput = filesSearchFileName(FILES_SEARCHINPUT); - else - searchInput = xmlStrdup(fileName); - - if (xmlSaveFormatFile((char *) searchInput, searchDataBase, 1) != -1){ - result = 1; - }else{ - xsldbgGenericErrorFunc(i18n("Error: Unable to write search Database to file %1. Try setting the \"searchresultspath\" option to a writable path.\n").arg(xsldbgText(searchInput))); - } - - if (searchInput) - xmlFree(searchInput); - - return result; -} - - -/** - * searchQuery: - * @query: The query to run . If NULL then query is "//search/ *" - * @tempFile: Where do we load the search dataBase from to execute - * query. If tempFile is NULL "searchresult.xml" is used - * @outputFile : Where do we store the result. If NULL - * then default to "searchresult.html" - * - * Send query as parameter for execution of search.xsl using - * data stored in @tempFile - * - * Returns 1 on success, - * 0 otherwise - */ -int -searchQuery(const xmlChar * tempFile, const xmlChar * outputFile, - const xmlChar * query) -{ - int result = 0; - - /* The file name of where the input is comming from */ - xmlChar *searchInput = NULL; - - /* The XSL file name to use during transformation of searchInput */ - xmlChar *searchXSL = NULL; - - /* Where to store the result of transformation */ - xmlChar *searchOutput = NULL; - - - /* if a tempFile if provided its up you to make sure that it is correct !! */ - if (tempFile == NULL) - searchInput = filesSearchFileName(FILES_SEARCHINPUT); - else - searchInput = xmlStrdup(tempFile); - - searchXSL = filesSearchFileName(FILES_SEARCHXSL); - - /* if a outputFile if provided its up you to make sure that it is correct */ - if (outputFile == NULL) - searchOutput = filesSearchFileName(FILES_SEARCHRESULT); - else - searchOutput = xmlStrdup(outputFile); - - if (!query || (xmlStrlen(query) == 0)) - query = (xmlChar *) "--param query //search/*"; - - /* see configure.in for the definition of XSLDBG_BIN, the name of our binary */ - if (searchInput && searchXSL && searchOutput) { - if (optionsGetIntOption(OPTIONS_CATALOGS) == 0) - snprintf((char *) searchBuffer, sizeof(searchBuffer), - "%s -o %s %s %s %s", XSLDBG_BIN, - searchOutput, query, searchXSL, searchInput); - else - /* assume that we are to use catalogs as well in our query */ - snprintf((char *) searchBuffer, sizeof(searchBuffer), - "%s --catalogs -o %s %s %s %s", XSLDBG_BIN, - searchOutput, query, searchXSL, searchInput); - result = xslDbgShellExecute(searchBuffer, 1); - - if (result && (optionsGetIntOption(OPTIONS_PREFER_HTML) == 0)) { - /* try printing out the file */ - result = filesMoreFile(searchOutput, NULL); - } - - xsldbgGenericErrorFunc(i18n("Information: Transformed %1 using %2 and saved to %3.\n").arg(xsldbgText(searchInput)).arg(xsldbgText(searchXSL)).arg(xsldbgText(searchOutput))); - } else { - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments to command %1.\n").arg("search")); - } - - if (searchInput) - xmlFree(searchInput); - - if (searchXSL) - xmlFree(searchXSL); - - if (searchOutput) - xmlFree(searchOutput); - - return result; -} - - -/** - * scanForBreakPoint: - * @payload: A valid breakPointPtr - * @data: The criteria to look for and a valid searchInfoPtr of - * type SEARCH_BREAKPOINT - * @name: Not used - * - * Test if break point matches criteria given by @data. If so then - * set @data->found to 1 and stores reference to break point found in - * @data->data->node - * otherwise @data is unchanged -*/ -void -scanForBreakPoint(void *payload, void *data, - xmlChar * name) -{ - Q_UNUSED(name); - breakPointPtr breakPtr = (breakPointPtr) payload; - searchInfoPtr searchInf = (searchInfoPtr) data; - breakPointSearchDataPtr searchData = NULL; - int found = 0; - - if (!payload || !searchInf || !searchInf->data - || (searchInf->type != SEARCH_BREAKPOINT) || searchInf->found) - return; - - searchData = (breakPointSearchDataPtr) searchInf->data; - - if (searchData->id && (breakPtr->id == searchData->id)) - found = 1; - else if (searchData->templateName && breakPtr->templateName && - (xmlStrCmp(breakPtr->templateName, searchData->templateName) - == 0)) - found = 1; - - if (found) { - searchInf->found = 1; - searchData->breakPtr = breakPtr; - } -} - - - -/** - * scanForNode: - * @payload: A valid xmlNodePtr - * @data: The criteria to look for and a valid searchInfo of - * type SEARCH_NODE - * @name: Not used - - * Test if node matches criteria given by @data if so then set @data->found - * to 1 and stores reference to node found in @data->data->node - * otherwise @data is unchanged - */ -void -scanForNode(void *payload, void *data, xmlChar * name) -{ - Q_UNUSED(name); - searchInfoPtr searchInf = (searchInfoPtr) data; - nodeSearchDataPtr searchData = NULL; - xmlNodePtr node = (xmlNodePtr) payload; - xmlChar *baseUri = NULL; - int match = 1; - - if (!node || !node->doc || !node->doc->URL || - !searchInf || (searchInf->type != SEARCH_NODE)) - return; - - searchData = (nodeSearchDataPtr) searchInf->data; - - if (searchData->lineNo >= 0) - match = searchData->lineNo == xmlGetLineNo(node); - - if (searchData->url) - baseUri = filesGetBaseUri(node); - if (baseUri) { - match = match && (xmlStrCmp(searchData->url, baseUri) == 0); - xmlFree(baseUri); - } else { - match = match && (xmlStrcmp(searchData->url, node->doc->URL) == 0); - } - - if (match) { - searchData->node = node; - searchInf->found = 1; - } - -} - - -/** - * findNodeByLineNoHelper: - * @payload: A valid xsltStylesheetPtr - * @data: A valid searchInfoPtr - * @name: Not used - * - * We are walking through stylesheets looking for a match - */ -void -findNodeByLineNoHelper(void *payload, void *data, - xmlChar * name) -{ - Q_UNUSED(name); - xsltStylesheetPtr style = (xsltStylesheetPtr) payload; - searchInfoPtr searchInf = (searchInfoPtr) data; - - if (!payload || !searchInf || !style->doc) - return; - - walkChildNodes((xmlHashScanner) scanForNode, searchInf, - (xmlNodePtr) style->doc); - - /* try the included stylesheets */ - if (!searchInf->found) - walkIncludes((xmlHashScanner) scanForNode, searchInf, style); -} - - -/** - * findNodeByLineNo: - * @ctxt: Valid ctxt to look into - * @url: Non-null, non-empty file name that has been loaded by debugger - * @lineNumber: @lineNumber >= 0 and is available in @url - * - * Finds the closest line number in file specified that can be a point - * - * Returns The node at line number number specified if successfull, - * NULL otherwise - */ -xmlNodePtr -findNodeByLineNo(xsltTransformContextPtr ctxt, - const xmlChar * url, long lineNumber) -{ - xmlNodePtr result = NULL; - searchInfoPtr searchInf = searchNewInfo(SEARCH_NODE); - nodeSearchDataPtr searchData = NULL; - - if (!searchInf) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Unable to create searchInfo in findNodeByLineNo\n"); -#endif - return result; - } - - if (!ctxt || !url || (lineNumber == -1)) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Invalid ctxt, url or line number to findNodeByLineNo\n"); -#endif - return result; - } - - searchData = (nodeSearchDataPtr) searchInf->data; - searchData->url = (xmlChar *) xmlMemStrdup((char *) url); - searchData->lineNo = lineNumber; - walkStylesheets((xmlHashScanner) findNodeByLineNoHelper, searchInf, - ctxt->style); - if (!searchInf->found) { - /* try searching the document set */ - xsltDocumentPtr document = ctxt->document; - - while (document && !searchInf->found) { - walkChildNodes((xmlHashScanner) scanForNode, searchInf, - (xmlNodePtr) document->doc); - document = document->next; - } - } - result = searchData->node; - searchFreeInfo(searchInf); - - return result; -} - - -/** - * findTemplateNode: - * @style: A valid stylesheet collection to look into - * @name: A valid template name to look for - * - * Find a template node - * - * Returns The template node found if successful, - * NULL otherwise - */ -xmlNodePtr -findTemplateNode(xsltStylesheetPtr style, const xmlChar * name) -{ - xmlNodePtr result = NULL; - xmlChar *templName; - xsltTemplatePtr templ; - - if (!style || !name) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Invalid stylesheet or template name : findTemplateNode\n"); -#endif - return result; - } - - while (style) { - templ = style->templates; - - while (templ) { - if (templ->match) - templName = (xmlChar *) templ->match; - else - templName = (xmlChar *) templ->name; - - if (templName) { - if (!xmlStrCmp((char *) templName, (char *) name)) { - return templ->elem; - } - } - templ = templ->next; - } - if (style->next) - style = style->next; - else - style = style->imports; - } - - if (!result) - xsldbgGenericErrorFunc(i18n("Error: XSLT template named \"%1\" was not found.\n").arg(xsldbgText(name))); - return result; -} - - -/** - * findBreakPointByName: - * @templateName: The template name to look for - * - * Find the breakpoint at template with "match" or "name" equal - * to templateName - * - * Returns The break point that matches @templateName - * NULL otherwise -*/ -breakPointPtr -findBreakPointByName(const xmlChar * templateName) -{ - breakPointPtr result = NULL; - searchInfoPtr searchInf = searchNewInfo(SEARCH_BREAKPOINT); - breakPointSearchDataPtr searchData; - - if (!searchInf || (searchInf->type != SEARCH_BREAKPOINT)) - return result; - - searchData = (breakPointSearchDataPtr) searchInf->data; - searchData->templateName = (xmlChar *) xmlStrdup(templateName); - if (templateName) { - walkBreakPoints((xmlHashScanner) scanForBreakPoint, searchInf); - if (!searchInf->found) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Breakpoint with template name of \"%s\" not found\n", - templateName); -#endif - } else - result = searchData->breakPtr; - } - - searchFreeInfo(searchInf); - - return result; -} - - -/** - * findBreakPointById: - * @id: The break point id to look for - * - * Find a break point by its id - * - * Returns The break point with given the break point id if found, - * NULL otherwise - */ -breakPointPtr -findBreakPointById(int id) -{ - breakPointPtr result = NULL; - searchInfoPtr searchInf = searchNewInfo(SEARCH_BREAKPOINT); - breakPointSearchDataPtr searchData; - - if (!searchInf || !searchInf->data) - return result; - - searchData = (breakPointSearchDataPtr) searchInf->data; - if (id >= 0) { - searchData->id = id; - walkBreakPoints((xmlHashScanner) scanForBreakPoint, searchInf); - if (!searchInf->found) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: Breakpoint id %d not found\n", id); -#endif - } else - result = searchData->breakPtr; - } - - searchFreeInfo(searchInf); - return result; -} - - -/** - * findNodesByQuery: - * @query: The xpath query to run, see docs/en/search.dtd for more details - * - * Find nodes in search dataBase using an xpath query - * - * Returns The nodes that match the given query on success, - * NULL otherwise - */ -xmlXPathObjectPtr -findNodesByQuery(const xmlChar * query) -{ - Q_UNUSED(query); - xmlXPathObjectPtr list = NULL; - - return list; -} - - - -/** - * walkBreakPoints: - * @walkFunc: The function to callback for each break point found - * @data: The extra data to pass onto walkFunc - * - * Walks through all break points calling walkFunc for each. The payload - * sent to walkFunc is of type breakPointPtr - */ -void -walkBreakPoints(xmlHashScanner walkFunc, void *data) -{ - int lineNo; - xmlHashTablePtr hashTable; - - if (!walkFunc) - return; - - for (lineNo = 0; lineNo < breakPointLinesCount(); lineNo++) { - hashTable = breakPointGetLineNoHash(lineNo); - if (hashTable) { - xmlHashScan(hashTable, walkFunc, data); - } - } -} - - -/** - * walkTemplates: - * @walkFunc: The function to callback for each template found - * @data: The extra data to pass onto walkFunc - * @style: The stylesheet to start from - * - * Walks through all templates calling walkFunc for each. The payload - * of walkFunc is of type xsltTemplatePtr - */ -void -walkTemplates(xmlHashScanner walkFunc, void *data, xsltStylesheetPtr style) -{ - xsltTemplatePtr templ; - - if (!walkFunc || !style) - return; - - while (style) { - templ = style->templates; - while (templ) { - (*walkFunc) (templ, data, NULL); - templ = templ->next; - } - if (style->next) - style = style->next; - else - style = style->imports; - } -} - - -/** - * walkStylesheets: - * @walkFunc: The function to callback for each stylesheet found - * @data: The extra data to pass onto walkFunc - * @style: The stylesheet to start from - * - * Walks through all templates calling walkFunc for each. The payload - * sent to walkFunc is of type xsltStylesheetPtr - */ -void -walkStylesheets(xmlHashScanner walkFunc, void *data, - xsltStylesheetPtr style) -{ - xsltStylesheetPtr next; - - if (!walkFunc || !style) - return; - - next = style->next; - while (style) { - (*walkFunc) (style, data, NULL); - if (style->imports) - style = style->imports; - else - style = next; - } -} - - - -xmlHashScanner globalWalkFunc = NULL; - -/** - * globalVarHelper: - * @payload: valid xsltStylesheetPtr - * @data: is valid - * @name: not used - * - * Helper to find the global variables. We are given control via - * walkStylesheets globalWalkFunc will always be set to the - * walkFunc to call - */ -void -globalVarHelper(void **payload, void *data, - xmlChar * name) -{ - Q_UNUSED(data); - Q_UNUSED(name); - xsltStylesheetPtr style = (xsltStylesheetPtr) payload; - xsltStackElemPtr global; - - if (style) { - global = style->variables; - - while (global &&global->comp) { - (*globalWalkFunc) (global->comp->inst, data, NULL); - global = global->next; - } - } -} - - -/** - * walkGlobals: - * @walkFunc: The function to callback for each gobal variable found - * @data: The extra data to pass onto walkFunc - * @style: The stylesheet to start from - * - * Call walkFunc for each global variable. The payload - * sent to walkFunc is of type xmlNodePtr - */ -void -walkGlobals(xmlHashScanner walkFunc, void *data, - xsltStylesheetPtr style) -{ - Q_UNUSED(data); - if (!walkFunc || !style) - return; - - globalWalkFunc = walkFunc; - - walkStylesheets((xmlHashScanner) globalVarHelper, data, style); -} - - - -xmlHashScanner localWalkFunc = NULL; - -/** - * localVarHelper: - * @payload: valid xsltTemplatePtr - * @data: is valid - * @name: not used - * - * Helper to find the local variables. We are given control via walkTemplates - * globalWalkFunc will always be set to the walkFunc to call - * localWalkFunc will always be set to the walkFunc to call - */ -void -localVarHelper(void **payload, void *data, - xmlChar * name) -{ - Q_UNUSED(data); - Q_UNUSED(name); - xsltTemplatePtr templ = (xsltTemplatePtr) payload; - xmlNodePtr node; - - if (templ && templ->elem) { - node = templ->elem->children; - - while (node) { - if (IS_XSLT_NAME(node, "param") - || IS_XSLT_NAME(node, "variable")) { - (*localWalkFunc) (node, data, NULL); - node = node->next; - } else - break; - } - } -} - - -/** - * walkLocals: - * @walkFunc: The function to callback for each local variable found - * @data: The extra data to pass onto walkFunc - * @style: The stylesheet to start from - * - * Walks through all local variables calling walkFunc for each. The payload - * of walkFunc is of type xmlNodePtr - */ -void -walkLocals(xmlHashScanner walkFunc, void *data, xsltStylesheetPtr style) -{ - if (!walkFunc || !style) - return; - - localWalkFunc = walkFunc; - - walkTemplates((xmlHashScanner) localVarHelper, data, style); - -} - - -/** - * walkIncludes: - * @walkFunc: The function to callback for each included stylesheet - * @data: The extra data to pass onto walkFunc - * @style: The stylesheet to start from - * - * Walks through all included stylesheets calling walkFunc for each. - * The payload of walkFunc is of type xmlNodePtr - */ - -void -walkIncludes(xmlHashScanner walkFunc, void *data, xsltStylesheetPtr style) -{ - xsltDocumentPtr document; /* included xslt documents */ - - if (!walkFunc || !style) - return; - - while (style) { - document = style->docList; - /* look at included documents */ - while (document) { - (*walkFunc) ((xmlNodePtr) document->doc, data, NULL); - document = document->next; - } - /* try next stylesheet */ - if (style->next) - style = style->next; - else - style = style->imports; - } -} - - -/** - * walkIncludeInst: - * @walkFunc: The function to callback for each xsl:include instruction found - * @data: The extra data to pass onto walkFunc - * @style: The stylesheet to start from - * - * Walks through all xsl:include calling walkFunc for each. The payload - * of walkFunc is of type xmlNodePtr - */ -void -walkIncludeInst(xmlHashScanner walkFunc, void *data, - xsltStylesheetPtr style) -{ - xmlNodePtr node = NULL, styleChild = NULL; - - if (!walkFunc || !style) - return; - - while (style) { - /*look for stylesheet node */ - if (style->doc) { - node = (xmlNodePtr) style->doc->children; - while (node) { - /* not need but just in case :) */ - if (IS_XSLT_NAME(node, "stylesheet") - || IS_XSLT_NAME(node, "transform")) { - styleChild = node->children; /* get the topmost elements */ - break; - } else - node = node->next; - } - - /* look for includes */ - while (styleChild) { - if (IS_XSLT_NAME(styleChild, "include")) - (*walkFunc) (styleChild, data, NULL); - styleChild = styleChild->next; - } - } - /* try next stylesheet */ - if (style->next) - style = style->next; - else - style = style->imports; - } -} - - -/** - * walkChildNodes: - * @walkFunc: The function to callback for each child/sibling found - * @data: The extra data to pass onto walkFunc - * @node: Is valid - * - * Call walkFunc for each child of @node the payload sent to walkFunc is - * a xmlNodePtr - */ -void -walkChildNodes(xmlHashScanner walkFunc, void *data, xmlNodePtr node) -{ - xmlNodePtr child = NULL; - searchInfoPtr searchInf = (searchInfoPtr) data; - - if (!walkFunc || !searchInf || !searchInf->data) - return; - - while (node && !searchInf->found) { - (walkFunc) (node, data, NULL); - child = node->children; - if (child && !searchInf->found) { - walkChildNodes(walkFunc, data, child); - } - node = node->next; - } -} - - -/** - * searchBreakPointNode: - * @breakPtr: Is valid - * - * Convert @breakPtr into search dataBase format - * - * Returns @breakPtr as a new xmlNode in search dataBase format - * if successful, - * NULL otherwise - */ -xmlNodePtr -searchBreakPointNode(breakPointPtr breakPtr) -{ - - xmlNodePtr node = NULL; - int result = 1; - - if (breakPtr) { - node = xmlNewNode(NULL, (xmlChar *) "breakpoint"); - if (node) { - /* if unable to create any property failed then result will be equal to 0 */ - result = result - && (xmlNewProp(node, (xmlChar *) "url", breakPtr->url) != - NULL); - sprintf((char *) searchBuffer, "%ld", breakPtr->lineNo); - result = result - && - (xmlNewProp(node, (xmlChar *) "line", (xmlChar *) searchBuffer) - != NULL); - if (breakPtr->templateName) { - result = result - && - (xmlNewProp - (node, (xmlChar *) "template", - breakPtr->templateName) != NULL); - } - sprintf((char *) searchBuffer, "%d", breakPtr->flags & BREAKPOINT_ENABLED); - result = result - && - (xmlNewProp - (node, (xmlChar *) "enabled", (xmlChar *) searchBuffer) - != NULL); - sprintf((char *) searchBuffer, "%d", breakPtr->type); - result = result - && - (xmlNewProp(node, (xmlChar *) "type", (xmlChar *) searchBuffer) - != NULL); - sprintf((char *) searchBuffer, "%d", breakPtr->id); - result = result - && (xmlNewProp(node, (xmlChar *) "id", (xmlChar *) searchBuffer) - != NULL); - } else - result = 0; - if (!result) { - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - } - } - return node; -} - - -/** - * searchTemplateNode: - * @templNode: Is valid - * - * Convert @templateNode into search dataBase format - * - * Returns @templNode as a new xmlNode in search dataBase format - * if successful, - * NULL otherwise - */ -xmlNodePtr -searchTemplateNode(xmlNodePtr templNode) -{ - xmlNodePtr node = NULL; - xmlChar *value; - int result = 1; - - if (templNode) { - node = xmlNewNode(NULL, (xmlChar *) "template"); - if (node) { - /* if unable to create any property failed then result will be equal to 0 */ - value = xmlGetProp(templNode, (xmlChar *) "match"); - if (value) { - result = result - && (xmlNewProp(node, (xmlChar *) "match", value) != - NULL); - xmlFree(value); - } - value = xmlGetProp(templNode, (xmlChar *) "name"); - if (value) { - result = result - && (xmlNewProp(node, (xmlChar *) "name", value) != - NULL); - xmlFree(value); - } - if (templNode->doc) { - result = result - && - (xmlNewProp - (node, (xmlChar *) "url", - templNode->doc->URL) != NULL); - } - sprintf((char *) searchBuffer, "%ld", xmlGetLineNo(templNode)); - result = result - && - (xmlNewProp(node, (xmlChar *) "line", (xmlChar *) searchBuffer) - != NULL); - if (result) { - xmlNodePtr textNode = searchCommentNode(templNode); - - if (textNode && !xmlAddChild(node, textNode)) - result = 0; - } - } else - result = 0; - if (!result) { - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - } - } - return node; -} - - -/** - * searchGlobalNode: - * @globalVariable: Is valid - * - * Convert @globalVariable into search dataBase format - * - * Returns @globalVariable as a new xmlNode in search dataBase format - * if successful, - * NULL otherwise - */ -xmlNodePtr -searchGlobalNode(xmlNodePtr variable) -{ - xmlNodePtr node = NULL; - int result = 1; - xmlChar *value; - - if (variable) { - node = xmlNewNode(NULL, (xmlChar *) "variable"); - if (node) { - /* if unable to create any property failed then result will be equal to 0 */ - if (variable->doc) { - result = result && - (xmlNewProp(node, (xmlChar *) "url", - variable->doc->URL) != NULL); - sprintf((char *) searchBuffer, "%ld", xmlGetLineNo(variable)); - result = result - && (xmlNewProp(node, (xmlChar *) "line", - (xmlChar *) searchBuffer) != NULL); - } - value = xmlGetProp(variable, (xmlChar *) "name"); - if (value) { - result = result - && (xmlNewProp(node, (xmlChar *) "name", value) != - NULL); - xmlFree(value); - } - value = xmlGetProp(variable, (xmlChar *) "select"); - if (value) { - result = result - && (xmlNewProp(node, (xmlChar *) "select", value) != - NULL); - xmlFree(value); - } - if (result) { - xmlNodePtr textNode = searchCommentNode(variable); - - if (textNode && !xmlAddChild(node, textNode)) - result = 0; - } - } else - result = 0; - } - if (!result) { - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - } - return node; -} - - -/** - * searchLocalNode: - * @localvariable: Is valid - * - * Convert @localVariable into search dataBase format - * - * Returns @localVariable as a new xmlNode in search dataBase format - * if successful, - * NULL otherwise - */ -xmlNodePtr -searchLocalNode(xmlNodePtr variable) -{ - xmlNodePtr node = NULL; - int result = 1; - xmlChar *value; - xmlNodePtr parent; - - if (variable) { - node = searchGlobalNode(variable); - if (node) { - /* if unable to create any property failed then result will be equal to 0 */ - parent = variable->parent; - /* try to find out what template this variable belongs to */ - if (parent && IS_XSLT_NAME(parent, "template")) { - value = xmlGetProp(parent, (xmlChar *) "name"); - if (value) { - result = result - && - (xmlNewProp(node, (xmlChar *) "templname", value) - != NULL); - xmlFree(value); - } - value = xmlGetProp(parent, (xmlChar *) "match"); - if (value) { - result = result - && - (xmlNewProp(node, (xmlChar *) "templmatch", value) - != NULL); - xmlFree(value); - } - } - } else - result = 0; - } - if (!result) { - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - } - return node; -} - - -/** - * searchSourceNode: - * @style: Is valid - * - * Convert @style into search dataBase format - * - * Returns @style as a new xmlNode in search dataBase format if successful, - * NULL otherwise - */ -xmlNodePtr -searchSourceNode(xsltStylesheetPtr style) -{ - xmlNodePtr node = NULL; - int result = 1; - - if (style) { - if (style->parent == NULL) - node = xmlNewNode(NULL, (xmlChar *) "source"); - else - node = xmlNewNode(NULL, (xmlChar *) "import"); - if (node) { - /* if unable to create any property failed then result will be equal to 0 */ - if (style->doc) { - result = result && - (xmlNewProp(node, (xmlChar *) "href", style->doc->URL) - != NULL); - if (style->parent && style->parent->doc) { - result = result && - (xmlNewProp(node, (xmlChar *) "parent", - style->parent->doc->URL) != NULL); - } - if (result) { - xmlNodePtr textNode = - searchCommentNode((xmlNodePtr) style->doc); - if (textNode && !xmlAddChild(node, textNode)) - result = 0; - } - } - } else - result = 0; - } - if (!result) { - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - } - return node; -} - - -/** - * searchIncludeNode: - * @include: Is a valid xsl:include instruction - * - * Convert @include into search dataBase format - * - * Returns @include as a new xmlNode in search dataBase format if successful, - * NULL otherwise - */ -xmlNodePtr -searchIncludeNode(xmlNodePtr include) -{ - xmlNodePtr node = NULL; - int result = 1; - xmlChar *value; - - if (include) { - node = xmlNewNode(NULL, (xmlChar *) "include"); - if (node) { - /* if unable to create any property failed then result will be equal to 0 */ - if (include->doc) { - value = xmlGetProp(include, (xmlChar *) "href"); - if (value) { - result = result - && (xmlNewProp(node, (xmlChar *) "href", value) != - NULL); - xmlFree(value); - } - if (include->parent && include->parent->doc) { - result = result && - (xmlNewProp(node, (xmlChar *) "url", - include->parent->doc->URL) != NULL); - sprintf((char *) searchBuffer, "%ld", xmlGetLineNo(include)); - result = result - && (xmlNewProp(node, (xmlChar *) "line", - (xmlChar *) searchBuffer) != NULL); - } - if (result) { - xmlNodePtr textNode = searchCommentNode(include); - - if (textNode && !xmlAddChild(node, textNode)) - result = 0; - } - } - } else - result = 0; - } - if (!result) { - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - } - return node; -} - - -/** - * searchCallStackNode: - * @callStackItem: Is valid - * - * Convert @callStackItem into search dataBase format - * - * Returns @callStackItem as a new xmlNode in search dataBase format - * if successful, - * NULL otherwise - */ -xmlNodePtr -searchCallStackNode(callPointPtr callStackItem) -{ - xmlNodePtr node = NULL; - int result = 1; - - if (callStackItem) { - node = xmlNewNode(NULL, (xmlChar *) "callstack"); - if (node) { - /* if unable to create any property failed then result will be equal to 0 */ - if (callStackItem->info && callStackItem->info->url) - result = result - && - (xmlNewProp - (node, (xmlChar *) "url", callStackItem->info->url) - != NULL); - sprintf((char *) searchBuffer, "%ld", callStackItem->lineNo); - result = result - && - (xmlNewProp(node, (xmlChar *) "line", (xmlChar *) searchBuffer) - != NULL); - if (callStackItem->info && callStackItem->info->templateName) { - result = result && - (xmlNewProp - (node, (xmlChar *) "template", - callStackItem->info->templateName) != NULL); - } - } else - result = 0; - if (!result) { - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - } - } - return node; -} - - -static xmlChar *commentText(xmlNodePtr node); - -/* - * Returns A copy of comment text that applies to node, - * NULL otherwise - */ -xmlChar * -commentText(xmlNodePtr node) -{ - xmlChar *result = NULL; - - if (node) { - if (node->type == XML_COMMENT_NODE) - result = xmlNodeGetContent(node); - } - - return result; -} - -/** - * searchCommentNode: - * @sourceNode: Is valid - * - * Find documentation comment that applies to @node. If found convert comment - * into search dataBase format required - * - * Returns Documentation comment for @node as a new xmlNode in search dataBase format - * if successful, - * NULL otherwise - */ -xmlNodePtr -searchCommentNode(xmlNodePtr sourceNode) -{ - xmlNodePtr node = NULL, textChild = NULL; - xmlChar *text = NULL; - int result = 0; - - if (sourceNode) { - text = commentText(sourceNode->prev); - if (!text) { - text = commentText(sourceNode->children); - } - - if (text) { - node = xmlNewNode(NULL, (xmlChar *) "comment"); - textChild = xmlNewText(text); - if (node && textChild && xmlAddChild(node, textChild)) { - result = 1; - } - if (!result) { - if (node) { - xmlFreeNode(node); - node = NULL; - } - if (textChild) - xmlFreeNode(textChild); - } - - xmlFree(text); - } - } - return node; -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/search.h b/kxsldbg/kxsldbgpart/libxsldbg/search.h deleted file mode 100644 index bc7d082c..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/search.h +++ /dev/null @@ -1,1091 +0,0 @@ - -/* ************************************************************************* - xslsearch.h - public functions for - searching - ------------------- - begin : Fri Dec 7 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ************************************************************************* */ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************* */ - -#ifndef XSLSEARCH_H -#define XSLSEARCH_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifdef USE_KDE_DOCS - -/** - * Provide a searching support - * - * @short search support - * - * @author Keith Isdale <k_isdale@tpg.com.au> - */ -#endif - -/* We want skip most of these includes when building documentation*/ -#ifndef BUILD_DOCS -#include "breakpoint.h" -#include "callstack.h" -#endif - - -#ifdef WITH_XSLT_DEBUG -#ifndef WITH_XSLT_DEBUG_BREAKPOINTS -#define WITH_XSLT_DEBUG_BREAKPOINTS -#endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - /* what types of searches are there */ -#ifndef USE_KDOC - typedef enum { - SEARCH_BREAKPOINT = 400, - SEARCH_NODE, - SEARCH_XSL, - SEARCH_VARIABLE - } SearchEnum; -#else - /* keep kdoc happy */ - enum SearchEnum { - SEARCH_BREAKPOINT = 400, - SEARCH_NODE, - SEARCH_XSL, - SEARCH_VARIABLE - }; -#endif - - /* define a common structure to be used when searching */ - typedef struct _searchInfo searchInfo; - typedef searchInfo *searchInfoPtr; - struct _searchInfo { - int found; /* found is 1 if search is finished */ - int type; /* what type of search see SearchEnum */ - int error; /* did an error occur */ - void *data; /* extra data to pass to walkFunc */ - }; - - - /* data to pass to via searchInfoPtr when searching for break points */ - typedef struct _breakPointSearchData breakPointSearchData; - typedef breakPointSearchData *breakPointSearchDataPtr; - struct _breakPointSearchData { - int id; /* what id to look for, - * if -1 then ignore */ - xmlChar *templateName; /* template to look for - * if NULL then ignore */ - breakPointPtr breakPtr; /* the break point found by search */ - }; - - - /* data to pass via searchInfoPtr when searching for nodes */ - typedef struct _nodeSearchData nodeSearchData; - typedef nodeSearchData *nodeSearchDataPtr; - struct _nodeSearchData { - long lineNo; /* what line number to look for - * if < 0 then ignore */ - xmlChar *url; /* what URl to look for - * if NULL then ignore */ - int fileSearch; /* if true then we are trying - * to match a file name */ - xmlChar *nameInput; /* what file/node name are we - * trying to match */ - xmlChar *guessedNameMatch; /* possible name match */ - xmlChar *absoluteNameMatch; /* full name match */ - xmlNodePtr node; /* the node that the match - * occured in */ - }; - - /* data to pass to via searchInfoPtr when searching for variables points */ - typedef struct _variableSearchData variableSearchData; - typedef variableSearchData *variableSearchDataPtr; - struct _variableSearchData { - xmlChar *name; - xmlChar *nameURI; - xmlChar *select; /* new value to adopt if any */ - }; - -#ifdef USE_GNOME_DOCS - -/** - * searchInit: - * - * Initialize the search module - * - * Returns 1 if search structures have been initialized properly and all - * memory required has been obtained, - * 0 otherwise -*/ -#else -#ifdef USE_KDE_DOCS - -/** - * Initialize the search module - * - * @returns 1 if search structures have been initialized properly and all - * memory required has been obtained, - * 0 otherwise -*/ -#endif -#endif - int searchInit(void); - - -#ifdef USE_GNOME_DOCS - -/** - * searchFree: - * - * Free all memory used by the search module - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Free all memory used by the search module - */ -#endif -#endif - void searchFree(void); - - -#ifdef USE_GNOME_DOCS - -/** - * searchNewInfo: - * @type: What type of search is required - * - * Create a new search - * - * Returns A valid search info pointer if successful - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Create a new search - * - * @returns valid search info pointer if successful - * NULL otherwise - * - * @param type What type of search is required - */ -#endif -#endif - searchInfoPtr searchNewInfo(SearchEnum type); - - -#ifdef USE_GNOME_DOCS - -/** - * searchFreeInfo: - * @info: A valid search info - * - * Free memory used by @info - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Free memory used by @p info - * - * @param info A valid search info - * - */ -#endif -#endif - void searchFreeInfo(searchInfoPtr info); - - -#ifdef USE_GNOME_DOCS - -/** - * searchEmpty: - * - * Empty the seach data base of its contents - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Empty the seach dataBase of its contents - * - * @returns 1 on success, - * 0 otherwise - */ -#endif -#endif - int searchEmpty(void); - - -#ifdef USE_GNOME_DOCS - -/** - * searchDoc: - * - * Return the document used for seaching ie the search dataBase - * - * Returns The document used for searching - * Dangerous function to use! Does NOT return a copy of - * search data so don't free it - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Return the document used for seaching ie the search dataBase - * - * @returns the document used for searching - * Dangerous function to use! Does NOT return a copy of - * search data so don't free it - */ -#endif -#endif - xmlDocPtr searchDoc(void); - - -#ifdef USE_GNOME_DOCS - -/** - * searchRootNode: - * - * Get the topmost node in the search dataBase - * - * Returns The topmost xml node in search dataBase. - * Dangerous function to use! Does NOT return a copy of - * search root node so don't free it - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Get the topmost node in the search dataBase - * - * @returns The topmost xml node in search dataBase. - * Dangerous function to use! Does NOT return a copy of - * search root node so don't free it - */ -#endif -#endif - xmlNodePtr searchRootNode(void); - - -#ifdef USE_GNOME_DOCS - -/** - * searchAdd: - * @node: Is valid - * - * Add a node to the search dataBase - * - * Returns 1 if able to add @node to top node in search dataBase , - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Add a node to the search dataBase - * - * @returns 1 if able to add @p node to top node in search dataBase, - * 0 otherwise - * - * @param node Is valid - */ -#endif -#endif - int searchAdd(xmlNodePtr node); - - -#ifdef USE_GNOME_DOCS - -/** - * searchSave: - * @fileName: A valid file name, or NULL for the default - * - * Save the search dataBase to @fileName - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Save the search dataBase to @p fileName - * - * @returns 1 on success, - * 0 otherwise - * - * @param fileName Valid file name - */ -#endif -#endif - int searchSave(const xmlChar * fileName); - - -#ifdef USE_GNOME_DOCS - -/** - * searchQuery: - * @query: The query to run . If NULL then query is "//search/ *" - * @tempFile: Where do we load the search dataBase from to execute - * query. If tempFile is NULL "searchresult.xml" is used - * @outputFile : Where do we store the result. If NULL - * then default to "searchresult.html" - * - * Send query as parameter for execution of search.xsl using - * data stored in @tempFile - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Send query as parameter for execution of search.xsl using - * data stored in @p tempFile - * - * @returns 1 on success, - * 0 otherwise - * - * @param query The Query to run. If NULL then @p query defaults to "//search/ *" - * @param tempFile Where do we load the search dataBase from to execute - * query. If @p tempFile is NULL default is "search.data" - * @param outputFile Where do we store the result. If NULL - * then default to "searchresult.html" - */ -#endif -#endif - int searchQuery(const xmlChar * tempFile, const xmlChar * outputFile, - const xmlChar * query); - - -#ifdef USE_GNOME_DOCS - -/** - * updateSearchData: - * @styleCtxt: Not used - * @style: Is valid - * @data: Not used but MUST be NULL for the moment - * @variableTypes: What types of variables to look - * - * Update the searchDatabase - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Update the search dataBase - * - * @returns 1 if able to update the search dataBase, - * 0 otherwise - * @param styleCtxt Not used - * @param style Is valid - * @param data Not used but MUST be NULL for the moment - * @param variableTypes What types of variables to look - */ -#endif -#endif - int updateSearchData(xsltTransformContextPtr styleCtxt, - xsltStylesheetPtr style, - void *data, VariableTypeEnum variableTypes); - - -#ifdef USE_GNOME_DOCS - -/** - * scanForBreakPoint: - * @payload: A valid breakPointPtr - * @data: The criteria to look for and a valid searchInfoPtr of - * type SEARCH_BREAKPOINT - * @name: Not used - * - * Test if break point matches criteria given by @data. If so then - * set @data->found to 1 and stores reference to break point found in - * @data->data->node - * otherwise @data is unchanged -*/ -#else -#ifdef USE_KDE_DOCS - -/** - * Test if break point matches criteria given by @p data. If so then - * set @p data->found to 1 and stores reference to break point found in - * @p data->data->node - * otherwise @p data is unchanged - * - * @param payload A valid breakPointPtr - * @param data The criteria to look for and a valid searchInfoPtr of - * type SEARCH_BREAKPOINT - * @param name Not used - * -*/ -#endif -#endif - void scanForBreakPoint(void *payload, void *data, xmlChar * name); - - -#ifdef USE_GNOME_DOCS - -/** - * scanForNode: - * @payload: A valid xmlNodePtr - * @data: The criteria to look for and a valid searchInfo of - * type SEARCH_NODE - * @name: Not used - - * Test if node matches criteria given by @data if so then set @data->found - * to 1 and stores reference to node found in @data->data->node - * otherwise @data is unchanged - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Test if node matches criteria given by @p data if so then - * set @p data->found to 1 and stores reference to node found in - * @p data->data->node. - * otherwise @p data is unchanged - * - * @param payload A valid xmlNodePtr - * @param data The criteria to look for and a valid searchInfo of - * type SEARCH_NODE - * @param name Not used -*/ -#endif -#endif - void scanForNode(void *payload, void *data, xmlChar * name); - - -#ifdef USE_GNOME_DOCS - -/** - * findNodeByLineNo: - * @ctxt: Valid ctxt to look into - * @url: Non-null, non-empty file name that has been loaded by debugger - * @lineNumber: @lineNumber >= 0 and is available in @url - * - * Finds the closest line number in file specified that can be a point - * - * Returns The node at line number number specified if successfull, - * NULL otherwise - */ - -#else -#ifdef USE_KDE_DOCS - -/** - * Find the closest line number in file specified that can be a point - * - * @returns The node at line number specified if successful, - * NULL otherwise - * - * @param ctxt Valid ctxt to look into - * @param url Non-null, non-empty file name that has been loaded by - * debugger - * @param lineNumber @p lineNumber >= 0 and is available in @p url -*/ -#endif -#endif - xmlNodePtr findNodeByLineNo(xsltTransformContextPtr ctxt, - const xmlChar * url, long lineNumber); - - -#ifdef USE_GNOME_DOCS - -/** - * findTemplateNode: - * @style: A valid stylesheet collection to look into - * @name: A valid template name to look for - * - * Find a template node - * - * Returns The template node found if successful, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Find a template node - * - * @returns The template node found if successful, - * NULL otherwise - * - * @param style A Valid stylesheet collection to look into - * @param name Valid template name to look for - */ -#endif -#endif - xmlNodePtr findTemplateNode(xsltStylesheetPtr style, - const xmlChar * name); - - -#ifdef USE_GNOME_DOCS - -/** - * findBreakPointByName: - * @templateName: The template name to look for - * - * Find the breakpoint at template with "match" or "name" equal - * to templateName - * - * Returns The break point that matches @templateName - * NULL otherwise -*/ -#else -#ifdef USE_KDE_DOCS - -/** - * Find the breakpoint at template with "match" or "name" equal - * to templateName - * - * @returns The break point that matches @p templateName - * NULL otherwise - * - * @param templateName Valid template name to look for -*/ -#endif -#endif - breakPointPtr findBreakPointByName(const xmlChar * templateName); - - -#ifdef USE_GNOME_DOCS - -/** - * findBreakPointById: - * @id: The break point id to look for - * - * Find a break point by its id - * - * Returns The break point with given the break point id if found, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Find a break point by its id - * - * @returns The break point with given the break point id if found, - * NULL otherwise - * - * @param id The break point id to look for - */ -#endif -#endif - breakPointPtr findBreakPointById(int id); - - -#ifdef USE_GNOME_DOCS - -/** - * findNodesByQuery: - * @query: The xpath query to run, see docs/en/search.dtd for more details - * - * Find nodes in search dataBase using an xpath query - * - * Returns The nodes that match the given query on success, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Find nodes in search dataBase using an xpath query - * - * @returns The nodes that match the given query on success, - * NULL otherwise - * - * @param query The xpath query to run, see docs/en/search.dtd for more details - */ -#endif -#endif - xmlXPathObjectPtr findNodesByQuery(const xmlChar * query); - - -#ifdef USE_GNOME_DOCS - -/** - * walkBreakPoints: - * @walkFunc: The function to callback for each break point found - * @data: The extra data to pass onto walkFunc - * - * Walks through all break points calling walkFunc for each. The payload - * sent to walkFunc is of type breakPointPtr - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Walks through all break points calling walkFunc for each. The payload - * sent to walkFunc is of type breakPointPtr - * - * @param walkFunc The function to callback for each break point found - * @param data The extra data to pass onto @p walkFunc - */ -#endif -#endif - void walkBreakPoints(xmlHashScanner walkFunc, void *data); - - -#ifdef USE_GNOME_DOCS - -/** - * walkTemplates: - * @walkFunc: The function to callback for each template found - * @data: The extra data to pass onto walkFunc - * @style: The stylesheet to start from - * - * Walks through all templates calling walkFunc for each. The payload - * of walkFunc is of type xsltTemplatePtr - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Walks through all templates found in @p style calling walkFunc for each. - * The payload of walkFunc is of type xsltTemplatePtr - * - * @param walkFunc The function to callback for each template found - * @param data The extra data to pass onto @p walkFunc - * @param style The stylesheet to start from - */ -#endif -#endif - void walkTemplates(xmlHashScanner walkFunc, void *data, - xsltStylesheetPtr style); - - -#ifdef USE_GNOME_DOCS - -/** - * walkStylesheets: - * @walkFunc: The function to callback for each stylesheet found - * @data: The extra data to pass onto walkFunc - * @style: The stylesheet to start from - * - * Walks through all templates calling walkFunc for each. The payload - * sent to walkFunc is of type xsltStylesheetPtr - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Walks through all stylesheets found in @p style calling walkFunc for - * each. The payload sent to walkFunc is of type xsltStylesheetPtr - * - * @param walkFunc The function to callback for each stylesheet found - * @param data The extra data to pass onto @p walkFunc - * @param style The stylesheet to start from - */ -#endif -#endif - void walkStylesheets(xmlHashScanner walkFunc, void *data, - xsltStylesheetPtr style); - - -#ifdef USE_GNOME_DOCS - -/** - * walkGlobals: - * @walkFunc: The function to callback for each gobal variable found - * @data: The extra data to pass onto walkFunc - * @style: The stylesheet to start from - * - * Call walkFunc for each global variable. The payload - * sent to walkFunc is of type xmlNodePtr - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Call walkFunc for each global variable found in @p style. The payload - * sent to walkFunc is of type xmlNodePtr - * - * @param walkFunc The function to callback for each gobal variable found - * @param data The extra data to pass onto @p walkFunc - * @param style The stylesheet to start from - */ -#endif -#endif - void walkGlobals(xmlHashScanner walkFunc, - void *data, xsltStylesheetPtr style); - - -#ifdef USE_GNOME_DOCS - -/** - * walkLocals: - * @walkFunc: The function to callback for each local variable found - * @data: The extra data to pass onto walkFunc - * @style: The stylesheet to start from - * - * Walks through all local variables calling walkFunc for each. The payload - * of walkFunc is of type xmlNodePtr - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Walks through all local variables found in @p style calling - * walkFunc for each. The payload of walkFunc is of type xmlNodePtr - * - * @param walkFunc The function to callback for each local variable found - * @param data The extra data to pass onto @p walkFunc - * @param style The stylesheet to start from - */ -#endif -#endif - void walkLocals(xmlHashScanner walkFunc, void *data, - xsltStylesheetPtr style); - - -#ifdef USE_GNOME_DOCS - -/** - * walkIncludes: - * @walkFunc: The function to callback for each included stylesheet - * @data: The extra data to pass onto walkFunc - * @style: The stylesheet to start from - * - * Walks through all included stylesheets calling walkFunc for each. - * The payload of walkFunc is of type xmlNodePtr - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Walks through all included stylesheets found in @p style, - * calling walkFunc for each. The payload of walkFunc is of - * type xmlNodePtr - * - * @param walkFunc The function to callback for each included stylesheet - * @param data The extra data to pass onto @p walkFunc - * @param style The stylesheet to start from - */ -#endif -#endif - void walkIncludes(xmlHashScanner walkFunc, void *data, - xsltStylesheetPtr style); - - -#ifdef USE_GNOME_DOCS - -/** - * walkIncludeInst: - * @walkFunc: The function to callback for each xsl:include instruction found - * @data: The extra data to pass onto walkFunc - * @style: The stylesheet to start from - * - * Walks through all xsl:include calling walkFunc for each. The payload - * of walkFunc is of type xmlNodePtr - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Walks through all xsl:include calling walkFunc for each. The payload - * of walkFunc is of type xmlNodePtr - * - * @param walkFunc The function to callback for each xsl:include instruction found - * @param data The extra data to pass onto @p walkFunc - * @param style The stylesheet to start from - */ -#endif -#endif - void walkIncludeInst(xmlHashScanner walkFunc, void *data, - xsltStylesheetPtr style); - - -#ifdef USE_GNOME_DOCS - -/** - * walkChildNodes: - * @walkFunc: The function to callback for each child/sibling found - * @data: The extra data to pass onto walkFunc - * @node: Is valid - * - * Call walkFunc for each child of @node the payload sent to walkFunc is - * a xmlNodePtr - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Call walkFunc for each child of @p node the payload sent to walkFunc is - * a xmlNodePtr - * - * @param walkFunc The function to callback for each child/sibling found - * @param data The extra data to pass onto @p walkFunc - * @param node Valid xmlNodePtr - */ -#endif -#endif - void walkChildNodes(xmlHashScanner walkFunc, void *data, - xmlNodePtr node); - - - -#ifdef USE_GNOME_DOCS - -/** - * searchBreakPointNode: - * @breakPtr: Is valid - * - * Convert @breakPtr into search dataBase format - * - * Returns @breakPtr as a new xmlNode in search dataBase format - * if successful, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Convert @p breakPtr into search dataBase format - * - * @returns @p breakPtr as a new xmlNode in search dataBase format - * if successful, - * NULL otherwise - * - * @param breakPtr Is valid - */ -#endif -#endif - xmlNodePtr searchBreakPointNode(breakPointPtr breakPtr); - - -#ifdef USE_GNOME_DOCS - -/** - * searchTemplateNode: - * @templNode: Is valid - * - * Convert @templateNode into search dataBase format - * - * Returns @templNode as a new xmlNode in search dataBase format - * if successful, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Convert @p templateNode into search dataBase format - * - * @returns @p templNode as a new xmlNode in search dataBase format - * if successful, - * NULL otherwise - * - * @param templNode A valid template node - */ -#endif -#endif - xmlNodePtr searchTemplateNode(xmlNodePtr templNode); - - -#ifdef USE_GNOME_DOCS - -/** - * searchGlobalNode: - * @globalVariable: Is valid - * - * Convert @globalVariable into search dataBase format - * - * Returns @globalVariable as a new xmlNode in search dataBase format - * if successful, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Convert @p globalVariable into search dataBase format - * - * @returns @p globalVariable as a new xmlNode in search dataBase - * format if successful, - * NULL otherwise - * - * @param globalVariable A valid xmlNodePtr node - * - */ -#endif -#endif - xmlNodePtr searchGlobalNode(xmlNodePtr globalVariable); - - -#ifdef USE_GNOME_DOCS - -/** - * searchLocalNode: - * @localvariable: Is valid - * - * Convert @localVariable into search dataBase format - * - * Returns @localVariable as a new xmlNode in search dataBase format - * if successful, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Convert @p localVariable into search dataBase format - * - * @returns @p localVariable as a new xmlNode in search dataBase - * format if successful, - * NULL otherwise - * - * @param localVariable Is valid - * - */ -#endif -#endif - xmlNodePtr searchLocalNode(xmlNodePtr localVariable); - - -#ifdef USE_GNOME_DOCS - -/** - * searchSourceNode: - * @style: Is valid - * - * Convert @style into search dataBase format - * - * Returns @style as a new xmlNode in search dataBase format if successful, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Convert @p style into search dataBase format - * - * @returns @p style as a new xmlNode in search dataBase format if successful, - * NULL otherwise - * - * @param style Is valid - */ -#endif -#endif - xmlNodePtr searchSourceNode(xsltStylesheetPtr style); - - -#ifdef USE_GNOME_DOCS - -/** - * searchIncludeNode: - * @include: Is a valid xsl:include instruction - * - * Convert @include into search dataBase format - * - * Returns @include as a new xmlNode in search dataBase format if successful, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Convert @p include into search dataBase format - * - * @returns @p include as a new xmlNode in search dataBase format - * if successful, - * NULL otherwise - * - * @param include Is a valid xsl:include instruction - * - */ -#endif -#endif - xmlNodePtr searchIncludeNode(xmlNodePtr include); - - -#ifdef USE_GNOME_DOCS - -/** - * searchCallStackNode: - * @callStackItem: Is valid - * - * Convert @callStackItem into search dataBase format - * - * Returns @callStackItem as a new xmlNode in search dataBase format - * if successful, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - *Convert @p include into search dataBase format - * - * @returns @p callStackItem as a new xmlNode in search dataBase - * format if successful, - * NULL otherwise - * @param callStackItem Is valid - */ -#endif -#endif - xmlNodePtr searchCallStackNode(callPointPtr callStackItem); - - - -#ifdef USE_GNOME_DOCS - -/** - * searchCommentNode: - * @sourceNode: Is valid - * - * Find documentation comment that applies to @sourceNode. If found convert comment - * into search dataBase format required - * - * Returns Documentation comment for @node as a new xmlNode in search dataBase format - * if successful, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - - /** - * Find documentation comment that applies to @p sourceNode. If found convert comment - * into search dataBase format required - * - * Returns Documentation comment for @node as a new xmlNode in search dataBase format - * if successful, - * NULL otherwise - * - * @param node Is valid - */ -#endif -#endif - xmlNodePtr searchCommentNode(xmlNodePtr node); - - -#ifdef __cplusplus -} -#endif -#endif diff --git a/kxsldbg/kxsldbgpart/libxsldbg/search_cmds.cpp b/kxsldbg/kxsldbgpart/libxsldbg/search_cmds.cpp deleted file mode 100644 index 1dc65190..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/search_cmds.cpp +++ /dev/null @@ -1,88 +0,0 @@ - -/*************************************************************************** - search_cmds.c - search related commands for xsldbg - ------------------- - begin : Wed Nov 21 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "xsldbg.h" -#include "debugXSL.h" -#include "options.h" -#include "search.h" - -/* ----------------------------------------- - - Seach related commands - - ------------------------------------------- */ - - -/** - * xslDbgShellSearch: - * @styleCtxt: Is valid - * @style: Is valid - * @arg: The xpath query to use for searching dataBase and in UTF-8 - * - * Displays the result of performing a query on the search dataBase - * - * Returns 1 if able to run query with @arg, - * 0 otherwise - */ -int -xslDbgShellSearch(xsltTransformContextPtr styleCtxt, - xsltStylesheetPtr style, xmlChar * arg) -{ - int result = 0; - xmlChar buff[DEBUG_BUFFER_SIZE]; - const xmlChar *sortOption = (xmlChar *) "-sort "; - int sortOptionLen = xmlStrLen(sortOption); - - if (optionsGetStringOption(OPTIONS_DOCS_PATH) == NULL) { - xsldbgGenericErrorFunc(i18n("Error: No path to documentation; aborting searching.\n")); -#ifdef USE_DOCS_MACRO - xsldbgGenericErrorFunc(i18n("Error: Error in value of USE_DOCS_MACRO; look at Makefile.am.\n")); -#else - xsldbgGenericErrorFunc(i18n("Error: Required environment variable %1 not set to the directory of xsldbg documentation.\n").arg((const char*)XSLDBG_DOCS_DIR_VARIABLE)); -#endif - return result; /* failed */ - } - - if (!styleCtxt || !style) { - xsldbgGenericErrorFunc(i18n("Error: Stylesheet not valid, files not loaded yet?\n")); - return result; - } - - result = updateSearchData(styleCtxt, style, NULL, DEBUG_ANY_VAR); - trimString(arg); - if (xmlStrLen(arg) == 0) { - arg = (xmlChar *) "//search/*"; - } - strncpy((char *) buff, (char *) arg, sortOptionLen); - if (xmlStrEqual(buff, sortOption)) { - /* yep do sorting as well */ - if (snprintf - ((char *) buff, DEBUG_BUFFER_SIZE, - "--param dosort 1 --param query \"%s\"", - &arg[sortOptionLen])) { - result = result && searchQuery(NULL, NULL, buff); - } - } else { - if (snprintf - ((char *) buff, DEBUG_BUFFER_SIZE, - "--param dosort 0 --param query \"%s\"", arg)) { - result = result && searchQuery(NULL, NULL, buff); - } - } - return result; -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/template_cmds.cpp b/kxsldbg/kxsldbgpart/libxsldbg/template_cmds.cpp deleted file mode 100644 index bd4e297b..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/template_cmds.cpp +++ /dev/null @@ -1,331 +0,0 @@ - -/*************************************************************************** - template_cmds.c - template commands for xsldbg - ------------------- - begin : Wed Nov 21 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "xsldbg.h" -#include "debugXSL.h" -#include "files.h" -#include "utils.h" -#include "xsldbgmsg.h" -#include "xsldbgthread.h" /* for getThreadStatus */ - -static int printCounter; /* Dangerous name think of a better one */ - -/* ----------------------------------------- - Private function declarations for files.c - -------------------------------------------*/ - -/** - * xslDbgShellPrintStylesheetsHelper: - * @payload :valid xxsltStylesheetPtr - * @data : not used - * name : not used - * - * Print out the stylesheet name from the stylesheet given to - * us via walkStylesheets - */ -void - xslDbgShellPrintStylesheetsHelper(void *payload, - void *data, - xmlChar * name); - - -/** - * xslDbgShellPrintStylesheetsHelper2: - * @payload :valid xmlNodePtr of included stylesheet - * @data : not used - * name : not used - * - * Print out the stylesheet name from the stylesheet given to - * us via walkIncludes - */ -void - xslDbgShellPrintStylesheetsHelper2(void *payload, - void *data, - xmlChar * name); - - -/** - * printTemplateHelper: - * @templ: Is valid - * @verbose: Either 1 or 0 - * @templateCount: Is valid - * @count: Is valid - * @templateName: template name to print and in UTF-8, may be NULL - * - * This display the templates in the same order as they are in the - * stylesheet. If verbose is 1 then print more information - * For each template found @templateCount is increased - * For each printed template @printCount is increased - */ -void printTemplateHelper(xsltTemplatePtr templ, int verbose, - int *templateCount, int *count, - xmlChar * templateName); - -/* ------------------------------------- - End private functions ----------------------------------------*/ - - - -/** - * printTemplateHelper: - * @templ: Is valid - * @verbose: Either 1 or 0 - * @templateCount: Is valid - * @count: Is valid - * @templateName: template name to print, may be NULL - * - * This display the templates in the same order as they are in the - * stylesheet. If verbose is 1 then print more information - * For each template found @templateCount is increased - * For each printed template @printCount is increased - */ -void -printTemplateHelper(xsltTemplatePtr templ, int verbose, - int *templateCount, int *count, xmlChar * templateName) -{ - xmlChar *name, *defaultUrl = (xmlChar *) "<n/a>"; - const xmlChar *url; - - if (!templ) - return; - - *templateCount = *templateCount + 1; - printTemplateHelper(templ->next, verbose, - templateCount, count, templateName); - if (templ->elem && templ->elem->doc && templ->elem->doc->URL) { - url = templ->elem->doc->URL; - } else { - url = defaultUrl; - } - - if (templ->match) - name = xmlStrdup(templ->match); - else - name = fullTQName(templ->nameURI, templ->name); - - if (name) { - if (templateName && - (xmlStrcmp(templateName, name) != 0)) { - /* search for template name supplied failed */ - /* empty */ - } else { - xmlChar *modeTemp = NULL; - *count = *count + 1; - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - notifyListQueue(templ); - } else { - modeTemp = fullTQName(templ->modeURI, templ->mode); - if (verbose) - xsldbgGenericErrorFunc(i18n(" template: \"%1\" mode: \"%2\" in file \"%3\" at line %4\n").arg(xsldbgText(name)).arg(xsldbgText(modeTemp)).arg(xsldbgUrl(url)).arg(xmlGetLineNo(templ->elem))); - else - xsldbgGenericErrorFunc(TQString("\"%s\" ").arg(xsldbgText(name))); - if (modeTemp) - xmlFree(modeTemp); - } - } - - xmlFree(name); - - } -} - - -/** - * xslDbgShellPrintTemplateNames: - * @styleCtxt: Is valid - * @ctxt: Not used - * @arg: Not used - * @verbose: If 1 then print extra messages about templates found, - * otherwise print normal messages only - * @allFiles: If 1 then look for all templates in stylsheets found in - * @styleCtxt - * otherwise look in the stylesheet found by - * debugXSLBreak function - * - * Print out the list of template names found that match critieria - * - * Returns 1 on success, - * 0 otherwise - */ -int -xslDbgShellPrintTemplateNames(xsltTransformContextPtr styleCtxt, - xmlShellCtxtPtr ctxt, - xmlChar * arg, int verbose, int allFiles) -{ - Q_UNUSED(ctxt); - int templateCount = 0, printedTemplateCount = 0; - int result = 0; - xsltStylesheetPtr curStyle; - xsltTemplatePtr templ; - - if (xmlStrLen(arg) == 0) { - arg = NULL; - } else { - allFiles = 1; /* make sure we find it if we can */ - } - - if (!styleCtxt) { - xsldbgGenericErrorFunc(i18n("Error: Stylesheet is not valid.\n")); - return result; - } - - if (allFiles) - curStyle = styleCtxt->style; - else { - /* try to find files in the current stylesheet */ - /* root copy is set to the stylesheet found by debugXSLBreak */ - if (debugXSLGetTemplate()) - curStyle = debugXSLGetTemplate()->style; - else - curStyle = NULL; - } - - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - notifyListStart(XSLDBG_MSG_TEMPLATE_CHANGED); - while (curStyle) { - templ = curStyle->templates; - /* print them out in the order their in the file */ - printTemplateHelper(templ, verbose, &templateCount, - &printedTemplateCount, arg); - if (curStyle->next) - curStyle = curStyle->next; - else - curStyle = curStyle->imports; - } - notifyListSend(); - } else { - xsltGenericError(xsltGenericErrorContext, "\n"); - while (curStyle) { - templ = curStyle->templates; - /* print them out in the order their in the file */ - printTemplateHelper(templ, verbose, &templateCount, - &printedTemplateCount, arg); - xsltGenericError(xsltGenericErrorContext, "\n"); - if (curStyle->next) - curStyle = curStyle->next; - else - curStyle = curStyle->imports; - } - if (templateCount == 0) { - xsldbgGenericErrorFunc(i18n("\tNo XSLT templates found.\n")); - } else { - xsldbgGenericErrorFunc(i18n("\tTotal of %n XSLT template found", "\tTotal of %n XSLT templates found", templateCount) + TQString("\n")); - xsldbgGenericErrorFunc(i18n("\tTotal of %n XSLT template printed", "\tTotal of %n XSLT templates printed", printedTemplateCount) + TQString("\n")); - } - } - - result = 1; - return result; -} - - -/** - * xslDbgShellPrintStylesheetsHelper: - * @payload :valid xsltStylesheetPtr - * @data : not used - * name : not used - * - * Print out the stylesheet name from the stylesheet given to - * us via walkStylesheets - */ -void -xslDbgShellPrintStylesheetsHelper(void *payload, - void *data, - xmlChar * name) -{ - Q_UNUSED(data); - Q_UNUSED(name); - xsltStylesheetPtr style = (xsltStylesheetPtr) payload; - - if (style && style->doc && style->doc->URL) { - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) - notifyListQueue(payload); - else - /* display the URL of stylesheet */ - xsldbgGenericErrorFunc(i18n(" Stylesheet %1\n").arg(xsldbgUrl(style->doc->URL))); - printCounter++; - } -} - - -/** - * xslDbgShellPrintStylesheetsHelper2: - * @payload :valid xmlNodePtr of included stylesheet - * @data : not used - * name : not used - * - * Print out the stylesheet name from the stylesheet given to - * us via walkIncludes - */ -void -xslDbgShellPrintStylesheetsHelper2(void *payload, - void *data, - xmlChar * name) -{ - Q_UNUSED(data); - Q_UNUSED(name); - xmlNodePtr node = (xmlNodePtr) payload; - - if (node && node->doc && node->doc->URL) { - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) - notifyListQueue(payload); - else - /* display the URL of stylesheet */ - xsldbgGenericErrorFunc(i18n(" Stylesheet %1\n").arg(xsldbgUrl(node->doc->URL))); - printCounter++; - } -} - - -/** - * xslDbgShellPrintStyleSheets: - * @arg: The stylesheets of interests and in UTF-8, is NULL for all stylsheets - * - * Print stylesheets that can be found in loaded stylsheet - * - * Returns 1 on success, - * 0 otherwise - */ -int -xslDbgShellPrintStyleSheets(xmlChar * arg) -{ - Q_UNUSED(arg); - printCounter = 0; - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - notifyListStart(XSLDBG_MSG_SOURCE_CHANGED); - walkStylesheets((xmlHashScanner) xslDbgShellPrintStylesheetsHelper, - NULL, filesGetStylesheet()); - notifyListSend(); - notifyListStart(XSLDBG_MSG_INCLUDED_SOURCE_CHANGED); - walkIncludes((xmlHashScanner) xslDbgShellPrintStylesheetsHelper2, - NULL, filesGetStylesheet()); - notifyListSend(); - } else { - walkStylesheets((xmlHashScanner) xslDbgShellPrintStylesheetsHelper, - NULL, filesGetStylesheet()); - walkIncludes((xmlHashScanner) xslDbgShellPrintStylesheetsHelper2, - NULL, filesGetStylesheet()); - if (printCounter != 0) - xsldbgGenericErrorFunc(i18n("\tTotal of %n XSLT stylesheet found.", "\tTotal of %n XSLT stylesheets found.", printCounter) + TQString("\n")); - else - /* strange but possible */ - xsldbgGenericErrorFunc(i18n("\tNo XSLT stylesheets found.\n")); - } - return 1; /* always succeed */ -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/trace_cmds.cpp b/kxsldbg/kxsldbgpart/libxsldbg/trace_cmds.cpp deleted file mode 100644 index 3893be67..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/trace_cmds.cpp +++ /dev/null @@ -1,77 +0,0 @@ - -/*************************************************************************** - oc_cmds.c - libxslt parameter commands for xsldbg - ------------------- - begin : Wed Nov 21 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "xsldbg.h" -#include "debugXSL.h" -#include "options.h" - - -/* ----------------------------------------- - - Tracing related commands - - ------------------------------------------- */ - - -/** - * xslDbgShellTrace: - * @arg: Not used - * - * Start the tracing of the stylesheet. First need to restart it. - * - * Returns 1 on success, - * 0 otherwise - */ -int -xslDbgShellTrace(xmlChar * arg) -{ - Q_UNUSED(arg); - xslDebugStatus = DEBUG_RUN_RESTART; - optionsSetIntOption(OPTIONS_TRACE, TRACE_ON); - return 1; -} - - -/** - * xslDbgShellWalk: - * @arg: An interger between 0 and 9 indicate the speed of walk - * - * Start walking through the stylesheet. - * - * Returns 1 on success, - * 0 otherwise - */ -int -xslDbgShellWalk(xmlChar * arg) -{ - int result = 0; - - long speed = WALKSPEED_NORMAL; - - if (xmlStrLen(arg) - && (!sscanf((char *) arg, "%ld", &speed) || ((speed < 0) || (speed > 9)))) { - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments to command %1.\n").arg("walk")); - xsldbgGenericErrorFunc(i18n("Warning: Assuming normal speed.\n")); - speed = WALKSPEED_NORMAL; - } - result = 1; - optionsSetIntOption(OPTIONS_WALK_SPEED, speed); - xslDebugStatus = DEBUG_WALK; - - return result; -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/utils.cpp b/kxsldbg/kxsldbgpart/libxsldbg/utils.cpp deleted file mode 100644 index d1005fdd..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/utils.cpp +++ /dev/null @@ -1,187 +0,0 @@ - -/************************************************************************** - utils.c - misc utils - - ------------------- - begin : Thur Jan 31 2002 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - **************************************************************************/ - -/************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - **************************************************************************/ - -#include "utils.h" - -/** - * trimString: - * @text : A valid string with leading or trailing spaces - * - * Remove leading and trailing spaces off @text - * stores result back into @text - * - * Returns 1 on success, - * 0 otherwise - */ -int -trimString(xmlChar * text) -{ - int result = 0; - xmlChar *start, *end; - - if (text && xmlStrlen(text)) { - start = text; - end = text + xmlStrLen(text) - 1; - while (_IS_BLANK(*start) && (start <= end)) - start++; - - while (_IS_BLANK(*end) && (end >= start)) - end--; - - /* copy to @text */ - while (start <= end) { - *text = *start; - text++; - start++; - } - - *text = '\0'; - result = 1; - } - return result; -} - - -/** - * splitString: - * @textIn: The string to split - * @maxStrings: The max number of strings to put into @out - * @out: Is valid and at least the size of @maxStrings - * - * Split string by white space and put into @out - * - * Returns 1 on success, - * 0 otherwise - */ -int -splitString(xmlChar * textIn, int maxStrings, xmlChar ** out) -{ - int wordCount = 0; - int foundQuote = 0; - - if (!textIn || !out) - return wordCount; - - - while ((*textIn != '\0') && (wordCount < maxStrings)) { - /*skip the first spaces ? */ - while (_IS_BLANK(*textIn)) - textIn++; - - if (*textIn == '\"') { - textIn++; - foundQuote = 1; - } - out[wordCount] = textIn; - - /* look for end of word */ - if (foundQuote == 0) { - while (!_IS_BLANK(*textIn) && (*textIn != '\0')) - textIn++; - - if (*textIn != '\0') { - *textIn = '\0'; - textIn++; - } - - if (xmlStrLen(out[wordCount]) > 0) { - wordCount++; - } - } else { - /* look for ending quotation mark */ - while ((*textIn != '\0') && (*textIn != '\"')) - textIn++; - if (*textIn == '\0') { - xsldbgGenericErrorFunc(i18n("Error: Unmatched quotes in input.\n")); - wordCount = 0; - break; - } - *textIn = '\0'; - textIn++; /* skip the '"' which is now a '\0' */ - foundQuote = 0; - wordCount++; - } - - } - - if (*textIn != '\0') - wordCount = 0; /* We have not processed all the text givent to us */ - return wordCount; -} - - - -/** - * lookupName: - * @name : Is valid - * @matchList : A NULL terminated list of names to use as lookup table - * - * Lookup and name in a list - * - * Returns The id of name found in @matchList, - * 0 otherwise -*/ -int -lookupName(xmlChar * name, xmlChar ** matchList) -{ - int result = -1, nameIndex; - - if (!name || !matchList) - return result; - - for (nameIndex = 0; matchList[nameIndex]; nameIndex++) { - if (xmlStrEqual(name, matchList[nameIndex])) { - result = nameIndex; - break; - } - } - - return result; -} - -/** - * fullTQName: - * @nameURI : TQName part of name - * @name : Local part of name - * - * Join nameURI to name - * - * Returns a copy of "nameURI:name" - * - */ - -xmlChar * fullTQName(const xmlChar* nameURI, const xmlChar * name) -{ - xmlChar *result = NULL; - if (!nameURI && !name) - result = xmlStrdup((xmlChar*)""); - else{ - if (nameURI == NULL){ - result = xmlStrdup(name); - }else{ - result = (xmlChar*) xmlMalloc(sizeof(char) * ( - xmlStrLen(name) + - xmlStrLen(nameURI) + 3)); - if (result) - sprintf((char*)result, "%s:%s", (char*)nameURI, (char*)name); - } - } - return result; -} - diff --git a/kxsldbg/kxsldbgpart/libxsldbg/utils.h b/kxsldbg/kxsldbgpart/libxsldbg/utils.h deleted file mode 100644 index ada7b693..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/utils.h +++ /dev/null @@ -1,221 +0,0 @@ - -/************************************************************************** - utils.c - declaration for misc utils this is - mixed bag of functions so it is - not realy a module hense no need - for a utils prefix its functions - - ------------------- - begin : Thur Jan 31 2002 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - **************************************************************************/ - -/************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - **************************************************************************/ - -#ifndef XSLDBG_UTILS_H -#define XSLDBG_UTILS_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifndef BUILD_DOCS -#include <stdio.h> -#include <string.h> -#include <libxml/tree.h> -#include <libxml/debugXML.h> -#include <libxslt/xsltInternals.h> -#include <libxslt/xsltutils.h> -#include <libxml/xpath.h> -#endif - -#include "xsldbg.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* - Make things simpler when working between char* and xmlChar* . - By definition a char is the same size as an xmlChar(unsigned char). -*/ - -#ifndef BUILD_DOCS -#define xmlStrLen(text) strlen((char*)(text)) -#define xmlStrCat(a, b) strcat((char*)(a), (char*)(b)) -#define xmlStrCmp(a, b) strcmp((char*)(a), (char*)(b)) -#define xmlStrnCmp(a, b, c) strncmp((char*)(a), (char*)(b), c) -#define xmlStrCpy(a, b) strcpy((char*)(a), (char*)(b)) -#define xmlStrnCpy(a, b, c) strncpy((char*)(a),(char*)(b), c) -#define xmlStrChr(a, b) strchr((char*)(a), b) -#define xmlStrrChr(a, b) strrchr((char*)(a), b) -#endif - -/* what char is use to separate directories in an URI*/ -#define URISEPARATORCHAR '/' - - /* Handle the differences in path and quote character between - * win32 and *nix systems */ -#ifdef WIN32 -#define QUOTECHAR ' ' -#define PATHCHAR '\\' -#else -#define QUOTECHAR '\"' -#define PATHCHAR '/' -#endif - - -/* JRF: Although RISC OS native paths use . as a separator, the arguments - to xsldbg are passed in unix or URI form, and thus the above - specification is correct. */ - - - -/** - * _IS_BLANK: - * @c: an UNICODE value (int) - * - * Macro to check the following production in the XML spec - * - * [3] S ::= (#x20 | #x9 | #xD | #xA)+ - */ -#define _IS_BLANK(c) (((c) == 0x20) || ((c) == 0x09) || ((c) == 0xA) || \ - ((c) == 0x0D)) - - - - -#ifdef USE_GNOME_DOCS - -/** - * trimString: - * @text : A valid string with leading or trailing spaces - * - * Remove leading and trailing spaces off @text - * stores result back into @text - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Remove leading and trailing spaces off @p text - * stores result back into @p text - * - * @returns 1 on success, - * 0 otherwise - * - * @param text A valid string with leading or trailing spaces - */ -#endif -#endif - int trimString(xmlChar * text); - - -#ifdef USE_GNOME_DOCS - -/** - * splitString: - * @textIn: The string to split - * @maxStrings: The max number of strings to put into @out - * @out: Is valid and at least the size of @maxStrings - * - * Split string by white space and put into @out - * - * Returns 1 on success, - * 0 otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Spit string by white space and put into @p out - * - * @returns 1 on success, - * 0 otherwise - * - * @param textIn The string to split - * @param maxStrings The max number of strings to put into @p out - * @param out Is valid and at least the size of @p maxStrings - */ -#endif -#endif - int splitString(xmlChar * textIn, int maxStrings, xmlChar ** out); - - - -#ifdef USE_GNOME_DOCS - -/** - * lookupName: - * @name : Is valid - * @matchList : A NULL terminated list of names to use as lookup table - * - * Lookup and name in a list - * - * Returns The id of name found in @matchList, - * 0 otherwise -*/ -#else -#ifdef USE_KDE_DOCS - -/** - * Lookup and name in a list - * - * - * @returns The id of name found in @p matchList - * 0 otherwise - * - * @param name Is valid - * @param matchList A NULL terminated list of names to use as lookup table - * -*/ -#endif -#endif - int lookupName(xmlChar * name, xmlChar ** matchList); - -#ifdef USE_GNOME_DOCS - -/** - * fullTQName: - * @nameURI : TQName part of name - * @name : Local part of name - * - * Join nameURI to name - * - * Returns a copy of "nameURI:name" - * - */ - -#else -#ifdef USE_KDE_DOCS - -/** - * Join nameURI to name - * - * @returns a copy of "nameURI:name" - - * fullTQName: - * @param nameURI : TQName part of name - * @param name : Local part of name - * - * - */ -#endif -#endif - - xmlChar * fullTQName(const xmlChar* nameURI, const xmlChar * name); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/kxsldbg/kxsldbgpart/libxsldbg/variable_cmds.cpp b/kxsldbg/kxsldbgpart/libxsldbg/variable_cmds.cpp deleted file mode 100644 index a3a4df53..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/variable_cmds.cpp +++ /dev/null @@ -1,114 +0,0 @@ - -/*************************************************************************** - variable_cmds.c - description - ------------------- - begin : Sun Dec 30 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include <libxml/xpath.h> -#include <libxslt/xsltInternals.h> -#include <libxslt/variables.h> /* needed for xsltVariablesComp */ -#include <libxml/valid.h> /* needed for xmlSplitTQName2 */ -#include "xsldbg.h" -#include "debugXSL.h" -#include "search.h" - - -int -xslDbgShellSetVariable(xsltTransformContextPtr styleCtxt, xmlChar * arg) -{ - int result = 0, showUsage = 0; - xmlChar *name, *nameURI, *selectExpr, *opts[3]; - - if (!styleCtxt) { - - xsldbgGenericErrorFunc(i18n("Error: Stylesheet is not valid.\n")); - return result; - } - - if (!arg) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: NULL argument provided\n"); -#endif - return result; - } - - if (xmlStrLen(arg) > 1) { - if (splitString(arg, 2, opts) == 2) { - nameURI = NULL; - /* ignore any "$" prefix as user probably didn't mean that - "$" is part of variable name*/ - if (*opts[0] =='$'){ - opts[0] = opts[0] + 1; - } - name = xmlSplitQName2(opts[0], &nameURI); - if (name == NULL) - name = xmlStrdup(opts[0]); - selectExpr = xmlStrdup(opts[1]); - if (name && selectExpr) { - xsltStackElemPtr def = NULL; - - if (styleCtxt->varsNr && styleCtxt->varsTab) { - /* try finding varaible in stack */ - for (int i = styleCtxt->varsNr; i > styleCtxt->varsBase; i--) { - xsltStackElemPtr item = styleCtxt->varsTab[i-1]; - while (item) { - if ((xmlStrCmp(name, item->name) == 0) && - (item->nameURI == NULL - || (xmlStrCmp(name, item->nameURI) == 0))) { - def = item; - break; - } - item = item->next; - } - } - } - - if (def == NULL) - def = (xsltStackElemPtr) - xmlHashLookup2(styleCtxt->globalVars, - name, nameURI); - if (def != NULL) { - if (def->select) { - def->select = xmlDictLookup(styleCtxt->dict, selectExpr, -1); - def->tree = NULL; /* maybe a memory leak, but play it safe */ - def->computed = 1; - if (def->comp->comp) - xmlXPathFreeCompExpr(def->comp->comp); - def->comp->comp = xmlXPathCompile(def->select); - if (def->value) - xmlXPathFreeObject(def->value); - def->value = - xmlXPathEval(def->select, - styleCtxt->xpathCtxt); - result = 1; - } else { - xmlFree(selectExpr); - xsldbgGenericErrorFunc(i18n("Error: Cannot change a variable that does not use the select attribute.\n")); - } - } else - xsldbgGenericErrorFunc(i18n("Error: Variable %1 was not found.\n").arg(xsldbgText(name))); - xmlFree(name); - } else - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - } else { - showUsage = 1; - } - - if (showUsage == 1) - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments to command %1.\n").arg("set")); - } - return result; -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/xsldbg.cpp b/kxsldbg/kxsldbgpart/libxsldbg/xsldbg.cpp deleted file mode 100644 index 8b1e7063..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/xsldbg.cpp +++ /dev/null @@ -1,1347 +0,0 @@ - -/*************************************************************************** - xsldbg.c - description - ------------------- - begin : Sun Sep 16 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -/* - * Based on file xsltproc.c - * - * by Daniel Veillard - * daniel@veillard.com - * - * xsltproc.c is part of libxslt - * - * - */ - -/* Justin's port version - do not merge into core!!! */ -#define RISCOS_PORT_VERSION "2.01" - -#include <kurl.h> -#include <kdebug.h> -#include "xsldbg.h" -#include "debug.h" -#include "options.h" -#include "utils.h" -#include "files.h" -#include "breakpoint.h" -#include "debugXSL.h" -#include <cstdlib> - -#include <libxml/xmlerror.h> -#include "xsldbgmsg.h" -#include "xsldbgthread.h" /* for getThreadStatus */ -#ifdef HAVE_READLINE -# include <readline/readline.h> -# ifdef HAVE_HISTORY -# include <readline/history.h> -# endif -#endif - -/* need to setup catch of SIGINT */ -#include <signal.h> - -/* needed by printTemplateNames */ -#include <libxslt/transform.h> - -/* standard includes from xsltproc*/ -#include <libxslt/xslt.h> -#include <libexslt/exslt.h> -#ifdef HAVE_STRING_H -#include <string.h> -#endif -#ifdef HAVE_SYS_TIME_H -#include <sys/time.h> -#endif -#ifdef HAVE_SYS_STAT_H -#include <sys/stat.h> -#endif -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#ifdef HAVE_STDLIB_H -#include <stdlib.h> -#endif -#ifdef HAVE_STDARG_H -#include <stdarg.h> -#endif -#include <libxml/xmlmemory.h> -#include <libxml/debugXML.h> -#include <libxml/xmlerror.h> -#include <libxml/HTMLtree.h> -#include <libxml/xmlIO.h> -#ifdef LIBXML_XINCLUDE_ENABLED -#include <libxml/xinclude.h> -#endif - -#include <libxml/catalog.h> -#include <libxml/parserInternals.h> - -#include <libxslt/xslt.h> -#include <libxslt/xsltInternals.h> -#include <libxslt/transform.h> -#include <libxslt/xsltutils.h> -#include <libxslt/extensions.h> -#include <libexslt/exsltconfig.h> - -#include <tdecmdlineargs.h> -#include <tdeglobal.h> -#include <tqfile.h> - -#ifdef WIN32 -#ifdef _MSC_VER -#include <winsock2.h> -#pragma comment(lib, "ws2_32.lib") -#define gettimeofday(p1,p2) -#define HAVE_TIME_H -#include <time.h> -#define HAVE_STDARG_H -#include <stdarg.h> -#endif /* _MS_VER */ -#else /* WIN32 */ -#if defined(HAVE_SYS_TIME_H) -#include <sys/time.h> -#elif defined(HAVE_TIME_H) -#include <time.h> -#endif - - -#endif /* WIN32 */ - -#ifndef HAVE_STAT -# ifdef HAVE__STAT - -/* MS C library seems to define stat and _stat. The definition - * is identical. Still, mapping them to each other causes a warning. */ -# ifndef _MSC_VER -# define stat(x,y) _stat(x,y) -# endif -# define HAVE_STAT -# endif -#endif - -#ifdef __riscos - -/* Global definition of our program name on invocation. - This is required such that we can invoke ourselves for processing - search or help messages where our executable does not exist on the - current run path */ -char *xsldbgCommand = NULL; -#endif - -xmlSAXHandler mySAXhdlr; - -FILE *errorFile = NULL; /* we'll set this just before starting debugger */ - -xmlParserInputPtr xmlNoNetExternalEntityLoader(const char *URL, - const char *ID, - xmlParserCtxtPtr ctxt); - -/* ----------------------------------------- - Private function declarations for xsldbg.c - -------------------------------------------*/ - -/** - * xsldbgInit: - * - * Returns 1 if able to allocate memory needed by xsldbg - * 0 otherwise - */ -int xsldbgInit(void); - - -/** - * xsldbgFree: - * - * Free memory used by xsldbg - */ -void xsldbgFree(void); - - -/** - * printTemplates: - * @style : valid as parsed my xsldbg - * @doc : " " " " " - * - * print out list of template names - */ -void printTemplates(xsltStylesheetPtr style, xmlDocPtr doc); - - -/** - * catchSigInt: - * @value : not used - * - * Recover from a signal(SIGINT), exit if needed - */ -void catchSigInt(int value); - - -/** - * catchSigTerm: - * @value : not used - * - * Clean up and exit - */ -void - catchSigTerm(int value); - -/** - * xsldbgGenericErrorFunc: - * @ctx: Is Valid - * @msg: Is valid - * @...: other parameters to use - * - * Handles print output from xsldbg and passes it to the application if - * running as a thread otherwise send to stderr - */ -void - xsldbgGenericErrorFunc(void *ctx, const char *msg, ...); - -xmlEntityPtr (*oldGetEntity)( void * user_data, const xmlChar * name); - -static xmlEntityPtr xsldbgGetEntity( void * user_data, const xmlChar * name) -{ - xmlEntityPtr ent = NULL; - if (oldGetEntity){ - ent = (oldGetEntity)(user_data, name); - if (ent) - filesEntityRef(ent, ent->children, ent->last); - } - return ent; -} - -/* ------------------------------------- - End private functions - ---------------------------------------*/ - - -/* - * Internal timing routines to remove the necessity to have unix-specific - * function calls - */ - -#if defined(HAVE_GETTIMEOFDAY) -static struct timeval begin, end; - -/* - * startTimer: call where you want to start timing - */ -static void -startTimer(void) -{ - gettimeofday(&begin, NULL); -} - -/* - * endTimer: call where you want to stop timing and to print out a - * message about the timing performed; format is a printf - * type argument - */ -static void -endTimer(const TQString& message) -{ - long msec; - - gettimeofday(&end, NULL); - msec = end.tv_sec - begin.tv_sec; - msec *= 1000; - msec += (end.tv_usec - begin.tv_usec) / 1000; - -#ifndef HAVE_STDARG_H -#error "endTimer required stdarg functions" -#endif - /* Display the time taken to complete this task */ - xsldbgGenericErrorFunc(i18n("%1 took %2 ms to complete.\n").arg(message).arg(msec)); -} -#elif defined(HAVE_TIME_H) - -/* - * No gettimeofday function, so we have to make do with calling clock. - * This is obviously less accurate, but there's little we can do about - * that. - */ - -clock_t begin, end; -static void -startTimer(void) -{ - begin = clock(); -} -static void -endTimer(const TQString& message) -{ - long msec; - - end = clock(); - msec = ((end - begin) * 1000) / CLOCKS_PER_SEC; - -#ifndef HAVE_STDARG_H -#error "endTimer required stdarg functions" -#endif - /* Display the time taken to complete this task */ - xsldbgGenericErrorFunc(i18n("%1 took %2 ms to complete.\n").arg(message).arg(msec)); -} -#else - -/* - * We don't have a gettimeofday or time.h, so we just don't do timing - */ -static void -startTimer(void) -{ - /* - * Do nothing - */ -} -static void -endTimer(const TQString& message) -{ - /* - * We can not do anything because we don't have a timing function - */ -#ifdef HAVE_STDARG_H - /* Display the time taken to complete this task */ - xsldbgGenericErrorFunc(i18n("%1 took %2 ms to complete.\n"),arg(message).arg(msec)); -#else - /* We don't have gettimeofday, time or stdarg.h, what crazy world is - * this ?! - */ -#endif -} -#endif - -static void -xsltProcess(xmlDocPtr doc, xsltStylesheetPtr cur) -{ - - xmlDocPtr res; - const char *params[8 * 2 + 2]; - int bytesWritten = -1; - int nbparams = 0; - int paramIndex; - parameterItemPtr paramItem; - - /* Copy the parameters accross for libxslt */ - for (paramIndex = 0; - paramIndex < arrayListCount(optionsGetParamItemList()); - paramIndex++) { - paramItem = (parameterItemPtr)arrayListGet(optionsGetParamItemList(), paramIndex); - if (paramItem) { - params[nbparams] = (char *) paramItem->name; - params[nbparams + 1] = (char *) paramItem->value; - nbparams += 2; - } - } - - params[nbparams] = NULL; - -#ifdef LIBXML_XINCLUDE_ENABLED - if (optionsGetIntOption(OPTIONS_XINCLUDE)) { - if (optionsGetIntOption(OPTIONS_TIMING)) - startTimer(); - xmlXIncludeProcess(doc); - if (optionsGetIntOption(OPTIONS_TIMING)) { - /* Display the time taken to do XInclude processing */ - endTimer(i18n("XInclude processing %1.").arg((const char*)optionsGetStringOption(OPTIONS_DATA_FILE_NAME))); - } - } -#endif - if (optionsGetIntOption(OPTIONS_TIMING) || - optionsGetIntOption(OPTIONS_PROFILING)) - startTimer(); - if ((optionsGetStringOption(OPTIONS_OUTPUT_FILE_NAME) == NULL) || - optionsGetIntOption(OPTIONS_SHELL)) { - if (optionsGetIntOption(OPTIONS_REPEAT)) { - int j; - - for (j = 1; j < optionsGetIntOption(OPTIONS_REPEAT); j++) { - res = xsltApplyStylesheet(cur, doc, params); - xmlFreeDoc(res); - doc = xsldbgLoadXmlData(); - } - } - if (optionsGetIntOption(OPTIONS_PROFILING)) { - if (terminalIO != NULL) - res = xsltProfileStylesheet(cur, doc, params, terminalIO); - else if ((optionsGetStringOption(OPTIONS_OUTPUT_FILE_NAME) == - NULL) || (getThreadStatus() != XSLDBG_MSG_THREAD_RUN) - || (filesTempFileName(1) == NULL)) - res = xsltProfileStylesheet(cur, doc, params, stderr); - else { - /* We now have to output to using notify using - * temp file #1 */ - FILE *tempFile = fopen(filesTempFileName(1), "w"); - - if (tempFile != NULL) { - res = - xsltProfileStylesheet(cur, doc, params, tempFile); - fclose(tempFile); - /* send the data to application */ - notifyXsldbgApp(XSLDBG_MSG_FILEOUT, - filesTempFileName(1)); - } else { - xsldbgGenericErrorFunc(i18n("Error: Unable to write temporary results to %1.\n").arg(filesTempFileName(1))); - res = xsltProfileStylesheet(cur, doc, params, stderr); - } - } - } else { - res = xsltApplyStylesheet(cur, doc, params); - } - if (optionsGetIntOption(OPTIONS_PROFILING)) { - if (optionsGetIntOption(OPTIONS_REPEAT)) - /* Display how long it took to apply stylesheet */ - endTimer(i18n("Applying stylesheet %n time", "Applying stylesheet %n times", optionsGetIntOption(OPTIONS_REPEAT))); - else - /* Display how long it took to apply stylesheet */ - endTimer(i18n("Applying stylesheet")); - } - if (res == NULL) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, "Error: Transformation did not complete writing to file %s\n", - optionsGetStringOption - (OPTIONS_OUTPUT_FILE_NAME)); -#endif - return; - } - if (!optionsGetIntOption(OPTIONS_OUT)) { - xmlFreeDoc(res); - return; - } -#ifdef LIBXML_DEBUG_ENABLED - if (optionsGetIntOption(OPTIONS_DEBUG)) { - if (xslDebugStatus != DEBUG_RUN_RESTART){ - if (terminalIO != NULL) - xmlDebugDumpDocument(terminalIO, res); - else if ((optionsGetStringOption(OPTIONS_OUTPUT_FILE_NAME) == - NULL) || (getThreadStatus() != XSLDBG_MSG_THREAD_RUN) - || (filesTempFileName(1) == NULL)) - xmlDebugDumpDocument(stdout, res); - else { - FILE *tempFile = fopen(filesTempFileName(1), "w"); - - if (tempFile) { - bytesWritten = 0; // flag that we have writen at least zero bytes - xmlDebugDumpDocument(tempFile, res); - fclose(tempFile); - /* send the data to application */ - notifyXsldbgApp(XSLDBG_MSG_FILEOUT, - filesTempFileName(1)); - } else { - xsldbgGenericErrorFunc(i18n("Error: Unable to write temporary results to %1.\n").arg(filesTempFileName(1))); - xmlDebugDumpDocument(stdout, res); - } - - } - } - } else { -#endif - if (xslDebugStatus != DEBUG_RUN_RESTART){ - if (cur->methodURI == NULL) { - if (optionsGetIntOption(OPTIONS_TIMING)) - startTimer(); - if (xslDebugStatus != DEBUG_QUIT) { - if (terminalIO != NULL) - bytesWritten = xsltSaveResultToFile(terminalIO, res, cur); - else if (optionsGetStringOption - (OPTIONS_OUTPUT_FILE_NAME) == NULL) - bytesWritten = xsltSaveResultToFile(stdout, res, cur); - else{ - bytesWritten = xsltSaveResultToFilename((const char *) - optionsGetStringOption - (OPTIONS_OUTPUT_FILE_NAME), - res, cur, 0); - } - } - if (optionsGetIntOption(OPTIONS_TIMING)) - /* Indicate how long it took to save to file */ - endTimer(i18n("Saving result")); - } else { - if (xmlStrEqual(cur->method, (const xmlChar *) "xhtml")) { - xsldbgGenericErrorFunc(i18n("Warning: Generating non-standard output XHTML.\n")); - if (optionsGetIntOption(OPTIONS_TIMING)) - startTimer(); - if (terminalIO != NULL) - bytesWritten = xsltSaveResultToFile(terminalIO, res, cur); - else if (optionsGetStringOption - (OPTIONS_OUTPUT_FILE_NAME) == NULL) - bytesWritten = xsltSaveResultToFile(stdout, res, cur); - else - bytesWritten = xsltSaveResultToFilename((const char *) - optionsGetStringOption - (OPTIONS_OUTPUT_FILE_NAME), - res, cur, 0); - if (optionsGetIntOption(OPTIONS_TIMING)) - /* Indicate how long it took to save to file */ - endTimer(i18n("Saving result")); - } else { - xsldbgGenericErrorFunc(i18n("Warning: Unsupported, non-standard output method %1.\n").arg(xsldbgText(cur->method))); - } - } - } -#ifdef LIBXML_DEBUG_ENABLED - } -#endif - - xmlFreeDoc(res); - } else { - xsltTransformContextPtr userCtxt = xsltNewTransformContext(cur, doc); - if (userCtxt){ - bytesWritten = xsltRunStylesheetUser(cur, doc, params, - (char *)optionsGetStringOption(OPTIONS_OUTPUT_FILE_NAME), - NULL, NULL, NULL, userCtxt); - if (optionsGetIntOption(OPTIONS_TIMING)) - endTimer(i18n("Running stylesheet and saving result")); - xsltFreeTransformContext(userCtxt); - }else{ - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - } - } - if ((xslDebugStatus != DEBUG_RUN_RESTART) && (bytesWritten == -1)) - xsldbgGenericErrorFunc(i18n("Error: Unable to save results of transformation to file %1.\n").arg(xsldbgText(optionsGetStringOption(OPTIONS_OUTPUT_FILE_NAME)))); -} - -int -xsldbgMain(int argc, char **argv) -{ - Q_UNUSED(argc); - Q_UNUSED(argv); - int i=0, result = 1, noFilesFound = 0; - xsltStylesheetPtr cur = NULL; - xmlChar *expandedName; /* contains file name with path expansion if any */ - - /* in some cases we always want to bring up a command prompt */ - int showPrompt; - - /* the xml document we're processing */ - xmlDocPtr doc; - - TDECmdLineArgs *args = 0; - if (getThreadStatus() == XSLDBG_MSG_THREAD_NOTUSED) - args = TDECmdLineArgs::parsedArgs(); - - errorFile = stderr; - - - if (args){ - TQString langChoice = args->getOption("lang"); - if (TDEGlobal::locale() && !langChoice.isEmpty() && result) - TDEGlobal::locale()->setLanguage(langChoice); - } - -#ifdef __riscos - /* Remember our invocation command such that we may call ourselves */ - xsldbgCommand = argv[0]; -#endif - - xmlInitMemory(); - - - LIBXML_TEST_VERSION xmlLineNumbersDefault(1); - - if (!xsldbgInit()) { - xsldbgGenericErrorFunc(i18n("Fatal error: Aborting debugger due to an unrecoverable error.\n")); - xsldbgFree(); - xsltCleanupGlobals(); - xmlCleanupParser(); - xmlMemoryDump(); - return (1); - } - - - if (args){ - for (i = 0; i < args->count(); i++) { - if (!result) - break; - - if (args->arg(i)[0] != '-') { - expandedName = filesExpandName((const xmlChar*)args->arg(i)); - if (!expandedName) { - result = 0; - break; - } - switch (noFilesFound) { - case 0: - optionsSetStringOption(OPTIONS_SOURCE_FILE_NAME, - expandedName); - noFilesFound++; - break; - case 1: - optionsSetStringOption(OPTIONS_DATA_FILE_NAME, - expandedName); - noFilesFound++; - break; - - default: - xsldbgGenericErrorFunc(i18n("Error: Too many file names supplied via command line.\n")); - result = 0; - } - xmlFree(expandedName); - continue; - } - } - - - // Handle boolean options - for (int optionID = OPTIONS_FIRST_BOOL_OPTIONID; optionID < OPTIONS_LAST_BOOL_OPTIONID; optionID++){ - if (optionsGetOptionName(OptionTypeEnum(optionID))){ - if (args->isSet((char *)optionsGetOptionName(OptionTypeEnum(optionID)))) - optionsSetIntOption(OptionTypeEnum - (optionID), 1); - else - optionsSetIntOption(OptionTypeEnum(optionID), 0); - } - } - - // No extra arguments go straight to the shell? - if (args->count() == 0) - result = optionsSetIntOption(OPTIONS_SHELL, 1); - - // Disable net access? - if (!args->isSet("net")){ - char noNetCmd[] = {"nonet 1"}; - xslDbgShellSetOption((xmlChar*)noNetCmd); - } - } - - if (getThreadStatus() != XSLDBG_MSG_THREAD_NOTUSED){ - result = optionsSetIntOption(OPTIONS_SHELL, 1); - } - /* copy the volitile options over to xsldbg */ - optionsCopyVolitleOptions(); - - /* - * shell interraction - */ - if (!optionsGetIntOption(OPTIONS_SHELL)) { /* excecute stylesheet (ie no debugging) */ - xslDebugStatus = DEBUG_NONE; - } else { - xslDebugStatus = DEBUG_STOP; - xsltGenericError(xsltGenericErrorContext, "XSLDBG %s\n", VERSION); - } - - if (optionsGetIntOption(OPTIONS_VALID)) - xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; - else - xmlLoadExtDtdDefaultValue = 0; - - - if (args){ - if (args->isSet("verbose") && result) - xsltSetGenericDebugFunc(stderr, NULL); - - TQCString outFile = args->getOption("output"); - if (!outFile.isEmpty() && result) - result = xslDbgShellOutput((const xmlChar *)TQFile::encodeName(outFile).data()); - - TQCString maxDepth = args->getOption("maxdepth"); - if (!maxDepth.isEmpty() && result){ - bool OK; - int value = maxDepth.toInt(&OK); - if (OK && (value> 0)) - xsltMaxDepth = value; - } - - if (args->isSet("repeat") && result){ - if (optionsGetIntOption(OPTIONS_REPEAT) == 0) - optionsSetIntOption(OPTIONS_REPEAT, 20); - else - optionsSetIntOption(OPTIONS_REPEAT, 100); - } - - QCStringList xslParams(args->getOptionList("param")); - QCStringList::iterator it; - TQCString param, paramName, paramValue; - int separatorIdx; - bool paramOK; - for ( it = xslParams.begin(); it != xslParams.end(); ++it){ - param = (*it); - paramOK = true; - separatorIdx = param.find(':'); - if (separatorIdx > 0){ - paramName = param.left((uint)separatorIdx); - paramValue = param.mid((uint)separatorIdx + 1); - if (!paramName.isEmpty() && !paramValue.isEmpty()){ - if (arrayListCount(optionsGetParamItemList()) <= 31) { - arrayListAdd(optionsGetParamItemList(), optionsParamItemNew((const xmlChar*)paramName.data(), (const xmlChar*)paramValue.data())); - }else{ - xsldbgGenericErrorFunc(i18n("Warning: Too many libxslt parameters provided via the command line option --param.\n")); - } - }else{ - paramOK = false; - } - }else{ - paramOK = false; - } - if (!paramOK) - xsldbgGenericErrorFunc(i18n("Error: Argument \"%1\" to --param is not in the format <name>:<value>.\n").arg(param.data())); - } - - TQCString cdPath = args->getOption("cd"); - if (!cdPath.isEmpty() && result) - result = changeDir((const xmlChar *)TQFile::encodeName(cdPath).data()); - - } - - if (!result) { - TDECmdLineArgs::usage(); - xsldbgFree(); - return (1); - } - - - /* - * * Replace entities with their content. - */ - xmlSubstituteEntitiesDefault(1); - - /* - * * Register the EXSLT extensions and the test module - */ - exsltRegisterAll(); - xsltRegisterTestModule(); - - - - debugGotControl(0); - while (xslDebugStatus != DEBUG_QUIT) { - xsldbgReachedFirstTemplate = false; - /* don't force xsldbg to show command prompt */ - showPrompt = 0; - cur = NULL; - doc = NULL; - arrayListEmpty(filesEntityList()); - xsltSetXIncludeDefault(optionsGetIntOption(OPTIONS_XINCLUDE)); - - /* copy the volitile options over to xsldbg */ - optionsCopyVolitleOptions(); - - /* choose where error messages/xsldbg output get sent to */ - if (optionsGetIntOption(OPTIONS_STDOUT)) - errorFile = stdout; - else - errorFile = stderr; - - filesLoadCatalogs(); - - if (optionsGetIntOption(OPTIONS_SHELL)) { - debugGotControl(0); - xsldbgGenericErrorFunc(i18n("\nStarting stylesheet\n\n")); - if (optionsGetIntOption(OPTIONS_TRACE) == TRACE_OFF) - xslDebugStatus = DEBUG_STOP; /* stop as soon as possible */ - } - - if ((optionsGetStringOption(OPTIONS_SOURCE_FILE_NAME) == NULL) || - (optionsGetStringOption(OPTIONS_DATA_FILE_NAME) == NULL)) { - /* at least on file name has not been set */ - /*goto a xsldbg command prompt */ - showPrompt = 1; - if (optionsGetStringOption(OPTIONS_SOURCE_FILE_NAME) == NULL) - xsldbgGenericErrorFunc(i18n("Error: No XSLT source file supplied.\n")); - - if (optionsGetStringOption(OPTIONS_DATA_FILE_NAME) == NULL) { - xsldbgGenericErrorFunc(i18n("Error: No XML data file supplied.\n")); - } - - } else { - filesLoadXmlFile(NULL, FILES_SOURCEFILE_TYPE); - cur = filesGetStylesheet(); - if ((cur == NULL) || (cur->errors != 0)) { - /*goto a xsldbg command prompt */ - showPrompt = 1; - if (xslDebugStatus == DEBUG_NONE) { - xslDebugStatus = DEBUG_QUIT; /* panic !! */ - result = 0; - } - } - } - - if (showPrompt == 0) { - filesLoadXmlFile(NULL, FILES_XMLFILE_TYPE); - doc = filesGetMainDoc(); - if (doc == NULL) { - if (xslDebugStatus == DEBUG_NONE) { - xslDebugStatus = DEBUG_QUIT; /* panic !! */ - result = 0; - } else { - /*goto a xsldbg command prompt */ - showPrompt = 1; - } - } else { - if (xslDebugStatus != DEBUG_QUIT) { - xsltProcess(doc, cur); - result = 1; - } - } - - if (optionsGetIntOption(OPTIONS_SHELL) && (showPrompt == 0)) { - if ((xslDebugStatus != DEBUG_QUIT) - && !debugGotControl(-1)) { - xsldbgGenericErrorFunc(i18n("\nDebugger never received control.\n")); - /*goto a xsldbg command prompt */ - showPrompt = 1; - xslDebugStatus = DEBUG_STOP; - } else { - xsldbgGenericErrorFunc(i18n("\nFinished stylesheet\n\n")); - { - /* handle trace execution */ - int trace = optionsGetIntOption(OPTIONS_TRACE); - - switch (trace) { - case TRACE_OFF: - /* no trace of execution */ - break; - - case TRACE_ON: - /* tell xsldbg to stop tracing next time we get here */ - optionsSetIntOption(OPTIONS_TRACE, - TRACE_RUNNING); - xslDebugStatus = DEBUG_TRACE; - break; - - case TRACE_RUNNING: - /* turn off tracing */ - xslDebugStatus = DEBUG_CONT; - optionsSetIntOption(OPTIONS_TRACE, - TRACE_OFF); - break; - } - } - if (!optionsGetIntOption(OPTIONS_AUTORESTART) && (xslDebugStatus != DEBUG_RUN_RESTART)){ - /* pass control to user they won't be able to do much - other than add breakpoints, quit, run, continue */ - debugXSLBreak((xmlNodePtr) cur->doc, (xmlNodePtr) doc, - NULL, NULL); - } - } - } else { - /* request to execute stylesheet only so we're done */ - xslDebugStatus = DEBUG_QUIT; - } - } else { - /* Some sort of problem loading source file has occured. Quit? */ - if (xslDebugStatus == DEBUG_NONE) { - xslDebugStatus = DEBUG_QUIT; /* Panic!! */ - result = 0; - } else { - /*goto a xsldbg command prompt */ - showPrompt = 1; - } - } - - if (showPrompt && optionsGetIntOption(OPTIONS_SHELL)) { - xmlDocPtr tempDoc = xmlNewDoc((xmlChar *) "1.0"); - xmlNodePtr tempNode = - xmlNewNode(NULL, (xmlChar *) "xsldbg_default_node"); - if (!tempDoc || !tempNode) { - xsldbgFree(); - return (1); - } - xmlAddChild((xmlNodePtr) tempDoc, tempNode); - - xsldbgGenericErrorFunc(i18n("Going to the command shell; not all xsldbg commands will work as not all needed have been loaded.\n")); - xslDebugStatus = DEBUG_STOP; - if ((cur == NULL) && (doc == NULL)) { - /*no doc's loaded */ - debugXSLBreak(tempNode, tempNode, NULL, NULL); - } else if ((cur != NULL) && (doc == NULL)) { - /* stylesheet is loaded */ - debugXSLBreak((xmlNodePtr) cur->doc, tempNode, NULL, NULL); - } else if ((cur == NULL) && (doc != NULL)) { - /* xml doc is loaded */ - debugXSLBreak(tempNode, (xmlNodePtr) doc, NULL, NULL); - } else { - /* unexpected problem, both docs are loaded */ - debugXSLBreak((xmlNodePtr) cur->doc, (xmlNodePtr) doc, - NULL, NULL); - } - xmlFreeDoc(tempDoc); - } else if (showPrompt && !optionsGetIntOption(OPTIONS_SHELL)) { - xslDebugStatus = DEBUG_QUIT; - result = 0; /* panic */ - } - - if (optionsGetIntOption(OPTIONS_SHELL)) { - /* force a refesh of both stlesheet and xml data */ - filesFreeXmlFile(FILES_SOURCEFILE_TYPE); - filesFreeXmlFile(FILES_XMLFILE_TYPE); - } - } - - if (!result) { - xsldbgGenericErrorFunc(i18n("Fatal error: Aborting debugger due to an unrecoverable error.\n")); - } - xsldbgFree(); - xsltCleanupGlobals(); - xmlCleanupParser(); - xmlMemoryDump(); - return !result; -} - -/** - * xsldbgLoadStylesheet: - * - * Load the stylesheet and return it - * - * Returns The stylesheet after reloading it if successful - * NULL otherwise - */ -xsltStylesheetPtr -xsldbgLoadStylesheet() -{ - xsltStylesheetPtr cur = NULL; - xmlDocPtr style; - - if (optionsGetIntOption(OPTIONS_TIMING)) - startTimer(); - style = xmlParseFile((const char *) optionsGetStringOption(OPTIONS_SOURCE_FILE_NAME)); - if (optionsGetIntOption(OPTIONS_TIMING)) - endTimer(i18n("Parsing stylesheet %1").arg((const char*)optionsGetStringOption(OPTIONS_SOURCE_FILE_NAME))); - if (style == NULL) { - xsldbgGenericErrorFunc(i18n("Error: Cannot parse file %1.\n").arg(xsldbgUrl(optionsGetStringOption(OPTIONS_SOURCE_FILE_NAME)))); - cur = NULL; - if (!optionsGetIntOption(OPTIONS_SHELL)) { - xsldbgGenericErrorFunc(i18n("Fatal error: Aborting debugger due to an unrecoverable error.\n")); - xslDebugStatus = DEBUG_QUIT; - } else { - xsltGenericError(xsltGenericErrorContext, "\n"); - xslDebugStatus = DEBUG_STOP; - } - } else { - cur = xsltLoadStylesheetPI(style); - if (cur != NULL) { - /* it is an embedded stylesheet */ - xsltProcess(style, cur); - xsltFreeStylesheet(cur); - } else { - cur = xsltParseStylesheetDoc(style); - if (cur != NULL) { - if (cur->indent == 1) - xmlIndentTreeOutput = 1; - else - xmlIndentTreeOutput = 0; - } else { - xmlFreeDoc(style); - } - } - } - return cur; -} - - - -/** - * xsldbgLoadXmlData: - * - * Load the xml data file and return it - * - * Returns The data file after reloading it if successful - * NULL otherwise - */ -xmlDocPtr -xsldbgLoadXmlData(void) -{ - xmlDocPtr doc = NULL; - xmlSAXHandler mySAXHandler; - doc = NULL; - - xmlSAXVersion(&mySAXHandler,2); - oldGetEntity = mySAXHandler.getEntity; - mySAXHandler.getEntity = xsldbgGetEntity; - - if (optionsGetIntOption(OPTIONS_TIMING)) - startTimer(); -#ifdef LIBXML_HTML_ENABLED - if (optionsGetIntOption(OPTIONS_HTML)) - doc = htmlParseFile((char *) - optionsGetStringOption(OPTIONS_DATA_FILE_NAME), - NULL); - else -#endif -#ifdef LIBXML_DOCB_ENABLED - if (optionsGetIntOption(OPTIONS_DOCBOOK)) - doc = xmlParseFile((char *) optionsGetStringOption(OPTIONS_DATA_FILE_NAME)); - else -#endif - doc = xmlSAXParseFile(&mySAXHandler, - (char *) optionsGetStringOption(OPTIONS_DATA_FILE_NAME), 0); - if (doc == NULL) { - xsldbgGenericErrorFunc(i18n("Error: Unable to parse file %1.\n").arg(xsldbgUrl(optionsGetStringOption(OPTIONS_DATA_FILE_NAME)))); - if (!optionsGetIntOption(OPTIONS_SHELL)) { - xsldbgGenericErrorFunc(i18n("Fatal error: Aborting debugger due to an unrecoverable error.\n")); - xslDebugStatus = DEBUG_QUIT; - } else { - xsltGenericError(xsltGenericErrorContext, "\n"); - xslDebugStatus = DEBUG_STOP; - } - } else if (optionsGetIntOption(OPTIONS_TIMING)) - endTimer(TQString("Parsing document %1").arg(xsldbgUrl(optionsGetStringOption(OPTIONS_DATA_FILE_NAME))).utf8().data()); - - return doc; -} - - -/** - * xsldbgLoadXmlTemporary: - * @path: The name of temporary file to load - * - * Load the temporary data file and return it - * - * Returns The temporary file after reloading it if successful, - * NULL otherwise - */ -xmlDocPtr -xsldbgLoadXmlTemporary(const xmlChar * path) -{ - xmlDocPtr doc = NULL; - doc = NULL; - - if (optionsGetIntOption(OPTIONS_TIMING)) - startTimer(); -#ifdef LIBXML_HTML_ENABLED - if (optionsGetIntOption(OPTIONS_HTML)) - doc = htmlParseFile((char *) path, NULL); - else -#endif -#ifdef LIBXML_DOCB_ENABLED - if (optionsGetIntOption(OPTIONS_DOCBOOK)) - doc = xmlParseFile((char *) path); - else -#endif - doc = xmlSAXParseFile(&mySAXhdlr, (char *) path, 0); - if (doc == NULL) { - xsldbgGenericErrorFunc(i18n("Error: Unable to parse file %1.\n").arg(xsldbgUrl(path))); - } - - if (optionsGetIntOption(OPTIONS_TIMING) - && (xslDebugStatus != DEBUG_QUIT)) { - endTimer(TQString("Parsing document %1").arg(xsldbgUrl(path))); - } - return doc; -} - -/** - * printTemplates: - * @style : valid as parsed my xsldbg - * @doc : " " " " " - * - * print out list of template names - */ -void -printTemplates(xsltStylesheetPtr style, xmlDocPtr doc) -{ - xsltTransformContextPtr ctxt = xsltNewTransformContext(style, doc); - - if (ctxt) { - /* don't be verbose when printing out template names */ - xslDbgShellPrintTemplateNames(ctxt, NULL, NULL, 0, 0); - } else { - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - } -} - -#ifdef WIN32 - -/* For the windows world we capture the control event */ -BOOL WINAPI -handler_routine(DWORD dwCtrlType) -{ - - switch (dwCtrlType) { - case CTRL_C_EVENT: - case CTRL_BREAK_EVENT: - case CTRL_CLOSE_EVENT: - catchSigInt(SIGINT); - break; - - case CTRL_LOGOFF_EVENT: - case CTRL_SHUTDOWN_EVENT: - xsldbgFree(); - exit(1); - break; - - default: - printf("Error: Unknown control event\n"); - break; - } - - return (true); -} - -#endif - -#if 0 -/* libxml/ handlers */ -void xsldbgStructErrorHandler(void * userData, xmlErrorPtr error) -{ - if (error && error->message && (error->level >= 0) && (error->level <= 4)){ - if (getThreadStatus() != XSLDBG_MSG_THREAD_RUN){ - static const char *msgPrefix[4 + 1] = {"", "warning :", "error:", "fatal:"}; - if (error->file) - xsltGenericError(xsltGenericErrorContext, "%s%s in file \"%s\" line %d", msgPrefix[error->level], error->message, error->file, error->line); - else - xsltGenericError(xsltGenericErrorContext, "%s%s", msgPrefix[error->level], error->message); - - }else{ - xsltGenericError(xsltGenericErrorContext,"Struct error handler"); - notifyXsldbgApp(XSLDBG_MSG_ERROR_MESSAGE, error); - } - } -} - -void xsldbgSAXErrorHandler(void * ctx, const char * msg, ...) -{ - if (ctx) - xsldbgStructErrorHandler(0, ((xmlParserCtxtPtr)ctx)->lastError); -} - -void xsldbgSAXWarningHandler(void * ctx, const char * msg, ...) -{ - if (ctx) - xsldbgStructErrorHandler(0, ((xmlParserCtxtPtr)ctx)->lastError); -} - -#endif - -/** - * catchSigInt: - * @value : not used - * - * Recover from a signal(SIGINT), exit if needed - */ -void -catchSigInt(int value) -{ - Q_UNUSED(value); - if ((xslDebugStatus == DEBUG_NONE) || (xsldbgStop == 1) || (xslDebugStatus == DEBUG_STOP)) { - xsldbgFree(); - exit(1); - } -#ifdef __riscos - /* re-catch SIGINT - RISC OS resets the handler when the interupt occurs */ - signal(SIGINT, catchSigInt); -#endif - - if (xslDebugStatus != DEBUG_STOP) { - /* stop running/walking imediately !! */ - xsldbgStop = 1; - } -} - - -/** - * catchSigTerm: - * @value : not used - * - * Clean up and exit - */ -void -catchSigTerm(int value) -{ - Q_UNUSED(value); - xsldbgFree(); - exit(1); -} - - - -typedef void (*sighandler_t) (int); -static sighandler_t oldHandler; - -static int initialized = 0; - -/** - * xsldbgInit: - * - * Returns 1 if able to allocate memory needed by xsldbg - * 0 otherwise - */ -int -xsldbgInit() -{ - int result = 0; - int xmlVer = 0; - - if (!initialized) { - sscanf(xmlParserVersion, "%d", &xmlVer); - if (!debugInit()) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Fatal error: Init of debug module failed\n"); -#endif - return result; - } - if (!filesInit()) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Fatal error: Init of files module failed\n"); -#endif - return result; - } - - if (!optionsInit()) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Fatal error: Init of options module failed\n"); -#endif - return result; - } - - if (!searchInit()) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Fatal error: Init of search module failed\n"); -#endif - return result; - } - - - - /* set up the parser */ - xmlInitParser(); -#if 0 - xmlSetGenericErrorFunc(NULL, NULL); - xmlSetStructuredErrorFunc(NULL , (xmlStructuredErrorFunc)xsldbgStructErrorHandler); -#else - xmlSetGenericErrorFunc(0, xsldbgGenericErrorFunc); - xsltSetGenericErrorFunc(0, xsldbgGenericErrorFunc); -#endif - - if (getThreadStatus() != XSLDBG_MSG_THREAD_NOTUSED) { - initialized = 1; - return 1; /* this is all we need to do when running as a thread */ - } -#ifndef WIN32 - /* catch SIGINT */ - oldHandler = signal(SIGINT, catchSigInt); -#else - if (SetConsoleCtrlHandler(handler_routine, true) != true) - return result; -#endif - -#ifndef WIN32 - /* catch SIGTIN tty input available fro child */ - signal(SIGTERM, catchSigTerm); -#endif - initialized = 1; - } - return 1; -} - -/** - * xsldbgFree: - * - * Free memory used by xsldbg - */ -void -xsldbgFree() -{ - debugFree(); - filesFree(); - optionsFree(); - searchFree(); -#ifndef WIN32 - if (oldHandler != SIG_ERR) - signal(SIGINT, oldHandler); -#else - SetConsoleCtrlHandler(handler_routine, false); -#endif - initialized = 0; - -#ifdef HAVE_READLINE - /* rl_free_line_state (); - rl_cleanup_after_signal(); */ -# ifdef HAVE_HISTORY - clear_history(); -# endif -#endif - -} - - -char msgBuffer[4000]; - -/** - * xsldbgGenericErrorFunc: - * @ctx: Is Valid - * @msg: Is valid - * @...: other parameters to use - * - * Handles print output from xsldbg and passes it to the application if - * running as a thread otherwise send to stderr - */ -void -xsldbgGenericErrorFunc(void *ctx, const char *msg, ...) -{ - va_list args; - Q_UNUSED(ctx); - - va_start(args, msg); - if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) { - vsnprintf(msgBuffer, sizeof(msgBuffer), msg, args); - - notifyTextXsldbgApp(XSLDBG_MSG_TEXTOUT, msgBuffer); - } else { - xmlChar *encodeResult = NULL; - - vsnprintf(msgBuffer, sizeof(msgBuffer), msg, args); - encodeResult = filesEncode((xmlChar *) msgBuffer); - if (encodeResult) { - fprintf(errorFile, "%s", encodeResult); - xmlFree(encodeResult); - } else - fprintf(errorFile, "%s", msgBuffer); - } - va_end(args); -} - -void xsldbgGenericErrorFunc(TQString const &text) -{ - xsldbgGenericErrorFunc(0, "%s", text.utf8().data()); -} - - -TQString xsldbgUrl(const char *utf8fUrl) -{ - TQString tempUrl(utf8fUrl); - TQString fixedURI; - KURL url(tempUrl); - - // May be provided with a URL that only has been encoded and has no protocol prefix ie a local file - if ( !tempUrl.startsWith("file:/") && !tempUrl.startsWith("http:/") && !tempUrl.startsWith("ftp:/")) - fixedURI = KURL::decode_string(tempUrl); - else - fixedURI = url.prettyURL(); - - return fixedURI; -} - -TQString xsldbgUrl(const xmlChar *utf8Url) -{ - return xsldbgUrl((const char*)(utf8Url)); -} - -TQString xsldbgText(const char *utf8Text) -{ - return TQString::fromUtf8(utf8Text); - -} - -TQString xsldbgText(const xmlChar *utf8Text) -{ - return TQString::fromUtf8((const char *)utf8Text); -} - diff --git a/kxsldbg/kxsldbgpart/libxsldbg/xsldbg.h b/kxsldbg/kxsldbgpart/libxsldbg/xsldbg.h deleted file mode 100644 index dd9a067e..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/xsldbg.h +++ /dev/null @@ -1,192 +0,0 @@ - -/*************************************************************************** - xsldbg.h - describe the application level functions - ------------------- - begin : Sun Sep 16 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - - -#ifndef XSLDEBUGGER_H -#define XSLDEBUGGER_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifdef USE_KDE_DOCS - -/** - * Provide provide application level services and useful bits and pieces - * - * @short application functions and useful bits and pieces - * - * @author Keith Isdale <k_isdale@tpg.com.au> - */ -#endif - - -/* We want skip most of these includes when building documentation */ -#ifndef BUILD_DOCS -#ifndef __riscos -# ifndef WIN32 -# include "config.h" - /* we don't need to use dll declares for *nix based machines */ -# define XSLDBG_SO_API -# else - /* dll declares get defined in xsldbgwin32config.h *nix based machines */ -# include "xsldbgwin32config.h" -# endif -#else - /* we don't need to use dll declares for risc_os*/ -# define XSLDBG_SO_API -# include "config_riscos.h" -# include "libxml/riscos.h" -#endif - -#include <libxslt/xsltconfig.h> - - -#if !defined (FORCE_DEBUGGER) && (LIBXSLT_VERSION > 10019) -# ifndef WITH_XSLT_DEBUGGER -# ifndef WITH_DEBUGGER -# error "WITH_DEBUGGER MACRO not defined in libxslt maybe you've disable debugger in libxslt." \ - "if your are sure then disable this check by defining WITH_FORCE_DEBUGGER. eg.\n" \ - "\nmake CFLAGS=\"$CFLAGS -D FORCE_DEBUGGER\"" -# endif -# endif -#endif - -#ifdef WITH_XSLDBG_DEBUG - -#ifndef WITH_XSLDBG_DEBUG_PROCESS -#define WITH_XSLDBG_DEBUG_PROCESS -#endif - -#ifndef WITH_XSLDBG_DEBUG_BREAKPOINTS -#define WITH_XSLDBG_DEBUG_BREAKPOINTS -#endif - -#endif /* end of WITH_XSL_DEBUG */ - - -#include <libxslt/xslt.h> -#include <libexslt/exslt.h> -#include <libxslt/xsltutils.h> - -#include <tqstring.h> -#include <tdelocale.h> - -#include "breakpoint.h" - - -#endif /* BUILD_DOCS */ - - -#ifdef __cplusplus -extern "C" { -#endif - - -#ifdef USE_GNOME_DOCS - -/** - * xsldbgLoadStylesheet: - * - * Load the stylesheet and return it - * - * Returns the stylesheet after reloading it if successful - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Load the stylesheet and return it - * - * @returns The stylesheet after reloading it if successful - * NULL otherwise - */ -#endif -#endif - xsltStylesheetPtr xsldbgLoadStylesheet(void); - - -#ifdef USE_GNOME_DOCS - -/** - * xsldbgLoadXmlData: - * - * Load the xml data file and return it - * - * Returns the data file after reloading it if successful - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Load the xml data file and return it - * - * @returns The stylesheet after reloading it if successful - * NULL otherwise - */ -#endif -#endif - xmlDocPtr xsldbgLoadXmlData(void); - - -#ifdef USE_GNOME_DOCS - -/** - * xsldbgLoadXmlTemporary: - * @path: The name of temporary file to load - * - * Load the temporary data file and return it - * - * Returns The temporary file after reloading it if successful, - * NULL otherwise - */ -#else -#ifdef USE_KDE_DOCS - -/** - * Load the temporary data file and return it - * - * @returns The temporary file after reloading it if successful, - * NULL otherwise - * @param path The name of temporary file to loa - */ -#endif -#endif - xmlDocPtr xsldbgLoadXmlTemporary(const xmlChar * path); - - -void xsldbgGenericErrorFunc(void *ctx, const char *msg, ...) -#ifdef __GNUC__ - __attribute__ ( ( format ( printf, 2, 3 ) ) ) -#endif -; -int xsldbgMain(int argc, char **argv); - -#ifdef __cplusplus -} -#endif - -void xsldbgGenericErrorFunc(TQString const &text); -TQString xsldbgUrl(const char *utf8Url); -TQString xsldbgUrl(const xmlChar *utf8Url); -TQString xsldbgText(const char *utf8Text); -TQString xsldbgText(const xmlChar *utf8Text); - -#endif diff --git a/kxsldbg/kxsldbgpart/libxsldbg/xsldbgevent.h b/kxsldbg/kxsldbgpart/libxsldbg/xsldbgevent.h deleted file mode 100644 index 9d2c087e..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/xsldbgevent.h +++ /dev/null @@ -1,306 +0,0 @@ - -/*************************************************************************** - xsldbgevent.h - event to notify app of - data from xsldbg - ------------------- - begin : Fri Feb 1 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - - -#ifndef XSLDBGEVENT_H -#define XSLDBGEVENT_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#if defined WIN32 -#include <libxsldbg/xsldbgwin32config.h> -#endif - -#include <tqevent.h> -#include <tqptrlist.h> - -#include "xsldbgmsg.h" - -/* how many columns do we have */ -#define XSLDBGEVENT_COLUMNS 4 - -class XsldbgDebuggerBase; -class XsldbgEventData; - -class XsldbgEventDataList : public TQGList -{ -public: - XsldbgEventDataList(void) {} - XsldbgEventDataList( const XsldbgEventDataList &l ) : TQGList(l) {} - ~XsldbgEventDataList(void) { clear(); } - XsldbgEventDataList &operator=(const XsldbgEventDataList &l) - { return (XsldbgEventDataList&)TQGList::operator=(l); } - bool operator==( const XsldbgEventDataList &list ) const - { return TQGList::operator==( list ); } - uint count(void) const { return TQGList::count(); } - bool isEmpty(void) const { return TQGList::count() == 0; } - bool insert( uint i, const XsldbgEventData *d){ return TQGList::insertAt(i,(TQPtrCollection::Item)d); } - void inSort( const XsldbgEventData *d ) { TQGList::inSort((TQPtrCollection::Item)d); } - void prepend( const XsldbgEventData *d ) { TQGList::insertAt(0,(TQPtrCollection::Item)d); } - void append( const XsldbgEventData *d ) { TQGList::append((TQPtrCollection::Item)d); } - bool remove( uint i ) { return TQGList::removeAt(i); } - bool remove(void) { return TQGList::remove((TQPtrCollection::Item)0); } - bool remove( const XsldbgEventData *d ) { return TQGList::remove((TQPtrCollection::Item)d); } - bool removeRef( const XsldbgEventData *d ) { return TQGList::removeRef((TQPtrCollection::Item)d); } - void removeNode( TQLNode *n ) { TQGList::removeNode(n); } - bool removeFirst(void) { return TQGList::removeFirst(); } - bool removeLast(void) { return TQGList::removeLast(); } - XsldbgEventData *take( uint i ) { return (XsldbgEventData *)TQGList::takeAt(i); } - XsldbgEventData *take(void) { return (XsldbgEventData *)TQGList::take(); } - XsldbgEventData *takeNode( TQLNode *n ) { return (XsldbgEventData *)TQGList::takeNode(n); } - void clear(void) { TQGList::clear(); } - void sort(void) { TQGList::sort(); } - int find( const XsldbgEventData *d ) { return TQGList::find((TQPtrCollection::Item)d); } - int findNext( const XsldbgEventData *d ) { return TQGList::find((TQPtrCollection::Item)d,false); } - int findRef( const XsldbgEventData *d ) { return TQGList::findRef((TQPtrCollection::Item)d); } - int findNextRef( const XsldbgEventData *d ){ return TQGList::findRef((TQPtrCollection::Item)d,false);} - uint contains( const XsldbgEventData *d ) const { return TQGList::contains((TQPtrCollection::Item)d); } - uint containsRef( const XsldbgEventData *d ) const - { return TQGList::containsRef((TQPtrCollection::Item)d); } - XsldbgEventData *at( uint i ) { return (XsldbgEventData *)TQGList::at(i); } - int at(void) const { return TQGList::at(); } - XsldbgEventData *current(void) const { return (XsldbgEventData *)TQGList::get(); } - TQLNode *currentNode(void) const { return TQGList::currentNode(); } - XsldbgEventData *getFirst(void) const { return (XsldbgEventData *)TQGList::cfirst(); } - XsldbgEventData *getLast(void) const { return (XsldbgEventData *)TQGList::clast(); } - XsldbgEventData *first(void) { return (XsldbgEventData *)TQGList::first(); } - XsldbgEventData *last(void) { return (XsldbgEventData *)TQGList::last(); } - XsldbgEventData *next(void) { return (XsldbgEventData *)TQGList::next(); } - XsldbgEventData *prev(void) { return (XsldbgEventData *)TQGList::prev(); } - void toVector( TQGVector *vec )const{ TQGList::toVector(vec); } -private: - void deleteItem( TQPtrCollection::Item d ); -}; - - - - - - -/** - * This class is used to convert a message from xsldbg into a simple data type - * - * @short convertor of xsldbg message to a data class - * - * @author Keith Isdale <k_isdale@tpg.com.au> - */ -class XsldbgEventData { - - public: - XsldbgEventData(void); - ~XsldbgEventData(void); - - - /** - * Set the text for the column specified - * - * @param column 0 =< @p column < XSLDBGEVENT_COLUMNS - * @param text The text value to store in column indicated - */ - void setText(int column, TQString text); - - - /** - * Get the text from the column specified - * - * @returns TQString() if invalid column number - * - * @param column 0 =< @p column < XSLDBGEVENT_COLUMNS - * - */ - TQString getText(int column); - - - /** - * Set the integer value for the column specified - * - * @param column 0 =< @p column < XSLDBGEVENT_COLUMNS - * @param value The value to store in column indicated - */ - void setInt(int column, int value); - - - /** - * Get the integer value from the column specified - * - * @returns -1 if invalid column number - * - * @param column 0 =< @p column < XSLDBGEVENT_COLUMNS - * - */ - int getInt(int column); - - private: - /** Below are the messages that this class will support - Values are mapped left to right ie the first TQString value maps - to textValues[0], the second mapps to textValues[1] - the third maps to textValues[2] etc.. */ - TQString textValues[XSLDBGEVENT_COLUMNS]; - - /** - Both int and bool values are mapped to intValues in the same manner as - stated above */ - int intValues[XSLDBGEVENT_COLUMNS]; - - /** - - - - - - The message/signal types supported - - - - - - */ - // /** line number and/or file name changed */ - // void lineNoChanged(TQString /* fileName */, int /* lineNumber */, bool /* breakpoint */); - // These data items are mapped to attributes of this class with the same name - - - // /** Show a message in debugger window */ - // void showMessage(TQString /* msg*/); - // These data item is mapped to the text attribute - - - // /** Add breakpoint to view, First parameter is TQString() - // to indicate start of breakpoint list notfication */ - // void breakpointItem(TQString /* fileName*/, int /* lineNumber */, TQString /*templateName*/, - // bool /* enabled */, int /* id */); - // These data items are mapped to attributes of this class with the same name - - - // /** Add global variable to view, First parameter is TQString() - // to indicate start of global variable list notfication */ - // void globalVariableItem(TQString /* name */, TQString /* fileName */, int /* lineNumber */); - // These data items are mapped to attributes of this class with the same name - - - // /** Add local variable to view, First parameter is TQString() - // to indicate start of local variable list notfication */ - // void localVariableItem(TQString /*name */, TQString /* templateContext*/, - // TQString /* fileName */, int /*lineNumber */); - // These data items are mapped to attributes of this class with the same name - - - // /** Add template to view, First parameter is TQString() - // to indicate start of template list notfication */ - // void templateItem(TQString /* name*/, TQString /*mode*/, TQString /* fileName */, int /* lineNumber */); - - // /** Add source to view, First parameter is TQString() - // to indicate start of source list notfication */ - // void sourceItem(TQString /* fileName */, TQString /* parentFileName */, int /*lineNumber */); - - // /** Add parameter to view, First parameter is TQString() - // to indicate start of parameter list notfication */ - // void parameterItem(TQString /* name*/, TQString /* value */); - - // /** Add callStack to view, First parameter is TQString() - // to indicate start of callstack list notfication */ - // void callStackItem(TQString /* tempalteName*/, TQString /* fileName */, int /* lineNumber */); - - // /** Add entity to view, First parameter is TQString() - // to indicate start of entity list notfication */ - // void entityItem(TQString /*SystemID*/, TQString /*PublicID*/); - - // /* Show the URI for SystemID or PublicID requested */ - // void resolveItem(TQString /*URI*/); - - // /* Display a integer option value First parameter is TQString() - // to indicate start of option list notification */ - // void intOptionItem(TQString /* name*/, int /* value */); - - // /* Display a string option value. First parameter is TQString() - // to indicate start of option list notification */ - // void stringOptionItem(TQString /* name*/, TQString /* value */); - -}; - - -/** - * This class is posted to the applications event queue. When the application - * has time to process the event this class then aids in emitting - * the relavant signals for the event. - * - * @short Emit signals to QT application via debugger base class - * - * @author Keith Isdale <k_isdale@tpg.com.au> - */ -class XsldbgEvent : public TQEvent { - - public: - XsldbgEvent(XsldbgMessageEnum type, const void *data); - ~XsldbgEvent(void); - - /** Main control for emitting messages, use this from the application - inside its event processing function */ - void emitMessage(XsldbgDebuggerBase *debugger); - - /** Emit a single message. It uses handleXXX to do the actual emitting - of signal from debugger */ - void emitMessage(XsldbgEventData *eventData); - - private: - /** Create the XsldbgEventData for this message. Is used by our constructor - it uses handleXXX function to fill in the approriate values in - the XsldbgEventData provided */ - XsldbgEventData * createEventData(XsldbgMessageEnum type, const void *msgData); - - /** The following functions are directly related to the eventual signals that - will be emitted ie the signal - lineNoChanged(TQString, int bool) - is mapped to - handleLineNoChanged(XsldbgEventData *, void *) - */ - void handleLineNoChanged(XsldbgEventData *eventData, const void *msgData); - void handleShowMessage(XsldbgEventData *eventData, const void *msgData); - void handleBreakpointItem(XsldbgEventData *eventData, const void *msgData); - void handleGlobalVariableItem(XsldbgEventData *eventData, const void *msgData); - void handleLocalVariableItem(XsldbgEventData *eventData, const void *msgData); - void handleTemplateItem(XsldbgEventData *eventData, const void *msgData); - void handleSourceItem(XsldbgEventData *eventData, const void *msgData); - void handleIncludedSourceItem(XsldbgEventData *eventData, const void *msgData); - void handleParameterItem(XsldbgEventData *eventData, const void *msgData); - void handleCallStackItem(XsldbgEventData *eventData, const void *msgData); - void handleEntityItem(XsldbgEventData *eventData, const void *msgData); - void handleResolveItem(XsldbgEventData *eventData, const void *msgData); - void handleIntOptionItem(XsldbgEventData *eventData, const void *msgData); - void handleStringOptionItem(XsldbgEventData *eventData, const void *msgData); - - - private: - - /** What type is the items in list */ - XsldbgMessageEnum itemType; - - /** A flag that gets set once the list has been filled with approriate - XsldbgEventData */ - bool beenCreated; - - /** This is a volitile value that is only valid for the duration - of the constuctor. It will be set to 0L immediately after */ - const void *data; - - /** This is a volitile value only valid for duration of emitMessage - function. It will be set to 0L imedediately after */ - XsldbgDebuggerBase *debugger; - - /** This is the data associated with this event - each data item in the list will be of the type required - by the "type" this event - */ - class XsldbgEventDataList list; - }; - - - - -#endif diff --git a/kxsldbg/kxsldbgpart/libxsldbg/xsldbgio.h b/kxsldbg/kxsldbgpart/libxsldbg/xsldbgio.h deleted file mode 100644 index 81ced500..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/xsldbgio.h +++ /dev/null @@ -1,45 +0,0 @@ - -/*************************************************************************** - xsldbgio.h - declare user input functions - ------------------- - begin : Sun Dec 23 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef XSLDBGIO_H -#define XSLDBGIO_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifndef BUILD_DOCS -#include <libxml/tree.h> /* needed for definition of xmlChar */ -#endif - -/** - * xslShellReadline: - * @prompt: the prompt value - * - * Read a string - * - * Returns a copy of the text inputed or NULL if EOF in stdin found. - * The caller is expected to free the returned string. - */ -xmlChar *xslDbgShellReadline(xmlChar * prompt); - - -#define DEBUG_BUFFER_SIZE 500 /*used by xslDbgShell */ - - -#endif diff --git a/kxsldbg/kxsldbgpart/libxsldbg/xsldbgmsg.cpp b/kxsldbg/kxsldbgpart/libxsldbg/xsldbgmsg.cpp deleted file mode 100644 index 9f95d353..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/xsldbgmsg.cpp +++ /dev/null @@ -1,119 +0,0 @@ - -/*************************************************************************** - xsldbg.cpp - send message to console or KXSLDbg - ------------------- - begin : Mon April 26 2004 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "xsldbg.h" - -#include <libxslt/xsltutils.h> - -#ifdef HAVE_READLINE -#include <readline/readline.h> -#ifdef HAVE_HISTORY -#include <readline/history.h> -#endif -#endif - -#include "xsldbgmsg.h" -#include "xsldbgio.h" -#include "options.h" - -static int (*notifyXsldbgAppFuncPtr) (XsldbgMessageEnum type, const void *data) = 0; - -static int (*notifyStateXsldbgAppFuncPtr)(XsldbgMessageEnum type, int commandId, - XsldbgCommandStateEnum commandState, - const char *text) = 0; - -static int (*notifyTextXsldbgAppFuncPtr)(XsldbgMessageEnum type, const char *text) = 0; -static xmlChar * (*xslDbgShellReadlineFuncPtr)(xmlChar * prompt) = 0; - - -#ifdef __cplusplus -extern "C" { -#endif - -void xsldbgSetAppFunc(int (*notifyXsldbgAppFunc) (XsldbgMessageEnum type, const void *data)) -{ - notifyXsldbgAppFuncPtr = notifyXsldbgAppFunc; -} - -void xsldbgSetAppStateFunc(int (*notifyStateXsldbgAppFunc)(XsldbgMessageEnum type, int commandId, - XsldbgCommandStateEnum commandState, - const char *text)) -{ - notifyStateXsldbgAppFuncPtr = notifyStateXsldbgAppFunc; -} - - -void xsldbgSetTextFunc(int (*notifyTextXsldbgAppFunc)(XsldbgMessageEnum type, const char *text)) -{ - notifyTextXsldbgAppFuncPtr = notifyTextXsldbgAppFunc; -} - -void xsldbgSetReadlineFunc(xmlChar * (*xslDbgShellReadlineFunc)(xmlChar * prompt)) -{ - xslDbgShellReadlineFuncPtr = xslDbgShellReadlineFunc; -} - -int notifyXsldbgApp(XsldbgMessageEnum type, const void *data) -{ - if (!notifyXsldbgAppFuncPtr) - return 1; - else - return (notifyXsldbgAppFuncPtr)(type, data); -} - -int notifyStateXsldbgApp(XsldbgMessageEnum type, int commandId, - XsldbgCommandStateEnum commandState, const char *text) -{ - if (!notifyStateXsldbgAppFuncPtr) - return 1; - else - return (notifyStateXsldbgApp)(type, commandId, commandState, text); -} - -int notifyTextXsldbgApp(XsldbgMessageEnum type, const char *text) -{ - if (!notifyTextXsldbgAppFuncPtr) - return 1; - else - return (notifyTextXsldbgAppFuncPtr)(type, text); -} - - -/* use this function instead of the one that was in debugXSL.c */ -/** - * xslShellReadline: - * @prompt: the prompt value - * - * Read a string - * - * Returns a copy of the text inputed or NULL if EOF in stdin found. - * The caller is expected to free the returned string. - */ -xmlChar * -xslDbgShellReadline(xmlChar * prompt) -{ - - if (!xslDbgShellReadlineFuncPtr) - return 0; - else - return (xslDbgShellReadlineFuncPtr)(prompt); -} - -#ifdef __cplusplus -} -#endif diff --git a/kxsldbg/kxsldbgpart/libxsldbg/xsldbgmsg.h b/kxsldbg/kxsldbgpart/libxsldbg/xsldbgmsg.h deleted file mode 100644 index 9d953d87..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/xsldbgmsg.h +++ /dev/null @@ -1,214 +0,0 @@ - -/*************************************************************************** - xsldbgmsg.h - description - ------------------- - begin : Thu Dec 20 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef XSLDBGMSG_H -#define XSLDBGMSG_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifdef WIN32 -# include <libxsldbg/xsldbgwin32config.h> -#else -# ifndef XSLDBG_SO_API -# define XSLDBG_SO_API -# endif -#endif - -#ifndef BUILD_DOCS -#include <libxml/tree.h> /* needed for the definition of xmlChar */ -#include "arraylist.h" -#endif - -typedef enum { - /* thread status */ - XSLDBG_MSG_THREAD_NOTUSED, /* 0: Thread are not to be used */ - XSLDBG_MSG_THREAD_INIT, /* 1: The xsldbg thread is initializing */ - XSLDBG_MSG_THREAD_RUN, /* 2: The xsldbg thread is running */ - XSLDBG_MSG_THREAD_STOP, /* 3: The xsldbg thread is about to die */ - XSLDBG_MSG_THREAD_DEAD, /* 4: The xsldbg thread died */ - - /* input status ( once thread is running) */ - XSLDBG_MSG_AWAITING_INPUT, /* 5: Waiting for user input */ - XSLDBG_MSG_READ_INPUT, /* 6: Read user input */ - XSLDBG_MSG_PROCESSING_INPUT, /* 7: Processing user's request */ - - /* provide more informatiom about state of xsldbg (optional) */ - XSLDBG_MSG_PROCESSING_RESULT, /* 8: An error occured performing command - * requested command */ - XSLDBG_MSG_LINE_CHANGED, /* 9: Changed to new line number - * ie a step */ - XSLDBG_MSG_FILE_CHANGED, /* 10: Loaded source/data file */ - XSLDBG_MSG_BREAKPOINT_CHANGED, /* 11: Response to a showbreak command */ - XSLDBG_MSG_PARAMETER_CHANGED, /* 12: Response to showparam command */ - XSLDBG_MSG_TEXTOUT, /* 13 : Free form text from xsldg */ - XSLDBG_MSG_FILEOUT, /* 14 : Response to cat commmand, ie - * Free form text in file */ - XSLDBG_MSG_LOCALVAR_CHANGED, /* 15 : Response to locals command ie a - * local variable */ - XSLDBG_MSG_GLOBALVAR_CHANGED, /* 16 : Response to globals command - * ie a global variable */ - XSLDBG_MSG_TEMPLATE_CHANGED, /* 17 : Response to templates commmand - * ie template details */ - XSLDBG_MSG_SOURCE_CHANGED, /* 18 : Response to stylesheets command, - * a normal stylesheet */ - XSLDBG_MSG_INCLUDED_SOURCE_CHANGED, /* 19: Response to stylesheets - * command, a xmlNodeptr of - * a included stylesheet */ - XSLDBG_MSG_CALLSTACK_CHANGED, /* 20: Response to where command, - * ie a item on the call stack */ - XSLDBG_MSG_ENTITIY_CHANGED, /* 21: Response to entities - * command */ - XSLDBG_MSG_RESOLVE_CHANGE, /* 22: Response to system or - * public command */ - XSLDBG_MSG_LIST, /* 23 : As list of messages */ - - XSLDBG_MSG_INTOPTION_CHANGE, /* 23* Response to options command */ - XSLDBG_MSG_STRINGOPTION_CHANGE, /* 24* Response to options command */ - XSLDBG_MSG_ERROR_MESSAGE /* 25: Entercepted error message from libxml2 */ -} XsldbgMessageEnum; - - -typedef enum { - XSLDBG_COMMAND_FAILED, /* generic error */ - XSLDBG_COMMAND_WARNING, - XSLDBG_COMMAND_INFO, - XSLDBG_COMMAND_NOTUSED -} XsldbgCommandStateEnum; - - - -/** - * Notify the application that something happened to the xsldbg thread - * - * @param type : A valid XsldbgMessageEnum - * - * @param data : The meaning of data can have a different meaning for each value of @type - *<pre> - * Value of @type Meaning of @data - * -------------------------- +++ --------------------- - * XSLDBG_MSG_THREAD_NOTUSED, not used - * XSLDBG_MSG_THREAD_INIT, not used - * XSLDBG_MSG_THREAD_RUN, not used - * XSLDBG_MSG_THREAD_STOP, not used - * XSLDBG_MSG_THREAD_DEAD, not used - * XSLDBG_MSG_AWAITING_INPUT, not used - * XSLDBG_MSG_READ_INPUT, A value of the char* for user input - * XSLDBG_MSG_PROCESSING_INPUT, not used - * XSLDBG_MSG_PROCESSING_RESULT, A value of type xsldbgErrorMsgPtr - * XSLDBG_MSG_LINE_CHANGED Is non-NULL if reached breakpoint - * otherwise just change in line number - * of displayed source/data - * XSLDBG_MSG_FILE_CHANGED, not used - * XSLDBG_MSG_BREAKPOINT_CHANGED A breakPointPtr of the breakpoint - * XSLDBG_MSG_PARAMETER_CHANGED A parameterItemPtr of libxslt pameter. - * XSLDBG_MSG_TEXTOUT A char * to buffer for text output - * XSLDBG_MSG_FILEOUT A FILE * for text to output - * XSLDBG_MSG_LOCALVAR_CHANGED, A local variable of type xsltStackElemPtr - * XSLDBG_MSG_GLOBALVAR_CHANGED, A global variable of type xsltStackElemPtr - * XSLDBG_MSG_TEMPLATE_CHANGED, A template of type xsltTemplatePtr - * XSLDBG_MSG_SOURCE_CHANGED, A xsltStylesheetPtr of a normal stylesheet - * XSLDBG_MSG_INCLUDED_SOURCE_CHANGED A xmlNodePtr of a included stylsheet - * XSLDBG_MSG_CALLSTACK_CHANGED A callPointPtr of a call stack item - * XSLDBG_MSG_ENTITIY_CHANGED A const entityInfoPtr - * for the included entity - * XSLDBG_MSG_RESOLVE_CHANGE A xmlChar* of URI that - * SystemID or PublicID resolves to - * XSLDBG_MSG_LIST A notifyMessageListPtr - * - * XSLDBG_MSG_INTOPTION_CHANGE A paramItemPtr, value is not used - * XSLDBG_MSG_STRINGOPTION_CHANGE A paramItemPtr, intValue is not used - * XSLDBG_MSG_ERROR_MESSAGE A xmlErrorPtr - * - * - * Legend : - * not used :- value may be NULL but must not be used - * - * All values are to treated as volitile and are only guaranteed - * to be valid for the life of the notification messages. ie make a - * NEW copy of value if needed for longer than that. - * Unless stated otherwise, if reponse can return a value and the value is - * NULL then that indicates the start of a list of values - * - *<pre> - * @returns 1 on sucess - * 0 otherwise -*/ - -typedef struct _xsldbgErrorMsg xsldbgErrorMsg; -typedef xsldbgErrorMsg *xsldbgErrorMsgPtr; -struct _xsldbgErrorMsg { - XsldbgMessageEnum type; - int commandId; - XsldbgCommandStateEnum commandState; - xmlChar *text; - xmlChar *messagefileName; /* used when send large chunks of data */ -}; - - -typedef struct _notifyMessageList notifyMessageList; -typedef notifyMessageList *notifyMessageListPtr; -struct _notifyMessageList { - XsldbgMessageEnum type; - arrayListPtr list; -}; - -#ifdef __cplusplus -extern "C" { -#endif - -void xsldbgSetAppFunc(int (*notifyXsldbgAppFunc) (XsldbgMessageEnum type, const void *data)); - -void xsldbgSetAppStateFunc(int (*notifyStateXsldbgAppFunc)(XsldbgMessageEnum type, int commandId, - XsldbgCommandStateEnum commandState, - const char *text)); - -void xsldbgSetTextFunc(int (*notifyTextXsldbgAppFunc)(XsldbgMessageEnum type, const char *text)); - -void xsldbgSetReadlineFunc(xmlChar * (*xslDbgShellReadlineFunc)(xmlChar * prompt)); - -int notifyXsldbgApp(XsldbgMessageEnum type, const void *data); - -int notifyStateXsldbgApp(XsldbgMessageEnum type, int commandId, - XsldbgCommandStateEnum commandState, - const char *text); - -int notifyTextXsldbgApp(XsldbgMessageEnum type, const char *text); - -xmlChar * xslDbgShellReadline(xmlChar * prompt); - - - /* The following functions implemented in xsldbgthread.c */ - int notifyListStart(XsldbgMessageEnum type); - - /* Data must be valid for until the next notifyListStart. - * Memory pointed to by @data will not be freed. Added @data items - * queued to list must be of the same data type as required by the - * XsldbgMessageEnum used with the matching notifyListSend */ - int notifyListQueue(const void *data); - - /* The notified application is responsible for free memory used - * by the ArrayList and notifyMessageList of notify message */ - int notifyListSend(void); - - -#ifdef __cplusplus -} -#endif -#endif diff --git a/kxsldbg/kxsldbgpart/libxsldbg/xsldbgnotifier.h b/kxsldbg/kxsldbgpart/libxsldbg/xsldbgnotifier.h deleted file mode 100644 index 5c5aaeac..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/xsldbgnotifier.h +++ /dev/null @@ -1,48 +0,0 @@ - -/*************************************************************************** - xsldbgnotifier.h - description - ------------------- - begin : Thu Dec 20 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef XSLDBGNOTIFIER_H -#define XSLDBGNOTIFIER_H - -#include "xsldbgmsg.h" - -#ifndef __cplusplus -#error "Must only be used with a c++ compiler" -#endif - - - -/** - *@author keith - */ - -class XsldbgNotifier { - public: - XsldbgNotifier(void); - virtual ~ XsldbgNotifier(void); - - virtual void doNotify(XsldbgMessageEnum type, const void *data); -}; - - - -/* get the notifer */ -void setNotifier(XsldbgNotifier * notifier); - - -#endif diff --git a/kxsldbg/kxsldbgpart/libxsldbg/xsldbgthread.cpp b/kxsldbg/kxsldbgpart/libxsldbg/xsldbgthread.cpp deleted file mode 100644 index ecb94052..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/xsldbgthread.cpp +++ /dev/null @@ -1,184 +0,0 @@ - -/*************************************************************************** - xsldbgthread.c - basic thread support - ------------------- - begin : Thu Dec 20 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - - -#include "xsldbg.h" -#include "breakpoint.h" -#include "options.h" - -#include "xsldbgmsg.h" -#include "xsldbgthread.h" - -static void (*cleanupFuncPtr)(void) = 0; -static int threadStatus = XSLDBG_MSG_THREAD_NOTUSED; -static int inputStatus = XSLDBG_MSG_AWAITING_INPUT; - -/* is xsldbg ready for input from the application */ -static int inputReady = 0; - -/* Is the application ready for a notification message */ -static int appReady = 0; - -static notifyMessageListPtr notifyList; - -arrayListPtr msgList = NULL; - -int -getAppReady(void) -{ - return appReady; -} - -void -setAppReady(int ready) -{ - appReady = ready; -} - - -/* the compiler will optimize this function to inline and to keep variable private*/ -int -getInputStatus(void) -{ - return inputStatus; -} - -void -setInputStatus(XsldbgMessageEnum type) -{ - switch (type) { - case XSLDBG_MSG_AWAITING_INPUT: /* Waiting for user input */ - case XSLDBG_MSG_READ_INPUT: /* Read user input */ - case XSLDBG_MSG_PROCESSING_INPUT: /* Processing user's request */ - inputStatus = type; - break; - - default: - printf("Invalid input status %d\n", type); - } -} - - -/* the compiler will optimize this function to inline and to keep variable private*/ -int -getThreadStatus(void) -{ - return threadStatus; -} - -/* reset the status to @p type */ -void -setThreadStatus(XsldbgMessageEnum type) -{ - switch (type) { - case XSLDBG_MSG_THREAD_NOTUSED: - case XSLDBG_MSG_THREAD_INIT: - case XSLDBG_MSG_THREAD_RUN: - threadStatus = type; - break; - - case XSLDBG_MSG_THREAD_STOP: - case XSLDBG_MSG_THREAD_DEAD: - xslDebugStatus = DEBUG_QUIT; - threadStatus = type; - break; - - default: - printf("Invalid thread status %d\n", type); - } -} - - -/* Is input ready yet */ -int -getInputReady(void) -{ - return inputReady; -} - -/* set/clear flag that indicates if input is ready*/ -void -setInputReady(int value) -{ - inputReady = value; -} - - - -int -notifyListStart(XsldbgMessageEnum type) -{ - int result = 0; - - switch (type) { - case XSLDBG_MSG_INTOPTION_CHANGE: - case XSLDBG_MSG_STRINGOPTION_CHANGE: - msgList = - arrayListNew(10, (freeItemFunc) optionsParamItemFree); - break; - - default: - msgList = arrayListNew(10, NULL); - } - - notifyList = - (notifyMessageListPtr) xmlMalloc(sizeof(notifyMessageList)); - if (notifyList && msgList) { - notifyList->type = type; - notifyList->list = msgList; - result = 1; - } - - return result; -} - -int -notifyListQueue(const void *data) -{ - int result = 0; - - if (msgList) { - arrayListAdd(msgList, (void *) data); - result = 1; - } - return result; -} - - -int -notifyListSend(void) -{ - int result = 0; - - if (notifyList && msgList) { - notifyXsldbgApp(XSLDBG_MSG_LIST, notifyList); - result = 1; - } - return result; -} - -void xsldbgSetThreadCleanupFunc(void (*cleanupFunc)(void)) -{ - cleanupFuncPtr = cleanupFunc; -} - -void xsldbgThreadCleanup(void) -{ - if (cleanupFuncPtr != 0) - (cleanupFuncPtr)(); -} diff --git a/kxsldbg/kxsldbgpart/libxsldbg/xsldbgthread.h b/kxsldbg/kxsldbgpart/libxsldbg/xsldbgthread.h deleted file mode 100644 index f0c4a56b..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/xsldbgthread.h +++ /dev/null @@ -1,94 +0,0 @@ - -/*************************************************************************** - xsldbgthread.h - description - ------------------- - begin : Thu Dec 20 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef XSLDBGTHREAD_H -#define XSLDBGTHREAD_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#if defined WIN32 -#include <libxsldbg/xsldbgwin32config.h> -#endif - - -#ifndef BUILD_DOCS -#include <libxml/xmlmemory.h> -#include <libxml/tree.h> - -#include "xsldbgmsg.h" -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - - int getAppReady(void); - - void setAppReady(int ready); - - int getInputStatus(void); - - void setInputStatus(XsldbgMessageEnum type); - - int getThreadStatus(void); - - void setThreadStatus(XsldbgMessageEnum type); - - void *xsldbgThreadMain(void *data); - - int xsldbgMain(int argc, char **argv); - - int xsldbgThreadInit(void); - - void xsldbgThreadFree(void); - - /* thread has died so cleanup after it */ - void xsldbgThreadCleanup(void); - void xsldbgSetThreadCleanupFunc(void (*cleanupFunc)(void)); - - const char *getFakeInput(void); - - int fakeInput(const char *text); - - /* Is input ready yet */ - int getInputReady(void); - - /* set/clear flag that indicates if input is ready */ - void setInputReady(int value); - - xmlChar *xslDbgShellReadline(xmlChar * prompt); - - - - /* This is implemented by xsldbg.c */ - -/** - * xsldbgFree: - * - * Free memory used by xsldbg - */ - void xsldbgFree(void); - - -#ifdef __cplusplus -} -#endif -#endif diff --git a/kxsldbg/kxsldbgpart/qxsldbgdoc.cpp b/kxsldbg/kxsldbgpart/qxsldbgdoc.cpp deleted file mode 100644 index 1b7580ca..00000000 --- a/kxsldbg/kxsldbgpart/qxsldbgdoc.cpp +++ /dev/null @@ -1,162 +0,0 @@ -/** - File : qxsldbgdoc.cpp - Author : Keith Isdale - Date : 19th April 2002 - Description : The document to handle source and breakpoints - */ - -#include "qxsldbgdoc.h" -#include <tdetexteditor/markinterface.h> -#include <tdetexteditor/editorchooser.h> -#include <tqfile.h> -#include <tqdir.h> -#include <tqtextstream.h> -#include <tqptrlist.h> - - -QXsldbgDoc::QXsldbgDoc(TQWidget *parent, KURL url) - : TQObject(0L, "QXsldbgDoc"), kDoc(0L),kView(0L), locked(false) -{ - kDoc = KTextEditor::createDocument("libkatepart", 0L,"KTextEditor::Document"); - connect(kDoc, TQ_SIGNAL(started(TDEIO::Job *)), this, TQ_SLOT(lockDoc())); - connect(kDoc, TQ_SIGNAL(completed()), this, TQ_SLOT(unlockDoc())); - if (kDoc){ - kView = kDoc->createView(parent, "QXsldbgDocView"); - KURL cleanUrl; - // convert paths relative to PWD into a absolute path - TQString relUrl = url.prettyURL(); - if (!relUrl.contains(":/")){ - if (!(relUrl.left(1) == "/")) - relUrl.prepend(TQDir::currentDirPath() + "/"); - cleanUrl.setFileName(relUrl); - }else{ - cleanUrl = url; - } - kDoc->openURL(cleanUrl); - } -} - - -QXsldbgDoc::~QXsldbgDoc() -{ - if (kDoc){ - if (kDoc->views().count() == 1){ - kDoc->closeURL(false); - delete kDoc; - } - } -} - -void QXsldbgDoc::slotResult( TDEIO::Job *job ) -{ - if ( job->error() != 0 ){ - }else{ - } - emit docChanged(); -} - -KURL QXsldbgDoc::url() const -{ - if (kDoc) - return kDoc->url(); - else - return KURL(); -} - -void QXsldbgDoc::refresh() -{ - if (kDoc){ - KURL lastUrl = kDoc->url(); - kDoc->closeURL(false); - kDoc->openURL(lastUrl); - } -} - - -void QXsldbgDoc::enableBreakPoint(uint lineNumber, bool state) -{ - if (locked) - return; - - KTextEditor::MarkInterface *markIf = KTextEditor::markInterface(kDoc); - if (markIf){ - if (state){ - markIf->setMark(lineNumber, KTextEditor::MarkInterface::BreakpointActive); - }else{ - markIf->removeMark(lineNumber, KTextEditor::MarkInterface::BreakpointDisabled); - } - } -} - -void QXsldbgDoc::addBreakPoint(uint lineNumber, bool enabled) -{ - if (locked) - return; - - KTextEditor::MarkInterface *markIf = KTextEditor::markInterface(kDoc); - if (markIf){ - if (enabled) - markIf->setMark(lineNumber, KTextEditor::MarkInterface::BreakpointActive); - else - markIf->setMark(lineNumber, KTextEditor::MarkInterface::BreakpointDisabled); - } -} - -void QXsldbgDoc::deleteBreakPoint(uint lineNumber) -{ - if (locked) - return; - - KTextEditor::MarkInterface *markIf = KTextEditor::markInterface(kDoc); - if (markIf) - markIf->clearMark(lineNumber); -} - - -void QXsldbgDoc::clearMarks(bool allMarkTypes) -{ - if (locked) - return; - - KTextEditor::MarkInterface *markIf = KTextEditor::markInterface(kDoc); - if (markIf){ - if (!allMarkTypes){ - TQPtrList<KTextEditor::Mark> marks = markIf->marks(); - while ( marks.current()) { - markIf->removeMark(marks.current()->line, KTextEditor::MarkInterface::Execution); - markIf->removeMark(marks.current()->line, KTextEditor::MarkInterface::BreakpointReached); - marks.next(); - } - }else { - markIf->clearMarks(); - } - } - -} - -void QXsldbgDoc::selectBreakPoint(uint lineNumber, bool reachedBreakPoint) -{ - if (locked) - return; - - clearMarks(false); - KTextEditor::MarkInterface *markIf = KTextEditor::markInterface(kDoc); - if (markIf){ - if (reachedBreakPoint){ - //markIf->setMark(lineNumber, KTextEditor::MarkInterface::BreakpointReached); - }else{ - markIf->setMark(lineNumber, KTextEditor::MarkInterface::Execution); - } - } -} - -void QXsldbgDoc::lockDoc() -{ - locked = true; -} - -void QXsldbgDoc::unlockDoc() -{ - locked = false; -} -#include "qxsldbgdoc.moc" diff --git a/kxsldbg/kxsldbgpart/qxsldbgdoc.h b/kxsldbg/kxsldbgpart/qxsldbgdoc.h deleted file mode 100644 index 8ddd8e3d..00000000 --- a/kxsldbg/kxsldbgpart/qxsldbgdoc.h +++ /dev/null @@ -1,57 +0,0 @@ -/** - 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 { - -TQ_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 diff --git a/kxsldbg/kxsldbgpart/xsldbgbreakpointlistitem.cpp b/kxsldbg/kxsldbgpart/xsldbgbreakpointlistitem.cpp deleted file mode 100644 index 05e59b8c..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgbreakpointlistitem.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/*************************************************************************** - xsldbgbreakpointlistitem.cpp - description - ------------------- - begin : Sun Jan 6 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#include <tdelocale.h> -#include "xsldbgbreakpointlistitem.h" - -XsldbgBreakpointListItem::XsldbgBreakpointListItem(TQListView *parent, - TQString fileName, int lineNumber, - TQString templateName, TQString modeName, - bool enabled, int id) - : XsldbgListItem(parent, 3, fileName, lineNumber) -{ - this->id = id; - setText(0, TQString::number(id)); - - this->templateName = templateName; - setText(1, templateName); - - this->modeName = modeName; - setText(2, modeName); - - __enabled = enabled; - if (enabled == true) - setText(5, i18n("Enabled")); - else - setText(5, i18n("Disabled")); -} - -XsldbgBreakpointListItem::~XsldbgBreakpointListItem() -{ -} - diff --git a/kxsldbg/kxsldbgpart/xsldbgbreakpointlistitem.h b/kxsldbg/kxsldbgpart/xsldbgbreakpointlistitem.h deleted file mode 100644 index b54d888a..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgbreakpointlistitem.h +++ /dev/null @@ -1,51 +0,0 @@ -/*************************************************************************** - xsldbgbreakpointlistitem.h - description - ------------------- - begin : Sun Jan 6 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#ifndef XSLDBGBREAKPOINTLISTITEM_H -#define XSLDBGBREAKPOINTLISTITEM_H - -/** - *@author Keith Isdale - */ - -#include "xsldbglistitem.h" - -class XsldbgBreakpointListItem : public XsldbgListItem { -public: - XsldbgBreakpointListItem(TQListView *parent, - TQString fileName, int lineNumber, - TQString templateName, TQString modeName, - bool enabled, int id); - ~XsldbgBreakpointListItem(); - - /** returns true if this breakpoint is enabled */ - bool getEnabled() {return __enabled; }; - - /** Returns the name of template for this breakpoiint */ - TQString getTemplateName() { return templateName;}; - TQString getModeName() {return modeName;}; - - /** Return the breakpoint's id */ - int getId() { return id;}; - -private: - TQString templateName, modeName; - bool __enabled; /*make sure the name does not clash with QT */ - int id; -}; - -#endif diff --git a/kxsldbg/kxsldbgpart/xsldbgbreakpoints.ui b/kxsldbg/kxsldbgpart/xsldbgbreakpoints.ui deleted file mode 100644 index eadfbb05..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgbreakpoints.ui +++ /dev/null @@ -1,582 +0,0 @@ -<!DOCTYPE UI><UI version="3.1" stdsetdef="1"> -<class>XsldbgBreakpoints</class> -<author>Keith Isdale <k_isdale@tpg.com.au></author> -<widget class="TQWidget"> - <property name="name"> - <cstring>XsldbgBreakpoints</cstring> - </property> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>498</width> - <height>563</height> - </rect> - </property> - <property name="caption"> - <string>Xsldbg Breakpoints</string> - </property> - <vbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <widget class="TQListView"> - <column> - <property name="text"> - <string>ID</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>Name</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>Mode</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>File Name</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>Line Number</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>Enabled</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <property name="name"> - <cstring>breakpointListView</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>3</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="toolTip" stdset="0"> - <string>Click breakpoint in list to modify or delete it</string> - </property> - </widget> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>Layout7</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>Layout6</cstring> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLabel" row="0" column="0"> - <property name="name"> - <cstring>idLabel</cstring> - </property> - <property name="text"> - <string>ID:</string> - </property> - </widget> - <widget class="TQLabel" row="4" column="0"> - <property name="name"> - <cstring>lineNumberLabel</cstring> - </property> - <property name="text"> - <string>Line number:</string> - </property> - </widget> - <widget class="TQLineEdit" row="3" column="1"> - <property name="name"> - <cstring>sourceFileEdit</cstring> - </property> - <property name="toolTip" stdset="0"> - <string>You don't need to specify directory for file name</string> - </property> - </widget> - <widget class="TQLineEdit" row="1" column="1"> - <property name="name"> - <cstring>templateNameEdit</cstring> - </property> - <property name="toolTip" stdset="0"> - <string>Template name or match name to look for</string> - </property> - </widget> - <widget class="TQLayoutWidget" row="4" column="1"> - <property name="name"> - <cstring>Layout7</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLineEdit"> - <property name="name"> - <cstring>lineNumberEdit</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="maximumSize"> - <size> - <width>60</width> - <height>32767</height> - </size> - </property> - <property name="toolTip" stdset="0"> - <string>Must be positive</string> - </property> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer10_2</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </hbox> - </widget> - <widget class="TQLayoutWidget" row="0" column="1"> - <property name="name"> - <cstring>Layout5</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLineEdit"> - <property name="name"> - <cstring>idEdit</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="maximumSize"> - <size> - <width>60</width> - <height>32767</height> - </size> - </property> - <property name="toolTip" stdset="0"> - <string>Must be positive</string> - </property> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer10</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </hbox> - </widget> - <widget class="TQLineEdit" row="2" column="1"> - <property name="name"> - <cstring>modeNameEdit</cstring> - </property> - </widget> - <widget class="TQLabel" row="2" column="0"> - <property name="name"> - <cstring>TextLabel1_2</cstring> - </property> - <property name="text"> - <string>Mode:</string> - </property> - </widget> - <widget class="TQLabel" row="1" column="0"> - <property name="name"> - <cstring>TextLabel1</cstring> - </property> - <property name="text"> - <string>Name:</string> - </property> - </widget> - <widget class="TQLabel" row="3" column="0"> - <property name="name"> - <cstring>sourceFileLabel</cstring> - </property> - <property name="text"> - <string>File name:</string> - </property> - </widget> - </grid> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer9</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Fixed</enum> - </property> - <property name="sizeHint"> - <size> - <width>81</width> - <height>20</height> - </size> - </property> - </spacer> - <spacer> - <property name="name"> - <cstring>Spacer7</cstring> - </property> - <property name="orientation"> - <enum>Vertical</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </hbox> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer8_2_2</cstring> - </property> - <property name="orientation"> - <enum>Vertical</enum> - </property> - <property name="sizeType"> - <enum>Fixed</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>layout18</cstring> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <widget class="TQPushButton" row="0" column="1"> - <property name="name"> - <cstring>deleteButton</cstring> - </property> - <property name="text"> - <string>Delete</string> - </property> - <property name="toolTip" stdset="0"> - <string>Delete breakpoint using ID</string> - </property> - </widget> - <widget class="TQPushButton" row="1" column="2"> - <property name="name"> - <cstring>PushButton5</cstring> - </property> - <property name="text"> - <string>Clear</string> - </property> - <property name="toolTip" stdset="0"> - <string>Clear entered text</string> - </property> - </widget> - <widget class="TQPushButton" row="1" column="0"> - <property name="name"> - <cstring>addAllButton</cstring> - </property> - <property name="text"> - <string>Add All</string> - </property> - <property name="toolTip" stdset="0"> - <string>Add breakpoint on all templates found</string> - </property> - </widget> - <widget class="TQPushButton" row="1" column="1"> - <property name="name"> - <cstring>deleteAllButton</cstring> - </property> - <property name="text"> - <string>Delete All</string> - </property> - <property name="toolTip" stdset="0"> - <string>Delete all breakpoints</string> - </property> - </widget> - <widget class="TQPushButton" row="0" column="2"> - <property name="name"> - <cstring>enableButton</cstring> - </property> - <property name="text"> - <string>Enable</string> - </property> - <property name="toolTip" stdset="0"> - <string>Enable breakpoint using ID</string> - </property> - </widget> - <widget class="TQPushButton" row="0" column="0"> - <property name="name"> - <cstring>addButton</cstring> - </property> - <property name="text"> - <string>Add</string> - </property> - <property name="toolTip" stdset="0"> - <string>Add breakpoint using file name with line number or a template name</string> - </property> - </widget> - </grid> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer8_2</cstring> - </property> - <property name="orientation"> - <enum>Vertical</enum> - </property> - <property name="sizeType"> - <enum>Fixed</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>Layout3</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <spacer> - <property name="name"> - <cstring>Spacer4</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQPushButton"> - <property name="name"> - <cstring>refreshBtn</cstring> - </property> - <property name="text"> - <string>Refresh</string> - </property> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer5</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </hbox> - </widget> - </vbox> -</widget> -<connections> - <connection> - <sender>breakpointListView</sender> - <signal>selectionChanged(TQListViewItem*)</signal> - <receiver>XsldbgBreakpoints</receiver> - <slot>selectionChanged(TQListViewItem*)</slot> - </connection> - <connection> - <sender>addButton</sender> - <signal>clicked()</signal> - <receiver>XsldbgBreakpoints</receiver> - <slot>slotAddBreakpoint()</slot> - </connection> - <connection> - <sender>deleteButton</sender> - <signal>clicked()</signal> - <receiver>XsldbgBreakpoints</receiver> - <slot>slotDeleteBreakpoint()</slot> - </connection> - <connection> - <sender>enableButton</sender> - <signal>clicked()</signal> - <receiver>XsldbgBreakpoints</receiver> - <slot>slotEnableBreakpoint()</slot> - </connection> - <connection> - <sender>refreshBtn</sender> - <signal>clicked()</signal> - <receiver>XsldbgBreakpoints</receiver> - <slot>refresh()</slot> - </connection> - <connection> - <sender>PushButton5</sender> - <signal>clicked()</signal> - <receiver>XsldbgBreakpoints</receiver> - <slot>slotClear()</slot> - </connection> - <connection> - <sender>addAllButton</sender> - <signal>clicked()</signal> - <receiver>XsldbgBreakpoints</receiver> - <slot>slotAddAllTemplateBreakpoints()</slot> - </connection> - <connection> - <sender>deleteAllButton</sender> - <signal>clicked()</signal> - <receiver>XsldbgBreakpoints</receiver> - <slot>slotDeleteAllBreakpoints()</slot> - </connection> -</connections> -<tabstops> - <tabstop>breakpointListView</tabstop> - <tabstop>idEdit</tabstop> - <tabstop>sourceFileEdit</tabstop> - <tabstop>lineNumberEdit</tabstop> - <tabstop>addButton</tabstop> - <tabstop>deleteButton</tabstop> - <tabstop>enableButton</tabstop> -</tabstops> -<slots> - <slot>slotClear()</slot> - <slot>refresh()</slot> - <slot>selectionChanged(TQListViewItem*)</slot> - <slot>slotAddBreakpoint()</slot> - <slot>slotDeleteBreakpoint()</slot> - <slot>slotEnableBreakpoint()</slot> - <slot>slotAddAllTemplateBreakpoints()</slot> - <slot>slotDeleteAllBreakpoints()</slot> -</slots> -<layoutdefaults spacing="6" margin="11"/> -</UI> diff --git a/kxsldbg/kxsldbgpart/xsldbgbreakpointsimpl.cpp b/kxsldbg/kxsldbgpart/xsldbgbreakpointsimpl.cpp deleted file mode 100644 index e7716a0b..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgbreakpointsimpl.cpp +++ /dev/null @@ -1,202 +0,0 @@ -/*************************************************************************** - xsldbgbreakpointsimpl.cpp - description - ------------------- - begin : Fri Jan 4 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#include <tdelocale.h> -#include <tqlistview.h> -#include <tqlineedit.h> -#include <tqmessagebox.h> -#include "xsldbgdebugger.h" -#include "xsldbgbreakpointsimpl.h" -#include "xsldbgbreakpointlistitem.h" -#include <kdebug.h> - - -XsldbgBreakpointsImpl::XsldbgBreakpointsImpl(XsldbgDebugger *debugger, - TQWidget *parent /*=0*/, const char *name /*=0*/) - : XsldbgBreakpoints(parent, name), XsldbgDialogBase() -{ - this->debugger = debugger; - connect(debugger, TQ_SIGNAL(breakpointItem(TQString /* file*/, - int /*line number */, TQString /*templateName*/, - TQString /* modeName*/, - bool /* enabled */, int /* id */)), - this, TQ_SLOT(slotProcBreakpointItem(TQString /* file*/, - int /*line number */, TQString /*templateName*/, - TQString /* modeName */, - bool /* enabled */, int /* id */))); - connect( breakpointListView, TQ_SIGNAL(selectionChanged(TQListViewItem *)), - this, TQ_SLOT(selectionChanged(TQListViewItem*))); - show(); - refresh(); -} - -XsldbgBreakpointsImpl::~XsldbgBreakpointsImpl() -{ - debugger = 0L; -} - -int XsldbgBreakpointsImpl::getLineNumber() -{ - bool isOk = false; - int lineNo = lineNumberEdit->text().toInt(&isOk); - if (isOk == false){ - lineNo = -1; - kdDebug() << "Invalid line number" << endl; - } - - return lineNo; -} - -int XsldbgBreakpointsImpl::getId() -{ - bool isOk = false; - int id = idEdit->text().toInt(&isOk); - if (isOk == false){ - id = -1; - kdDebug() << "Invalid line number" << endl; - } - - return id; -} - -void XsldbgBreakpointsImpl::slotAddBreakpoint() -{ - int lineNo = getLineNumber(); - if (lineNo != -1) { - if (!sourceFileEdit->text().isEmpty()){ - debugger->slotBreakCmd(sourceFileEdit->text(), lineNo); - }else { - TQMessageBox::information(this, i18n("Operation Failed"), - i18n("A line number was provided without a file name."), - TQMessageBox::Ok); - } - }else if (!templateNameEdit->text().isEmpty() || - !modeNameEdit->text().isEmpty()){ - debugger->slotBreakCmd(templateNameEdit->text(), - modeNameEdit->text()); - }else{ - TQMessageBox::information(this, i18n("Operation Failed"), - i18n("No details provided or an invalid line number was supplied."), - TQMessageBox::Ok); - } -} - -void XsldbgBreakpointsImpl::slotAddAllTemplateBreakpoints() -{ - if (debugger != 0L){ - debugger->fakeInput("break *", true); - debugger->fakeInput("show", true); - } -} - -void XsldbgBreakpointsImpl::slotDeleteBreakpoint() -{ - int lineNo = getLineNumber(), id = getId(); - if (id != -1){ - debugger->slotDeleteCmd(id); - }else if (lineNo != -1) { - if (!sourceFileEdit->text().isEmpty()){ - debugger->slotDeleteCmd(sourceFileEdit->text(), lineNo); - }else { - TQMessageBox::information(this, i18n("Operation Failed"), - i18n("A line number was provided without a file name."), - TQMessageBox::Ok); - } - }else { - TQMessageBox::information(this, i18n("Operation Failed"), - i18n("No details provided or an invalid line or ID was supplied."), - TQMessageBox::Ok); - } -} - -void XsldbgBreakpointsImpl::slotDeleteAllBreakpoints() -{ - if (debugger != 0L){ - debugger->fakeInput("delete *", true); - debugger->fakeInput("show", true); - } -} - -void XsldbgBreakpointsImpl::slotEnableBreakpoint() -{ - int lineNo = getLineNumber(), id = getId(); - if (id != -1){ - debugger->slotEnableCmd(id); - }else if (lineNo != -1){ - if (!sourceFileEdit->text().isEmpty()){ - debugger->slotEnableCmd(sourceFileEdit->text(), lineNo); - }else { - TQMessageBox::information(this, i18n("Operation Failed"), - i18n("A line number was provided without a file name."), - TQMessageBox::Ok); - } - }else { - TQMessageBox::information(this, i18n("Operation Failed"), - i18n("No details provided."), - TQMessageBox::Ok); - } -} - -void XsldbgBreakpointsImpl::selectionChanged(TQListViewItem *item) -{ - XsldbgBreakpointListItem *breakItem = - dynamic_cast<XsldbgBreakpointListItem*>(item); - if (breakItem){ - idEdit->setText(TQString::number(breakItem->getId())); - templateNameEdit->setText(breakItem->getTemplateName()); - modeNameEdit->setText(breakItem->getModeName()); - sourceFileEdit->setText(breakItem->getFileName()); - lineNumberEdit->setText(TQString::number(breakItem->getLineNumber())); } -} - - -void XsldbgBreakpointsImpl::refresh() -{ - /* get xsldbg to tell what breakpoints are set, - we'll get the notification back via slotProcBreakpointItem */ - debugger->fakeInput("showbreak", true); -} - - -void XsldbgBreakpointsImpl::slotClear() -{ - idEdit->setText(""); - templateNameEdit->setText(""); - modeNameEdit->setText(""); - sourceFileEdit->setText(""); - lineNumberEdit->setText(""); -} - -void XsldbgBreakpointsImpl::slotProcBreakpointItem(TQString fileName, - int lineNumber , - TQString templateName, - TQString modeName, - bool enabled, int id ) -{ - if (fileName.isNull()) - breakpointListView->clear(); - else{ - breakpointListView->insertItem( - new XsldbgBreakpointListItem(breakpointListView, - fileName, lineNumber,templateName, modeName, enabled, id)); - } -} - - - - -#include "xsldbgbreakpointsimpl.moc" diff --git a/kxsldbg/kxsldbgpart/xsldbgbreakpointsimpl.h b/kxsldbg/kxsldbgpart/xsldbgbreakpointsimpl.h deleted file mode 100644 index 58f442c0..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgbreakpointsimpl.h +++ /dev/null @@ -1,72 +0,0 @@ -/*************************************************************************** - xsldbgbreakpointsimpl.h - description - ------------------- - begin : Fri Jan 4 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#ifndef XSLDBGBREAKPOINTSIMPL_H -#define XSLDBGBREAKPOINTSIMPL_H - -/** - *@author Keith Isdale - */ - -#include "xsldbgbreakpoints.h" -#include "xsldbgdialogbase.h" - -class XsldbgDebugger; - - -class XsldbgBreakpointsImpl : public XsldbgBreakpoints, public XsldbgDialogBase { - TQ_OBJECT - - -public: - XsldbgBreakpointsImpl(XsldbgDebugger *debugger, TQWidget *parent=0, const char *name=0); - ~XsldbgBreakpointsImpl(); - - /* Return >= 0 if line number entered is valid */ - int getLineNumber(); - - /* Return >= 0 if breakpoint id entered is valid */ - int getId(); - - -public slots: - - void slotAddBreakpoint(); - void slotAddAllTemplateBreakpoints(); - void slotDeleteBreakpoint(); - void slotDeleteAllBreakpoints(); - void slotEnableBreakpoint(); - void selectionChanged(TQListViewItem *item); - - /** Recieve notification about breakpoint to add to view, First parameter is TQString() - to indicate start of breakpoint list notfication */ - void slotProcBreakpointItem(TQString file, int lineNumber, - TQString templateName, TQString modeName, - bool enabled, int id ); - - /** refresh data from source */ - void refresh(); - - /**Clear data from all fields */ - void slotClear(); - -private: - XsldbgDebugger *debugger; - -}; - -#endif diff --git a/kxsldbg/kxsldbgpart/xsldbgcallstack.ui b/kxsldbg/kxsldbgpart/xsldbgcallstack.ui deleted file mode 100644 index f5739f1d..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgcallstack.ui +++ /dev/null @@ -1,157 +0,0 @@ -<!DOCTYPE UI><UI version="3.1" stdsetdef="1"> -<class>XsldbgCallStack</class> -<author>Keith Isdale <k_isdale@tpg.com.au></author> -<widget class="TQWidget"> - <property name="name"> - <cstring>XsldbgCallStack</cstring> - </property> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>520</width> - <height>391</height> - </rect> - </property> - <property name="caption"> - <string>Xsldbg Callstack</string> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>11</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQListView" row="0" column="0"> - <column> - <property name="text"> - <string>Frame# Template Name</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>Source File Name</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>Line Number</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <property name="name"> - <cstring>callStackListView</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>3</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="toolTip" stdset="0"> - <string>Oldest Frame # is 0, Frame # has been added to the first column</string> - </property> - </widget> - <widget class="TQLayoutWidget" row="1" column="0"> - <property name="name"> - <cstring>Layout3</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <spacer> - <property name="name"> - <cstring>Spacer4</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQPushButton"> - <property name="name"> - <cstring>refreshBtn</cstring> - </property> - <property name="text"> - <string>Refresh</string> - </property> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer5</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </hbox> - </widget> - </grid> -</widget> -<connections> - <connection> - <sender>callStackListView</sender> - <signal>selectionChanged(TQListViewItem*)</signal> - <receiver>XsldbgCallStack</receiver> - <slot>selectionChanged(TQListViewItem*)</slot> - </connection> - <connection> - <sender>refreshBtn</sender> - <signal>clicked()</signal> - <receiver>XsldbgCallStack</receiver> - <slot>refresh()</slot> - </connection> -</connections> -<slots> - <slot>refresh()</slot> - <slot>selectionChanged(TQListViewItem*)</slot> -</slots> -<layoutdefaults spacing="6" margin="11"/> -</UI> diff --git a/kxsldbg/kxsldbgpart/xsldbgcallstackimpl.cpp b/kxsldbg/kxsldbgpart/xsldbgcallstackimpl.cpp deleted file mode 100644 index 85a2b012..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgcallstackimpl.cpp +++ /dev/null @@ -1,71 +0,0 @@ -/*************************************************************************** - xsldbgcallstackimpl.cpp - description - ------------------- - begin : Wed Jan 16 2002 - copyright : (C) 2002 by Keith lsdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ -#include <tqlistview.h> -#include <tqlineedit.h> - -#include "xsldbgdebugger.h" -#include "xsldbgcallstackimpl.h" -#include "xsldbggloballistitem.h" /* reuse global list item variable as a template list item */ - -XsldbgCallStackImpl::XsldbgCallStackImpl(XsldbgDebugger *debugger, - TQWidget *parent /*=0*/, const char *name /*=0*/) - : XsldbgCallStack(parent, name), XsldbgDialogBase() -{ - this->debugger = debugger; - - connect(debugger, TQ_SIGNAL(callStackItem(TQString /* templateName*/, TQString /* fileName */, int /* lineNumber */)), - this, TQ_SLOT(slotProcCallStackItem(TQString /* templateName*/, TQString /* fileName */, int /* lineNumber */))); - connect( callStackListView, TQ_SIGNAL(selectionChanged(TQListViewItem *)), - this, TQ_SLOT(selectionChanged(TQListViewItem*))); - - show(); - refresh(); -} - -XsldbgCallStackImpl::~XsldbgCallStackImpl(){ - debugger = 0L; -} - -void XsldbgCallStackImpl::slotProcCallStackItem(TQString templateName, TQString fileName , int lineNumber ) -{ - static int frameNo =0; - if (templateName.isNull()){ - callStackListView->clear(); - frameNo = 0; - }else{ - /* each stack entry will have a FRAME# prefix */ - callStackListView->insertItem(new XsldbgGlobalListItem(callStackListView, - fileName, lineNumber, templateName.prepend(TQString::number(frameNo++)+ "# "))); - } -} - - -void XsldbgCallStackImpl::selectionChanged(TQListViewItem *item) -{ - XsldbgGlobalListItem *callStackItem = dynamic_cast<XsldbgGlobalListItem*>(item); - if (callStackItem){ - debugger->gotoLine(callStackItem->getFileName(), callStackItem->getLineNumber()); - } -} - -void XsldbgCallStackImpl::refresh() -{ - debugger->fakeInput("where", true) ; -} - - -#include "xsldbgcallstackimpl.moc" diff --git a/kxsldbg/kxsldbgpart/xsldbgcallstackimpl.h b/kxsldbg/kxsldbgpart/xsldbgcallstackimpl.h deleted file mode 100644 index ee7b9e4c..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgcallstackimpl.h +++ /dev/null @@ -1,54 +0,0 @@ -/*************************************************************************** - xsldbgcallstackimpl.h - description - ------------------- - begin : Wed Jan 16 2002 - copyright : (C) 2002 by Keith lsdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef XSLDBGCALLSTACKIMPL_H -#define XSLDBGCALLSTACKIMPL_H - -/** - *@author Keith lsdale - */ - -#include "xsldbgcallstack.h" -#include "xsldbgdialogbase.h" - -class XsldbgDebugger; - -class XsldbgCallStackImpl : public XsldbgCallStack, public XsldbgDialogBase { - TQ_OBJECT - - -public: - XsldbgCallStackImpl(XsldbgDebugger *debugger, TQWidget *parent=0, const char *name=0); - ~XsldbgCallStackImpl(); - -public slots: - void selectionChanged(TQListViewItem *item); - - /** Process request to add callstack to view, First parameter is TQString() - to indicate start of callstack list notfication */ - void slotProcCallStackItem(TQString templateName, TQString fileName , int lineNumber ); - - /** refresh data from source */ - void refresh(); - - -private: - XsldbgDebugger *debugger; - -}; - -#endif diff --git a/kxsldbg/kxsldbgpart/xsldbgconfig.ui b/kxsldbg/kxsldbgpart/xsldbgconfig.ui deleted file mode 100644 index 181bc7c3..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgconfig.ui +++ /dev/null @@ -1,817 +0,0 @@ -<!DOCTYPE UI><UI version="3.1" stdsetdef="1"> -<class>XsldbgConfig</class> -<author>Keith Isdale <k_isdale@tpg.com.au></author> -<widget class="TQWidget"> - <property name="name"> - <cstring>XsldbgConfig</cstring> - </property> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>501</width> - <height>542</height> - </rect> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>3</hsizetype> - <vsizetype>3</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>300</width> - <height>450</height> - </size> - </property> - <property name="caption"> - <string>KXsldbg Configuration</string> - </property> - <vbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>layout11</cstring> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <spacer row="3" column="0"> - <property name="name"> - <cstring>Spacer12</cstring> - </property> - <property name="orientation"> - <enum>Vertical</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>16</height> - </size> - </property> - </spacer> - <widget class="TQGroupBox" row="4" column="0"> - <property name="name"> - <cstring>groupBox1</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>7</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title"> - <string>LibXSLT Parameters</string> - </property> - <vbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>layout12</cstring> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <widget class="TQLayoutWidget" row="1" column="0"> - <property name="name"> - <cstring>Layout10_2</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLabel"> - <property name="name"> - <cstring>paramValueLabel</cstring> - </property> - <property name="text"> - <string>Parameter value:</string> - </property> - </widget> - <widget class="TQLineEdit"> - <property name="name"> - <cstring>parameterValueEdit</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>3</hsizetype> - <vsizetype>7</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="maxLength"> - <number>100</number> - </property> - </widget> - </hbox> - </widget> - <widget class="TQLayoutWidget" row="0" column="0"> - <property name="name"> - <cstring>Layout10</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLabel"> - <property name="name"> - <cstring>paramNameLabel</cstring> - </property> - <property name="text"> - <string>Parameter name:</string> - </property> - </widget> - <widget class="TQLineEdit"> - <property name="name"> - <cstring>parameterNameEdit</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="maxLength"> - <number>100</number> - </property> - </widget> - </hbox> - </widget> - </grid> - </widget> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>Layout11</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <spacer> - <property name="name"> - <cstring>Spacer4</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>Layout12</cstring> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQPushButton" row="1" column="0"> - <property name="name"> - <cstring>prevButton</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Prev</string> - </property> - </widget> - <widget class="TQPushButton" row="0" column="1"> - <property name="name"> - <cstring>deleteButton</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Delete</string> - </property> - </widget> - <widget class="TQPushButton" row="1" column="1"> - <property name="name"> - <cstring>nextButton</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Next</string> - </property> - </widget> - <widget class="TQPushButton" row="0" column="0"> - <property name="name"> - <cstring>addButton</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Add</string> - </property> - </widget> - </grid> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer5</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </hbox> - </widget> - </vbox> - </widget> - <spacer row="5" column="0"> - <property name="name"> - <cstring>Spacer61</cstring> - </property> - <property name="orientation"> - <enum>Vertical</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>16</height> - </size> - </property> - </spacer> - <widget class="TQLayoutWidget" row="6" column="0"> - <property name="name"> - <cstring>Layout18</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <spacer> - <property name="name"> - <cstring>Spacer23</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQPushButton"> - <property name="name"> - <cstring>PushButton13</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>110</width> - <height>0</height> - </size> - </property> - <property name="text"> - <string>&Apply</string> - </property> - </widget> - <widget class="TQPushButton"> - <property name="name"> - <cstring>PushButton14</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>110</width> - <height>0</height> - </size> - </property> - <property name="text"> - <string>&Cancel</string> - </property> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer24</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </hbox> - </widget> - <spacer row="1" column="0"> - <property name="name"> - <cstring>Spacer12_2</cstring> - </property> - <property name="orientation"> - <enum>Vertical</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>16</height> - </size> - </property> - </spacer> - <widget class="TQLayoutWidget" row="0" column="0"> - <property name="name"> - <cstring>Layout11</cstring> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLayoutWidget" row="4" column="0"> - <property name="name"> - <cstring>Layout8</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLabel"> - <property name="name"> - <cstring>outputFileLabel</cstring> - </property> - <property name="text"> - <string>Output file:</string> - </property> - </widget> - <widget class="TQLineEdit"> - <property name="name"> - <cstring>outputFileEdit</cstring> - </property> - <property name="enabled"> - <bool>false</bool> - </property> - </widget> - <widget class="TQPushButton"> - <property name="name"> - <cstring>outputFileButton</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>1</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>...</string> - </property> - </widget> - </hbox> - </widget> - <widget class="TQLayoutWidget" row="2" column="0"> - <property name="name"> - <cstring>Layout10</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLabel"> - <property name="name"> - <cstring>xmlSourceLabel</cstring> - </property> - <property name="text"> - <string>XML data:</string> - </property> - </widget> - <widget class="TQLineEdit"> - <property name="name"> - <cstring>xmlDataEdit</cstring> - </property> - <property name="enabled"> - <bool>false</bool> - </property> - </widget> - <widget class="TQPushButton"> - <property name="name"> - <cstring>xmlDataButton</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>4</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>...</string> - </property> - </widget> - </hbox> - </widget> - <widget class="TQLayoutWidget" row="0" column="0"> - <property name="name"> - <cstring>Layout6</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLabel"> - <property name="name"> - <cstring>xslSourceLabel</cstring> - </property> - <property name="text"> - <string>XSL source:</string> - </property> - </widget> - <widget class="TQLineEdit"> - <property name="name"> - <cstring>xslSourceEdit</cstring> - </property> - <property name="enabled"> - <bool>false</bool> - </property> - </widget> - <widget class="TQPushButton"> - <property name="name"> - <cstring>xslSourceButton</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>4</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>...</string> - </property> - </widget> - </hbox> - </widget> - </grid> - </widget> - <widget class="TQButtonGroup" row="2" column="0"> - <property name="name"> - <cstring>ButtonGroup1</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>7</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title"> - <string>Options</string> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>11</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQCheckBox" row="0" column="0"> - <property name="name"> - <cstring>catalogsChkBox</cstring> - </property> - <property name="text"> - <string>catalogs</string> - </property> - <property name="toolTip" stdset="0"> - <string>use catalogs from $SGML_CATALOGS_FILES</string> - </property> - </widget> - <widget class="TQCheckBox" row="1" column="2"> - <property name="name"> - <cstring>novalidChkBox</cstring> - </property> - <property name="text"> - <string>novalid</string> - </property> - <property name="toolTip" stdset="0"> - <string>skip the DTD loading phase</string> - </property> - </widget> - <widget class="TQCheckBox" row="0" column="1"> - <property name="name"> - <cstring>htmlChkBox</cstring> - </property> - <property name="text"> - <string>html</string> - </property> - <property name="toolTip" stdset="0"> - <string>the input document is(are) an HTML file(s)</string> - </property> - </widget> - <widget class="TQCheckBox" row="0" column="2"> - <property name="name"> - <cstring>docbookChkBox</cstring> - </property> - <property name="text"> - <string>docbook</string> - </property> - <property name="toolTip" stdset="0"> - <string>the input document is SGML docbook</string> - </property> - </widget> - <widget class="TQCheckBox" row="1" column="0"> - <property name="name"> - <cstring>debugChkBox</cstring> - </property> - <property name="text"> - <string>debug</string> - </property> - <property name="toolTip" stdset="0"> - <string>dump the tree of the result instead</string> - </property> - </widget> - <widget class="TQCheckBox" row="2" column="0"> - <property name="name"> - <cstring>nooutChkBox</cstring> - </property> - <property name="text"> - <string>noout</string> - </property> - <property name="toolTip" stdset="0"> - <string>do not dump the result</string> - </property> - </widget> - <widget class="TQCheckBox" row="2" column="1"> - <property name="name"> - <cstring>profileChkBox</cstring> - </property> - <property name="text"> - <string>profile</string> - </property> - <property name="toolTip" stdset="0"> - <string>print profiling information</string> - </property> - </widget> - <widget class="TQCheckBox" row="2" column="2"> - <property name="name"> - <cstring>timingChkBox</cstring> - </property> - <property name="text"> - <string>timing</string> - </property> - <property name="toolTip" stdset="0"> - <string>display the time used</string> - </property> - </widget> - <widget class="TQCheckBox" row="1" column="1"> - <property name="name"> - <cstring>nonetChkBox</cstring> - </property> - <property name="text"> - <string>nonet</string> - </property> - <property name="toolTip" stdset="0"> - <string>refuse to fetch DTDs or entities over network</string> - </property> - </widget> - </grid> - </widget> - </grid> - </widget> - </vbox> -</widget> -<connections> - <connection> - <sender>xslSourceButton</sender> - <signal>clicked()</signal> - <receiver>XsldbgConfig</receiver> - <slot>slotChooseSourceFile()</slot> - </connection> - <connection> - <sender>xmlDataButton</sender> - <signal>clicked()</signal> - <receiver>XsldbgConfig</receiver> - <slot>slotChooseDataFile()</slot> - </connection> - <connection> - <sender>outputFileButton</sender> - <signal>clicked()</signal> - <receiver>XsldbgConfig</receiver> - <slot>slotChooseOutputFile()</slot> - </connection> - <connection> - <sender>addButton</sender> - <signal>clicked()</signal> - <receiver>XsldbgConfig</receiver> - <slot>slotAddParam()</slot> - </connection> - <connection> - <sender>deleteButton</sender> - <signal>clicked()</signal> - <receiver>XsldbgConfig</receiver> - <slot>slotDeleteParam()</slot> - </connection> - <connection> - <sender>nextButton</sender> - <signal>clicked()</signal> - <receiver>XsldbgConfig</receiver> - <slot>slotNextParam()</slot> - </connection> - <connection> - <sender>prevButton</sender> - <signal>clicked()</signal> - <receiver>XsldbgConfig</receiver> - <slot>slotPrevParam()</slot> - </connection> - <connection> - <sender>PushButton13</sender> - <signal>clicked()</signal> - <receiver>XsldbgConfig</receiver> - <slot>slotApply()</slot> - </connection> - <connection> - <sender>PushButton14</sender> - <signal>clicked()</signal> - <receiver>XsldbgConfig</receiver> - <slot>slotCancel()</slot> - </connection> -</connections> -<tabstops> - <tabstop>parameterNameEdit</tabstop> - <tabstop>parameterValueEdit</tabstop> - <tabstop>addButton</tabstop> - <tabstop>deleteButton</tabstop> - <tabstop>prevButton</tabstop> - <tabstop>nextButton</tabstop> - <tabstop>PushButton13</tabstop> - <tabstop>PushButton14</tabstop> - <tabstop>xslSourceButton</tabstop> - <tabstop>xmlDataButton</tabstop> - <tabstop>outputFileButton</tabstop> - <tabstop>catalogsChkBox</tabstop> - <tabstop>debugChkBox</tabstop> - <tabstop>nooutChkBox</tabstop> - <tabstop>htmlChkBox</tabstop> - <tabstop>nonetChkBox</tabstop> - <tabstop>profileChkBox</tabstop> - <tabstop>docbookChkBox</tabstop> - <tabstop>novalidChkBox</tabstop> - <tabstop>timingChkBox</tabstop> - <tabstop>outputFileEdit</tabstop> - <tabstop>xmlDataEdit</tabstop> - <tabstop>xslSourceEdit</tabstop> -</tabstops> -<slots> - <slot>slotCancel()</slot> - <slot>slotAddParam()</slot> - <slot>slotApply()</slot> - <slot>slotChooseDataFile()</slot> - <slot>slotChooseOutputFile()</slot> - <slot>slotChooseSourceFile()</slot> - <slot>slotDatafile(TQString)</slot> - <slot>slotDeleteParam()</slot> - <slot>slotNextParam()</slot> - <slot>slotPrevParam()</slot> - <slot>slotSourcefile(TQString)</slot> - <slot>slotoutputfile(TQString)</slot> -</slots> -<layoutdefaults spacing="6" margin="11"/> -</UI> diff --git a/kxsldbg/kxsldbgpart/xsldbgconfigimpl.cpp b/kxsldbg/kxsldbgpart/xsldbgconfigimpl.cpp deleted file mode 100644 index 18fa6f29..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgconfigimpl.cpp +++ /dev/null @@ -1,499 +0,0 @@ -/*************************************************************************** - xsldbgconfigimpl.cpp - description - ------------------- - begin : Fri Jan 4 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#include <tdelocale.h> -#include <tdefiledialog.h> - -#include <tqdialog.h> -#include <tqlineedit.h> -#include <tqcheckbox.h> -#include <tqmessagebox.h> - -#include "xsldbgconfigimpl.h" -#include "xsldbgdebugger.h" -#include <kdebug.h> - -LibxsltParam::LibxsltParam(const TQString &name, const TQString &value) - : TQObject(0L, 0L) -{ - _name = name; - _value = value; -} - - -LibxsltParam::~LibxsltParam() -{ -} - - -TQString LibxsltParam::getName() const -{ - return _name; -} - -void LibxsltParam::setName(const TQString &name) -{ - _name = name; -} - - -TQString LibxsltParam::getValue() const -{ - return _value; -} - - -void LibxsltParam::setValue(const TQString & value) -{ - _value = value; -} - - -bool LibxsltParam::isValid() const -{ - bool result = true; - if ((_name.length() > 0) && ( _value.length() == 0)) - result = false; - - return result; -} - - -XsldbgConfigImpl::XsldbgConfigImpl(XsldbgDebugger *debugger, - TQWidget *parent /*=0*/, const char *name /*=0*/) - : XsldbgConfig(parent, name) -{ - this->debugger = debugger; - connect(debugger, TQ_SIGNAL(parameterItem(TQString /* name*/, TQString /* value */)), - this, TQ_SLOT(slotProcParameterItem(TQString /* name*/, TQString /* value */))); - connect(debugger, TQ_SIGNAL(fileDetailsChanged()), - this, TQ_SLOT(slotReloadFileNames())); - paramIndex= 0; - catalogs = false; - debug = false; - html = false; - nonet = false; - docbook = false; -} - -XsldbgConfigImpl::~XsldbgConfigImpl() -{ - debugger = 0L; -} - - -TQString XsldbgConfigImpl::getSourceFile() -{ - if (xslSourceEdit != 0L) - return xslSourceEdit->text(); - else - return TQString(); -} - - -TQString XsldbgConfigImpl::getDataFile() -{ - if (xmlDataEdit != 0L) - return xmlDataEdit->text(); - else - return TQString(); -} - - -TQString XsldbgConfigImpl::getOutputFile() -{ - if (outputFileEdit != 0L) - return outputFileEdit->text(); - else - return TQString(); -} - - -LibxsltParam *XsldbgConfigImpl::getParam(int paramNumber) -{ - return paramList.at(paramNumber); -} - -LibxsltParam *XsldbgConfigImpl::getParam(TQString name) -{ - LibxsltParam *param = 0L; - for (param = paramList.first(); param != 0L; param = paramList.next()) - { - if (param->getName() == name) - break; - } - - return param; -} - - -int XsldbgConfigImpl::getParamCount() -{ - return paramList.count(); -} - - -void XsldbgConfigImpl::addParam(TQString name, TQString value) -{ - LibxsltParam *param; - if ((name.length() == 0) || (value.length() == 0)) - return; - - param = getParam(name); - if (param == 0L) - { - param = new LibxsltParam(name, value); - if (param != 0L) - paramList.append(param); - - }else - param->setValue(value); -} - - -void XsldbgConfigImpl::deleteParam(TQString name) -{ - bool isOk = false; - LibxsltParam *param; - if (name.length() == 0) - return; - - param = getParam(name); - if (param != 0L) - isOk = paramList.remove(param); - - if (isOk == false) - kdDebug() << TQString(" Param %1 dosn't exist").arg(name) << endl; - else - kdDebug() << "Deleted param " << name << endl; -} - - -bool XsldbgConfigImpl::isValid(TQString &errorMsg) -{ - bool isOK = true; - errorMsg = ""; - if (xslSourceEdit->text().isEmpty()) - errorMsg.append( i18n("\t\"XSL source\" \n")); - if (xmlDataEdit->text().isEmpty()) - errorMsg.append(i18n("\t\"XML data\" \n")); - if (outputFileEdit->text().isEmpty()) - errorMsg.append(i18n("\t\"Output file\" \n")); - if (!errorMsg.isEmpty()){ - errorMsg.prepend(i18n("Missing values for \n")); - isOK = false; - }else if (( xslSourceEdit->text() == outputFileEdit->text()) || - (xmlDataEdit->text() == outputFileEdit->text())){ - errorMsg.append(i18n("Output file is the same as either XSL Source or " - "XML Data file\n")); - isOK = false; - } - - // make it a warning when parameters are invalid - LibxsltParam *param; - TQString emptyParams = ""; - for (param = paramList.first(); param != 0L; param = paramList.next()) - { - if (!param->isValid()){ - if (emptyParams.isEmpty()) - emptyParams = param->getName(); - else - emptyParams.append(", "). append(param->getName()); - } - } - - if (!emptyParams.isEmpty()){ - errorMsg.append(i18n("The following libxslt parameters are empty\n\t")); - errorMsg.append(emptyParams); - } - - return isOK; -} - - -/*we previously said that isValid() == true so we must commit our changes */ -void XsldbgConfigImpl::update() -{ - TQString msg; - if (debugger == 0L) - return; - - /* update source, data, output file name if needed */ - slotSourceFile(xslSourceEdit->text()); - slotDataFile(xmlDataEdit->text()); - slotOutputFile(outputFileEdit->text()); - - /* ensure entered param are updated */ - slotAddParam(); - - if (debugger->start() == false) - return ; /* User has killed xsldbg and we can't restart it */ - - /* always update the libxslt parameters */ - debugger->fakeInput("delparam", true); - - - - LibxsltParam *param; - for (param = paramList.first(); param != 0L; param = paramList.next()) - { - if (debugger->start() == false) - return ; /* User has killed xsldbg and we can't restart it */ - if (param->isValid()){ - msg = "addparam "; - msg.append(param->getName()).append(" ").append(param->getValue()); - debugger->fakeInput(msg, true); - } - } - - /* now set the xsldbg options*/ - if (catalogsChkBox->isChecked() != catalogs){ - catalogs = catalogsChkBox->isChecked(); - debugger->setOption("catalogs", catalogs); - } - if (debugChkBox->isChecked() != debug){ - debug= debugChkBox->isChecked(); - debugger->setOption("debug", debug); - } - if (htmlChkBox->isChecked() != html){ - html = htmlChkBox->isChecked(); - debugger->setOption("html", html); - } - if (docbookChkBox->isChecked() != docbook){ - docbook = docbookChkBox->isChecked(); - debugger->setOption("docbook", docbook); - } - if (nonetChkBox->isChecked() != nonet){ - nonet = nonetChkBox->isChecked(); - debugger->setOption("nonet", nonet); - } - if (novalidChkBox->isChecked() != novalid){ - novalid = novalidChkBox->isChecked(); - debugger->setOption("novalid", novalid); - } - if (nooutChkBox->isChecked() != noout){ - noout = nooutChkBox->isChecked(); - debugger->setOption("noout", noout); - } - if (timingChkBox->isChecked() != timing){ - timing = timingChkBox->isChecked(); - debugger->setOption("timing", timing); - } - if (profileChkBox->isChecked() != profile){ - profile = profileChkBox->isChecked(); - debugger->setOption("profile", profile); - } - - debugger->setOption("preferhtml", true); - debugger->setOption("utf8input", true); - debugger->slotRunCmd(); - hide(); -} - - -void XsldbgConfigImpl::refresh() -{ - paramIndex = 0; - repaintParam(); - xslSourceEdit->setText(debugger->sourceFileName()); - xmlDataEdit->setText(debugger->dataFileName()); - outputFileEdit->setText(debugger->outputFileName()); - /* - if (debugger->start() == false) - return ; - - tqDebug("XsldbgConfigImpl::refresh"); - */ - /* we'll get the list of parameters via paramItem(..) in this class */ - /* debugger->fakeInput("showparam", true); - */ - -} - - -void XsldbgConfigImpl::slotSourceFile(TQString xslFile) -{ - if (debugger->start() == false) - return ; /* User has killed xsldbg and we can't restart it */ - - if (debugger->sourceFileName() == xslFile) - return; - - TQString msg("source "); - msg.append(XsldbgDebugger::fixLocalPaths(xslFile)); - debugger->fakeInput(msg, true); -} - -void XsldbgConfigImpl::slotDataFile(TQString xmlFile) -{ - if (debugger->start() == false) - return ; /* User has killed xsldbg and we can't restart it */ - - if (debugger->dataFileName() == xmlFile) - return; - - TQString msg("data "); - msg.append(XsldbgDebugger::fixLocalPaths(xmlFile)); - debugger->fakeInput(msg, true); -} - -void XsldbgConfigImpl::slotOutputFile(TQString outputFile) -{ - if (debugger->start() == false) - return ; /* User has killed xsldbg and we can't restart it */ - - if (debugger->outputFileName() == outputFile) - return; - - TQString msg("output "); - msg.append(XsldbgDebugger::fixLocalPaths(outputFile)); - debugger->fakeInput(msg, true); -} - -void XsldbgConfigImpl::slotChooseSourceFile() -{ - KURL url = KFileDialog::getOpenURL(TQString(), "*.xsl; *.XSL; *.Xsl ; *.xslt; *.XSLT; *.Xslt \n *.*", this, - i18n("Choose XSL Source to Debug")); - TQString fileName = url.prettyURL(); - - if ((!fileName.isNull()) && (fileName.length() > 0)){ - xslSourceEdit->setText(XsldbgDebugger::fixLocalPaths(fileName)); - } -} - - -void XsldbgConfigImpl::slotChooseDataFile() -{ - KURL url = KFileDialog::getOpenURL(TQString(), "*.xml; *.XML; *.Xml \n*.docbook \n *.html;*.HTML; *.htm ; *HTM \n *.*", this, - i18n("Choose XML Data to Debug")); - TQString fileName = url.prettyURL(); - - if ((!fileName.isNull()) && (fileName.length() > 0)) - xmlDataEdit->setText(XsldbgDebugger::fixLocalPaths(fileName)); -} - - -void XsldbgConfigImpl::slotChooseOutputFile() -{ - KURL url = KFileDialog::getSaveURL(TQString(), "*.xml; *.XML; *.Xml \n*.docbook \n *.txt; *.TXT \n *.htm;*.HTM;*.htm;*.HTML \n*.*", this, - i18n("Choose Output File for XSL Transformation")); - TQString fileName; - - if (url.isLocalFile()){ - fileName = url.prettyURL(); - if ((!fileName.isNull()) && (fileName.length() > 0)) - outputFileEdit->setText(XsldbgDebugger::fixLocalPaths(fileName)); - } -} - -void XsldbgConfigImpl::slotReloadFileNames() -{ - if (debugger != 0){ - xslSourceEdit->setText(debugger->sourceFileName()); - xmlDataEdit->setText(debugger->dataFileName()); - outputFileEdit->setText(debugger->outputFileName()); - } -} - - -void XsldbgConfigImpl::repaintParam() -{ - if (paramIndex < getParamCount()){ - LibxsltParam *param = getParam(paramIndex); - parameterNameEdit->setText(param->getName()); - parameterValueEdit->setText(param->getValue()); - }else{ - parameterNameEdit->setText(""); - parameterValueEdit->setText(""); - } -} - -void XsldbgConfigImpl::slotAddParam() -{ - addParam(parameterNameEdit->text(), parameterValueEdit->text()); - if (paramIndex < getParamCount()) - paramIndex++; - - repaintParam(); -} - -void XsldbgConfigImpl::slotDeleteParam() -{ - deleteParam(parameterNameEdit->text()); - repaintParam(); -} - - -void XsldbgConfigImpl::slotNextParam() -{ - addParam(parameterNameEdit->text(), parameterValueEdit->text()); - if (paramIndex < getParamCount()) - paramIndex++; - - repaintParam(); -} - -void XsldbgConfigImpl::slotPrevParam() -{ - addParam(parameterNameEdit->text(), parameterValueEdit->text()); - if (paramIndex > 0) - paramIndex--; - - repaintParam(); -} - -void XsldbgConfigImpl::slotProcParameterItem(TQString name, TQString value) -{ - if (name.isNull()){ - paramList.clear(); - paramIndex = 0; - parameterNameEdit->setText(""); - parameterValueEdit->setText(""); - }else{ - addParam(name, value); - if(paramList.count() == 1){ - parameterNameEdit->setText(name); - parameterValueEdit->setText(value); - } - } -} - - - -void XsldbgConfigImpl::slotApply() -{ - - // Validate the users choices before applying it - TQString msg; - if (isValid(msg)){ - if (!msg.isEmpty()) - TQMessageBox::information(this, i18n("Suspect Configuration"), - msg, TQMessageBox::Ok); - update(); - }else{ - TQMessageBox::information(this, i18n("Incomplete or Invalid Configuration"), - msg, TQMessageBox::Ok); - } -} - - -void XsldbgConfigImpl::slotCancel() -{ - hide(); -} - -#include "xsldbgconfigimpl.moc" diff --git a/kxsldbg/kxsldbgpart/xsldbgconfigimpl.h b/kxsldbg/kxsldbgpart/xsldbgconfigimpl.h deleted file mode 100644 index 1ea50c64..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgconfigimpl.h +++ /dev/null @@ -1,152 +0,0 @@ -/*************************************************************************** - xsldbgconfigimpl.h - description - ------------------- - begin : Fri Jan 4 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#ifndef XSLDBGCONFIGIMPL_H -#define XSLDBGCONFIGIMPL_H - -/** - *@author Keith Isdale - */ - -#include "xsldbgconfig.h" -#include "xsldbgdialogbase.h" - -#include <tqptrlist.h> - - -class LibxsltParam : public TQObject -{ - public: - LibxsltParam(const TQString & name, const TQString &value); - ~LibxsltParam(); - - TQString getName() const; - void setName(const TQString &name); - TQString getValue() const; - void setValue(const TQString &value); - bool isValid() const; - -private: - TQString _name; - TQString _value; -}; - - -class XsldbgDebugger; - -class XsldbgConfigImpl : public XsldbgConfig, public XsldbgDialogBase { - TQ_OBJECT - - -public: - XsldbgConfigImpl(XsldbgDebugger *debugger, TQWidget *parent=0, const char *name=0); - ~XsldbgConfigImpl(); - - LibxsltParam *getParam(int paramNumber); - LibxsltParam *getParam(TQString name); - int getParamCount(); - void addParam(TQString name, TQString value); - void deleteParam(TQString name); - void repaintParam(); - - TQString getSourceFile(); - TQString getDataFile(); - TQString getOutputFile(); - bool debugEnabled() const {return debug; }; - bool catalogsEnabled() const {return catalogs; }; - bool htmlEnabled() const {return html; }; - bool docbookEnabled() const {return docbook; }; - bool nonetEnabled() const {return nonet; }; - bool novalidEnabled() const {return novalid; }; - bool nooutEnabled() const {return noout; }; - bool timingEnabled() const {return timing; }; - bool profileEnabled() const {return profile; }; - - - /** return true if all data ok */ - bool isValid(TQString &errorMsg); - - /** Update changes to xsldbg*/ - void update(); - - /** refresh data from source */ - void refresh(); - - -public slots: - - /** Set xsl source file*/ - void slotSourceFile(TQString); - - /** Set xml data file*/ - void slotDataFile(TQString); - - /** Set file name for the default output of transformed data*/ - void slotOutputFile(TQString); - - /**Choose the XSL source file */ - void slotChooseSourceFile(); - - /**Choose the XML data file */ - void slotChooseDataFile(); - - - /**Choose the output file */ - void slotChooseOutputFile(); - - /* Update the gui with the new values for source, data and output files */ - void slotReloadFileNames(); - - /** Configure dialog has request that a param be added */ - void slotAddParam(); - - /** Configure dialog has request that a param be deleted */ - void slotDeleteParam(); - - /** Configure dialog has request that a next param be shown */ - void slotNextParam(); - - /** Configure dialog has request that a prev param be shown */ - void slotPrevParam(); - - /** Apply the changes */ - void slotApply(); - - /** Ignore any changes and hide dialog */ - void slotCancel(); - - /** Process notification of add parameter to view, First parameter - is TQString() to indicate start of parameter list notfication */ - void slotProcParameterItem(TQString name, TQString value); - - -private: - int paramIndex; - TQPtrList<LibxsltParam> paramList; - - XsldbgDebugger *debugger; - - bool catalogs; - bool debug; - bool html; - bool docbook; - bool nonet; - bool novalid; - bool noout; - bool timing; - bool profile; -}; -#endif diff --git a/kxsldbg/kxsldbgpart/xsldbgdebugger.cpp b/kxsldbg/kxsldbgpart/xsldbgdebugger.cpp deleted file mode 100644 index c926eca1..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgdebugger.cpp +++ /dev/null @@ -1,474 +0,0 @@ -/*************************************************************************** - xsldbgdebugger.cpp - description - ------------------- - begin : Tue Jan 1 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#include <tdelocale.h> -#include <kurl.h> - -#include <libxml/tree.h> -#include <libxslt/xsltInternals.h> -#include "xsldbgdebugger.h" - -#include <libxsldbg/xsldbgthread.h> -#include <libxsldbg/xsldbgevent.h> -#include <libxsldbg/qtnotifier2.h> -#include <libxsldbg/options.h> -#include <libxsldbg/files.h> - -extern int xsldbgStop; - -#include "xsldbgwalkspeedimpl.h" -#include <tqmessagebox.h> -#include <kdebug.h> - -XsldbgDebugger::XsldbgDebugger() -{ - initialized = false; - inspector = 0L; - walkDialog = 0L; - outputFileActive = false; - - updateText = ""; - lastType = XSLDBG_MSG_AWAITING_INPUT; - readMsg = false; - procMsg = false; - /* set a slow occurance of timer events to check for xsldbg commands from user */ - updateTimerID = startTimer(100); - - connectNotifier(this); -} - - -XsldbgDebugger::~XsldbgDebugger(){ - if (initialized == true) - xsldbgThreadFree(); - - if (walkDialog != 0L) - walkDialog->close(true); - -} - - -void XsldbgDebugger::setInspector(XsldbgInspector *inspector) -{ - this->inspector = inspector; -} - -bool XsldbgDebugger::event(TQEvent *e) -{ - if (e == 0L) - return false; - - if (e->type() != TQEvent::User) - return TQObject::event(e); - else{ - static bool waitingFirstmessage = true; - if (waitingFirstmessage){ - waitingFirstmessage = false; - emit debuggerReady(); - } - - /* we now have a notify message from xsldbg */ - XsldbgEvent *event = dynamic_cast<XsldbgEvent*>(e); - /* send to this debugger the messages in event */ - event->emitMessage(this); - } - return true; - -} - - -void XsldbgDebugger::timerEvent(TQTimerEvent *e) -{ - /* This function runs in the application's thread */ - - if (e == 0L || (e->timerId() != updateTimerID)) - return; - - if ((getInputReady() == 0) && (getInputStatus() == XSLDBG_MSG_AWAITING_INPUT) && - (commandQue.count() > 0)){ - TQString msg = commandQue.first(); - commandQue.remove(msg); - ::fakeInput((const char*)msg.utf8()); - } - - if ((!updateText.isEmpty()) && (getInputStatus() == XSLDBG_MSG_AWAITING_INPUT)){ - /* flush remainding text to message window */ - TQString msgCopy = updateText; - updateText = ""; - emit showMessage(msgCopy); - lastType = XSLDBG_MSG_AWAITING_INPUT; - } - -} - - -TQString XsldbgDebugger::fixLocalPaths(TQString & file) -{ - TQString result = file; - - if (file.left(6) == "file:/"){ - xmlChar * tempResult = filesExpandName((xmlChar *)file.utf8().data()); - result = TQString::fromUtf8((char*)tempResult); - xmlFree(tempResult); - } - - return result; -} - - -TQString XsldbgDebugger::sourceFileName() -{ - TQString fileName; - - if (optionsGetStringOption(OPTIONS_SOURCE_FILE_NAME) != 0L) - fileName = TQString::fromUtf8((const char*)optionsGetStringOption(OPTIONS_SOURCE_FILE_NAME)); - - return fileName; -} - -TQString XsldbgDebugger::dataFileName() -{ - TQString fileName; - - if (optionsGetStringOption(OPTIONS_DATA_FILE_NAME) != 0L) - fileName = TQString::fromUtf8((const char*)optionsGetStringOption(OPTIONS_DATA_FILE_NAME)); - - return fileName; -} - -TQString XsldbgDebugger::outputFileName() -{ - TQString fileName; - - if (optionsGetStringOption(OPTIONS_OUTPUT_FILE_NAME) != 0L) - fileName = TQString::fromUtf8((const char*)optionsGetStringOption(OPTIONS_OUTPUT_FILE_NAME)); - - return fileName; -} - -void XsldbgDebugger::gotoLine(TQString fileName, int lineNo, bool breakpoint /*= false*/) -{ - emit lineNoChanged(fileName, lineNo, breakpoint); -} - - -void XsldbgDebugger::setOption(const char* name, bool value) -{ - TQString msg = "setoption "; - msg.append(name).append(" ").append(TQString::number(value)); - fakeInput(msg, true); -} - -void XsldbgDebugger::fakeInput(TQString text, bool wait) -{ - Q_UNUSED(wait); - commandQue.append(text); -} - - -bool XsldbgDebugger::start() -{ - bool result = false; - if ((initialized == false) && !xsldbgThreadInit()) - { - xsldbgThreadFree(); - kdDebug() << "Init of thread failed" << endl; - } - else - { - initialized = true; - result = true; - } - return result; -} - -bool XsldbgDebugger::stop() -{ - if (initialized == true){ - setThreadStatus(XSLDBG_MSG_THREAD_STOP); - } - - /* it always succeeds at the moment */ - return true; -} - -void XsldbgDebugger::slotConfigure() -{ - if (start() == false) - return; - - if(inspector == 0L ){ - inspector = new XsldbgInspector(this); - connect(inspector, TQ_SIGNAL(closedWindow()), this, TQ_SLOT(slotConfigClosed())); - } -} - - -void XsldbgDebugger::slotConfigClosed() -{ - inspector = 0L; -} - -void XsldbgDebugger::slotStepCmd() -{ - if (start()) - fakeInput("step", true); - if (inspector != 0L) - inspector->refreshVariables(); -} - -void XsldbgDebugger::slotContinueCmd() -{ - if (start()) - /*this can take a while so don't wait for xsldbg to finish */ - fakeInput("continue", false); - if (inspector != 0L) - inspector->refreshVariables(); - -} - -void XsldbgDebugger::slotRunCmd() -{ - if (start()) - /*this can take a while so don't wait for xsldbg to finish */ - fakeInput("run", false); - - if (inspector != 0L) - inspector->refresh(); -} - - -void XsldbgDebugger::slotWalkSpeed(int speed) -{ - if ((speed >= 0) && (speed <= 9)){ - if (start()){ - if (optionsGetIntOption(OPTIONS_WALK_SPEED) == WALKSPEED_STOP){ - // start walking at speed requested - TQString msg("walk "); - msg.append(TQString::number(speed)); - fakeInput(msg, true); - } else - // This will take effect imediately - optionsSetIntOption(OPTIONS_WALK_SPEED, speed); - } - }else - kdDebug() << "Invalid walk speed " << speed << endl; -} - -void XsldbgDebugger::slotWalkCmd() -{ - if (walkDialog == 0L ) - walkDialog = new XsldbgWalkSpeedImpl (this); - - if (walkDialog != 0L) - /* if the user changes the speed the dialog will call back slotWalkSpeed(int) */ - walkDialog->show(); -} - -void XsldbgDebugger::slotWalkStopCmd() -{ - xsldbgStop = 1; -} - -void XsldbgDebugger::slotTraceCmd() -{ - if (start()) - /*this can take a while so don't wait for xsldbg to finish */ - fakeInput("trace", false); -} - -void XsldbgDebugger::slotBreakCmd(TQString fileName, int lineNumber) -{ - if (outputFileActive == true){ - TQMessageBox::information(0L, i18n("Operation Failed"), - i18n("Cannot set/edit breakpoints on the output file."), - TQMessageBox::Ok); - return ; - } - - TQString msg("break -l \""); - msg.append(XsldbgDebugger::fixLocalPaths(fileName)).append("\" ").append(TQString::number(lineNumber)); - - if (start()) - fakeInput(msg, true); - - if (inspector != 0L) - inspector->refreshBreakpoints(); -} - -void XsldbgDebugger::slotBreakCmd(TQString templateName, TQString modeName) -{ - - if (outputFileActive == true){ - TQMessageBox::information(0L, i18n("Operation Failed"), - i18n("Cannot set/edit breakpoints on the output file."), - TQMessageBox::Ok); - return ; - } - TQString msg("break \""); - msg.append(templateName).append("\" \"").append(modeName).append("\""); - if (start()) - fakeInput(msg, true); - - if (inspector != 0L) - inspector->refreshBreakpoints(); -} - -void XsldbgDebugger::slotEnableCmd(TQString fileName, int lineNumber) -{ - - if (outputFileActive == true){ - TQMessageBox::information(0L, i18n("Operation Failed"), - i18n("Cannot set/edit breakpoints on the output file."), - TQMessageBox::Ok); - return ; - } - - TQString msg("enable -l \""); - msg.append(XsldbgDebugger::fixLocalPaths(fileName)).append("\" ").append(TQString::number(lineNumber)); - if (start()) - fakeInput(msg, true); - - if (inspector != 0L) - inspector->refreshBreakpoints(); -} - - -void XsldbgDebugger::slotEnableCmd(int id) -{ - - if (outputFileActive == true){ - TQMessageBox::information(0L, i18n("Operation Failed"), - i18n("Cannot set/edit breakpoints on the output file."), - TQMessageBox::Ok); - return ; - } - - TQString msg("enable "); - msg.append(TQString::number(id)); - if (start()) - fakeInput(msg, true); - - if (inspector != 0L) - inspector->refreshBreakpoints(); -} - - -void XsldbgDebugger::slotDeleteCmd(TQString fileName, int lineNumber) -{ - - if (outputFileActive == true){ - TQMessageBox::information(0L, i18n("Operation Failed"), - i18n("Cannot set/edit breakpoints on the output file."), - TQMessageBox::Ok); - return ; - } - - TQString msg("delete -l \""); - msg.append(XsldbgDebugger::fixLocalPaths(fileName)).append("\" ").append(TQString::number(lineNumber)); - if (start()) - fakeInput(msg, true); - if (inspector != 0L) - inspector->refreshBreakpoints(); -} - - -void XsldbgDebugger::slotDeleteCmd(int id) -{ - - if (outputFileActive == true){ - TQMessageBox::information(0L, i18n("Operation Failed"), - i18n("Cannot set/edit breakpoints on the output file."), - TQMessageBox::Ok); - return ; - } - TQString msg("delete "); - msg.append(TQString::number(id)); - if (start()) - fakeInput(msg, true); - if (inspector != 0L) - inspector->refreshBreakpoints(); -} - - -void XsldbgDebugger::slotSourceCmd() -{ - if (start()){ - outputFileActive = false; - fakeInput("source", true); - } -} - - -void XsldbgDebugger::slotDataCmd() -{ - if (start()){ - outputFileActive = false; - fakeInput("data", true); - } -} - -void XsldbgDebugger::slotShowDocument() -{ - - if (outputFileName().length() > 0){ - outputFileActive = true; - gotoLine(outputFileName(), 1); - } -} - - -void XsldbgDebugger::slotExitCmd() -{ - /* showMessage("\nExit command disabled in Quanta for the moment\n");*/ - stop(); -} - - -void XsldbgDebugger::slotCatCmd(TQString xPathExpression){ - TQString msg("cat "); - msg.append(xPathExpression); - - if (start()) - /*this can take a while so don't wait for xsldbg to finish */ - fakeInput(msg, false); - -} - -void XsldbgDebugger::slotCdCmd(TQString xPathExpression){ - TQString msg("cd "); - msg.append(xPathExpression); - - if (start()) - fakeInput(msg, true); -} -void XsldbgDebugger::slotSetVariableCmd(TQString variableName, TQString xPathExpression) -{ - if (!variableName.isEmpty() && !xPathExpression.isEmpty()){ - TQString msg("set "); - msg.append(variableName); - msg.append(" \""); - msg.append(xPathExpression); - msg.append("\""); - - if (start()) - fakeInput(msg, true); - } -} - - -#include "xsldbgdebugger.moc" diff --git a/kxsldbg/kxsldbgpart/xsldbgdebugger.h b/kxsldbg/kxsldbgpart/xsldbgdebugger.h deleted file mode 100644 index 886f1635..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgdebugger.h +++ /dev/null @@ -1,177 +0,0 @@ -/*************************************************************************** - xsldbgdebugger.h - description - ------------------- - begin : Tue Jan 1 2002 - copyright : (C) 2002 by keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#ifndef XSLDBGDEBUGGER_H -#define XSLDBGDEBUGGER_H - -#include <tqevent.h> -#include "libxsldbg/xsldbgmsg.h" /* needed for XsldbgMessageEnum */ -#include "libtqtnotfier/xsldbgdebuggerbase.h" - -#include "xsldbginspector.h" - - -/** - *@author Keith Isdale - */ - -class TQStringList; - -class XsldbgWalkSpeedImpl; - -class XsldbgDebugger : public XsldbgDebuggerBase { - TQ_OBJECT - - -public: - XsldbgDebugger(); - ~XsldbgDebugger(); - - /** */ - void setInspector(XsldbgInspector *inspector); - - /** Get the name of source file from xsldbg*/ - TQString sourceFileName(); - - /** Get the name of data file from xsldbg*/ - TQString dataFileName(); - - /** Get the name of output file from xsldbg*/ - TQString outputFileName(); - - /** Tell quanta to move its cursor to file and line number supplied */ - void gotoLine(TQString fileName, int lineNo, bool breakpoint = false); - - /** Set a xsldbg option */ - void setOption(const char *name, bool value); - - bool event(TQEvent *e); - void timerEvent(TQTimerEvent *e); - - void setOutputFileActive(bool b) {outputFileActive = b;}; - - /* helper function to handle differences between URI's in TQt/KDE and libxml2 */ - static TQString fixLocalPaths(TQString & file); - -private: - /** */ - bool outputFileActive; - -public slots: - /** start xsldbg */ - bool start(); - - /** stop xsldbg */ - bool stop(); - - /** send text to xsldbg, if wait is true then wait for the reply */ - void fakeInput(TQString text, bool wait); - - /** Display configure dialog */ - void slotConfigure(); - - /** Config window closed */ - void slotConfigClosed(); - - /** Step to next instruction */ - void slotStepCmd(); - - /** Continue to next break point */ - void slotContinueCmd(); - - /** Restart xsldbg with selected xsl/xml file */ - void slotRunCmd(); - - /** Walk throught shtylesheet at a fixed speed - @param speed : Must be a value of 0 to 9, where 1 mean fast, 9 means slow, and 0 means stop - */ - void slotWalkSpeed(int speed); - - /** Present a dialog for use to choose walk speed */ - void slotWalkCmd(); - - /** Stop walking imediately */ - void slotWalkStopCmd(); - - /** - Start xslbg's trace mode, where output will be sent to to message window. - Can only be be stopped by using "exit" tool button and killing xsldbg */ - void slotTraceCmd(); - - /** Add breakpoint at given file and line number */ - void slotBreakCmd(TQString fileName, int lineNumber); - - /** Add breakpoint at given template name*/ - void slotBreakCmd(TQString templateName, TQString modeName); - - /** Toggle the enabling of break point at given file and line number */ - void slotEnableCmd(TQString fileName, int lineNumber); - - /** Enable break point for given breakpoint id */ - void slotEnableCmd(int id); - - /** Delete break point at given file and line number */ - void slotDeleteCmd(TQString fileName, int lineNumber); - - /** Delete break point for given breakpoint id */ - void slotDeleteCmd(int id); - - /** Switch to view of XSL source */ - void slotSourceCmd(); - - /* switch to the output document */ - void slotShowDocument(); - - /** Switch to view of XML data */ - void slotDataCmd(); - - /** Stop xsldg, must use start after this command */ - void slotExitCmd(); - - /** Print the result of evaluating xPathExpression to the message window */ - void slotCatCmd(TQString xPathExpression); - - /** Move to line specified by xPathExpression */ - void slotCdCmd(TQString xPathExpression); - - /** Set a libxslt variable to xPathExpression */ - void slotSetVariableCmd(TQString variableName, TQString xPathExpression); -signals: // Signals - // generated after first message is received from xsldbg - void debuggerReady(); - -private: - bool initialized; - - /* xsldbg config and inspection dialog */ - XsldbgInspector *inspector; - - /**Walk speed dialog */ - XsldbgWalkSpeedImpl *walkDialog; - bool readMsg; - bool procMsg; - - /* copy text to output only if no furher output us requested */ - XsldbgMessageEnum lastType; - int updateTimerID; - bool addMsg; - - TQStringList commandQue; - -}; - -#endif diff --git a/kxsldbg/kxsldbgpart/xsldbgdialogbase.cpp b/kxsldbg/kxsldbgpart/xsldbgdialogbase.cpp deleted file mode 100644 index 6170e185..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgdialogbase.cpp +++ /dev/null @@ -1,39 +0,0 @@ -/*************************************************************************** - xsldbgdialogbase.cpp - description - ------------------- - begin : Sun Jan 6 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#include "xsldbgdialogbase.h" - -XsldbgDialogBase::XsldbgDialogBase(){ -} - -XsldbgDialogBase::~XsldbgDialogBase(){ -} - - -bool XsldbgDialogBase::isValid() -{ - return true; -} - -void XsldbgDialogBase::update() -{ -} - -void XsldbgDialogBase::refresh() -{ -} - diff --git a/kxsldbg/kxsldbgpart/xsldbgdialogbase.h b/kxsldbg/kxsldbgpart/xsldbgdialogbase.h deleted file mode 100644 index 41393526..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgdialogbase.h +++ /dev/null @@ -1,46 +0,0 @@ -/*************************************************************************** - xsldbgdialogbase.h - description - ------------------- - begin : Sun Jan 6 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#ifndef XSLDBGDIALOGBASE_H -#define XSLDBGDIALOGBASE_H - - -/** - *@author Keith Isdale - */ - -#include <tqfiledialog.h> - -class XsldbgDialogBase { - -public: - XsldbgDialogBase(); - virtual ~XsldbgDialogBase(); - -public : - /** return true if all data ok */ - virtual bool isValid(); - - /** Update changes to xsldbg*/ - virtual void update(); - - /** refresh data from source */ - virtual void refresh(); - -}; - -#endif diff --git a/kxsldbg/kxsldbgpart/xsldbgdoc.cpp b/kxsldbg/kxsldbgpart/xsldbgdoc.cpp deleted file mode 100644 index 0579a854..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgdoc.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/* - Handle our documents - */ - -#include "xsldbgdoc.h" - -XsldbgDoc::XsldbgDoc() -{ - fileName = TQString(); - text = TQString(); - row = 0; - column = 0; -} - - -XsldbgDoc::XsldbgDoc(const TQString &fileName, const TQString &text) -{ - this->fileName = fileName; - this->text = text; - row = 0; - column = 0; -} - - -XsldbgDoc::~XsldbgDoc() -{ - /* Empty */ -} - - -TQString XsldbgDoc::getText() const -{ - return text; -} - - -TQString XsldbgDoc::getFileName() const -{ - return fileName; -} - -void XsldbgDoc::setRow(int row) -{ - this->row = row; -} - -int XsldbgDoc::getRow() -{ - return row; -} - -void XsldbgDoc::setColumn(int column) -{ - this->column = column; -} - - -int XsldbgDoc::getColumn() -{ - return column; -} diff --git a/kxsldbg/kxsldbgpart/xsldbgdoc.h b/kxsldbg/kxsldbgpart/xsldbgdoc.h deleted file mode 100644 index 105634a8..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgdoc.h +++ /dev/null @@ -1,28 +0,0 @@ - -#ifndef XSLDBGDOC -#define XSLDBGDOC - -#include <tqstring.h> - -class XsldbgDoc { - public: - XsldbgDoc(); - XsldbgDoc(const TQString &fileName, const TQString &text); - ~XsldbgDoc(); - - TQString getText() const; - TQString getFileName() const; - - void setRow(int row); - int getRow(); - void setColumn(int column); - int getColumn(); - - private: - TQString text; - TQString fileName; - int row, column; - -}; - -#endif diff --git a/kxsldbg/kxsldbgpart/xsldbgdocmap.h b/kxsldbg/kxsldbgpart/xsldbgdocmap.h deleted file mode 100644 index 22edd94e..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgdocmap.h +++ /dev/null @@ -1,5 +0,0 @@ - -#include <tqmap.h> -#include "tqxsldbgdoc.h" - -typedef TQMap<TQString, QXsldbgDoc> XsldbgDocMap; diff --git a/kxsldbg/kxsldbgpart/xsldbgentities.ui b/kxsldbg/kxsldbgpart/xsldbgentities.ui deleted file mode 100644 index 47a9ea2f..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgentities.ui +++ /dev/null @@ -1,161 +0,0 @@ -<!DOCTYPE UI><UI version="3.1" stdsetdef="1"> -<class>XsldbgEntities</class> -<author>Keith Isdale <k_isdale@tpg.com.au></author> -<widget class="TQWidget"> - <property name="name"> - <cstring>XsldbgEntities</cstring> - </property> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>610</width> - <height>464</height> - </rect> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="caption"> - <string>Xsldbg Entities</string> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>11</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQListView" row="0" column="0"> - <column> - <property name="text"> - <string>PublicID</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>SystemID</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <property name="name"> - <cstring>entitiesListView</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - </widget> - <spacer row="3" column="0"> - <property name="name"> - <cstring>Spacer3_2_2</cstring> - </property> - <property name="orientation"> - <enum>Vertical</enum> - </property> - <property name="sizeType"> - <enum>Fixed</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQLayoutWidget" row="4" column="0"> - <property name="name"> - <cstring>Layout3</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <spacer> - <property name="name"> - <cstring>Spacer4</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQPushButton"> - <property name="name"> - <cstring>refreshBtn</cstring> - </property> - <property name="text"> - <string>Refresh</string> - </property> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer5</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </hbox> - </widget> - </grid> -</widget> -<connections> - <connection> - <sender>refreshBtn</sender> - <signal>clicked()</signal> - <receiver>XsldbgEntities</receiver> - <slot>refresh()</slot> - </connection> -</connections> -<slots> - <slot>refresh()</slot> -</slots> -<layoutdefaults spacing="6" margin="11"/> -</UI> diff --git a/kxsldbg/kxsldbgpart/xsldbgentitiesimpl.cpp b/kxsldbg/kxsldbgpart/xsldbgentitiesimpl.cpp deleted file mode 100644 index 576696db..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgentitiesimpl.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/*************************************************************************** - xsldbgentitiesimplimpl.cpp - description - ------------------- - begin : Sun Jan20 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#include <tqlistview.h> -#include <tqlineedit.h> - -#include "xsldbgentitiesimpl.h" -#include "xsldbgdebugger.h" -#include "xsldbggloballistitem.h" - - -XsldbgEntitiesImpl::XsldbgEntitiesImpl(XsldbgDebugger *debugger, - TQWidget *parent /*=0*/, const char *name /*=0*/) - : XsldbgEntities(parent, name), XsldbgDialogBase() -{ - this->debugger = debugger; - connect(debugger, - TQ_SIGNAL(entityItem(TQString /*SystemID*/, - TQString /*PublicID*/)), - this, - TQ_SLOT(slotProcEntityItem(TQString /*SystemID*/, - TQString /*PublicID*/))); - - connect( entitiesListView, - TQ_SIGNAL(selectionChanged(TQListViewItem *)), - this, TQ_SLOT(selectionChanged(TQListViewItem*))); - show(); -} - - -XsldbgEntitiesImpl::~XsldbgEntitiesImpl(){ -} - - -void XsldbgEntitiesImpl::slotProcEntityItem(TQString SystemID, TQString PublicID) -{ - if (SystemID.isNull()) - entitiesListView->clear(); - else{ - entitiesListView->insertItem( - new XsldbgGlobalListItem(entitiesListView, - SystemID, -1, PublicID)); - } - -} - - -void XsldbgEntitiesImpl::selectionChanged(TQListViewItem *item) -{ - XsldbgGlobalListItem *globalItem = dynamic_cast<XsldbgGlobalListItem*>(item); - if (globalItem){ - debugger->gotoLine(globalItem->getFileName(), 1); - } -} - -void XsldbgEntitiesImpl::refresh() -{ - debugger->fakeInput("entities", true) ; -} - - - - - -#include "xsldbgentitiesimpl.moc" diff --git a/kxsldbg/kxsldbgpart/xsldbgentitiesimpl.h b/kxsldbg/kxsldbgpart/xsldbgentitiesimpl.h deleted file mode 100644 index 8c8cc8b7..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgentitiesimpl.h +++ /dev/null @@ -1,54 +0,0 @@ -/*************************************************************************** - xsldbgentitiesimpl.h - description - ------------------- - begin : Sun Jan 20 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#ifndef XSLDBGENTITIESIMPL_H -#define XSLDBGENTITIESIMPL_H - -/** - *@author Keith Isdale - */ - -#include "xsldbgentities.h" -#include "xsldbgdialogbase.h" - -class XsldbgDebugger; - -class XsldbgEntitiesImpl : public XsldbgEntities, public XsldbgDialogBase { - TQ_OBJECT - - -public: - XsldbgEntitiesImpl(XsldbgDebugger *debugger, TQWidget *parent=0, const char *name=0); - ~XsldbgEntitiesImpl(); - -public slots: - /** Process request to add entity to view, First parameter is TQString() - to indicate start of entity list notfication */ - void slotProcEntityItem(TQString SystemID, TQString PublicID); - - void selectionChanged(TQListViewItem *item); - - /** refresh data from source */ - void refresh(); - - -private: - XsldbgDebugger *debugger; - -}; - -#endif diff --git a/kxsldbg/kxsldbgpart/xsldbggloballistitem.cpp b/kxsldbg/kxsldbgpart/xsldbggloballistitem.cpp deleted file mode 100644 index 3ad3ed81..00000000 --- a/kxsldbg/kxsldbgpart/xsldbggloballistitem.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/*************************************************************************** - xsldbggloballistitem.cpp - description - ------------------- - begin : Sun Jan 13 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "xsldbggloballistitem.h" - -XsldbgGlobalListItem::XsldbgGlobalListItem(TQListView *parent, - TQString fileName, int lineNumber, TQString globalName) - : XsldbgListItem(parent, 1, fileName, lineNumber) -{ - varName = globalName; - setText(0, globalName); -} - - -XsldbgGlobalListItem::~XsldbgGlobalListItem() -{ -} - - -TQString XsldbgGlobalListItem::getVarName() -{ - return varName; -} - diff --git a/kxsldbg/kxsldbgpart/xsldbggloballistitem.h b/kxsldbg/kxsldbgpart/xsldbggloballistitem.h deleted file mode 100644 index fe3cd47f..00000000 --- a/kxsldbg/kxsldbgpart/xsldbggloballistitem.h +++ /dev/null @@ -1,41 +0,0 @@ -/*************************************************************************** - xsldbggloballistitem.h - description - ------------------- - begin : Sun Jan 13 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#ifndef XSLDBGGLOBALLISTITEM_H -#define XSLDBGGLOBALLISTITEM_H - -/** - *@author Keith Isdale - */ - -#include "xsldbglistitem.h" - - -class XsldbgGlobalListItem : public XsldbgListItem { -public: - XsldbgGlobalListItem(TQListView *parent, - TQString fileName, int lineNumber, TQString globalName); - ~XsldbgGlobalListItem(); - - /** return the name of this variable */ - TQString getVarName(); - -private: - TQString varName; -}; - -#endif diff --git a/kxsldbg/kxsldbgpart/xsldbgglobalvariables.ui b/kxsldbg/kxsldbgpart/xsldbgglobalvariables.ui deleted file mode 100644 index ce674743..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgglobalvariables.ui +++ /dev/null @@ -1,272 +0,0 @@ -<!DOCTYPE UI><UI version="3.1" stdsetdef="1"> -<class>XsldbgGlobalVariables</class> -<author>Keith Isdale <k_isdale@tpg.com.au></author> -<widget class="TQWidget"> - <property name="name"> - <cstring>XsldbgGlobalVariables</cstring> - </property> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>639</width> - <height>342</height> - </rect> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="caption"> - <string>Xsldbg Global Variables</string> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>11</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQListView" row="2" column="0"> - <column> - <property name="text"> - <string>Name</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>Source File</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>Source Line Number</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <property name="name"> - <cstring>varsListView</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>3</hsizetype> - <vsizetype>3</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - </widget> - <spacer row="1" column="0"> - <property name="name"> - <cstring>Spacer3</cstring> - </property> - <property name="orientation"> - <enum>Vertical</enum> - </property> - <property name="sizeType"> - <enum>Fixed</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>21</height> - </size> - </property> - </spacer> - <widget class="TQLayoutWidget" row="0" column="0"> - <property name="name"> - <cstring>Layout4</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <spacer> - <property name="name"> - <cstring>Spacer1</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Fixed</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>Layout1</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLabel"> - <property name="name"> - <cstring>TextLabel1</cstring> - </property> - <property name="text"> - <string>Expression:</string> - </property> - </widget> - <widget class="TQLineEdit"> - <property name="name"> - <cstring>expressionEdit</cstring> - </property> - <property name="toolTip" stdset="0"> - <string>Enter a valid XPath expression</string> - </property> - </widget> - </hbox> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer2</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Fixed</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQPushButton"> - <property name="name"> - <cstring>expressionButton</cstring> - </property> - <property name="text"> - <string>Evaluate</string> - </property> - <property name="toolTip" stdset="0"> - <string>Result of evaluation will appear in message window</string> - </property> - </widget> - </hbox> - </widget> - <widget class="TQLayoutWidget" row="3" column="0"> - <property name="name"> - <cstring>Layout3</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <spacer> - <property name="name"> - <cstring>Spacer4</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQPushButton"> - <property name="name"> - <cstring>refreshBtn</cstring> - </property> - <property name="text"> - <string>Refresh</string> - </property> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer5</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </hbox> - </widget> - </grid> -</widget> -<connections> - <connection> - <sender>expressionButton</sender> - <signal>clicked()</signal> - <receiver>XsldbgGlobalVariables</receiver> - <slot>slotEvaluate()</slot> - </connection> - <connection> - <sender>refreshBtn</sender> - <signal>clicked()</signal> - <receiver>XsldbgGlobalVariables</receiver> - <slot>refresh()</slot> - </connection> -</connections> -<slots> - <slot>refresh()</slot> - <slot>slotEvaluate()</slot> -</slots> -<layoutdefaults spacing="6" margin="11"/> -</UI> diff --git a/kxsldbg/kxsldbgpart/xsldbgglobalvariablesimpl.cpp b/kxsldbg/kxsldbgpart/xsldbgglobalvariablesimpl.cpp deleted file mode 100644 index 69affd1e..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgglobalvariablesimpl.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/*************************************************************************** - xsldbgglobalvariablesimpl.cpp - description - ------------------- - begin : Sat Jan 5 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#include <tqlistview.h> -#include <tqlineedit.h> - -#include "xsldbgglobalvariablesimpl.h" -#include "xsldbgdebugger.h" -#include "xsldbggloballistitem.h" - - -XsldbgGlobalVariablesImpl::XsldbgGlobalVariablesImpl(XsldbgDebugger *debugger, - TQWidget *parent /*=0*/, const char *name /*=0*/) - : XsldbgGlobalVariables(parent, name), XsldbgDialogBase() -{ - this->debugger = debugger; - connect(debugger, TQ_SIGNAL(globalVariableItem(TQString /*name */, TQString /* fileName */, int /*lineNumber */)), - this, TQ_SLOT(slotProcGlobalVariableItem(TQString /*name */, TQString /* fileName */, int /*lineNumber */))); - connect( varsListView, TQ_SIGNAL(selectionChanged(TQListViewItem *)), - this, TQ_SLOT(selectionChanged(TQListViewItem*))); - show(); -} - - -XsldbgGlobalVariablesImpl::~XsldbgGlobalVariablesImpl(){ - debugger = 0L; -} - -void XsldbgGlobalVariablesImpl::slotProcGlobalVariableItem(TQString name , TQString fileName, int lineNumber) -{ - if (name.isNull()) - varsListView->clear(); - else{ - varsListView->insertItem(new XsldbgGlobalListItem(varsListView, - fileName, lineNumber, name)); - } - -} - - -void XsldbgGlobalVariablesImpl::selectionChanged(TQListViewItem *item) -{ - XsldbgGlobalListItem *globalItem = dynamic_cast<XsldbgGlobalListItem*>(item); - if (globalItem != 0 && debugger != 0) { - debugger->gotoLine(globalItem->getFileName(), globalItem->getLineNumber()); - } -} - -void XsldbgGlobalVariablesImpl::refresh() -{ - if (debugger != 0) - debugger->fakeInput("globals -q", true) ; -} - -void XsldbgGlobalVariablesImpl::slotEvaluate() -{ - if (debugger != 0L) - debugger->slotCatCmd( expressionEdit->text() ); -} - - - -#include "xsldbgglobalvariablesimpl.moc" diff --git a/kxsldbg/kxsldbgpart/xsldbgglobalvariablesimpl.h b/kxsldbg/kxsldbgpart/xsldbgglobalvariablesimpl.h deleted file mode 100644 index eca498b8..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgglobalvariablesimpl.h +++ /dev/null @@ -1,56 +0,0 @@ -/*************************************************************************** - xsldbgglobalvariablesimpl.h - description - ------------------- - begin : Sat Jan 5 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#ifndef XSLDBGGLOBALVARIABLESIMPL_H -#define XSLDBGGLOBALVARIABLESIMPL_H - -/** - *@author Keith Isdale - */ - -#include "xsldbgglobalvariables.h" -#include "xsldbgdialogbase.h" - -class XsldbgDebugger; - -class XsldbgGlobalVariablesImpl : public XsldbgGlobalVariables, public XsldbgDialogBase { - TQ_OBJECT - - -public: - XsldbgGlobalVariablesImpl(XsldbgDebugger *debugger, TQWidget *parent=0, const char *name=0); - ~XsldbgGlobalVariablesImpl(); - -public slots: - /** Process request to add global variable to view, First parameter is TQString() - to indicate start of global variable list notfication */ - void slotProcGlobalVariableItem(TQString name , TQString fileName, int lineNumber); - - void selectionChanged(TQListViewItem *item); - - /** refresh data from source */ - void refresh(); - - void slotEvaluate(); - - -private: - XsldbgDebugger *debugger; - -}; - -#endif diff --git a/kxsldbg/kxsldbgpart/xsldbginspector.cpp b/kxsldbg/kxsldbgpart/xsldbginspector.cpp deleted file mode 100644 index 7db6ce20..00000000 --- a/kxsldbg/kxsldbgpart/xsldbginspector.cpp +++ /dev/null @@ -1,210 +0,0 @@ -/** - File : xsldbginspector.cpp - Author : Keith Isdale - Date : 30th March 2002 - Description : Dialog to inspect stylesheet using xsldbg. Based on - file created by uic - */ - -#include "xsldbginspector.h" - -#include <tdelocale.h> - -#include <tqvariant.h> -#include <tqlistbox.h> -#include <tqpushbutton.h> -#include <tqtabwidget.h> -#include <tqwidget.h> -#include <tqmime.h> -#include <tqdragobject.h> -#include <tqlayout.h> -#include <tqtooltip.h> -#include <tqwhatsthis.h> -#include <tqimage.h> -#include <tqpixmap.h> -#include <tqiconset.h> - -#include <kpushbutton.h> -#include <kstdguiitem.h> -#include "xsldbgdebugger.h" -#include "xsldbgbreakpointsimpl.h" -#include "xsldbglocalvariablesimpl.h" -#include "xsldbgcallstackimpl.h" -#include "xsldbgtemplatesimpl.h" -#include "xsldbgsourcesimpl.h" -#include "xsldbgentitiesimpl.h" - -static TQPixmap uic_load_pixmap_XsldbgInspector( const TQString &name ) -{ - const TQMimeSource *m = TQMimeSourceFactory::defaultFactory()->data( name ); - if ( !m ) - return TQPixmap(); - TQPixmap pix; - TQImageDrag::decode( m, pix ); - return pix; -} -/* - * Constructs a XsldbgInspector which is a child of 'parent', with the - * name 'name' and widget flags set to 'f'. - * - * The dialog will by default be modeless, unless you set 'modal' to - * true to construct a modal dialog. - */ -XsldbgInspector::XsldbgInspector( XsldbgDebugger *debugger, TQWidget* parent, - const char* name, bool modal, WFlags fl ) - : TQDialog( parent, name, modal, fl ) -{ - TQ_CHECK_PTR(debugger); - this->debugger = debugger; - breakpointWidget = 0L; - localWidget = 0L; - callStackWidget = 0L; - templateWidget = 0L; - sourceWidget = 0L; - entityWidget = 0L; - if ( !name ) - setName( "XsldbgInspector" ); - resize( 597, 364 ); - setCaption( i18n( "Xsldbg Inspector" ) ); - setSizeGripEnabled( true ); - XsldbgInspectorLayout = new TQGridLayout( this, 1, 1, 11, 6, - "XsldbgInspectorLayout"); - - tabWidget = new TQTabWidget( this, "tabWidget" ); - TQ_CHECK_PTR( tabWidget ); - breakpointWidget = new XsldbgBreakpointsImpl( debugger, tabWidget ); - TQ_CHECK_PTR( breakpointWidget ); - tabWidget->insertTab( breakpointWidget, i18n( "Breakpoints" ) ); - - localWidget = new XsldbgLocalVariablesImpl( debugger, tabWidget ); - TQ_CHECK_PTR( localWidget ); - tabWidget->insertTab( localWidget, - TQIconSet( uic_load_pixmap_XsldbgInspector( "xsldbg_source.png" ) ), - i18n( "Variables" ) ); - - callStackWidget = new XsldbgCallStackImpl( debugger, tabWidget ); - TQ_CHECK_PTR( callStackWidget ); - tabWidget->insertTab( callStackWidget, - TQIconSet( uic_load_pixmap_XsldbgInspector( "xsldbg_source.png" ) ), - i18n( "CallStack" )); - - templateWidget = new XsldbgTemplatesImpl( debugger, tabWidget ); - TQ_CHECK_PTR( templateWidget ); - tabWidget->insertTab( templateWidget, - TQIconSet( uic_load_pixmap_XsldbgInspector( "xsldbg_source.png" ) ), - i18n( "Templates" )); - - sourceWidget = new XsldbgSourcesImpl( debugger, tabWidget ); - TQ_CHECK_PTR( sourceWidget ); - tabWidget->insertTab( sourceWidget, - TQIconSet( uic_load_pixmap_XsldbgInspector( "xsldbg_source.png" ) ), - i18n( "Sources" )); - - entityWidget = new XsldbgEntitiesImpl( debugger, tabWidget ); - TQ_CHECK_PTR( entityWidget ); - tabWidget->insertTab( entityWidget, - TQIconSet( uic_load_pixmap_XsldbgInspector( "xsldbg_data.png" ) ), - i18n( "Entities" )); - - XsldbgInspectorLayout->addWidget( tabWidget, 0, 1 ); - Layout1 = new TQHBoxLayout( 0, 0, 6, "Layout1"); - - buttonHelp = new KPushButton( KStdGuiItem::help(), this, "buttonHelp" ); - buttonHelp->setAccel( 4144 ); - buttonHelp->setAutoDefault( true ); - Layout1->addWidget( buttonHelp ); - TQSpacerItem* spacer = new TQSpacerItem( 20, 20, TQSizePolicy::Expanding, TQSizePolicy::Minimum ); - Layout1->addItem( spacer ); - - buttonOk = new KPushButton( KStdGuiItem::ok(), this, "buttonOk" ); - buttonOk->setAccel( 0 ); - buttonOk->setAutoDefault( true ); - buttonOk->setDefault( true ); - Layout1->addWidget( buttonOk ); - - buttonApply = new KPushButton( KStdGuiItem::apply(), this, "buttonApply" ); - TQToolTip::add(buttonApply, i18n("Apply changes to xsldbg after restarting execution")); - buttonApply->setAccel( 0 ); - buttonApply->setAutoDefault( true ); - buttonApply->setDefault( true ); - Layout1->addWidget( buttonApply ); - - buttonRefresh = new TQPushButton( this, "buttonRefresh" ); - buttonRefresh->setText( i18n( "&Refresh" ) ); - TQToolTip::add(buttonRefresh, i18n("Refresh values in inspectors from xsldbg")); - buttonRefresh->setAccel( 0 ); - buttonRefresh->setAutoDefault( true ); - buttonRefresh->setDefault( true ); - Layout1->addWidget( buttonRefresh ); - - buttonCancel = new KPushButton( KStdGuiItem::cancel(), this, "buttonCancel" ); - buttonCancel->setAccel( 0 ); - buttonCancel->setAutoDefault( true ); - Layout1->addWidget( buttonCancel ); - - XsldbgInspectorLayout->addMultiCellLayout( Layout1, 1, 1, 0, 1 ); - - // signals and slots connections - connect( buttonOk, TQ_SIGNAL( clicked() ), this, TQ_SLOT( accept() ) ); - connect( buttonApply, TQ_SIGNAL ( clicked() ), this, TQ_SLOT ( update() ) ); - connect( buttonRefresh, TQ_SIGNAL ( clicked() ), this, TQ_SLOT ( refresh() ) ); - connect( buttonCancel, TQ_SIGNAL( clicked() ), this, TQ_SLOT( reject() ) ); - - hide(); -} - -/* - * Destroys the object and frees any allocated resources - */ -XsldbgInspector::~XsldbgInspector() -{ - debugger = 0L; - // no need to delete child widgets, TQt does it all for us -} - - -void XsldbgInspector::accept() -{ - TQDialog::accept(); -} - -void XsldbgInspector::reject() -{ - TQDialog::reject(); -} - - -void XsldbgInspector::refresh() -{ - - refreshBreakpoints(); - refreshVariables(); - - if ( templateWidget != 0L) - templateWidget->refresh(); - - if ( sourceWidget != 0L) - sourceWidget->refresh(); - - if ( entityWidget != 0L) - entityWidget->refresh(); - -} - -void XsldbgInspector::refreshBreakpoints() -{ - if ( breakpointWidget != 0L ) - breakpointWidget->refresh(); -} - - -void XsldbgInspector::refreshVariables() -{ - if ( localWidget != 0L ) - localWidget->refresh(); - - if (callStackWidget != 0L) - callStackWidget->refresh(); -} - -#include "xsldbginspector.moc" diff --git a/kxsldbg/kxsldbgpart/xsldbginspector.h b/kxsldbg/kxsldbgpart/xsldbginspector.h deleted file mode 100644 index 1663dcb5..00000000 --- a/kxsldbg/kxsldbgpart/xsldbginspector.h +++ /dev/null @@ -1,68 +0,0 @@ -/** - File : xsldbginspector.h - Author : Keith Isdale - Date : 30th March 2002 - Description : Dialog to inspect stylesheet using xsldbg. Based on - file created by uic -*/ -#ifndef XSLDBGINSPECTOR_H -#define XSLDBGINSPECTOR_H - -#include <tqvariant.h> -#include <tqdialog.h> -class TQVBoxLayout; -class TQHBoxLayout; -class TQGridLayout; -class TQListBox; -class TQListBoxItem; -class TQPushButton; -class TQTabWidget; -class TQWidget; -class KPushButton; - -class XsldbgDebugger; -class XsldbgBreakpointsImpl; -class XsldbgLocalVariablesImpl; -class XsldbgCallStackImpl; -class XsldbgTemplatesImpl; -class XsldbgSourcesImpl; -class XsldbgEntitiesImpl; - -class XsldbgInspector : public TQDialog -{ - TQ_OBJECT - - -public: - XsldbgInspector( XsldbgDebugger *debugger, TQWidget* parent = 0, const char* name = 0, bool modal = false, WFlags fl = 0 ); - ~XsldbgInspector(); - - TQTabWidget* tabWidget; - KPushButton* buttonHelp; - KPushButton* buttonOk; - KPushButton* buttonApply; - TQPushButton* buttonRefresh; - KPushButton* buttonCancel; - - -public slots: - void accept(); - void reject(); - void refresh(); - void refreshBreakpoints(); - void refreshVariables(); - - -protected: - TQGridLayout* XsldbgInspectorLayout; - TQHBoxLayout* Layout1; - XsldbgDebugger *debugger; - XsldbgBreakpointsImpl *breakpointWidget; - XsldbgLocalVariablesImpl *localWidget; - XsldbgCallStackImpl *callStackWidget; - XsldbgTemplatesImpl *templateWidget; - XsldbgSourcesImpl *sourceWidget; - XsldbgEntitiesImpl *entityWidget; -}; - -#endif // XSLDBGINPECTOR_H diff --git a/kxsldbg/kxsldbgpart/xsldbglistitem.cpp b/kxsldbg/kxsldbgpart/xsldbglistitem.cpp deleted file mode 100644 index c04bc7b4..00000000 --- a/kxsldbg/kxsldbgpart/xsldbglistitem.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/*************************************************************************** - xsldbglistitem.cpp - description - ------------------- - begin : Sun Jan 6 2002 - copyright : (C) 2002 by Andras Mantia - email : amantia@kde.org - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "xsldbglistitem.h" - -XsldbgListItem::XsldbgListItem(TQListView *parent, int columnOffset, - const TQString & fileName, int lineNumber) - : TQListViewItem(parent) -{ - this->fileName = fileName; - this->lineNumber = lineNumber; - setText(columnOffset, fileName); - /* we may not have a line number column so skip it if needed */ - if ((listView()->columns() >= columnOffset + 1) && (lineNumber != -1)) - setText(columnOffset + 1, TQString::number(lineNumber)); -} - -XsldbgListItem::~XsldbgListItem() -{ -} - - -TQString XsldbgListItem::getFileName() const -{ - return fileName; -} - -int XsldbgListItem::getLineNumber() const -{ - return lineNumber; -} - diff --git a/kxsldbg/kxsldbgpart/xsldbglistitem.h b/kxsldbg/kxsldbgpart/xsldbglistitem.h deleted file mode 100644 index 0d8ac6a7..00000000 --- a/kxsldbg/kxsldbgpart/xsldbglistitem.h +++ /dev/null @@ -1,45 +0,0 @@ -/*************************************************************************** - xsldbglistitem.h - description - - ------------------- - begin : Sun Jan 6 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef XSLDBGLISTITEM_H -#define XSLDBGLISTITEM_H - -/** - *@author Keith Isdale - */ - - -#include <tqlistview.h> - -class XsldbgListItem : public TQListViewItem { -public: - /** column offset is the index of the fileName column */ - XsldbgListItem(TQListView *parent, int columnOffset, - const TQString &fileName, int lineNumber); - ~XsldbgListItem(); - - - TQString getFileName() const; - int getLineNumber() const; - -private: - TQString fileName; - int lineNumber; -}; - -#endif diff --git a/kxsldbg/kxsldbgpart/xsldbglocallistitem.cpp b/kxsldbg/kxsldbgpart/xsldbglocallistitem.cpp deleted file mode 100644 index 3d0725b1..00000000 --- a/kxsldbg/kxsldbgpart/xsldbglocallistitem.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/*************************************************************************** - xsldbglocallistitem.cpp - description - ------------------- - begin : Sun Jan 13 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#include "xsldbglocallistitem.h" -#include <tdelocale.h> - -XsldbgLocalListItem::XsldbgLocalListItem(TQListView *parent, TQString fileName, int lineNumber, - TQString localName, TQString templateContext, TQString selectXPath, bool localVariable) -: XsldbgListItem(parent, 3, fileName, lineNumber) -{ - varName = localName; - contextName = templateContext; - XPath = selectXPath; - - setText(0, localName); - setText(1, templateContext); - if (localVariable) - setText(2, i18n("Local")); - else - setText(2, i18n("Global")); -} - -XsldbgLocalListItem::~XsldbgLocalListItem() -{ -} - -TQString XsldbgLocalListItem::getVarName() -{ - return varName; -} - -TQString XsldbgLocalListItem::getContextName() -{ - return contextName; -} - -TQString XsldbgLocalListItem::getXPath() -{ - return XPath; -} - -bool XsldbgLocalListItem::isLocalVariable() -{ - return localVar; -} diff --git a/kxsldbg/kxsldbgpart/xsldbglocallistitem.h b/kxsldbg/kxsldbgpart/xsldbglocallistitem.h deleted file mode 100644 index 81c815e1..00000000 --- a/kxsldbg/kxsldbgpart/xsldbglocallistitem.h +++ /dev/null @@ -1,51 +0,0 @@ -/*************************************************************************** - xsldbglocallistitem.h - description - ------------------- - begin : Sun Jan 13 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#ifndef XSLDBGLOCALLISTITEM_H -#define XSLDBGLOCALLISTITEM_H - -/** - *@author Keith Isdale - */ - -#include "xsldbglistitem.h" - -class XsldbgLocalListItem : public XsldbgListItem { -public: - XsldbgLocalListItem(TQListView *parent, TQString fileName, int lineNumber, - TQString localName, TQString templateContext, TQString selectXPath, bool localVariable); - ~XsldbgLocalListItem(); - - /** return the name of this variable */ - TQString getVarName(); - - /** return the template context for this variable */ - TQString getContextName(); - - /** return the XPath for this variable */ - TQString getXPath(); - - bool isLocalVariable(); - -private: - TQString varName; - TQString contextName; - TQString XPath; - bool localVar; -}; - -#endif diff --git a/kxsldbg/kxsldbgpart/xsldbglocalvariables.ui b/kxsldbg/kxsldbgpart/xsldbglocalvariables.ui deleted file mode 100644 index 45a8eb1d..00000000 --- a/kxsldbg/kxsldbgpart/xsldbglocalvariables.ui +++ /dev/null @@ -1,374 +0,0 @@ -<!DOCTYPE UI><UI version="3.1" stdsetdef="1"> -<class>XsldbgLocalVariables</class> -<author>Keith Isdale <k_isdale@tpg.com.au></author> -<widget class="TQWidget"> - <property name="name"> - <cstring>XsldbgLocalVaraibles</cstring> - </property> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>690</width> - <height>473</height> - </rect> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="caption"> - <string>Xsldbg Local Variables</string> - </property> - <vbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>11</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>Layout7</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <spacer> - <property name="name"> - <cstring>Spacer1</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Fixed</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>Layout1</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLabel"> - <property name="name"> - <cstring>TextLabel1</cstring> - </property> - <property name="text"> - <string>Expression:</string> - </property> - </widget> - <widget class="TQLineEdit"> - <property name="name"> - <cstring>expressionEdit</cstring> - </property> - <property name="toolTip" stdset="0"> - <string>Enter a valid XPath expression</string> - </property> - </widget> - </hbox> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer2</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Fixed</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQPushButton"> - <property name="name"> - <cstring>expressionButton</cstring> - </property> - <property name="text"> - <string>Evaluate</string> - </property> - <property name="toolTip" stdset="0"> - <string>Result of evaluation will appear in message window</string> - </property> - </widget> - </hbox> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer3</cstring> - </property> - <property name="orientation"> - <enum>Vertical</enum> - </property> - <property name="sizeType"> - <enum>Fixed</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>21</height> - </size> - </property> - </spacer> - <widget class="TQListView"> - <column> - <property name="text"> - <string>Name</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>Template Context</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>Type</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>Source File</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>Source Line Number</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <property name="name"> - <cstring>varsListView</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>3</hsizetype> - <vsizetype>3</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - </widget> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>layout6</cstring> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <widget class="TQLabel" row="2" column="0"> - <property name="name"> - <cstring>textLabel4</cstring> - </property> - <property name="text"> - <string>Variable expression:</string> - </property> - </widget> - <widget class="TQLineEdit" row="0" column="1"> - <property name="name"> - <cstring>variableName</cstring> - </property> - </widget> - <widget class="TQLabel" row="1" column="1"> - <property name="name"> - <cstring>variableType</cstring> - </property> - <property name="text"> - <string></string> - </property> - </widget> - <widget class="TQLabel" row="1" column="0"> - <property name="name"> - <cstring>textLabel2</cstring> - </property> - <property name="text"> - <string>Variable type:</string> - </property> - </widget> - <widget class="TQLayoutWidget" row="2" column="1"> - <property name="name"> - <cstring>layout8</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <widget class="TQLineEdit"> - <property name="name"> - <cstring>xPathEdit</cstring> - </property> - </widget> - <widget class="TQPushButton"> - <property name="name"> - <cstring>setExpressionButton</cstring> - </property> - <property name="text"> - <string>Set Expression</string> - </property> - <property name="toolTip" stdset="0"> - <string>Set the selection for variable </string> - </property> - </widget> - </hbox> - </widget> - <widget class="TQLabel" row="0" column="0"> - <property name="name"> - <cstring>textLabel2_2</cstring> - </property> - <property name="text"> - <string>Variable name:</string> - </property> - </widget> - </grid> - </widget> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>Layout3</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <spacer> - <property name="name"> - <cstring>Spacer4</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQPushButton"> - <property name="name"> - <cstring>refreshBtn</cstring> - </property> - <property name="text"> - <string>Refresh</string> - </property> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer5</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </hbox> - </widget> - </vbox> -</widget> -<connections> - <connection> - <sender>expressionButton</sender> - <signal>clicked()</signal> - <receiver>XsldbgLocalVaraibles</receiver> - <slot>slotEvaluate()</slot> - </connection> - <connection> - <sender>refreshBtn</sender> - <signal>clicked()</signal> - <receiver>XsldbgLocalVaraibles</receiver> - <slot>refresh()</slot> - </connection> - <connection> - <sender>setExpressionButton</sender> - <signal>clicked()</signal> - <receiver>XsldbgLocalVaraibles</receiver> - <slot>slotSetExpression()</slot> - </connection> -</connections> -<slots> - <slot>refresh()</slot> - <slot>slotEvaluate()</slot> - <slot>slotSetExpression()</slot> -</slots> -<layoutdefaults spacing="6" margin="11"/> -</UI> diff --git a/kxsldbg/kxsldbgpart/xsldbglocalvariablesimpl.cpp b/kxsldbg/kxsldbgpart/xsldbglocalvariablesimpl.cpp deleted file mode 100644 index 5926734e..00000000 --- a/kxsldbg/kxsldbgpart/xsldbglocalvariablesimpl.cpp +++ /dev/null @@ -1,121 +0,0 @@ -/*************************************************************************** - xsldbglocalvariablesimpl.cpp - description - ------------------- - begin : Sat Jan 5 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include <tqlistview.h> -#include <tqlineedit.h> -#include <tqlabel.h> -#include <tqpushbutton.h> - -#include "xsldbglocalvariablesimpl.h" -#include "xsldbglocallistitem.h" -#include "xsldbgdebugger.h" -#include <tdelocale.h> - - -XsldbgLocalVariablesImpl::XsldbgLocalVariablesImpl(XsldbgDebugger *debugger, - TQWidget *parent /*=0*/, const char *name /*=0*/) - : XsldbgLocalVariables(parent, name), XsldbgDialogBase() -{ - this->debugger = debugger; - connect(debugger, TQ_SIGNAL(variableItem(TQString /*name */, TQString /* templateContext*/, - TQString /* fileName */, int /*lineNumber */, - TQString /* select XPath */, int /* is it a local variable */)), - this, TQ_SLOT(slotProcVariableItem(TQString /*name */, TQString /* templateContext*/, - TQString /* fileName */, int /*lineNumber */, - TQString /* select XPath */, int /* is it a local variable */))); - connect(varsListView, TQ_SIGNAL(selectionChanged(TQListViewItem *)), - this, TQ_SLOT(selectionChanged(TQListViewItem*))); - show(); -} - - -XsldbgLocalVariablesImpl::~XsldbgLocalVariablesImpl() -{ - debugger = 0L; -} - -void XsldbgLocalVariablesImpl::slotProcVariableItem(TQString name , TQString templateContext, - TQString fileName, int lineNumber, - TQString selectXPath, int localVariable) -{ - - if (!name.isNull()){ - varsListView->insertItem(new XsldbgLocalListItem(varsListView, - fileName, lineNumber, name, templateContext, selectXPath, localVariable != 0)); - } - -} - -void XsldbgLocalVariablesImpl::selectionChanged(TQListViewItem *item) -{ - XsldbgLocalListItem *localItem = dynamic_cast<XsldbgLocalListItem*>(item); - if (localItem){ - variableName->setText(localItem->getVarName()); - xPathEdit->setText(localItem->getXPath()); - - if (localItem->isLocalVariable()) - variableType->setText(i18n("Local")); - else - variableType->setText(i18n("Global")); - - setExpressionButton->setEnabled(!localItem->getXPath().isEmpty()); - xPathEdit->setEnabled(!localItem->getXPath().isEmpty()); - debugger->gotoLine(localItem->getFileName(), localItem->getLineNumber()); - }else{ - // "clear" values in variable editing widgets - variableName->setText(""); - xPathEdit->setText(""); - variableType->setText(""); - setExpressionButton->setEnabled(false); - xPathEdit->setEnabled(false); - } - -} - -void XsldbgLocalVariablesImpl::refresh() -{ - if (varsListView){ - varsListView->clear(); - debugger->fakeInput("locals -q", true) ; - // "clear" values in variable editing widgets - variableName->setText(""); - xPathEdit->setText(""); - variableType->setText(""); - setExpressionButton->setEnabled(false); - xPathEdit->setEnabled(false); - } -} - -void XsldbgLocalVariablesImpl::slotEvaluate() -{ - if (debugger != 0L) - debugger->slotCatCmd( expressionEdit->text() ); -} - -void XsldbgLocalVariablesImpl::slotSetExpression() -{ - if (debugger != 0L){ - debugger->slotSetVariableCmd( variableName->text(), xPathEdit->text() ); - refresh(); - } -} - - - - - -#include "xsldbglocalvariablesimpl.moc" diff --git a/kxsldbg/kxsldbgpart/xsldbglocalvariablesimpl.h b/kxsldbg/kxsldbgpart/xsldbglocalvariablesimpl.h deleted file mode 100644 index 805c41e4..00000000 --- a/kxsldbg/kxsldbgpart/xsldbglocalvariablesimpl.h +++ /dev/null @@ -1,61 +0,0 @@ -/*************************************************************************** - xsldbglocalvariablesimpl.h - description - ------------------- - begin : Sat Jan 5 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef XSLDBGLOCALVARIABLESIMPL_H -#define XSLDBGLOCALVARIABLESIMPL_H - -/** - *@author Keith Isdale - */ - -#include "xsldbglocalvariables.h" -#include "xsldbgdialogbase.h" - -class XsldbgDebugger; - -class XsldbgLocalVariablesImpl : public XsldbgLocalVariables, public XsldbgDialogBase { - TQ_OBJECT - - -public: - XsldbgLocalVariablesImpl(XsldbgDebugger *debugger, TQWidget *parent=0, const char *name=0); - ~XsldbgLocalVariablesImpl(); - -public slots: - /** Process request to add local varaible to view, First parameter is TQString() - to indicate start of local variable list notfication */ - - void slotProcVariableItem(TQString /*name */, TQString /* templateContext*/, - TQString /* fileName */, int /*lineNumber */, - TQString /* select XPath */, int /* is it a local variable */); - - void selectionChanged(TQListViewItem *item); - - /** refresh data from source */ - void refresh(); - - void slotEvaluate(); - - void slotSetExpression(); - - -private: - XsldbgDebugger *debugger; - -}; - -#endif diff --git a/kxsldbg/kxsldbgpart/xsldbgmsgdialog.ui b/kxsldbg/kxsldbgpart/xsldbgmsgdialog.ui deleted file mode 100644 index a69244bf..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgmsgdialog.ui +++ /dev/null @@ -1,175 +0,0 @@ -<!DOCTYPE UI><UI version="3.1" stdsetdef="1"> -<class>XsldbgMsgDialog</class> -<comment>Used with QT3 or greater</comment> -<author>Keith Isdale <k_isdale@tpg.com.au></author> -<widget class="TQDialog"> - <property name="name"> - <cstring>XsldbgMsgDialog</cstring> - </property> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>456</width> - <height>211</height> - </rect> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>7</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="caption"> - <string>qxsldbg Message</string> - </property> - <vbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>11</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>Layout4</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>Layout3</cstring> - </property> - <vbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLabel"> - <property name="name"> - <cstring>iconLbl</cstring> - </property> - <property name="text"> - <string>TextLabel1</string> - </property> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer5</cstring> - </property> - <property name="orientation"> - <enum>Vertical</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </vbox> - </widget> - <widget class="TQTextEdit"> - <property name="name"> - <cstring>msgTextEdit</cstring> - </property> - <property name="resizePolicy"> - <enum>AutoOneFit</enum> - </property> - <property name="readOnly"> - <bool>true</bool> - </property> - </widget> - </hbox> - </widget> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>Layout1</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <spacer> - <property name="name"> - <cstring>Spacer1</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQPushButton"> - <property name="name"> - <cstring>PushButton1</cstring> - </property> - <property name="text"> - <string>&OK</string> - </property> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer2</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </hbox> - </widget> - </vbox> -</widget> -<connections> - <connection> - <sender>PushButton1</sender> - <signal>clicked()</signal> - <receiver>XsldbgMsgDialog</receiver> - <slot>accept()</slot> - </connection> -</connections> -<layoutdefaults spacing="6" margin="11"/> -</UI> diff --git a/kxsldbg/kxsldbgpart/xsldbgmsgdialogimpl.h b/kxsldbg/kxsldbgpart/xsldbgmsgdialogimpl.h deleted file mode 100644 index 1c605e7e..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgmsgdialogimpl.h +++ /dev/null @@ -1,30 +0,0 @@ -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#ifndef XSLDBMSGDIALOGIMPL_H -#define XSLDBMSGDIALOGIMPL_H - -/** - *@author Keith Isdale - */ - -#include "xsldbgmsgdialog.h" -#include <tqtextedit.h> - -class XsldbgMsgDialogImpl : public XsldbgMsgDialog { - -public: - - XsldbgMsgDialogImpl(TQWidget *parent, - TQMessageBox::Icon icon, - const TQString & title, const TQString &msg); - - void append(const TQString &text); -}; -#endif diff --git a/kxsldbg/kxsldbgpart/xsldbgoutputview.cpp b/kxsldbg/kxsldbgpart/xsldbgoutputview.cpp deleted file mode 100644 index c07d928b..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgoutputview.cpp +++ /dev/null @@ -1,129 +0,0 @@ -/*************************************************************************** - xsldbgoutputview.cpp - Display raw output from xsldbg - ------------------- - begin : Sat July 27 2002 - copyright : (C) 2002 by keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -/** - *@author Keith Isdale - */ - -#include <tdelocale.h> - -#include <tqlayout.h> -#include <tqmessagebox.h> -#include <tqdialog.h> -#include <tqpushbutton.h> -#include <tqlabel.h> - -#include "xsldbgmsgdialogimpl.h" - - -XsldbgMsgDialogImpl::XsldbgMsgDialogImpl(TQWidget *parent, - TQMessageBox::Icon icon, - const TQString &title, const TQString &msg) - : XsldbgMsgDialog(parent, "XsldbgMsgDialogImpl" , true ) -{ - setCaption(title); - - TQMessageBox tmpMsg; - tmpMsg.setIcon(icon); - msgTextEdit->setText(msg); - iconLbl->setPixmap(*tmpMsg.iconPixmap()); -} - -void XsldbgMsgDialogImpl::append(const TQString &text) -{ - msgTextEdit->append(text); -} - - - -#include "xsldbgoutputview.h" - -XsldbgOutputView::XsldbgOutputView(TQWidget * parent) - : TQTextEdit(parent, "outputview") -{ - new TQBoxLayout(this, TQBoxLayout::TopToBottom); - setSizePolicy(TQSizePolicy(TQSizePolicy::Preferred, TQSizePolicy::Preferred)); - setMinimumSize(TQSize(500, 80)); - setCaption(i18n("xsldbg Output")); - setText(i18n("\t\txsldbg output capture ready\n\n")); - dlg = 0L; - show(); - setReadOnly(true); -} - -void XsldbgOutputView::slotProcShowMessage(TQString msg) -{ - bool processed = false; - // Is this a result of an evaluate command - if ((msg[0] == TQChar('=')) && (msg[1] == TQChar(' '))){ - int endPosition = msg.find(TQChar('\n')); - if (endPosition >= 0){ - processed = true; - showDialog(TQMessageBox::Information, i18n("Result of evaluation"), - msg.mid(endPosition + 1)); - } - }else /* Is there some sort of error message in msg */ - if ((msg.find("Error:") != -1) || - (msg.find("Warning:") != -1) || - (msg.find("Request to xsldbg failed") != -1) || - /* the following errors are libxml or libxslt generated */ - (msg.find("error:") != -1) || - (msg.find("xmlXPathEval:") != -1) || - (msg.find("runtime error") != -1)) { - /* OK we've found an error but ingore any errors about - data or source files */ - if ((msg.find("Error: No XSL source file supplied") == -1) && - (msg.find("Error: No XML data file supplied") == -1) && - (msg.find("Load of source deferred") == -1) && - (msg.find("Load of data deferred") == -1) ) - showDialog(TQMessageBox::Warning, i18n("Request Failed "), - msg); - processed = true; - } - if (processed == false){ - if (isVisible() == false) - show(); - append(msg); - } -} - - -void XsldbgOutputView::slotClearView() -{ -} - -void XsldbgOutputView::showDialog(TQMessageBox::Icon icon, TQString title, - TQString msg) -{ - - if ( dlg ){ - // not pretty, add this text to the open dialog when multiple - // calls to showDialog are made - dlg->append(msg); - }else{ - dlg = new XsldbgMsgDialogImpl(this, icon, title, msg); - if ( dlg ){ - dlg->exec(); - delete dlg; - dlg = 0L; - } - } -} - - - -#include "xsldbgoutputview.moc" diff --git a/kxsldbg/kxsldbgpart/xsldbgoutputview.h b/kxsldbg/kxsldbgpart/xsldbgoutputview.h deleted file mode 100644 index 3d1cd1d0..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgoutputview.h +++ /dev/null @@ -1,52 +0,0 @@ -/*************************************************************************** - xsldbgoutputview.h - Display raw output from xsldbg - ------------------- - begin : Sat July 27 2002 - copyright : (C) 2002 by keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#ifndef XSLDBGOUTPUTVIEW_H -#define XSLDBGOUTPUTVIEW_H - -/** - *@author Keith Isdale - */ -#include <tqtextedit.h> -#include <tqmessagebox.h> - -class TQDialog; -class XsldbgMsgDialogImpl; - -class XsldbgOutputView : public TQTextEdit { - TQ_OBJECT - - -public : - XsldbgOutputView(TQWidget *parent = 0); - - void showDialog(TQMessageBox::Icon icon, TQString title, TQString msg); - -public slots: - /** Process a copy of mesage sent to message window */ - void slotProcShowMessage(TQString msg); - - /** Clear message view window of its text */ - void slotClearView(); - - private: - - XsldbgMsgDialogImpl *dlg; - -}; - -#endif /* XSLDBGOUTPUTVIEW_H */ diff --git a/kxsldbg/kxsldbgpart/xsldbgsources.ui b/kxsldbg/kxsldbgpart/xsldbgsources.ui deleted file mode 100644 index ab4cf756..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgsources.ui +++ /dev/null @@ -1,154 +0,0 @@ -<!DOCTYPE UI><UI version="3.1" stdsetdef="1"> -<class>XsldbgSources</class> -<author>Keith Isdale <k_isdale@tpg.com.au></author> -<widget class="TQWidget"> - <property name="name"> - <cstring>XsldbgSources</cstring> - </property> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>536</width> - <height>365</height> - </rect> - </property> - <property name="caption"> - <string>Xsldbg Source Files</string> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>11</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQListView" row="0" column="0"> - <column> - <property name="text"> - <string>Source File</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>Parent File</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>Parent Line Number</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <property name="name"> - <cstring>sourceListView</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>3</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - </widget> - <widget class="TQLayoutWidget" row="1" column="0"> - <property name="name"> - <cstring>Layout3</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <spacer> - <property name="name"> - <cstring>Spacer4</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQPushButton"> - <property name="name"> - <cstring>refreshBtn</cstring> - </property> - <property name="text"> - <string>Refresh</string> - </property> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer5</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </hbox> - </widget> - </grid> -</widget> -<connections> - <connection> - <sender>sourceListView</sender> - <signal>selectionChanged(TQListViewItem*)</signal> - <receiver>XsldbgSources</receiver> - <slot>selectionChanged(TQListViewItem*)</slot> - </connection> - <connection> - <sender>refreshBtn</sender> - <signal>clicked()</signal> - <receiver>XsldbgSources</receiver> - <slot>refresh()</slot> - </connection> -</connections> -<slots> - <slot>refresh()</slot> - <slot>selectionChanged(TQListViewItem*)</slot> -</slots> -<layoutdefaults spacing="6" margin="11"/> -</UI> diff --git a/kxsldbg/kxsldbgpart/xsldbgsourcesimpl.cpp b/kxsldbg/kxsldbgpart/xsldbgsourcesimpl.cpp deleted file mode 100644 index 3bad8a51..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgsourcesimpl.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/*************************************************************************** - xsldbgsourcesimpl.cpp - description - ------------------- - begin : Fri Jan 4 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include <tqlistview.h> -#include <tqlineedit.h> - -#include "xsldbgsourcesimpl.h" -#include "xsldbgdebugger.h" -#include "xsldbggloballistitem.h" - - -XsldbgSourcesImpl::XsldbgSourcesImpl(XsldbgDebugger *debugger, - TQWidget *parent /*=0*/, const char *name /*=0*/) - : XsldbgSources(parent, name), XsldbgDialogBase() -{ - this->debugger = debugger; - connect(debugger, TQ_SIGNAL(sourceItem(TQString /* fileName */, TQString /* parentFileName */, int /*lineNumber */)), - this, TQ_SLOT(slotProcSourceItem(TQString /* fileName */, TQString /* parentFileName */, int /*lineNumber */))); - - connect( sourceListView, TQ_SIGNAL(selectionChanged(TQListViewItem *)), - this, TQ_SLOT(selectionChanged(TQListViewItem*))); - - show(); - refresh(); -} - -XsldbgSourcesImpl::~XsldbgSourcesImpl(){ - debugger = 0L; -} - -void XsldbgSourcesImpl::slotProcSourceItem(TQString fileName , TQString parentFileName , int lineNumber ) -{ - if (fileName.isNull()){ - sourceListView->clear(); - }else{ - sourceListView->insertItem(new XsldbgGlobalListItem(sourceListView, - parentFileName, lineNumber, fileName)); - } -} - - -void XsldbgSourcesImpl::selectionChanged(TQListViewItem *item) -{ - XsldbgGlobalListItem *sourceItem = dynamic_cast<XsldbgGlobalListItem*>(item); - if (sourceItem){ - debugger->gotoLine(sourceItem->getVarName(), 1); - } -} - -void XsldbgSourcesImpl::refresh() -{ - debugger->fakeInput("stylesheets", true) ; -} - - - - - -#include "xsldbgsourcesimpl.moc" diff --git a/kxsldbg/kxsldbgpart/xsldbgsourcesimpl.h b/kxsldbg/kxsldbgpart/xsldbgsourcesimpl.h deleted file mode 100644 index 9915b9c0..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgsourcesimpl.h +++ /dev/null @@ -1,54 +0,0 @@ -/*************************************************************************** - xsldbgsourcesimpl.h - description - ------------------- - begin : Fri Jan 4 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef XSLDBGSOURCESIMPL_H -#define XSLDBGSOURCESIMPL_H - -/** - *@author Keith Isdale - */ - -#include "xsldbgsources.h" -#include "xsldbgdialogbase.h" - -class XsldbgDebugger; - -class XsldbgSourcesImpl : public XsldbgSources, public XsldbgDialogBase { - TQ_OBJECT - - -public: - XsldbgSourcesImpl(XsldbgDebugger *debugger, TQWidget *parent=0, const char *name=0); - ~XsldbgSourcesImpl(); - -public slots: - void selectionChanged(TQListViewItem *item); - - /** Process request to add source to view, First parameter is TQString() - to indicate start of source list notfication */ - void slotProcSourceItem(TQString fileName , TQString parentFileName , int lineNumber ); - - /** refresh data from source */ - void refresh(); - - -private: - XsldbgDebugger *debugger; - -}; - -#endif diff --git a/kxsldbg/kxsldbgpart/xsldbgtemplatelistitem.cpp b/kxsldbg/kxsldbgpart/xsldbgtemplatelistitem.cpp deleted file mode 100644 index cd07e89e..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgtemplatelistitem.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/*************************************************************************** - xsldbgtemplatelistitem.cpp - description - ------------------- - begin : Mon Jan 21 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#include "xsldbgtemplatelistitem.h" - -XsldbgTemplateListItem::XsldbgTemplateListItem(TQListView *parent, - TQString fileName, int lineNumber, TQString templateName, TQString modeName) - : XsldbgListItem(parent, 2, fileName, lineNumber) -{ - this->templateName = templateName; - setText(0, templateName); - this->modeName = modeName; - setText(1, modeName); -} - -XsldbgTemplateListItem::~XsldbgTemplateListItem() -{ -} diff --git a/kxsldbg/kxsldbgpart/xsldbgtemplatelistitem.h b/kxsldbg/kxsldbgpart/xsldbgtemplatelistitem.h deleted file mode 100644 index e1c0a8b6..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgtemplatelistitem.h +++ /dev/null @@ -1,44 +0,0 @@ -/*************************************************************************** - xsldbgtemplatelistitem.h - description - ------------------- - begin : Mon Jan 21 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#ifndef XSLDBGTEMPLATELISTITEM_H -#define XSLDBGTEMPLATELISTITEM_H - -/** - *@author Keith Isdale - */ -#include "xsldbglistitem.h" - -class XsldbgTemplateListItem : public XsldbgListItem { -public: - XsldbgTemplateListItem(TQListView *parent, - TQString fileName, int lineNumber, TQString templateName, TQString modeName); - ~XsldbgTemplateListItem(); - - /** return the name of this template */ - TQString getTemplateName(); - - /** return the mode of this template */ - TQString getModeName(); - -private: - TQString templateName; - TQString modeName; - -}; - -#endif diff --git a/kxsldbg/kxsldbgpart/xsldbgtemplates.ui b/kxsldbg/kxsldbgpart/xsldbgtemplates.ui deleted file mode 100644 index a575f462..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgtemplates.ui +++ /dev/null @@ -1,100 +0,0 @@ -<!DOCTYPE UI><UI version="3.1" stdsetdef="1"> -<class>XsldbgTemplates</class> -<author>Keith Isdale <k_isdale@tpg.com.au></author> -<widget class="TQWidget"> - <property name="name"> - <cstring>XsldbgTemplates</cstring> - </property> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>491</width> - <height>232</height> - </rect> - </property> - <property name="caption"> - <string>Xsldbg Templates</string> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>11</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQListView" row="0" column="0"> - <column> - <property name="text"> - <string>Name</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>Mode</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>Source File Name</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <column> - <property name="text"> - <string>Line Number</string> - </property> - <property name="clickable"> - <bool>true</bool> - </property> - <property name="resizable"> - <bool>true</bool> - </property> - </column> - <property name="name"> - <cstring>templatesListView</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>3</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - </widget> - </grid> -</widget> -<connections> - <connection> - <sender>templatesListView</sender> - <signal>selectionChanged(TQListViewItem*)</signal> - <receiver>XsldbgTemplates</receiver> - <slot>selectionChanged(TQListViewItem*)</slot> - </connection> -</connections> -<slots> - <slot>selectionChanged(TQListViewItem*)</slot> -</slots> -<layoutdefaults spacing="6" margin="11"/> -</UI> diff --git a/kxsldbg/kxsldbgpart/xsldbgtemplatesimpl.cpp b/kxsldbg/kxsldbgpart/xsldbgtemplatesimpl.cpp deleted file mode 100644 index 2c0de0e9..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgtemplatesimpl.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/*************************************************************************** - xsldbgtemplatesimpl.cpp - description - ------------------- - begin : Fri Jan 4 2002 - copyright : (C) 2002 by keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ -#include <tqlistview.h> -#include <tqlineedit.h> - -#include "xsldbgdebugger.h" -#include "xsldbgtemplatesimpl.h" -#include "xsldbgtemplatelistitem.h" - -XsldbgTemplatesImpl::XsldbgTemplatesImpl(XsldbgDebugger *debugger, - TQWidget *parent /*=0*/, const char *name /*=0*/) - : XsldbgTemplates(parent, name), XsldbgDialogBase() -{ - this->debugger = debugger; - - connect(debugger, TQ_SIGNAL(templateItem(TQString /* name*/, TQString /*mode*/, TQString /* fileName */, int /* lineNumber */)), - this, TQ_SLOT(slotProcTemplateItem(TQString /* name*/, TQString /*mode*/, TQString /* fileName */, int /* lineNumber */))); - connect( templatesListView, TQ_SIGNAL(selectionChanged(TQListViewItem *)), - this, TQ_SLOT(selectionChanged(TQListViewItem*))); - - show(); -} - -XsldbgTemplatesImpl::~XsldbgTemplatesImpl(){ - debugger = 0L; -} - - -void XsldbgTemplatesImpl::slotProcTemplateItem(TQString name, TQString mode, TQString fileName , int lineNumber ) -{ - if (name.isNull()) - templatesListView->clear(); - else - templatesListView->insertItem(new XsldbgTemplateListItem(templatesListView, - fileName, lineNumber, name, mode)); -} - - -void XsldbgTemplatesImpl::selectionChanged(TQListViewItem *item) -{ - XsldbgTemplateListItem *templateItem = dynamic_cast<XsldbgTemplateListItem*>(item); - if (templateItem){ - debugger->gotoLine(templateItem->getFileName(), templateItem->getLineNumber()); - } -} - -void XsldbgTemplatesImpl::refresh() -{ - debugger->fakeInput("templates", true) ; -} - - - -#include "xsldbgtemplatesimpl.moc" diff --git a/kxsldbg/kxsldbgpart/xsldbgtemplatesimpl.h b/kxsldbg/kxsldbgpart/xsldbgtemplatesimpl.h deleted file mode 100644 index c7fa5b72..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgtemplatesimpl.h +++ /dev/null @@ -1,56 +0,0 @@ -/*************************************************************************** - xsldbgtemplatesimpl.h - description - ------------------- - begin : Fri Jan 4 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef XSLDBGTEMPLATESIMPL_H -#define XSLDBGTEMPLATESIMPL_H - - -/** - *@author Keith Isdale - */ - - -#include "xsldbgtemplates.h" -#include "xsldbgdialogbase.h" - -class XsldbgDebugger; - -class XsldbgTemplatesImpl : public XsldbgTemplates, public XsldbgDialogBase { - TQ_OBJECT - - -public: - XsldbgTemplatesImpl(XsldbgDebugger *debugger, TQWidget *parent=0, const char *name=0); - ~XsldbgTemplatesImpl(); - -public slots: - void selectionChanged(TQListViewItem *item); - - /** Process request to add template to view, First parameter is TQString() - to indicate start of template list notfication */ - void slotProcTemplateItem(TQString name, TQString mode, TQString fileName , int lineNumber ); - - /** refresh data from source */ - void refresh(); - - -private: - XsldbgDebugger *debugger; - -}; - -#endif diff --git a/kxsldbg/kxsldbgpart/xsldbgwalkspeed.ui b/kxsldbg/kxsldbgpart/xsldbgwalkspeed.ui deleted file mode 100644 index 5629f8c6..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgwalkspeed.ui +++ /dev/null @@ -1,239 +0,0 @@ -<!DOCTYPE UI><UI version="3.1" stdsetdef="1"> -<class>XsldbgWalkSpeed</class> -<author>Keith Isdale <k_isdale@tpg.com.au></author> -<widget class="TQDialog"> - <property name="name"> - <cstring>XsldbgWalkSpeed</cstring> - </property> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>382</width> - <height>292</height> - </rect> - </property> - <property name="caption"> - <string>Configure xsldbg's Walk Speed</string> - </property> - <property name="toolTip" stdset="0"> - <string></string> - </property> - <vbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>11</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLabel"> - <property name="name"> - <cstring>TextLabel3</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>4</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="maximumSize"> - <size> - <width>32767</width> - <height>60</height> - </size> - </property> - <property name="text"> - <string>Change the speed at which xsldbg walks through execution of the stylesheet.</string> - </property> - <property name="alignment"> - <set>WordBreak|AlignVCenter|AlignLeft</set> - </property> - <property name="wordwrap" stdset="0"> - </property> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer3</cstring> - </property> - <property name="orientation"> - <enum>Vertical</enum> - </property> - <property name="sizeType"> - <enum>Fixed</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>51</height> - </size> - </property> - </spacer> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>Layout1</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <widget class="TQLabel"> - <property name="name"> - <cstring>TextLabel1</cstring> - </property> - <property name="text"> - <string>Slow</string> - </property> - </widget> - <widget class="TQSlider"> - <property name="name"> - <cstring>walkSpeedSlider</cstring> - </property> - <property name="minValue"> - <number>1</number> - </property> - <property name="maxValue"> - <number>9</number> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - </widget> - <widget class="TQLabel"> - <property name="name"> - <cstring>TextLabel2</cstring> - </property> - <property name="text"> - <string>Fast</string> - </property> - </widget> - </hbox> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer2</cstring> - </property> - <property name="orientation"> - <enum>Vertical</enum> - </property> - <property name="sizeType"> - <enum>Fixed</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>51</height> - </size> - </property> - </spacer> - <widget class="TQLayoutWidget"> - <property name="name"> - <cstring>Layout3</cstring> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <spacer> - <property name="name"> - <cstring>Spacer4</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQPushButton"> - <property name="name"> - <cstring>PushButton1</cstring> - </property> - <property name="text"> - <string>&OK</string> - </property> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer1</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Fixed</enum> - </property> - <property name="sizeHint"> - <size> - <width>16</width> - <height>20</height> - </size> - </property> - </spacer> - <widget class="TQPushButton"> - <property name="name"> - <cstring>PushButton2</cstring> - </property> - <property name="text"> - <string>&Cancel</string> - </property> - </widget> - <spacer> - <property name="name"> - <cstring>Spacer5</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </hbox> - </widget> - </vbox> -</widget> -<connections> - <connection> - <sender>PushButton1</sender> - <signal>clicked()</signal> - <receiver>XsldbgWalkSpeed</receiver> - <slot>accept()</slot> - </connection> - <connection> - <sender>PushButton2</sender> - <signal>clicked()</signal> - <receiver>XsldbgWalkSpeed</receiver> - <slot>reject()</slot> - </connection> -</connections> -<layoutdefaults spacing="6" margin="11"/> -</UI> diff --git a/kxsldbg/kxsldbgpart/xsldbgwalkspeedimpl.cpp b/kxsldbg/kxsldbgpart/xsldbgwalkspeedimpl.cpp deleted file mode 100644 index 58497cea..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgwalkspeedimpl.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/*************************************************************************** - xsldbgwalkspeedimpl.cpp - description - ------------------- - begin : Fri Jan 25 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#include <tqslider.h> - -#include "xsldbgdebugger.h" -#include "xsldbgwalkspeedimpl.h" - -XsldbgWalkSpeedImpl::XsldbgWalkSpeedImpl(XsldbgDebugger *debugger, - TQWidget *parent /*=0 */, const char *name /*=0*/ ) - : XsldbgWalkSpeed(parent, name, false) -{ - this->debugger = debugger; -} - -XsldbgWalkSpeedImpl::~XsldbgWalkSpeedImpl() -{ -} - -void XsldbgWalkSpeedImpl::accept() -{ - /* For xsldbg 1 means fast speed 9 means slow so invert the slider value to suit - ie : a slider value of 1 results in walk speed of 9 */ - debugger->slotWalkSpeed(10 - walkSpeedSlider->value()); - hide(); -} - -void XsldbgWalkSpeedImpl::reject() -{ - hide(); -} - - - -#include "xsldbgwalkspeedimpl.moc" diff --git a/kxsldbg/kxsldbgpart/xsldbgwalkspeedimpl.h b/kxsldbg/kxsldbgpart/xsldbgwalkspeedimpl.h deleted file mode 100644 index ec80d4e3..00000000 --- a/kxsldbg/kxsldbgpart/xsldbgwalkspeedimpl.h +++ /dev/null @@ -1,46 +0,0 @@ -/*************************************************************************** - xsldbgwalkspeedimpl.h - description - ------------------- - begin : Fri Jan 25 2002 - copyright : (C) 2002 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*********************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ************************************************************************************/ - -#ifndef XSLDBGWALKSPEEDIMPL_H -#define XSLDBGWALKSPEEDIMPL_H - -/** - *@author Keith Isdale - */ - -#include "xsldbgwalkspeed.h" - -class XsldbgDebugger; - -class XsldbgWalkSpeedImpl : public XsldbgWalkSpeed { - TQ_OBJECT - - -public: - XsldbgWalkSpeedImpl(XsldbgDebugger *debugger, TQWidget *parent=0, const char *name=0); - ~XsldbgWalkSpeedImpl(); - -public slots: - void accept() ; - void reject(); - -private: - XsldbgDebugger *debugger; - -}; - -#endif diff --git a/kxsldbg/lo16-app-kxsldbg.png b/kxsldbg/lo16-app-kxsldbg.png Binary files differdeleted file mode 100644 index e558c7ae..00000000 --- a/kxsldbg/lo16-app-kxsldbg.png +++ /dev/null diff --git a/kxsldbg/lo32-app-kxsldbg.png b/kxsldbg/lo32-app-kxsldbg.png Binary files differdeleted file mode 100644 index 3dce9fa7..00000000 --- a/kxsldbg/lo32-app-kxsldbg.png +++ /dev/null diff --git a/kxsldbg/main.cpp b/kxsldbg/main.cpp deleted file mode 100644 index f90cfb77..00000000 --- a/kxsldbg/main.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include "kxsldbg.h" -#include <tdeapplication.h> -#include <tdeaboutdata.h> -#include <tdecmdlineargs.h> -#include <tdelocale.h> -#include <kdebug.h> - -static const char *description = - I18N_NOOP("A TDE KPart Application for xsldbg, an XSLT debugger"); - -static const char *version = VERSION; -static const TDECmdLineOptions options[] = -{ - { "+XSLSource", I18N_NOOP("XSL script to run"), 0}, - { "+XMLData", I18N_NOOP("XML data to be transformed"), 0}, - { "+OutputFile", I18N_NOOP("File to save results to"), 0}, - TDECmdLineLastOption // End of options. -}; - -int main(int argc, char **argv) -{ - TDEAboutData about("kxsldbg", I18N_NOOP("KXSLDbg"), version, description, TDEAboutData::License_GPL, "(C) 2003 Keith Isdale", 0, 0, "k_isdale@tpg.com.au"); - about.addAuthor( "Keith Isdale", 0, "k_isdale@tpg.com.au" ); - TDECmdLineArgs::init(argc, argv, &about); - TDECmdLineArgs::addCmdLineOptions( options ); - TDEApplication app; - - // see if we are starting with session management - if (app.isRestored()) - RESTORE(KXsldbg) - else - { - KXsldbg *widget = new KXsldbg; - widget->show(); - } - - return app.exec(); -} diff --git a/kxsldbg/output.txt b/kxsldbg/output.txt deleted file mode 100644 index 0d7db4bb..00000000 --- a/kxsldbg/output.txt +++ /dev/null @@ -1,50 +0,0 @@ - - xsldbg version 0.5.9 - ==================== - - xsldbg help - ___________ - -xsldbg is similar to gdb. It has three major modes of execution of stylesheets. - Run the whole stylesheet - Step to next xsl instruction - Continue until next break point is found, or stylesheet has restarted - -On systems with readline library available you can use the back/forward keys to navigate the history of entered commands. On all systems the last entered command can be repeated by just pressing the <ENTER> key. - - TEMPLATENAME : a valid template name - FILENAME : a valid URL for a stylesheet - LINENO : a valid line number in associated FILENAME - NUMBER_OF_FRAMES : a valid line number frames to change position by - BREAKPOINT_ID : a valid break point number - SPEED: speed to walk through code at, between 0 to 9 - (Comment): a comment about command meaning or usage - { opt1 | opt2 | opt2 .. etc} : Choose one of the opt's - XPATH : a xpath selection of node(s) - PARAM_ID : a valid parameter number as indicated by showparam command - PATH : a path to change working directory to - TEXT : free form text (no restrictions) - COMMAND : a valid command for the xsdbg - QNAME : a valid variable/parameter name - SOURCE : the stylesheet being/to be executed - DATA : the xml data(document) being/to be processed by the stylesheet - DEVICE_PATH : is a valid terminal on the operating system - TTY_LEVEL : is a valid level of input/output to use - - - Help related :help - Running related : {bye|exit|quit},step,stepup,stepdown,continue,run,trace - Libxslt parameter related :addparam,delparam,showparam - Template related :templates,where,frame - Break point related :break,showbreak,delete,enable - Expression viewing(xpath) :cat - Node viewing :ls,dir,du,cat,pwd - Variable viewing :globals,locals,cat - Node selection :source,data,cd - Searching :search - Operating system related :chdir,shell,tty - File related :validate,load,save,write,free - -nb: At the moment the file related commands as disabled because they are not completed. - - Help document version 0.5 diff --git a/kxsldbg/simpleio.c b/kxsldbg/simpleio.c deleted file mode 100644 index 900a698a..00000000 --- a/kxsldbg/simpleio.c +++ /dev/null @@ -1,144 +0,0 @@ - -/*************************************************************************** - simpleio.c - use console io only - ------------------- - begin : Sun Dec 23 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "kxsldbgpart/libxsldbg/xsldbg.h" - -#include <libxslt/xsltutils.h> - -#ifdef HAVE_READLINE -#include <readline/readline.h> -#ifdef HAVE_HISTORY -#include <readline/history.h> -#endif -#endif - -#include <string.h> - -#include "kxsldbgpart/libxsldbg/xsldbgmsg.h" -#include "kxsldbgpart/libxsldbg/xsldbgio.h" -#include "kxsldbgpart/libxsldbg/options.h" - - -int notifyXsldbgApp(XsldbgMessageEnum type, const void *data) -{ - return 1; -} - -int notifyStateXsldbgApp(XsldbgMessageEnum type, int commandId, - XsldbgCommandStateEnum commandState, const char *text) -{ - return 1; -} - -int notifyTextXsldbgApp(XsldbgMessageEnum type, const char *text) -{ - return 1; -} - - -/* use this function instead of the one that was in debugXSL.c */ -/** - * xslShellReadline: - * @prompt: the prompt value - * - * Read a string - * - * Returns a copy of the text inputed or NULL if EOF in stdin found. - * The caller is expected to free the returned string. - */ -xmlChar * -xslDbgShellReadline(xmlChar * prompt) -{ - - static char last_read[DEBUG_BUFFER_SIZE] = { '\0' }; - -#ifdef HAVE_READLINE - - xmlChar *line_read; - - if (optionsGetIntOption(OPTIONS_STDOUT) == 0){ - /* Get a line from the user. */ - line_read = (xmlChar *) readline((char *) prompt); - - /* If the line has any text in it, save it on the history. */ - if (line_read && *line_read) { - char *temp = (char*)line_read; - add_history((char *) line_read); - strncpy((char*)last_read, (char*)line_read, DEBUG_BUFFER_SIZE - 1); - /* we must ensure that the data is free properly */ - line_read = xmlStrdup((xmlChar*)line_read); - free(temp); - } else { - free(line_read); - /* if only <Enter>is pressed then try last saved command line */ - line_read = xmlStrdup((xmlChar*)last_read); - } - }else{ - /* readline library will/may echo its output which is not wanted - when running in gdb mode.*/ - char line_buffer[DEBUG_BUFFER_SIZE]; - - if (prompt != NULL) - xsltGenericError(xsltGenericErrorContext, "%s", prompt); - if (!fgets(line_buffer, sizeof(line_buffer) - 1, stdin)){ - line_read = NULL; - }else{ - line_buffer[DEBUG_BUFFER_SIZE - 1] = 0; - if ((strlen(line_buffer) == 0) || (line_buffer[0] == '\n')){ - line_read = xmlStrdup((xmlChar*)last_read); - }else{ - add_history((char *) line_buffer); - line_read = xmlStrdup((xmlChar*)line_buffer); - strncpy((char*)last_read, (char*)line_read, sizeof(last_read) - 1); } - } - - } - return (line_read); - -#else - char line_read[DEBUG_BUFFER_SIZE]; - - if (prompt != NULL) - xsltGenericError(xsltGenericErrorContext, "%s", prompt); - fflush(stderr); - if (!fgets(line_read, DEBUG_BUFFER_SIZE - 1, stdin)) - return (NULL); - line_read[DEBUG_BUFFER_SIZE - 1] = 0; - /* Repeat of last command when gdb mode is disabled */ - if (optionsGetIntOption(OPTIONS_GDB) == 0){ - /* if only <Enter>is pressed then try last saved command line */ - if ((strlen(line_read) == 0) || (line_read[0] == '\n')) { - strncpy(line_read, last_read, sizeof(line_read) - 1); - } else { - strcpy(last_read, line_read); - } - } - return xmlStrdup((xmlChar*)line_read); -#endif - - } - -void xsldbgThreadCleanup(void); - -/* thread has died so cleanup after it not called directly but via - notifyXsldbgApp*/ -void -xsldbgThreadCleanup(void) -{ - -} diff --git a/kxsldbg/xsldbg.desktop b/kxsldbg/xsldbg.desktop deleted file mode 100644 index 64cad2da..00000000 --- a/kxsldbg/xsldbg.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Name=XSLDbg - -Icon=kxsldbg -X-DocPath=xsldbg/index.html -Categories=Qt;TDE;Development;WebDevelopment; -NoDisplay=true diff --git a/kxsldbg/xsldbgmain.cpp b/kxsldbg/xsldbgmain.cpp deleted file mode 100644 index ceb275df..00000000 --- a/kxsldbg/xsldbgmain.cpp +++ /dev/null @@ -1,256 +0,0 @@ - -/*************************************************************************** - main.c - main fiule for xsldbg - ------------------- - begin : Sat Dec 22 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "kxsldbgpart/libxsldbg/xsldbg.h" - -#include <libxslt/xsltutils.h> - -#ifdef HAVE_READLINE -#include <readline/readline.h> -#ifdef HAVE_HISTORY -#include <readline/history.h> -#endif -#endif - -#include <string.h> -#include "kxsldbgpart/libxsldbg/xsldbgmsg.h" -#include "kxsldbgpart/libxsldbg/xsldbgio.h" -#include "kxsldbgpart/libxsldbg/xsldbg.h" -#include "kxsldbgpart/libxsldbg/options.h" - -#include <tdeapplication.h> -#include <tdeaboutdata.h> -#include <tdecmdlineargs.h> -#include <tdelocale.h> -#include <tdeglobal.h> -#include <kdebug.h> -#include <cstdlib> -/* Forward delare private functions */ -static int notifyXsldbgAppSimple(XsldbgMessageEnum type, const void *data); -static int notifyStateXsldbgAppSimple(XsldbgMessageEnum type, int commandId, - XsldbgCommandStateEnum commandState, const char *text); -static int notifyTextXsldbgAppSimple(XsldbgMessageEnum type, const char *text); -static xmlChar * xslDbgShellReadlineSimple(xmlChar * prompt); - - -static const char *description = I18N_NOOP("A TDE console application for xsldbg, an XSLT debugger"); - -static const char *version = VERSION; - -static const TDECmdLineOptions options[] = -{ - { "shell", I18N_NOOP("Start a shell"), 0}, - { "cd <path>", I18N_NOOP("Path to change into before loading files"), 0}, - { "param <name>:<value>",I18N_NOOP("Add a parameter named <name> and value <value> to XSL environment"), 0}, - { "lang <LANG>", I18N_NOOP("Use ISO 639 language code specified; for example en_US"), 0}, { "output file", I18N_NOOP("Save to a given file. See output command documentation"), 0}, - { "version", I18N_NOOP("Show the version of libxml and libxslt used"), 0}, - { "verbose", I18N_NOOP("Show logs of what is happening"), 0}, - { "timing", I18N_NOOP("Display the time used"), 0}, - { "repeat", I18N_NOOP("Run the transformation 20 times"), 0}, -#ifdef LIBXML_DEBUG_ENABLED - { "debug", I18N_NOOP("Dump the tree of the result instead"), 0}, -#endif - { "novalid", I18N_NOOP("Disable the DTD loading phase"), 0}, - { "noout", I18N_NOOP("Disable the output of the result"), 0}, - { "maxdepth val", I18N_NOOP("Increase the maximum depth"), 0}, - -#ifdef LIBXML_HTML_ENABLED - { "html", I18N_NOOP("The input document is(are) an HTML file(s)"), 0}, -#endif - -#ifdef LIBXML_DOCB_ENABLED - { "docbook", I18N_NOOP("The input document is SGML docbook"), 0}, -#endif - - { "nonet", I18N_NOOP("Disable the fetching DTDs or entities over network"), 0}, - -#ifdef LIBXML_CATALOG_ENABLED - { "catalogs", I18N_NOOP("Use the catalogs from $SGML_CATALOG_FILES"), 0}, -#endif - -#ifdef LIBXML_XINCLUDE_ENABLED - { "noxinclude", I18N_NOOP("Disable XInclude processing on document input"), 0}, -#endif - - { "profile", I18N_NOOP("Print profiling informations"), 0}, - { "nogdb", I18N_NOOP("Do not run gdb compatability mode and print less information"), 0}, - { "autoencode", I18N_NOOP("Detect and use encodings in the stylesheet"), 0}, - { "utf8input", I18N_NOOP("Treat command line input as encoded in UTF-8"), 0}, - { "preferhtml", I18N_NOOP("Use HTML output when generating search reports"), 0}, - { "stdout", I18N_NOOP("Print all error messages to stdout, normally error messages go to stderr"), 0}, - { "noautorestart", I18N_NOOP("Disable the automatic restarting of execution when current processing pass is complete"), 0}, - { "+XSLSource", I18N_NOOP("XSL script to run"), 0}, - { "+XMLData", I18N_NOOP("XML data to be transformed"), 0}, - TDECmdLineLastOption // End of options. -}; - -class XsldbgApp : public TDEApplication -{ - public: - XsldbgApp() - :TDEApplication(false, false) - { - xsldbgSetAppFunc(notifyXsldbgAppSimple); - xsldbgSetAppStateFunc(notifyStateXsldbgAppSimple); - xsldbgSetTextFunc(notifyTextXsldbgAppSimple); - xsldbgSetReadlineFunc(xslDbgShellReadlineSimple); - } - - int exec(){ - return xsldbgMain(0, 0); - } - -}; - -int main(int argc, char **argv) -{ - TDELocale::setMainCatalogue("kxsldbg"); // Translations come from KXSLDbg's catalog - - TQString xsldbgRunTimeInfo(i18n("Using libxml %1, libxslt %2 and libexslt %3\n").arg(xmlParserVersion).arg(xsltEngineVersion).arg(exsltLibraryVersion)); - TQString libxmlCompileTimeInfo(i18n("xsldbg was compiled against libxml %1, libxslt %2 and libexslt %3\n").arg(LIBXML_VERSION).arg(LIBXSLT_VERSION).arg(LIBEXSLT_VERSION)); - TQString libxsltCompileTimeInfo(i18n("libxslt %1 was compiled against libxml %2\n").arg(xsltLibxsltVersion).arg(xsltLibxmlVersion)); - TQString libexsltCompileTimeInfo(i18n("libexslt %1 was compiled against libxml %2\n").arg(exsltLibexsltVersion).arg(exsltLibxmlVersion)); - TQString freeFormText = xsldbgRunTimeInfo + libxmlCompileTimeInfo + libxsltCompileTimeInfo + libexsltCompileTimeInfo; - - TDEAboutData about("xsldbg", I18N_NOOP("Xsldbg"), version, description, TDEAboutData::License_GPL, "(C) 2003 Keith Isdale", freeFormText.utf8(), 0, "k_isdale@tpg.com.au"); - about.addAuthor( "Keith Isdale", 0, "k_isdale@tpg.com.au" ); - TDECmdLineArgs::init(argc, argv, &about); - TDECmdLineArgs::addCmdLineOptions( options ); - XsldbgApp app; - - return app.exec();; -} - -/* Private implmentation of messaging functions */ -int notifyXsldbgAppSimple(XsldbgMessageEnum type, const void *data) -{ - Q_UNUSED(type); - Q_UNUSED(data); - return 1; -} - -int notifyStateXsldbgAppSimple(XsldbgMessageEnum type, int commandId, - XsldbgCommandStateEnum commandState, const char *text) -{ - Q_UNUSED(type); - Q_UNUSED(commandId); - Q_UNUSED(commandState); - Q_UNUSED(text); - return 1; -} - -int notifyTextXsldbgAppSimple(XsldbgMessageEnum type, const char *text) -{ - Q_UNUSED(type); - Q_UNUSED(text); - return 1; -} - - -/* use this function instead of the one that was in debugXSL.c */ -/** - * xslShellReadline: - * @prompt: the prompt value - * - * Read a string - * - * Returns a copy of the text inputed or NULL if EOF in stdin found. - * The caller is expected to free the returned string. - */ -xmlChar * -xslDbgShellReadlineSimple(xmlChar * prompt) -{ - - static char last_read[DEBUG_BUFFER_SIZE] = { '\0' }; - -#ifdef HAVE_READLINE - - xmlChar *line_read; - - if (optionsGetIntOption(OPTIONS_STDOUT) == 0){ - /* Get a line from the user. */ - line_read = (xmlChar *) readline((char *) prompt); - - /* If the line has any text in it, save it on the history. */ - if (line_read && *line_read) { - char *temp = (char*)line_read; - add_history((char *) line_read); - strncpy((char*)last_read, (char*)line_read, DEBUG_BUFFER_SIZE - 1); - /* we must ensure that the data is free properly */ - line_read = xmlStrdup((xmlChar*)line_read); - free(temp); - } else { - free(line_read); - /* if only <Enter>is pressed then try last saved command line */ - line_read = xmlStrdup((xmlChar*)last_read); - } - }else{ - /* readline library will/may echo its output which is not wanted - when running in gdb mode.*/ - char line_buffer[DEBUG_BUFFER_SIZE]; - - if (prompt != NULL) - xsltGenericError(xsltGenericErrorContext, "%s", prompt); - if (!fgets(line_buffer, sizeof(line_buffer) - 1, stdin)){ - line_read = NULL; - }else{ - line_buffer[DEBUG_BUFFER_SIZE - 1] = 0; - if ((strlen(line_buffer) == 0) || (line_buffer[0] == '\n')){ - line_read = xmlStrdup((xmlChar*)last_read); - }else{ - add_history((char *) line_buffer); - line_read = xmlStrdup((xmlChar*)line_buffer); - strncpy((char*)last_read, (char*)line_read, sizeof(last_read) - 1); } - } - - } - return (line_read); - -#else - char line_read[DEBUG_BUFFER_SIZE]; - - if (prompt != NULL) - xsltGenericError(xsltGenericErrorContext, "%s", prompt); - fflush(stderr); - if (!fgets(line_read, DEBUG_BUFFER_SIZE - 1, stdin)) - return (NULL); - line_read[DEBUG_BUFFER_SIZE - 1] = 0; - /* if only <Enter>is pressed then try last saved command line */ - if ((strlen(line_read) == 0) || (line_read[0] == '\n')) { - strncpy(line_read, last_read, sizeof(line_read) - 1); - } else { - strcpy(last_read, line_read); - } - return xmlStrdup((xmlChar*)line_read); -#endif - - } -/* -void xsldbgThreadCleanup(void); -*/ -/* thread has died so cleanup after it not called directly but via - notifyXsldbgApp*/ -/* -void -xsldbgThreadCleanup(void) -{ - -} -*/ - - diff --git a/translations/desktop_files/kxsldbg-desktops/bg.po b/translations/desktop_files/kxsldbg-desktops/bg.po deleted file mode 100644 index a19916ac..00000000 --- a/translations/desktop_files/kxsldbg-desktops/bg.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: bg\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Дебъгер XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/br.po b/translations/desktop_files/kxsldbg-desktops/br.po deleted file mode 100644 index 33b1a4db..00000000 --- a/translations/desktop_files/kxsldbg-desktops/br.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: br\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Dizraener XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/ca.po b/translations/desktop_files/kxsldbg-desktops/ca.po deleted file mode 100644 index 841a81af..00000000 --- a/translations/desktop_files/kxsldbg-desktops/ca.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: ca\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Depurador XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/cs.po b/translations/desktop_files/kxsldbg-desktops/cs.po deleted file mode 100644 index 24005684..00000000 --- a/translations/desktop_files/kxsldbg-desktops/cs.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: cs\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT debugger" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/da.po b/translations/desktop_files/kxsldbg-desktops/da.po deleted file mode 100644 index e32ff478..00000000 --- a/translations/desktop_files/kxsldbg-desktops/da.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: da\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT-Fejlretter" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/de.po b/translations/desktop_files/kxsldbg-desktops/de.po deleted file mode 100644 index 207db6bf..00000000 --- a/translations/desktop_files/kxsldbg-desktops/de.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: de\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT-Debugger" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "KXsldbg-Komponente" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/el.po b/translations/desktop_files/kxsldbg-desktops/el.po deleted file mode 100644 index dc8ac6fc..00000000 --- a/translations/desktop_files/kxsldbg-desktops/el.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: el\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Αποσφαλματωτής XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/es.po b/translations/desktop_files/kxsldbg-desktops/es.po deleted file mode 100644 index 89da8756..00000000 --- a/translations/desktop_files/kxsldbg-desktops/es.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: es\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Depurador XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/es_AR.po b/translations/desktop_files/kxsldbg-desktops/es_AR.po deleted file mode 100644 index 28c84a97..00000000 --- a/translations/desktop_files/kxsldbg-desktops/es_AR.po +++ /dev/null @@ -1,35 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# Slávek Banko <slavek.banko@axis.cz>, 2025. -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: es_AR\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/et.po b/translations/desktop_files/kxsldbg-desktops/et.po deleted file mode 100644 index a04217ea..00000000 --- a/translations/desktop_files/kxsldbg-desktops/et.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: et\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT silur" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/eu.po b/translations/desktop_files/kxsldbg-desktops/eu.po deleted file mode 100644 index 06383654..00000000 --- a/translations/desktop_files/kxsldbg-desktops/eu.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: eu\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT araztailea" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/fa.po b/translations/desktop_files/kxsldbg-desktops/fa.po deleted file mode 100644 index 6f0c0e50..00000000 --- a/translations/desktop_files/kxsldbg-desktops/fa.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: fa\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "اشکالزدای XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/fi.po b/translations/desktop_files/kxsldbg-desktops/fi.po deleted file mode 100644 index e729abef..00000000 --- a/translations/desktop_files/kxsldbg-desktops/fi.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: fi\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT debuggeri" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/fr.po b/translations/desktop_files/kxsldbg-desktops/fr.po deleted file mode 100644 index dc7bdffb..00000000 --- a/translations/desktop_files/kxsldbg-desktops/fr.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Débogueur XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "Module externe KXsldbg" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/ga.po b/translations/desktop_files/kxsldbg-desktops/ga.po deleted file mode 100644 index 41bf4f04..00000000 --- a/translations/desktop_files/kxsldbg-desktops/ga.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: ga\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Dífhabhtóir XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/gl.po b/translations/desktop_files/kxsldbg-desktops/gl.po deleted file mode 100644 index ff25bbe6..00000000 --- a/translations/desktop_files/kxsldbg-desktops/gl.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: gl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Depurador XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/hi.po b/translations/desktop_files/kxsldbg-desktops/hi.po deleted file mode 100644 index a0bbcfc9..00000000 --- a/translations/desktop_files/kxsldbg-desktops/hi.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: hi\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT डिबगर" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/hu.po b/translations/desktop_files/kxsldbg-desktops/hu.po deleted file mode 100644 index 920794ec..00000000 --- a/translations/desktop_files/kxsldbg-desktops/hu.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: hu\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT-nyomkövető" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/is.po b/translations/desktop_files/kxsldbg-desktops/is.po deleted file mode 100644 index c09aa1c2..00000000 --- a/translations/desktop_files/kxsldbg-desktops/is.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: is\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT aflúsari" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/it.po b/translations/desktop_files/kxsldbg-desktops/it.po deleted file mode 100644 index 1c079958..00000000 --- a/translations/desktop_files/kxsldbg-desktops/it.po +++ /dev/null @@ -1,38 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# Michele Calgaro <michele.calgaro@yahoo.it>, 2022. -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: 2022-05-13 06:21+0000\n" -"Last-Translator: Michele Calgaro <michele.calgaro@yahoo.it>\n" -"Language-Team: Italian <https://mirror.git.trinitydesktop.org/weblate/" -"projects/tdewebdev/kxsldbg-desktop-files/it/>\n" -"Language: it\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.12.2\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "KXSLDbg" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Debugger per XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "KXsldbgPart" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "XSLDbg" diff --git a/translations/desktop_files/kxsldbg-desktops/ja.po b/translations/desktop_files/kxsldbg-desktops/ja.po deleted file mode 100644 index a2f606fb..00000000 --- a/translations/desktop_files/kxsldbg-desktops/ja.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: ja\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT デバッガ" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "KXsldbgPort" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/ka.po b/translations/desktop_files/kxsldbg-desktops/ka.po deleted file mode 100644 index 040cfcca..00000000 --- a/translations/desktop_files/kxsldbg-desktops/ka.po +++ /dev/null @@ -1,38 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# Temuri Doghonadze <rkavt@smartprojects.ge>, 2024. -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: 2024-11-27 05:10+0000\n" -"Last-Translator: Temuri Doghonadze <rkavt@smartprojects.ge>\n" -"Language-Team: Georgian <https://mirror.git.trinitydesktop.org/weblate/" -"projects/tdewebdev/kxsldbg-desktop-files/ka/>\n" -"Language: ka\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.17\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "KXSLDbg" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT-ის გამმართველი" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "KXsldbgPart" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "XSLDbg" diff --git a/translations/desktop_files/kxsldbg-desktops/kxsldbg-desktops.pot b/translations/desktop_files/kxsldbg-desktops/kxsldbg-desktops.pot deleted file mode 100644 index 56b233d9..00000000 --- a/translations/desktop_files/kxsldbg-desktops/kxsldbg-desktops.pot +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/lt.po b/translations/desktop_files/kxsldbg-desktops/lt.po deleted file mode 100644 index f5ba915a..00000000 --- a/translations/desktop_files/kxsldbg-desktops/lt.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: lt\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT derintuvė" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/ms.po b/translations/desktop_files/kxsldbg-desktops/ms.po deleted file mode 100644 index 4afbafd5..00000000 --- a/translations/desktop_files/kxsldbg-desktops/ms.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: ms\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Penyahralat XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/nds.po b/translations/desktop_files/kxsldbg-desktops/nds.po deleted file mode 100644 index d0e25bc7..00000000 --- a/translations/desktop_files/kxsldbg-desktops/nds.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: nds\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT-Fehlersöker" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "KXsldbg-Komponent" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/ne.po b/translations/desktop_files/kxsldbg-desktops/ne.po deleted file mode 100644 index 77bae241..00000000 --- a/translations/desktop_files/kxsldbg-desktops/ne.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: ne\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "त्रुटिमोचक एक्सएसएलटी" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/nl.po b/translations/desktop_files/kxsldbg-desktops/nl.po deleted file mode 100644 index af77eb94..00000000 --- a/translations/desktop_files/kxsldbg-desktops/nl.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: nl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT-debugger" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/pl.po b/translations/desktop_files/kxsldbg-desktops/pl.po deleted file mode 100644 index 5c375a89..00000000 --- a/translations/desktop_files/kxsldbg-desktops/pl.po +++ /dev/null @@ -1,39 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# Eryk Michalak <gnu.ewm@protonmail.com>, 2024. -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: 2024-09-21 19:11+0000\n" -"Last-Translator: Eryk Michalak <gnu.ewm@protonmail.com>\n" -"Language-Team: Polish <https://mirror.git.trinitydesktop.org/weblate/" -"projects/tdewebdev/kxsldbg-desktop-files/pl/>\n" -"Language: pl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.17\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "KXSLDbg" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Debuger XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "Osadzalny program KPart KXsldbg" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "XSLDbg" diff --git a/translations/desktop_files/kxsldbg-desktops/pt.po b/translations/desktop_files/kxsldbg-desktops/pt.po deleted file mode 100644 index e373bc05..00000000 --- a/translations/desktop_files/kxsldbg-desktops/pt.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: pt\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Depuração de XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/pt_BR.po b/translations/desktop_files/kxsldbg-desktops/pt_BR.po deleted file mode 100644 index 294804ea..00000000 --- a/translations/desktop_files/kxsldbg-desktops/pt_BR.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: pt_BR\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Debugger para XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "KXSsldbgPart" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/ro.po b/translations/desktop_files/kxsldbg-desktops/ro.po deleted file mode 100644 index 7448524c..00000000 --- a/translations/desktop_files/kxsldbg-desktops/ro.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: ro\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Depanator XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/ru.po b/translations/desktop_files/kxsldbg-desktops/ru.po deleted file mode 100644 index 5c2d522a..00000000 --- a/translations/desktop_files/kxsldbg-desktops/ru.po +++ /dev/null @@ -1,39 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# Andrei Stepanov <adem4ik@gmail.com>, 2024. -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: 2024-04-12 22:45+0000\n" -"Last-Translator: Andrei Stepanov <adem4ik@gmail.com>\n" -"Language-Team: Russian <https://mirror.git.trinitydesktop.org/weblate/" -"projects/tdewebdev/kxsldbg-desktop-files/ru/>\n" -"Language: ru\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " -"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.17\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "KXSLDbg" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Отладчик XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "KXsldbgPart" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "XSLDbg" diff --git a/translations/desktop_files/kxsldbg-desktops/sk.po b/translations/desktop_files/kxsldbg-desktops/sk.po deleted file mode 100644 index 36d12e70..00000000 --- a/translations/desktop_files/kxsldbg-desktops/sk.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: sk\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT debuger" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/sl.po b/translations/desktop_files/kxsldbg-desktops/sl.po deleted file mode 100644 index 129c6b7d..00000000 --- a/translations/desktop_files/kxsldbg-desktops/sl.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: sl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Razhroščevalnik XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/sr.po b/translations/desktop_files/kxsldbg-desktops/sr.po deleted file mode 100644 index f93b8857..00000000 --- a/translations/desktop_files/kxsldbg-desktops/sr.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: sr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Исправљач XSLT-а" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/sr@Latn.po b/translations/desktop_files/kxsldbg-desktops/sr@Latn.po deleted file mode 100644 index 4928f6d1..00000000 --- a/translations/desktop_files/kxsldbg-desktops/sr@Latn.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: sr@Latn\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Ispravljač XSLT-a" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/sv.po b/translations/desktop_files/kxsldbg-desktops/sv.po deleted file mode 100644 index 0aabeb7e..00000000 --- a/translations/desktop_files/kxsldbg-desktops/sv.po +++ /dev/null @@ -1,38 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: sv\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "Kxsldbg" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT-felsökare" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "Kxsldbg-delprogram" - -#. Name -#: xsldbg.desktop:2 -#, fuzzy -msgid "XSLDbg" -msgstr "Kxsldbg" diff --git a/translations/desktop_files/kxsldbg-desktops/ta.po b/translations/desktop_files/kxsldbg-desktops/ta.po deleted file mode 100644 index 249b1c0b..00000000 --- a/translations/desktop_files/kxsldbg-desktops/ta.po +++ /dev/null @@ -1,38 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: ta\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "KXSLDபிஜி" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT வழுநீக்குபவர்" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "KXsldbg பகுதி" - -#. Name -#: xsldbg.desktop:2 -#, fuzzy -msgid "XSLDbg" -msgstr "KXSLDபிஜி" diff --git a/translations/desktop_files/kxsldbg-desktops/tg.po b/translations/desktop_files/kxsldbg-desktops/tg.po deleted file mode 100644 index 22d07c0b..00000000 --- a/translations/desktop_files/kxsldbg-desktops/tg.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: tg\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Ғалатёби XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "Қисми KXsldbg" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/tr.po b/translations/desktop_files/kxsldbg-desktops/tr.po deleted file mode 100644 index 45572a74..00000000 --- a/translations/desktop_files/kxsldbg-desktops/tr.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: tr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT Hata Ayıklayıcısı" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/uk.po b/translations/desktop_files/kxsldbg-desktops/uk.po deleted file mode 100644 index 1d692037..00000000 --- a/translations/desktop_files/kxsldbg-desktops/uk.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: uk\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "Зневаджувач XSLT" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/zh_CN.po b/translations/desktop_files/kxsldbg-desktops/zh_CN.po deleted file mode 100644 index d1496ea1..00000000 --- a/translations/desktop_files/kxsldbg-desktops/zh_CN.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT 调试器" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/zh_HK.po b/translations/desktop_files/kxsldbg-desktops/zh_HK.po deleted file mode 100644 index de12725e..00000000 --- a/translations/desktop_files/kxsldbg-desktops/zh_HK.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: zh_HK\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT 除錯器" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" diff --git a/translations/desktop_files/kxsldbg-desktops/zh_TW.po b/translations/desktop_files/kxsldbg-desktops/zh_TW.po deleted file mode 100644 index 6124b446..00000000 --- a/translations/desktop_files/kxsldbg-desktops/zh_TW.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 23:56+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: zh_TW\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Name -#: kxsldbg.desktop:2 -msgid "KXSLDbg" -msgstr "" - -#. GenericName -#: kxsldbg.desktop:4 -msgid "XSLT Debugger" -msgstr "XSLT 除錯器" - -#. Name -#: kxsldbgpart/kxsldbg_part.desktop:2 -msgid "KXsldbgPart" -msgstr "" - -#. Name -#: xsldbg.desktop:2 -msgid "XSLDbg" -msgstr "" |