00001 #ifndef TONLEITER_FRET_BOARD_H 00002 #define TONLEITER_FRET_BOARD_H 00003 00004 #include <qbrush.h> 00005 #include <qpen.h> 00006 #include <qvaluelist.h> 00007 #include <qwidget.h> 00008 00009 00010 #include "tonleiterdata.h" 00011 00012 using namespace Data; 00013 00014 namespace Graph 00015 { 00016 class FretBoard : public QWidget 00017 { 00018 Q_OBJECT 00019 private: 00020 TonleiterData* data; 00021 00022 QPen fretpen; 00023 QBrush markerbrush; 00024 QPen stringpen; 00025 00026 Instrument inst; 00027 00028 int xmargin; 00029 int xmin; 00030 int xmax; 00031 int xwidth; 00032 00033 int ymargin; 00034 int ymin; 00035 int ymax; 00036 int yheight; 00037 00038 double fretdist; 00039 double stringdist; 00040 00041 public: 00042 FretBoard(TonleiterData* data,QWidget* parent,const char* name="FretBoard",WFlags f=0); 00043 virtual ~FretBoard(); 00044 signals: 00045 void pressed(); 00046 private slots: 00047 void dataChange(); 00048 private: 00049 void paintEvent(QPaintEvent* pe); 00050 void resizeEvent(QResizeEvent* re); 00051 void mouseReleaseEvent(QMouseEvent* me); 00052 void paintBoard(QPainter* p); 00053 void paintFrets(QPainter* p); 00054 void paintStrings(QPainter* p); 00055 void paintScale(QPainter* p); 00056 }; 00057 }; 00058 00059 #endif //TONLEITER_FRET_BOARD_H
1.4.2