Olivier Goffart
daff9e8e65
Move Callback and internal Models to the private_api namespace
2021-06-28 11:23:44 +02:00
Olivier Goffart
98cec35080
Increase version numbers
2021-06-28 10:39:43 +02:00
Tobias Hunger
13d7f5e7bd
Janitor: Fix typos in comments and user-facing strings
...
Also adapt tests for error messages containing the fixed strings.
No behavior change is intended!
2021-06-28 08:32:25 +02:00
Tobias Hunger
a38868b4aa
Janitor: Fix typo in local function name
...
No behavior change is intended!
2021-06-28 08:32:00 +02:00
Tobias Hunger
24872e2604
Janitor: Fix typo in in local function name
...
No behavior change is intended.
2021-06-28 08:32:00 +02:00
Tobias Hunger
96a4885eaf
Janitor: Fix type on function name
...
No behavior change is intended!
2021-06-28 08:32:00 +02:00
Tobias Hunger
4b077d48ae
Janiotor: String fix that might have side effect
...
This changes the name of a NamedReference and I am not sure this change
has no side effects, so put this into an extra patch.
As usual: No behavior change is intended!
2021-06-28 08:32:00 +02:00
Tobias Hunger
a39ce28c7a
Janitor: Fiy typo in function name
...
No behavior change is intended here!
2021-06-28 08:32:00 +02:00
Tobias Hunger
ef7a9c9428
Janitor: Fix typo in test name
...
No behavior change is intended here!
2021-06-28 08:32:00 +02:00
Tobias Hunger
87460c4ac8
Janitor: Fix typo in struct field name
...
No behavior change is intended here!
2021-06-28 08:32:00 +02:00
Tobias Hunger
1e30bea812
Janitor: Fix typo in thread-local variable name
...
No behavior change is intended here!
2021-06-28 08:32:00 +02:00
Olivier Goffart
9b4bcab926
Better error message when overriding a layout property
...
As suggested by Simon
2021-06-23 17:15:49 +02:00
Olivier Goffart
e721a4cf1e
Report error when the 'x' or 'y' property is set for elements in layout
2021-06-23 16:53:45 +02:00
Olivier Goffart
40a6e1ecb8
Fix warning
2021-06-23 13:10:24 +02:00
Olivier Goffart
9d2bd11098
Error when having an animation in a transition on a property which is not part of the state
...
Fixes #255
2021-06-23 13:05:25 +02:00
Olivier Goffart
7cc4272d89
Fix debug build
...
check_invariant will borrow the named_references so we cannot keep it borrowed
2021-06-23 11:05:43 +02:00
Olivier Goffart
5889ad5741
Optimize NamedReference::new
2021-06-23 10:24:32 +02:00
Olivier Goffart
725543108f
Fix tests regarding to constant propagation
2021-06-22 14:59:07 +02:00
Olivier Goffart
cb75d44acc
Fix setting model properties to aliased properties
2021-06-22 13:31:27 +02:00
Olivier Goffart
7a1ba1a1d5
Forgot to add the test for previous commit
2021-06-22 13:28:15 +02:00
Olivier Goffart
4d79bb61f8
Test invalid Path command
...
Closes #262
Closes #266
2021-06-22 11:31:09 +02:00
Olivier Goffart
dcbbd0cd7d
Update dependencies
2021-06-22 11:15:20 +02:00
Simon Hausmann
66299437f0
Fix C++ build
...
The path types are now all in the private_api namespace
2021-06-21 15:50:58 +02:00
Simon Hausmann
fe59fb3ec3
C++: Hide sixtyfps::PathData from the public API
2021-06-21 15:50:58 +02:00
Simon Hausmann
51bc21c9a5
C++: Hide AbstractRepeaterView, Repeater and ModelPeer
...
These are not public API.
2021-06-21 15:50:58 +02:00
Simon Hausmann
7f8f1b3105
Hide Property<T> and PropertyTracker<T> from the public C++ API
...
Move those two classes into the private_api namespace, which is excluded
from the API reference documentation.
For generate code the explicit qualification of Property<T> is changed,
for the cbindgen generated item types the private_api namespace is
pulled into the cbindgen_private namespace.
2021-06-21 15:50:58 +02:00
Olivier Goffart
8f4a1c9221
Apply suggestions from code review
...
Co-authored-by: Simon Hausmann <simon.hausmann@sixtyfps.io>
2021-06-21 14:29:53 +02:00
Olivier Goffart
962dc0075c
Layout: Make the default padding and spacing 0
...
and add Box widgets that have proper defaults
Closes #200
2021-06-21 14:29:53 +02:00
Olivier Goffart
fb7050e3e6
Properly detect layout loop involving images
2021-06-21 12:33:15 +02:00
Olivier Goffart
1ba333c284
make_default_aspect_ratio_preserving_binding: use the image size rather than the preferred size
...
because the preferred size might itself depends on the size when image support
height for width
2021-06-21 11:45:30 +02:00
Olivier Goffart
99c140ae08
Allow accessing the width and height of the image in .60
...
Closes #208
2021-06-21 11:22:50 +02:00
Olivier Goffart
a97bcd5ae1
Use BTreeMap unstead of HashMap to store the bindings
...
Because the order is important to keep deterministic error and output
2021-06-18 21:47:00 +02:00
Olivier Goffart
19cef07d96
Properly detect loop in layout
...
cc #257
2021-06-18 20:30:14 +02:00
Olivier Goffart
42c25248a8
Allow to give a name to for
and if
2021-06-18 16:40:40 +02:00
Olivier Goffart
52e85933ed
Fix unit tests
...
Code was moved, so the test need to be adapted to that
2021-06-18 15:46:45 +02:00
Olivier Goffart
0b6bd7b219
Fix accessing elided property
...
Fixes #177
2021-06-18 15:08:30 +02:00
Olivier Goffart
a0bea36e43
Fix preferred size of the Window with a layout
...
A few problem:
- the horizontal and vertical property were swapped
- The implementation of the "preferred_xxx" property was not materialized properly
because the `bindings` were borrowed in the materialize_fake_properties pass
- Since the Window has a stretch factor of 0., the preferred size of the inner layout
was not taken into account when merging the LayoutInfo. I believe taking the
maximum preferred size is the right solution when merging them.
2021-06-18 13:51:25 +02:00
Olivier Goffart
d758102f26
Make the orientation a static parameter to BuiltinFunction::ImplicitLayoutInfo
2021-06-16 15:14:07 +02:00
Olivier Goffart
cfc04bb4ab
C++: adapt to the layout horizontal/vertical split
2021-06-16 15:14:07 +02:00
Olivier Goffart
7aba0f2a0b
Layout split of horizontal/vertical
...
Rust part
2021-06-16 15:14:07 +02:00
Olivier Goffart
deaa0fddb0
WIP layout: split vertical and horizontal cache
...
Split the vertical and horizontal pass into different property cache
This will allow to implement "height for with"
This patch does not port the Rust or C++ binding yet
2021-06-16 15:14:07 +02:00
Olivier Goffart
2438f27200
Keep the old long names property as deprecated
2021-06-14 10:28:30 +02:00
Olivier Goffart
ee00c9eb92
Rename maximum- and minimum- properties to max- and min-
...
Issue #259
2021-06-14 10:28:30 +02:00
Olivier Goffart
2483425d57
Add abs()
2021-06-11 14:17:47 +02:00
Olivier Goffart
fb214a8246
Make sure that the with and height of the inserted Window are not maked as constant
...
We need to do the ensure_window pass before the binding_analysis
otherwise the with and height property of the root element
will be considered as constant and will not adapt to the window size.
Unfortunately we can't really test that now because our test system
doesn't really test the Window, but here is a testcase:
```
MainWindow := Rectangle {
preferred-width: 400px;
preferred-height: 400px;
background: yellow;
VerticalLayout {
Rectangle {
background: red;
Text { text: root.width / 1px; }
}
}
}
```
(we should see the red rectangle)
2021-06-11 13:22:24 +02:00
Olivier Goffart
6c1aa9bd8f
Add a pass to always have the top level as a Window
2021-06-09 11:02:55 +02:00
Olivier Goffart
a75d777f70
Fix PopupWindow positioning
...
We need to account for all parent element.
Previously we skipped layouts because they did not have a x/y property,
but now they are lowered as Rectangle so they should have one
2021-06-09 08:08:42 +02:00
Olivier Goffart
522e78915f
Fix the tests
2021-06-07 20:40:36 +02:00
Olivier Goffart
ce34ff87d0
Finish support for callback aliases
...
cc #111
2021-06-07 20:40:36 +02:00
Olivier Goffart
3ddc3c6ce5
Don't re-use Type::Void for inferred type
...
Make it explicit that it is inferred, and differentiate callback and property
2021-06-07 20:40:36 +02:00