summaryrefslogtreecommitdiff
path: root/addon
diff options
context:
space:
mode:
Diffstat (limited to 'addon')
-rw-r--r--addon/doxmlparser/CMakeLists.txt0
-rw-r--r--addon/doxmlparser/src/Makefile.in15
-rw-r--r--addon/doxmlparser/src/basehandler.h2
-rw-r--r--addon/doxmlparser/src/baseiterator.h2
-rw-r--r--addon/doxmlparser/src/compoundhandler.cpp2
-rw-r--r--addon/doxmlparser/src/compoundhandler.h2
-rw-r--r--addon/doxmlparser/src/dochandler.cpp2
-rw-r--r--addon/doxmlparser/src/dochandler.h2
-rw-r--r--addon/doxmlparser/src/doxmlintf.h2
-rw-r--r--addon/doxmlparser/src/doxmlparser.pro.in27
-rw-r--r--addon/doxmlparser/src/graphhandler.h2
-rw-r--r--addon/doxmlparser/src/linkedtexthandler.cpp2
-rw-r--r--addon/doxmlparser/src/linkedtexthandler.h2
-rw-r--r--addon/doxmlparser/src/loamhandler.h2
-rw-r--r--addon/doxmlparser/src/mainhandler.cpp2
-rw-r--r--addon/doxmlparser/src/mainhandler.h2
-rw-r--r--addon/doxmlparser/src/memberhandler.cpp2
-rw-r--r--addon/doxmlparser/src/memberhandler.h2
-rw-r--r--addon/doxmlparser/src/paramhandler.cpp2
-rw-r--r--addon/doxmlparser/src/paramhandler.h2
-rw-r--r--addon/doxmlparser/src/sectionhandler.cpp2
-rw-r--r--addon/doxmlparser/src/sectionhandler.h2
-rw-r--r--addon/doxyapp/CMakeLists.txt28
-rw-r--r--addon/doxyapp/Makefile.in19
-rw-r--r--addon/doxyapp/doxyapp.cpp11
-rw-r--r--addon/doxyapp/doxyapp.pro.in12
-rwxr-xr-xaddon/doxypysql/search.py483
-rw-r--r--addon/doxysearch/CMakeLists.txt36
-rw-r--r--addon/doxysearch/Makefile.in34
-rw-r--r--addon/doxysearch/doxyindexer.cpp2
-rw-r--r--addon/doxysearch/doxyindexer.pro.in12
-rw-r--r--addon/doxysearch/doxysearch.cpp2
-rw-r--r--addon/doxysearch/doxysearch.pro.in12
-rw-r--r--addon/doxywizard/CMakeLists.txt80
-rw-r--r--addon/doxywizard/Makefile.in40
-rw-r--r--addon/doxywizard/config.l555
-rw-r--r--addon/doxywizard/config_doxyw.l54
-rw-r--r--addon/doxywizard/doxywizard.cpp2
-rw-r--r--addon/doxywizard/doxywizard.pro.in40
-rw-r--r--addon/doxywizard/inputbool.cpp2
-rw-r--r--addon/doxywizard/inputbool.h2
-rw-r--r--addon/doxywizard/inputint.cpp2
-rw-r--r--addon/doxywizard/inputint.h2
-rw-r--r--addon/doxywizard/inputstring.cpp2
-rw-r--r--addon/doxywizard/inputstring.h2
-rw-r--r--addon/doxywizard/inputstrlist.cpp2
-rw-r--r--addon/doxywizard/inputstrlist.h2
-rw-r--r--addon/doxywizard/version.h2
-rw-r--r--addon/doxywizard/wizard.h2
49 files changed, 469 insertions, 1053 deletions
diff --git a/addon/doxmlparser/CMakeLists.txt b/addon/doxmlparser/CMakeLists.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/addon/doxmlparser/CMakeLists.txt
diff --git a/addon/doxmlparser/src/Makefile.in b/addon/doxmlparser/src/Makefile.in
deleted file mode 100644
index 47d20c2..0000000
--- a/addon/doxmlparser/src/Makefile.in
+++ /dev/null
@@ -1,15 +0,0 @@
-all clean depend: Makefile.doxmlparser
- $(MAKE) -f Makefile.doxmlparser $@
-
-distclean: clean
- $(RM) -rf Makefile.doxmlparser doxmlparser.pro Makefile obj
-
-realclean: distclean
-
-tmake:
- $(ENV) $(PERL) $(TMAKE) doxmlparser.pro >Makefile.doxmlparser
-
-Makefile.doxmlparser: doxmlparser.pro
- $(ENV) $(PERL) $(TMAKE) doxmlparser.pro >Makefile.doxmlparser
-
-install:
diff --git a/addon/doxmlparser/src/basehandler.h b/addon/doxmlparser/src/basehandler.h
index 31fbf24..5715dda 100644
--- a/addon/doxmlparser/src/basehandler.h
+++ b/addon/doxmlparser/src/basehandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/baseiterator.h b/addon/doxmlparser/src/baseiterator.h
index 2ee9c2f..3325f54 100644
--- a/addon/doxmlparser/src/baseiterator.h
+++ b/addon/doxmlparser/src/baseiterator.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/compoundhandler.cpp b/addon/doxmlparser/src/compoundhandler.cpp
index 87b0440..3e729e9 100644
--- a/addon/doxmlparser/src/compoundhandler.cpp
+++ b/addon/doxmlparser/src/compoundhandler.cpp
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/compoundhandler.h b/addon/doxmlparser/src/compoundhandler.h
index c7e5ac0..f669133 100644
--- a/addon/doxmlparser/src/compoundhandler.h
+++ b/addon/doxmlparser/src/compoundhandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/dochandler.cpp b/addon/doxmlparser/src/dochandler.cpp
index df71e6a..4e25813 100644
--- a/addon/doxmlparser/src/dochandler.cpp
+++ b/addon/doxmlparser/src/dochandler.cpp
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/dochandler.h b/addon/doxmlparser/src/dochandler.h
index 6bc2bd9..4340dbd 100644
--- a/addon/doxmlparser/src/dochandler.h
+++ b/addon/doxmlparser/src/dochandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/doxmlintf.h b/addon/doxmlparser/src/doxmlintf.h
index ba863d4..22cecdb 100644
--- a/addon/doxmlparser/src/doxmlintf.h
+++ b/addon/doxmlparser/src/doxmlintf.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/doxmlparser.pro.in b/addon/doxmlparser/src/doxmlparser.pro.in
deleted file mode 100644
index 2bbf326..0000000
--- a/addon/doxmlparser/src/doxmlparser.pro.in
+++ /dev/null
@@ -1,27 +0,0 @@
-TEMPLATE = lib.t
-CONFIG = console staticlib warn_on $extraopts
-HEADERS = basehandler.h mainhandler.h \
- compoundhandler.h sectionhandler.h \
- memberhandler.h paramhandler.h \
- dochandler.h linkedtexthandler.h \
- debug.h graphhandler.h stringimpl.h \
- loamhandler.h
-SOURCES = mainhandler.cpp \
- compoundhandler.cpp sectionhandler.cpp \
- memberhandler.cpp paramhandler.cpp \
- dochandler.cpp linkedtexthandler.cpp \
- basehandler.cpp debug.cpp graphhandler.cpp \
- loamhandler.cpp
-unix:LIBS += -L../../../lib -lqtools
-win32:INCLUDEPATH += .
-win32-mingw:LIBS += -L../../../lib -lqtools
-win32-msvc:LIBS += qtools.lib shell32.lib
-win32-msvc:TMAKE_LFLAGS += /LIBPATH:....\\..\lib
-win32-borland:LIBS += qtools.lib doxycfg.lib shell32.lib
-win32-borland:TMAKE_LFLAGS += -L..\..\..\lib
-win32:TMAKE_CXXFLAGS += -DQT_NODLL
-DESTDIR = ../../../lib
-OBJECTS_DIR = ../../../objects/doxmlparser
-TARGET = doxmlparser
-INCLUDEPATH += ../../../qtools ../include
-
diff --git a/addon/doxmlparser/src/graphhandler.h b/addon/doxmlparser/src/graphhandler.h
index 090c62a..783b9f2 100644
--- a/addon/doxmlparser/src/graphhandler.h
+++ b/addon/doxmlparser/src/graphhandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/linkedtexthandler.cpp b/addon/doxmlparser/src/linkedtexthandler.cpp
index fe45133..1164688 100644
--- a/addon/doxmlparser/src/linkedtexthandler.cpp
+++ b/addon/doxmlparser/src/linkedtexthandler.cpp
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/linkedtexthandler.h b/addon/doxmlparser/src/linkedtexthandler.h
index cebdeb0..816726e 100644
--- a/addon/doxmlparser/src/linkedtexthandler.h
+++ b/addon/doxmlparser/src/linkedtexthandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/loamhandler.h b/addon/doxmlparser/src/loamhandler.h
index a113aa9..48a9952 100644
--- a/addon/doxmlparser/src/loamhandler.h
+++ b/addon/doxmlparser/src/loamhandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/mainhandler.cpp b/addon/doxmlparser/src/mainhandler.cpp
index 48c77fa..93525f0 100644
--- a/addon/doxmlparser/src/mainhandler.cpp
+++ b/addon/doxmlparser/src/mainhandler.cpp
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/mainhandler.h b/addon/doxmlparser/src/mainhandler.h
index 270f417..21e9b0a 100644
--- a/addon/doxmlparser/src/mainhandler.h
+++ b/addon/doxmlparser/src/mainhandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/memberhandler.cpp b/addon/doxmlparser/src/memberhandler.cpp
index ea55333..7a3f228 100644
--- a/addon/doxmlparser/src/memberhandler.cpp
+++ b/addon/doxmlparser/src/memberhandler.cpp
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/memberhandler.h b/addon/doxmlparser/src/memberhandler.h
index a84cc79..7438172 100644
--- a/addon/doxmlparser/src/memberhandler.h
+++ b/addon/doxmlparser/src/memberhandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/paramhandler.cpp b/addon/doxmlparser/src/paramhandler.cpp
index e6d3db1..831d5e4 100644
--- a/addon/doxmlparser/src/paramhandler.cpp
+++ b/addon/doxmlparser/src/paramhandler.cpp
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/paramhandler.h b/addon/doxmlparser/src/paramhandler.h
index 7ecf711..3f0f09b 100644
--- a/addon/doxmlparser/src/paramhandler.h
+++ b/addon/doxmlparser/src/paramhandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/sectionhandler.cpp b/addon/doxmlparser/src/sectionhandler.cpp
index bb43925..1137901 100644
--- a/addon/doxmlparser/src/sectionhandler.cpp
+++ b/addon/doxmlparser/src/sectionhandler.cpp
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/sectionhandler.h b/addon/doxmlparser/src/sectionhandler.h
index 2730307..a212e62 100644
--- a/addon/doxmlparser/src/sectionhandler.h
+++ b/addon/doxmlparser/src/sectionhandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt
new file mode 100644
index 0000000..a039762
--- /dev/null
+++ b/addon/doxyapp/CMakeLists.txt
@@ -0,0 +1,28 @@
+if (build_app)
+
+find_package(Iconv)
+
+include_directories(
+ ${CMAKE_SOURCE_DIR}/src
+ ${CMAKE_SOURCE_DIR}/qtools
+ ${ICONV_INCLUDE_DIR}
+)
+
+add_executable(doxyapp
+doxyapp.cpp
+)
+target_link_libraries(doxyapp
+_doxygen
+qtools
+md5
+doxycfg
+vhdlparser
+${ICONV_LIBRARIES}
+${CMAKE_THREAD_LIBS_INIT}
+${SQLITE3_LIBRARIES}
+${EXTRA_LIBS}
+)
+
+install(TARGETS doxyapp DESTINATION bin)
+
+endif()
diff --git a/addon/doxyapp/Makefile.in b/addon/doxyapp/Makefile.in
deleted file mode 100644
index d0629d9..0000000
--- a/addon/doxyapp/Makefile.in
+++ /dev/null
@@ -1,19 +0,0 @@
-
-all clean depend distclean: Makefile.doxyapp
- $(MAKE) -f Makefile.doxyapp $@
-
-distclean: clean
- $(RM) -rf Makefile doxyapp.pro Makefile.doxyapp
-
-realclean: distclean
-
-tmake:
- $(ENV) $(PERL) "$(TMAKE)" doxyapp.pro >Makefile.doxyapp
-
-strip:
- strip doxyapp
-
-Makefile.doxyapp: doxyapp.pro
- $(ENV) $(PERL) "$(TMAKE)" doxyapp.pro >Makefile.doxyapp
-
-install:
diff --git a/addon/doxyapp/doxyapp.cpp b/addon/doxyapp/doxyapp.cpp
index e73d12a..6564981 100644
--- a/addon/doxyapp/doxyapp.cpp
+++ b/addon/doxyapp/doxyapp.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -26,7 +26,8 @@
*/
#include <stdlib.h>
-#include <unistd.h>
+#include <qfile.h>
+#include <qdir.h>
#include "doxygen.h"
#include "outputgen.h"
#include "parserintf.h"
@@ -308,10 +309,10 @@ int main(int argc,char **argv)
}
// remove temporary files
- if (!Doxygen::objDBFileName.isEmpty()) unlink(Doxygen::objDBFileName);
- if (!Doxygen::entryDBFileName.isEmpty()) unlink(Doxygen::entryDBFileName);
+ if (!Doxygen::objDBFileName.isEmpty()) QFile::remove(Doxygen::objDBFileName);
+ if (!Doxygen::entryDBFileName.isEmpty()) QFile::remove(Doxygen::entryDBFileName);
// clean up after us
- rmdir("/tmp/doxygen");
+ QDir().rmdir("/tmp/doxygen");
while (1)
{
diff --git a/addon/doxyapp/doxyapp.pro.in b/addon/doxyapp/doxyapp.pro.in
deleted file mode 100644
index 7a8c5ee..0000000
--- a/addon/doxyapp/doxyapp.pro.in
+++ /dev/null
@@ -1,12 +0,0 @@
-TEMPLATE = app.t
-CONFIG = console warn_on debug
-HEADERS =
-SOURCES = doxyapp.cpp
-LIBS += -L../../lib -ldoxygen -lqtools -lmd5 -ldoxycfg -lpthread -liconv
-DESTDIR =
-OBJECTS_DIR = ../../objects/doxyapp
-TARGET = ../../bin/doxyapp
-INCLUDEPATH += ../../qtools ../../src
-DEPENDPATH += ../../src
-TARGETDEPS = ../../lib/libdoxygen.a
-
diff --git a/addon/doxypysql/search.py b/addon/doxypysql/search.py
index d0c88c0..c185138 100755
--- a/addon/doxypysql/search.py
+++ b/addon/doxypysql/search.py
@@ -14,6 +14,7 @@ import sys
import os
import getopt
import json
+import re
class MemberType:
Define="0"
@@ -28,6 +29,7 @@ class MemberType:
DCOP="9"
Property="10"
Event="11"
+ File="12"
class RequestType:
References="9901"
@@ -38,252 +40,253 @@ class RequestType:
BaseClasses="9906"
SubClasses="9907"
-g_conn=None
+g_use_regexp=False
###############################################################################
-def escapeLike(val):
- return 'LIKE "%' + val.replace("\\", "\\\\").replace("_", "\\_") \
- .replace("%", "\\%") + '%" ESCAPE "\\"'
+# case-insensitive sqlite regexp function
+def re_fn(expr, item):
+ reg = re.compile(expr, re.I)
+ return reg.search(item) is not None
-def matchName(name):
- if type(name) is str:
- return "name "+escapeLike(name)
- else:
- return 'id=%d' %name
-
-def fileName(id_file):
- if g_conn.execute("SELECT COUNT(*) FROM files WHERE id=?",[id_file]).fetchone()[0] > 1:
- print "non-uniq fileid"
-
- for r in g_conn.execute("SELECT * FROM files WHERE id=?",[id_file]).fetchall():
- return r['name']
+def openDb(dbname):
+ if dbname == None:
+ dbname = "doxygen_sqlite3.db"
- return ""
+ if not os.path.isfile(dbname):
+ raise BaseException("No such file %s" % dbname )
-def fileId(name):
- if g_conn.execute("SELECT COUNT(*) FROM files WHERE name=?",[name]).fetchone()[0] > 1:
- print "non-uniq file name"
+ conn = sqlite3.connect(dbname)
+ conn.execute('PRAGMA temp_store = MEMORY;')
+ conn.row_factory = sqlite3.Row
+ conn.create_function("REGEXP", 2, re_fn)
+ return conn
+###############################################################################
+class Finder:
+ def __init__(self,cn,name,row_type=str):
+ self.cn=cn
+ self.name=name
+ self.row_type=row_type
+
+ def match(self,row):
+ if self.row_type is int:
+ return " id=?"
+ else:
+ if g_use_regexp == True:
+ return " REGEXP (?,%s)" %row
+ else:
+ return " %s=?" %row
- for r in g_conn.execute("SELECT * FROM files WHERE name=?",[name]).fetchall():
- return r['id']
+ def fileName(self,id_file):
+ if self.cn.execute("SELECT COUNT(*) FROM files WHERE rowid=?",[id_file]).fetchone()[0] > 1:
+ print >>sys.stderr,"WARNING: non-uniq fileid [%s]. Considering only the first match." % id_file
- return -1
+ for r in self.cn.execute("SELECT * FROM files WHERE rowid=?",[id_file]).fetchall():
+ return r['name']
-###############################################################################
+ return ""
-def findReferences(name):
- o=[]
+ def fileId(self,name):
+ if self.cn.execute("SELECT COUNT(*) FROM files WHERE"+self.match("name"),[name]).fetchone()[0] > 1:
+ print >>sys.stderr,"WARNING: non-uniq file name [%s]. Considering only the first match." % name
- cur = g_conn.cursor()
- cur.execute("SELECT refid FROM memberdef WHERE name=?",[name])
- refids = cur.fetchall()
+ for r in self.cn.execute("SELECT rowid FROM files WHERE"+self.match("name"),[name]).fetchall():
+ return r[0]
- if len(refids) == 0:
+ return -1
+###############################################################################
+ def references(self):
+ o=[]
+ cur = self.cn.cursor()
+ cur.execute("SELECT refid FROM memberdef WHERE"+self.match("name"),[self.name])
+ refids = cur.fetchall()
+
+ if len(refids) == 0:
+ return o
+
+ refid = refids[0]['refid']
+ cur = self.cn.cursor()
+ #TODO:SELECT rowid from refids where refid=refid
+ for info in cur.execute("SELECT * FROM xrefs WHERE refid_dst LIKE '%"+refid+"%'"):
+ item={}
+ cur = self.cn.cursor()
+ for i2 in cur.execute("SELECT * FROM memberdef WHERE refid=?",[info['src']]):
+ item['name']=i2['name']
+ item['src']=info['src']
+ item['file']=self.fileName(info['id_file'])
+ item['line']=info['line']
+
+ o.append(item)
return o
-
- refid = refids[0]['refid']
- cur = g_conn.cursor()
- for info in cur.execute("SELECT * FROM xrefs WHERE dst LIKE '%"+refid+"%'"):
- item={}
- cur = g_conn.cursor()
- for i2 in cur.execute("SELECT * FROM memberdef WHERE refid=?",[info['src']]):
- item['name']=i2['name']
- item['src']=info['src']
- item['file']=fileName(info['id_file'])
- item['line']=info['line']
-
- o.append(item)
- return o
-
-
-def findFunction(name):
- o=[]
- for r in g_conn.execute('SELECT * FROM memberdef WHERE '+matchName(name)+' AND kind=?',[MemberType.Function]).fetchall():
- item={}
- item['name'] = r['name']
- item['definition'] = r['definition']
- item['argsstring'] = r['argsstring']
- item['file'] = fileName(r['id_file'])
- item['line'] = r['line']
- item['detaileddescription'] = r['detaileddescription']
- o.append(item)
- return o
-
-
-def findMacro(name):
- o=[]
- for r in g_conn.execute('SELECT * FROM memberdef WHERE '+matchName(name)+' AND kind=?',[MemberType.Define]).fetchall():
- item={}
- item['name'] = r['name']
- if r['argsstring']:
+###############################################################################
+ def function(self):
+ o=[]
+ c=self.cn.execute('SELECT * FROM memberdef WHERE'+self.match("name")+' AND kind=?',[self.name,MemberType.Function])
+ for r in c.fetchall():
+ item={}
+ item['name'] = r['name']
+ item['definition'] = r['definition']
item['argsstring'] = r['argsstring']
- item['definition'] = r['initializer']
- item['file'] = fileName(r['id_file'])
- item['line'] = r['line']
- o.append(item)
- return o
-
-
-def findTypedef(name):
- o=[]
- for r in g_conn.execute('SELECT * FROM memberdef WHERE '+matchName(name)+' AND kind=?',[MemberType.Typedef]).fetchall():
- item={}
- item['name'] = r['name']
- item['definition'] = r['definition']
- item['file'] = fileName(r['id_file'])
- item['line'] = r['line']
- o.append(item)
- return o
-
-
-def findVariable(name):
- o=[]
- for r in g_conn.execute('SELECT * FROM memberdef WHERE '+matchName(name)+' AND kind=?',[MemberType.Variable]).fetchall():
- item={}
- item['name'] = r['name']
- item['definition'] = r['definition']
- item['file'] = fileName(r['id_file'])
- item['line'] = r['line']
- o.append(item)
- return o
-
-def findParams(name):
- o=[]
- for r in g_conn.execute('SELECT id FROM memberdef WHERE '+matchName(name)).fetchall():
- #a=("SELECT * FROM params where id=(SELECT id_param FROM memberdef_params where id_memberdef=?",[id_memberdef])
- item={}
- item['id'] = r['id']
- o.append(item)
- return o
-
-
-def findStruct(name):
- o=[]
- for r in g_conn.execute('SELECT * FROM compounddef WHERE '+matchName(name)).fetchall():
- item={}
- item['name'] = r['name']
- o.append(item)
- return o
-
-def findIncluders(name):
- o=[]
- fid = fileId(name)
- for r in g_conn.execute('SELECT * FROM includes WHERE id_dst=?',[fid]).fetchall():
- item={}
- item['name'] = fileName(r['id_src'])
- o.append(item)
- return o
-
-def findIncludees(name):
- o=[]
- fid = fileId(name)
- for r in g_conn.execute('SELECT * FROM includes WHERE id_src=?',[fid]).fetchall():
- item={}
- item['name'] = r['dst']
- o.append(item)
- return o
-
-
-def findMembers(name):
- o=[]
- for r in g_conn.execute('SELECT * FROM memberdef WHERE scope LIKE "%'+name+'%";').fetchall():
- item={}
- item['name'] = r['name']
- item['definition'] = r['definition']
- item['argsstring'] = r['argsstring']
- item['file'] = fileName(r['id_file'])
- item['line'] = r['line']
- item['documentation'] = r['documentation']
- o.append(item)
- return o
-
-
-def findBaseClasses(name):
- o=[]
- for r in g_conn.execute('SELECT base FROM basecompoundref WHERE derived=?',[name]).fetchall():
- item={}
- item['name'] = r['base']
- o.append(item)
- return o
-
-
-def findSubClasses(name):
- o=[]
- for r in g_conn.execute('SELECT derived FROM basecompoundref WHERE base=?',[name]).fetchall():
- item={}
- item['name'] = r['derived']
- o.append(item)
- return o
-
-
+ item['file'] = self.fileName(r['id_file'])
+ item['line'] = r['line']
+ item['detaileddescription'] = r['detaileddescription']
+ o.append(item)
+ return o
###############################################################################
+ def file(self):
+ o=[]
+ for r in self.cn.execute("SELECT rowid,* FROM files WHERE"+self.match("name"),[self.name]).fetchall():
+ item={}
+ item['name'] = r['name']
+ item['id'] = r['rowid']
+ o.append(item)
+ return o
-def usage():
- print """Usage: search.py [Options]
-Options:
- -h, --help
- -d <D> Use database <D> for queries
- -r <F> Search for references to <F>
- -f <F> Search for definition of function <F>
- -m <M> Search for definition of macro <M>
- -t <T> Search for definition of type <T>
- -v <V> Search for definition of variable <V>
- -I <I> Get the includers of <I>
- -i <I> Get the includees of <I>
- -M <C> Get all members of class <C>
- -B <C> Get the base classes of class <C>
- -S <C> Get the sub classes of class <C>
-"""
-
-def openDb(dbname):
- global g_conn
-
- if dbname == None:
- dbname = "doxygen_sqlite3.db"
-
- if not os.path.isfile(dbname):
- raise BaseException("No such file %s" % dbname )
-
- g_conn = sqlite3.connect(dbname)
- g_conn.execute('PRAGMA temp_store = MEMORY;')
- g_conn.row_factory = sqlite3.Row
-
###############################################################################
-def process(kind,o):
+ def macro(self):
+ o=[]
+ c=self.cn.execute('SELECT * FROM memberdef WHERE'+self.match("name")+' AND kind=?',[self.name,MemberType.Define])
+ for r in c.fetchall():
+ item={}
+ item['name'] = r['name']
+ if r['argsstring']:
+ item['argsstring'] = r['argsstring']
+ item['definition'] = r['initializer']
+ item['file'] = self.fileName(r['id_file'])
+ item['line'] = r['line']
+ o.append(item)
+ return o
+###############################################################################
+ def typedef(self):
+ o=[]
+ c=self.cn.execute('SELECT * FROM memberdef WHERE'+self.match("name")+' AND kind=?',[self.name,MemberType.Typedef])
+ for r in c.fetchall():
+ item={}
+ item['name'] = r['name']
+ item['definition'] = r['definition']
+ item['file'] = self.fileName(r['id_file'])
+ item['line'] = r['line']
+ o.append(item)
+ return o
+###############################################################################
+ def variable(self):
+ o=[]
+ c=self.cn.execute('SELECT * FROM memberdef WHERE'+self.match("name")+' AND kind=?',[self.name,MemberType.Variable])
+ for r in c.fetchall():
+ item={}
+ item['name'] = r['name']
+ item['definition'] = r['definition']
+ item['file'] = self.fileName(r['id_file'])
+ item['line'] = r['line']
+ o.append(item)
+ return o
+###############################################################################
+ def params(self):
+ o=[]
+ c=self.cn.execute('SELECT id FROM memberdef WHERE'+self.match("name"),[self.name])
+ for r in c.fetchall():
+ #a=("SELECT * FROM params where id=(SELECT id_param FROM memberdef_params where id_memberdef=?",[id_memberdef])
+ item={}
+ item['id'] = r['id']
+ o.append(item)
+ return o
+###############################################################################
+ def struct(self):
+ o=[]
+ c=self.cn.execute('SELECT * FROM compounddef WHERE'+self.match("name"),[self.name])
+ for r in c.fetchall():
+ item={}
+ item['name'] = r['name']
+ o.append(item)
+ return o
+###############################################################################
+ def includers(self):
+ o=[]
+ fid = self.fileId(self.name)
+ c=self.cn.execute('SELECT * FROM includes WHERE id_dst=?',[fid])
+ for r in c.fetchall():
+ item={}
+ item['name'] = self.fileName(r['id_src'])
+ o.append(item)
+ return o
+###############################################################################
+ def includees(self):
+ o=[]
+ fid = self.fileId(self.name)
+ c=self.cn.execute('SELECT * FROM includes WHERE id_src=?',[fid])
+ for r in c.fetchall():
+ item={}
+ item['name'] = self.fileName(r['id_dst'])
+ o.append(item)
+ return o
+###############################################################################
+ def members(self):
+ o=[]
+ c=self.cn.execute('SELECT * FROM memberdef WHERE'+self.match("scope"),[self.name])
+ for r in c.fetchall():
+ item={}
+ item['name'] = r['name']
+ item['definition'] = r['definition']
+ item['argsstring'] = r['argsstring']
+ item['file'] = self.fileName(r['id_file'])
+ item['line'] = r['line']
+ #item['documentation'] = r['documentation']
+ o.append(item)
+ return o
+###############################################################################
+ def baseClasses(self):
+ o=[]
+ c=self.cn.execute('SELECT base FROM basecompoundref WHERE'+self.match("derived"),[self.name])
+ for r in c.fetchall():
+ item={}
+ item['name'] = r['base']
+ o.append(item)
+ return o
+###############################################################################
+ def subClasses(self):
+ o=[]
+ c=self.cn.execute('SELECT derived FROM basecompoundref WHERE'+self.match("base"),[self.name])
+ for r in c.fetchall():
+ item={}
+ item['name'] = r['derived']
+ o.append(item)
+ return o
+###############################################################################
+def process(f,kind):
request_processors = {
- MemberType.Function: findFunction,
- MemberType.Define: findMacro,
- MemberType.Variable: findVariable,
- MemberType.Typedef: findTypedef,
- RequestType.References: findReferences,
- RequestType.Struct: findStruct,
- RequestType.Includers: findIncluders,
- RequestType.Includees: findIncludees,
- RequestType.Members: findMembers,
- RequestType.BaseClasses: findBaseClasses,
- RequestType.SubClasses: findSubClasses
+ MemberType.Function: f.function,
+ MemberType.File: f.file,
+ MemberType.Define: f.macro,
+ MemberType.Variable: f.variable,
+ MemberType.Typedef: f.typedef,
+ RequestType.References: f.references,
+ RequestType.Struct: f.struct,
+ RequestType.Includers: f.includers,
+ RequestType.Includees: f.includees,
+ RequestType.Members: f.members,
+ RequestType.BaseClasses: f.baseClasses,
+ RequestType.SubClasses: f.subClasses
}
- return request_processors[kind](o)
-
-
-def processHref(ref):
+ return request_processors[kind]()
+###############################################################################
+def processHref(cn,ref):
j={}
# is it in memberdef ?
table="memberdef"
- if ( g_conn.execute("SELECT count(*) from %s WHERE refid='%s'" % (table,ref) ).fetchone()[0] > 0 ):
- for r in g_conn.execute("SELECT kind,id FROM %s WHERE refid='%s'" % (table,ref) ).fetchall():
- j=process(str(r['kind']),int(r['id']))
+ if ( cn.execute("SELECT count(*) from %s WHERE refid=?"%table,[ref] ).fetchone()[0] > 0 ):
+ for r in cn.execute("SELECT kind,id FROM %s WHERE refid='%s'" % (table,ref) ).fetchall():
+ f=Finder(cn,r['id'],int)
+ j=process(f,str(r['kind']))
# is it in compounddef ?
table="compounddef"
- if ( g_conn.execute("SELECT count(*) from %s WHERE refid='%s'" % (table,ref)).fetchone()[0] > 0 ):
- for r in g_conn.execute("SELECT id FROM %s WHERE refid='%s'" % (table,ref) ).fetchall():
- j=process(RequestType.Struct,int(r['id']))
+ if ( cn.execute("SELECT count(*) from %s WHERE refid=?"%table,[ref]).fetchone()[0] > 0 ):
+ for r in cn.execute("SELECT id FROM %s WHERE refid=?"%table,[ref] ).fetchall():
+ f=Finder(cn,r['id'],int)
+ j=process(f,RequestType.Struct)
return j
-
-
+###############################################################################
def serveCgi():
import cgi
@@ -298,16 +301,33 @@ def serveCgi():
print '{"result": null, "error": "no refid given"}'
sys.exit(0)
- openDb('doxygen_sqlite3.db')
+ cn=openDb('doxygen_sqlite3.db')
- j = processHref(ref)
+ j = processHref(cn,ref)
print json.dumps({"result":j,"error":None})
-
-
+###############################################################################
+def usage():
+ print >>sys.stderr,"""Usage: search.py [Options]
+Options:
+ -h, --help
+ -d <D> Use database <D> for queries.
+ -f <F> Search for definition of function <F>.
+ -m <M> Search for definition of macro <M>.
+ -r <F> Search for references to function <F>.
+ -t <T> Search for definition of type <T>.
+ -v <V> Search for definition of variable <V>.
+ -I <I> What files are including <I>.
+ -i <i> What files are included by <i>.
+ -B <C> Get the base classes of class <C>.
+ -M <C> Get all members of class <C>.
+ -S <C> Get the sub classes of class <C>.
+ -R Consider the search <term> to be a regex.
+"""
+###############################################################################
def serveCli(argv):
try:
- opts, args = getopt.getopt(argv, "hr:I:i:d:f:m:t:v:H:M:B:S:",["help"])
+ opts, args = getopt.getopt(argv, "hr:RI:i:d:f:m:t:v:H:M:B:S:F:",["help"])
except getopt.GetoptError:
usage()
sys.exit(1)
@@ -315,6 +335,7 @@ def serveCli(argv):
ref=None
dbname=None
j={}
+ global g_use_regexp
for a, o in opts:
if a in ('-h', '--help'):
@@ -325,6 +346,9 @@ def serveCli(argv):
continue
elif a in ('-r'):
kind=RequestType.References
+ elif a in ('-R'):
+ g_use_regexp=True
+ continue
elif a in ('-I'):
kind=RequestType.Includers
elif a in ('-i'):
@@ -337,6 +361,8 @@ def serveCli(argv):
kind=RequestType.SubClasses
elif a in ('-f'):
kind=MemberType.Function
+ elif a in ('-F'):
+ kind=MemberType.File
elif a in ('-m'):
kind=MemberType.Define
elif a in ('-t'):
@@ -346,12 +372,13 @@ def serveCli(argv):
elif a in ('-H'):
ref = o
- openDb(dbname)
+ cn=openDb(dbname)
+ f=Finder(cn,o)
if ref != None:
- j=processHref(ref)
+ j=processHref(cn,ref)
else:
- j=process(kind,o)
- print json.dumps(j)
+ j=process(f,kind)
+ print json.dumps(j,indent=4)
def main(argv):
diff --git a/addon/doxysearch/CMakeLists.txt b/addon/doxysearch/CMakeLists.txt
new file mode 100644
index 0000000..33e01c1
--- /dev/null
+++ b/addon/doxysearch/CMakeLists.txt
@@ -0,0 +1,36 @@
+if (build_search)
+
+find_package(Xapian REQUIRED)
+find_package(ZLIB REQUIRED)
+
+if (WIN32)
+ set(WIN_EXTRA_LIBS "uuid.lib rpcrt4.lib ws2_32.lib")
+endif()
+
+include_directories(
+ ${CMAKE_SOURCE_DIR}/qtools
+ ${XAPIAN_INCLUDE_DIR}
+ ${ZLIB_INCLUDE_DIRS}
+)
+add_executable(doxyindexer
+ doxyindexer.cpp
+)
+target_link_libraries(doxyindexer
+ ${XAPIAN_LIBRARIES}
+ ${ZLIB_LIBRARIES}
+ ${WIN_EXTRA_LIBS}
+ qtools
+)
+
+add_executable(doxysearch.cgi
+ doxysearch.cpp
+)
+target_link_libraries(doxysearch.cgi
+ ${XAPIAN_LIBRARIES}
+ ${ZLIB_LIBRARIES}
+ ${WIN_EXTRA_LIBS}
+)
+
+install(TARGETS doxyindexer doxysearch.cgi DESTINATION bin)
+
+endif()
diff --git a/addon/doxysearch/Makefile.in b/addon/doxysearch/Makefile.in
deleted file mode 100644
index 7daafee..0000000
--- a/addon/doxysearch/Makefile.in
+++ /dev/null
@@ -1,34 +0,0 @@
-
-all clean depend: Makefile.doxysearch Makefile.doxyindexer
- $(MAKE) -f Makefile.doxysearch $@
- $(MAKE) -f Makefile.doxyindexer $@
-
-distclean: clean
- $(RM) -rf Makefile doxysearch.pro Makefile.doxysearch
- $(RM) -rf Makefile doxyindexer.pro Makefile.doxyindexer
-
-tmake:
- $(ENV) $(PERL) "$(TMAKE)" doxysearch.pro >Makefile.doxysearch
- $(ENV) $(PERL) "$(TMAKE)" doxyindexer.pro >Makefile.doxyindexer
-
-strip:
- strip doxysearch
-
-Makefile.doxysearch: doxysearch.pro
- $(ENV) $(PERL) "$(TMAKE)" doxysearch.pro >Makefile.doxysearch
-
-Makefile.doxyindexer: doxyindexer.pro
- $(ENV) $(PERL) "$(TMAKE)" doxyindexer.pro >Makefile.doxyindexer
-
-install:
- $(INSTTOOL) -d $(INSTALL)/bin
- $(INSTTOOL) -m 755 ../../bin/doxysearch.cgi $(INSTALL)/bin
- $(INSTTOOL) -m 755 ../../bin/doxyindexer $(INSTALL)/bin
- $(INSTTOOL) -d $(INSTALL)/$(MAN1DIR)
- cat ../../doc/doxyindexer.1 | sed -e "s/DATE/$(DATE)/g" -e "s/VERSION/$(VERSION)/g" > doxyindexer.1
- $(INSTTOOL) -m 644 doxyindexer.1 $(INSTALL)/$(MAN1DIR)/doxyindexer.1
- rm doxyindexer.1
- cat ../../doc/doxysearch.1 | sed -e "s/DATE/$(DATE)/g" -e "s/VERSION/$(VERSION)/g" > doxysearch.1
- $(INSTTOOL) -m 644 doxysearch.1 $(INSTALL)/$(MAN1DIR)/doxysearch.1
- rm doxysearch.1
-
diff --git a/addon/doxysearch/doxyindexer.cpp b/addon/doxysearch/doxyindexer.cpp
index e1006be..12d3e9a 100644
--- a/addon/doxysearch/doxyindexer.cpp
+++ b/addon/doxysearch/doxyindexer.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxysearch/doxyindexer.pro.in b/addon/doxysearch/doxyindexer.pro.in
deleted file mode 100644
index c84a2ac..0000000
--- a/addon/doxysearch/doxyindexer.pro.in
+++ /dev/null
@@ -1,12 +0,0 @@
-TEMPLATE = app.t
-CONFIG = console warn_on static release
-HEADERS =
-SOURCES = doxyindexer.cpp
-LIBS += -L../../lib -lxapian -lqtools
-DESTDIR =
-OBJECTS_DIR = ../../objects/doxyindexer
-TARGET = ../../bin/doxyindexer
-INCLUDEPATH += ../../qtools
-DEPENDPATH +=
-TARGETDEPS =
-
diff --git a/addon/doxysearch/doxysearch.cpp b/addon/doxysearch/doxysearch.cpp
index f6946ef..1c4effd 100644
--- a/addon/doxysearch/doxysearch.cpp
+++ b/addon/doxysearch/doxysearch.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxysearch/doxysearch.pro.in b/addon/doxysearch/doxysearch.pro.in
deleted file mode 100644
index 702f5a4..0000000
--- a/addon/doxysearch/doxysearch.pro.in
+++ /dev/null
@@ -1,12 +0,0 @@
-TEMPLATE = app.t
-CONFIG = console warn_on debug cgi
-HEADERS =
-SOURCES = doxysearch.cpp
-LIBS += -lxapian
-DESTDIR =
-OBJECTS_DIR = ../../objects/doxysearch
-TARGET = ../../bin/doxysearch.cgi
-INCLUDEPATH +=
-DEPENDPATH +=
-TARGETDEPS =
-
diff --git a/addon/doxywizard/CMakeLists.txt b/addon/doxywizard/CMakeLists.txt
new file mode 100644
index 0000000..055aac3
--- /dev/null
+++ b/addon/doxywizard/CMakeLists.txt
@@ -0,0 +1,80 @@
+if (build_wizard)
+
+include_directories(
+ .
+ ${CMAKE_SOURCE_DIR}/src
+ ${CMAKE_SOURCE_DIR}/qtools
+ ${GENERATED_SRC}
+)
+
+set(GENERATED_SRC_WIZARD ${GENERATED_SRC}/doxywizard)
+file(MAKE_DIRECTORY ${GENERATED_SRC_WIZARD})
+
+add_definitions(-DQT_ARCH_X86_64 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DUNICODE)
+set(QT_USE_QTXML TRUE)
+find_package(Qt4 REQUIRED)
+include(${QT_USE_FILE})
+
+# generate settings.h
+file(GENERATE OUTPUT ${GENERATED_SRC_WIZARD}/settings.h
+CONTENT "#ifndef SETTINGS_H
+#define SETTINGS_H
+#define USE_SQLITE3 ${sqlite3}
+#define USE_LIBCLANG ${clang}
+#define IS_SUPPORTED(x) \\
+ ((USE_SQLITE3 && strcmp(\"USE_SQLITE3\",(x))==0) || \\
+ (USE_LIBCLANG && strcmp(\"USE_LIBCLANG\",(x))==0) || \\
+ 0)
+#endif" )
+set_source_files_properties(${GENERATED_SRC_WIZARD}/settings.h PROPERTIES GENERATED 1)
+
+# generate version.cpp
+file(GENERATE OUTPUT ${GENERATED_SRC_WIZARD}/version.cpp
+ CONTENT "char versionString[]=\"${VERSION}\";"
+)
+set_source_files_properties(${GENERATED_SRC_WIZARD}/version.cpp PROPERTIES GENERATED 1)
+
+# generate configdoc.cpp
+add_custom_command(
+COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -wiz ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp
+OUTPUT ${GENERATED_SRC_WIZARD}/configdoc.cpp
+)
+set_source_files_properties(${GENERATED_SRC_WIZARD}/configdoc.cpp PROPERTIES GENERATED 1)
+
+FLEX_TARGET(config_doxyw config_doxyw.l ${GENERATED_SRC_WIZARD}/config_doxyw.cpp COMPILE_FLAGS "-Pconfig_doxywYY")
+
+QT4_WRAP_CPP(doxywizard_MOC
+doxywizard.h
+expert.h
+helplabel.h
+inputint.h
+inputbool.h
+inputstring.h
+inputstrlist.h
+wizard.h
+)
+
+QT4_ADD_RESOURCES(doxywizard_RESOURCES_RCC doxywizard.qrc)
+
+add_executable(doxywizard
+doxywizard.cpp
+expert.cpp
+wizard.cpp
+inputbool.cpp
+inputstring.cpp
+inputint.cpp
+inputstrlist.cpp
+${GENERATED_SRC_WIZARD}/settings.h
+${GENERATED_SRC_WIZARD}/version.cpp
+${GENERATED_SRC_WIZARD}/config_doxyw.cpp
+${GENERATED_SRC_WIZARD}/configdoc.cpp
+${doxywizard_MOC}
+${doxywizard_RESOURCES_RCC}
+)
+target_link_libraries(doxywizard
+${QT_LIBRARIES}
+)
+
+install(TARGETS doxywizard DESTINATION bin)
+
+endif()
diff --git a/addon/doxywizard/Makefile.in b/addon/doxywizard/Makefile.in
deleted file mode 100644
index 9b14174..0000000
--- a/addon/doxywizard/Makefile.in
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-#
-#
-# Copyright (C) 1997-2014 by Dimitri van Heesch.
-#
-# Permission to use, copy, modify, and distribute this software and its
-# documentation under the terms of the GNU General Public License is hereby
-# granted. No representations are made about the suitability of this software
-# for any purpose. It is provided "as is" without express or implied warranty.
-# See the GNU General Public License for more details.
-#
-
-QMAKE=$(QTDIR)/bin/qmake $(MKSPECS)
-INCBUFSIZE=$(PYTHON) ../../src/increasebuffer.py
-
-all: Makefile.doxywizard
- $(MAKE) -f Makefile.doxywizard LEX=$(LEX) PYTHON=$(PYTHON) INCBUFSIZE="$(INCBUFSIZE)"
-
-Makefile.doxywizard: doxywizard.pro
- $(QMAKE) doxywizard.pro -o Makefile.doxywizard
-
-qmake:
- $(QMAKE) doxywizard.pro -o Makefile.doxywizard
-
-clean: Makefile.doxywizard
- $(MAKE) -f Makefile.doxywizard clean
-
-distclean: Makefile.doxywizard
- $(MAKE) -f Makefile.doxywizard distclean
- $(RM) Makefile.doxywizard
-
-install:
- $(INSTTOOL) -d $(INSTALL)/bin
- $(INSTTOOL) -m 755 ../../bin/doxywizard $(INSTALL)/bin
- $(INSTTOOL) -d $(INSTALL)/$(MAN1DIR)
- cat ../../doc/doxywizard.1 | sed -e "s/DATE/$(DATE)/g" -e "s/VERSION/$(VERSION)/g" > doxywizard.1
- $(INSTTOOL) -m 644 doxywizard.1 $(INSTALL)/$(MAN1DIR)/doxywizard.1
- rm doxywizard.1
-
-FORCE:
diff --git a/addon/doxywizard/config.l b/addon/doxywizard/config.l
deleted file mode 100644
index f11bc46..0000000
--- a/addon/doxywizard/config.l
+++ /dev/null
@@ -1,555 +0,0 @@
-/******************************************************************************
- *
- * $Id: config_templ.l,v 1.8 2001/01/01 10:15:16 root Exp $
- *
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation under the terms of the GNU General Public License is hereby
- * granted. No representations are made about the suitability of this software
- * for any purpose. It is provided "as is" without express or implied warranty.
- * See the GNU General Public License for more details.
- *
- */
-
-%{
-
-/*
- * includes
- */
-#include "config.h"
-#include "input.h"
-#include <QtCore>
-
-#define MAX_INCLUDE_DEPTH 10
-
-
-/* -----------------------------------------------------------------
- *
- * static variables
- */
-
-struct ConfigFileState
-{
- int lineNr;
- FILE *file;
- YY_BUFFER_STATE oldState;
- YY_BUFFER_STATE newState;
- QString fileName;
-};
-
-static const QHash<QString,Input*> *g_options;
-static FILE *g_file;
-static QString g_yyFileName;
-static QString g_includeName;
-static QVariant g_includePathList;
-static QStack<ConfigFileState*> g_includeStack;
-static int g_includeDepth;
-static QVariant *g_arg;
-static Input *g_curOption=0;
-static QString g_elemStr;
-static QTextCodec *g_codec = QTextCodec::codecForName("UTF-8");
-static QString g_codecName = QString::fromAscii("UTF-8");
-static int g_lastState;
-static QByteArray g_tmpString;
-
-/* -----------------------------------------------------------------
- */
-#undef YY_INPUT
-#define YY_INPUT(buf,result,max_size) result=yyread(buf,max_size);
-
-static int yyread(char *buf,int maxSize)
-{
- // no file included
- if (g_includeStack.isEmpty())
- {
- return fread(buf,1,maxSize,g_file);
- }
- else
- {
- return fread(buf,1,maxSize,g_includeStack.top()->file);
- }
-}
-
-void config_err(const char *fmt, ...)
-{
- va_list args;
- va_start(args, fmt);
- vfprintf(stderr, fmt, args);
- va_end(args);
-}
-void config_warn(const char *fmt, ...)
-{
- va_list args;
- va_start(args, fmt);
- vfprintf(stderr, fmt, args);
- va_end(args);
-}
-
-static void substEnvVarsInStrList(QStringList &sl);
-static void substEnvVarsInString(QString &s);
-
-static void checkEncoding()
-{
- Input *option = g_options->value(QString::fromAscii("DOXYFILE_ENCODING"));
- if (option && option->value().toString()!=g_codecName)
- {
- QTextCodec *newCodec = QTextCodec::codecForName(option->value().toString().toAscii());
- if (newCodec)
- {
- g_codec = newCodec;
- g_codecName = option->value().toString();
- }
- }
-}
-
-static FILE *tryPath(const QString &path,const QString &fileName)
-{
- QString absName=!path.isEmpty() ? path+QString::fromAscii("/")+fileName : fileName;
- QFileInfo fi(absName);
- if (fi.exists() && fi.isFile())
- {
- FILE *f = fopen(absName.toLocal8Bit(),"r");
- if (f==NULL)
- config_err("Error: could not open file %s for reading\n",absName.toLatin1().data());
- else
- return f;
- }
- return NULL;
-}
-
-static FILE *findFile(const QString &fileName)
-{
- if (QFileInfo(fileName).isAbsolute()) // absolute path
- {
- return tryPath(QString(), fileName);
- }
-
- // relative path, try with include paths in the list
- QStringList sl = g_includePathList.toStringList();
- substEnvVarsInStrList(sl);
- foreach (QString s, sl)
- {
- FILE *f = tryPath(s,fileName);
- if (f) return f;
- }
- // try cwd if g_includePathList fails
- return tryPath(QString::fromAscii("."),fileName);
-}
-
-static void readIncludeFile(const QString &incName)
-{
- if (g_includeDepth==MAX_INCLUDE_DEPTH)
- {
- config_err("Error: maximum include depth (%d) reached, %s is not included. Aborting...\n",
- MAX_INCLUDE_DEPTH,qPrintable(incName));
- exit(1);
- }
-
- QString inc = incName;
- substEnvVarsInString(inc);
- inc = inc.trimmed();
- uint incLen = inc.length();
- if (inc.at(0)==QChar::fromAscii('"') &&
- inc.at(incLen-1)==QChar::fromAscii('"')) // strip quotes
- {
- inc=inc.mid(1,incLen-2);
- }
-
- FILE *f = findFile(inc);
- if (f) // see if the include file can be found
- {
- // For debugging
-#if SHOW_INCLUDES
- for (i=0;i<includeStack.count();i++) msg(" ");
- msg("@INCLUDE = %s: parsing...\n",inc.toLatin1().data());
-#endif
-
- // store the state of the old file
- ConfigFileState *fs=new ConfigFileState;
- fs->oldState=YY_CURRENT_BUFFER;
- fs->fileName=g_yyFileName;
- fs->file=f;
- // push the state on the stack
- g_includeStack.push(fs);
- // set the scanner to the include file
- yy_switch_to_buffer(yy_create_buffer(f, YY_BUF_SIZE));
- fs->newState=YY_CURRENT_BUFFER;
- g_yyFileName=inc;
- g_includeDepth++;
- }
- else
- {
- config_err("Error: @INCLUDE = %s: not found!\n",inc.toLatin1().data());
- exit(1);
- }
-}
-
-
-%}
-
-%option nounput
-%option noyywrap
-%option yylineno
-
-%x Start
-%x SkipComment
-%x SkipInvalid
-%x GetString
-%x GetStrList
-%x GetQuotedString
-%x GetEnvVar
-%x Include
-
-%%
-
-<*>\0x0d
-<Start,GetString,GetStrList,SkipInvalid>"#" { BEGIN(SkipComment); }
-<Start>[a-z_A-Z][a-z_A-Z0-9]*[ \t]*"=" { QString cmd = g_codec->toUnicode(yytext);
- cmd=cmd.left(cmd.length()-1).trimmed();
- g_curOption = g_options->value(cmd);
- if (g_curOption==0) // oops not known
- {
- config_err("Warning: ignoring unsupported tag `%s' at line %d, file %s\n",
- qPrintable(cmd),yylineno,qPrintable(g_yyFileName));
- BEGIN(SkipInvalid);
- }
- else // known tag
- {
- //option->setEncoding(encoding);
- g_arg = &g_curOption->value();
- switch(g_curOption->kind())
- {
- case Input::StrList:
- g_elemStr = QString();
- *g_arg = QStringList();
- BEGIN(GetStrList);
- break;
- case Input::String:
- BEGIN(GetString);
- break;
- case Input::Int:
- BEGIN(GetString);
- break;
- case Input::Bool:
- BEGIN(GetString);
- break;
- case Input::Obsolete:
- config_err("Warning: Tag `%s' at line %d of file %s has become obsolete.\n"
- "To avoid this warning please update your configuration "
- "file using \"doxygen -u\"\n", qPrintable(cmd),
- yylineno,qPrintable(g_yyFileName));
- BEGIN(SkipInvalid);
- break;
- }
- }
- }
-<Start>[a-z_A-Z][a-z_A-Z0-9]*[ \t]*"+=" { QString cmd=g_codec->toUnicode(yytext);
- cmd=cmd.left(cmd.length()-2).trimmed();
- g_curOption = g_options->value(cmd);
- if (g_curOption==0) // oops not known
- {
- config_err("Warning: ignoring unsupported tag `%s' at line %d, file %s\n",
- yytext,yylineno,qPrintable(g_yyFileName));
- BEGIN(SkipInvalid);
- }
- else // known tag
- {
- switch(g_curOption->kind())
- {
- case Input::StrList:
- g_arg = &g_curOption->value();
- g_elemStr=QString();
- BEGIN(GetStrList);
- break;
- case Input::String:
- case Input::Int:
- case Input::Bool:
- config_err("Warning: operator += not supported for `%s'. Ignoring line at line %d, file %s\n",
- yytext,yylineno,qPrintable(g_yyFileName));
- BEGIN(SkipInvalid);
- break;
- case Input::Obsolete:
- config_err("Warning: Tag `%s' at line %d of file %s has become obsolete.\n"
- "To avoid this warning please update your configuration "
- "file using \"doxygen -u\"\n",
- qPrintable(cmd),yylineno,qPrintable(g_yyFileName));
- BEGIN(SkipInvalid);
- break;
- }
- }
- }
-<Start>"@INCLUDE_PATH"[ \t]*"=" { BEGIN(GetStrList); g_arg=&g_includePathList; *g_arg = QStringList(); g_elemStr=QString(); }
- /* include a config file */
-<Start>"@INCLUDE"[ \t]*"=" { BEGIN(Include);}
-<Include>([^ \"\t\r\n]+)|("\""[^\n\"]+"\"") {
- readIncludeFile(g_codec->toUnicode(yytext));
- BEGIN(Start);
- }
-<<EOF>> {
- //printf("End of include file\n");
- //printf("Include stack depth=%d\n",g_includeStack.count());
- if (g_includeStack.isEmpty())
- {
- //printf("Terminating scanner!\n");
- yyterminate();
- }
- else
- {
- ConfigFileState *fs = g_includeStack.pop();
- fclose(fs->file);
- YY_BUFFER_STATE oldBuf = YY_CURRENT_BUFFER;
- yy_switch_to_buffer( fs->oldState );
- yy_delete_buffer( oldBuf );
- g_yyFileName=fs->fileName;
- delete fs;
- g_includeDepth--;
- }
- }
-
-<Start>[a-z_A-Z0-9]+ { config_err("Warning: ignoring unknown tag `%s' at line %d, file %s\n",yytext,yylineno,qPrintable(g_yyFileName)); }
-<GetString,SkipInvalid>\n { BEGIN(Start); }
-<GetStrList>\n {
- if (!g_elemStr.isEmpty())
- {
- //printf("elemStr1=`%s'\n",elemStr.toLatin1().data());
- *g_arg = QVariant(g_arg->toStringList() << g_elemStr);
- }
- BEGIN(Start);
- }
-<GetStrList>[ \t]+ {
- if (!g_elemStr.isEmpty())
- {
- //printf("elemStr2=`%s'\n",elemStr.toLatin1().data());
- *g_arg = QVariant(g_arg->toStringList() << g_elemStr);
- }
- g_elemStr = QString();
- }
-<GetString>[^ \"\t\r\n]+ {
- *g_arg = QVariant(g_codec->toUnicode(yytext));
- checkEncoding();
- }
-<GetString,GetStrList,SkipInvalid>"\"" { g_lastState=YY_START;
- BEGIN(GetQuotedString);
- g_tmpString="";
- }
-<GetQuotedString>"\""|"\n" {
- // we add a bogus space to signal that the string was quoted. This space will be stripped later on.
- g_tmpString+=" ";
- //printf("Quoted String = `%s'\n",tmpString.toLatin1().data());
- if (g_lastState==GetString)
- {
- *g_arg = g_codec->toUnicode(g_tmpString);
- checkEncoding();
- }
- else
- {
- g_elemStr+=g_codec->toUnicode(g_tmpString);
- }
- if (*yytext=='\n')
- {
- config_err("Warning: Missing end quote (\") on line %d, file %s\n",yylineno,
- qPrintable(g_yyFileName));
- }
- BEGIN(g_lastState);
- }
-<GetQuotedString>"\\\"" {
- g_tmpString+='"';
- }
-<GetQuotedString>. { g_tmpString+=*yytext; }
-<GetStrList>[^ \#\"\t\r\n]+ {
- g_elemStr+=g_codec->toUnicode(yytext);
- }
-<SkipComment>\n { BEGIN(Start); }
-<SkipComment>\\[ \r\t]*\n { BEGIN(Start); }
-<*>\\[ \r\t]*\n { }
-<*>\n
-<*>.
-
-%%
-
-/*@ ----------------------------------------------------------------------------
- */
-
-static void substEnvVarsInString(QString &s)
-{
- static QRegExp re(QString::fromAscii("\\$\\([a-z_A-Z0-9]+\\)"));
- if (s.isEmpty()) return;
- int p=0;
- int i,l;
- //printf("substEnvVarInString(%s) start\n",s.toLatin1().data());
- while ((i=re.indexIn(s,p))!=-1)
- {
- l = re.matchedLength();
- //printf("Found environment var s.mid(%d,%d)=`%s'\n",i+2,l-3,s.mid(i+2,l-3).toLatin1().data());
- QString env=g_codec->toUnicode(getenv(s.mid(i+2,l-3).toLatin1()));
- substEnvVarsInString(env); // recursively expand variables if needed.
- s = s.left(i)+env+s.right(s.length()-i-l);
- p=i+env.length(); // next time start at the end of the expanded string
- }
- s=s.trimmed(); // to strip the bogus space that was added when an argument
- // has quotes
- //printf("substEnvVarInString(%s) end\n",s.toLatin1().data());
-}
-
-static void substEnvVarsInStrList(QStringList &sl)
-{
- QStringList out;
-
- foreach (QString result, sl)
- {
- // an argument with quotes will have an extra space at the end, so wasQuoted will be TRUE.
- bool wasQuoted = (result.indexOf(QChar::fromAscii(' '))!=-1) ||
- (result.indexOf(QChar::fromAscii('\t'))!=-1);
- // here we strip the quote again
- substEnvVarsInString(result);
-
- //printf("Result %s was quoted=%d\n",result.toLatin1().data(),wasQuoted);
-
- if (!wasQuoted) /* as a result of the expansion, a single string
- may have expanded into a list, which we'll
- add to sl. If the original string already
- contained multiple elements no further
- splitting is done to allow quoted items with spaces! */
- {
- int l=result.length();
- int i,p=0;
- // skip spaces
- // search for a "word"
- for (i=0;i<l;i++)
- {
- QChar c=0;
- // skip until start of new word
- while (i<l && ((c=result.at(i))==QChar::fromAscii(' ') || c==QChar::fromAscii('\t'))) i++;
- p=i; // p marks the start index of the word
- // skip until end of a word
- while (i<l && ((c=result.at(i))!=QChar::fromAscii(' ') &&
- c!=QChar::fromAscii('\t') &&
- c!=QChar::fromAscii('"'))) i++;
- if (i<l) // not at the end of the string
- {
- if (c==QChar::fromAscii('"')) // word within quotes
- {
- p=i+1;
- for (i++;i<l;i++)
- {
- c=result.at(i);
- if (c==QChar::fromAscii('"')) // end quote
- {
- out += result.mid(p,i-p);
- p=i+1;
- break;
- }
- else if (c==QChar::fromAscii('\\')) // skip escaped stuff
- {
- i++;
- }
- }
- }
- else if (c==QChar::fromAscii(' ') || c==QChar::fromAscii('\t')) // separator
- {
- out += result.mid(p,i-p);
- p=i+1;
- }
- }
- }
- if (p!=l) // add the leftover as a string
- {
- out += result.right(l-p);
- }
- }
- else // just goto the next element in the list
- {
- out += result;
- }
- }
- sl = out;
-}
-
-//--------------------------------------------------------------------------
-
-bool parseConfig(
- const QString &fileName,
- const QHash<QString,Input *> &options
- )
-{
- QHashIterator<QString, Input*> i(options);
- g_file = fopen(fileName.toLocal8Bit(),"r");
- if (g_file==NULL) return false;
-
- // reset all values
- i.toFront();
- while (i.hasNext())
- {
- i.next();
- if (i.value())
- {
- i.value()->reset();
- }
- }
-
- // parse config file
- g_options = &options;
- g_yyFileName = fileName;
- g_includeStack.clear();
- g_includeDepth = 0;
- configrestart( configin );
- BEGIN( Start );
- configlex();
-
- // update the values in the UI
- i.toFront();
- while (i.hasNext())
- {
- i.next();
- if (i.value())
- {
- //printf("Updating: %s\n",qPrintable(i.key()));
- i.value()->update();
- }
- else
- {
- printf("Invalid option: %s\n",qPrintable(i.key()));
- }
- }
- fclose(g_file);
- return true;
-}
-
-void writeStringValue(QTextStream &t,QTextCodec *codec,const QString &s)
-{
- QChar c;
- bool needsEscaping=FALSE;
- // convert the string back to it original encoding
- //QByteArray se = codec->fromUnicode(s);
- t.setCodec(codec);
- const QChar *p=s.data();
- if (!s.isEmpty() && !p->isNull())
- {
- while (!(c=*p++).isNull() && !needsEscaping)
- {
- needsEscaping = (c==QChar::fromAscii(' ') ||
- c==QChar::fromAscii('\n') ||
- c==QChar::fromAscii('\t') ||
- c==QChar::fromAscii('"'));
- }
- if (needsEscaping)
- {
- t << "\"";
- p=s.data();
- while (!p->isNull())
- {
- if (*p ==QChar::fromAscii(' ') &&
- *(p+1)==QChar::fromAscii('\0')) break; // skip inserted space at the end
- if (*p ==QChar::fromAscii('"')) t << "\\"; // escape quotes
- t << *p++;
- }
- t << "\"";
- }
- else
- {
- t << s;
- }
- }
-}
-
diff --git a/addon/doxywizard/config_doxyw.l b/addon/doxywizard/config_doxyw.l
index 400330f..829f807 100644
--- a/addon/doxywizard/config_doxyw.l
+++ b/addon/doxywizard/config_doxyw.l
@@ -2,7 +2,7 @@
*
* $Id: config_templ.l,v 1.8 2001/01/01 10:15:16 root Exp $
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -12,6 +12,7 @@
*
*/
+%option never-interactive
%{
/*
@@ -21,6 +22,8 @@
#include "input.h"
#include <QtCore>
+#define YY_NO_UNISTD_H 1
+
#define MAX_INCLUDE_DEPTH 10
@@ -71,18 +74,25 @@ static int yyread(char *buf,int maxSize)
}
}
+static QString warning_str = QString::fromAscii("warning: ");
+static QString error_str = QString::fromAscii("error: ");
+
void config_err(const char *fmt, ...)
{
+ QString msg = error_str;
+ msg.append(QString::fromAscii(fmt));
va_list args;
va_start(args, fmt);
- vfprintf(stderr, fmt, args);
- va_end(args);
+ vfprintf(stderr, qPrintable(msg), args);
+ va_end(args);
}
void config_warn(const char *fmt, ...)
{
+ QString msg = warning_str;
+ msg.append(QString::fromAscii(fmt));
va_list args;
va_start(args, fmt);
- vfprintf(stderr, fmt, args);
+ vfprintf(stderr, qPrintable(msg), args);
va_end(args);
}
@@ -111,7 +121,7 @@ static FILE *tryPath(const QString &path,const QString &fileName)
{
FILE *f = fopen(absName.toLocal8Bit(),"r");
if (f==NULL)
- config_err("Error: could not open file %s for reading\n",absName.toLatin1().data());
+ config_err("could not open file %s for reading\n",qPrintable(absName));
else
return f;
}
@@ -141,7 +151,7 @@ static void readIncludeFile(const QString &incName)
{
if (g_includeDepth==MAX_INCLUDE_DEPTH)
{
- config_err("Error: maximum include depth (%d) reached, %s is not included. Aborting...\n",
+ config_err("maximum include depth (%d) reached, %s is not included. Aborting...\n",
MAX_INCLUDE_DEPTH,qPrintable(incName));
exit(1);
}
@@ -162,7 +172,7 @@ static void readIncludeFile(const QString &incName)
// For debugging
#if SHOW_INCLUDES
for (i=0;i<includeStack.count();i++) msg(" ");
- msg("@INCLUDE = %s: parsing...\n",inc.toLatin1().data());
+ msg("@INCLUDE = %s: parsing...\n",qPrintable(inc));
#endif
// store the state of the old file
@@ -180,7 +190,7 @@ static void readIncludeFile(const QString &incName)
}
else
{
- config_err("Error: @INCLUDE = %s: not found!\n",inc.toLatin1().data());
+ config_err("@INCLUDE = %s: not found!\n",qPrintable(inc));
exit(1);
}
}
@@ -210,7 +220,7 @@ static void readIncludeFile(const QString &incName)
g_curOption = g_options->value(cmd);
if (g_curOption==0) // oops not known
{
- config_err("Warning: ignoring unsupported tag `%s' at line %d, file %s\n",
+ config_warn("ignoring unsupported tag `%s' at line %d, file %s\n",
qPrintable(cmd),yylineno,qPrintable(g_yyFileName));
BEGIN(SkipInvalid);
}
@@ -235,7 +245,7 @@ static void readIncludeFile(const QString &incName)
BEGIN(GetString);
break;
case Input::Obsolete:
- config_err("Warning: Tag `%s' at line %d of file %s has become obsolete.\n"
+ config_warn("Tag `%s' at line %d of file %s has become obsolete.\n"
"To avoid this warning please update your configuration "
"file using \"doxygen -u\"\n", qPrintable(cmd),
yylineno,qPrintable(g_yyFileName));
@@ -249,7 +259,7 @@ static void readIncludeFile(const QString &incName)
g_curOption = g_options->value(cmd);
if (g_curOption==0) // oops not known
{
- config_err("Warning: ignoring unsupported tag `%s' at line %d, file %s\n",
+ config_warn("ignoring unsupported tag `%s' at line %d, file %s\n",
yytext,yylineno,qPrintable(g_yyFileName));
BEGIN(SkipInvalid);
}
@@ -265,12 +275,12 @@ static void readIncludeFile(const QString &incName)
case Input::String:
case Input::Int:
case Input::Bool:
- config_err("Warning: operator += not supported for `%s'. Ignoring line at line %d, file %s\n",
+ config_warn("operator += not supported for `%s'. Ignoring line at line %d, file %s\n",
yytext,yylineno,qPrintable(g_yyFileName));
BEGIN(SkipInvalid);
break;
case Input::Obsolete:
- config_err("Warning: Tag `%s' at line %d of file %s has become obsolete.\n"
+ config_warn("Tag `%s' at line %d of file %s has become obsolete.\n"
"To avoid this warning please update your configuration "
"file using \"doxygen -u\"\n",
qPrintable(cmd),yylineno,qPrintable(g_yyFileName));
@@ -307,12 +317,12 @@ static void readIncludeFile(const QString &incName)
}
}
-<Start>[a-z_A-Z0-9]+ { config_err("Warning: ignoring unknown tag `%s' at line %d, file %s\n",yytext,yylineno,qPrintable(g_yyFileName)); }
+<Start>[a-z_A-Z0-9]+ { config_warn("ignoring unknown tag `%s' at line %d, file %s\n",yytext,yylineno,qPrintable(g_yyFileName)); }
<GetString,SkipInvalid>\n { BEGIN(Start); }
<GetStrList>\n {
if (!g_elemStr.isEmpty())
{
- //printf("elemStr1=`%s'\n",elemStr.toLatin1().data());
+ //printf("elemStr1=`%s'\n",qPrintable(elemStr));
*g_arg = QVariant(g_arg->toStringList() << g_elemStr);
}
BEGIN(Start);
@@ -320,7 +330,7 @@ static void readIncludeFile(const QString &incName)
<GetStrList>[ \t]+ {
if (!g_elemStr.isEmpty())
{
- //printf("elemStr2=`%s'\n",elemStr.toLatin1().data());
+ //printf("elemStr2=`%s'\n",qPrintable(elemStr));
*g_arg = QVariant(g_arg->toStringList() << g_elemStr);
}
g_elemStr = QString();
@@ -336,7 +346,7 @@ static void readIncludeFile(const QString &incName)
<GetQuotedString>"\""|"\n" {
// we add a bogus space to signal that the string was quoted. This space will be stripped later on.
g_tmpString+=" ";
- //printf("Quoted String = `%s'\n",tmpString.toLatin1().data());
+ //printf("Quoted String = `%s'\n",qPrintable(tmpString));
if (g_lastState==GetString)
{
*g_arg = g_codec->toUnicode(g_tmpString);
@@ -348,7 +358,7 @@ static void readIncludeFile(const QString &incName)
}
if (*yytext=='\n')
{
- config_err("Warning: Missing end quote (\") on line %d, file %s\n",yylineno,
+ config_warn("Missing end quote (\") on line %d, file %s\n",yylineno,
qPrintable(g_yyFileName));
}
BEGIN(g_lastState);
@@ -377,11 +387,11 @@ static void substEnvVarsInString(QString &s)
if (s.isEmpty()) return;
int p=0;
int i,l;
- //printf("substEnvVarInString(%s) start\n",s.toLatin1().data());
+ //printf("substEnvVarInString(%s) start\n",qPrintable(s));
while ((i=re.indexIn(s,p))!=-1)
{
l = re.matchedLength();
- //printf("Found environment var s.mid(%d,%d)=`%s'\n",i+2,l-3,s.mid(i+2,l-3).toLatin1().data());
+ //printf("Found environment var s.mid(%d,%d)=`%s'\n",i+2,l-3,qPrintable(s.mid(i+2,l-3)));
QString env=g_codec->toUnicode(getenv(s.mid(i+2,l-3).toLatin1()));
substEnvVarsInString(env); // recursively expand variables if needed.
s = s.left(i)+env+s.right(s.length()-i-l);
@@ -389,7 +399,7 @@ static void substEnvVarsInString(QString &s)
}
s=s.trimmed(); // to strip the bogus space that was added when an argument
// has quotes
- //printf("substEnvVarInString(%s) end\n",s.toLatin1().data());
+ //printf("substEnvVarInString(%s) end\n",qPrintable(s));
}
static void substEnvVarsInStrList(QStringList &sl)
@@ -404,7 +414,7 @@ static void substEnvVarsInStrList(QStringList &sl)
// here we strip the quote again
substEnvVarsInString(result);
- //printf("Result %s was quoted=%d\n",result.toLatin1().data(),wasQuoted);
+ //printf("Result %s was quoted=%d\n",qPrintable(result),wasQuoted);
if (!wasQuoted) /* as a result of the expansion, a single string
may have expanded into a list, which we'll
diff --git a/addon/doxywizard/doxywizard.cpp b/addon/doxywizard/doxywizard.cpp
index d0728ae..4c577cd 100644
--- a/addon/doxywizard/doxywizard.cpp
+++ b/addon/doxywizard/doxywizard.cpp
@@ -193,7 +193,7 @@ void MainWindow::about()
t << QString::fromAscii("<qt><center>A tool to configure and run doxygen version ")+
QString::fromAscii(versionString)+
QString::fromAscii(" on your source files.</center><p><br>"
- "<center>Written by<br> Dimitri van Heesch<br>&copy; 2000-2014</center><p>"
+ "<center>Written by<br> Dimitri van Heesch<br>&copy; 2000-2015</center><p>"
"</qt>");
QMessageBox::about(this,tr("Doxygen GUI"),msg);
}
diff --git a/addon/doxywizard/doxywizard.pro.in b/addon/doxywizard/doxywizard.pro.in
deleted file mode 100644
index 1ad36a9..0000000
--- a/addon/doxywizard/doxywizard.pro.in
+++ /dev/null
@@ -1,40 +0,0 @@
-######################################################################
-# Automatically generated by qmake (2.01a) zo okt 19 12:50:02 2008
-######################################################################
-
-TEMPLATE = app
-DESTDIR = ../../bin
-TARGET =
-DEPENDPATH += .
-INCLUDEPATH += . ../../generated_src/doxywizard
-QT += xml
-CONFIG += $extraopts
-OBJECTS_DIR = ../../objects/doxywizard
-MOC_DIR = ../../moc/doxywizard
-RCC_DIR = ../../rcc/doxywizard
-DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII
-
-macx-g++ {
- CONFIG += x86 x86_64
-}
-
-# Input
-HEADERS += doxywizard.h version.h expert.h config.h helplabel.h \
- inputbool.h inputstring.h inputint.h inputstrlist.h wizard.h docintf.h
-SOURCES += doxywizard.cpp expert.cpp wizard.cpp \
- inputbool.cpp inputstring.cpp inputint.cpp inputstrlist.cpp
-RESOURCES += doxywizard.qrc
-win32:RC_FILE += doxywizard.rc
-
-config.target = ../../generated_src/doxywizard/config_doxyw.cpp
-config.commands = $(LEX) -Pconfig_doxywYY -t ../../addon/doxywizard/config_doxyw.l | $(PYTHON) ../../src/increasebuffer.py >../../generated_src/doxywizard/$*.cpp
-config.depends = ../../addon/doxywizard/config_doxyw.l ../../src/increasebuffer.py
-configdoc.target = ../../generated_src/doxywizard/configdoc.cpp
-configdoc.commands = $(PYTHON) ../../src/configgen.py -wiz ../../src/config.xml > ../../generated_src/doxywizard/configdoc.cpp
-configdoc.depends = ../../src/config.xml ../../src/configgen.py
-version.target = ../../generated_src/doxywizard/version.cpp
-version.commands = cd ../../src;$(PYTHON) version.py
-version.depends = ../../configure
-QMAKE_EXTRA_TARGETS += configdoc config version
-GENERATED_SOURCES += $$configdoc.target $$config.target $$version.target
-
diff --git a/addon/doxywizard/inputbool.cpp b/addon/doxywizard/inputbool.cpp
index be99b0a..ec2035a 100644
--- a/addon/doxywizard/inputbool.cpp
+++ b/addon/doxywizard/inputbool.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/inputbool.h b/addon/doxywizard/inputbool.h
index 03bb76e..5a90477 100644
--- a/addon/doxywizard/inputbool.h
+++ b/addon/doxywizard/inputbool.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/inputint.cpp b/addon/doxywizard/inputint.cpp
index e0c426c..8fa46e8 100644
--- a/addon/doxywizard/inputint.cpp
+++ b/addon/doxywizard/inputint.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/inputint.h b/addon/doxywizard/inputint.h
index 6662865..457c942 100644
--- a/addon/doxywizard/inputint.h
+++ b/addon/doxywizard/inputint.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/inputstring.cpp b/addon/doxywizard/inputstring.cpp
index 48ede55..75de0b5 100644
--- a/addon/doxywizard/inputstring.cpp
+++ b/addon/doxywizard/inputstring.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/inputstring.h b/addon/doxywizard/inputstring.h
index 90ea87d..dba31f6 100644
--- a/addon/doxywizard/inputstring.h
+++ b/addon/doxywizard/inputstring.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/inputstrlist.cpp b/addon/doxywizard/inputstrlist.cpp
index 0a0f01f..777af6a 100644
--- a/addon/doxywizard/inputstrlist.cpp
+++ b/addon/doxywizard/inputstrlist.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/inputstrlist.h b/addon/doxywizard/inputstrlist.h
index 0d7efe7..53f3bcc 100644
--- a/addon/doxywizard/inputstrlist.h
+++ b/addon/doxywizard/inputstrlist.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/version.h b/addon/doxywizard/version.h
index b31fe4f..16bf9df 100644
--- a/addon/doxywizard/version.h
+++ b/addon/doxywizard/version.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/wizard.h b/addon/doxywizard/wizard.h
index 4d5eb9d..11a42be 100644
--- a/addon/doxywizard/wizard.h
+++ b/addon/doxywizard/wizard.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby