Sergio Martins
d2bd2b5601
Update .gitignore
2019-08-07 21:26:21 +01:00
Sergio Martins
6060741851
More QtWidget abstraction
2019-08-07 14:24:11 +01:00
Sergio Martins
bb304a82e5
Fix windows build
2019-08-07 14:11:46 +01:00
Sergio Martins
ebb37e9871
Fix build
2019-08-07 14:03:48 +01:00
Sergio Martins
93303035c4
Drag the QWindow instead of the top-level QWidget
...
So it works for QtQuick too
2019-08-07 14:01:29 +01:00
Sergio Martins
022e91db78
More QtWidget decoupling
2019-08-07 13:35:45 +01:00
Sergio Martins
f37d9c0a94
Disable QtQuick support in cmake, not ready yet
2019-08-07 11:30:57 +01:00
Sergio Martins
a27b4b387a
Split QWidgetAdapter into _widget and _quick variants
...
So we don't need so many ifdefs
2019-08-07 11:29:39 +01:00
Sergio Martins
823d1b658b
FloatingWindow now inherits from QWidgetAdapter too
2019-08-07 00:20:28 +01:00
Sergio Martins
c7754f8206
Remove some QWidget specific code from DropArea
2019-08-06 23:50:50 +01:00
Sergio Martins
266e683f98
Abstract Separator too, it inherits from QWidgetAdapter
2019-08-06 23:17:08 +01:00
Sergio Martins
4bfd76dc61
Introduce QWidgetAdapter and apply it to MultiSplitter
...
MultiSplitter is now QWidget agnostic, and should work with
QtQuick
2019-08-06 23:07:47 +01:00
Sergio Martins
cb7ecb76e4
Rename the MultiSplitterWidget files too
2019-08-06 22:19:00 +01:00
Sergio Martins
01c4bddcc3
Rename MultiSplitterWidget to MultiSplitter
...
Since now we're suffixing with Widget the QtWidget specific classes,
not this one that will be shared with QtQuick
2019-08-06 22:12:15 +01:00
Sergio Martins
5613030fd3
Revert "Remove DOCKS_EXPORT_FOR_UNIT_TESTS to simplify things
...
Maybe let's keep it, since it's on very core classes that
users shouldn't change
This reverts commit db4167dd1f .
2019-08-06 22:08:00 +01:00
Sergio Martins
db4167dd1f
Remove DOCKS_EXPORT_FOR_UNIT_TESTS to simplify things
...
And also to give more power to the user
2019-08-06 22:05:30 +01:00
Sergio Martins
49bd0b42be
Add unit-test for dragging by tab widget directly
2019-08-06 21:12:34 +01:00
Sergio Martins
c78180f135
Minor refactoring
2019-08-06 20:51:28 +01:00
Sergio Martins
fc90d1e506
Move more code into tests/utils.cpp
2019-08-06 20:45:16 +01:00
Sergio Martins
1c7d0c0059
tests: refactor drag() to support dragging the TabWidget directly
2019-08-06 20:22:20 +01:00
Sergio Martins
6fe115e3fc
Tests for Flag_HideTitleBarWhenTabsVisible
2019-08-06 20:02:15 +01:00
Sergio Martins
efd72df940
Remove FlagDraggableTitleBar, we have Flag_HideTitleBarWhenTabsVisible
...
There's not much sense to have the former
2019-08-06 16:22:24 +01:00
Sergio Martins
8f2f7e634a
Add option to hide title bar when we have tabs
2019-08-06 16:20:27 +01:00
Sergio Martins
c3605fd6d2
Export more classes, since we're letting the user customizing them
2019-08-06 14:18:50 +01:00
Sergio Martins
8aa81d8f99
Add example of customizing SeparatorWidget
2019-08-06 14:10:13 +01:00
Sergio Martins
3ef2cef7b7
Allow to configure separator thickness
2019-08-06 13:56:57 +01:00
Sergio Martins
e206b9f0f8
Fix layout margins, got lost with a refactoring
2019-08-06 13:46:12 +01:00
Sergio Martins
eafc00657b
Separator: Decouple the QWidget dependency
...
There's no Separator and SeparatorWidget. The former only with
state/logic. To be reused by QtQuick.
2019-08-06 13:32:06 +01:00
Sergio Martins
8742da76ae
DockWidgetBase: Move layouting code into DockWidget.cpp
...
We don't want QWidget related code in the base class, to be
shared with QML
2019-08-06 12:58:07 +01:00
Sergio Martins
464ef4fd93
Move widget specific stuff from DockWidgetBase to DockWidget
2019-08-06 00:36:00 +01:00
Sergio Martins
8f05c3fa72
cmake: include_directories--
2019-08-05 23:55:19 +01:00
Sergio Martins
fb837b7713
Move DockWidget.cpp into widgets/
...
As it's specific to QtWidgets. It's mostly empty now
and inheriting from DockWidgetBase, but we'll move a few stuff.
2019-08-05 23:35:44 +01:00
Sergio Martins
39ba3cdf2d
FloatingWindow: Move the close logic into the logic class
2019-08-05 22:07:03 +01:00
Sergio Martins
570de60981
FloatingWindow: Move layouting code to FloatingWindowWindow
...
Our "data" class shouldn't worry about appearence
2019-08-05 22:01:49 +01:00
Sergio Martins
7a06126194
examples: Add a custom title bar example
2019-08-05 15:54:09 +01:00
Sergio Martins
1f78385ccb
TitleBar: Don't make it pure virtual
...
Those pure virtuals are only for tests
2019-08-05 15:24:06 +01:00
Sergio Martins
2ce50c01ef
Remove wrong assert, the variable is set to the default
2019-08-05 15:23:39 +01:00
Sergio Martins
663e06e5b5
Export FrameworkWidgetFactory
2019-08-05 15:23:25 +01:00
Sergio Martins
ea37783d04
Try to fix windows build
2019-08-05 13:02:18 +01:00
Sergio Martins
33aa76164a
Fix linux build
2019-08-05 12:57:21 +01:00
Sergio Martins
da31a72194
Fix Windows build
2019-08-05 12:48:21 +01:00
Sergio Martins
ae7934dd47
Abstract FloatingWindow too, introducing FloatingWindowWidget
2019-08-05 02:41:34 +01:00
Sergio Martins
d8c689316d
Moved SeparatorWidget into widgets/
...
It's now abstracted by the FrameworkWidgetFactory, allowing
the user to provide his own
2019-08-05 02:13:42 +01:00
Sergio Martins
a17465158d
Introduce FrameworkWidgetFactory
...
The framework uses a few QWidgets (FrameWidget, TabbarWidget, TabWidget
TitleBarWidget). This factory allows the user to provide his own,
to achieve different appearence.
2019-08-05 01:35:42 +01:00
Sergio Martins
0f579d8f5e
TabWidget: Separate GUI from state
2019-08-05 00:24:02 +01:00
Sergio Martins
bddd059ce9
TabBar: Split logic from GUI
...
Will make it easier for the users to subclass TabBar and provide an alternative.
Also easier to make the QtQuick port.
2019-08-04 23:51:43 +01:00
Sergio Martins
b347e0e53f
Abstract Frame.cpp into FrameWidget
...
Anything GUI specific should go to FrameWidget, so the user
can change GUI aspects without impacting the sensitive logic.
2019-08-04 23:10:12 +01:00
Sergio Martins
ee023cb5ac
Move TitleBarWidget into widgets/
2019-08-04 21:56:08 +01:00
Sergio Martins
3035d387a5
TitleBar: Introduce TitleBarWidget to separate logic/state from GUI
...
TitleBar has the state, while TitleBarWidget has the appearence.
This makes it easier for the user to specify his own TitleBar's,
by inheriting from TitleBar.
Will also make the QtQuick support easier.
2019-08-04 21:50:28 +01:00
Sergio Martins
603de72c24
Remove unused TitleBar ctor
2019-08-04 20:07:18 +01:00