Our current generation is mostly about the extern "RustQt" side, once #557 is done we'll have extern "RustQt" with support for inherit and signals. Then #558 adds support for invokables and #559 for type and properties.
But we also want to support foreign types (eg type QButton), so we need to support extern "C++Qt".
[x] Add support in parser phase for C++Qt
[x] Add support in generation phases for a type that is foreign (it only needs to generate CXX bridges and the signal connect parts?)
[x] Ensure that type QButton;, fn show(self: Pin<&mut QButton>);, #[qsignal] fn clicked(self: Pin<&mut QButton>) work, but note that qproperty, inherit, qinvokable should not work ?
[x] Change connections to be DirectConnection by default and make choosing a connection type as an unsafe closure (as QueuedConnection could have a mutable reference to something and be executed at any time in the future)
Our current generation is mostly about the
extern "RustQt"
side, once #557 is done we'll haveextern "RustQt"
with support for inherit and signals. Then #558 adds support for invokables and #559 for type and properties.But we also want to support foreign types (eg
type QButton
), so we need to supportextern "C++Qt"
.type QButton;
,fn show(self: Pin<&mut QButton>);
,#[qsignal] fn clicked(self: Pin<&mut QButton>)
work, but note that qproperty, inherit, qinvokable should not work ?Consider any notes from #527