Commit Graph

21 Commits

Author SHA1 Message Date
Sergio Martins
420a85943a Finally remove View::asQWidget()
Soon we can start the QtQuick port to the new architecture
2022-04-26 00:00:23 +01:00
Sergio Martins
0f61ef63a2 Split DropArea and MDILayout into View/Controller 2022-04-25 18:50:41 +01:00
Sergio Martins
6ebb432932 Port LayoutWidget away from QWidget
DropArea and MDILayout now inherit from it, in addittion to QWidget.
This mean DropArea can now be split into View/Controller alone,
without having to port LayoutWidget and MDILayout in the same commit,
which would be hard to review.
2022-04-24 12:57:20 +01:00
Sergio Martins
1b6fa1bd36 Rename Type::MultiSplitter to Type::DropArea
MultiSplitter was removed
2022-04-23 15:28:17 +01:00
Sergio Martins
dc6d77e266 Fold MultiSplitter into DropArea
The separation was never very useful. There's was always only
one derived class, the DropArea. Merge the two.
2022-04-23 15:22:38 +01:00
Sergio Martins
d6fd54cec4 Por all usages of QWindop/windowHandle to KDDockWidgets::Window
Removes a lot of asQWidget() code and is also prepared for non-Qt
views.
2022-04-09 19:21:56 +01:00
Sergio Martins
9f4cb1a13e Port FocusScope away from QGuiApplication 2022-04-05 23:01:29 +01:00
Sergio Martins
43faf85eb4 Add View::isNull()
ViewWrappers don't have ownership of the gui element.
The gui element might have been deleted, leaving us with a
stale wrapper

For impl simply use a QPointer in the QtWidgets and QtQuick
backends
2022-04-05 21:50:21 +01:00
Sergio Martins
ccd7557c75 Add View::beingDestroyed signal
It's emitted in ~View
2022-04-05 10:11:37 +01:00
Sergio Martins
55ab08129a Deal the wrappers in shared_ptr instead of unique_ptr
Easier to pass around and better for our use case, where we
actual can have shared usage
2022-04-04 22:14:19 +01:00
Sergio Martins
81e5d14e4f Cleanup DropArea and base classes re receiving QWidget
They receive View now
2022-04-03 23:19:53 +01:00
Sergio Martins
79f9f72ef4 DockWidget: decouple more from QtWidgets 2022-04-03 20:06:31 +01:00
Sergio Martins
a70b419c34 Remove one usage of DockWidget_qtwidgets 2022-04-03 00:23:39 +01:00
Sergio Martins
dcdd9333d4 Remove a bunch of asQWidget() calls 2022-04-02 15:34:38 +01:00
Sergio Martins
8ea346ca4a Added View::asFrameController() 2022-03-31 18:39:52 +01:00
Sergio Martins
6687485e4c Introduce View::handle() and View::equals()
So we can compare two windows without calling asQWidget().
2022-03-31 17:34:37 +01:00
Sergio Martins
3fe1a8e79f Add View::asFloatingWindowController() 2022-03-31 16:27:37 +01:00
Sergio Martins
cb2930f0e9 Move Type enum out of View, into KDDockWidgets namespace 2022-03-31 11:45:28 +01:00
Sergio Martins
2574e91634 Add convenience View::is(Type) 2022-03-30 23:09:08 +01:00
Sergio Martins
15601fc3c9 Split MainWindow into view/controller 2022-03-30 11:51:31 +01:00
Sergio Martins
c6d95c42a8 Split most widgets into a Controller and a View
Controllers don't have any GUI and don't depend on the frontend
technology.

Views are implemented in a specific GUI tech (QtWidgets, QtQuick, etc).

For now only QtWidgets work. There's still a lot to decouple.

This will make it easier to introduce non-Qt backends.
2022-03-24 16:05:37 +00:00