1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
//=========================================================
// MusE
// Linux Music Editor
// $Id: scrollscale.h,v 1.2 2003/11/07 23:40:32 lunar_shuttle Exp $
// (C) Copyright 1999 Werner Schweer (ws@seh.de)
//=========================================================
#ifndef __SCROLLSCALE_H__
#define __SCROLLSCALE_H__
#include <qwidget.h>
#include <qslider.h>
// class QSlider;
class QScrollBar;
class QBoxLayout;
class QToolButton;
class QLabel;
//---------------------------------------------------------
// ScrollScale
//---------------------------------------------------------
class ScrollScale : public QWidget {
QSlider* scale;
QScrollBar* scroll;
int minVal, maxVal;
int scaleVal, scaleMin, scaleMax;
bool showMagFlag;
QBoxLayout* box;
bool noScale;
bool pageButtons;
int _page;
int _pages;
QToolButton* up;
QToolButton* down;
QLabel* pageNo;
bool invers;
double logbase;
virtual void resizeEvent(QResizeEvent*);
Q_OBJECT
private slots:
void pageUp();
void pageDown();
public slots:
void setPos(int);
void setMag(int);
void setOffset(int val);
void setScale(int);
signals:
void scaleChanged(int);
void lscaleChanged(int);
void scrollChanged(int);
void newPage(int);
public:
ScrollScale(int, int, int, int max, Orientation,
QWidget*, int min = 0, bool i=false, double vv = 10.0);
int xmag() const { return scale->value(); }
void setXmag(int val) { scale->setValue(val); }
void setRange(int, int);
void showMag(bool);
void setNoScale(bool flag) { noScale = flag; }
void setPageButtons(bool flag);
void setPage(int n) { _page = n; }
int page() const { return _page; }
int pages() const { return _pages; }
void setPages(int n);
int pos() const;
int mag() const;
int getScaleValue() const { return scaleVal; }
int getScaleMin() { return scaleMin; }
int getScaleMax() { return scaleMax; }
void range(int* b, int* e) const { *b = minVal; *e = maxVal; }
};
#endif
|