Final polisihing for KDE4:
[kdemultimedia.git] / kmix / mdwenum.h
blobf30a6994d67e26d5f5e673370bf1e357d661d048
1 //-*-C++-*-
2 /*
3 * KMix -- KDE's full featured mini mixer
6 * Copyright (C) 2004 Chrisitan Esken <esken@kde.org>
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Library General Public License for more details.
18 * You should have received a copy of the GNU Library General Public
19 * License along with this program; if not, write to the Free
20 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
23 #ifndef MDWENUM_H
24 #define MDWENUM_H
26 #include <QWidget>
27 #include "volume.h"
29 // KMix
30 class MixDevice;
31 class Mixer;
32 class ViewBase;
34 // KDE
35 class KAction;
36 class KComboBox;
38 // Qt
39 class QBoxLayout;
40 class QLabel;
42 #include "mixdevicewidget.h"
44 class MDWEnum : public MixDeviceWidget
46 Q_OBJECT
48 public:
49 MDWEnum( MixDevice* md,
50 Qt::Orientation orientation,
51 QWidget* parent = 0, ViewBase* mw = 0);
52 ~MDWEnum();
54 void addActionToPopup( KAction *action );
55 QSizePolicy sizePolicy() const;
56 bool eventFilter( QObject* obj, QEvent* e );
58 public slots:
59 // GUI hide and show
60 void setDisabled();
61 void setDisabled(bool);
63 // Enum handling: next and selecting
64 void nextEnumId();
65 int enumId();
66 void setEnumId(int value);
68 void update();
69 virtual void showContextMenu();
71 private:
72 void createWidgets();
74 QLabel *_label;
75 KComboBox *_enumCombo;
76 QBoxLayout *_layout;
79 #endif