On Saturday 17 December 2011 00:48:48 Tom wrote:
> It it possible to write Qt apps in crack? Are there examples?
I'm playing around with SMOKE and crack, but crack is still missing some
features to have it all working properly.
So I wouldn't expect to have Qt bindings very soon; but there are people
caring about Qt and crack :)
--
Arno Rehn
Hi Arno,
Can you remind me what's still needed to make the bindings work?
I'm thinking of generating bindings for glib/gtk from their gir interface descriptions.
Thanks!
Conrad
We have to be able to detect whether a virtual method was overriden in a
custom subclass and be able to call arbitrary crack methods from the
extension.
Otherwise virtual methods or the Qt signals/slot mechanism is not going to
work.
We could create an annotation that indicates that a method was overriden, but
that's doesn't fit in nicely with the language. And I don't know whether it
allows calling that method from the C++ side.
Also there's still a bug somewhere in injection code: if you define type 'Foo'
in the extension and then inject some crack code referencing type 'Foo', the
parser will tell you that 'Foo' doesn't exist. It has something to do with the
lexical scope not including the parent scope (in Type.cc and Func.cc), but all
my attempts to fix it have broken half the unit tests.
I'll look into that tomorrow again.
--
Arno Rehn
Are you trying to do this in order to implement the virtual interface
defined by a C++ class in Crack? If so, would it help to be able to
directly call a Crack virtual method from C++? Because that's
something we can very easily provide.
> We could create an annotation that indicates that a method was overriden, but
> that's doesn't fit in nicely with the language. And I don't know whether it
> allows calling that method from the C++ side.
>
> Also there's still a bug somewhere in injection code: if you define type 'Foo'
> in the extension and then inject some crack code referencing type 'Foo', the
> parser will tell you that 'Foo' doesn't exist. It has something to do with the
> lexical scope not including the parent scope (in Type.cc and Func.cc), but all
> my attempts to fix it have broken half the unit tests.
> I'll look into that tomorrow again.
Some of the namespace relationships are pretty scary stuff. I'm
honestly not sure what hacks I put into the extension module that
might be causing this. I'll also try to create a test case in the
next day or two and see if I can reproduce and resolve this.
>
> On Saturday 17 December 2011 09:59:39 Conrad Steenberg wrote:
> > Hi Arno,
> >
> > Can you remind me what's still needed to make the bindings work?
> >
> > I'm thinking of generating bindings for glib/gtk from their gir interface
> > descriptions.
> >
> > Thanks!
> > Conrad
> >
> > On Dec 17, 2011 5:03 AM, "Arno Rehn" <ar...@arnorehn.de> wrote:
> > > Hi Thomas,
> > >
> > > On Saturday 17 December 2011 00:48:48 Tom wrote:
> > > > It it possible to write Qt apps in crack? Are there examples?
> > >
> > > I'm playing around with SMOKE and crack, but crack is still missing some
> > > features to have it all working properly.
> > > So I wouldn't expect to have Qt bindings very soon; but there are people
> > > caring about Qt and crack :)
Right now, my immediate priorities are the LLVM 3.0 branch (and the
corresponding 0.6.1 release) and then helping Shannon with the caching
code. After that, I'm going to give some attention to the extension
system, so I think we can have some collection of features to serve
your needs in place in the next month or two. (BTW, thanks for your
patience in this - I know you've been waiting on some of these
features for a long time)