Tobias Hunger
90e55bd29f
compiler: Fix a couple of clippy issues
...
Nothing major, nothing controversial, just killing time
while waiting on CI.
2024-08-26 08:45:52 +02:00
Olivier Goffart
47028bce27
Fixed inlining updating property use count
2024-08-23 17:17:15 +02:00
Olivier Goffart
5f77808d1c
Optimization: improve expression inlining
...
If a property is only used once, we can inline it with a bigger
threshold.
But this require to first compute the use, and then do the inlining
while adjusting the usages
2024-08-23 17:17:15 +02:00
Olivier Goffart
a9f526491a
Timer Element
...
Closes #5724
2024-08-16 16:36:38 +02:00
Olivier Goffart
e67e46ab47
LLR: merge the popup's x and y property access in one expression
2024-07-10 17:54:03 +02:00
Simon Hausmann
419042f476
Add support for using own properties in PopupWindow's x and y properties
...
This allows positioning popup windows in a way that takes their width/height into account.
2024-07-10 13:43:41 +02:00
Olivier Goffart
6687995c36
llr: ensure const property without bindings are recognize as such by expression inlining
...
This allow to optimize away many property like the materialized x and y
properties.
2024-07-04 10:24:54 +02:00
Olivier Goffart
821aefc20c
expression-inliner: adjust the cost for a condition
...
Take the max of the two branch instead of the sum of it
2024-07-04 10:24:54 +02:00
Olivier Goffart
bd18d8dc0a
Fix compiler crash when const propagating a property of component-factory
with its default value
...
We couldn't represent an empty component factory in the exrpession tree,
so add Expression::EmptyComponentFactory for that
2024-06-25 20:25:01 +02:00
Olivier Goffart
d0ed0438ce
LLR: peliminary support for multiple public components
...
There currently still can only be one because the passes expect that,
but now the LLR and generator should be ready to accept multiple public
component later
2024-06-15 14:44:11 +02:00
Olivier Goffart
3da0ee5bb9
DatePicker: Logic in C++
...
Had to simplify a bit the rust logic to make it work
2024-06-06 09:03:50 +02:00
Florian Blasius
973ecac989
DatePicker: finished features
2024-06-06 09:03:50 +02:00
Florian Blasius
3ccee816be
Added TimePicker widget ( #5251 )
2024-06-05 15:23:06 +02:00
Olivier Goffart
94af4d2832
Don't optimize array
...
They are model and if the model is copied, the changes in model need to
apply to all copies.
Fixes #5249
2024-06-04 15:24:36 +02:00
Aurindam Jana
3523e86359
Simplify commercial license ( #3063 )
...
Base the commercial license on the Royalty-free license adding clauses pertaining to the fees.
2024-05-31 14:06:17 +02:00
Aurindam Jana
9a3aa265d5
Update Royalty-free license ( #5257 )
...
Add clarification that Application may not expose Slint APIs.
2024-05-31 10:53:19 +02:00
Olivier Goffart
cadcd4caf4
Change callback: rust code generation
2024-05-02 22:25:53 +02:00
Simon Hausmann
31767eb6ab
Add a clear-focus()
function on all elements that have a focus()
function
...
This is the counter-part, which removes focus from the element if it's currently focused. The window - if focused - may still be focused towards the windowing system.
2024-04-26 11:09:11 +02:00
Luke D. Jones
0b1ec5e4c9
Convert to struct field access and make HsvColor public
2024-04-15 18:18:00 +02:00
Luke D. Jones
d4a3f77877
feat: color: add HSV methods to slint
2024-04-15 18:18:00 +02:00
Aurindam Jana
0cfeec1a31
Update Slint Community License ( #4994 )
...
Updated the version from 1.1 to 1.2
Renamed the header to "Slint Royalty-free Desktop, Mobile, and Web Applications License"
Added definition of "Mobile Application" and grant of right
Moved "Limitations" to 3rd section and "License Conditions - Attributions" to 2nd section
Added flexibility to choose between showing "MadeWithSlint" as a dialog/splash screen or on a public webpage
Moved the para on copyright notices to section under "Limitations"
2024-04-15 15:18:55 +02:00
Simon Hausmann
68083243b2
Add an in-out boolean color-scheme property to Palette ( #4701 )
...
This allows applications to force dark/light mode, as well as determine
which mode is active.
2024-03-26 15:44:22 +01:00
Luke D. Jones
8c60cc74be
feat: color: add channel properties to color
...
Add extra properties to the `color` type.
- `red`
- `green`
- `blue`
- `alpha`
2024-03-12 09:42:30 +01:00
Olivier Goffart
5fe68e1746
Fix animation when started from a different item tree
...
Fixes #4741
This commit move the property_binding_and_analysis from the inlining
pass to an associated funciton in the context.
Then re-use that from the rust and c++ generator to actually get the
right animation
2024-03-05 12:27:11 +01:00
Brandon Fowler
3e8940660b
Add set-selection-offsets
function to TextInput, TextEdit, and LineEdit ( #4197 )
...
The function accepts two arguments that specify the start and the end of the text to select.
Fixes #4164
2024-01-06 11:12:53 +01:00
Olivier Goffart
89c80f3b6d
Fix animation expression not being visited for use count of property
...
resulting in properties being optimized when they shouldn't
2023-11-03 15:11:06 +01:00
Olivier Goffart
e0fd9a6105
WIP: Add item_geometry to the ComponentVTable
...
(unused yet)
2023-09-13 16:08:37 +02:00
Simon Hausmann
3652f58a3f
Change item indices from usize to u32
...
So that the compiler and run-time can never disagree on the
number of bytes the item index can use.
2023-09-12 08:53:58 +02:00
Olivier Goffart
cf19749943
Make a pass to remove the Expression::Return instruction
...
So it doesn't appear in the LLR and the C++ codegen can be simplified.
In particular, this removes the need to throw/catch exception to handle return
across generated lambdas
2023-09-06 14:10:26 +02:00
Guiguiprim
ef8ddaaa1d
Add native support for min/max
2023-07-21 16:26:41 +02:00
Aurindam Jana
5a4a7fee63
Update royalty free license to 1.1 ( #2994 )
2023-07-10 10:12:11 +02:00
Tobias Hunger
e02c360000
Clippy polish
2023-06-28 14:22:30 +02:00
Olivier Goffart
11dea135f7
Domain: slint-ui.com -> slint.dev
2023-06-16 10:55:08 +02:00
Aurindam Jana
039e54a5de
Add royalty free license to files except examples and docs ( #2888 )
2023-06-15 11:20:50 +02:00
Simon Hausmann
1bf05eae7c
Add support for absolute-x and absolute-y properties on any element ( #2823 )
...
Fixes #1691
2023-06-06 14:37:53 +02:00
Olivier Goffart
dcd8450dfa
WIP: start working on translations: @tr()
...
This commit just do the parsing of the @tr macro.
2023-06-05 16:34:59 +02:00
Simon Hausmann
0f54b9599b
Add support for manually closing PopupWindows
...
This patch adds a `close()` function that can be called to close a popup
window, and a `close-to-click` boolean that can be set to false to
disable the default behavior.
2023-06-02 18:07:49 +02:00
Olivier Goffart
5599bd44e0
Remove Color::opaque
...
It is not a right name and i don't think it is a so common operation
2023-06-02 17:02:08 +02:00
Olivier Goffart
4845241ebf
Rename translucent to transparentize and mixed to mix
2023-06-02 17:02:08 +02:00
Arthur Araruna
64ad1ce357
Add some color and brush manipulation funcs ( #2565 )
...
The added functions enable mixing colors and manipulating the opacity
of colors and brushes.
They enable the behavior of some of the available functions from SASS and are
added for future use for adding the Adwaita style (future PR).
2023-06-02 17:02:08 +02:00
Simon Hausmann
c428601370
Add support for select-all(), cut(), copy() and paste() functions on text input elements ( #2804 )
...
In the compiler this is still very primitive, but an attempt to start a
generic interface. The basic assumption is that all item functions will
eventually need access to the window adapter and itemrc. Support for
additional arguments is still missing.
Also missing is support for the function access via rtti in the
interpreter, hence the hardcoding at the moment.
2023-06-01 16:04:53 +02:00
Olivier Goffart
a57c7eb6bc
Added TextInputInterface.text-input-focused
2023-04-12 14:49:08 +02:00
Tobias Hunger
3ac01c3f07
clippy: Fix clippy warnings
2023-03-09 09:35:29 +01:00
Olivier Goffart
1ab228c628
Implement calling public functions from native code
...
This doesn't implement any support for the interpreter yet
CC: #2012
2022-12-22 04:28:32 -08:00
Olivier Goffart
3e8a681f36
Don't optimize properties used by functions
2022-12-15 05:43:24 -08:00
Olivier Goffart
4672e54f5e
Compiler: make calling functions work
2022-12-06 14:56:25 +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
5b44cc54d9
Don't generate a native setter for out property
2022-11-09 18:48:19 +01: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