[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/runtime/plasma/scriptengines/javascript
From:       Artur Duque de Souza <asouza () kde ! org>
Date:       2009-11-29 4:17:30
Message-ID: 1259468250.709575.10844.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1055930 by asouza:

Create bindings for QGraphicsGridLayout

We should definetely have a common header for the layout bindings
so we avoid duplicating the "layoutItem" function with different
names all around.

I created some macros to help creating the binding for GridLayout
that may be helpful in other scenarious. Maybe put this macros on
this shared header too ?

Anyway, the bindings for this class are ready if I didn't forget
any important functions and the code for layout item was a little
bit simplified trying to qscriptvalue_cast to QGraphicsLayout* instead
of each implementation of it.



 M  +1 -0      CMakeLists.txt  
 A             simplebindings/gridlayout.cpp   [License: LGPL (v2)]
 M  +3 -7      simplebindings/linearlayout.cpp  
 M  +2 -0      simplejavascriptapplet.cpp  


--- trunk/KDE/kdebase/runtime/plasma/scriptengines/javascript/CMakeLists.txt \
#1055929:1055930 @@ -9,6 +9,7 @@
     simplebindings/filedialogproxy.cpp
     simplebindings/graphicsitem.cpp
     simplebindings/linearlayout.cpp
+    simplebindings/gridlayout.cpp
     simplebindings/painter.cpp
     simplebindings/pen.cpp
     simplebindings/pixmap.cpp
--- trunk/KDE/kdebase/runtime/plasma/scriptengines/javascript/simplebindings/linearlayout.cpp \
#1055929:1055930 @@ -20,8 +20,8 @@
 #include <QtScript/QScriptEngine>
 #include <QtScript/QScriptContext>
 #include <QtGui/QGraphicsWidget>
-#include <QtGui/QGraphicsGridLayout>
 #include <QtGui/QGraphicsLinearLayout>
+#include <QtGui/QGraphicsLayout>
 
 #include <Plasma/Applet>
 
@@ -30,7 +30,7 @@
 
 Q_DECLARE_METATYPE(QScript::Pointer<QGraphicsItem>::wrapped_pointer_type)
 Q_DECLARE_METATYPE(QGraphicsWidget*)
-Q_DECLARE_METATYPE(QGraphicsGridLayout*)
+Q_DECLARE_METATYPE(QGraphicsLayout*)
 Q_DECLARE_METATYPE(QGraphicsLayoutItem*)
 DECLARE_POINTER_METATYPE(QGraphicsLinearLayout)
 
@@ -49,14 +49,10 @@
     QGraphicsLayoutItem *item = qobject_cast<QGraphicsWidget*>(object);
 
     if (!item) {
-        item = qscriptvalue_cast<QGraphicsLinearLayout*>(ctx->argument(index));
+        item = qscriptvalue_cast<QGraphicsLayout*>(ctx->argument(index));
     }
 
     if (!item) {
-        item = qscriptvalue_cast<QGraphicsGridLayout*>(ctx->argument(index));
-    }
-
-    if (!item) {
         AppletInterface *interface = qobject_cast<AppletInterface*>(object);
 
         if (!interface) {
--- trunk/KDE/kdebase/runtime/plasma/scriptengines/javascript/simplejavascriptapplet.cpp \
#1055929:1055930 @@ -70,6 +70,7 @@
 QScriptValue constructGraphicsItemClass(QScriptEngine *engine);
 QScriptValue constructKUrlClass(QScriptEngine *engine);
 QScriptValue constructLinearLayoutClass(QScriptEngine *engine);
+QScriptValue constructGridLayoutClass(QScriptEngine *engine);
 QScriptValue constructAnchorLayoutClass(QScriptEngine *engine);
 QScriptValue constructPainterClass(QScriptEngine *engine);
 QScriptValue constructPenClass(QScriptEngine *engine);
@@ -628,6 +629,7 @@
     global.setProperty("QSizeF", constructQSizeFClass(m_engine));
     global.setProperty("QPoint", constructQPointClass(m_engine));
     global.setProperty("LinearLayout", constructLinearLayoutClass(m_engine));
+    global.setProperty("GridLayout", constructGridLayoutClass(m_engine));
     global.setProperty("AnchorLayout", constructAnchorLayoutClass(m_engine));
 
     // Add stuff from KDE libs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic