Commit Graph

24 Commits

Author SHA1 Message Date
Sergio Martins
cccd3a47f0 View::closeWindow() is no longer virtual.
Implementation is common to all frontends.
Renamed it to closeRootView() to be consistent.
2022-05-02 17:54:00 +01:00
Sergio Martins
96912515a8 View::windowGeometry() is no longer virtual.
Implementation is the same for all frontends.
2022-05-02 17:33:44 +01:00
Sergio Martins
04785a8b49 View::parentSize() is no longer virtual
The implementation is common to all frontends.
2022-05-02 17:30:47 +01:00
Sergio Martins
c55cac97d0 tests: Add unit-test for View::setParent() 2022-04-29 18:46:28 +01:00
Sergio Martins
3d1b450cbb Remove View::minimumSizeHint()
It's a QWidget specific concept, so move it to the qtwidgets
frontendcode. QtQuick won't need it.
2022-04-29 00:27:07 +01:00
Sergio Martins
93ccaff407 test: Fix test failure due to unimplemented wrapper method 2022-04-28 21:27:32 +01:00
Sergio Martins
1b8ac876ce Port away from WidgetType typedef
Introduces View::childViews(), required for the porting
2022-04-26 00:13:07 +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
860a1a1bb0 Move DropArea into Controllers namespace
In preparation for View/Controller split.
2022-04-23 12:14:30 +01:00
Sergio Martins
6d2d5ca0ed Add View::setMouseTracking() 2022-04-21 22:50:46 +01:00
Sergio Martins
e71c54f041 Add View::setCursor() 2022-04-21 22:41:52 +01:00
Sergio Martins
f9c3a301b5 Add View::render() 2022-04-21 22:31:11 +01:00
Sergio Martins
2c162630f4 Add View::setWindowOpacity() 2022-04-21 22:24:18 +01:00
Sergio Martins
554deb22da Add View::releaseKeyboard(), removes some asQWidget() usage 2022-04-21 20:13:10 +01:00
Sergio Martins
2f59fb197b Remove more usages of asQWidget() 2022-04-20 23:07:16 +01:00
Sergio Martins
613a18f60c Delete operator== for ViewWrapper
Fixes a bug in the tests too
2022-04-10 20:47:33 +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
79abef21a5 Introduce View::parentView()
Similar to QWidget::parentWidget(), but not tied to QWidgets.

Allows to start removing some asQWidget() calls, as seen in Frame::floatingWindow(),
did it for POC.

Still need to find a generic way to compare 2 QWidget pointers
2022-03-31 16:47:37 +01:00
Sergio Martins
3fe1a8e79f Add View::asFloatingWindowController() 2022-03-31 16:27:37 +01:00
Sergio Martins
15cb93ed43 Port away from Controller::window() returning a QWidget
It now returns a ViewWrapper, which is agnostic to QtWidgets
2022-03-30 19:30:18 +01:00
Sergio Martins
15601fc3c9 Split MainWindow into view/controller 2022-03-30 11:51:31 +01:00
Sergio Martins
65a6201121 Fix unused private field warning on clang
More methods to be implemented soon, but let's have at least 1
now to get rid of the warning
2022-03-25 11:29:49 +00:00
Sergio Martins
90a9159748 Introduce ViewWrapper - a non-owning view
In many cases we need to access widgets that weren't created by
KDDW, in that case we have no View. Since all our APIs want to
deal in View and not in QWidget, we need a way to wrap stuff like
QWidget::window() and windowHandle()

All methods are unimplemented. Will only implement those that
are required/used.
2022-03-25 10:03:46 +00:00