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, Qt::WindowFlags f )
17 this->m_Parent.setOrientation(Qt::Vertical);
18 this->m_Parent.addWidget(&this->m_Upper);
19 this->m_Parent.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::
41 this->m_Parent.show( );
44 // -------------------------------------------------------------------------
45 void cpExtensions::QT::QuadSplitter::
46 addWidgets( QWidget* a, QWidget* b, QWidget* c, QWidget* d )
48 this->m_Upper.addWidget( a );
49 this->m_Upper.addWidget( b );
50 this->m_Bottom.addWidget( c );
51 this->m_Bottom.addWidget( d );
54 // -------------------------------------------------------------------------
55 void cpExtensions::QT::QuadSplitter::
56 _SyncBottom( int a, int b )
58 this->m_Bottom.setSizes( m_Upper.sizes( ) );
61 // -------------------------------------------------------------------------
62 void cpExtensions::QT::QuadSplitter::
63 _SyncUpper( int a, int b )
65 this->m_Upper.setSizes( m_Bottom.sizes( ) );
68 #endif // cpExtensions_Interface_QT4