/***************************************************************************
 * optionsexportmusixtex.h: implementation of OptionsExportMusixtex class
 *
 * This file is part of KTabEdit, a KDE tabulature editor
 *
 * copyright (C) 2003-2006 the KTabEdit development team <mrgwen@gmail.com>
 * copyright (C) 2002-2003 the KGuitar 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 OPTIONSEXPORTMUSIXTEX_H
#define OPTIONSEXPORTMUSIXTEX_H

#include "optionspage.h"

class QCheckBox;
class QRadioButton;
class QVBoxLayout;

/**
	The OptionsExportMusixTex class.  This class create the user interface
	for the music tex export configuration, the user can choose the size,
	and choose between the tab or the note export, show different things, ....
*/
class OptionsExportMusixtex: public OptionsPage {
	Q_OBJECT
public:
	/**
		Construct the music tex export configuration widget.
		The constructor creates the widget and inits the parent (optionPage). Here are the
		melody editor options :
			size, tablature or note, show different options.
		@param config config is used to read and write the KTabEdit config file
		@param parent the widget parent
		@param name the widget name
	*/
	OptionsExportMusixtex(KConfig* config, QWidget* parent);
	
	/**
		Called when the user click on the Apply button.
		The timidity configuration is written on the KTabEdit config file.
	*/
	virtual void applyBtnClicked();
	
	/**
		Called when the user click on the Default button.
		It does nothing.
	*/
	virtual void defaultBtnClicked();
	
private:
	QVBoxLayout* mTabSizeGroup;
	QVBoxLayout* mExportModeGroup;
	QCheckBox* mShowBarNumber;
	QCheckBox* mShowStr;
	QCheckBox* mShowPageNumber;
	QRadioButton* mTabSize[4];
	QRadioButton* mExportMode[2];
	QCheckBox* mAlways;
};

#endif
