You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
3.4 KiB
106 lines
3.4 KiB
/***************************************************************************
|
|
xhtmlgenerator.h - description
|
|
-------------------
|
|
begin : Sat Jun 24 2006
|
|
copyright : (C) 2006 by Gael de Chalendar (aka Kleag)
|
|
email : kleag@free.fr
|
|
***************************************************************************/
|
|
|
|
/***************************************************************************
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
#ifndef XHTMLGENERATOR_H
|
|
#define XHTMLGENERATOR_H
|
|
|
|
#include <kurl.h>
|
|
#include <ktempdir.h>
|
|
#include <tqobject.h>
|
|
|
|
namespace TDEIO
|
|
{
|
|
class Job;
|
|
}
|
|
|
|
/**
|
|
* class XhtmlGenerator is a documentation generator for UML documents.
|
|
* It uses first @ref DocbookGenerator to convert the XMI generated by
|
|
* UMLDoc::saveToXMI to docbook and next libxslt through
|
|
* the XSLT file stored in resources to convert the docbook file to XHTML.
|
|
* The latter uses the XSLT available on the Web at
|
|
* http://docbook.sourceforge.net/release/xsl/snapshot/html/docbook.xsl
|
|
*
|
|
* @todo allow to specify the destination and ensure that it works with distant
|
|
* ones
|
|
*/
|
|
class XhtmlGenerator : public TQObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
/**
|
|
* Constructor
|
|
*/
|
|
XhtmlGenerator();
|
|
|
|
/**
|
|
* Empty Destructor
|
|
*/
|
|
virtual ~XhtmlGenerator();
|
|
|
|
/**
|
|
* Exports the current model to XHTML in a directory named as the model
|
|
* with the .xmi suffix removed. The XHTML file will have the same name
|
|
* with the .html suffix. Figures will be named as the corresponding
|
|
* diagrams in the GUI
|
|
* @todo change file naming to avoid paths with spaces or non-ASCII chars
|
|
* @todo better handling of error conditions
|
|
* @return true if saving is successful and false otherwise.
|
|
*/
|
|
bool generateXhtmlForProject();
|
|
|
|
/**
|
|
* Exports the current model to XHTML in the given directory
|
|
* @param destDir the directory where the XHTML file and the figures will
|
|
* be written
|
|
* @todo better handling of error conditions
|
|
* @return true if saving is successful and false otherwise.
|
|
*/
|
|
bool generateXhtmlForProjectInto(const KURL& destDir);
|
|
|
|
signals:
|
|
|
|
/** Emited when the documentation generation is finished */
|
|
void finished();
|
|
|
|
protected slots:
|
|
|
|
/** This slot is triggerd when the first part, xmi to docbook, is
|
|
* finished
|
|
* @param docbookJob the job copying the docbook file to its destination.
|
|
* Used only for error reporting
|
|
*/
|
|
void slotDocbookToXhtml(TDEIO::Job * docbookJob);
|
|
|
|
/** Triggered when the copying of the HTML result file is finished. Emits
|
|
* the signal finished().
|
|
*/
|
|
void slotHtmlCopyFinished( TDEIO::Job* );
|
|
|
|
private:
|
|
|
|
/** The destination directory where the final documentation will be
|
|
* written.
|
|
*/
|
|
KURL m_destDir;
|
|
// KTempDir m_tmpDir;
|
|
};
|
|
|
|
#endif // XHTMLGENERATOR_H
|