1 #include "minisplitter.h"
3 class MiniSplitterHandle : public QSplitterHandle {
6 MiniSplitterHandle(Qt::Orientation orientation, QSplitter *parent);
9 void resizeEvent(QResizeEvent *event);
10 void paintEvent(QPaintEvent *event);
13 MiniSplitterHandle::MiniSplitterHandle(Qt::Orientation orientation, QSplitter *parent)
14 : QSplitterHandle(orientation, parent) {
15 setMask(QRegion(contentsRect()));
16 setAttribute(Qt::WA_MouseNoMask, true);
19 void MiniSplitterHandle::resizeEvent(QResizeEvent *event) {
20 if (orientation() == Qt::Horizontal)
21 setContentsMargins(2, 0, 2, 0);
23 setContentsMargins(0, 2, 0, 2);
24 setMask(QRegion(contentsRect()));
25 QSplitterHandle::resizeEvent(event);
28 void MiniSplitterHandle::paintEvent(QPaintEvent *event) {
29 QPainter painter(this);
30 painter.fillRect(event->rect(), Qt::black);
33 QSplitterHandle *MiniSplitter::createHandle() {
34 return new MiniSplitterHandle(orientation(), this);
37 MiniSplitter::MiniSplitter(Qt::Orientation orientation, QWidget *parent) : QSplitter(orientation, parent) {
39 setChildrenCollapsible(false);