Files
lmms/include/rubberband.h
Tobias Doerffel 437c15c643 more Qt4 changes
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@548 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-08-27 18:25:01 +00:00

95 lines
1.8 KiB
C++

/*
* rubberband.h - rubberband - either own implementation for Qt3 or wrapper for
* Qt4
*
* Copyright (c) 2006 Tobias Doerffel <tobydox/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program (see COPYING); if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*
*/
#ifndef _RUBBERBAND_H
#define _RUBBERBAND_H
#include <QtGui/QRubberBand>
#include <QtCore/QVector>
class selectableObject : public QWidget
{
Q_OBJECT
public:
selectableObject( QWidget * _parent ) :
QWidget( _parent ),
m_selected( FALSE )
{
}
virtual ~selectableObject()
{
}
inline void setSelected( bool _selected )
{
m_selected = _selected;
update();
}
inline bool isSelected( void ) const
{
return( m_selected );
}
public slots:
virtual void update( void )
{
QWidget::update();
}
private:
bool m_selected;
} ;
class rubberBand : public QRubberBand
{
public:
rubberBand( QWidget * _parent );
virtual ~rubberBand();
QVector<selectableObject *> selectedObjects( void ) const;
protected:
virtual void resizeEvent( QResizeEvent * _re );
private:
QVector<selectableObject *> selectableObjects( void ) const;
};
#endif