KDDockWidgets API Documentation 2.0
Loading...
Searching...
No Matches
qtwidgets/views/Separator.cpp
Go to the documentation of this file.
1#include "Separator.h"
2/*
3 This file is part of KDDockWidgets.
4
5 SPDX-FileCopyrightText: 2019 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
6 Author: SĂ©rgio Martins <sergio.martins@kdab.com>
7
8 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only
9
10 Contact KDAB at <info@kdab.com> for commercial licensing options.
11*/
12
13#include "View.h"
14
15#include "Config.h"
16#include "core/Logging_p.h"
17#include "core/View_p.h"
18#include "kddockwidgets/core/Separator.h"
19
20#include <QMouseEvent>
21#include <QPainter>
22#include <QStyleOption>
23
24using namespace KDDockWidgets;
25using namespace KDDockWidgets::QtWidgets;
26
27Separator::Separator(Core::Separator *controller, Core::View *parent)
28 : View(controller, Core::ViewType::Separator, View_qt::asQWidget(parent))
29 , m_controller(controller)
30{
31 setMouseTracking(true);
32}
33
35{
36 if (d->freed())
37 return;
38
39 if (KDDockWidgets::Config::self().disabledPaintEvents()
42 return;
43 }
44
45 QPainter p(this);
46
47 QStyleOption opt;
48 opt.palette = palette();
49 opt.rect = QWidget::rect();
50 opt.state = QStyle::State_None;
51 if (!m_controller->isVertical())
52 opt.state |= QStyle::State_Horizontal;
53
54 if (isEnabled())
55 opt.state |= QStyle::State_Enabled;
56
58}
59
60void Separator::enterEvent(KDDockWidgets::Qt5Qt6Compat::QEnterEvent *)
61{
62 if (d->freed())
63 return;
64
65 if (m_controller->isVertical())
67 else
69}
70
75
77{
78 if (d->freed())
79 return;
80
81 m_controller->onMousePress();
82}
83
85{
86 if (d->freed())
87 return;
88
89 m_controller->onMouseMove(mapToParent(ev->pos()));
90}
91
93{
94 if (d->freed())
95 return;
96
97 m_controller->onMouseReleased();
98}
99
101{
102 if (d->freed())
103 return;
104
105 m_controller->onMouseDoubleClick();
106}
Application-wide config to tune certain behaviours of the framework.
@ CustomizableWidget_Separator
The draggable separator between dock widgets in a layout.
Definition Config.h:148
static Config & self()
returns the singleton Config instance
Definition Config.cpp:88
void mouseDoubleClickEvent(QMouseEvent *) override
void enterEvent(KDDockWidgets::Qt5Qt6Compat::QEnterEvent *) override
void setCursor(Qt::CursorShape shape) override
Class to abstract QAction, so code still works with QtQuick and Flutter.
QPoint pos() const const
virtual void drawControl(QStyle::ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const const=0
SizeVerCursor
bool isEnabled() const const
QPoint mapToParent(const QPoint &pos) const const
virtual void paintEvent(QPaintEvent *event)
QWidget * parentWidget() const const
QStyle * style() const const

© Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
KDDockWidgets
Advanced Dock Widget Framework for Qt
https://www.kdab.com/development-resources/qt-tools/kddockwidgets/
Generated by doxygen 1.9.8