<div dir="ltr"><br><br><div class="gmail_quote">On Tue, Aug 19, 2008 at 1:21 PM, Koen Deforche <span dir="ltr"><<a href="mailto:koen.deforche@gmail.com">koen.deforche@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hey Richard,<br>
<div class="Ih2E3d"><br>
On Mon, Aug 18, 2008 at 12:15 PM, Richard Dale <<a href="mailto:richard.j.dale@gmail.com">richard.j.dale@gmail.com</a>> wrote:<br>
> I didn't have time at Akademy, but yesterday I got the code generation<br>
> working for a Wt smoke library for use with Ruby bindings, and it now builds<br>
> and links with 130 or so Wt:: classes. The coverage of the api is pretty<br>
> complete apart from the WSignalBase/WSignal classes and the methods that<br>
> take function pointers, or templated arguments. The next steps would be:<br>
<br>
</div>That sounds very promising indeed...<br>
<div class="Ih2E3d"><br>
> * Get a 'hello world' working by linking to the QtRuby runtime<br>
> * Find out how much interest there would be in a Ruby Wt binding by mailing<br>
> the Wt list<br>
> * Create a WtRuby project be removing all Qt-specific code from QtRuby<br>
> * Write marshallers for the various std::vector and std::map types etc<br>
> * Work out how to do slots/signals in Ruby.<br>
><br>
> I don't think I should put the code in the KDE svn as it isn't really<br>
> possible to use it with any KDE code. So it could go on the Korundum<br>
> RubyForge project or maybe as another WtRuby project on RubyForge. I'll<br>
> check in the changes needed for the 'kalyptus' code generator as that won't<br>
> do any harm. I've attached a tar ball of the smoke project, and I'll cc this<br>
> mail to the kdebindings list.<br>
<br>
</div>Rubyforge sounds like a good place for this?<br></blockquote><div>Yes I think a WtRuby project on Rubyforge is best.<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><div class="Ih2E3d">
> Here are the issues that I came across:<br>
><br>
> * The multiple inclusion guard macro on WPolygonArea was wrong<br>
<br>
</div>Oops.<br>
<div class="Ih2E3d"><br>
> * An include was missing from WTableRow for WTableCell (I can special case<br>
> this, but the include should be there I think)<br>
<br>
</div>I've changed this by a forward declaration to WTableCell. That should be fine?</blockquote><div>Yes that works fine too thanks.<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<div class="Ih2E3d"><br>
> The following methods gave problems with linking, which usually means they<br>
> are declared in the header, but not defined (I haven't checked what went<br>
> wrong, just suppressed the code generation for now):<br>
><br>
> Wt::RemoveExposedSignal(Wt::EventSignalBase*)<br>
> Wt::AddExposedSignal(Wt::EventSignalBase*)<br>
> Wt::WDate::isLeapYear(int)<br>
> Wt::WDate::isValid(int, int, int)<br>
> Wt::WPainter::drawImage(double, double, Wt::WPainter::Image const&, double,<br>
> double, double, double)<br>
> Wt::WPainterPath::addEllipse(Wt::WRectF const&)<br>
> Wt::WRectF::WRectF(Wt::WPointF const&, Wt::WPointF const&)<br>
> Wt::WSlider::setRange(int, int)<br>
> Wt::WTextEdit::setStyleSheet(std::basic_string<char, std::char_traits<char>,<br>
> std::allocator<char> > const&)<br>
> Wt::WTextEdit::setExtraPlugins(std::basic_string<char,<br>
> std::char_traits<char>, std::allocator<char> > const&)<br>
> Wt::WTextEdit::setToolBar(int, std::basic_string<char,<br>
> std::char_traits<char>, std::allocator<char> > const&)<br>
<br>
</div>I have fixed all these (in CVS).</blockquote><div>Ok, great.<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<br>
Looking forward to more Ruby on Steroids!</blockquote>Yes and me too - I'm looking forward to see how well it works out..<br><br>-- Richard<br></div><br></div>