From: "richard.j.dale@..." Date: 2008-06-19T01:38:48+09:00 Subject: Re: Using qt ruby On Jun 18, 1:12 pm, Stefano Crocco wrote: > On Wednesday 18 June 2008, flu...@gmail.com wrote: > > > > > I'm not particularly new to ruby or QT but I'm having trouble getting > > the two to work nicely together. > > > I have a TextEdit and I'm trying to call setExtraSelections on it. > > when I use the getter I get the error: > > > "Cannot handle 'QList' as return-type of > > QTextEdit::extraSelections (ArgumentError)" > > > And likewise with the setter: > > > "Cannot handle 'const QList&' as argument > > of QTextEdit::setExtraSelections" > > > So how do you deal with Qlists in ruby? > > > Also a few more general questions, please feel free to point me > > somewhere with answers like these but I searched long and hard and > > couldn't find any. > > > Is there an API reference somewhere with rubyized method lists etc? > > For instance it took alot of reading and searching to find out the qts > > ExtraSelection class should be an OpenStruct. > > > Any there any more gotchas like the qlist above and how enums are > > passed as ints? > > > Any good documentation anywhere, what I could find online was very > > lacking and alot of google searches just turn up change logs. > > Which version of QtRuby are you using? I'm using an old version from KDE4 svn > (I think it's more or less a month old) and I can create a new ExtraSelection, > but my test application crashes when I try to call > Qt::TextEditor.set_extra_selections. At any rate, I suggest you to post this > questions on the Qt/Korundum forum > (http://rubyforge.org/forum/forum.php?forum_id=723). > > As for the documentation, I think you're right, there's not much information > about differences between QtRuby and C++ Qt. Yet, there aren't that many > differences (at least in my opinion). > > By the way, I don't think ExtraSelection s should be OpenStruct s. At least in > the version I use, they're instances of Qt::TextEditor::ExtraSelection, just > as in C++. And as far as lists are concerned, I think they're always treated > as ruby Array s. > > I hope this helps > > Stefano I changed ExtraSelection to a Ruby Struct for the QtRuby 1.4.10 release, but the QList marshaller for it doesn't work. So I've just made it an ordinary QtRuby class again in the svn, and added a marshaller that works. So it will be fixed in the next release of QtRuby. I'm hoping to add some docs about QtRuby on the KDE TechBase wiki in the next month or two, as details about the Qt4 version are a bit lacking online I'm afraid. -- Richard