Simon Hausmann
ecaa55832f
Use hover for the ugly style combo box as well
...
This appears to be more consistent with how most combo boxes behave
2021-04-30 15:14:10 +02:00
Olivier Goffart
a677cb7402
Fix the ugly list view
2021-04-27 11:29:43 +02:00
Simon Hausmann
7240f5c5e9
Fix loading of relative paths on Windows
...
We use std::fs::canonicalize() and that may produce paths like
`\\\\?\\C:\\foobar\\baz.60`
where the leading `\?` disables all parsing.
When `baz.60` imports another `.60` file using a relative path `../fob.60`,
we call `Path::join()`, which really just appends strings, producing
``\\\\?\\C:\\foobar\\../fob.60`
When calling `canonicalize()` again on this path, the function fails,
because any parsing was disabled,
so neither the forward slash nor the .. are resolved.
So while the forward slash handling could be solved with `components()` we
still run into
https://users.rust-lang.org/t/unable-to-parse-relative-directories-in-windows-unc-paths/8164
To circumvent all this, use the dunce crate to canonicalize in a way on Windows
that avoids UNC paths.
2021-04-27 11:02:23 +02:00
Olivier Goffart
0083bd8d23
Fix return statement in the C++ generated code
...
The template parameter of the ReturnWrapper could be deduced to
a wrong type (eg: int instead of float) so we must add it explicitly
2021-04-27 10:17:09 +02:00
Olivier Goffart
3380383787
Bump version number
...
(Does not include docs and README yet)
2021-04-26 13:16:48 +02:00
Olivier Goffart
f620351cbf
Go to definition of structs
...
Also add the struct in the outline
2021-04-24 15:06:58 +02:00
Olivier Goffart
847f3b26e4
Hide internal type in auto-completions
2021-04-23 15:06:37 +02:00
Olivier Goffart
14772a9b58
Handle reduction of logical lenght when the units are more complex
2021-04-21 17:15:19 +02:00
Olivier Goffart
3b73c96c37
Adjust the syntax_tests to the change of length
2021-04-21 17:15:19 +02:00
Olivier Goffart
91ed04a72c
Make length
(still the default for all property) be the logical length
...
And a new `physical_length` is now the physical_length unit
Note: this does not change the runtime part yet
2021-04-21 17:15:19 +02:00
Olivier Goffart
7ae850d564
Rename Type::Length -> Type::PhysicalLength
2021-04-21 17:15:19 +02:00
Olivier Goffart
66e44d3467
fix test compilation
2021-04-19 08:06:20 +02:00
Olivier Goffart
59654472d2
LSP: color providers
2021-04-18 23:27:14 +02:00
Olivier Goffart
3f3a4c4ec9
Store the actual property declaration node
...
so that the goto definition can go to the right location
2021-04-18 14:19:38 +02:00
Olivier Goffart
59695bb3cf
Fix cargo fmt
2021-04-17 09:34:47 +02:00
Olivier Goffart
b94ea38965
LSP: completion in second level of expressions
2021-04-17 08:31:17 +02:00
Olivier Goffart
7d6bcc40be
LSP: Use the recently refactored lookup system
2021-04-16 23:41:59 +02:00
Olivier Goffart
069b5aa1a1
Refactor lookup
...
Share some code so we can eaily list all possibilities and we will use that
in the LSP for the completion
2021-04-16 23:41:59 +02:00
Olivier Goffart
ad298a309f
WIP: LSP autocompletion of expression
2021-04-16 23:41:59 +02:00
Olivier Goffart
702b3fc67a
Jump to definition of a property
2021-04-16 08:59:33 +02:00
Olivier Goffart
87f4a363cf
Add support for opacity property
2021-04-15 15:05:09 +02:00
Olivier Goffart
e34b88d658
Fix panic in invalid export
2021-04-15 11:46:05 +02:00
Olivier Goffart
49477724c6
Fix panic when invalid property
2021-04-15 11:24:49 +02:00
Olivier Goffart
f3489f40ba
Fix panic when parse error of a if
2021-04-15 10:46:22 +02:00
Olivier Goffart
3bf3761450
Implement the Opacity filter.
...
Notice that the GL implementation currently don't combine the opacity
2021-04-15 10:17:52 +02:00
Olivier Goffart
ba2f2d5719
Add an Opacity element that does nothing
2021-04-15 10:17:52 +02:00
Olivier Goffart
0e69ac1036
LSP: Auto complete the class names
2021-04-14 19:19:51 +02:00
Olivier Goffart
a3d29c6ba0
LSP: Jump to definition when the cursor is in a import statement
2021-04-14 18:50:12 +02:00
Olivier Goffart
aeff269bd4
Fix another panic caused by some NamedReference of the layout not being visited
2021-04-14 17:23:33 +02:00
Olivier Goffart
11aff782de
Fix crash with drop-shadow in a repeater that contains layout
...
The layout are going to be optimized, and the optimized item's enclosing component
must be adjusted
2021-04-14 16:13:56 +02:00
Simon Hausmann
48e6d2f48b
Fix handling of non-zero border width in clip-enabled Rectangles
...
The border should be visible (as in the included test case), which this
patch fixes for Qt by subtracting the border width just like when drawing.
2021-04-14 13:34:51 +02:00
Olivier Goffart
1e730eb845
Fix panic when parsing wrong import statement
...
Have to be several tests because the parser bails out at the first error.
The error message is not optimal but better than a panic
2021-04-14 12:47:26 +02:00
Olivier Goffart
49868a8dae
Try our best to generate a document node, even when there are errors
2021-04-14 12:06:02 +02:00
Olivier Goffart
6837086647
Fix compilation after rebase
2021-04-14 12:04:45 +02:00
Olivier Goffart
fed73bbd67
syntax_tests: Try to build the object_tree::document even in case of parse error
...
To make sure it doesn't panic.
Also fix a bunch of errors that were causing panic bacause missing elements in the tree
The goal it to be able to generate a best effort node required for the LSP
2021-04-14 11:46:49 +02:00
Olivier Goffart
84e0b24550
Some refactoring of the syntax_nodes module
...
Ensure that the node always contains the write kind by panicking
if it doesn't.
Add some documentation for the macro that declares them
2021-04-14 11:46:49 +02:00
Simon Hausmann
6a1191c5a5
Add Window.default-font-weight
...
This completes the font properties that can be set as default.
2021-04-14 11:16:22 +02:00
Simon Hausmann
aa599e5a98
Fix missing license header
2021-04-14 10:02:22 +02:00
Simon Hausmann
afe3df6381
Remove the public API for registering fonts by path or memory chunk
...
This is not needed anymore in the light of being able to write `import "blah.ttf"` in .60 markup
2021-04-14 10:01:33 +02:00
Simon Hausmann
5e7a030e67
Fix cargo fmt
...
Remove trailing whitespace
2021-04-14 09:49:02 +02:00
Simon Hausmann
f995ec44ae
Fix build of rust generated font loading setup code
...
The font registration functions return void, so generate a semicolon at the end of the call, like with SetFocusItem.
2021-04-14 09:44:33 +02:00
Simon Hausmann
f7ce1ba8b4
Generate registration code for custom fonts imported in .60 files
...
This removes the need to manually register fonts. This is initially
applied to the printer demo, but the other demos and removal of the
public manual registration API will come in follow-up commits.
2021-04-14 09:30:32 +02:00
Simon Hausmann
c301cc22b5
Collect foreign imports and filter out true type fonts/collections
...
Resolve them early enough to produce good diagnostics. Permit true type
fonts & collections.
2021-04-14 09:17:23 +02:00
Simon Hausmann
a92c9196eb
Typeloader cleanup
...
There are currently two places where we resolve relative file names,
once in the import handling and once when processing @image-url.
Both places called first `loader.find_file_in_include_path` and then `resolve_import_path`,
which this patch combines into one function.
That will make it easier (and less error-prone) for future call sites.
2021-04-14 09:01:52 +02:00
Simon Hausmann
cbf2b51670
Allow empty imports
...
Allow import "blah.60" or, more likely in the future, import "foo.ttf".
2021-04-14 09:01:49 +02:00
Olivier Goffart
7a65f31cc1
the source_file is not optional
2021-04-13 17:26:24 +02:00
Olivier Goffart
84501e630a
Rename SyntaxNodeWithSourceFile to SyntaxNode
...
Same for SyntaxToken
2021-04-13 17:10:56 +02:00
Olivier Goffart
cb06394685
Remove some more use of SyntaxNode and SyntaxToken
2021-04-13 17:10:56 +02:00
Olivier Goffart
5c795e7bab
Use SyntaxNodeWithSourceFile everywhere instead of SyntaxNode
2021-04-13 17:10:56 +02:00
Olivier Goffart
1773f9143b
Add a border-radius property to the Clip
...
So that `clip: true` used on a Rectangle with border radius can be clipped
with that radius
Only the Qt backend is implemented for now
2021-04-12 19:47:18 +02:00