Commit Graph

4611 Commits

Author SHA1 Message Date
Sergio Martins
8955ec8bcb Remove unused StackViewInterface::currentIndex() 2022-08-13 14:54:59 +01:00
Sergio Martins
1868ad7bd4 Move more code out of Stack and into TabBar
The signals are more about the tabs.
2022-08-13 14:50:19 +01:00
Sergio Martins
1abebef40b Move move code from StackViewInterface.h to TabBarViewInterface.h
Phasing out the former, so frontend writers don't have to implement
two duplicate interfaces
2022-08-13 14:11:33 +01:00
Sergio Martins
de3ef59506 flutter: Regenerate bindings
Rename some DropArea arguments too, so they don't appear as "arg_X"
in Dart
2022-08-12 23:01:40 +01:00
Sergio Martins
b56e6a8279 flutter: Add convenience to access the controller
Dart can't access the DockWidgetViewInterface since Dartagnan
doesn't support multiple inheritance
2022-08-12 22:49:32 +01:00
Sergio Martins
da21d35f4b flutter: Group will display the dock widget as well 2022-08-12 22:31:33 +01:00
Sergio Martins
73cdaa8698 flutter: Show a title bar and a tab bar
Just placeholders for now, no actual tabs
2022-08-12 21:41:38 +01:00
Sergio Martins
a97e3ae831 flutter: Derive state/widget for all our view types
Mostly boilerplate code, no functionality
2022-08-12 17:58:54 +01:00
Sergio Martins
6bc2979989 flutter: Subclass the widget and state for Group
So we can start adding the title bar and tab bar
2022-08-12 17:31:38 +01:00
Sergio Martins
3c48b3aab3 flutter: Reuse more code, move code into View_mixin 2022-08-12 17:12:12 +01:00
Sergio Martins
7371171115 flutter: Fix crash due to rootView() being null
We can now show a pink dock widget
2022-08-12 16:48:18 +01:00
Sergio Martins
da38c09dec Improve debug output 2022-08-12 16:37:30 +01:00
Sergio Martins
b55656deec flutter: Added DockWidget view
Not implemented yet, but maybe we can show it on screen hosting
a guest user widget
2022-08-12 15:54:44 +01:00
Sergio Martins
76b03f4700 flutter: Add bindings for DockWidget_flutter view wrapper 2022-08-11 19:15:58 +01:00
Sergio Martins
cc719325cc flutter: Generate bindings for Controllers::DockWidget too
Worksaround Dartagnan only knowing "= {}" as a way to default initialize
QFlags
2022-08-11 16:14:34 +01:00
Sergio Martins
a52428cf35 flutter: Regenerate bindings
DropIndicatorOverlay bindings now build.
2022-08-11 15:45:07 +01:00
Sergio Martins
47ada6dd56 flutter: Add more bindings
Some commented out due to bugs in dartagnan. To be fixed.
2022-08-11 15:04:34 +01:00
Sergio Martins
2862f2b76f flutter: Fix moving separators vertically
Needs to use the layout's local coordinate space and not global
space. Horizontally was working since the layout occupies the whole
window. Vertically there's flutter's app bar, so the movements were
off by a few pixels
2022-08-10 22:11:11 +01:00
Sergio Martins
48b067023f Minor rename 2022-08-10 21:50:55 +01:00
Sergio Martins
51b47a26af flutter: Don't resize separator without primary button pressed 2022-08-10 21:41:36 +01:00
Sergio Martins
cc8dbd3d0c Fix typo on View::onResized()
Width and height were swapped. Caught by the tests.
2022-08-10 21:19:07 +01:00
Sergio Martins
c523d514ee Only check for mouse button being pressed on separator move for Qt
That's a workaround for a bug. Other platforms might not have the
same bug and might not have a way to query mouse buttons the same
way Qt does.
2022-08-10 20:30:09 +01:00
Sergio Martins
e9e88d81e8 Fix install step
Separator_quick was old and got renamed to Separator_qtquick
long time ago
2022-08-10 20:26:49 +01:00
Sergio Martins
cffea940ea cmake: Also define KDDW_FRONTEND_QT if we have QtWidgets or QtQuick 2022-08-10 19:45:04 +01:00
Sergio Martins
647cb4c7f6 Remove Utils::isLeftMouseButtonPressed()
It's an unneeded indirection
2022-08-10 19:39:44 +01:00
Sergio Martins
0b2cc6e078 Make separator not depent on QGuiApplication 2022-08-10 19:36:11 +01:00
Sergio Martins
d9f1a04e8d flutter: Layout can now be resized 2022-08-10 19:33:11 +01:00
Sergio Martins
048d156998 flutter: Tell flutter a view was destroyed
So flutter can stop rendering and gc its widget
2022-08-10 19:31:06 +01:00
Sergio Martins
65f23f9c30 flutter: Implement View::parentView() 2022-08-10 19:30:43 +01:00
Sergio Martins
667b9bb28c flutter: Add ViewWrapper
so we can implement View::parentView(), which returns a shared ptr
2022-08-10 19:29:41 +01:00
Sergio Martins
fb6175c4b3 Move the old ViewWrapper to qtcommon
Since it's Qt specific
2022-08-10 19:28:56 +01:00
Sergio Martins
192533647d flutter: Deal in StatefulWidget instead of PositionedWidget
So we can wrap PositionedWidget in something else
2022-08-09 19:07:18 +01:00
Sergio Martins
2afe86e63b flutter: Support showing a basic layout
Next step is adding a MouseRegion for the separators
2022-08-09 18:45:11 +01:00
Sergio Martins
b52070dc0e flutter: Support flutter telling kddw the side of the layout
DropArea's size isn't driven by kddw, that gets resized whenever
the user resizes the window. Flutter now tells KDDW the new size
2022-08-09 01:37:37 +01:00
Sergio Martins
3cbd437ee6 flutter: Regenerate bindings 2022-08-09 01:26:58 +01:00
Sergio Martins
532dc04ec6 Make View::onResized(QSize) receive 2 integers instead
Avoids an allocation when called by dart.
2022-08-09 01:25:56 +01:00
Sergio Martins
8050ca6259 flutter: Remove unneeded callbacks 2022-08-08 23:33:19 +01:00
Sergio Martins
f493c44729 flutter: Use keys instead of callbacks to update state 2022-08-08 22:49:56 +01:00
Sergio Martins
11301e2f0f flutter: PositionedWidget now takes reference for the mixin
Which is the common denominator
2022-08-07 21:36:40 +01:00
Sergio Martins
151bc356fc flutter: Stack, TabBar and TitleBar now also implement View_mixin 2022-08-07 16:08:14 +01:00
Sergio Martins
f4f7e4508b flutter: Group views now implement View_mixin 2022-08-07 16:02:43 +01:00
Sergio Martins
9cf99ff45c flutter: Use a mixin for the View's data
Group_flutter.dart doesn't inherit from View_flutter.dart, it inherits
directly from C++, so wasn't getting the data.

Since Dart doesn't support multiple inheritance we'll use a mixin
2022-08-07 15:56:13 +01:00
Sergio Martins
882f25c7f7 flutter: regenerate bindings 2022-08-07 14:51:00 +01:00
Sergio Martins
69c7d3fd57 Remove View::maximumSize() as we already have View::maxSizeHint()
Having both was due to QWidgets having both. For QtQuick and other
frontends we only want the latter.
2022-08-07 14:49:32 +01:00
Sergio Martins
62d8426ec4 flutter: Name the view method arguments in the header
While usually unneeded, it makes the bindings generator use
proper names instead of generic "arg1" type names.
2022-08-05 16:54:10 +01:00
Sergio Martins
d8189e3e03 .clang-format: wrap at column 100 2022-08-05 16:49:00 +01:00
Sergio Martins
9a4daf8926 flutter: Don't say we have 1 tab, there's 0 still
as the implementation isn't done yet, should fix a crash
2022-08-03 23:42:08 +01:00
Sergio Martins
4c1e45eea9 flutter: Make the ViewFactory return the actual view instances 2022-08-03 23:41:50 +01:00
Sergio Martins
98a7a0e017 flutter: Add a way to dump a dart backtrace
gdb can now call Platform::instance()->dumpManagedBacktrace()
2022-08-03 23:39:22 +01:00
Sergio Martins
c461721456 flutter: Generate bindings for Platform.h too 2022-08-03 23:32:09 +01:00