summaryrefslogtreecommitdiffstats
path: root/noatun/library/noatun/controls.h
blob: 4c11aac75d7de4d4f6ff32634a73dadf47255532 (plain)
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
#ifndef __CONTROLS_H
#define __CONTROLS_H

#include <tqguardedptr.h>

#include <kaction.h>
#include <ktoolbar.h>
#include <tqslider.h>
#include <tqstringlist.h>
#include <kdemacros.h>

class TQComboBox;
class TQLabel;

/**
 * A slider that can be moved around while being
 * changed internally
 *
 * @short Special TQSlider based class suitable for time sliders
 * @author Charles Samuels
 * @version 2.3
 **/
class KDE_EXPORT L33tSlider : public QSlider
{
Q_OBJECT
public:
	L33tSlider(TQWidget * parent, const char * name=0);
	L33tSlider(Orientation, TQWidget * parent, const char * name=0);
	L33tSlider(int minValue, int maxValue, int pageStep, int value,
	           Orientation, TQWidget * parent, const char * name=0);

	bool currentlyPressed() const;
signals:
	/**
	 * emmited only when the user changes the value by hand
	 **/
	void userChanged(int value);

public slots:
	virtual void setValue(int);

protected:
	virtual void mousePressEvent(TQMouseEvent*);
	virtual void mouseReleaseEvent(TQMouseEvent*);
	virtual void wheelEvent(TQWheelEvent *);

private:
	bool pressed;
};

/**
 * @short A slider for your toolbar
 * @author Charles Samuels
 * @version 2.3
 **/
class SliderAction : public KAction
{
Q_OBJECT
public:
	SliderAction(const TQString& text, int accel, const TQObject *receiver,
	             const char *member, TQObject* parent, const char* name );
	virtual int plug( TQWidget *w, int index = -1 );
	virtual void unplug( TQWidget *w );
	TQSlider* slider() const { return m_slider; }

signals:
	void plugged();

public slots:
	void toolbarMoved(KToolBar::BarPosition pos);

private:
	TQGuardedPtr<TQSlider> m_slider;
	TQStringList m_items;
	const TQObject *m_receiver;
	const char *m_member;
};

#endif