Updated SWH plugins and added missing hermes_filter plugin
[lmms/mlankhorst.git] / include / rubberband.h
blob2e4d303d80d7804ea5d87787af40bed368a17971
1 /*
2 * rubberband.h - rubberband - either own implementation for Qt3 or wrapper for
3 * Qt4
5 * Copyright (c) 2006 Tobias Doerffel <tobydox/at/users.sourceforge.net>
6 *
7 * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public
11 * License as published by the Free Software Foundation; either
12 * version 2 of the License, or (at your option) any later version.
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * General Public License for more details.
19 * You should have received a copy of the GNU General Public
20 * License along with this program (see COPYING); if not, write to the
21 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22 * Boston, MA 02110-1301 USA.
27 #ifndef _RUBBERBAND_H
28 #define _RUBBERBAND_H
30 #include <QtGui/QRubberBand>
31 #include <QtCore/QVector>
34 class selectableObject : public QWidget
36 Q_OBJECT
37 public:
38 selectableObject( QWidget * _parent ) :
39 QWidget( _parent ),
40 m_selected( false )
44 virtual ~selectableObject()
48 inline void setSelected( bool _selected )
50 m_selected = _selected;
51 update();
54 inline bool isSelected() const
56 return( m_selected );
60 public slots:
61 virtual void update()
63 QWidget::update();
67 private:
68 bool m_selected;
70 } ;
75 class rubberBand : public QRubberBand
77 public:
78 rubberBand( QWidget * _parent );
79 virtual ~rubberBand();
81 QVector<selectableObject *> selectedObjects() const;
84 protected:
85 virtual void resizeEvent( QResizeEvent * _re );
87 private:
88 QVector<selectableObject *> selectableObjects() const;
93 #endif