Commit 752d21c1 authored by dimitri's avatar dimitri

Release-1.5.7.1-20081206

parent b35a84b3
DOXYGEN Version 1.5.7.1-20081103 DOXYGEN Version 1.5.7.1-20081206
Please read the installation section of the manual Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions. (http://www.doxygen.org/install.html) for instructions.
-------- --------
Dimitri van Heesch (03 November 2008) Dimitri van Heesch (06 December 2008)
...@@ -41,12 +41,7 @@ distclean: clean ...@@ -41,12 +41,7 @@ distclean: clean
-rm -f src/doxygen.pro src/libdoxygen.pro src/doxytag.pro qtools/qtools.pro src/libdoxycfg.pro libpng/libpng.pro libmd5/libmd5.pro -rm -f src/doxygen.pro src/libdoxygen.pro src/doxytag.pro qtools/qtools.pro src/libdoxycfg.pro libpng/libpng.pro libmd5/libmd5.pro
-rm -f src/version.cpp -rm -f src/version.cpp
-rm -r addon/doxywizard/Makefile -rm -r addon/doxywizard/Makefile
-rm -f addon/doxywizard/Makefile.doxywizard
-rm -f addon/doxywizard/doxywizard.pro -rm -f addon/doxywizard/doxywizard.pro
-rm -f addon/doxywizard/moc/moc_*
-rm -f addon/doxywizard/config.cpp
-rm -f addon/doxywizard/lib
-rm -f addon/doxywizard/objects
-rm -f VERSION -rm -f VERSION
-rm -f packages/rpm/doxygen.spec -rm -f packages/rpm/doxygen.spec
......
DOXYGEN Version 1.5.7.1_20081103 DOXYGEN Version 1.5.7.1_20081206
Please read INSTALL for compilation instructions. Please read INSTALL for compilation instructions.
...@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives. ...@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy, Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (03 November 2008) Dimitri van Heesch (dimitri@stack.nl) (06 December 2008)
...@@ -10,38 +10,23 @@ ...@@ -10,38 +10,23 @@
# See the GNU General Public License for more details. # See the GNU General Public License for more details.
# #
all: version.cpp config.h config.l portable.h portable.cpp Makefile.doxywizard QMAKE = qmake
$(MAKE) -f Makefile.doxywizard QTDIR=$(QTDIR) $@
version.cpp: ../../src/version.cpp all: Makefile.doxywizard
$(CP) ../../src/version.cpp version.cpp $(MAKE) -f Makefile.doxywizard
portable.cpp: ../../src/portable.cpp Makefile.doxywizard: doxywizard.pro
$(CP) ../../src/portable.cpp portable.cpp $(QTDIR)/bin/qmake doxywizard.pro -o Makefile.doxywizard
portable.h: ../../src/portable.h qmake:
$(CP) ../../src/portable.h portable.h $(QTDIR)/bin/qmake doxywizard.pro -o Makefile.doxywizard
config.h: ../../src/config.h
$(CP) ../../src/config.h config.h
config.l: ../../src/config.l
$(CP) ../../src/config.l config.l
Makefile.doxywizard: doxywizard.pro
$(ENV) $(PERL) $(TMAKE) doxywizard.pro >Makefile.doxywizard
tmake:
$(ENV) $(PERL) $(TMAKE) doxywizard.pro >Makefile.doxywizard
clean: Makefile.doxywizard clean: Makefile.doxywizard
$(MAKE) -f Makefile.doxywizard clean $(MAKE) -f Makefile.doxywizard clean
$(RM) config.cpp
distclean: clean
$(RM) Makefile.doxywizard version.cpp config.l config.h portable.h portable.cpp
MAN1DIR = man/man1 distclean: Makefile.doxywizard
$(MAKE) -f Makefile.doxywizard distclean
$(RM) Makefile.doxywizard
install: install:
$(INSTTOOL) -d $(INSTALL)/bin $(INSTTOOL) -d $(INSTALL)/bin
......
#
#
#
# Copyright (C) 1997-2008 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.
#
all: config.h config.l unistd.h Makefile.doxywizard
$(MAKE) -f Makefile.doxywizard $@
unistd.h: ..\..\src\unistd.h
$(CP) ..\..\src\unistd.h unistd.h
config.h: ..\..\src\config.l
$(CP) ..\..\src\config.h config.h
config.l: ..\..\src\config.l
$(CP) ..\..\src\config.l config.l
version.cpp: ..\..\src\version.cpp
$(CP) ..\..\src\version.cpp version.cpp
Makefile.doxywizard: doxywizard.pro
$(ENV) $(PERL) $(TMAKE) doxywizard.pro >Makefile.doxywizard
tmake:
$(ENV) $(PERL) $(TMAKE) doxywizard.pro >Makefile.doxywizard
clean: Makefile.doxywizard
$(MAKE) -f Makefile.doxywizard clean
$(RM) config.cpp
distclean: clean
$(RM) Makefile.doxywizard config.l config.h
FORCE:
Doxywizard is a graphical front-end to read/edit/write doxygen configuration Doxywizard is a graphical front-end to read/edit/write doxygen configuration
files. It requires Qt version 3.x or higher. files and to launch doxygen. It requires Qt version 4.3 or higher.
This diff is collapsed.
This diff is collapsed.
# ######################################################################
# # Automatically generated by qmake (2.01a) zo okt 19 12:50:02 2008
# ######################################################################
# Copyright (C) 1997-2008 by Dimitri van Heesch.
# TEMPLATE = app
# Permission to use, copy, modify, and distribute this software and its DESTDIR = ../../bin
# documentation under the terms of the GNU General Public License is hereby TARGET =
# granted. No representations are made about the suitability of this software DEPENDPATH += .
# for any purpose. It is provided "as is" without express or implied warranty. INCLUDEPATH += .
# See the GNU General Public License for more details. QT += xml
# CONFIG += $extraopts
# project file for the doxywizard project OBJECTS_DIR = obj
MOC_DIR = moc
# special template configuration file because we use flex RCC_DIR = rcc
TEMPLATE = doxywizard.t DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII
# executable to generate # Input
TARGET = ../../bin/doxywizard HEADERS += doxywizard.h version.h expert.h config.h helplabel.h \
inputbool.h inputstring.h inputint.h inputstrlist.h wizard.h
# we do not use the debug features in this copy of portable.cpp SOURCES += doxywizard.cpp ../../src/version.cpp expert.cpp wizard.cpp \
DEFINES = NODEBUG inputbool.cpp inputstring.cpp inputint.cpp inputstrlist.cpp
LEXSOURCES += config.l
# configure options RESOURCES += doxywizard.qrc
CONFIG = qt warn_on $extraopts
# header file for the project
HEADERS = doxywizard.h \
version.h \
inputstring.h \
inputbool.h \
inputstrlist.h \
inputint.h \
expert.h \
config.h \
portable.h
# source flle for the project
SOURCES = doxywizard.cpp \
version.cpp \
inputstring.cpp \
inputbool.cpp \
inputstrlist.cpp \
inputint.cpp \
expert.cpp \
config.cpp \
portable.cpp
# where to put the objects
OBJECTS_DIR = obj
# where to put the intermediate moc stuff
MOC_DIR = moc
# extra C++ compiler options
INCLUDEPATH += ../../src
win32:TMAKE_CXXFLAGS += -DQT_DLL
win32:INCLUDEPATH += .
macosx-c++:LIBS+=-framework CoreFoundation -framework ApplicationServices
# extra link options
win32:TMAKE_LFLAGS = /NODEFAULTLIB:msvcrt.lib doxywizard.res
win32:TMAKE_LIBS = $(QTDIR)\lib\qtmain.lib $(QTDIR)\lib\qt-mt332.lib user32.lib gdi32.lib comdlg32.lib imm32.lib ole32.lib uuid.lib wsock32.lib
win32:TMAKE_LIBS_QT =
<!DOCTYPE RCC><RCC version="1.0">
<qresource prefix="/">
<file alias="config.xml">../../src/config.xml</file>
<file>images/add.png</file>
<file>images/del.png</file>
<file>images/file.png</file>
<file>images/folder.png</file>
<file>images/refresh.png</file>
</qresource>
</RCC>
#
#
#
# Copyright (C) 1997-2008 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.
#!
#! wizard.t: This is a custom template for building doxywizard
#!
#$ IncludeTemplate("app.t");
LEX = flex
YACC = bison
#${
sub GenerateDep {
my($obj,$src,$dep) = @_;
my(@objv,$srcv,$i,$s,$o,$d,$c);
@objv = split(/\s+/,$obj);
@srcv = split(/\s+/,$src);
for $i ( 0..$#objv ) {
$s = $srcv[$i];
$o = $objv[$i];
next if $s eq "";
$text .= $o . ": " . $s;
$text .= " ${linebreak}\n\t\t" . $dep if $dep ne "";
if ( $moc_output{$s} ne "" ) {
$text .= " ${linebreak}\n\t\t" . $moc_output{$s};
}
$d = &make_depend($s);
$text .= " ${linebreak}\n\t\t" . $d if $d ne "";
$text .= "\n";
}
chop $text;
}
#$}
####################
#$ GenerateDep("config.cpp","config.l");
$(LEX) -PconfigYY -t config.l >config.cpp
This diff is collapsed.
/******************************************************************************
*
*
*
* Copyright (C) 1997-2008 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.
*
*/
#ifndef EXPERT_H #ifndef EXPERT_H
#define EXPERT_H #define EXPERT_H
#include <qtabdialog.h> #include <QSplitter>
#include <qlist.h> #include <QDomElement>
#include <qdict.h> #include <QHash>
class IInput;
class QWidget;
class QObject;
class InputBool;
class InputString;
class InputStrList;
class InputFile;
class InputDir;
class InputInt;
class ConfigWidget class QTreeWidget;
{ class QTreeWidgetItem;
public: class QStackedWidget;
enum Kind { Int, String, StrList, Bool }; class QSettings;
class QTextEdit;
ConfigWidget(QWidget *w,Kind k) : m_widget(w), m_kind(k) {} class QTextCodec;
class QPushButton;
Kind kind() const { return m_kind; } class Input;
InputString *getString() const
{ return m_kind==String ? (InputString *)m_widget : 0; }
InputBool *getBool() const
{ return m_kind==Bool ? (InputBool *)m_widget : 0; }
InputStrList *getStrList() const
{ return m_kind==StrList ? (InputStrList *)m_widget : 0; }
InputInt *getInt() const
{ return m_kind==Int ? (InputInt *)m_widget : 0; }
private:
QWidget *m_widget;
Kind m_kind;
};
class Expert : public QTabDialog class Expert : public QSplitter
{ {
Q_OBJECT Q_OBJECT
public: public:
Expert(QWidget *parent=0); Expert();
~Expert(); ~Expert();
void init(); void loadSettings(QSettings *);
void addDependency(QDict<QObject> *switches, void saveSettings(QSettings *);
const QCString &dep,const QCString &name); void loadConfig(const QString &fileName);
bool hasChanged() const { return m_changed; } bool writeConfig(QTextStream &t,bool brief);
QByteArray saveInnerState () const;
bool restoreInnerState ( const QByteArray & state );
const QHash<QString,Input*> &modelData() const { return m_options; }
void resetToDefaults();
bool htmlOutputPresent(const QString &workingDir) const;
bool pdfOutputPresent(const QString &workingDir) const;
QString getHtmlOutputIndex(const QString &workingDir) const;
public slots:
void activateTopic(QTreeWidgetItem *,QTreeWidgetItem *);
QWidget *createTopicWidget(QDomElement &elem);
private slots: private slots:
void toggle(const char *,bool); void showHelp(Input *);
void handleHelp(); void nextTopic();
void prevTopic();
signals:
void changed(); void changed();
private: private:
QDict<IInput> *m_inputWidgets; void createTopics(const QDomElement &);
QDict< QList<IInput> > *m_dependencies; void saveTopic(QTextStream &t,QDomElement &elem,QTextCodec *codec,bool brief);
QDict<QObject> *m_switches;
bool m_changed; QSplitter *m_splitter;
QTextEdit *m_helper;
QTreeWidget *m_treeWidget;
QStackedWidget *m_topicStack;
QHash<QString,QWidget *> m_topics;
QHash<QString,QObject *> m_optionWidgets;
QHash<QString,Input *> m_options;
QPushButton *m_next;
QPushButton *m_prev;
QDomElement m_rootElement;
}; };
#endif #endif
#ifndef HELPLABEL_H
#define HELPLABEL_H
#include <QLabel>
#include <QMenu>
class HelpLabel : public QLabel
{
Q_OBJECT
public:
HelpLabel(const QString &text) : QLabel(text)
{ setContextMenuPolicy(Qt::CustomContextMenu);
connect(this,SIGNAL(customContextMenuRequested(const QPoint&)),
this,SLOT(showMenu(const QPoint&)));
}
signals:
void enter();
void reset();
private slots:
void showMenu(const QPoint &p)
{
QMenu menu(this);
QAction *a = menu.addAction(tr("Reset to default"));
if (menu.exec(mapToGlobal(p))==a)
{
reset();
}
}
protected:
void enterEvent( QEvent * event ) { enter(); QLabel::enterEvent(event); }
};
#endif
#ifndef _INPUT_H #ifndef INPUT_H
#define _INPUT_H #define INPUT_H
class QObject; #include <QVariant>
class IInput class QTextStream;
class QTextCodec;
class Input
{ {
public: public:
virtual ~IInput() {} enum Kind
virtual void init() = 0; {
Bool,
Int,
String,
StrList,
Obsolete
};
virtual ~Input() {}
virtual QVariant &value() = 0;
virtual void update() = 0;
virtual Kind kind() const = 0;
virtual QString docs() const = 0;
virtual QString id() const = 0;
virtual void addDependency(Input *option) = 0;
virtual void setEnabled(bool) = 0; virtual void setEnabled(bool) = 0;
virtual QObject *qobject() = 0; virtual void updateDependencies() = 0;
virtual void reset() = 0;
virtual void writeValue(QTextStream &t,QTextCodec *codec) = 0;
}; };
#endif #endif
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* *
* *
* Copyright (C) 1997-2008 by Dimitri van Heesch. * Copyright (C) 1997-2007 by Dimitri van Heesch.
* *
* Permission to use, copy, modify, and distribute this software and its * Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby * documentation under the terms of the GNU General Public License is hereby
...@@ -13,47 +13,98 @@ ...@@ -13,47 +13,98 @@
*/ */
#include "inputbool.h" #include "inputbool.h"
//#if QT_VERSION >= 300 #include "helplabel.h"
//#include <qstylefactory.h> #include <QtGui>
//#else
//#include <qwindowsstyle.h>
//#endif
#include <qlayout.h>
InputBool::InputBool( const QString & text, QWidget * parent, bool &flag ) InputBool::InputBool( QGridLayout *layout, int &row,
: QWidget(parent), state(flag) const QString &id, bool checked,
const QString &docs )
: m_default(checked), m_docs(docs), m_id(id)
{ {
QBoxLayout *layout = new QHBoxLayout(this); m_lab = new HelpLabel(id);
cb = new QCheckBox(text,this); m_cb = new QCheckBox;
layout->addWidget(cb); layout->addWidget(m_lab,row, 0);
layout->addStretch(10); layout->addWidget(m_cb,row, 1);
m_enabled = true;
//#if QT_VERSION >= 300 m_state=!checked; // force update
// QStyle *winStyle = QStyleFactory::create("windows"); setValue(checked);
//#else connect( m_cb, SIGNAL(toggled(bool)), SLOT(setValue(bool)) );
// QWindowsStyle *winStyle = new QWindowsStyle(); connect( m_lab, SIGNAL(enter()), SLOT(help()) );
//#endif connect( m_lab, SIGNAL(reset()), SLOT(reset()) );
cb->setChecked( flag ); row++;
// if (winStyle) cb->setStyle( winStyle ); }
cb->setMinimumSize( sizeHint() );
connect( cb, SIGNAL(toggled(bool)), SLOT(setState(bool)) ); void InputBool::help()
{
showHelp(this);
}
layout->activate(); void InputBool::setEnabled(bool b)
{
m_enabled = b;
m_cb->setEnabled(b);
updateDependencies();
} }
void InputBool::init() void InputBool::updateDependencies()
{ {
cb->setChecked(state); for (int i=0;i<m_dependencies.count();i++)
{
m_dependencies[i]->setEnabled(m_enabled && m_state);
}
} }
void InputBool::setState( bool s ) void InputBool::setValue( bool s )
{ {
if (state!=s) if (m_state!=s)
{ {
m_state=s;
updateDefault();
updateDependencies();
m_cb->setChecked( s );
m_value = m_state;
emit changed(); emit changed();
emit toggle(cb->text(),s);
} }
state=s; }
void InputBool::updateDefault()
{
if (m_state==m_default)
{
m_lab->setText(QString::fromAscii("<qt>")+m_id+QString::fromAscii("</qt"));
}
else
{
m_lab->setText(QString::fromAscii("<qt><font color='red'>")+m_id+QString::fromAscii("</font></qt>"));
}
}
QVariant &InputBool::value()
{
return m_value;
}
void InputBool::update()
{
QString v = m_value.toString().toLower();
m_state = (v==QString::fromAscii("yes") ||
v==QString::fromAscii("true") ||
v==QString::fromAscii("1"));
m_cb->setChecked( m_state );
updateDefault();
updateDependencies();
}
void InputBool::reset()
{
setValue(m_default);
}
void InputBool::writeValue(QTextStream &t,QTextCodec *codec)
{
if (m_state)
t << codec->fromUnicode(QString::fromAscii("YES"));
else
t << codec->fromUnicode(QString::fromAscii("NO"));
} }
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* *
* *
* Copyright (C) 1997-2008 by Dimitri van Heesch. * Copyright (C) 1997-2007 by Dimitri van Heesch.
* *
* Permission to use, copy, modify, and distribute this software and its * Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby * documentation under the terms of the GNU General Public License is hereby
...@@ -15,35 +15,55 @@ ...@@ -15,35 +15,55 @@
#ifndef _INPUTBOOL_H #ifndef _INPUTBOOL_H
#define _INPUTBOOL_H #define _INPUTBOOL_H
#include <qwidget.h>
#include <qcheckbox.h>
#include "input.h" #include "input.h"
#include <QObject>
class PageWidget; class QCheckBox;
class QGridLayout;
class QLabel;
class InputBool : public QWidget, /*QCheckBox,*/ public IInput class InputBool : public QObject, public Input
{ {
Q_OBJECT Q_OBJECT
public: public:
InputBool( const QString &text, QWidget *parent, bool &flag ); InputBool(QGridLayout *layout,int &row,const QString &id,
~InputBool(){}; bool enabled, const QString &docs );
void init();
void setEnabled(bool b) { cb->setEnabled(b); } // Input
QObject *qobject() { return this; } QVariant &value();
bool getState() const { return state; } void update();
Kind kind() const { return Bool; }
QString docs() const { return m_docs; }
QString id() const { return m_id; }
void addDependency(Input *option) { m_dependencies+=option; }
void setEnabled(bool);
void updateDependencies();
void writeValue(QTextStream &t,QTextCodec *codec);
public slots:
void reset();
void setValue(bool);
signals: signals:
void changed(); void changed();
void toggle(const char *,bool); void toggle(QString,bool);
void showHelp(Input *);
private slots: private slots:
void setState(bool); void help();
private: private:
bool &state; void updateDefault();
QCheckBox *cb; bool m_state;
bool m_default;
bool m_enabled;
QVariant m_value;
QCheckBox *m_cb;
QString m_docs;
QList<Input*> m_dependencies;
QString m_id;
QLabel *m_lab;
}; };
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* *
* *
* Copyright (C) 1997-2008 by Dimitri van Heesch. * Copyright (C) 1997-2007 by Dimitri van Heesch.
* *
* Permission to use, copy, modify, and distribute this software and its * Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby * documentation under the terms of the GNU General Public License is hereby
...@@ -13,53 +13,84 @@ ...@@ -13,53 +13,84 @@
*/ */
#include "inputint.h" #include "inputint.h"
#include "helplabel.h"
#include <stdio.h> #include <QtGui>
#include <stdlib.h>
#include <qlabel.h>
#include <qlayout.h>
#include <qwindowsstyle.h>
#include <qspinbox.h>
InputInt::InputInt( const QString & label, QWidget *parent, int &val, int minVal,int maxVal ) InputInt::InputInt( QGridLayout *layout,int &row,
: QWidget( parent), m_val(val), m_minVal(minVal), m_maxVal(maxVal) const QString & id,
int defVal, int minVal,int maxVal,
const QString & docs )
: m_default(defVal), m_minVal(minVal), m_maxVal(maxVal), m_docs(docs), m_id(id)
{ {
QHBoxLayout *layout = new QHBoxLayout( this, 5 ); m_lab = new HelpLabel(id);
m_sp = new QSpinBox;
m_sp->setMinimum(minVal);
m_sp->setMaximum(maxVal);
m_sp->setSingleStep(1);
m_val=defVal-1; // force update
setValue(defVal);
lab = new QLabel( label, this ); layout->addWidget( m_lab, row, 0 );
lab->setMinimumSize( lab->sizeHint() ); layout->addWidget( m_sp, row, 1 );
sp = new QSpinBox( minVal,maxVal,1,this ); connect(m_sp, SIGNAL(valueChanged(int)),
sp->setMinimumSize( sp->sizeHint() ); this, SLOT(setValue(int)) );
connect( m_lab, SIGNAL(enter()), SLOT(help()) );
connect( m_lab, SIGNAL(reset()), SLOT(reset()) );
row++;
}
init(); void InputInt::help()
{
layout->addWidget( lab ); showHelp(this);
layout->addWidget( sp ); }
layout->addStretch(1);
layout->activate();
setMinimumSize( sizeHint() );
connect(sp, SIGNAL(valueChanged(int)),
this, SLOT(valueChanged(int)) );
void InputInt::setValue(int val)
{
val = qMax(m_minVal,val);
val = qMin(m_maxVal,val);
if (val!=m_val)
{
m_val = val;
m_sp->setValue(val);
m_value = m_val;
if (m_val==m_default)
{
m_lab->setText(QString::fromAscii("<qt>")+m_id+QString::fromAscii("</qt"));
}
else
{
m_lab->setText(QString::fromAscii("<qt><font color='red'>")+m_id+QString::fromAscii("</font></qt>"));
}
emit changed();
}
} }
void InputInt::valueChanged(int val) void InputInt::setEnabled(bool state)
{ {
if (val!=m_val) emit changed(); m_lab->setEnabled(state);
m_val = val; m_sp->setEnabled(state);
} }
void InputInt::setEnabled(bool state) QVariant &InputInt::value()
{ {
lab->setEnabled(state); return m_value;
sp->setEnabled(state);
} }
void InputInt::init() void InputInt::update()
{ {
m_val = QMAX(m_minVal,m_val); setValue(m_value.toInt());
m_val = QMIN(m_maxVal,m_val);
sp->setValue(m_val);
} }
void InputInt::reset()
{
setValue(m_default);
}
void InputInt::writeValue(QTextStream &t,QTextCodec *)
{
t << m_val;
}
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* *
* *
* Copyright (C) 1997-2008 by Dimitri van Heesch. * Copyright (C) 1997-2007 by Dimitri van Heesch.
* *
* Permission to use, copy, modify, and distribute this software and its * Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby * documentation under the terms of the GNU General Public License is hereby
...@@ -15,39 +15,56 @@ ...@@ -15,39 +15,56 @@
#ifndef _INPUTINT_H #ifndef _INPUTINT_H
#define _INPUTINT_H #define _INPUTINT_H
#include <qwidget.h>
#include <qstring.h>
#include "input.h" #include "input.h"
#include <QObject>
class QGridLayout;
class QLabel; class QLabel;
class QSpinBox; class QSpinBox;
class InputInt : public QWidget, public IInput class InputInt : public QObject, public Input
{ {
Q_OBJECT Q_OBJECT
public: public:
InputInt( const QString &text, QWidget *parent, int &val, InputInt( QGridLayout *layout,int &row,
int minVal, int maxVal ); const QString &id, int defVal,
int minVal, int maxVal,
const QString &docs );
~InputInt(){}; ~InputInt(){};
// Input
QVariant &value();
void update();
Kind kind() const { return Int; }
QString docs() const { return m_docs; }
QString id() const { return m_id; }
void addDependency(Input *) { Q_ASSERT(false); }
void setEnabled(bool); void setEnabled(bool);
void init(); void updateDependencies() {}
QObject *qobject() { return this; } void writeValue(QTextStream &t,QTextCodec *codec);
private: public slots:
QLabel *lab; void reset();
QSpinBox *sp; void setValue(int val);
int &m_val;
int m_minVal; private slots:
int m_maxVal; void help();
signals: signals:
void changed(); void changed();
void showHelp(Input *);
private slots: private:
void valueChanged(int val); QLabel *m_lab;
QSpinBox *m_sp;
int m_val;
int m_default;
int m_minVal;
int m_maxVal;
QVariant m_value;
QString m_docs;
QString m_id;
}; };
#endif #endif
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* *
* *
* Copyright (C) 1997-2008 by Dimitri van Heesch. * Copyright (C) 1997-2007 by Dimitri van Heesch.
* *
* Permission to use, copy, modify, and distribute this software and its * Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby * documentation under the terms of the GNU General Public License is hereby
...@@ -13,178 +13,179 @@ ...@@ -13,178 +13,179 @@
*/ */
#include "inputstring.h" #include "inputstring.h"
//#include "pixmaps.h" #include "helplabel.h"
#include "doxywizard.h"
#include <qlabel.h> #include "config.h"
#include <qlayout.h>
#include <qlineedit.h> #include <QtGui>
#include <qwindowsstyle.h>
#include <qcstring.h> InputString::InputString( QGridLayout *layout,int &row,
#include <qpushbutton.h> const QString & id, const QString &s,
#include <qfiledialog.h> StringMode m, const QString &docs )
#include <qcombobox.h> : m_default(s), m_sm(m), m_index(0), m_docs(docs), m_id(id)
#include <qtooltip.h>
InputString::InputString( const QString & label,
QWidget *parent, QCString &s, StringMode m )
: QWidget( parent ), str(s), sm(m), m_values(0), m_index(0)
{ {
m_lab = new HelpLabel(id);
if (m==StringFixed) if (m==StringFixed)
{ {
QHBoxLayout *layout = new QHBoxLayout( this, 5); layout->addWidget( m_lab, row, 0 );
lab = new QLabel( label, this ); m_com = new QComboBox;
lab->setMinimumSize( lab->sizeHint() ); layout->addWidget( m_com, row, 1, 1, 3, Qt::AlignLeft );
layout->addWidget( lab ); m_le=0;
com = new QComboBox( this ); m_br=0;
com->setMinimumSize(com->sizeHint()); row++;
layout->addWidget( com );
layout->addStretch( 1 );
le=0;
br=0;
layout->activate();
setMinimumSize( sizeHint() );
} }
else else
{ {
QGridLayout *layout = new QGridLayout( this, 1, m==StringFree ? 1 : 3, 5 ); layout->addWidget( m_lab, row, 0 );
lab = new QLabel( label, this ); m_le = new QLineEdit;
lab->setMinimumSize( lab->sizeHint() ); m_le->setText( s );
layout->addWidget( lab,0,0 ); //layout->setColumnMinimumWidth(2,150);
le = new QLineEdit( this );
le->setMinimumSize( le->sizeHint() );
le->setText( s );
layout->addWidget( le,0,1 );
if (m==StringFile || m==StringDir) if (m==StringFile || m==StringDir)
{ {
//QPixmap pixmap = QPixmap(m==StringFile ? layout->addWidget( m_le, row, 1 );
// file_xpm : m_br = new QToolBar;
// folder_xpm ); m_br->setIconSize(QSize(24,24));
br = new QPushButton( this );
br->setMinimumSize( br->sizeHint() );
if (m==StringFile) if (m==StringFile)
{ {
br->setText("File..."); QAction *file = m_br->addAction(QIcon(QString::fromAscii(":/images/file.png")),QString(),this,SLOT(browse()));
QToolTip::add(br,"Browse to a file"); file->setToolTip(tr("Browse to a file"));
} }
else else
{ {
br->setText("Folder..."); QAction *dir = m_br->addAction(QIcon(QString::fromAscii(":/images/folder.png")),QString(),this,SLOT(browse()));
QToolTip::add(br,"Browse to a folder"); dir->setToolTip(tr("Browse to a folder"));
} }
layout->addWidget( br,0,2 ); layout->addWidget( m_br,row,2 );
} }
else else
{ {
br=0; layout->addWidget( m_le, row, 1, 1, 2 );
m_br=0;
} }
com=0; m_com=0;
layout->activate(); row++;
setMinimumSize( sizeHint() );
} }
if (le) connect( le, SIGNAL(textChanged(const QString&)), if (m_le) connect( m_le, SIGNAL(textChanged(const QString&)),
this, SLOT(textChanged(const QString&)) ); this, SLOT(setValue(const QString&)) );
if (br) connect( br, SIGNAL(clicked()), this, SLOT(browse()) ); if (m_com) connect( m_com, SIGNAL(activated(const QString &)),
if (com) connect( com, SIGNAL(activated(const QString &)), this, SLOT(setValue(const QString &)) );
this, SLOT(textChanged(const QString &)) ); m_str = s+QChar::fromAscii('!'); // force update
setValue(s);
connect( m_lab, SIGNAL(enter()), SLOT(help()) );
connect( m_lab, SIGNAL(reset()), SLOT(reset()) );
}
void InputString::help()
{
showHelp(this);
} }
InputString::~InputString() InputString::~InputString()
{ {
if (m_values) delete m_values;
} }
void InputString::textChanged(const QString &s) void InputString::setValue(const QString &s)
{ {
if (str!=(const char *)s) if (m_str!=s)
{ {
str = s; m_str = s;
m_value = m_str;
if (m_str==m_default)
{
m_lab->setText(QString::fromAscii("<qt>")+m_id+QString::fromAscii("</qt"));
}
else
{
m_lab->setText(QString::fromAscii("<qt><font color='red'>")+m_id+QString::fromAscii("</font></qt>"));
}
if (m_le) m_le->setText( m_str );
emit changed(); emit changed();
} }
} }
void InputString::setEnabled(bool state) void InputString::setEnabled(bool state)
{ {
lab->setEnabled(state); m_lab->setEnabled(state);
if (le) le->setEnabled(state); if (m_le) m_le->setEnabled(state);
if (br) br->setEnabled(state); if (m_br) m_br->setEnabled(state);
if (com) com->setEnabled(state); if (m_com) m_com->setEnabled(state);
} }
void InputString::browse() void InputString::browse()
{ {
if (sm==StringFile) QString path = QFileInfo(MainWindow::instance().configFileName()).path();
if (m_sm==StringFile)
{ {
QString fileName = QFileDialog::getOpenFileName(); QString fileName = QFileDialog::getOpenFileName(&MainWindow::instance(),
tr("Select file"),path);
if (!fileName.isNull()) if (!fileName.isNull())
{ {
le->setText( fileName ); QDir dir(path);
if (str!=(const char *)le->text()) if (!MainWindow::instance().configFileName().isEmpty() && dir.exists())
{ {
str = le->text(); fileName = dir.relativeFilePath(fileName);
emit changed();
} }
setValue(fileName);
} }
} }
else // sm==StringDir else // sm==StringDir
{ {
QString dirName = QFileDialog::getExistingDirectory(); QString dirName = QFileDialog::getExistingDirectory(&MainWindow::instance(),
tr("Select directory"),path);
if (!dirName.isNull()) if (!dirName.isNull())
{ {
le->setText( dirName ); QDir dir(path);
if (str!=(const char *)le->text()) if (!MainWindow::instance().configFileName().isEmpty() && dir.exists())
{ {
str = le->text(); dirName = dir.relativeFilePath(dirName);
emit changed();
} }
setValue(dirName);
} }
} }
} }
void InputString::clear() void InputString::clear()
{ {
le->setText(""); setValue(QString());
if (!str.isEmpty())
{
emit changed();
str = "";
}
} }
void InputString::addValue(const char *s) void InputString::addValue(QString s)
{ {
if (sm==StringFixed) if (m_sm==StringFixed)
{ {
if (m_values==0) m_values = new QDict<int>; m_values.append(s);
m_values->setAutoDelete(TRUE); m_com->addItem(s);
m_values->insert(s,new int(m_index++));
com->insertItem(s);
} }
} }
void InputString::init() void InputString::setDefault()
{ {
if (sm==StringFixed) int index = m_values.indexOf(m_str);
{ if (index!=-1 && m_com) m_com->setCurrentIndex(index);
if (m_values)
{
int *itemIndex = m_values->find(str);
if (itemIndex)
{
com->setCurrentItem(*itemIndex);
}
else
{
com->setCurrentItem(0);
}
}
}
else
{
le->setText(str);
}
} }
QVariant &InputString::value()
{
return m_value;
}
void InputString::update()
{
setValue(m_value.toString().trimmed());
setDefault();
}
void InputString::reset()
{
setValue(m_default);
setDefault();
}
void InputString::writeValue(QTextStream &t,QTextCodec *codec)
{
writeStringValue(t,codec,m_str);
}
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* *
* *
* Copyright (C) 1997-2008 by Dimitri van Heesch. * Copyright (C) 1997-2007 by Dimitri van Heesch.
* *
* Permission to use, copy, modify, and distribute this software and its * Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby * documentation under the terms of the GNU General Public License is hereby
...@@ -15,19 +15,19 @@ ...@@ -15,19 +15,19 @@
#ifndef _INPUTSTRING_H #ifndef _INPUTSTRING_H
#define _INPUTSTRING_H #define _INPUTSTRING_H
#include <qwidget.h>
#include <qstring.h>
#include <qdict.h>
#include "qtbc.h"
#include "input.h" #include "input.h"
#include <QObject>
#include <QMap>
#include <QStringList>
class QLabel; class QLabel;
class QLineEdit; class QLineEdit;
class QPushButton; class QToolBar;
class QComboBox; class QComboBox;
class QGridLayout;
class InputString : public QWidget, public IInput class InputString : public QObject, public Input
{ {
Q_OBJECT Q_OBJECT
...@@ -38,32 +38,51 @@ class InputString : public QWidget, public IInput ...@@ -38,32 +38,51 @@ class InputString : public QWidget, public IInput
StringFixed=3 StringFixed=3
}; };
InputString( const QString &text, QWidget *parent, QCString &s, InputString( QGridLayout *layout,int &row,
StringMode m=StringFree ); const QString &id, const QString &s,
StringMode m,
const QString &docs );
~InputString(); ~InputString();
void addValue(QString s);
void setDefault();
// Input
QVariant &value();
void update();
Kind kind() const { return String; }
QString docs() const { return m_docs; }
QString id() const { return m_id; }
void addDependency(Input *) { Q_ASSERT(false); }
void setEnabled(bool); void setEnabled(bool);
void addValue(const char *s); void updateDependencies() {}
void init(); void writeValue(QTextStream &t,QTextCodec *codec);
QObject *qobject() { return this; }
private: public slots:
QLabel *lab; void reset();
QLineEdit *le; void setValue(const QString&);
QPushButton *br;
QComboBox *com;
QCString &str;
StringMode sm;
QDict<int> *m_values;
int m_index;
signals: signals:
void changed(); void changed();
void showHelp(Input *);
private slots: private slots:
void textChanged(const QString&);
void browse(); void browse();
void clear(); void clear();
void help();
private:
QLabel *m_lab;
QLineEdit *m_le;
QToolBar *m_br;
QComboBox *m_com;
QString m_str;
QString m_default;
StringMode m_sm;
QStringList m_values;
int m_index;
QVariant m_value;
QString m_docs;
QString m_id;
}; };
#endif #endif
This diff is collapsed.
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* *
* *
* Copyright (C) 1997-2008 by Dimitri van Heesch. * Copyright (C) 1997-2007 by Dimitri van Heesch.
* *
* Permission to use, copy, modify, and distribute this software and its * Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby * documentation under the terms of the GNU General Public License is hereby
...@@ -15,48 +15,51 @@ ...@@ -15,48 +15,51 @@
#ifndef _INPUTSTRLIST_H #ifndef _INPUTSTRLIST_H
#define _INPUTSTRLIST_H #define _INPUTSTRLIST_H
#include <qwidget.h>
#include <qstring.h>
#include "input.h" #include "input.h"
#include <QObject>
#include <QStringList>
class QLabel; class QLabel;
class QLineEdit; class QLineEdit;
class QPushButton; class QPushButton;
class QListBox; class QListWidget;
class QStrList; class QStringList;
class QGridLayout;
class QAction;
class InputStrList : public QWidget, public IInput class InputStrList : public QObject, public Input
{ {
Q_OBJECT Q_OBJECT
public: public:
enum ListMode { ListString=0, enum ListMode { ListString = 0,
ListFile=1, ListFile = 1,
ListDir=2, ListDir = 2,
ListFileDir=ListFile|ListDir ListFileDir = ListFile | ListDir
}; };
InputStrList( const QString &text, QWidget *parent, InputStrList( QGridLayout *layout,int &row,
QStrList &sl, ListMode v=ListString ); const QString &id, const QStringList &sl,
~InputStrList() {}; ListMode v, const QString &docs);
void setValue(const QStringList &sl);
QVariant &value();
void update();
Kind kind() const { return StrList; }
QString docs() const { return m_docs; }
QString id() const { return m_id; }
void addDependency(Input *) { Q_ASSERT(false); }
void setEnabled(bool); void setEnabled(bool);
void init(); void updateDependencies() {}
QObject *qobject() { return this; } void writeValue(QTextStream &t,QTextCodec *codec);
private: public slots:
QLabel *lab; void reset();
QLineEdit *le;
QPushButton *add;
QPushButton *del;
QPushButton *upd;
QPushButton *brFile;
QPushButton *brDir;
QListBox *lb;
QStrList &strList;
signals: signals:
void changed(); void changed();
void showHelp(Input *);
private slots: private slots:
void addString(); void addString();
...@@ -65,6 +68,23 @@ class InputStrList : public QWidget, public IInput ...@@ -65,6 +68,23 @@ class InputStrList : public QWidget, public IInput
void selectText(const QString &s); void selectText(const QString &s);
void browseFiles(); void browseFiles();
void browseDir(); void browseDir();
void help();
private:
void updateDefault();
QLabel *m_lab;
QLineEdit *m_le;
QAction *m_add;
QAction *m_del;
QAction *m_upd;
QAction *m_brFile;
QAction *m_brDir;
QListWidget *m_lb;
QStringList m_default;
QStringList m_strList;
QVariant m_value;
QString m_docs;
QString m_id;
}; };
......
/******************************************************************************
*
*
*
* Copyright (C) 1997-2008 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 QTBC_H
#define QTBC_H
/*! This file contains some hacks to make Doxygen work with
* Qt version 2.00 and Qt version 1.xx
*/
#include <qglobal.h>
#if QT_VERSION >= 200
#include <locale.h>
#define GCI QCollection::Item
#include <qcstring.h>
#include <qstring.h>
inline QCString convertToQCString(const QString &s) { return s.latin1(); }
#else /* QT_VERSION < 200 */
#include <qstring.h>
#define QCString QString
inline QCString convertToQCString(const QCString &s) { return s; }
#endif
#endif
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* *
* *
* Copyright (C) 1997-2008 by Dimitri van Heesch. * Copyright (C) 1997-2007 by Dimitri van Heesch.
* *
* Permission to use, copy, modify, and distribute this software and its * Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby * documentation under the terms of the GNU General Public License is hereby
......
This diff is collapsed.
/******************************************************************************
*
*
*
* Copyright (C) 1997-2007 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.
*
*/
#ifndef WIZARD_H
#define WIZARD_H
#include <QSplitter>
#include <QHash>
class Input;
class QTreeWidget;
class QTreeWidgetItem;
class QStackedWidget;
class QCheckBox;
class QLineEdit;
class QPushButton;
class QRadioButton;
class QGroupBox;
class QButtonGroup;
class Wizard;
enum OptLang { Lang_Cpp, Lang_C, Lang_Java, Lang_CS };
enum HtmlStyle { HS_Plain, HS_TreeView, HS_CHM };
enum TexStyle { TS_PDFHyper, TS_PDF, TS_PS };
enum DiagramMode { DM_None, DM_Builtin, DM_Dot };
class Step1 : public QWidget
{
Q_OBJECT
public:
Step1(Wizard *parent,const QHash<QString,Input*> &modelData);
void init();
private slots:
void selectSourceDir();
void selectDestinationDir();
void setProjectName(const QString &name);
void setProjectNumber(const QString &num);
void setSourceDir(const QString &dir);
void setDestinationDir(const QString &dir);
void setRecursiveScan(int);
private:
QLineEdit *m_projName;
QLineEdit *m_projNumber;
QLineEdit *m_sourceDir;
QLineEdit *m_destDir;
QCheckBox *m_recursive;
QPushButton *m_srcSelectDir;
QPushButton *m_dstSelectDir;
Wizard *m_wizard;
const QHash<QString,Input *> &m_modelData;
};
class Step2 : public QWidget
{
Q_OBJECT
public:
Step2(Wizard *parent,const QHash<QString,Input*> &modelData);
void init();
private slots:
void optimizeFor(int choice);
void extractMode(int choice);
void changeCrossRefState(int choice);
private:
QGroupBox *m_extractMode;
QGroupBox *m_optimizeLang;
QButtonGroup *m_extractModeGroup;
QButtonGroup *m_optimizeLangGroup;
QCheckBox *m_crossRef;
Wizard *m_wizard;
const QHash<QString,Input *> &m_modelData;
};
class Step3 : public QWidget
{
Q_OBJECT
public:
Step3(Wizard *parent,const QHash<QString,Input*> &modelData);
void init();
private slots:
void setHtmlEnabled(bool);
void setLatexEnabled(bool);
void setManEnabled(int);
void setRtfEnabled(int);
void setXmlEnabled(int);
void setSearchEnabled(int);
void setHtmlOptions(int);
void setLatexOptions(int);
private:
QGroupBox *m_texOptions;
QButtonGroup *m_texOptionsGroup;
QGroupBox *m_htmlOptions;
QButtonGroup *m_htmlOptionsGroup;
QCheckBox *m_htmlEnabled;
QCheckBox *m_latexEnabled;
QCheckBox *m_manEnabled;
QCheckBox *m_rtfEnabled;
QCheckBox *m_xmlEnabled;
QCheckBox *m_searchEnabled;
Wizard *m_wizard;
const QHash<QString,Input *> &m_modelData;
};
class Step4 : public QWidget
{
Q_OBJECT
public:
Step4(Wizard *parent,const QHash<QString,Input*> &modelData);
void init();
private slots:
void diagramModeChanged(int);
void setClassGraphEnabled(int state);
void setCollaborationGraphEnabled(int state);
void setGraphicalHierarchyEnabled(int state);
void setIncludeGraphEnabled(int state);
void setIncludedByGraphEnabled(int state);
void setCallGraphEnabled(int state);
void setCallerGraphEnabled(int state);
private:
QGroupBox *m_diagramMode;
QButtonGroup *m_diagramModeGroup;
QGroupBox *m_dotGroup;
QCheckBox *m_dotClass;
QCheckBox *m_dotCollaboration;
QCheckBox *m_dotInclude;
QCheckBox *m_dotIncludedBy;
QCheckBox *m_dotInheritance;
QCheckBox *m_dotCall;
QCheckBox *m_dotCaller;
Wizard *m_wizard;
const QHash<QString,Input *> &m_modelData;
};
class Wizard : public QSplitter
{
Q_OBJECT
public:
Wizard(const QHash<QString,Input*> &modelData, QWidget *parent=0);
~Wizard();
public slots:
void refresh();
private slots:
void activateTopic(QTreeWidgetItem *item,QTreeWidgetItem *);
void nextTopic();
void prevTopic();
private:
const QHash<QString,Input *> &m_modelData;
QTreeWidget *m_treeWidget;
QStackedWidget *m_topicStack;
Step1 *m_step1;
Step2 *m_step2;
Step3 *m_step3;
Step4 *m_step4;
QPushButton *m_next;
QPushButton *m_prev;
};
#endif
This diff is collapsed.
...@@ -1118,7 +1118,7 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn" ...@@ -1118,7 +1118,7 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
If the \c REFERENCES_LINK_SOURCE tag is set to \c YES (the default) If the \c REFERENCES_LINK_SOURCE tag is set to \c YES (the default)
and SOURCE_BROWSER tag is set to \c YES, then the hyperlinks from and SOURCE_BROWSER tag is set to \c YES, then the hyperlinks from
functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
link to the source code. Otherwise they will link to the documentstion. link to the source code. Otherwise they will link to the documentation.
\anchor cfg_verbatim_headers \anchor cfg_verbatim_headers
<dt>\c VERBATIM_HEADERS <dd> <dt>\c VERBATIM_HEADERS <dd>
......
...@@ -390,7 +390,7 @@ Download the zip extract it to e.g. <code>c:\\tools\\unxutils</code>. ...@@ -390,7 +390,7 @@ Download the zip extract it to e.g. <code>c:\\tools\\unxutils</code>.
Now you need to add/adjust the following environment variables Now you need to add/adjust the following environment variables
(via Control Panel/System/Advanced/Environment Variables): (via Control Panel/System/Advanced/Environment Variables):
- add <code>c:\\tools\\unxutils\\usr\\local\\wbin;</code> to the start of <code>PATH</code> - add <code>c:\\tools\\unxutils\\usr\\local\\wbin;</code> to the start of <code>PATH</code>
- set <code>BISON_SIMPLE</code> to <code>c:\\tools\\unxutils\\usr\\share\\bison.simple</code> - set <code>BISON_SIMPLE</code> to <code>c:\\tools\\unxutils\\usr\\local\\share\\bison.simple</code>
Download doxygen's source tarball and put it somewhere (e.g use <code>c:\\tools</code>) Download doxygen's source tarball and put it somewhere (e.g use <code>c:\\tools</code>)
......
This diff is collapsed.
...@@ -58,16 +58,14 @@ Just follow these steps: ...@@ -58,16 +58,14 @@ Just follow these steps:
<li>Create a copy of translator_en.h and name it <li>Create a copy of translator_en.h and name it
translator_\<your_2_letter_country_code\>.h translator_\<your_2_letter_country_code\>.h
I'll use xx in the rest of this document. I'll use xx in the rest of this document.
<li>Add definition of the symbol for your language into lang_cfg.h: <li>Add definition of the symbol for your language in the configure
\verbatim at two places in the script:
#define LANG_xx <ol>
\endverbatim <li>After the <code>f_langs=</code> is statement, in lower case.
Use capital letters for your \c xx (to be consistent). The \c lang_cfg.h <li>In the string that following <code>@allowed=</code> in upper case.
defines which language translators will be compiled into doxygen </ol>
executable. It is a kind of configuration file. If you are sure that The rerun the configure script such that is generates src/lang_cfg.h.
you do not need some of the languages, you can remove (comment out) This file should now contain a #define for your language code.
definitions of symbols for the languages, or you can say \c \#undef
instead of \c \#define for them.
<li>Edit language.cpp: <li>Edit language.cpp:
Add a Add a
\verbatim \verbatim
......
...@@ -130,3 +130,7 @@ Olexij Tkatchenko: olexij.tkatchenko@parcs.de ...@@ -130,3 +130,7 @@ Olexij Tkatchenko: olexij.tkatchenko@parcs.de
TranslatorVietnamese TranslatorVietnamese
Dang Minh Tuan: tuanvietkey@gmail.com Dang Minh Tuan: tuanvietkey@gmail.com
TranslatorTurkish
Emin Ilker Cetinbas: niw3@yahoo.com
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -1968,7 +1968,7 @@ QCString DotClassGraph::writeGraph(QTextStream &out, ...@@ -1968,7 +1968,7 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
} }
else else
{ {
out << "\\includegraphics[width=" << width/2 << "pt]"; out << "\\includegraphics[width=" << width << "pt]";
} }
out << "{" << baseName << "}\n" out << "{" << baseName << "}\n"
"\\end{center}\n" "\\end{center}\n"
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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