summaryrefslogtreecommitdiffstats
path: root/src/exporters/kreexporter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/exporters/kreexporter.h')
-rw-r--r--src/exporters/kreexporter.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/exporters/kreexporter.h b/src/exporters/kreexporter.h
new file mode 100644
index 0000000..d6b0b17
--- /dev/null
+++ b/src/exporters/kreexporter.h
@@ -0,0 +1,51 @@
+/***************************************************************************
+* Copyright (C) 2003 by *
+* Cyril Bosselut ([email protected]) *
+* *
+* Copyright (C) 2003-2005 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 KREEXPORTER_H
+#define KREEXPORTER_H
+
+#include "baseexporter.h"
+#include "datablocks/categorytree.h"
+
+class IngredientData;
+
+/**
+Export class for Krecipes native file format (.kre, .kreml)
+
+@author Cyril Bosselut and Jason Kivlighn
+*/
+class KreExporter : public BaseExporter
+{
+public:
+ KreExporter( CategoryTree *, const TQString&, const TQString& );
+ virtual ~KreExporter();
+
+ virtual int supportedItems() const;
+
+protected:
+ virtual TQString createContent( const RecipeList & );
+ virtual TQString createHeader( const RecipeList & );
+ virtual TQString createFooter();
+
+ virtual int headerFlags() const;
+
+private:
+ bool removeIfUnused( const TQValueList<int> &cat_ids, CategoryTree *parent, bool parent_should_show = false );
+ void createCategoryStructure( TQString &xml, const RecipeList &recipes );
+ void writeCategoryStructure( TQString &xml, const CategoryTree *categoryTree );
+ TQString generateIngredient( const IngredientData &ing );
+
+ CategoryTree *categories;
+};
+
+#endif