Commit Graph

41 Commits

Author SHA1 Message Date
Sergio Martins
586ed8d70b Replace View_qtquick::windowIsBeingDestroyed with View::aboutToBeDestroyed
Easier if it's generic.
2022-05-27 14:26:34 +01:00
Sergio Martins
fc74698dac Remove some unused qtwidget includes from controllers/ 2022-05-26 10:02:28 +01:00
Sergio Martins
a039f102a3 Remove some unneeded QWidget includes 2022-05-17 22:16:00 +01:00
Sergio Martins
f29d3bf5f8 Move Layout into Controllers namespace 2022-05-15 21:22:26 +01:00
Sergio Martins
378f380968 Rename LayoutWidget to Layout , since it's not a view
Controllers shouldn't be suffixed
2022-05-15 21:04:07 +01:00
Sergio Martins
df96b7ab81 Move MDILayout into Controllers namespace 2022-05-15 16:47:05 +01:00
Sergio Martins
20cd7b04a5 Rename MDILayoutWidget class to MDILayout
Since it's a controller, we strip the suffix
2022-05-15 16:27:51 +01:00
Sergio Martins
fa16020d61 Rename MDILayoutWidget to MDILayout and move it to controllers/
Since it's not a view, remove the "Widget" suffix
2022-05-15 16:24:57 +01:00
Sergio Martins
9d0f137f9d qtquick: FloatingWindow and MainWindow are now ported and compile 2022-05-15 15:29:54 +01:00
Sergio Martins
1a47d52ed9 Make View::handle() non virtual
So we can still do comparisons if ~View_qtwidgets was already called.
Otherwise it would be calling a pure-virtual.
2022-05-15 12:55:55 +01:00
Sergio Martins
16816d47d6 Added Window::screen()
Which allows to make View::screen() non-virtual
2022-05-02 23:24:49 +01:00
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
a8cb498eb5 Amend previous commit, use *Controller as suffix 2022-05-02 00:05:18 +01:00
Sergio Martins
d0c1b94585 Remove *View and *Widget suffixes from layouts
They are controllers, not views.
2022-05-02 00:01:44 +01:00
Sergio Martins
e17f6c0066 Add some missing const 2022-05-01 23:58:14 +01:00
Sergio Martins
a550567a4c Rename asMultisplitterView to asDropArea
It's no longer a view.
2022-05-01 23:56:41 +01:00
Sergio Martins
3fabf34bee Renamed View::windowHandle() to View::window()
windowHandle() is missnamed in Qt because QWidget::window() was already
taken in Qt4. But we can make it better here.
2022-05-01 23:09:18 +01:00
Sergio Martins
3416a74723 Don't make View::move(QPoint) pure-virtual
We already have a virtual overload, just call it.
2022-05-01 20:12:32 +01:00
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