Commit 4369f8df authored by Dimitri van Heesch's avatar Dimitri van Heesch

Release-1.3.5-20031215

parent e25c1a6e
......@@ -4,4 +4,4 @@ Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (21 November 2003)
Dimitri van Heesch (14 December 2003)
......@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (21 November 2003)
Dimitri van Heesch (dimitri@stack.nl) (14 December 2003)
......@@ -27,7 +27,7 @@ f_prefix=/usr
f_insttool=NO
f_english=NO
f_wizard=NO
f_langs=nl,se,cz,fr,it,de,jp,je,es,fi,ru,hr,pl,pt,hu,kr,ro,si,cn,no,br,dk,sk,ua,gr,tw,sr,ca
f_langs=nl,se,cz,fr,it,de,jp,je,es,fi,ru,hr,pl,pt,hu,kr,ke,ro,si,cn,no,br,dk,sk,ua,gr,tw,sr,ca
while test -n "$1"; do
case $1 in
......@@ -225,6 +225,27 @@ fi
if test "$f_wizard" = YES; then
echo -n " Checking for Qt..."
if test -d "/usr/lib/qt3/lib"; then
if test -d "/usr/lib/qt3/include"; then
if test -x "/usr/lib/qt3/bin/moc"; then
QTDIR="/usr/lib/qt3";
fi
fi
fi
if test -d "/usr/lib/qt2/lib"; then
if test -d "/usr/lib/qt2/include"; then
if test -x "/usr/lib/qt2/bin/moc"; then
QTDIR="/usr/lib/qt2";
fi
fi
fi
if test -d "/usr/lib/qt/lib"; then
if test -d "/usr/lib/qt/include"; then
if test -x "/usr/lib/qt/bin/moc"; then
QTDIR="/usr/lib/qt";
fi
fi
fi
if test -z "$QTDIR"; then
echo "QTDIR not set!"
echo
......@@ -486,7 +507,7 @@ done
echo -n " Generating src/lang_cfg.h..."
echo $f_langs | $f_perl -e '@l=split(/,/,<STDIN>);
chomp @l;
@allowed=(NL,SE,CZ,FR,IT,DE,JP,JE,ES,FI,RU,HR,PL,PT,HU,KR,RO,SI,CN,NO,BR,
@allowed=(NL,SE,CZ,FR,IT,DE,JP,JE,ES,FI,RU,HR,PL,PT,HU,KR,KE,RO,SI,CN,NO,BR,
DK,SK,UA,GR,TW,SR,CA);
foreach my $elem (@l){
$elem =~ tr/a-z/A-Z/;
......
......@@ -178,18 +178,8 @@ Thanks go to:
<li>Ken Wong for providing the HTML tree view code.
<li>Petr Prikryl for coordinating the internationalisation support.
All language maintainers for providing translations into many languages.
<li>Erik Jan Lingen of <a href="http://www.habanera.nl/">Habanera</a>, Mark
Roddy, Paul Schwartz, Charles Duffy, Vadym Voznyuk, Philip Walton,
Dwight Browne, Andreas Fredriksson, Karel Lindveld, Ivan Lee, Albert
Vernon, Adam McKee, Vijapurapu Anatharac, Ben Hunsberger and
Walter Wartenweiler, Jeff Garbers, David Harris, Terry Brown and
Nicolas Reimen for donating money.
<li>The Comms group of <a href="http://www.symbian.com">Symbian</a> for donating
an ultra cool <a href="http://www.psion.com/revoplus">Revo plus</a>
organizer!
<li>Steve Upstill of <a href="http://www.wetadigital.com/digital/index_flash.htm">
Weta Digital</a> for sending me some
<a href="http://www.lordoftherings.net/">Lord of the Rings</a> goodies.
<li>Gerald Steffens of <a href="http://www.e-trend.de">E-trend</a>
for financial support.
<li>The band <a href="http://www.porcupinetree.com">Porcupine Tree</a> for
providing hours of great music to listen to while coding.
<li>many, many others for suggestions, patches and bug reports.
......
......@@ -25,7 +25,7 @@ Doxygen has built-in support for multiple languages. This means
that the text fragments that doxygen generates can be produced in
languages other than English (the default) at configuration time.
Currently (version 1.3.3), 29 languages
Currently (version 1.3.5), 29 languages
are supported (sorted alphabetically):
Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian,
Czech, Danish, Dutch, English, Finnish,
......@@ -157,7 +157,7 @@ when the translator was updated.
<TD>Korean</TD>
<TD>Richard Kim</TD>
<TD>ryk@NOSPAM.dspwiz.com</TD>
<TD>strange</TD>
<TD>up-to-date</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Norwegian</TD>
......@@ -274,7 +274,7 @@ when the translator was updated.
\hline
JapaneseEn & unknown & {\tt unknown} & obsolete \\
\hline
Korean & Richard Kim & {\tt ryk@dspwiz.com} & strange \\
Korean & Richard Kim & {\tt ryk@dspwiz.com} & up-to-date \\
\hline
Norwegian & Lars Erik Jordet & {\tt lej@circuitry.no} & 1.2.2 \\
\hline
......
Summary: A documentation system for C/C++.
Name: doxygen
Version: 1.3.5
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
Patch: doxygen-1.2.7-redhat.patch
Patch1: doxygen-1.2.12-qt2.patch
Group: Development/Tools
License: GPL
Url: http://www.stack.nl/~dimitri/doxygen/index.html
Prefix: %{_prefix}
BuildPrereq: libstdc++-devel >= 2.96, /usr/bin/perl
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
Doxygen can generate an online class browser (in HTML) and/or a
reference manual (in LaTeX) from a set of documented source files. The
documentation is extracted directly from the sources. Doxygen can
also be configured to extract the code structure from undocumented
source files.
%package doxywizard
Summary: A GUI for creating and editing configuration files.
Group: User Interface/X
Requires: %{name} = %{version}
BuildPrereq: qt-devel => 2.3.0
Requires: qt >= 2.3.0
%description doxywizard
Doxywizard is a GUI for creating and editing configuration files that
are used by doxygen.
%prep
%setup -q
%patch -p1 -b .redhat
%patch1 -p1 -b .qt2
%build
QTDIR="" && . /etc/profile.d/qt.sh
export OLD_PO_FILE_INPUT=yes
./configure --prefix %{_prefix} --shared --release --with-doxywizard
make all docs
%install
rm -rf ${RPM_BUILD_ROOT}
export OLD_PO_FILE_INPUT=yes
make install INSTALL=$RPM_BUILD_ROOT%{_prefix}
%clean
rm -rf ${RPM_BUILD_ROOT}
%files
%defattr(-,root,root)
%doc LANGUAGE.HOWTO README examples html
%{_bindir}/doxygen
%{_bindir}/doxytag
%files doxywizard
%defattr(-,root,root)
%{_bindir}/doxywizard
%changelog
* Sun Jan 06 2002 Than Ngo <than@redhat.com> 1.2.13.1-1
- update to 1.2.13.1
* Sun Dec 30 2001 Jeff Johnson <jbj@redhat.com> 1.2.13-1
- update to 1.2.13
* Sun Nov 18 2001 Than Ngo <than@redhat.com> 1.2.12-1
- update to 1.2.12
- s/Copyright/License
* Wed Sep 12 2001 Tim Powers <timp@redhat.com>
- rebuild with new gcc and binutils
* Wed Jun 13 2001 Than Ngo <than@redhat.com>
- update tp 1.2.8.1
- make doxywizard as separat package
- fix to use install as default
* Tue Jun 05 2001 Than Ngo <than@redhat.com>
- update to 1.2.8
* Tue May 01 2001 Than Ngo <than@redhat.com>
- update to 1.2.7
- clean up specfile
- patch to use RPM_OPT_FLAG
* Wed Mar 14 2001 Jeff Johnson <jbj@redhat.com>
- update to 1.2.6
* Wed Feb 28 2001 Trond Eivind Glomsrd <teg@redhat.com>
- rebuild
* Tue Dec 26 2000 Than Ngo <than@redhat.com>
- update to 1.2.4
- remove excludearch ia64
- bzip2 sources
* Mon Dec 11 2000 Than Ngo <than@redhat.com>
- rebuild with the fixed fileutils
* Mon Oct 30 2000 Jeff Johnson <jbj@redhat.com>
- update to 1.2.3.
* Sun Oct 8 2000 Jeff Johnson <jbj@redhat.com>
- update to 1.2.2.
- enable doxywizard.
* Sat Aug 19 2000 Preston Brown <pbrown@redhat.com>
- 1.2.1 is latest stable, so we upgrade before Winston is released.
* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
- automatic rebuild
* Tue Jul 4 2000 Jakub Jelinek <jakub@redhat.com>
- Rebuild with new C++
* Fri Jun 30 2000 Florian La Roche <laroche@redhat.de>
- fix QTDIR detection
* Fri Jun 09 2000 Preston Brown <pbrown@redhat.com>
- compile on x86 w/o optimization, revert when compiler fixed!!
* Wed Jun 07 2000 Preston Brown <pbrown@redhat.com>
- use newer RPM macros
* Tue Jun 6 2000 Jeff Johnson <jbj@redhat.com>
- add to distro.
* Tue May 9 2000 Tim Powers <timp@redhat.com>
- rebuilt for 7.0
* Wed Feb 2 2000 Bernhard Rosenkraenzer <bero@redhat.com>
- recompile with current Qt (2.1.0/1.45)
* Wed Jan 5 2000 Jeff Johnson <jbj@redhat.com>
- update to 1.0.0.
- recompile with qt-2.0.1 if available.
- relocatable package.
* Mon Nov 8 1999 Tim Powers <timp@redhat.com>
-updated to 0.49-991106
* Tue Jul 13 1999 Tim Powers <timp@redhat.com>
- updated source
- cleaned up some stuff in the spec file
* Thu Apr 22 1999 Jeff Johnson <jbj@redhat.com>
- Create Power Tools 6.0 package.
/****************************************************************************
**
**
** Definition of QCache template class
**
** Created : 950209
**
** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
**
** This file is part of the tools module of the Qt GUI Toolkit.
**
** This file may be distributed under the terms of the Q Public License
** as defined by Trolltech AS of Norway and appearing in the file
** LICENSE.QPL included in the packaging of this file.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
** licenses may use this file in accordance with the Qt Commercial License
** Agreement provided with the Software.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
** information about Qt Commercial License Agreements.
** See http://www.trolltech.com/qpl/ for QPL licensing information.
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#ifndef QCACHE_H
#define QCACHE_H
#ifndef QT_H
#include "qgcache.h"
#endif // QT_H
template<class type> class Q_EXPORT QCache : public QGCache
{
public:
QCache( const QCache<type> &c ) : QGCache(c) {}
QCache( int maxCost=100, int size=17, bool caseSensitive=TRUE )
: QGCache( maxCost, size, StringKey, caseSensitive, FALSE ) {}
~QCache() { clear(); }
QCache<type> &operator=( const QCache<type> &c )
{ return (QCache<type>&)QGCache::operator=(c); }
int maxCost() const { return QGCache::maxCost(); }
int totalCost() const { return QGCache::totalCost(); }
void setMaxCost( int m ) { QGCache::setMaxCost(m); }
uint count() const { return QGCache::count(); }
uint size() const { return QGCache::size(); }
bool isEmpty() const { return QGCache::count() == 0; }
void clear() { QGCache::clear(); }
bool insert( const QString &k, const type *d, int c=1, int p=0 )
{ return QGCache::insert_string(k,(Item)d,c,p);}
bool remove( const QString &k )
{ return QGCache::remove_string(k); }
type *take( const QString &k )
{ return (type *)QGCache::take_string(k); }
type *find( const QString &k, bool ref=TRUE ) const
{ return (type *)QGCache::find_string(k,ref);}
type *operator[]( const QString &k ) const
{ return (type *)QGCache::find_string(k);}
void statistics() const { QGCache::statistics(); }
private:
void deleteItem( Item d ) { if ( del_item ) delete (type *)d; }
};
template<class type> class Q_EXPORT QCacheIterator : public QGCacheIterator
{
public:
QCacheIterator( const QCache<type> &c ):QGCacheIterator((QGCache &)c) {}
QCacheIterator( const QCacheIterator<type> &ci)
: QGCacheIterator( (QGCacheIterator &)ci ) {}
QCacheIterator<type> &operator=(const QCacheIterator<type>&ci)
{ return ( QCacheIterator<type>&)QGCacheIterator::operator=( ci ); }
uint count() const { return QGCacheIterator::count(); }
bool isEmpty() const { return QGCacheIterator::count() == 0; }
bool atFirst() const { return QGCacheIterator::atFirst(); }
bool atLast() const { return QGCacheIterator::atLast(); }
type *toFirst() { return (type *)QGCacheIterator::toFirst(); }
type *toLast() { return (type *)QGCacheIterator::toLast(); }
operator type *() const { return (type *)QGCacheIterator::get(); }
type *current() const { return (type *)QGCacheIterator::get(); }
QString currentKey() const{ return QGCacheIterator::getKeyString(); }
type *operator()() { return (type *)QGCacheIterator::operator()();}
type *operator++() { return (type *)QGCacheIterator::operator++(); }
type *operator+=(uint j) { return (type *)QGCacheIterator::operator+=(j);}
type *operator--() { return (type *)QGCacheIterator::operator--(); }
type *operator-=(uint j) { return (type *)QGCacheIterator::operator-=(j);}
};
#endif // QCACHE_H
This diff is collapsed.
/****************************************************************************
**
**
** Definition of QGCache and QGCacheIterator classes
**
** Created : 950208
**
** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
**
** This file is part of the tools module of the Qt GUI Toolkit.
**
** This file may be distributed under the terms of the Q Public License
** as defined by Trolltech AS of Norway and appearing in the file
** LICENSE.QPL included in the packaging of this file.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
** licenses may use this file in accordance with the Qt Commercial License
** Agreement provided with the Software.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
** information about Qt Commercial License Agreements.
** See http://www.trolltech.com/qpl/ for QPL licensing information.
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#ifndef QGCACHE_H
#define QGCACHE_H
#ifndef QT_H
#include "qcollection.h"
#include "qglist.h"
#include "qgdict.h"
#endif // QT_H
class QCList; // internal classes
class QCListIt;
class QCDict;
class Q_EXPORT QGCache : public QCollection // generic LRU cache
{
friend class QGCacheIterator;
protected:
enum KeyType { StringKey, AsciiKey, IntKey, PtrKey };
// identical to QGDict's, but PtrKey is not used at the moment
QGCache( int maxCost, uint size, KeyType kt, bool caseSensitive,
bool copyKeys );
QGCache( const QGCache & ); // not allowed, calls fatal()
~QGCache();
QGCache &operator=( const QGCache & ); // not allowed, calls fatal()
uint count() const { return ((QGDict*)dict)->count(); }
uint size() const { return ((QGDict*)dict)->size(); }
int maxCost() const { return mCost; }
int totalCost() const { return tCost; }
void setMaxCost( int maxCost );
void clear();
bool insert_string( const QString &key, QCollection::Item,
int cost, int priority );
bool insert_other( const char *key, QCollection::Item,
int cost, int priority );
bool remove_string( const QString &key );
bool remove_other( const char *key );
QCollection::Item take_string( const QString &key );
QCollection::Item take_other( const char *key );
QCollection::Item find_string( const QString &key, bool ref=TRUE ) const;
QCollection::Item find_other( const char *key, bool ref=TRUE ) const;
void statistics() const;
private:
bool makeRoomFor( int cost, int priority = -1 );
KeyType keytype;
QCList *lruList;
QCDict *dict;
int mCost;
int tCost;
bool copyk;
};
class Q_EXPORT QGCacheIterator // generic cache iterator
{
protected:
QGCacheIterator( const QGCache & );
QGCacheIterator( const QGCacheIterator & );
~QGCacheIterator();
QGCacheIterator &operator=( const QGCacheIterator & );
uint count() const;
bool atFirst() const;
bool atLast() const;
QCollection::Item toFirst();
QCollection::Item toLast();
QCollection::Item get() const;
QString getKeyString() const;
const char *getKeyAscii() const;
long getKeyInt() const;
QCollection::Item operator()();
QCollection::Item operator++();
QCollection::Item operator+=( uint );
QCollection::Item operator--();
QCollection::Item operator-=( uint );
protected:
QCListIt *it; // iterator on cache list
};
#endif // QGCACHE_H
......@@ -2,6 +2,8 @@ TEMPLATE = lib
CONFIG = warn_on staticlib $extraopts
HEADERS = qarray.h \
qbuffer.h \
qcache.h \
qgcache.h \
qcollection.h \
qconfig.h \
qcstring.h \
......@@ -50,6 +52,7 @@ SOURCES = qbuffer.cpp \
qfile.cpp \
qfileinfo.cpp \
qgarray.cpp \
qgcache.cpp \
qgdict.cpp \
qglist.cpp \
qglobal.cpp \
......
......@@ -1316,7 +1316,7 @@ void Config::create()
"The default language is English, other supported languages are: \n"
"Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, \n"
"Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en \n"
"(Japanese with English messages), Korean, Norwegian, Polish, Portuguese, \n"
"(Japanese with English messages), Korean, Korean-en, Norwegian, Polish, Portuguese, \n"
"Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.\n",
"English"
);
......@@ -1369,6 +1369,7 @@ void Config::create()
#endif
#ifdef LANG_KR
ce->addValue("Korean");
ce->addValue("Korean-en");
#endif
#ifdef LANG_NO
ce->addValue("Norwegian");
......@@ -2441,7 +2442,7 @@ void Config::create()
);
cb->addDependency("ENABLE_PREPROCESSING");
//-----------------------------------------------------------------------------------------------
addInfo( "External","Configuration::addtions related to external references ");
addInfo( "External","Configuration::additions related to external references ");
//-----------------------------------------------------------------------------------------------
cl = addList(
"TAGFILES",
......@@ -2660,7 +2661,7 @@ void Config::create()
cb->addDependency("HAVE_DOT");
//-----------------------------------------------------------------------------------------------
addInfo( "Search","Configuration::addtions related to the search engine ");
addInfo( "Search","Configuration::additions related to the search engine ");
//-----------------------------------------------------------------------------------------------
cb = addBool(
"SEARCHENGINE",
......
......@@ -99,10 +99,10 @@ static bool convertMapFile(QTextStream &t,const char *mapName,
char buf[maxLineLen];
char url[maxLineLen];
char ref[maxLineLen];
bool isRef = FALSE;
int x1,y1,x2,y2;
while (!f.atEnd())
{
bool isRef = FALSE;
int numBytes = f.readLine(buf,maxLineLen);
buf[numBytes-1]='\0';
//printf("ReadLine `%s'\n",buf);
......
......@@ -87,6 +87,7 @@ Entry::Entry(const Entry &e)
initializer = e.initializer;
initLines = e.initLines;
callGraph = e.callGraph;
objc = e.objc;
//todoId = e.todoId;
//testId = e.testId;
//bugId = e.bugId;
......@@ -260,6 +261,7 @@ void Entry::reset()
proto = FALSE;
explicitExternal = FALSE;
memSpec = 0;
objc = FALSE;
subGrouping = TRUE;
protection = Public;
groupDocType = GROUPDOC_NORMAL;
......
......@@ -293,6 +293,7 @@ class Entry
QList<ListItemInfo> *sli; //!< special lists (test/todo/bug/deprecated/..) this entry is in
TagInfo *tagInfo; //!< tag file info
static int num; //!< counts the total number of entries
bool objc; //!< Objective-C construct
enum
{
GROUPDOC_NORMAL, //<! defgroup
......
......@@ -188,14 +188,14 @@ void HtmlDocVisitor::visit(DocVerbatim *s)
switch(s->type())
{
case DocVerbatim::Code: // fall though
m_t << "<div class=\"fragment\"><pre>";
m_t << "<pre class=\"fragment\"><div>";
parseCode(m_ci,s->context(),s->text().latin1(),s->isExample(),s->exampleFile());
m_t << "</pre></div>";
m_t << "</div></pre>";
break;
case DocVerbatim::Verbatim:
m_t << "<div class=\"fragment\"><pre>";
m_t << "<pre class=\"fragment\"><div>";
filter(s->text());
m_t << "</pre></div>";
m_t << "</div></pre>";
break;
case DocVerbatim::HtmlOnly:
m_t << s->text();
......
......@@ -49,38 +49,66 @@ static const char *defaultStyleSheet =
" font-family: Geneva, Arial, Helvetica, sans-serif;\n"
"}\n"
"CAPTION { font-weight: bold }\n"
"DIV.qindex { width: 100%;\n"
"DIV.qindex {\n"
" width: 100%;\n"
" background-color: #eeeeff;\n"
" border: 4px solid #eeeeff;\n"
" border: 1px solid #B0B0B0;\n"
" text-align: center;\n"
" margin-bottom: 2px\n"
" margin: 2px;\n"
" padding: 2px;\n"
"}\n"
"A.qindex { text-decoration: none; font-weight: bold; color: #0000ee }\n"
"A.qindex:visited { text-decoration: none; font-weight: bold; color: #0000ee }\n"
"A.qindex:hover { text-decoration: none; background-color: #ddddff }\n"
"A.qindexHL { text-decoration: none; font-weight: bold;\n"
"A.qindex { text-decoration: none; font-weight: bold; color: #1A419D}\n"
"A.qindex:visited { text-decoration: none; font-weight: bold; color: #1A419D}\n"
"A.qindex:hover {\n"
" text-decoration: none;\n"
" background-color: #ddddff;\n"
" padding-top: 2px;\n"
" padding-right: 2px;\n"
" padding-bottom: 2px;\n"
" padding-left: 2px;\n"
"}\n"
"A.qindexHL {\n"
" text-decoration: none;\n"
" font-weight: bold;\n"
" background-color: #6666cc;\n"
" color: #ffffff\n"
" color: #ffffff;\n"
" padding: 2 6px;\n"
" border: 1px double #9295C2;\n"
" }\n"
"A.qindexHL:hover { text-decoration: none; background-color: #6666cc; color: #ffffff }\n"
"A.qindexHL:hover {\n"
" text-decoration: none;\n"
" background-color: #6666cc;\n"
" color: #ffffff;\n"
" padding: 2px 6px;\n"
"}\n"
"A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }\n"
"A.el { text-decoration: none; font-weight: bold }\n"
"A.elRef { font-weight: bold }\n"
"A.code { text-decoration: none; font-weight: normal; color: #4444ee }\n"
"A.codeRef { font-weight: normal; color: #4444ee }\n"
"A.code { text-decoration: none; font-weight: normal; color: #1A419D}\n"
"A.codeRef { font-weight: normal; color: #1A419D}\n"
"A:hover { text-decoration: none; background-color: #f2f2ff }\n"
"DL.el { margin-left: -1cm }\n"
"PRE.fragment {\n"
" border: 1px solid #CCCCCC;\n"
" background-color: #f5f5f5;\n"
" margin-top: 4px;\n"
" margin-bottom: 4px;\n"
" margin-left: 2px;\n"
" margin-right: 8px;\n"
" padding-left: 6px;\n"
" padding-right: 6px;\n"
" padding-top: 4px;\n"
" padding-bottom: 4px;\n"
"}\n"
"DIV.fragment {\n"
" width: 98%;\n"
" border: 1px solid #CCCCCC;\n"
" background-color: #f5f5f5;\n"
" padding-left: 4px;\n"
" margin: 4px;\n"
" padding: 6px;\n"
"}\n"
"DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }\n"
"TD.md { background-color: #f2f2ff; font-weight: bold; }\n"
"TD.mdname1 { background-color: #f2f2ff; font-weight: bold; color: #602020; }\n"
"TD.mdname { background-color: #f2f2ff; font-weight: bold; color: #602020; width: 600px; }\n"
"TD.md { background-color: #F4F4FB; font-weight: bold; }\n"
"TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; }\n"
"TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; }\n"
"DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold }\n"
"DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller }\n"
"BODY {\n"
......@@ -89,29 +117,31 @@ static const char *defaultStyleSheet =
" margin-right: 20px;\n"
" margin-left: 20px;\n"
"}\n"
"TD.indexkey { \n"
" background-color: #eeeeff; \n"
" font-weight: bold; \n"
" padding-right : 10px; \n"
" padding-top : 2px; \n"
" padding-left : 10px; \n"
" padding-bottom : 2px; \n"
" margin-left : 0px; \n"
" margin-right : 0px; \n"
" margin-top : 2px; \n"
" margin-bottom : 2px \n"
"TD.indexkey {\n"
" background-color: #eeeeff;\n"
" font-weight: bold;\n"
" padding-right : 10px;\n"
" padding-top : 2px;\n"
" padding-left : 10px;\n"
" padding-bottom : 2px;\n"
" margin-left : 0px;\n"
" margin-right : 0px;\n"
" margin-top : 2px;\n"
" margin-bottom : 2px;\n"
" border: 1px solid #CCCCCC;\n"
"}\n"
"TD.indexvalue { \n"
" background-color: #eeeeff; \n"
" font-style: italic; \n"
" padding-right : 10px; \n"
" padding-top : 2px; \n"
" padding-left : 10px; \n"
" padding-bottom : 2px; \n"
" margin-left : 0px; \n"
" margin-right : 0px; \n"
" margin-top : 2px; \n"
" margin-bottom : 2px \n"
"TD.indexvalue {\n"
" background-color: #eeeeff;\n"
" font-style: italic;\n"
" padding-right : 10px;\n"
" padding-top : 2px;\n"
" padding-left : 10px;\n"
" padding-bottom : 2px;\n"
" margin-left : 0px;\n"
" margin-right : 0px;\n"
" margin-top : 2px;\n"
" margin-bottom : 2px;\n"
" border: 1px solid #CCCCCC;\n"
"}\n"
"TR.memlist {\n"
" background-color: #f0f0f0; \n"
......@@ -128,10 +158,10 @@ static const char *defaultStyleSheet =
"SPAN.charliteral { color: #008080 }\n"
".mdTable {\n"
" border: 1px solid #868686;\n"
" background-color: #f2f2ff;\n"
" background-color: #F4F4FB;\n"
"}\n"
".mdRow {\n"
" padding: 8px 20px;\n"
" padding: 8px 10px;\n"
"}\n"
".mdescLeft {\n"
" font-size: smaller;\n"
......@@ -196,7 +226,7 @@ static const char *defaultStyleSheet =
" font-family: Geneva, Arial, Helvetica, sans-serif;\n"
" font-size: 13px;\n"
"}\n"
".search { color: #0000ee;\n"
".search { color: #003399;\n"
" font-weight: bold;\n"
"}\n"
"FORM.search {\n"
......@@ -209,6 +239,12 @@ static const char *defaultStyleSheet =
" background-color: #eeeeff;\n"
"}\n"
"TD.tiny { font-size: 75%;\n"
"}\n"
"a {\n"
" color: #252E78;\n"
"}\n"
"a:visited {\n"
" color: #3D2185;\n"
"}\n";
static QCString g_header;
......
......@@ -14,6 +14,7 @@
#define LANG_PT
#define LANG_HU
#define LANG_KR
#define LANG_KE
#define LANG_RO
#define LANG_SI
#define LANG_CN
......
......@@ -67,6 +67,9 @@
#ifdef LANG_HU
#include "translator_hu.h"
#endif
#ifdef LANG_KE
#include "translator_ke.h"
#endif
#ifdef LANG_KR
#include "translator_kr.h"
#endif
......@@ -227,6 +230,10 @@ bool setTranslator(const char *langName)
{
theTranslator=new TranslatorKorean;
}
else if (L_EQUAL("korean-en"))
{
theTranslator=new TranslatorKoreanEn;
}
#endif
#ifdef LANG_RO
else if (L_EQUAL("romanian"))
......
......@@ -221,7 +221,7 @@ void LatexGenerator::init()
t << endl
<< "clean:" << endl
<< "\trm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.pdf" << endl;
<< "\trm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf" << endl;
}
static void writeDefaultHeaderPart1(QTextStream &t)
......@@ -1235,7 +1235,7 @@ void LatexGenerator::codify(const char *str)
MultiByte = FALSE;
continue;
}
if ( (uchar)c>=0x80 || (uchar)c<=0xff) // char in range [0x80..0xff]
if ((uchar)c>=0x80) // char in range [0x80..0xff]
{
t << (char)c;
MultiByte = TRUE;
......
......@@ -101,6 +101,7 @@ HEADERS = bufstr.h \
translator_it.h \
translator_je.h \
translator_jp.h \
translator_ke.h \
translator_kr.h \
translator_nl.h \
translator_no.h \
......@@ -188,7 +189,7 @@ INCLUDEPATH += ../qtools
INCLUDEPATH += ../libpng
INCLUDEPATH += ../libmd5
win32:INCLUDEPATH += .
win32-g++:INCLUDEPATH = ../qtools /usr/include/libpng12
win32-g++:INCLUDEPATH = ../qtools /usr/include/libpng12 ../libmd5
DESTDIR = ../lib
TARGET = doxygen
OBJECTS_DIR = ../objects
......
......@@ -636,6 +636,23 @@ static int getNextId(const QCString &expr,int p,int *l)
p++;
}
}
else if (c=='/') // skip C Comment
{
char pc=c;
if (p<(int)expr.length())
{
c=expr.at(++p);
if (c=='*') // Start of C comment
{
while (p<(int)expr.length() && !(pc=='*' && c=='/'))
{
pc=c;
c=expr.at(++p);
}
p++;
}
}
}
}
return -1;
}
......@@ -777,6 +794,20 @@ QCString removeIdsAndMarkers(const char *s)
p++;
while ((c=*p) && isId(c)) p++;
}
else if (c=='/') // skip C comments
{
char pc=c;
c=*++p;
if (c=='*') // start of C comment
{
while (*p && !(pc=='*' && c=='/')) // search end of comment
{
pc=c;
c=*++p;
}
p++;
}
}
else
{
result+=c;
......@@ -786,6 +817,7 @@ QCString removeIdsAndMarkers(const char *s)
}
}
}
//printf("removeIdsAndMarkers(%s)=%s\n",s,result.data());
return result;
}
......@@ -810,6 +842,23 @@ QCString removeMarkers(const char *s)
}
p+=2;
}
else if (c=='/') // skip C comments
{
result+=c;
char pc=c;
c=*++p;
if (c=='*') // start of C comment
{
while (*p && !(pc=='*' && c=='/')) // search end of comment
{
result+=c;
pc=c;
c=*++p;
}
result+=c;
p++;
}
}
else
{
result+=c;
......@@ -817,6 +866,7 @@ QCString removeMarkers(const char *s)
}
}
}
//printf("RemoveMarkers(%s)=%s\n",s,result.data());
return result;
}
......@@ -1061,6 +1111,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
%x Ifdef
%x Ifndef
%x SkipCComment
%x CopyCComment
%x SkipVerbatim
%x SkipCPPComment
%x RemoveCComment
......@@ -1622,23 +1673,24 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
g_argDict->insert(argName,new int(g_defArgs));
g_defArgs++;
}
<DefineText>"/**"|"/*!" {
/*
<DefineText>"/ **"|"/ *!" {
g_defText+=yytext;
g_defLitText+=yytext;
g_insideComment=TRUE;
}
<DefineText>"*/" {
<DefineText>"* /" {
g_defText+=yytext;
g_defLitText+=yytext;
g_insideComment=FALSE;
}
<DefineText>"/*"|"/**<"|"/*!<" {
outputArray(yytext,yyleng);
g_defText+=' ';
g_defLitText+=' ';
*/
<DefineText>"/*" {
g_defText+=yytext;
g_defLitText+=yytext;
g_lastCContext=YY_START;
g_commentCount=1;
BEGIN(SkipCComment);
BEGIN(CopyCComment);
}
<DefineText>"//" {
outputChar('/');outputChar('/');
......@@ -1679,6 +1731,24 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<SkipCComment,SkipVerbatim>. {
outputChar(*yytext);
}
<CopyCComment>[^*]+ {
g_defLitText+=yytext;
g_defText+=yytext;
}
<CopyCComment>"*/" {
g_defLitText+=yytext;
g_defText+=yytext;
BEGIN(g_lastCContext);
}
<CopyCComment>\n {
g_yyLineNr++;
g_defLitText+=yytext;
g_defText+=yytext;
}
<CopyCComment>. {
g_defLitText+=yytext;
g_defText+=yytext;
}
<RemoveCComment>"*/" { BEGIN(g_lastCContext); }
<RemoveCComment>"//"
<RemoveCComment>"/*"
......
This diff is collapsed.
/******************************************************************************
*
*
*
* Copyright (C) 1997-2003 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.
*
* Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license.
*
*/
#ifndef TRANSLATOR_KE_H
#define TRANSLATOR_KE_H
class TranslatorKoreanEn : public TranslatorEnglish
{
public:
virtual QCString idLanguage()
{ return "korean-en"; }
virtual QCString latexLanguageSupportCommand()
{
return "\\usepackage{hfont}\n";
}
/*! returns the name of the package that is included by LaTeX */
virtual QCString idLanguageCharset()
{
return "euc-kr";
}
virtual QCString trRTFansicp()
{
return "1252";
}
/*! Used as ansicpg for RTF fcharset
* \see trRTFansicp() for a table of possible values.
*/
virtual QCString trRTFCharSet()
{
return "0";
}
};
#endif
......@@ -19,8 +19,9 @@
#define TRANSLATOR_SR_H
// translation by Dejan D. M. Milosavljevic <dmilos@email.com>;<dmilosx@ptt.yu>
// // 10x 2 Ivana Miletic for gramatical consutation.
class TranslatorSerbian : public TranslatorAdapter_1_3_3
class TranslatorSerbian : public Translator
{
private:
QCString decode(const QCString& sInput)
......@@ -306,7 +307,7 @@ private:
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="funkcija, promenjiva, makro zamena, enum-a, i typedef-va";
result+="funkcija, promenjiva, makro zamena, enum-ova, i typedef-ova";
}
else
{
......@@ -319,6 +320,7 @@ private:
result+="datoteke u kojima se nalaze:";
else
result+=" dokumentaciju:";
return decode( result );
}
......@@ -491,7 +493,7 @@ private:
* of documentation blocks for enumeration types
*/
virtual QCString trEnumerationTypeDocumentation()
{ return "Dokumetacija enum tipa"; }
{ return "Dokumetacija enum-a"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
......@@ -534,7 +536,7 @@ private:
QCString result=(QCString)"Napravljeno "+date;
if (projName) result+=(QCString)" za "+projName;
result+=(QCString)" od";
return result;
return decode( result );
}
/*! This is part of the sentence used in the standard footer of each page.
*/
......@@ -563,7 +565,7 @@ private:
/*! this text is generated when the \\bug command is used. */
virtual QCString trBugsAndLimitations()
{ return decode("Gre¹ke i ogranièenja"); }
{ return decode( "Gre¹ke i ogranièenja" ); }
/*! this text is generated when the \\version command is used. */
virtual QCString trVersion()
......@@ -971,7 +973,7 @@ private:
}
virtual QCString trPrivateTypes()
{
return "Privatni tipovi";
return decode( "Privatni tipovi" );
}
virtual QCString trPrivateAttribs()
{
......@@ -1011,7 +1013,7 @@ private:
}
virtual QCString trAttention()
{
return decode("Pa¾nja");;
return decode( "Pa¾nja" );
}
virtual QCString trInclByDepGraph()
{
......@@ -1135,12 +1137,12 @@ private:
/*! Used as a section header for IDL properties */
virtual QCString trProperties()
{
return "Osobine";
return decode( "Osobine" );
}
/*! Used as a section header for IDL property documentation */
virtual QCString trPropertyDocumentation()
{
return "Dokumentacija osobina";
return decode( "Dokumentacija osobina" );
}
//////////////////////////////////////////////////////////////////////////
......@@ -1202,12 +1204,12 @@ private:
/*! Used as a marker that is put before a \\bug item */
virtual QCString trBug()
{
return decode("Gre¹ka");;
return decode( "Gre¹ka" );
}
/*! Used as the header of the bug list */
virtual QCString trBugList()
{
return decode("Spisak gre¹aka");;
return decode( "Spisak gre¹aka" );
}
//////////////////////////////////////////////////////////////////////////
......@@ -1256,7 +1258,7 @@ private:
/*! Used as header RTF general index */
virtual QCString trRTFGeneralIndex()
{
return decode("Sadr¾aj");;
return decode( "Sadr¾aj" );
}
/*! This is used for translation of the word that will possibly
......@@ -1265,7 +1267,7 @@ private:
*/
virtual QCString trClass(bool first_capital, bool singular)
{
QCString result((first_capital ? "Klas" : "klas"));
QCString result( (first_capital ? "Klas" : "klas") );
result+= (singular ? "a" : "e");
return result;
}
......@@ -1358,7 +1360,7 @@ private:
{
QCString result((first_capital ? "Autor" : "autor"));
result+= (singular ? "" : "i");
return result;
return decode( result );
}
//////////////////////////////////////////////////////////////////////////
......@@ -1369,7 +1371,7 @@ private:
*/
virtual QCString trReferences()
{
return "Koristi";
return decode( "Koristi" );
}
//////////////////////////////////////////////////////////////////////////
......@@ -1389,7 +1391,7 @@ private:
*/
virtual QCString trImplementedInList(int numEntries)
{
return "Definisano u " + trWriteList(numEntries) + "." ;
return decode( "Definisano u " + trWriteList(numEntries) + "." );
}
//////////////////////////////////////////////////////////////////////////
......@@ -1424,12 +1426,12 @@ private:
*/
virtual QCString trEvents()
{
return "Dogaðaji";
return decode( "Dogaðaji" );
}
/*! Header used for the documentation section of a class' events. */
virtual QCString trEventDocumentation()
{
return "Dokumentacija dogaðaja";
return decode( "Dokumentacija dogaðaja" );
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3
......@@ -1439,35 +1441,35 @@ private:
*/
virtual QCString trPackageTypes()
{
return "Tipovi u Paketu";
return decode( "Tipovi u Paketu" );
}
/*! Used as a heading for a list of Java class functions with package
* scope.
*/
virtual QCString trPackageMembers()
{
return "Funkcije u paketu";
return decode( "Funkcije u paketu" );
}
/*! Used as a heading for a list of static Java class functions with
* package scope.
*/
virtual QCString trStaticPackageMembers()
{
return "Statièke funkcije u paketu"; // Zajednicke funkcije u paketu
return decode( "Statièke funkcije u paketu" ); // Zajednicke funkcije u paketu
}
/*! Used as a heading for a list of Java class variables with package
* scope.
*/
virtual QCString trPackageAttribs()
{
return "Atributi u paketu"; // Clanovi u paketu
return decode( "Atributi u paketu" ); // Clanovi u paketu
}
/*! Used as a heading for a list of static Java class variables with
* package scope.
*/
virtual QCString trStaticPackageAttribs()
{
return "Statièki atributi u paketu"; // Zajednicki clanovi u paketu
return decode( "Statièki atributi u paketu" ); // Zajednicki clanovi u paketu
}
//////////////////////////////////////////////////////////////////////////
......@@ -1479,20 +1481,76 @@ private:
*/
virtual QCString trAll()
{
return "Sve";
return decode( "Sve" );
}
/*! Put in front of the call graph for a function. */
virtual QCString trCallGraph()
{
return "Graf pozivanja finkcija:";
return decode( "Graf pozivanja funkcija:" );
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3.3
//////////////////////////////////////////////////////////////////////////
/*! When the search engine is enabled this text is put in the header
* of each page before the field where one can enter the text to search
* for.
*/
virtual QCString trSearchForIndex()
{
return decode("Tra¾i");
}
/*! This string is used as the title for the page listing the search
* results.
*/
virtual QCString trSearchResultsTitle()
{
return decode( "Rezultati pretra¾ivanja" );
}
/*! This string is put just before listing the search results. The
* text can be different depending on the number of documents found.
* Inside the text you can put the special marker $num to insert
* the number representing the actual number of search results.
* The @a numDocuments parameter can be either 0, 1 or 2, where the
* value 2 represents 2 or more matches. HTML markup is allowed inside
* the returned string.
*/
virtual QCString trSearchResults(int numDocuments)
{
if (numDocuments==0)
{
return decode("Nema dokumenta koji odgovaraju va¹em upitu");
}
else if (numDocuments==1)
{ // 10x 2 Ivana Miletic 4 gramatical consutation.
return decode("Naðen je <b>1</b> dokument koji odgovara va¹em upitu.");
}
else if (numDocuments<5)
{ // 10x 2 Ivana Miletic 4 gramatical consutation.
return decode("Naðena su <b>$num</b> dokumenta koji odgovaraju va¹em upitu."
"Najbolji su prikazani prvi.");
}
else
{ // 10x 2 Ivana Miletic 4 gramatical consutation.
return decode("Naðeno je <b>$num</b> dokumenata koji odgovaraju va¹em upitu."
"Najbolji su prikazani prvi.");
}
}
/*! This string is put before the list of matched words, for each search
* result. What follows is the list of words that matched the query.
*/
virtual QCString trSearchMatches()
{
return decode( "Pronaðeno:" );
}
};
// sh - ¹ - shashavo
// sh - ¹ - shashavo (,š)
// dj - ð - djordje
// ch - è - chasha
// ch - È, è - chasha
// cc - æ - cciccifu
// zz - ¾ - zzaba
......
This diff is collapsed.
......@@ -1377,7 +1377,7 @@ static void generateXMLForGroup(GroupDef *gd,QTextStream &ti)
GroupDef *sgd;
for (gli.toFirst();(sgd=gli.current());++gli)
{
t << " <innergroup refid=\"" << gd->getOutputFileBase()
t << " <innergroup refid=\"" << sgd->getOutputFileBase()
<< "\">" << convertToXML(sgd->groupTitle())
<< "</innergroup>" << endl;
}
......
......@@ -278,10 +278,6 @@ SOURCE=..\src\outputlist.cpp
# End Source File
# Begin Source File
SOURCE=..\src\packagedef.cpp
# End Source File
# Begin Source File
SOURCE=..\src\pagedef.cpp
# End Source File
# Begin Source File
......@@ -550,10 +546,6 @@ SOURCE=..\src\outputlist.h
# End Source File
# Begin Source File
SOURCE=..\src\packagedef.h
# End Source File
# Begin Source File
SOURCE=..\src\pagedef.h
# End Source File
# Begin Source File
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment