1 #include <cpExtensions/QT/QuadSplitter.h>
3 #include <cpExtensions/Config.h>
5 #ifdef cpExtensions_Interface_QT4
9 * https://forum.qt.io/topic/7144/quad-splitter-windows-an-implementation/2
12 // -------------------------------------------------------------------------
13 cpExtensions::QT::QuadSplitter::
14 QuadSplitter( QWidget* parent )
17 this->setOrientation( Qt::Vertical );
18 this->addWidget( &this->m_Upper );
19 this->addWidget( &this->m_Bottom );
22 &( this->m_Upper ), SIGNAL( splitterMoved( int, int ) ),
23 this, SLOT( _SyncBottom( int, int ) )
26 &( this->m_Bottom ), SIGNAL( splitterMoved( int, int ) ),
27 this, SLOT( _SyncUpper( int, int ) )
31 // -------------------------------------------------------------------------
32 cpExtensions::QT::QuadSplitter::
37 // -------------------------------------------------------------------------
38 void cpExtensions::QT::QuadSplitter::
39 addWidgets( QWidget* a, QWidget* b, QWidget* c, QWidget* d )
41 this->m_Upper.addWidget( a );
42 this->m_Upper.addWidget( b );
43 this->m_Bottom.addWidget( c );
44 this->m_Bottom.addWidget( d );
47 // -------------------------------------------------------------------------
48 void cpExtensions::QT::QuadSplitter::
49 _SyncBottom( int a, int b )
51 this->m_Bottom.setSizes( this->m_Upper.sizes( ) );
54 // -------------------------------------------------------------------------
55 void cpExtensions::QT::QuadSplitter::
56 _SyncUpper( int a, int b )
58 this->m_Upper.setSizes( this->m_Bottom.sizes( ) );
61 #endif // cpExtensions_Interface_QT4