Olivier Goffart
b6137ecbc4
Error when trying to use internal builtin items
2021-08-09 17:43:22 +02:00
Tobias Hunger
c3ce321429
Janitor: Fix clippy::ptr_arg
2021-08-09 13:19:34 +02:00
Tobias Hunger
bac4d895ce
Janitor: Fix clippy::while_let_on_iterator
2021-08-09 13:19:34 +02:00
Tobias Hunger
ce30f9b989
Janitor: Fix clippy::extra_unused_lifetimes
2021-08-09 13:19:34 +02:00
Tobias Hunger
58fa485b56
Janitor: Fix clippy::into_iter_on_ref
2021-08-09 13:19:34 +02:00
Tobias Hunger
52869170c1
Janitor: Fix clippy::identity_op
2021-08-09 13:19:34 +02:00
Olivier Goffart
a0a8cc3bc9
Mark the TabWidget as internal and re-export it from the style
2021-08-09 12:41:03 +02:00
Olivier Goffart
8728052578
Fix panic when typing into the line edit in the gallery
...
The problem was that the item array's parent was not properly
computed. Leading to corrupted item when getting the parent of the
focus item.
2021-08-09 12:00:17 +02:00
Olivier Goffart
d2e2eecf0d
Allow parent element to contain contraints and still be able to set the height or width
2021-08-07 14:05:05 +02:00
Olivier Goffart
339ca0dc55
Tiny adjustment to the fluent style
2021-08-07 13:28:30 +02:00
Olivier Goffart
d03c9e3e5d
Flient style: small fixup so that cargo-ui can compile with it
2021-08-07 10:17:22 +02:00
Olivier Goffart
84fb18d6cf
Add a fluent style
2021-08-06 23:23:26 +02:00
Olivier Goffart
fa770ec262
Fix panic when one of the two branch of a condition is Type::Void
...
Throw a proper compilation error.
Note that there may be a bit too many error now when the two
branch of a condition are not the same, but it's better than a panic
2021-08-06 19:44:05 +02:00
Olivier Goffart
a89d83e58f
Apply suggestions from code review
...
Co-authored-by: Simon Hausmann <simon.hausmann@sixtyfps.io>
2021-08-06 15:58:13 +02:00
Olivier Goffart
63db0959f9
Fix the TabWidget's ugly style size constraints
2021-08-06 15:58:13 +02:00
Olivier Goffart
b5f34fd1d7
Make it an error to use dynamic tabs in the TabWidget
2021-08-06 15:58:13 +02:00
Olivier Goffart
d41839abe3
Compiler pass for the TabWidget
...
it will lower the TabWidget into a TabWidgetImpl and the tabs into TabImpl
2021-08-06 15:58:13 +02:00
Olivier Goffart
29e0ae913c
TabBar: implement something in the ugly style
...
and change the TabImpl API
2021-08-06 15:58:13 +02:00
Olivier Goffart
18572fbaa3
WIP: More TabWidget work in progress
2021-08-06 15:58:13 +02:00
Olivier Goffart
9d40779d69
WIP work for TabWidget
2021-08-06 15:58:13 +02:00
Tobias Hunger
61af35afe1
Janitor: Fix clippy::needless_update
...
This leaves some of these issues in, which may be triggered depending on
selected features. `#[allow(needless_update)]` is used to silence those.
2021-08-05 23:41:56 +02:00
Tobias Hunger
ff76aa8953
Janitor: Fix clippy::blocks_in_if_conditions
2021-08-05 23:41:56 +02:00
Tobias Hunger
9c12421c18
Janitor: Fix clippy::option_map_unit_fn
2021-08-05 23:41:56 +02:00
Tobias Hunger
24a2021226
Janitor: Fix clippy::needless_borrow
2021-08-04 22:50:35 +02:00
Tobias Hunger
ce4727b2e8
Janitor: Fix clippy::single_char_pattern
2021-08-04 22:50:35 +02:00
Tobias Hunger
89a93db6c7
Janitor: Fix clippy::many_single_char_names
2021-08-04 22:50:35 +02:00
Simon Hausmann
38cf156bf9
Fix regression of two-way binding on default geom'ed properties causing binding loop
...
Commit 064c39d625
introduced the regression that
if a two-way binding was set on a property that we'd also set a default geometry
on, we'd end up applying that on the two-way binding, causing a binding loop.
set_binding_if_not_set needs to only set the binding if... there's really none yet.
Fixes #385
2021-08-03 23:24:49 +02:00
Olivier Goffart
1dab4c35d9
For embedded data, store the extension in the binary
...
This is usefull for the detection of SVG
2021-08-03 16:15:31 +02:00
Simon Hausmann
b55931e601
Make the new window() accessor in generated C++ code const
2021-08-03 10:32:04 +02:00
Simon Hausmann
e97ecea480
Fix constness in generated C++ API
...
run(), show() and hide() should not be const, as well as the window() accessor.
2021-08-03 10:32:04 +02:00
Simon Hausmann
341387c8d0
Provide sixtyfps::Window
by reference in the generated C++ API
2021-08-03 10:32:04 +02:00
Simon Hausmann
29f5853332
Provide sixtyfps::Window
by reference in the Rust API
...
This also removes Clone from the Window again, to avoid having to face
the question: Does cloning a window duplicate it on the screen?
2021-08-03 10:32:04 +02:00
Simon Hausmann
23da97bc75
minor cleanup
...
Rename window_ to window_rc for the private window member in the generated C++ struct.
2021-08-03 10:32:04 +02:00
Simon Hausmann
66891a299c
Start a new sixtyfps::Window API for Rust, C++, the interpreters and JS
...
The generated component now provides access to a Window type
via the window() accessor function.
This is part of #333
2021-08-03 10:32:04 +02:00
Simon Hausmann
ee80d2e1bb
Fix Image::load_from_path
calls in generated Rust code
...
* Call unwrap() on the Result() returned by `load_from_path` to avoid `error[E0605]: non-primitive cast: `Result<Image, LoadImageError>` as `Image``
Tested manually with resource embedding disabled and compiling the memory game.
2021-08-02 18:39:23 +02:00
Olivier Goffart
2a74603bfa
Another fixup
2021-08-02 18:31:46 +02:00
Olivier Goffart
1146cd1ae2
Another fixup
2021-08-02 18:29:03 +02:00
Olivier Goffart
9a07102345
Fixup previous commit
2021-08-02 18:27:16 +02:00
Simon Hausmann
53757331c7
Fix compilation of generated Rust code when not embedding images
...
We must construct a Path for `load_from_path`, not a SharedString.
2021-08-02 16:52:39 +02:00
Simon Hausmann
a6f3d91778
cleanup: Fix wording in the comment in the Rust code generator regarding the special return handling
...
Co-authored-by: Olivier Goffart <ogoffart@sixtyfps.io>
2021-08-02 16:32:33 +02:00
Simon Hausmann
fbf3c5fbd0
Minor reduction in generated Rust code (llvm lines)
...
When setting a constant, we only need to use a closure for the
expression if it contains a return statement.
This saves about ~14000 llvm lines for a debug build of the printer
demo.
2021-08-02 16:32:33 +02:00
Simon Hausmann
064c39d625
Fix disappearing elements with implicit width/height
...
When an element gets its width and height from the parent through an implicit 100% binding,
those bindings were missing when an animation was pre-defined.
The provided new-type wrapper offers a function to deal with replacing just
binding expression, instead of the
expression *and* the animation.
Fixes #376
2021-08-02 16:31:10 +02:00
Simon Hausmann
f91864f827
Minor cleanup: remove stray dbg!
2021-08-02 15:51:29 +02:00
Simon Hausmann
52aee8d366
Another minor reduction in generated code
...
Further build on b3529d1b75
and move the
strong/weak reference dance into the API crate out of the generated
code.
Saves ~21k llvm lines on the printer demo (debug).
It's also possible to move the as_pin_ref() bit, but that didn't
really give any savings overall.
2021-08-01 09:34:36 +02:00
Olivier Goffart
90cdb5ab5d
Add a changed
callback to Slider
...
Closes #125
2021-07-31 15:14:03 +02:00
Tobias Hunger
85f7c93c87
Janitor: Use approx_eq when checking for integer
...
Use approx_eq when comparing the value.trunc() to value. We want to
allow these values to be calculated, so they might end up slightly off.
2021-07-30 09:27:48 +02:00
Tobias Hunger
f3171a87e1
Janitor: Fix clippy::map_entry
2021-07-30 09:27:48 +02:00
Tobias Hunger
ec7b7f751b
Janitor: Fix clippy::or_fun_call
2021-07-30 09:27:48 +02:00
Tobias Hunger
e5bb7762b9
Janitor: Fix clippy::useless_conversion
2021-07-30 09:27:48 +02:00
Tobias Hunger
f7f5a33c67
Janitor: Fix clippy::useless_format
2021-07-30 09:27:48 +02:00