//
// qtpendel-tab.h
//
// Einer der drei Tabs die genauen Wert, Wert pro Bereich als Zahl und
// als Grafik anzeigen. Ist dreimal Member der Klasse QtPendel (fuer Winkel,
// Winkelgeschwindigkeit und Gegenbewegung). 
// 
//  - Hubert Feyrer <hubert@feyrer.de>
// 

#ifndef _QTPENDEL_TAB_H
#define _QTPENDEL_TAB_H

#include <qapplication.h>
#include <qhbuttongroup.h>
#include <qvbuttongroup.h>
#include <qcolor.h>
#include <qpainter.h>
#include <qpaintdevice.h>
#include <qpixmap.h>
#include <qlabel.h>
#include <qvbox.h>
#include <qpushbutton.h>
#include <qsizepolicy.h>
#include <qsplitter.h>
#include <stdio.h>

#include "qtpendel-data.h"

class QtPendel;

class QtPendelTab : public QVBox //QWidget
{
	Q_OBJECT;

protected:
	virtual void resizeEvent(QResizeEvent *);
	
public:
	QVButtonGroup *tabbox;
	QHBox *labelbox;
	QLabel *label_filler1;
	QLabel *label;
	QLabel *label_filler2;
	QFrame *split1; // ---------------------------------------
	QVBox *ranges;
	QHBox *range[7];
	QLabel *range_label[7];
	QLabel *range_filler[7];
	QLabel *range_value[7];
	QFrame *split2; // ---------------------------------------
	QPixmap *buffer;
	QLabel *map;
	QFrame *split3; // ---------------------------------------
	QHBox *valuebox;
	QLabel *value_name;
	QLabel *value_is;
	QLabel *value_value;
	QLabel *value_filler;
	
	QtPendelTab(char *h, QWidget *parent = 0);
	void update(QtPendel *pendel, QtPendelData::Values *v);
};


// Shortcuts for QSizePolicies
#define sizepol_ff QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)
#define sizepol_ef QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed)
#define sizepol_fe QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding)
#define sizepol_ee QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding)

#endif /* _QTPENDEL_TAB_H */
