[Kde-bindings] KDE/kdebindings/csharp/plasma

Arno Rehn arno at arnorehn.de
Tue Jan 26 15:46:34 UTC 2010


On Tuesday 26 January 2010 13:45:50 Richard Dale wrote:
> On Monday 25 January 2010 08:23:53 pm Arno Rehn wrote:
> > On Monday 25 January 2010 21:07:22 Richard Dale wrote:
> > > On Monday 25 January 2010 07:55:41 pm Arno Rehn wrote:
> > > > On Monday 25 January 2010 19:37:21 Richard Dale wrote:
> > > > > On Monday 25 January 2010 06:27:10 pm Arno Rehn wrote:
> > > > > > SVN commit 1080147 by arnorehn:
> > > > > > 
> > > > > > Remove analog clock examples. They fail to compile after plasma
> > > > > > updates
> > > > > > 
> > > > > >  anyway.
> > > > > > 
> > > > > > CCMAIL: kde-bindings at kde.org
> > > > > > 
> > > > > >  M  +1 -1      CMakeLists.txt
> > > > > >  M  +0 -2      examples/applets/CMakeLists.txt
> > > > > >  D             examples/applets/analog-clock (directory)
> > > > > >  D             examples/applets/plasmaclock (directory)
> > > > > > 
> > > > > > [snip]
> > > > > 
> > > > > Oh - should we try and get them working? There is still some work
> > > > > to do on the plasma C# code although it compiles.
> > > > > 
> > > > > The problem is that the QGraphicsWidget class has changed quite a
> > > > > lot in Qt 4.6, and the PlasmaScripting_QGraphicsWidget.cs class is
> > > > > supposed to implement the  IGraphicsItem interface. But I didn't
> > > > > have time to get that working and just commented it out (see
> > > > > below), and I think it will mean the casts in the code to
> > > > > QGraphicsItems won't work. I'm not sure what the problems with the
> > > > > clocks were as I didn't have time to investigate, but it could be
> > > > > related.
> > > > > 
> > > > >     public class QGraphicsWidget : QObject{
> > > > > 
> > > > > //    public class QGraphicsWidget : QObject, IQGraphicsItem {
> > > > 
> > > > Yes, we should definitely try to get the Plasma stuff working.
> > > > But I think the plasma clocks aren't really suited to serve as a
> > > > plasmoid example - they just became rather heavy. They depend on a
> > > > shared library (libplasmaclock, which we had to translate as well)
> > > > and together with all
> > > > 
> > > >  the configuration dialog stuff spread over plasmaclock and
> > > > 
> > > > analog-clock this makes it a bad example, imho.
> > > 
> > > Yes, the ruby plasma clock doesn't work either as far as I can remember
> > > and so isn't a good example. But it might still be worth investigating
> > > why they didn't compile in case the problem was non-clock specific.
> > > 
> > > > I think we should take something lighter to translate to C#, like the
> > > > 
> > > >  pastebin plasmoid from kdeplasma-addons.
> > > > 
> > > > Just as we're at it: how about moving all the examples out of
> > > > kdebindings
> > > > 
> > > >  and into the new kde-examples branch or whatever it is?
> > > 
> > > I'm not sure what advantage that has. I think is a good idea to have an
> > > example of each type of plasmoid as a confidence test so you know
> > > you've built the bindings correctly. I'm feeling a bit generally worn
> > > out with KDE 4.4 and would like to change as little as possible and
> > > just try and get everything working. Maybe we can think about better
> > > examples for KDE 4.5.
> > 
> > Yes, it was (and still is) quite a hurry to get kdebindings into an
> > 
> >  acceptable state for KDE 4.4. I hope we can do better for KDE 4.5.
> > 
> > Is there anything else apart from the PlasmaScripting support in C# that
> > 
> >  needs work?
> 
> Well I haven't actually tested whether the new classes work yet. For
> instance, this works in JSmoke, does it work with Qyoto too?
> 
> button = new QPushButton("Animated Button");
> button.show();
> 
> animation = new QPropertyAnimation(button, "geometry");
> animation.setDuration(10000);
> animation.setStartValue(new QRect(0, 0, 100, 30));
> animation.setEndValue(new QRect(250, 250, 100, 30));
> animation.start();
> 
> QApplication.exec();
Yes, this works fine with Qyoto.

> Do we have an implicit constructor to create a QByteArray from a string?
Yes.

> I
> assume the QVariant implicit constructors are present and should work with
> the setStartValue() and setEndValue() methods.
Actually we're missing the ones for QRect, so this specific example won't 
work. Adding them should only take a minute or two, though.

> Then write a blog about how
> amazingly cool using the Qt animation framework is in C# is, so that
> people don't assume the project is dead..
Hehe, yes :).

> I haven't regenerated the KDE Kimono classes yet, but we could do that.
If it's not too much work, I guess it would be a good thing to do that.

> A
> marshaller is needed for the QtWebKit class that lists DOM elements - that
> is quite important to get working. Not that much really I suppose.
I'll have a look at that.

-- 
Arno Rehn
arno at arnorehn.de



More information about the Kde-bindings mailing list