diff options
Diffstat (limited to 'src/exporters/kreexporter.h')
-rw-r--r-- | src/exporters/kreexporter.h | 51 |
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 |