/***************************************************************************
 * tabgracenote.h: implementation of TabGraceNote class
 *
 * This file is part of KGuitar, a KDE tabulature editor
 *
 * copyright (C) 2006- the KTabEdit development team <mrgwen@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.
 *
 * See the file COPYING for more information.
 ***************************************************************************/
 
#ifndef TABGRACENOTE_H
#define TABGRACENOTE_H

#include "tabdynamic.h"
#include "tabgracenotetransition.h"

class TabGraceNote
{
public:
	TabGraceNote();
	virtual ~TabGraceNote();
	
	virtual void clone(const TabGraceNote* grace);
	
	virtual void setGraceNoteDuration(int i);
	virtual int graceNoteDuration() const;
	
	virtual void setGraceNoteDynamic(Dynamic d);
	virtual Dynamic graceNoteDynamic() const;
	
	virtual void setGraceNoteFret(int i);
	virtual int graceNoteFret() const;
	
	virtual void setGraceNoteTransition(GraceNoteTransition g);
	virtual GraceNoteTransition graceNoteTransition() const;
	
	virtual bool operator==(const TabGraceNote& grace) const;
	virtual bool operator!=(const TabGraceNote& grace) const;
	
private:
	int mDuration;
	Dynamic mDynamic;
	int mFret;
	GraceNoteTransition mTransition;
};

#endif
