Simon Hausmann
6f8018127a
Fix standalone node api build
...
Right now the code calls print() on the diagnostics, so we do need the display-diagnostics feature of the compiler lib.
2020-09-07 20:40:06 +02:00
Olivier Goffart
9f026c820d
Parse declaration of signal with arguments
2020-09-07 17:41:24 +02:00
Olivier Goffart
16f5cf42e3
Actually compute the layout of elements within a for loop
2020-09-07 14:04:14 +02:00
Olivier Goffart
3f45b545ff
C++: Don't return model data by const value
...
Prevetn warning
2020-09-07 12:50:08 +02:00
Simon Hausmann
ccce46748f
Remove trailing slash from docs symlink
...
Windows git seems to like that better
2020-09-07 11:22:55 +02:00
Olivier Goffart
72df23637d
CMake: on windows need to add the IMPORTED_IMPLIB
2020-09-06 14:54:05 +02:00
Olivier Goffart
8465773b9b
More fix for windows, make sure that slashes are escaped in the sixtyfps macro
2020-09-05 18:34:04 +02:00
Olivier Goffart
ae90a59513
Attempt to fix the window build by bringing a git version of neon
2020-09-05 17:26:09 +02:00
Simon Hausmann
49cf743a15
Fix wasm interpreter build
2020-09-04 21:53:17 +02:00
Simon Hausmann
ff9c118e07
Propagate warnings to the end of the compilation step and print them
2020-09-04 20:34:20 +02:00
Olivier Goffart
f6c8ea0f20
Make the Model/Repeater type safe in C++
2020-09-04 19:02:56 +02:00
Olivier Goffart
4c07fbfb3d
Fix destructor of SharedArray in C++
...
We should of course only free the memory if the refcount reaches 0
2020-09-04 16:21:47 +02:00
Olivier Goffart
f5aeb9ba60
Only the computation of the model needs to be done in the evaluation scope for it
...
Otherwise any change in any of the properties of the delegate will cause
the model to be reset.
2020-09-04 15:37:38 +02:00
Olivier Goffart
c8fa3354be
Change the implementation of SharedArray so that it can destruct its contents
2020-09-04 15:37:38 +02:00
Simon Hausmann
6278a7168a
Include the example preview also in the C++ documentation
...
The template system used by Sphinx makes this rather easy, just the selector for the
HTML element to inject to needs to be extended.
2020-09-04 11:44:08 +02:00
Simon Hausmann
f4958abba5
Simplify C++ docs build directory setup
...
Symlink the _static directory instead.
2020-09-04 11:30:51 +02:00
Simon Hausmann
a539dab848
Improve placement of live preview
...
As the commented out code suggested, place the preview canvas as a floating element
into the code box, along with a label.
2020-09-04 10:12:34 +02:00
Simon Hausmann
7690ab6b6d
Reindent/Reformat the docs integration html
...
That'll make further edits easier to read in the diffs.
2020-09-04 10:12:34 +02:00
Olivier Goffart
9fbb40d91b
Start working on a debug statement
2020-09-03 19:10:07 +02:00
Simon Hausmann
dcb923c1df
Simplify markdown links to C++/Rust docs
...
and also offer them conveniently in the primary readme.
2020-09-03 17:35:07 +02:00
Olivier Goffart
51d48aad32
Some doc changes
2020-09-03 16:57:48 +02:00
Simon Hausmann
670091a773
Remove sixtyfps::EasingCurve from the public Rust API
...
It's not needed in public API usage right now.
2020-09-03 15:48:17 +02:00
Simon Hausmann
fab3d9355d
Remove ItemVisitorRefMut and ComponentRef from the public C++ API
...
It's only for internal use and just typedefs to private types anyway.
2020-09-03 15:44:36 +02:00
Simon Hausmann
3eef23f93c
Add widgets to the C++ docs as well
2020-09-03 12:05:50 +02:00
Simon Hausmann
834fa12206
Add the builtin elements to the C++ docs
2020-09-03 09:36:30 +02:00
Simon Hausmann
82ecae8ba6
Move the .60 <> C++ type mappings into a separate section
...
So the README.md remains usable also on Github.
2020-09-03 09:30:46 +02:00
Olivier Goffart
8a7afbc238
Documents the elements
2020-09-02 18:57:24 +02:00
Simon Hausmann
dc137fa0a6
Add a .60 <> C++ type mapping table to the C++ docs
2020-09-02 17:06:41 +02:00
Simon Hausmann
fd9aea97eb
Fix markdown table rendering in C++ docs
...
This reverts commit 0bb904e10a
and
re-introduces the markdown table support extension. The resulting table
by default is too wide in the "responsive" read-the-docs theme, but with
a CSS tweak it becomes readable.
Markdown tables are much easier to deal with and this way we can also
include references within the tables.
2020-09-02 17:06:41 +02:00
Olivier Goffart
1cf6d81169
Impletment GroupBox with the Qt style
2020-09-02 17:05:28 +02:00
Simon Hausmann
65ff715fbc
Make C++ documentation generation an xtask
...
Tear it out of the CMakeLists.txt and instead run it via
cargo xtask cppdocs
This allows the build_and_test step in the CI to only run cmake for the
library/header related bits and the docs_and_demos step to only generate
docs and not require a full host build of the library (as cargo xtask
cmake would otherwise do).
2020-09-01 17:03:55 +02:00
Simon Hausmann
21c472e739
Fix build
2020-09-01 13:18:40 +02:00
Olivier Goffart
9782d85fdb
Native style works with C++
2020-09-01 12:25:11 +02:00
Olivier Goffart
f1ad78bc25
Qt style support for the rust backend
...
Need to set the SIXTYFPS_STYLE=native env variable while compiling
2020-09-01 12:25:11 +02:00
Olivier Goffart
6d41b1981d
Move the Qt style to a new backend: the Qt backend
...
Currently the Qt backend still redirect everything to the GL backend,
but the goal is to use QPainter and QWindow
This also adds a "default" backend, whose goal is to select the proper
backend at compile time
2020-08-31 17:26:04 +02:00
Simon Hausmann
26502e4082
Add a paragraph about the C++ build process
2020-08-31 17:13:47 +02:00
Simon Hausmann
5dbd0b213c
Add support for grid layout padding
2020-08-28 15:06:14 +02:00
Simon Hausmann
7976a4057f
Improve handling of nested layouts
...
We support directly nested layouts, but we did not support indirect
nesting:
GridLayout {
Rectangle {
l2 := GridLayout { ... }
}
}
This patch fixes that by detecting this scenario and merging the layout
info of the element (Rectangle) and the layout inside (l2). This makes
it much easier to create re-usable components that use layouts
themselves and allows placing them in layouts.
2020-08-28 15:06:14 +02:00
Simon Hausmann
c1aa4b28c6
Add support for children insertion points for components
...
Sometimes re-usable components need to act as containers that allow the
user to place other items inside. The component needs to be able to
control the placement of these user-provided elements. That is what the
new
$children
expression inside elements does.
2020-08-28 15:05:21 +02:00
Olivier Goffart
ef16733a88
Attempt to render the documentation example.
...
Need polishing
2020-08-27 19:34:17 +02:00
Olivier Goffart
e169747b79
Fix non-wasm build
...
It seems that the workspace.exclude in the root Cargo.toml does not do what i think it does
2020-08-27 16:46:25 +02:00
Olivier Goffart
5a687cb6cb
Wasm interpreter
2020-08-27 16:32:12 +02:00
Simon Hausmann
1fec49fc10
Small typo fixes
2020-08-26 20:56:25 +02:00
Simon Hausmann
fdd522a7e4
Link to the "website" from the Rust docs
2020-08-26 18:58:35 +02:00
Simon Hausmann
48879f057a
Link to the self-hosted rust online docs
2020-08-26 18:57:02 +02:00
Simon Hausmann
1b7d25efab
Provide a convenient way to get to the "website" via the docs
...
These markdown files are also included in other locations (Rust or C++), so
a way to get back to a future website is helpful.
2020-08-26 14:46:06 +02:00
Olivier Goffart
58cdaeb8dd
Update license header to mention that commertial option are available
2020-08-26 13:23:42 +02:00
Simon Hausmann
72f0d09e61
Link to the online C++ docs
2020-08-26 11:28:26 +02:00
Simon Hausmann
9785919f6e
Hide a few APIs from the C++ documentation
...
Since Doxygen can't seem to just exclude them via command, they are moved
into a private_api namespace and then excluded via Doxygen config:
* *VTable
* make_dyn_node, ItemTreeNode, etc.
* VersionCheck
2020-08-25 17:45:12 +02:00
Simon Hausmann
91621aa87a
Hide sixtyfps::cbindgen_private from the C++ docs
2020-08-25 16:43:43 +02:00