Simon Hausmann
3e5aa212d5
Remove workaround for slint DLL placement for examples
...
We can now use the standard CMake variables to make sure that a copy of
the DLL lands next to the executables for Windows.
2022-12-13 11:39:34 +01:00
Simon Hausmann
53b05c426c
Upgrade corrision to a git snapshot
...
This includes support for placing build artefacts into output directories
using standard cmake variables.
2022-12-13 11:39:34 +01:00
Simon Hausmann
8145d10b5b
janitor: adaptor -> adapter
2022-12-13 08:35:20 +01:00
Simon Hausmann
6a87a07e12
Add support for showing the renderer on macOS with AppKit
2022-12-12 17:02:11 +01:00
Olivier Goffart
fe0e881418
C++ wrapper for the Skia backend
2022-12-12 17:02:11 +01:00
Olivier Goffart
10d1595f3a
Janitor: cleanup C++ AbstractWindowAdapter
...
- virtual destructor can be = default
- rules of 3 for AbstractWindowAdapter
- Since WindowAdapter inherit AbstractWindowAdapter, it is already no-copy
2022-12-12 15:00:55 +01:00
Simon Hausmann
2d72781f9f
Fix warning about missing virtual destructor
2022-12-12 14:40:07 +01:00
Olivier Goffart
f1fb4e16bb
C++ platform API: remove the template parameter in Platform
2022-12-12 14:04:33 +01:00
Olivier Goffart
8d686637f4
Experimental platform API from C++
2022-12-12 12:54:31 +01:00
Olivier Goffart
ccf3e8e9e9
C++: Generate image texture data for software renderer
2022-12-09 09:25:48 +01:00
Olivier Goffart
30a81d856a
documentation: fix formatting of the backend selection
2022-12-08 08:05:27 +01:00
Simon Hausmann
1162ebbb79
Reduce the amount of re-creation of cells in repeaters when the model changes ( #1954 )
...
Re-use the cells but mark them as dirty, instead of re-creating them every time.
In the included test-case that provides behavior that's
more intuitive.
2022-12-06 18:43:55 +01:00
Simon Hausmann
11f46906a2
Centralize rust-version in Cargo.toml
...
Require 1.64 in the workspace and inherit the setting in package
Cargo.toml files.
2022-12-05 12:39:14 +01:00
Simon Hausmann
7e77a2a4cc
Bump MSRV to 1.64
...
... due to rust-skia bindings requiring a feature (ffi related).
2022-12-04 19:39:35 +01:00
Simon Hausmann
d28ebc46c5
janitor: Trigger rebuilds of SLINT_EMBEDD_RESOURCES changes
...
The compiler reads this variable, so we should rebuild if it changes.
2022-11-30 11:31:14 +01:00
ogoffart
fb02b4118b
Bump version number to 0.3.3
2022-11-28 13:11:11 +00:00
Olivier Goffart
ed1911cc89
Update version number in docs
2022-11-28 11:55:48 +01:00
Simon Hausmann
4308ed921d
Add documentation about the available widget styles and how to select them ( #1910 )
2022-11-25 14:53:20 +01:00
Simon Hausmann
247772104a
Move WindowEvent
, PointerEventButton
and Key
to the platform
module
...
For `Key` this is a move, as it is a new type. For `WindowEvent` and `PointerEventButton` deprecated aliases
are provided.
2022-11-24 11:34:28 +01:00
Simon Hausmann
d8a1f2cf01
Introduce a rem
unit in the type system
...
This allows specifying font sizes relative to the Window's
default-font-size, similar to CSS rem.
2022-11-24 11:33:38 +01:00
Olivier Goffart
f6a41e236a
Fix typo
2022-11-22 06:26:25 +01:00
Simon Hausmann
907b58161c
Add support for invoking an init callback on component and element construction
...
This enables imperative code to be run. To be used sparingly :-)
2022-11-17 10:12:08 +01:00
Florian Blasius
61c39b5fa1
Add support for dispatching key events through the public platform API
...
This change adds `KeyPress` and `KeyRelease` variants to the
`WindowEvent` enum, along with the new `slint::Key` enum, that allows
encoding keys.
2022-11-15 10:34:17 +01:00
Olivier Goffart
f1c96a391c
C++ docs: mention we need to set the PATH
2022-11-10 07:45:08 +01:00
Olivier Goffart
4556291e1a
Compiler: move the image and font embedding behind a software-renderer flag
...
Limit the dependency tree of things like the interpreter or the C++ compiler that
doesn't support it anyway.
It is still enabled inconditionally in slint-build though
2022-11-09 12:56:44 +01:00
Simon Hausmann
e9db914fb1
Add is_visible to NodeJS and C++ Window types ( #1816 )
...
Amends commit 82278a5742
2022-11-04 16:24:24 +01:00
Jonathan Schwender
4ade9faa0d
Update Corrosion to v0.3
...
This requires the following changes:
- Delay configuring SlintConfig.cmake:
Corrosion sets the `IMPORTED` locations late to allow us to set
OUTPUT_DIRECTORY target properties. The configuration of
SlintConfig.cmake must be deferred until after Corrosion set the
locations. Since we are writing to a config file Generator expressions
are not an option.
- Remove BUILD_TYPE mapping from SlintConfig.cmake:
As discussed in https://github.com/slint-ui/slint/pull/1785#issuecomment-1294630845
remove the mapping of the build types since corrosion now always sets
the `IMPORTED_LOCATION` property.
User facing improvements enabled by the update:
- Corrosion will not fail anymore if the user has a Rust toolchain >=1.60
installed, but the default toolchain is < 1.60.
- Corrosion will respect OUTPUT_DIRECTORY properties and move target
artifacts to the expected locations
2022-11-02 21:38:39 +01:00
Simon Hausmann
a1f9e39054
doc: prospective fix for rendering of example snippet in C++ generated code docs
...
The sample component in the docs has nothing to see, disable preview.
2022-11-02 09:54:03 +01:00
Simon Hausmann
41e3e27bff
doc: Fix rendering of slint::interpreter::ComponentInstance::set_global_callback
...
Don't use a preview for the Slint snippet that just shows a global. There's
nothing to render.
2022-11-02 09:51:12 +01:00
Simon Hausmann
fa8959c7bc
doc: Fix rendering of generated docs for restart()
...
The `--` was converted into a HTML entity, which was escaped again and shown raw.
2022-11-02 09:48:02 +01:00
Simon Hausmann
34b39a2a60
Remove slint::testing
from the C++ API Docs
...
We already avoid parsing `slint_testing.h`. But we have a variant of
`send_keyboard_string_sequence` in `slint_interpreter.h` because the
function takes a ComponentInstance. Exclude all symbols from that
namespace from the docs to continue the intent.
2022-11-01 15:34:35 +01:00
Simon Hausmann
01d666083f
doc: Remove the experimental tag from the Skia renderer
...
Should've done that for 0.3.1, but better late than never :)
2022-10-31 10:50:28 +01:00
ogoffart
2171773a3e
Bump version number to 0.3.2
2022-10-28 09:30:14 +00:00
Olivier Goffart
17aa0d7203
Update version number in docs
2022-10-28 09:42:20 +02:00
Olivier Goffart
f055afd2de
New syntax: allow to create component without base
2022-10-26 18:09:57 +02:00
Olivier Goffart
28ae8f7bc4
Refactoring: split ElementType away from the types used as property type
...
These are two different concept, and it is confusing to keep them in the
same enum
We want to support component without any base element, and Void is
already used for global component, so do this refactoring before
2022-10-26 14:50:44 +02:00
Florian Blasius
a4313c3e32
API changes for SortModel and FilterModel (rust and cpp) ( #1768 )
...
* Rust SortModel: Rename parameter `S` to `F`
* Rust SortModel: Rename parameter `apply_sorting` to `reset`
* Rust FilterModel: Rename parameter `apply_filter` to `reset`
* C++ SortModel: Rename parameter `sort_fn` to `comp`
* C++ SortModel: Add pub reset function
* C++ FilterModel: Rename parameter `apply_filter` to `reset`
2022-10-26 11:16:12 +02:00
Tobias Hunger
107c68e35a
janitor: Update toml-edit to 0.15
2022-10-26 08:59:36 +02:00
Simon Hausmann
c16253d29f
Use Property<LogicalLength> instead of Property<Coord>
...
This removes the special code for the generated property getters and
ensures type safety in the run-time library for property value setting.
In the Rust generated code we continue to do arithmetic on the scalar
values, that means we immediately extract the scalar, do arithmetic and
rely on the compiler to only allow compatible units.
Danger zone alert: In the interpreter Value::Number can now be converted
to LogicalLength as-is.
2022-10-24 12:49:37 +02:00
Olivier Goffart
1b58ab93f1
Fix documentation of CompilerConfiguration::embed_resources
...
It was just a copy paste of with_style
2022-10-21 10:33:54 +02:00
Olivier Goffart
6ee932883a
Rename stark-style to dark-color-scheme
...
That's the term used by CSS
2022-10-19 15:23:41 +02:00
Olivier Goffart
0ba468c236
Use a builtin function to access the dark-style
...
instead of a property on NativeStyleMetrics
2022-10-19 15:23:41 +02:00
Simon Hausmann
38a55f87a4
Change internal MouseEvent to use logical points
2022-10-13 17:02:18 +02:00
Simon Hausmann
c11b4305c1
Change Item::geometry() to return a LogicalRect
2022-10-13 17:02:18 +02:00
Simon Hausmann
3cc524ad1d
Fix broken link to nodejs example
2022-10-12 22:26:23 +02:00
Florian Blasius
129ee0acae
Florian/sort todo ( #1721 )
...
Implement `set_row_data` for `SortModel` and `FilterModel` (rust and cpp). Add sort and filter example to the todo example.
2022-10-11 18:58:00 +02:00
Florian Blasius
5fb31ace02
Florian/rust sorting model ( #1712 )
...
Add Rust version of SortModel
2022-10-07 16:24:48 +02:00
Simon Hausmann
a8849c1ede
Enforce the signature of the file load callback in the wasm build of the interpreter and the lsp
2022-09-30 13:24:04 +02:00
Simon Hausmann
6df60fa723
Add a C++ Sort Model class ( #1688 )
...
This allows automatically sorting a model.
2022-09-28 10:03:05 +02:00
Simon Hausmann
cfbdce735f
Add a C++ Map Model class ( #1687 )
...
* Add a C++ Map Model class
This matches the MapModel in the Rust API.
2022-09-27 16:03:56 +02:00