some work on a better widget layouting and more usable splitters in combination with CollapsibleWidgets

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1915 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Tobias Doerffel
2008-12-14 01:03:28 +00:00
parent 7e7b5924a6
commit ee58a2db6b
8 changed files with 235 additions and 101 deletions

View File

@@ -52,6 +52,7 @@ public:
virtual QSize sizeHint( void ) const;
static const int MinimalHeight = 20;
protected:
virtual void enterEvent( QEvent * _ev );
@@ -92,21 +93,16 @@ public:
void addWidget( QWidget * _w );
void insertWidget( int _idx, QWidget * _w );
inline QString labelText( void ) const
{
return m_header->windowTitle();
}
inline void setLabelText( const QString & _text )
{
m_header->setWindowTitle( _text );
}
inline Qt::Orientation orientation( void ) const
{
return m_orientation;
}
inline bool isCollapsed( void ) const
{
return m_header->isCollapsed();
}
public slots:
void expand( void );
@@ -115,6 +111,8 @@ public slots:
private:
Qt::Orientation m_orientation;
QSize m_origMinSize;
QSize m_origMaxSize;
QBoxLayout * m_masterLayout;
CollapsibleWidgetHeader * m_header;

View File

@@ -25,36 +25,42 @@
#ifndef _FLUIQ_SPLITTER_H
#define _FLUIQ_SPLITTER_H
#include <QtGui/QSplitter>
#include <QtGui/QWidget>
class QBoxLayout;
namespace FLUIQ
{
class Splitter : public QSplitter
class Splitter : public QWidget
{
Q_OBJECT
public:
Splitter( Qt::Orientation _o, QWidget * _parent = NULL );
virtual ~Splitter();
void addWidget( QWidget * _widget );
protected:
QSplitterHandle * createHandle( void );
int indexOf( QWidget * _widget ) const;
QWidget * widget( int _idx );
} ;
int count( void ) const
{
return m_children.count();
}
Qt::Orientation orientation( void ) const
{
return m_orientation;
}
class SplitterHandle : public QSplitterHandle
{
public:
SplitterHandle( Qt::Orientation _o, QSplitter * _parent );
virtual ~SplitterHandle();
protected:
void paintEvent( QPaintEvent * _event );
private:
Qt::Orientation m_orientation;
QList<QWidget *> m_children;
QBoxLayout * m_mainLayout;
} ;

View File

@@ -43,7 +43,6 @@ public:
virtual ~Workspace();
void addWidget( QWidget * _w );
void addWidgetToExistingRow( QWidget * _w );
private: