/***************************************************************************
*   Copyright (C) 2003-2004 by                                            *
*   Unai Garro (ugarro@users.sourceforge.net)                             *
*   Jason Kivlighn (jkivlighn@gmail.com)                                  *
*                                                                         *
*   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 RECIPE_H
#define RECIPE_H

#include <tqstring.h>
#include <tqimage.h>
#include <tqdatetime.h>

#include "ingredientlist.h"
#include "datablocks/rating.h"
#include "datablocks/elementlist.h"
#include "datablocks/ingredientpropertylist.h"

class Yield
{
public:
	Yield() : amount(1), amount_offset(0), type(TQString::null), type_id(-1){}

	TQString amountToString() const;
	TQString toString() const;

	double amount;
	double amount_offset;
	TQString type;
	int type_id;
};

/**
@author Unai Garro
*/
class Recipe
{
public:
	Recipe();
	~Recipe();
	// Public variables

	int recipeID;
	Yield yield;
	TQString title;
	TQString instructions;
	TQImage photo;
	IngredientList ingList;
	ElementList categoryList; // id+name
	ElementList authorList; //authors' id+name
	TQTime prepTime;

	TQDateTime ctime;
	TQDateTime mtime;
	TQDateTime atime;

	RatingList ratingList;
	IngredientPropertyList properties;

	// Public methods
	void empty( void );



};

#endif
