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