summaryrefslogtreecommitdiffstats
path: root/src/exporters/htmlbookexporter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/exporters/htmlbookexporter.h')
-rw-r--r--src/exporters/htmlbookexporter.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/exporters/htmlbookexporter.h b/src/exporters/htmlbookexporter.h
new file mode 100644
index 0000000..d8b5884
--- /dev/null
+++ b/src/exporters/htmlbookexporter.h
@@ -0,0 +1,52 @@
+/***************************************************************************
+* Copyright (C) 2006 by *
+* Jason Kivlighn ([email protected]) *
+* *
+* 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 HTMLBOOKEXPORTER_H
+#define HTMLBOOKEXPORTER_H
+
+#include <tqmap.h>
+#include <tqvaluelist.h>
+
+#include "baseexporter.h"
+#include "htmlexporter.h"
+
+class RecipeDB;
+class CategoryTree;
+
+/**
+ * Exports a given recipe list as HTML
+ * @author Jason Kivlighn
+ */
+class HTMLBookExporter : public HTMLExporter
+{
+public:
+ HTMLBookExporter( CategoryTree *categories, const TQString&, const TQString& );
+ virtual ~HTMLBookExporter();
+
+protected:
+ virtual TQString createContent( const RecipeList & );
+ virtual TQString createHeader( const RecipeList & );
+ virtual TQString createFooter();
+
+ virtual int headerFlags() const;
+
+private:
+ void createCategoryStructure( TQTextStream &xml, const RecipeList &recipes );
+ bool removeIfUnused( const TQValueList<int> &cat_ids, CategoryTree *parent, bool parent_should_show = false );
+ void writeCategoryStructure( TQTextStream &xml, const CategoryTree *categoryTree );
+
+ TQMap<TQString,TQTextStream*> fileMap;
+
+ RecipeDB *database;
+ CategoryTree *m_categories;
+ TQString m_basedir;
+};
+
+#endif //HTMLBOOKEXPORTER_H