qtbindings 4.6.3.0-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.txt +9 -0
- data/CMakeLists.txt +22 -0
- data/COPYING.LIB.txt +510 -0
- data/COPYING.txt +286 -0
- data/KNOWN_ISSUES.txt +20 -0
- data/README.txt +92 -0
- data/Rakefile +96 -0
- data/TODO.txt +2 -0
- data/bin/1.8/rbrcc.exe +0 -0
- data/bin/1.8/rbuic4.exe +0 -0
- data/bin/1.8/smokeapi.exe +0 -0
- data/bin/1.8/smokedeptool.exe +0 -0
- data/bin/1.9/rbrcc.exe +0 -0
- data/bin/1.9/rbuic4.exe +0 -0
- data/bin/1.9/smokeapi.exe +0 -0
- data/bin/1.9/smokedeptool.exe +0 -0
- data/bin/Qt3Support4.dll +0 -0
- data/bin/QtAssistantClient4.dll +0 -0
- data/bin/QtCLucene4.dll +0 -0
- data/bin/QtCore4.dll +0 -0
- data/bin/QtDesigner4.dll +0 -0
- data/bin/QtDesignerComponents4.dll +0 -0
- data/bin/QtGui4.dll +0 -0
- data/bin/QtHelp4.dll +0 -0
- data/bin/QtMultimedia4.dll +0 -0
- data/bin/QtNetwork4.dll +0 -0
- data/bin/QtOpenGL4.dll +0 -0
- data/bin/QtScript4.dll +0 -0
- data/bin/QtScriptTools4.dll +0 -0
- data/bin/QtSql4.dll +0 -0
- data/bin/QtSvg4.dll +0 -0
- data/bin/QtTest4.dll +0 -0
- data/bin/QtWebKit4.dll +0 -0
- data/bin/QtXml4.dll +0 -0
- data/bin/QtXmlPatterns4.dll +0 -0
- data/bin/libgcc_s_dw2-1.dll +0 -0
- data/bin/mingwm10.dll +0 -0
- data/bin/phonon4.dll +0 -0
- data/bin/plugins/arthurplugin.dll +0 -0
- data/bin/plugins/containerextension.dll +0 -0
- data/bin/plugins/customwidgetplugin.dll +0 -0
- data/bin/plugins/phononwidgets.dll +0 -0
- data/bin/plugins/qcncodecs4.dll +0 -0
- data/bin/plugins/qgif4.dll +0 -0
- data/bin/plugins/qglgraphicssystem4.dll +0 -0
- data/bin/plugins/qico4.dll +0 -0
- data/bin/plugins/qjpcodecs4.dll +0 -0
- data/bin/plugins/qjpeg4.dll +0 -0
- data/bin/plugins/qkrcodecs4.dll +0 -0
- data/bin/plugins/qmng4.dll +0 -0
- data/bin/plugins/qsqlite4.dll +0 -0
- data/bin/plugins/qsqlodbc4.dll +0 -0
- data/bin/plugins/qsvg4.dll +0 -0
- data/bin/plugins/qsvgicon4.dll +0 -0
- data/bin/plugins/qt3supportwidgets.dll +0 -0
- data/bin/plugins/qtaccessiblecompatwidgets4.dll +0 -0
- data/bin/plugins/qtaccessiblewidgets4.dll +0 -0
- data/bin/plugins/qtiff4.dll +0 -0
- data/bin/plugins/qtracegraphicssystem4.dll +0 -0
- data/bin/plugins/qtwcodecs4.dll +0 -0
- data/bin/plugins/qwebview.dll +0 -0
- data/bin/plugins/taskmenuextension.dll +0 -0
- data/bin/plugins/worldtimeclockplugin.dll +0 -0
- data/bin/rbqtapi +152 -0
- data/bin/rbrcc +18 -0
- data/bin/rbuic4 +18 -0
- data/bin/smokeapi +18 -0
- data/bin/smokedeptool +18 -0
- data/examples/base/kicons.rb +54 -0
- data/examples/base/rui.rb +21 -0
- data/examples/designer/calculatorbuilder/calculatorbuilder.qrc +5 -0
- data/examples/designer/calculatorbuilder/calculatorform.rb +60 -0
- data/examples/designer/calculatorbuilder/calculatorform.ui +299 -0
- data/examples/designer/calculatorbuilder/main.rb +34 -0
- data/examples/designer/calculatorbuilder/makefile +2 -0
- data/examples/designer/calculatorform/calculatorform.rb +46 -0
- data/examples/designer/calculatorform/calculatorform.ui +277 -0
- data/examples/designer/calculatorform/main.rb +32 -0
- data/examples/designer/calculatorform/makefile +3 -0
- data/examples/desktop/screenshot/main.rb +32 -0
- data/examples/desktop/screenshot/screenshot.rb +156 -0
- data/examples/desktop/systray/images/bad.svg +64 -0
- data/examples/desktop/systray/images/heart.svg +55 -0
- data/examples/desktop/systray/images/trash.svg +58 -0
- data/examples/desktop/systray/main.rb +41 -0
- data/examples/desktop/systray/makefile +2 -0
- data/examples/desktop/systray/systray.qrc +7 -0
- data/examples/desktop/systray/window.rb +223 -0
- data/examples/dialogs/complexwizard/complexwizard.rb +140 -0
- data/examples/dialogs/complexwizard/licensewizard.rb +294 -0
- data/examples/dialogs/complexwizard/main.rb +31 -0
- data/examples/dialogs/configdialog/configdialog.rb +109 -0
- data/examples/dialogs/configdialog/images/config.png +0 -0
- data/examples/dialogs/configdialog/images/query.png +0 -0
- data/examples/dialogs/configdialog/images/update.png +0 -0
- data/examples/dialogs/configdialog/main.rb +31 -0
- data/examples/dialogs/configdialog/pages.rb +140 -0
- data/examples/dialogs/extension/finddialog.rb +89 -0
- data/examples/dialogs/extension/main.rb +31 -0
- data/examples/dialogs/findfiles/main.rb +32 -0
- data/examples/dialogs/findfiles/window.rb +177 -0
- data/examples/dialogs/simplewizard/classwizard.rb +374 -0
- data/examples/dialogs/simplewizard/main.rb +31 -0
- data/examples/dialogs/simplewizard/simplewizard.rb +110 -0
- data/examples/dialogs/standarddialogs/dialog.rb +340 -0
- data/examples/dialogs/standarddialogs/main.rb +31 -0
- data/examples/dialogs/tabdialog/main.rb +38 -0
- data/examples/dialogs/tabdialog/tabdialog.rb +178 -0
- data/examples/draganddrop/draggableicons/dragwidget.rb +125 -0
- data/examples/draganddrop/draggableicons/images/boat.png +0 -0
- data/examples/draganddrop/draggableicons/images/car.png +0 -0
- data/examples/draganddrop/draggableicons/images/house.png +0 -0
- data/examples/draganddrop/draggableicons/main.rb +41 -0
- data/examples/draganddrop/draggabletext/draglabel.rb +51 -0
- data/examples/draganddrop/draggabletext/dragwidget.rb +94 -0
- data/examples/draganddrop/draggabletext/main.rb +33 -0
- data/examples/draganddrop/draggabletext/words.txt +41 -0
- data/examples/draganddrop/dropsite/dropsitewidget.rb +98 -0
- data/examples/draganddrop/dropsite/dropsitewindow.rb +114 -0
- data/examples/draganddrop/dropsite/main.rb +33 -0
- data/examples/draganddrop/fridgemagnets/draglabel.rb +78 -0
- data/examples/draganddrop/fridgemagnets/dragwidget.rb +130 -0
- data/examples/draganddrop/fridgemagnets/main.rb +33 -0
- data/examples/draganddrop/fridgemagnets/words.txt +48 -0
- data/examples/draganddrop/puzzle/example.jpg +0 -0
- data/examples/draganddrop/puzzle/main.rb +33 -0
- data/examples/draganddrop/puzzle/mainwindow.rb +136 -0
- data/examples/draganddrop/puzzle/pieceslist.rb +95 -0
- data/examples/draganddrop/puzzle/puzzlewidget.rb +190 -0
- data/examples/graphicsview/collidingmice/images/cheese.jpg +0 -0
- data/examples/graphicsview/collidingmice/main.rb +53 -0
- data/examples/graphicsview/collidingmice/makefile +2 -0
- data/examples/graphicsview/collidingmice/mice.qrc +5 -0
- data/examples/graphicsview/collidingmice/mouse.rb +176 -0
- data/examples/graphicsview/dragdroprobot/coloritem.rb +86 -0
- data/examples/graphicsview/dragdroprobot/images/head.png +0 -0
- data/examples/graphicsview/dragdroprobot/main.rb +57 -0
- data/examples/graphicsview/dragdroprobot/makefile +2 -0
- data/examples/graphicsview/dragdroprobot/robot.qrc +5 -0
- data/examples/graphicsview/dragdroprobot/robot.rb +246 -0
- data/examples/itemviews/chart/chart.qrc +5 -0
- data/examples/itemviews/chart/main.rb +33 -0
- data/examples/itemviews/chart/mainwindow.rb +151 -0
- data/examples/itemviews/chart/makefile +2 -0
- data/examples/itemviews/chart/mydata.cht +8 -0
- data/examples/itemviews/chart/pieview.rb +516 -0
- data/examples/itemviews/chart/qtdata.cht +14 -0
- data/examples/itemviews/dirview/main.rb +39 -0
- data/examples/itemviews/pixelator/imagemodel.rb +51 -0
- data/examples/itemviews/pixelator/images.qrc +5 -0
- data/examples/itemviews/pixelator/images/qt.png +0 -0
- data/examples/itemviews/pixelator/main.rb +34 -0
- data/examples/itemviews/pixelator/mainwindow.rb +218 -0
- data/examples/itemviews/pixelator/makefile +3 -0
- data/examples/itemviews/pixelator/pixeldelegate.rb +67 -0
- data/examples/itemviews/puzzle/example.jpg +0 -0
- data/examples/itemviews/puzzle/main.rb +36 -0
- data/examples/itemviews/puzzle/mainwindow.rb +143 -0
- data/examples/itemviews/puzzle/piecesmodel.rb +174 -0
- data/examples/itemviews/puzzle/puzzlewidget.rb +192 -0
- data/examples/itemviews/simpledommodel/domitem.rb +62 -0
- data/examples/itemviews/simpledommodel/dommodel.rb +139 -0
- data/examples/itemviews/simpledommodel/main.rb +33 -0
- data/examples/itemviews/simpledommodel/mainwindow.rb +66 -0
- data/examples/itemviews/simpletreemodel/default.txt +40 -0
- data/examples/itemviews/simpletreemodel/main.rb +41 -0
- data/examples/itemviews/simpletreemodel/makefile +2 -0
- data/examples/itemviews/simpletreemodel/simpletreemodel.qrc +5 -0
- data/examples/itemviews/simpletreemodel/treeitem.rb +67 -0
- data/examples/itemviews/simpletreemodel/treemodel.rb +164 -0
- data/examples/itemviews/sortingmodel/default.txt +40 -0
- data/examples/itemviews/sortingmodel/main.rb +53 -0
- data/examples/itemviews/sortingmodel/treeitem.rb +73 -0
- data/examples/itemviews/sortingmodel/treemodel.rb +166 -0
- data/examples/itemviews/spinboxdelegate/main.rb +47 -0
- data/examples/itemviews/spinboxdelegate/spinboxdelegate.rb +62 -0
- data/examples/killerfilter/killerfilter.rb +55 -0
- data/examples/layouts/basiclayouts/dialog.rb +110 -0
- data/examples/layouts/basiclayouts/main.rb +31 -0
- data/examples/layouts/borderlayout/borderlayout.rb +190 -0
- data/examples/layouts/borderlayout/main.rb +32 -0
- data/examples/layouts/borderlayout/window.rb +52 -0
- data/examples/layouts/flowlayouts/flowlayout.rb +108 -0
- data/examples/layouts/flowlayouts/main.rb +32 -0
- data/examples/layouts/flowlayouts/window.rb +43 -0
- data/examples/mainwindows/application/images/copy.png +0 -0
- data/examples/mainwindows/application/images/cut.png +0 -0
- data/examples/mainwindows/application/images/new.png +0 -0
- data/examples/mainwindows/application/images/open.png +0 -0
- data/examples/mainwindows/application/images/paste.png +0 -0
- data/examples/mainwindows/application/images/save.png +0 -0
- data/examples/mainwindows/application/main.rb +32 -0
- data/examples/mainwindows/application/mainwindow.rb +285 -0
- data/examples/mainwindows/dockwidgets/images/new.png +0 -0
- data/examples/mainwindows/dockwidgets/images/print.png +0 -0
- data/examples/mainwindows/dockwidgets/images/save.png +0 -0
- data/examples/mainwindows/dockwidgets/images/undo.png +0 -0
- data/examples/mainwindows/dockwidgets/main.rb +32 -0
- data/examples/mainwindows/dockwidgets/mainwindow.rb +302 -0
- data/examples/mainwindows/mdi/images/copy.png +0 -0
- data/examples/mainwindows/mdi/images/cut.png +0 -0
- data/examples/mainwindows/mdi/images/new.png +0 -0
- data/examples/mainwindows/mdi/images/open.png +0 -0
- data/examples/mainwindows/mdi/images/paste.png +0 -0
- data/examples/mainwindows/mdi/images/save.png +0 -0
- data/examples/mainwindows/mdi/main.rb +32 -0
- data/examples/mainwindows/mdi/mainwindow.rb +363 -0
- data/examples/mainwindows/mdi/mdichild.rb +152 -0
- data/examples/mainwindows/menus/main.rb +32 -0
- data/examples/mainwindows/menus/mainwindow.rb +327 -0
- data/examples/mainwindows/recentfiles/main.rb +32 -0
- data/examples/mainwindows/recentfiles/mainwindow.rb +258 -0
- data/examples/mainwindows/sdi/images/copy.png +0 -0
- data/examples/mainwindows/sdi/images/cut.png +0 -0
- data/examples/mainwindows/sdi/images/new.png +0 -0
- data/examples/mainwindows/sdi/images/open.png +0 -0
- data/examples/mainwindows/sdi/images/paste.png +0 -0
- data/examples/mainwindows/sdi/images/save.png +0 -0
- data/examples/mainwindows/sdi/main.rb +32 -0
- data/examples/mainwindows/sdi/mainwindow.rb +335 -0
- data/examples/network/broadcastreceiver/main.rb +32 -0
- data/examples/network/broadcastreceiver/receiver.rb +64 -0
- data/examples/network/broadcastsender/main.rb +32 -0
- data/examples/network/broadcastsender/sender.rb +70 -0
- data/examples/network/fortuneclient/client.rb +150 -0
- data/examples/network/fortuneclient/main.rb +32 -0
- data/examples/network/fortuneserver/main.rb +32 -0
- data/examples/network/fortuneserver/server.rb +88 -0
- data/examples/network/ftp/ftpwindow.rb +254 -0
- data/examples/network/ftp/images/cdtoparent.png +0 -0
- data/examples/network/ftp/images/dir.png +0 -0
- data/examples/network/ftp/images/file.png +0 -0
- data/examples/network/ftp/main.rb +32 -0
- data/examples/network/http/httpwindow.rb +187 -0
- data/examples/network/http/main.rb +32 -0
- data/examples/network/loopback/dialog.rb +163 -0
- data/examples/network/loopback/main.rb +32 -0
- data/examples/opengl/grabber/glwidget.rb +265 -0
- data/examples/opengl/grabber/main.rb +32 -0
- data/examples/opengl/grabber/mainwindow.rb +189 -0
- data/examples/opengl/hellogl/glwidget.rb +226 -0
- data/examples/opengl/hellogl/main.rb +32 -0
- data/examples/opengl/hellogl/window.rb +66 -0
- data/examples/opengl/textures/glwidget.rb +151 -0
- data/examples/opengl/textures/images/side1.png +0 -0
- data/examples/opengl/textures/images/side2.png +0 -0
- data/examples/opengl/textures/images/side3.png +0 -0
- data/examples/opengl/textures/images/side4.png +0 -0
- data/examples/opengl/textures/images/side5.png +0 -0
- data/examples/opengl/textures/images/side6.png +0 -0
- data/examples/opengl/textures/main.rb +32 -0
- data/examples/opengl/textures/window.rb +77 -0
- data/examples/painting/basicdrawing/images/brick.png +0 -0
- data/examples/painting/basicdrawing/images/qt-logo.png +0 -0
- data/examples/painting/basicdrawing/main.rb +32 -0
- data/examples/painting/basicdrawing/renderarea.rb +166 -0
- data/examples/painting/basicdrawing/window.rb +215 -0
- data/examples/painting/concentriccircles/circlewidget.rb +88 -0
- data/examples/painting/concentriccircles/main.rb +32 -0
- data/examples/painting/concentriccircles/window.rb +72 -0
- data/examples/painting/fontsampler/main.rb +32 -0
- data/examples/painting/fontsampler/mainwindow.rb +368 -0
- data/examples/painting/fontsampler/mainwindowbase.ui +136 -0
- data/examples/painting/fontsampler/makefile +8 -0
- data/examples/painting/fontsampler/previewdialog.rb +256 -0
- data/examples/painting/fontsampler/previewdialogbase.ui +224 -0
- data/examples/painting/fontsampler/previewlabel.rb +43 -0
- data/examples/painting/imagecomposition/imagecomposer.rb +152 -0
- data/examples/painting/imagecomposition/imagecomposition.qrc +6 -0
- data/examples/painting/imagecomposition/images/background.png +0 -0
- data/examples/painting/imagecomposition/images/blackrectangle.png +0 -0
- data/examples/painting/imagecomposition/images/butterfly.png +0 -0
- data/examples/painting/imagecomposition/images/checker.png +0 -0
- data/examples/painting/imagecomposition/main.rb +33 -0
- data/examples/painting/imagecomposition/makefile +2 -0
- data/examples/painting/painterpaths/main.rb +32 -0
- data/examples/painting/painterpaths/renderarea.rb +97 -0
- data/examples/painting/painterpaths/window.rb +247 -0
- data/examples/painting/svgviewer/files/bubbles.svg +212 -0
- data/examples/painting/svgviewer/files/cubic.svg +77 -0
- data/examples/painting/svgviewer/files/spheres.svg +79 -0
- data/examples/painting/svgviewer/main.rb +38 -0
- data/examples/painting/svgviewer/mainwindow.rb +99 -0
- data/examples/painting/svgviewer/makefile +2 -0
- data/examples/painting/svgviewer/svgview.rb +156 -0
- data/examples/painting/svgviewer/svgviewer.qrc +6 -0
- data/examples/painting/svgviewer/svgwindow.rb +87 -0
- data/examples/painting/transformations/main.rb +32 -0
- data/examples/painting/transformations/renderarea.rb +127 -0
- data/examples/painting/transformations/window.rb +153 -0
- data/examples/passivepopup/passivepopup.rb +38 -0
- data/examples/qdbus/chat/chat.rb +146 -0
- data/examples/qdbus/chat/chat_adaptor.rb +12 -0
- data/examples/qdbus/chat/chat_interface.rb +13 -0
- data/examples/qdbus/chat/chatmainwindow.ui +184 -0
- data/examples/qdbus/chat/chatsetnickname.ui +145 -0
- data/examples/qdbus/chat/makefile +8 -0
- data/examples/qdbus/complexpingpong/complexping.rb +92 -0
- data/examples/qdbus/complexpingpong/complexpong.rb +83 -0
- data/examples/qdbus/complexpingpong/ping-common.rb +1 -0
- data/examples/qdbus/listnames/listnames.rb +69 -0
- data/examples/qdbus/pingpong/ping-common.rb +1 -0
- data/examples/qdbus/pingpong/ping.rb +52 -0
- data/examples/qdbus/pingpong/pong.rb +55 -0
- data/examples/qdbus/remotecontrolledcar/car/car.rb +151 -0
- data/examples/qdbus/remotecontrolledcar/car/main.rb +50 -0
- data/examples/qdbus/remotecontrolledcar/controller/controller.rb +66 -0
- data/examples/qdbus/remotecontrolledcar/controller/controller.ui +61 -0
- data/examples/qdbus/remotecontrolledcar/controller/main.rb +32 -0
- data/examples/qdbus/remotecontrolledcar/controller/makefile +2 -0
- data/examples/qtscribble/scribble.rb +270 -0
- data/examples/richtext/calendar/main.rb +33 -0
- data/examples/richtext/calendar/mainwindow.rb +173 -0
- data/examples/richtext/orderform/detailsdialog.rb +130 -0
- data/examples/richtext/orderform/main.rb +34 -0
- data/examples/richtext/orderform/mainwindow.rb +194 -0
- data/examples/richtext/syntaxhighlighter/examples/example +79 -0
- data/examples/richtext/syntaxhighlighter/highlighter.rb +90 -0
- data/examples/richtext/syntaxhighlighter/main.rb +34 -0
- data/examples/richtext/syntaxhighlighter/mainwindow.rb +105 -0
- data/examples/ruboids/Manifest +26 -0
- data/examples/ruboids/README +53 -0
- data/examples/ruboids/TODO +29 -0
- data/examples/ruboids/boids.properties +33 -0
- data/examples/ruboids/generateManifest.rb +42 -0
- data/examples/ruboids/index.html +147 -0
- data/examples/ruboids/release.rb +152 -0
- data/examples/ruboids/ruboids/Boid.rb +141 -0
- data/examples/ruboids/ruboids/BoidView.rb +159 -0
- data/examples/ruboids/ruboids/Camera.rb +24 -0
- data/examples/ruboids/ruboids/CameraDialog.rb +218 -0
- data/examples/ruboids/ruboids/Canvas.rb +143 -0
- data/examples/ruboids/ruboids/Cloud.rb +61 -0
- data/examples/ruboids/ruboids/CloudView.rb +54 -0
- data/examples/ruboids/ruboids/Flock.rb +47 -0
- data/examples/ruboids/ruboids/Graphics.rb +278 -0
- data/examples/ruboids/ruboids/Params.rb +87 -0
- data/examples/ruboids/ruboids/Point.rb +153 -0
- data/examples/ruboids/ruboids/Thing.rb +34 -0
- data/examples/ruboids/ruboids/Triangle.rb +21 -0
- data/examples/ruboids/ruboids/View.rb +88 -0
- data/examples/ruboids/ruboids/World.rb +82 -0
- data/examples/ruboids/ruboids/WorldWindow.rb +52 -0
- data/examples/ruboids/ruboids/info.rb +12 -0
- data/examples/ruboids/ruboids/ruboids.rb +29 -0
- data/examples/run_all.rb +14 -0
- data/examples/textedit/textedit.rb +150 -0
- data/examples/tutorial/t1/t1.rb +10 -0
- data/examples/tutorial/t10/cannon.rb +72 -0
- data/examples/tutorial/t10/lcdrange.rb +45 -0
- data/examples/tutorial/t10/t10.rb +55 -0
- data/examples/tutorial/t11/cannon.rb +124 -0
- data/examples/tutorial/t11/lcdrange.rb +45 -0
- data/examples/tutorial/t11/t11.rb +65 -0
- data/examples/tutorial/t12/cannon.rb +158 -0
- data/examples/tutorial/t12/lcdrange.rb +59 -0
- data/examples/tutorial/t12/t12.rb +66 -0
- data/examples/tutorial/t13/cannon.rb +208 -0
- data/examples/tutorial/t13/gamebrd.rb +113 -0
- data/examples/tutorial/t13/lcdrange.rb +60 -0
- data/examples/tutorial/t13/t13.rb +11 -0
- data/examples/tutorial/t14/cannon.rb +263 -0
- data/examples/tutorial/t14/gamebrd.rb +123 -0
- data/examples/tutorial/t14/lcdrange.rb +63 -0
- data/examples/tutorial/t14/t14.rb +11 -0
- data/examples/tutorial/t2/t2.rb +16 -0
- data/examples/tutorial/t3/t3.rb +18 -0
- data/examples/tutorial/t4/t4.rb +25 -0
- data/examples/tutorial/t5/t5.rb +37 -0
- data/examples/tutorial/t6/t6.rb +52 -0
- data/examples/tutorial/t7/lcdrange.rb +32 -0
- data/examples/tutorial/t7/t7.rb +42 -0
- data/examples/tutorial/t8/cannon.rb +38 -0
- data/examples/tutorial/t8/lcdrange.rb +45 -0
- data/examples/tutorial/t8/t8.rb +43 -0
- data/examples/tutorial/t9/cannon.rb +45 -0
- data/examples/tutorial/t9/lcdrange.rb +46 -0
- data/examples/tutorial/t9/t9.rb +43 -0
- data/examples/widgets/analogclock/analogclock.rb +94 -0
- data/examples/widgets/analogclock/main.rb +9 -0
- data/examples/widgets/calculator/button.rb +45 -0
- data/examples/widgets/calculator/calculator.rb +382 -0
- data/examples/widgets/calculator/main.rb +32 -0
- data/examples/widgets/charactermap/characterwidget.rb +110 -0
- data/examples/widgets/charactermap/main.rb +32 -0
- data/examples/widgets/charactermap/mainwindow.rb +118 -0
- data/examples/widgets/digitalclock/digitalclock.rb +30 -0
- data/examples/widgets/digitalclock/main.rb +9 -0
- data/examples/widgets/groupbox/main.rb +32 -0
- data/examples/widgets/groupbox/window.rb +134 -0
- data/examples/widgets/icons/iconpreviewarea.rb +111 -0
- data/examples/widgets/icons/iconsizespinbox.rb +39 -0
- data/examples/widgets/icons/imagedelegate.rb +73 -0
- data/examples/widgets/icons/images/designer.png +0 -0
- data/examples/widgets/icons/images/find_disabled.png +0 -0
- data/examples/widgets/icons/images/find_normal.png +0 -0
- data/examples/widgets/icons/images/monkey_off_128x128.png +0 -0
- data/examples/widgets/icons/images/monkey_off_16x16.png +0 -0
- data/examples/widgets/icons/images/monkey_off_32x32.png +0 -0
- data/examples/widgets/icons/images/monkey_off_64x64.png +0 -0
- data/examples/widgets/icons/images/monkey_on_128x128.png +0 -0
- data/examples/widgets/icons/images/monkey_on_16x16.png +0 -0
- data/examples/widgets/icons/images/monkey_on_32x32.png +0 -0
- data/examples/widgets/icons/images/monkey_on_64x64.png +0 -0
- data/examples/widgets/icons/images/qtopia_16x16.png +0 -0
- data/examples/widgets/icons/images/qtopia_32x32.png +0 -0
- data/examples/widgets/icons/images/qtopia_48x48.png +0 -0
- data/examples/widgets/icons/main.rb +32 -0
- data/examples/widgets/icons/mainwindow.rb +351 -0
- data/examples/widgets/imageviewer/imageviewer.rb +219 -0
- data/examples/widgets/imageviewer/main.rb +32 -0
- data/examples/widgets/lineedits/main.rb +32 -0
- data/examples/widgets/lineedits/window.rb +199 -0
- data/examples/widgets/movie/images/open.png +0 -0
- data/examples/widgets/movie/images/pause.png +0 -0
- data/examples/widgets/movie/images/play.png +0 -0
- data/examples/widgets/movie/images/quit.png +0 -0
- data/examples/widgets/movie/images/stop.png +0 -0
- data/examples/widgets/movie/main.rb +32 -0
- data/examples/widgets/movie/movieplayer.rb +201 -0
- data/examples/widgets/movie/movies/fire.mng +0 -0
- data/examples/widgets/screenshot/main.rb +32 -0
- data/examples/widgets/screenshot/screenshot.rb +155 -0
- data/examples/widgets/scribble/main.rb +32 -0
- data/examples/widgets/scribble/mainwindow.rb +202 -0
- data/examples/widgets/scribble/scribblearea.rb +154 -0
- data/examples/widgets/sliders/main.rb +32 -0
- data/examples/widgets/sliders/slidersgroup.rb +97 -0
- data/examples/widgets/sliders/window.rb +124 -0
- data/examples/widgets/spinboxes/main.rb +32 -0
- data/examples/widgets/spinboxes/window.rb +213 -0
- data/examples/widgets/tetrix/main.rb +33 -0
- data/examples/widgets/tetrix/tetrixboard.rb +346 -0
- data/examples/widgets/tetrix/tetrixpiece.rb +135 -0
- data/examples/widgets/tetrix/tetrixwindow.rb +88 -0
- data/examples/widgets/tooltips/images/circle.png +0 -0
- data/examples/widgets/tooltips/images/square.png +0 -0
- data/examples/widgets/tooltips/images/triangle.png +0 -0
- data/examples/widgets/tooltips/main.rb +32 -0
- data/examples/widgets/tooltips/shapeitem.rb +31 -0
- data/examples/widgets/tooltips/sortingbox.rb +222 -0
- data/examples/widgets/wiggly/dialog.rb +48 -0
- data/examples/widgets/wiggly/main.rb +9 -0
- data/examples/widgets/wiggly/wigglywidget.rb +76 -0
- data/examples/widgets/windowflags/controllerwindow.rb +195 -0
- data/examples/widgets/windowflags/main.rb +32 -0
- data/examples/widgets/windowflags/previewwindow.rb +103 -0
- data/examples/xml/dombookmarks/frank.xbel +230 -0
- data/examples/xml/dombookmarks/jennifer.xbel +93 -0
- data/examples/xml/dombookmarks/main.rb +34 -0
- data/examples/xml/dombookmarks/mainwindow.rb +129 -0
- data/examples/xml/dombookmarks/xbeltree.rb +172 -0
- data/examples/xml/saxbookmarks/frank.xbel +230 -0
- data/examples/xml/saxbookmarks/jennifer.xbel +93 -0
- data/examples/xml/saxbookmarks/main.rb +34 -0
- data/examples/xml/saxbookmarks/mainwindow.rb +144 -0
- data/examples/xml/saxbookmarks/xbelgenerator.rb +95 -0
- data/examples/xml/saxbookmarks/xbelhandler.rb +122 -0
- data/ext/CMakeLists.txt +22 -0
- data/ext/cmake/modules/CMakeCSharpCompiler.cmake.in +7 -0
- data/ext/cmake/modules/CMakeCSharpInformation.cmake +366 -0
- data/ext/cmake/modules/CMakeDetermineCSharpCompiler.cmake +85 -0
- data/ext/cmake/modules/CMakeTestCSharpCompiler.cmake +1 -0
- data/ext/cmake/modules/CheckCXXSourceCompiles.cmake +68 -0
- data/ext/cmake/modules/FindMono.cmake +36 -0
- data/ext/cmake/modules/FindPHP5.cmake +179 -0
- data/ext/cmake/modules/FindPerlMore.cmake +78 -0
- data/ext/cmake/modules/FindQScintilla.cmake +57 -0
- data/ext/cmake/modules/FindQt4.cmake +1271 -0
- data/ext/cmake/modules/FindQwt5.cmake +104 -0
- data/ext/cmake/modules/FindRuby.cmake +261 -0
- data/ext/cmake/modules/FindSmoke.cmake +78 -0
- data/ext/cmake/modules/HandleImportedTargetsInCMakeRequiredLibraries.cmake +85 -0
- data/ext/cmake/modules/MacroLogFeature.cmake +146 -0
- data/ext/cmake/modules/MacroOptionalAddBindings.cmake +47 -0
- data/ext/cmake/modules/MacroOptionalFindPackage.cmake +48 -0
- data/ext/cmake/modules/MacroPushRequiredVars.cmake +47 -0
- data/ext/cmake/modules/Qt4ConfigDependentSettings.cmake +384 -0
- data/ext/cmake/modules/Qt4Macros.cmake +414 -0
- data/ext/generator/CMakeLists.txt +38 -0
- data/ext/generator/generator_export.h +31 -0
- data/ext/generator/generatorenvironment.cpp +52 -0
- data/ext/generator/generatorenvironment.h +35 -0
- data/ext/generator/generatorpreprocessor.cpp +242 -0
- data/ext/generator/generatorpreprocessor.h +83 -0
- data/ext/generator/generators/CMakeLists.txt +4 -0
- data/ext/generator/generators/dump/CMakeLists.txt +10 -0
- data/ext/generator/generators/dump/generator_dump.cpp +36 -0
- data/ext/generator/generators/smoke/CMakeLists.txt +13 -0
- data/ext/generator/generators/smoke/generator_smoke.cpp +233 -0
- data/ext/generator/generators/smoke/globals.h +138 -0
- data/ext/generator/generators/smoke/helpers.cpp +773 -0
- data/ext/generator/generators/smoke/writeClasses.cpp +502 -0
- data/ext/generator/generators/smoke/writeSmokeDataFile.cpp +729 -0
- data/ext/generator/generatorvisitor.cpp +922 -0
- data/ext/generator/generatorvisitor.h +119 -0
- data/ext/generator/main.cpp +239 -0
- data/ext/generator/name_compiler.cpp +205 -0
- data/ext/generator/name_compiler.h +76 -0
- data/ext/generator/options.cpp +32 -0
- data/ext/generator/options.h +45 -0
- data/ext/generator/parser/CMakeLists.txt +41 -0
- data/ext/generator/parser/ast.cpp +21 -0
- data/ext/generator/parser/ast.h +923 -0
- data/ext/generator/parser/astutilities.h +65 -0
- data/ext/generator/parser/codegenerator.cpp +867 -0
- data/ext/generator/parser/codegenerator.h +180 -0
- data/ext/generator/parser/codemodel_fwd.h +76 -0
- data/ext/generator/parser/commentformatter.cpp +54 -0
- data/ext/generator/parser/commentformatter.h +45 -0
- data/ext/generator/parser/commentparser.cpp +109 -0
- data/ext/generator/parser/commentparser.h +84 -0
- data/ext/generator/parser/control.cpp +40 -0
- data/ext/generator/parser/control.h +51 -0
- data/ext/generator/parser/cppparser_export.h +33 -0
- data/ext/generator/parser/default_visitor.cpp +470 -0
- data/ext/generator/parser/default_visitor.h +116 -0
- data/ext/generator/parser/dumptree.cpp +146 -0
- data/ext/generator/parser/dumptree.h +50 -0
- data/ext/generator/parser/indexedstring.cpp +213 -0
- data/ext/generator/parser/indexedstring.h +147 -0
- data/ext/generator/parser/kdevelop-parser-rev +1 -0
- data/ext/generator/parser/kdevvarlengtharray.h +346 -0
- data/ext/generator/parser/lexer.cpp +963 -0
- data/ext/generator/parser/lexer.h +308 -0
- data/ext/generator/parser/listnode.cpp +20 -0
- data/ext/generator/parser/listnode.h +97 -0
- data/ext/generator/parser/memorypool.cpp +20 -0
- data/ext/generator/parser/memorypool.h +41 -0
- data/ext/generator/parser/name_compiler.cpp +190 -0
- data/ext/generator/parser/name_compiler.h +77 -0
- data/ext/generator/parser/parser.cpp +4706 -0
- data/ext/generator/parser/parser.h +300 -0
- data/ext/generator/parser/parsesession.cpp +105 -0
- data/ext/generator/parser/parsesession.h +87 -0
- data/ext/generator/parser/problem.h +21 -0
- data/ext/generator/parser/rpp/CMakeLists.txt +39 -0
- data/ext/generator/parser/rpp/Makefile.am +13 -0
- data/ext/generator/parser/rpp/anchor.h +51 -0
- data/ext/generator/parser/rpp/appendedlist.h +363 -0
- data/ext/generator/parser/rpp/chartools.cpp +126 -0
- data/ext/generator/parser/rpp/chartools.h +90 -0
- data/ext/generator/parser/rpp/macrorepository.cpp +44 -0
- data/ext/generator/parser/rpp/macrorepository.h +59 -0
- data/ext/generator/parser/rpp/pp-configuration +86 -0
- data/ext/generator/parser/rpp/pp-engine.cpp +1216 -0
- data/ext/generator/parser/rpp/pp-engine.h +267 -0
- data/ext/generator/parser/rpp/pp-environment.cpp +271 -0
- data/ext/generator/parser/rpp/pp-environment.h +119 -0
- data/ext/generator/parser/rpp/pp-internal.cpp +38 -0
- data/ext/generator/parser/rpp/pp-internal.h +37 -0
- data/ext/generator/parser/rpp/pp-location.cpp +191 -0
- data/ext/generator/parser/rpp/pp-location.h +89 -0
- data/ext/generator/parser/rpp/pp-macro-expander.cpp +568 -0
- data/ext/generator/parser/rpp/pp-macro-expander.cpp.orig +558 -0
- data/ext/generator/parser/rpp/pp-macro-expander.h +130 -0
- data/ext/generator/parser/rpp/pp-macro.cpp +153 -0
- data/ext/generator/parser/rpp/pp-macro.h +176 -0
- data/ext/generator/parser/rpp/pp-scanner.cpp +310 -0
- data/ext/generator/parser/rpp/pp-scanner.h +97 -0
- data/ext/generator/parser/rpp/pp-stream.cpp +425 -0
- data/ext/generator/parser/rpp/pp-stream.h +183 -0
- data/ext/generator/parser/rpp/preprocessor.cpp +65 -0
- data/ext/generator/parser/rpp/preprocessor.h +80 -0
- data/ext/generator/parser/rpp/rpp.pri +2 -0
- data/ext/generator/parser/rpp/test/t001.cpp +23 -0
- data/ext/generator/parser/rpp/test/t002.cpp +15 -0
- data/ext/generator/parser/rpp/test/t003.cpp +10 -0
- data/ext/generator/parser/rpp/test/t004.cpp +9 -0
- data/ext/generator/parser/rpp/test/t005.cpp +10 -0
- data/ext/generator/parser/rpp/test/t006.cpp +10 -0
- data/ext/generator/parser/rpp/test/t007.cpp +6 -0
- data/ext/generator/parser/rpp/test/t008.cpp +6 -0
- data/ext/generator/parser/rpp/test/t009.cpp +5 -0
- data/ext/generator/parser/rpp/test/t010.cpp +15 -0
- data/ext/generator/parser/rpp/test/t011.cpp +9 -0
- data/ext/generator/parser/rpp/tests/CMakeLists.txt +13 -0
- data/ext/generator/parser/rpp/tests/main.cpp +69 -0
- data/ext/generator/parser/rxx.pri +50 -0
- data/ext/generator/parser/rxx_allocator.h +128 -0
- data/ext/generator/parser/safetycounter.h +57 -0
- data/ext/generator/parser/simplecursor.h +74 -0
- data/ext/generator/parser/stringhelpers.cpp +577 -0
- data/ext/generator/parser/stringhelpers.h +118 -0
- data/ext/generator/parser/symbol.h +140 -0
- data/ext/generator/parser/tests/CMakeLists.txt +30 -0
- data/ext/generator/parser/tests/test_generator.cpp +259 -0
- data/ext/generator/parser/tests/test_parser.cpp +474 -0
- data/ext/generator/parser/tests/test_pool.cpp +109 -0
- data/ext/generator/parser/tests/test_pool.h +35 -0
- data/ext/generator/parser/tests/testconfig.h.cmake +4 -0
- data/ext/generator/parser/tokens.cpp +364 -0
- data/ext/generator/parser/tokens.h +147 -0
- data/ext/generator/parser/type_compiler.cpp +135 -0
- data/ext/generator/parser/type_compiler.h +68 -0
- data/ext/generator/parser/visitor.cpp +115 -0
- data/ext/generator/parser/visitor.h +138 -0
- data/ext/generator/type.cpp +195 -0
- data/ext/generator/type.h +497 -0
- data/ext/generator/type_compiler.cpp +275 -0
- data/ext/generator/type_compiler.h +80 -0
- data/ext/ruby/CMakeLists.txt +63 -0
- data/ext/ruby/qtruby/AUTHORS +54 -0
- data/ext/ruby/qtruby/CMakeLists.txt +4 -0
- data/ext/ruby/qtruby/COPYING +355 -0
- data/ext/ruby/qtruby/COPYING.LIB +510 -0
- data/ext/ruby/qtruby/ChangeLog +3732 -0
- data/ext/ruby/qtruby/INSTALL +79 -0
- data/ext/ruby/qtruby/README +264 -0
- data/ext/ruby/qtruby/TODO +8 -0
- data/ext/ruby/qtruby/bin/CMakeLists.txt +1 -0
- data/ext/ruby/qtruby/bin/rbqtapi +152 -0
- data/ext/ruby/qtruby/examples/base/kicons.rb +54 -0
- data/ext/ruby/qtruby/examples/base/rui.rb +21 -0
- data/ext/ruby/qtruby/examples/designer/calculatorbuilder/calculatorbuilder.qrc +5 -0
- data/ext/ruby/qtruby/examples/designer/calculatorbuilder/calculatorform.rb +60 -0
- data/ext/ruby/qtruby/examples/designer/calculatorbuilder/calculatorform.ui +299 -0
- data/ext/ruby/qtruby/examples/designer/calculatorbuilder/main.rb +33 -0
- data/ext/ruby/qtruby/examples/designer/calculatorbuilder/makefile +2 -0
- data/ext/ruby/qtruby/examples/designer/calculatorform/calculatorform.rb +46 -0
- data/ext/ruby/qtruby/examples/designer/calculatorform/calculatorform.ui +277 -0
- data/ext/ruby/qtruby/examples/designer/calculatorform/main.rb +32 -0
- data/ext/ruby/qtruby/examples/designer/calculatorform/makefile +3 -0
- data/ext/ruby/qtruby/examples/desktop/screenshot/main.rb +32 -0
- data/ext/ruby/qtruby/examples/desktop/screenshot/screenshot.rb +156 -0
- data/ext/ruby/qtruby/examples/desktop/systray/images/bad.svg +64 -0
- data/ext/ruby/qtruby/examples/desktop/systray/images/heart.svg +55 -0
- data/ext/ruby/qtruby/examples/desktop/systray/images/trash.svg +58 -0
- data/ext/ruby/qtruby/examples/desktop/systray/main.rb +41 -0
- data/ext/ruby/qtruby/examples/desktop/systray/makefile +2 -0
- data/ext/ruby/qtruby/examples/desktop/systray/systray.qrc +7 -0
- data/ext/ruby/qtruby/examples/desktop/systray/window.rb +223 -0
- data/ext/ruby/qtruby/examples/dialogs/complexwizard/complexwizard.rb +140 -0
- data/ext/ruby/qtruby/examples/dialogs/complexwizard/licensewizard.rb +294 -0
- data/ext/ruby/qtruby/examples/dialogs/complexwizard/main.rb +31 -0
- data/ext/ruby/qtruby/examples/dialogs/configdialog/configdialog.rb +109 -0
- data/ext/ruby/qtruby/examples/dialogs/configdialog/images/config.png +0 -0
- data/ext/ruby/qtruby/examples/dialogs/configdialog/images/query.png +0 -0
- data/ext/ruby/qtruby/examples/dialogs/configdialog/images/update.png +0 -0
- data/ext/ruby/qtruby/examples/dialogs/configdialog/main.rb +31 -0
- data/ext/ruby/qtruby/examples/dialogs/configdialog/pages.rb +140 -0
- data/ext/ruby/qtruby/examples/dialogs/extension/finddialog.rb +89 -0
- data/ext/ruby/qtruby/examples/dialogs/extension/main.rb +31 -0
- data/ext/ruby/qtruby/examples/dialogs/findfiles/main.rb +32 -0
- data/ext/ruby/qtruby/examples/dialogs/findfiles/window.rb +177 -0
- data/ext/ruby/qtruby/examples/dialogs/simplewizard/classwizard.rb +374 -0
- data/ext/ruby/qtruby/examples/dialogs/simplewizard/main.rb +31 -0
- data/ext/ruby/qtruby/examples/dialogs/simplewizard/simplewizard.rb +110 -0
- data/ext/ruby/qtruby/examples/dialogs/standarddialogs/dialog.rb +340 -0
- data/ext/ruby/qtruby/examples/dialogs/standarddialogs/main.rb +31 -0
- data/ext/ruby/qtruby/examples/dialogs/tabdialog/main.rb +38 -0
- data/ext/ruby/qtruby/examples/dialogs/tabdialog/tabdialog.rb +178 -0
- data/ext/ruby/qtruby/examples/draganddrop/draggableicons/dragwidget.rb +125 -0
- data/ext/ruby/qtruby/examples/draganddrop/draggableicons/images/boat.png +0 -0
- data/ext/ruby/qtruby/examples/draganddrop/draggableicons/images/car.png +0 -0
- data/ext/ruby/qtruby/examples/draganddrop/draggableicons/images/house.png +0 -0
- data/ext/ruby/qtruby/examples/draganddrop/draggableicons/main.rb +41 -0
- data/ext/ruby/qtruby/examples/draganddrop/draggabletext/draglabel.rb +51 -0
- data/ext/ruby/qtruby/examples/draganddrop/draggabletext/dragwidget.rb +94 -0
- data/ext/ruby/qtruby/examples/draganddrop/draggabletext/main.rb +33 -0
- data/ext/ruby/qtruby/examples/draganddrop/draggabletext/words.txt +41 -0
- data/ext/ruby/qtruby/examples/draganddrop/dropsite/dropsitewidget.rb +98 -0
- data/ext/ruby/qtruby/examples/draganddrop/dropsite/dropsitewindow.rb +114 -0
- data/ext/ruby/qtruby/examples/draganddrop/dropsite/main.rb +33 -0
- data/ext/ruby/qtruby/examples/draganddrop/fridgemagnets/draglabel.rb +78 -0
- data/ext/ruby/qtruby/examples/draganddrop/fridgemagnets/dragwidget.rb +130 -0
- data/ext/ruby/qtruby/examples/draganddrop/fridgemagnets/main.rb +33 -0
- data/ext/ruby/qtruby/examples/draganddrop/fridgemagnets/words.txt +48 -0
- data/ext/ruby/qtruby/examples/draganddrop/puzzle/example.jpg +0 -0
- data/ext/ruby/qtruby/examples/draganddrop/puzzle/main.rb +33 -0
- data/ext/ruby/qtruby/examples/draganddrop/puzzle/mainwindow.rb +136 -0
- data/ext/ruby/qtruby/examples/draganddrop/puzzle/pieceslist.rb +95 -0
- data/ext/ruby/qtruby/examples/draganddrop/puzzle/puzzlewidget.rb +190 -0
- data/ext/ruby/qtruby/examples/graphicsview/collidingmice/images/cheese.jpg +0 -0
- data/ext/ruby/qtruby/examples/graphicsview/collidingmice/main.rb +53 -0
- data/ext/ruby/qtruby/examples/graphicsview/collidingmice/makefile +2 -0
- data/ext/ruby/qtruby/examples/graphicsview/collidingmice/mice.qrc +5 -0
- data/ext/ruby/qtruby/examples/graphicsview/collidingmice/mouse.rb +176 -0
- data/ext/ruby/qtruby/examples/graphicsview/dragdroprobot/coloritem.rb +86 -0
- data/ext/ruby/qtruby/examples/graphicsview/dragdroprobot/images/head.png +0 -0
- data/ext/ruby/qtruby/examples/graphicsview/dragdroprobot/main.rb +57 -0
- data/ext/ruby/qtruby/examples/graphicsview/dragdroprobot/makefile +2 -0
- data/ext/ruby/qtruby/examples/graphicsview/dragdroprobot/robot.qrc +5 -0
- data/ext/ruby/qtruby/examples/graphicsview/dragdroprobot/robot.rb +246 -0
- data/ext/ruby/qtruby/examples/itemviews/chart/chart.qrc +5 -0
- data/ext/ruby/qtruby/examples/itemviews/chart/main.rb +33 -0
- data/ext/ruby/qtruby/examples/itemviews/chart/mainwindow.rb +151 -0
- data/ext/ruby/qtruby/examples/itemviews/chart/makefile +2 -0
- data/ext/ruby/qtruby/examples/itemviews/chart/mydata.cht +8 -0
- data/ext/ruby/qtruby/examples/itemviews/chart/pieview.rb +516 -0
- data/ext/ruby/qtruby/examples/itemviews/chart/qtdata.cht +14 -0
- data/ext/ruby/qtruby/examples/itemviews/dirview/main.rb +39 -0
- data/ext/ruby/qtruby/examples/itemviews/pixelator/imagemodel.rb +51 -0
- data/ext/ruby/qtruby/examples/itemviews/pixelator/images.qrc +5 -0
- data/ext/ruby/qtruby/examples/itemviews/pixelator/images/qt.png +0 -0
- data/ext/ruby/qtruby/examples/itemviews/pixelator/main.rb +34 -0
- data/ext/ruby/qtruby/examples/itemviews/pixelator/mainwindow.rb +218 -0
- data/ext/ruby/qtruby/examples/itemviews/pixelator/makefile +3 -0
- data/ext/ruby/qtruby/examples/itemviews/pixelator/pixeldelegate.rb +67 -0
- data/ext/ruby/qtruby/examples/itemviews/puzzle/example.jpg +0 -0
- data/ext/ruby/qtruby/examples/itemviews/puzzle/main.rb +36 -0
- data/ext/ruby/qtruby/examples/itemviews/puzzle/mainwindow.rb +143 -0
- data/ext/ruby/qtruby/examples/itemviews/puzzle/piecesmodel.rb +174 -0
- data/ext/ruby/qtruby/examples/itemviews/puzzle/puzzlewidget.rb +192 -0
- data/ext/ruby/qtruby/examples/itemviews/simpledommodel/domitem.rb +62 -0
- data/ext/ruby/qtruby/examples/itemviews/simpledommodel/dommodel.rb +139 -0
- data/ext/ruby/qtruby/examples/itemviews/simpledommodel/main.rb +33 -0
- data/ext/ruby/qtruby/examples/itemviews/simpledommodel/mainwindow.rb +66 -0
- data/ext/ruby/qtruby/examples/itemviews/simpletreemodel/default.txt +40 -0
- data/ext/ruby/qtruby/examples/itemviews/simpletreemodel/main.rb +41 -0
- data/ext/ruby/qtruby/examples/itemviews/simpletreemodel/makefile +2 -0
- data/ext/ruby/qtruby/examples/itemviews/simpletreemodel/simpletreemodel.qrc +5 -0
- data/ext/ruby/qtruby/examples/itemviews/simpletreemodel/treeitem.rb +67 -0
- data/ext/ruby/qtruby/examples/itemviews/simpletreemodel/treemodel.rb +164 -0
- data/ext/ruby/qtruby/examples/itemviews/sortingmodel/default.txt +40 -0
- data/ext/ruby/qtruby/examples/itemviews/sortingmodel/main.rb +53 -0
- data/ext/ruby/qtruby/examples/itemviews/sortingmodel/treeitem.rb +73 -0
- data/ext/ruby/qtruby/examples/itemviews/sortingmodel/treemodel.rb +166 -0
- data/ext/ruby/qtruby/examples/itemviews/spinboxdelegate/main.rb +47 -0
- data/ext/ruby/qtruby/examples/itemviews/spinboxdelegate/spinboxdelegate.rb +62 -0
- data/ext/ruby/qtruby/examples/killerfilter/killerfilter.rb +55 -0
- data/ext/ruby/qtruby/examples/layouts/basiclayouts/dialog.rb +110 -0
- data/ext/ruby/qtruby/examples/layouts/basiclayouts/main.rb +31 -0
- data/ext/ruby/qtruby/examples/layouts/borderlayout/borderlayout.rb +190 -0
- data/ext/ruby/qtruby/examples/layouts/borderlayout/main.rb +32 -0
- data/ext/ruby/qtruby/examples/layouts/borderlayout/window.rb +52 -0
- data/ext/ruby/qtruby/examples/layouts/flowlayouts/flowlayout.rb +108 -0
- data/ext/ruby/qtruby/examples/layouts/flowlayouts/main.rb +32 -0
- data/ext/ruby/qtruby/examples/layouts/flowlayouts/window.rb +43 -0
- data/ext/ruby/qtruby/examples/mainwindows/application/images/copy.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/application/images/cut.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/application/images/new.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/application/images/open.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/application/images/paste.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/application/images/save.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/application/main.rb +32 -0
- data/ext/ruby/qtruby/examples/mainwindows/application/mainwindow.rb +285 -0
- data/ext/ruby/qtruby/examples/mainwindows/dockwidgets/images/new.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/dockwidgets/images/print.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/dockwidgets/images/save.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/dockwidgets/images/undo.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/dockwidgets/main.rb +32 -0
- data/ext/ruby/qtruby/examples/mainwindows/dockwidgets/mainwindow.rb +302 -0
- data/ext/ruby/qtruby/examples/mainwindows/mdi/images/copy.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/mdi/images/cut.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/mdi/images/new.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/mdi/images/open.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/mdi/images/paste.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/mdi/images/save.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/mdi/main.rb +32 -0
- data/ext/ruby/qtruby/examples/mainwindows/mdi/mainwindow.rb +363 -0
- data/ext/ruby/qtruby/examples/mainwindows/mdi/mdichild.rb +152 -0
- data/ext/ruby/qtruby/examples/mainwindows/menus/main.rb +32 -0
- data/ext/ruby/qtruby/examples/mainwindows/menus/mainwindow.rb +327 -0
- data/ext/ruby/qtruby/examples/mainwindows/recentfiles/main.rb +32 -0
- data/ext/ruby/qtruby/examples/mainwindows/recentfiles/mainwindow.rb +258 -0
- data/ext/ruby/qtruby/examples/mainwindows/sdi/images/copy.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/sdi/images/cut.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/sdi/images/new.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/sdi/images/open.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/sdi/images/paste.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/sdi/images/save.png +0 -0
- data/ext/ruby/qtruby/examples/mainwindows/sdi/main.rb +32 -0
- data/ext/ruby/qtruby/examples/mainwindows/sdi/mainwindow.rb +335 -0
- data/ext/ruby/qtruby/examples/network/broadcastreceiver/main.rb +32 -0
- data/ext/ruby/qtruby/examples/network/broadcastreceiver/receiver.rb +64 -0
- data/ext/ruby/qtruby/examples/network/broadcastsender/main.rb +32 -0
- data/ext/ruby/qtruby/examples/network/broadcastsender/sender.rb +70 -0
- data/ext/ruby/qtruby/examples/network/fortuneclient/client.rb +150 -0
- data/ext/ruby/qtruby/examples/network/fortuneclient/main.rb +32 -0
- data/ext/ruby/qtruby/examples/network/fortuneserver/main.rb +32 -0
- data/ext/ruby/qtruby/examples/network/fortuneserver/server.rb +88 -0
- data/ext/ruby/qtruby/examples/network/ftp/ftpwindow.rb +254 -0
- data/ext/ruby/qtruby/examples/network/ftp/images/cdtoparent.png +0 -0
- data/ext/ruby/qtruby/examples/network/ftp/images/dir.png +0 -0
- data/ext/ruby/qtruby/examples/network/ftp/images/file.png +0 -0
- data/ext/ruby/qtruby/examples/network/ftp/main.rb +32 -0
- data/ext/ruby/qtruby/examples/network/http/httpwindow.rb +187 -0
- data/ext/ruby/qtruby/examples/network/http/main.rb +32 -0
- data/ext/ruby/qtruby/examples/network/loopback/dialog.rb +163 -0
- data/ext/ruby/qtruby/examples/network/loopback/main.rb +32 -0
- data/ext/ruby/qtruby/examples/opengl/grabber/glwidget.rb +265 -0
- data/ext/ruby/qtruby/examples/opengl/grabber/main.rb +32 -0
- data/ext/ruby/qtruby/examples/opengl/grabber/mainwindow.rb +189 -0
- data/ext/ruby/qtruby/examples/opengl/hellogl/glwidget.rb +226 -0
- data/ext/ruby/qtruby/examples/opengl/hellogl/main.rb +32 -0
- data/ext/ruby/qtruby/examples/opengl/hellogl/window.rb +66 -0
- data/ext/ruby/qtruby/examples/opengl/textures/glwidget.rb +151 -0
- data/ext/ruby/qtruby/examples/opengl/textures/images/side1.png +0 -0
- data/ext/ruby/qtruby/examples/opengl/textures/images/side2.png +0 -0
- data/ext/ruby/qtruby/examples/opengl/textures/images/side3.png +0 -0
- data/ext/ruby/qtruby/examples/opengl/textures/images/side4.png +0 -0
- data/ext/ruby/qtruby/examples/opengl/textures/images/side5.png +0 -0
- data/ext/ruby/qtruby/examples/opengl/textures/images/side6.png +0 -0
- data/ext/ruby/qtruby/examples/opengl/textures/main.rb +32 -0
- data/ext/ruby/qtruby/examples/opengl/textures/window.rb +77 -0
- data/ext/ruby/qtruby/examples/painting/basicdrawing/images/brick.png +0 -0
- data/ext/ruby/qtruby/examples/painting/basicdrawing/images/qt-logo.png +0 -0
- data/ext/ruby/qtruby/examples/painting/basicdrawing/main.rb +32 -0
- data/ext/ruby/qtruby/examples/painting/basicdrawing/renderarea.rb +166 -0
- data/ext/ruby/qtruby/examples/painting/basicdrawing/window.rb +215 -0
- data/ext/ruby/qtruby/examples/painting/concentriccircles/circlewidget.rb +88 -0
- data/ext/ruby/qtruby/examples/painting/concentriccircles/main.rb +32 -0
- data/ext/ruby/qtruby/examples/painting/concentriccircles/window.rb +72 -0
- data/ext/ruby/qtruby/examples/painting/fontsampler/main.rb +32 -0
- data/ext/ruby/qtruby/examples/painting/fontsampler/mainwindow.rb +368 -0
- data/ext/ruby/qtruby/examples/painting/fontsampler/mainwindowbase.ui +136 -0
- data/ext/ruby/qtruby/examples/painting/fontsampler/makefile +8 -0
- data/ext/ruby/qtruby/examples/painting/fontsampler/previewdialog.rb +256 -0
- data/ext/ruby/qtruby/examples/painting/fontsampler/previewdialogbase.ui +224 -0
- data/ext/ruby/qtruby/examples/painting/fontsampler/previewlabel.rb +43 -0
- data/ext/ruby/qtruby/examples/painting/imagecomposition/imagecomposer.rb +152 -0
- data/ext/ruby/qtruby/examples/painting/imagecomposition/imagecomposition.qrc +6 -0
- data/ext/ruby/qtruby/examples/painting/imagecomposition/images/background.png +0 -0
- data/ext/ruby/qtruby/examples/painting/imagecomposition/images/blackrectangle.png +0 -0
- data/ext/ruby/qtruby/examples/painting/imagecomposition/images/butterfly.png +0 -0
- data/ext/ruby/qtruby/examples/painting/imagecomposition/images/checker.png +0 -0
- data/ext/ruby/qtruby/examples/painting/imagecomposition/main.rb +33 -0
- data/ext/ruby/qtruby/examples/painting/imagecomposition/makefile +2 -0
- data/ext/ruby/qtruby/examples/painting/painterpaths/main.rb +32 -0
- data/ext/ruby/qtruby/examples/painting/painterpaths/renderarea.rb +97 -0
- data/ext/ruby/qtruby/examples/painting/painterpaths/window.rb +247 -0
- data/ext/ruby/qtruby/examples/painting/svgviewer/files/bubbles.svg +212 -0
- data/ext/ruby/qtruby/examples/painting/svgviewer/files/cubic.svg +77 -0
- data/ext/ruby/qtruby/examples/painting/svgviewer/files/spheres.svg +79 -0
- data/ext/ruby/qtruby/examples/painting/svgviewer/main.rb +38 -0
- data/ext/ruby/qtruby/examples/painting/svgviewer/mainwindow.rb +99 -0
- data/ext/ruby/qtruby/examples/painting/svgviewer/makefile +2 -0
- data/ext/ruby/qtruby/examples/painting/svgviewer/svgview.rb +156 -0
- data/ext/ruby/qtruby/examples/painting/svgviewer/svgviewer.qrc +6 -0
- data/ext/ruby/qtruby/examples/painting/svgviewer/svgwindow.rb +87 -0
- data/ext/ruby/qtruby/examples/painting/transformations/main.rb +32 -0
- data/ext/ruby/qtruby/examples/painting/transformations/renderarea.rb +127 -0
- data/ext/ruby/qtruby/examples/painting/transformations/window.rb +153 -0
- data/ext/ruby/qtruby/examples/passivepopup/passivepopup.rb +38 -0
- data/ext/ruby/qtruby/examples/qdbus/chat/chat.rb +146 -0
- data/ext/ruby/qtruby/examples/qdbus/chat/chat_adaptor.rb +12 -0
- data/ext/ruby/qtruby/examples/qdbus/chat/chat_interface.rb +13 -0
- data/ext/ruby/qtruby/examples/qdbus/chat/chatmainwindow.ui +184 -0
- data/ext/ruby/qtruby/examples/qdbus/chat/chatsetnickname.ui +145 -0
- data/ext/ruby/qtruby/examples/qdbus/chat/makefile +8 -0
- data/ext/ruby/qtruby/examples/qdbus/complexpingpong/complexping.rb +92 -0
- data/ext/ruby/qtruby/examples/qdbus/complexpingpong/complexpong.rb +83 -0
- data/ext/ruby/qtruby/examples/qdbus/complexpingpong/ping-common.rb +1 -0
- data/ext/ruby/qtruby/examples/qdbus/listnames/listnames.rb +69 -0
- data/ext/ruby/qtruby/examples/qdbus/pingpong/ping-common.rb +1 -0
- data/ext/ruby/qtruby/examples/qdbus/pingpong/ping.rb +52 -0
- data/ext/ruby/qtruby/examples/qdbus/pingpong/pong.rb +55 -0
- data/ext/ruby/qtruby/examples/qdbus/remotecontrolledcar/car/car.rb +151 -0
- data/ext/ruby/qtruby/examples/qdbus/remotecontrolledcar/car/main.rb +50 -0
- data/ext/ruby/qtruby/examples/qdbus/remotecontrolledcar/controller/controller.rb +66 -0
- data/ext/ruby/qtruby/examples/qdbus/remotecontrolledcar/controller/controller.ui +61 -0
- data/ext/ruby/qtruby/examples/qdbus/remotecontrolledcar/controller/main.rb +32 -0
- data/ext/ruby/qtruby/examples/qdbus/remotecontrolledcar/controller/makefile +2 -0
- data/ext/ruby/qtruby/examples/qtscribble/scribble.rb +270 -0
- data/ext/ruby/qtruby/examples/richtext/calendar/main.rb +33 -0
- data/ext/ruby/qtruby/examples/richtext/calendar/mainwindow.rb +173 -0
- data/ext/ruby/qtruby/examples/richtext/orderform/detailsdialog.rb +130 -0
- data/ext/ruby/qtruby/examples/richtext/orderform/main.rb +34 -0
- data/ext/ruby/qtruby/examples/richtext/orderform/mainwindow.rb +194 -0
- data/ext/ruby/qtruby/examples/richtext/syntaxhighlighter/examples/example +79 -0
- data/ext/ruby/qtruby/examples/richtext/syntaxhighlighter/highlighter.rb +90 -0
- data/ext/ruby/qtruby/examples/richtext/syntaxhighlighter/main.rb +34 -0
- data/ext/ruby/qtruby/examples/richtext/syntaxhighlighter/mainwindow.rb +105 -0
- data/ext/ruby/qtruby/examples/ruboids/Manifest +26 -0
- data/ext/ruby/qtruby/examples/ruboids/README +53 -0
- data/ext/ruby/qtruby/examples/ruboids/TODO +29 -0
- data/ext/ruby/qtruby/examples/ruboids/boids.properties +33 -0
- data/ext/ruby/qtruby/examples/ruboids/generateManifest.rb +42 -0
- data/ext/ruby/qtruby/examples/ruboids/index.html +147 -0
- data/ext/ruby/qtruby/examples/ruboids/release.rb +152 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/Boid.rb +141 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/BoidView.rb +159 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/Camera.rb +24 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/CameraDialog.rb +218 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/Canvas.rb +143 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/Cloud.rb +61 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/CloudView.rb +54 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/Flock.rb +47 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/Graphics.rb +278 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/Params.rb +87 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/Point.rb +153 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/Thing.rb +34 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/Triangle.rb +21 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/View.rb +88 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/World.rb +82 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/WorldWindow.rb +52 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/info.rb +12 -0
- data/ext/ruby/qtruby/examples/ruboids/ruboids/ruboids.rb +29 -0
- data/ext/ruby/qtruby/examples/textedit/textedit.rb +150 -0
- data/ext/ruby/qtruby/examples/tutorial/t1/t1.rb +10 -0
- data/ext/ruby/qtruby/examples/tutorial/t10/cannon.rb +72 -0
- data/ext/ruby/qtruby/examples/tutorial/t10/lcdrange.rb +45 -0
- data/ext/ruby/qtruby/examples/tutorial/t10/t10.rb +55 -0
- data/ext/ruby/qtruby/examples/tutorial/t11/cannon.rb +124 -0
- data/ext/ruby/qtruby/examples/tutorial/t11/lcdrange.rb +45 -0
- data/ext/ruby/qtruby/examples/tutorial/t11/t11.rb +65 -0
- data/ext/ruby/qtruby/examples/tutorial/t12/cannon.rb +158 -0
- data/ext/ruby/qtruby/examples/tutorial/t12/lcdrange.rb +59 -0
- data/ext/ruby/qtruby/examples/tutorial/t12/t12.rb +66 -0
- data/ext/ruby/qtruby/examples/tutorial/t13/cannon.rb +208 -0
- data/ext/ruby/qtruby/examples/tutorial/t13/gamebrd.rb +113 -0
- data/ext/ruby/qtruby/examples/tutorial/t13/lcdrange.rb +60 -0
- data/ext/ruby/qtruby/examples/tutorial/t13/t13.rb +11 -0
- data/ext/ruby/qtruby/examples/tutorial/t14/cannon.rb +263 -0
- data/ext/ruby/qtruby/examples/tutorial/t14/gamebrd.rb +123 -0
- data/ext/ruby/qtruby/examples/tutorial/t14/lcdrange.rb +63 -0
- data/ext/ruby/qtruby/examples/tutorial/t14/t14.rb +11 -0
- data/ext/ruby/qtruby/examples/tutorial/t2/t2.rb +16 -0
- data/ext/ruby/qtruby/examples/tutorial/t3/t3.rb +18 -0
- data/ext/ruby/qtruby/examples/tutorial/t4/t4.rb +25 -0
- data/ext/ruby/qtruby/examples/tutorial/t5/t5.rb +37 -0
- data/ext/ruby/qtruby/examples/tutorial/t6/t6.rb +52 -0
- data/ext/ruby/qtruby/examples/tutorial/t7/lcdrange.rb +32 -0
- data/ext/ruby/qtruby/examples/tutorial/t7/t7.rb +42 -0
- data/ext/ruby/qtruby/examples/tutorial/t8/cannon.rb +38 -0
- data/ext/ruby/qtruby/examples/tutorial/t8/lcdrange.rb +45 -0
- data/ext/ruby/qtruby/examples/tutorial/t8/t8.rb +43 -0
- data/ext/ruby/qtruby/examples/tutorial/t9/cannon.rb +45 -0
- data/ext/ruby/qtruby/examples/tutorial/t9/lcdrange.rb +46 -0
- data/ext/ruby/qtruby/examples/tutorial/t9/t9.rb +43 -0
- data/ext/ruby/qtruby/examples/widgets/analogclock/analogclock.rb +94 -0
- data/ext/ruby/qtruby/examples/widgets/analogclock/main.rb +9 -0
- data/ext/ruby/qtruby/examples/widgets/calculator/button.rb +45 -0
- data/ext/ruby/qtruby/examples/widgets/calculator/calculator.rb +382 -0
- data/ext/ruby/qtruby/examples/widgets/calculator/main.rb +32 -0
- data/ext/ruby/qtruby/examples/widgets/charactermap/characterwidget.rb +110 -0
- data/ext/ruby/qtruby/examples/widgets/charactermap/main.rb +32 -0
- data/ext/ruby/qtruby/examples/widgets/charactermap/mainwindow.rb +118 -0
- data/ext/ruby/qtruby/examples/widgets/digitalclock/digitalclock.rb +30 -0
- data/ext/ruby/qtruby/examples/widgets/digitalclock/main.rb +9 -0
- data/ext/ruby/qtruby/examples/widgets/groupbox/main.rb +32 -0
- data/ext/ruby/qtruby/examples/widgets/groupbox/window.rb +134 -0
- data/ext/ruby/qtruby/examples/widgets/icons/iconpreviewarea.rb +111 -0
- data/ext/ruby/qtruby/examples/widgets/icons/iconsizespinbox.rb +39 -0
- data/ext/ruby/qtruby/examples/widgets/icons/imagedelegate.rb +73 -0
- data/ext/ruby/qtruby/examples/widgets/icons/images/designer.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/icons/images/find_disabled.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/icons/images/find_normal.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/icons/images/monkey_off_128x128.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/icons/images/monkey_off_16x16.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/icons/images/monkey_off_32x32.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/icons/images/monkey_off_64x64.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/icons/images/monkey_on_128x128.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/icons/images/monkey_on_16x16.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/icons/images/monkey_on_32x32.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/icons/images/monkey_on_64x64.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/icons/images/qtopia_16x16.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/icons/images/qtopia_32x32.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/icons/images/qtopia_48x48.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/icons/main.rb +32 -0
- data/ext/ruby/qtruby/examples/widgets/icons/mainwindow.rb +351 -0
- data/ext/ruby/qtruby/examples/widgets/imageviewer/imageviewer.rb +219 -0
- data/ext/ruby/qtruby/examples/widgets/imageviewer/main.rb +32 -0
- data/ext/ruby/qtruby/examples/widgets/lineedits/main.rb +32 -0
- data/ext/ruby/qtruby/examples/widgets/lineedits/window.rb +199 -0
- data/ext/ruby/qtruby/examples/widgets/movie/images/open.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/movie/images/pause.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/movie/images/play.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/movie/images/quit.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/movie/images/stop.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/movie/main.rb +32 -0
- data/ext/ruby/qtruby/examples/widgets/movie/movieplayer.rb +201 -0
- data/ext/ruby/qtruby/examples/widgets/movie/movies/fire.mng +0 -0
- data/ext/ruby/qtruby/examples/widgets/screenshot/main.rb +32 -0
- data/ext/ruby/qtruby/examples/widgets/screenshot/screenshot.rb +155 -0
- data/ext/ruby/qtruby/examples/widgets/scribble/main.rb +32 -0
- data/ext/ruby/qtruby/examples/widgets/scribble/mainwindow.rb +202 -0
- data/ext/ruby/qtruby/examples/widgets/scribble/scribblearea.rb +154 -0
- data/ext/ruby/qtruby/examples/widgets/sliders/main.rb +32 -0
- data/ext/ruby/qtruby/examples/widgets/sliders/slidersgroup.rb +97 -0
- data/ext/ruby/qtruby/examples/widgets/sliders/window.rb +124 -0
- data/ext/ruby/qtruby/examples/widgets/spinboxes/main.rb +32 -0
- data/ext/ruby/qtruby/examples/widgets/spinboxes/window.rb +213 -0
- data/ext/ruby/qtruby/examples/widgets/tetrix/main.rb +33 -0
- data/ext/ruby/qtruby/examples/widgets/tetrix/tetrixboard.rb +346 -0
- data/ext/ruby/qtruby/examples/widgets/tetrix/tetrixpiece.rb +135 -0
- data/ext/ruby/qtruby/examples/widgets/tetrix/tetrixwindow.rb +88 -0
- data/ext/ruby/qtruby/examples/widgets/tooltips/images/circle.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/tooltips/images/square.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/tooltips/images/triangle.png +0 -0
- data/ext/ruby/qtruby/examples/widgets/tooltips/main.rb +32 -0
- data/ext/ruby/qtruby/examples/widgets/tooltips/shapeitem.rb +31 -0
- data/ext/ruby/qtruby/examples/widgets/tooltips/sortingbox.rb +222 -0
- data/ext/ruby/qtruby/examples/widgets/wiggly/dialog.rb +48 -0
- data/ext/ruby/qtruby/examples/widgets/wiggly/main.rb +9 -0
- data/ext/ruby/qtruby/examples/widgets/wiggly/wigglywidget.rb +76 -0
- data/ext/ruby/qtruby/examples/widgets/windowflags/controllerwindow.rb +195 -0
- data/ext/ruby/qtruby/examples/widgets/windowflags/main.rb +32 -0
- data/ext/ruby/qtruby/examples/widgets/windowflags/previewwindow.rb +103 -0
- data/ext/ruby/qtruby/examples/xml/dombookmarks/frank.xbel +230 -0
- data/ext/ruby/qtruby/examples/xml/dombookmarks/jennifer.xbel +93 -0
- data/ext/ruby/qtruby/examples/xml/dombookmarks/main.rb +34 -0
- data/ext/ruby/qtruby/examples/xml/dombookmarks/mainwindow.rb +129 -0
- data/ext/ruby/qtruby/examples/xml/dombookmarks/xbeltree.rb +172 -0
- data/ext/ruby/qtruby/examples/xml/saxbookmarks/frank.xbel +230 -0
- data/ext/ruby/qtruby/examples/xml/saxbookmarks/jennifer.xbel +93 -0
- data/ext/ruby/qtruby/examples/xml/saxbookmarks/main.rb +34 -0
- data/ext/ruby/qtruby/examples/xml/saxbookmarks/mainwindow.rb +144 -0
- data/ext/ruby/qtruby/examples/xml/saxbookmarks/xbelgenerator.rb +95 -0
- data/ext/ruby/qtruby/examples/xml/saxbookmarks/xbelhandler.rb +122 -0
- data/ext/ruby/qtruby/rails_support/CMakeLists.txt +1 -0
- data/ext/ruby/qtruby/rails_support/active_item_model.rb +234 -0
- data/ext/ruby/qtruby/rails_support/active_table_model.rb +122 -0
- data/ext/ruby/qtruby/src/CMakeLists.txt +103 -0
- data/ext/ruby/qtruby/src/Qt.cpp +1279 -0
- data/ext/ruby/qtruby/src/extconf.rb +11 -0
- data/ext/ruby/qtruby/src/handlers.cpp +2622 -0
- data/ext/ruby/qtruby/src/lib/CMakeLists.txt +16 -0
- data/ext/ruby/qtruby/src/lib/Qt.rb +1 -0
- data/ext/ruby/qtruby/src/lib/Qt/CMakeLists.txt +9 -0
- data/ext/ruby/qtruby/src/lib/Qt/qtruby4.rb +3177 -0
- data/ext/ruby/qtruby/src/lib/Qt3.rb +6 -0
- data/ext/ruby/qtruby/src/lib/Qt4.rb +6 -0
- data/ext/ruby/qtruby/src/marshall.h +66 -0
- data/ext/ruby/qtruby/src/marshall_basetypes.h +208 -0
- data/ext/ruby/qtruby/src/marshall_complex.h +175 -0
- data/ext/ruby/qtruby/src/marshall_macros.h +647 -0
- data/ext/ruby/qtruby/src/marshall_primitives.h +290 -0
- data/ext/ruby/qtruby/src/marshall_types.cpp +815 -0
- data/ext/ruby/qtruby/src/marshall_types.h +240 -0
- data/ext/ruby/qtruby/src/qtruby.cpp +2483 -0
- data/ext/ruby/qtruby/src/qtruby.h +185 -0
- data/ext/ruby/qtruby/src/smokeruby.h +164 -0
- data/ext/ruby/qtruby/test/opoverloading.rb +46 -0
- data/ext/ruby/qtruby/test/unittests.rb +151 -0
- data/ext/ruby/qtruby/tools/CMakeLists.txt +2 -0
- data/ext/ruby/qtruby/tools/rbrcc/CMakeLists.txt +6 -0
- data/ext/ruby/qtruby/tools/rbrcc/Messages.sh +7 -0
- data/ext/ruby/qtruby/tools/rbrcc/main.cpp +173 -0
- data/ext/ruby/qtruby/tools/rbrcc/rbrcc.pro +14 -0
- data/ext/ruby/qtruby/tools/rbrcc/rcc.cpp +648 -0
- data/ext/ruby/qtruby/tools/rbrcc/rcc.h +165 -0
- data/ext/ruby/qtruby/tools/rbuic/CMakeLists.txt +35 -0
- data/ext/ruby/qtruby/tools/rbuic/LICENSE.GPL +280 -0
- data/ext/ruby/qtruby/tools/rbuic/Messages.sh +7 -0
- data/ext/ruby/qtruby/tools/rbuic/TODO +4 -0
- data/ext/ruby/qtruby/tools/rbuic/customwidgetsinfo.cpp +106 -0
- data/ext/ruby/qtruby/tools/rbuic/customwidgetsinfo.h +95 -0
- data/ext/ruby/qtruby/tools/rbuic/databaseinfo.cpp +102 -0
- data/ext/ruby/qtruby/tools/rbuic/databaseinfo.h +85 -0
- data/ext/ruby/qtruby/tools/rbuic/driver.cpp +384 -0
- data/ext/ruby/qtruby/tools/rbuic/driver.h +141 -0
- data/ext/ruby/qtruby/tools/rbuic/globaldefs.h +60 -0
- data/ext/ruby/qtruby/tools/rbuic/main.cpp +201 -0
- data/ext/ruby/qtruby/tools/rbuic/option.h +107 -0
- data/ext/ruby/qtruby/tools/rbuic/rbuic.pri +23 -0
- data/ext/ruby/qtruby/tools/rbuic/rbuic4.pro +43 -0
- data/ext/ruby/qtruby/tools/rbuic/ruby/rbextractimages.cpp +150 -0
- data/ext/ruby/qtruby/tools/rbuic/ruby/rbextractimages.h +83 -0
- data/ext/ruby/qtruby/tools/rbuic/ruby/rbwritedeclaration.cpp +217 -0
- data/ext/ruby/qtruby/tools/rbuic/ruby/rbwritedeclaration.h +85 -0
- data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteicondata.cpp +185 -0
- data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteicondata.h +86 -0
- data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteicondeclaration.cpp +88 -0
- data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteicondeclaration.h +83 -0
- data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteiconinitialization.cpp +126 -0
- data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteiconinitialization.h +87 -0
- data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteinitialization.cpp +2478 -0
- data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteinitialization.h +314 -0
- data/ext/ruby/qtruby/tools/rbuic/ruby/ruby.pri +18 -0
- data/ext/ruby/qtruby/tools/rbuic/treewalker.cpp +318 -0
- data/ext/ruby/qtruby/tools/rbuic/treewalker.h +139 -0
- data/ext/ruby/qtruby/tools/rbuic/ui4.cpp +7623 -0
- data/ext/ruby/qtruby/tools/rbuic/ui4.h +3180 -0
- data/ext/ruby/qtruby/tools/rbuic/uic.cpp +438 -0
- data/ext/ruby/qtruby/tools/rbuic/uic.h +154 -0
- data/ext/ruby/qtruby/tools/rbuic/utils.h +125 -0
- data/ext/ruby/qtruby/tools/rbuic/validator.cpp +100 -0
- data/ext/ruby/qtruby/tools/rbuic/validator.h +80 -0
- data/ext/ruby/qtscript/CMakeLists.txt +19 -0
- data/ext/ruby/qtscript/qtscript.cpp +82 -0
- data/ext/ruby/qtscript/qtscript.rb +40 -0
- data/ext/ruby/qtscript/qtscripthandlers.cpp +36 -0
- data/ext/ruby/qtscript/smokedata.cpp +1403 -0
- data/ext/ruby/qttest/CMakeLists.txt +18 -0
- data/ext/ruby/qttest/ChangeLog +9 -0
- data/ext/ruby/qttest/examples/myfirsttest.rb +30 -0
- data/ext/ruby/qttest/qttest.cpp +82 -0
- data/ext/ruby/qttest/qttest.rb +166 -0
- data/ext/ruby/qttest/qttesthandlers.cpp +35 -0
- data/ext/ruby/qtuitools/CMakeLists.txt +16 -0
- data/ext/ruby/qtuitools/qtuitools.cpp +82 -0
- data/ext/ruby/qtuitools/qtuitools.rb +17 -0
- data/ext/ruby/qtuitools/qtuitoolshandlers.cpp +31 -0
- data/ext/ruby/qtwebkit/CMakeLists.txt +17 -0
- data/ext/ruby/qtwebkit/qtwebkit.cpp +66 -0
- data/ext/ruby/qtwebkit/qtwebkit.rb +17 -0
- data/ext/ruby/qtwebkit/qtwebkithandlers.cpp +39 -0
- data/ext/smoke/CMakeLists.txt +35 -0
- data/ext/smoke/deptool/CMakeLists.txt +7 -0
- data/ext/smoke/deptool/main.cpp +128 -0
- data/ext/smoke/qt_smoke.h +16 -0
- data/ext/smoke/qtcore/CMakeLists.txt +88 -0
- data/ext/smoke/qtcore/QtGuess.txt +181 -0
- data/ext/smoke/qtcore/config.xml.cmake +10 -0
- data/ext/smoke/qtcore/qt-config.xml.cmake +21 -0
- data/ext/smoke/qtcore/qtcore_includes.h +1 -0
- data/ext/smoke/qtcore/smokeconfig.xml +189 -0
- data/ext/smoke/qtcore/tests/CMakeLists.txt +13 -0
- data/ext/smoke/qtcore/tests/test.cpp +846 -0
- data/ext/smoke/qtcore_smoke.h +16 -0
- data/ext/smoke/qtdbus/CMakeLists.txt +38 -0
- data/ext/smoke/qtdbus/config.xml.cmake +11 -0
- data/ext/smoke/qtdbus/qtdbus_includes.h +2 -0
- data/ext/smoke/qtdbus/smokeconfig.xml +63 -0
- data/ext/smoke/qtdbus_smoke.h +16 -0
- data/ext/smoke/qtgui/CMakeLists.txt +76 -0
- data/ext/smoke/qtgui/config.xml.cmake +11 -0
- data/ext/smoke/qtgui/qtgui_includes.h +7 -0
- data/ext/smoke/qtgui/smokeconfig.xml +490 -0
- data/ext/smoke/qtgui_smoke.h +16 -0
- data/ext/smoke/qtmultimedia/CMakeLists.txt +42 -0
- data/ext/smoke/qtmultimedia/config.xml.cmake +12 -0
- data/ext/smoke/qtmultimedia/qtmultimedia_includes.h +3 -0
- data/ext/smoke/qtmultimedia/smokeconfig.xml +50 -0
- data/ext/smoke/qtmultimedia_smoke.h +16 -0
- data/ext/smoke/qtnetwork/CMakeLists.txt +38 -0
- data/ext/smoke/qtnetwork/config.xml.cmake +11 -0
- data/ext/smoke/qtnetwork/qtnetwork_includes.h +2 -0
- data/ext/smoke/qtnetwork/smokeconfig.xml +76 -0
- data/ext/smoke/qtnetwork_smoke.h +16 -0
- data/ext/smoke/qtopengl/CMakeLists.txt +43 -0
- data/ext/smoke/qtopengl/config.xml.cmake +12 -0
- data/ext/smoke/qtopengl/qtopengl_includes.h +3 -0
- data/ext/smoke/qtopengl/smokeconfig.xml +56 -0
- data/ext/smoke/qtopengl_smoke.h +16 -0
- data/ext/smoke/qtscript/CMakeLists.txt +31 -0
- data/ext/smoke/qtscript/config.xml.cmake +11 -0
- data/ext/smoke/qtscript/qtscript_includes.h +14 -0
- data/ext/smoke/qtscript/smokeconfig.xml +39 -0
- data/ext/smoke/qtscript_smoke.h +16 -0
- data/ext/smoke/qtsql/CMakeLists.txt +41 -0
- data/ext/smoke/qtsql/config.xml.cmake +11 -0
- data/ext/smoke/qtsql/qtsql_includes.h +2 -0
- data/ext/smoke/qtsql/smokeconfig.xml +56 -0
- data/ext/smoke/qtsql_smoke.h +16 -0
- data/ext/smoke/qtsvg/CMakeLists.txt +43 -0
- data/ext/smoke/qtsvg/config.xml.cmake +12 -0
- data/ext/smoke/qtsvg/qtsvg_includes.h +3 -0
- data/ext/smoke/qtsvg/smokeconfig.xml +45 -0
- data/ext/smoke/qtsvg_smoke.h +16 -0
- data/ext/smoke/qttest/CMakeLists.txt +35 -0
- data/ext/smoke/qttest/config.xml.cmake +12 -0
- data/ext/smoke/qttest/qttest_includes.h +14 -0
- data/ext/smoke/qttest/smokeconfig.xml +36 -0
- data/ext/smoke/qttest_smoke.h +16 -0
- data/ext/smoke/qtuitools/CMakeLists.txt +30 -0
- data/ext/smoke/qtuitools/config.xml.cmake +12 -0
- data/ext/smoke/qtuitools/qtuitools_includes.h +1 -0
- data/ext/smoke/qtuitools/smokeconfig.xml +20 -0
- data/ext/smoke/qtuitools_smoke.h +16 -0
- data/ext/smoke/qtwebkit/CMakeLists.txt +36 -0
- data/ext/smoke/qtwebkit/config.xml.cmake +11 -0
- data/ext/smoke/qtwebkit/qtwebkit_includes.h +1 -0
- data/ext/smoke/qtwebkit/smokeconfig.xml +45 -0
- data/ext/smoke/qtwebkit_smoke.h +16 -0
- data/ext/smoke/qtxml/CMakeLists.txt +41 -0
- data/ext/smoke/qtxml/config.xml.cmake +11 -0
- data/ext/smoke/qtxml/qtxml_includes.h +2 -0
- data/ext/smoke/qtxml/smokeconfig.xml +70 -0
- data/ext/smoke/qtxml_smoke.h +16 -0
- data/ext/smoke/qtxmlpatterns/CMakeLists.txt +42 -0
- data/ext/smoke/qtxmlpatterns/config.xml.cmake +12 -0
- data/ext/smoke/qtxmlpatterns/qtxmlpatterns_includes.h +3 -0
- data/ext/smoke/qtxmlpatterns/smokeconfig.xml +80 -0
- data/ext/smoke/qtxmlpatterns_smoke.h +16 -0
- data/ext/smoke/smoke.h +557 -0
- data/ext/smoke/smokeapi/CMakeLists.txt +9 -0
- data/ext/smoke/smokeapi/main.cpp +309 -0
- data/ext/smoke/smokebase/CMakeLists.txt +11 -0
- data/ext/smoke/smokebase/smokebase.cpp +6 -0
- data/ext/smoke/solid_smoke.h +16 -0
- data/extconf.rb +231 -0
- data/lib/1.8/libqtruby4shared.dll +0 -0
- data/lib/1.8/libsmokebase.dll +0 -0
- data/lib/1.8/libsmokeqtcore.dll +0 -0
- data/lib/1.8/libsmokeqtgui.dll +0 -0
- data/lib/1.8/libsmokeqtmultimedia.dll +0 -0
- data/lib/1.8/libsmokeqtnetwork.dll +0 -0
- data/lib/1.8/libsmokeqtopengl.dll +0 -0
- data/lib/1.8/libsmokeqtscript.dll +0 -0
- data/lib/1.8/libsmokeqtsql.dll +0 -0
- data/lib/1.8/libsmokeqtsvg.dll +0 -0
- data/lib/1.8/libsmokeqttest.dll +0 -0
- data/lib/1.8/libsmokeqtuitools.dll +0 -0
- data/lib/1.8/libsmokeqtwebkit.dll +0 -0
- data/lib/1.8/libsmokeqtxml.dll +0 -0
- data/lib/1.8/libsmokeqtxmlpatterns.dll +0 -0
- data/lib/1.8/qtruby4.so +0 -0
- data/lib/1.8/qtscript.so +0 -0
- data/lib/1.8/qttest.so +0 -0
- data/lib/1.8/qtuitools.so +0 -0
- data/lib/1.8/qtwebkit.so +0 -0
- data/lib/1.9/libqtruby4shared.dll +0 -0
- data/lib/1.9/libsmokebase.dll +0 -0
- data/lib/1.9/libsmokeqtcore.dll +0 -0
- data/lib/1.9/libsmokeqtgui.dll +0 -0
- data/lib/1.9/libsmokeqtmultimedia.dll +0 -0
- data/lib/1.9/libsmokeqtnetwork.dll +0 -0
- data/lib/1.9/libsmokeqtopengl.dll +0 -0
- data/lib/1.9/libsmokeqtscript.dll +0 -0
- data/lib/1.9/libsmokeqtsql.dll +0 -0
- data/lib/1.9/libsmokeqtsvg.dll +0 -0
- data/lib/1.9/libsmokeqttest.dll +0 -0
- data/lib/1.9/libsmokeqtuitools.dll +0 -0
- data/lib/1.9/libsmokeqtwebkit.dll +0 -0
- data/lib/1.9/libsmokeqtxml.dll +0 -0
- data/lib/1.9/libsmokeqtxmlpatterns.dll +0 -0
- data/lib/1.9/qtruby4.so +0 -0
- data/lib/1.9/qtscript.so +0 -0
- data/lib/1.9/qttest.so +0 -0
- data/lib/1.9/qtuitools.so +0 -0
- data/lib/1.9/qtwebkit.so +0 -0
- data/lib/Qt.rb +1 -0
- data/lib/Qt/qtruby4.rb +3177 -0
- data/lib/Qt4.rb +20 -0
- data/lib/qtbindings_version.rb +2 -0
- data/lib/qtscript/qtscript.rb +40 -0
- data/lib/qttest/qttest.rb +166 -0
- data/lib/qtuitools/qtuitools.rb +17 -0
- data/lib/qtwebkit/qtwebkit.rb +17 -0
- data/qtbindings.gemspec +18 -0
- data/qtbindingsnative.gemspec +18 -0
- metadata +1297 -0
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'mkmf'
|
2
|
+
dir_config('smoke')
|
3
|
+
dir_config('qt')
|
4
|
+
|
5
|
+
# For Linux, BSD*, Mac OS X etc:
|
6
|
+
$LOCAL_LIBS += '-lsmokeqt -lQtCore -lQtGui -lQtNetwork -lQtOpenGL -lQtSql -lQtXml -lstdc++'
|
7
|
+
|
8
|
+
# For Windows the Qt library names end in '4':
|
9
|
+
# $LOCAL_LIBS += '-lsmokeqt -lQtCore4 -lQtGui4 -lQtNetwork4 -lQtOpenGL4 -lQtSql4 -lQtXml4 -lstdc++'
|
10
|
+
|
11
|
+
create_makefile("qtruby4")
|
@@ -0,0 +1,2622 @@
|
|
1
|
+
/***************************************************************************
|
2
|
+
* *
|
3
|
+
* This program is free software; you can redistribute it and/or modify *
|
4
|
+
* it under the terms of the GNU Lesser General Public License as *
|
5
|
+
* published by the Free Software Foundation; either version 2 of the *
|
6
|
+
* License, or (at your option) any later version. *
|
7
|
+
* *
|
8
|
+
***************************************************************************/
|
9
|
+
|
10
|
+
#include <QtCore/qdir.h>
|
11
|
+
#include <QtCore/qhash.h>
|
12
|
+
#include <QtCore/qlinkedlist.h>
|
13
|
+
#include <QtCore/qmetaobject.h>
|
14
|
+
#include <QtCore/qobject.h>
|
15
|
+
#include <QtCore/qpair.h>
|
16
|
+
#include <QtCore/qprocess.h>
|
17
|
+
#include <QtCore/qregexp.h>
|
18
|
+
#include <QtCore/qstring.h>
|
19
|
+
#include <QtCore/qtextcodec.h>
|
20
|
+
#include <QtCore/qurl.h>
|
21
|
+
#include <QtGui/qabstractbutton.h>
|
22
|
+
#include <QtGui/qaction.h>
|
23
|
+
#include <QtGui/qapplication.h>
|
24
|
+
#include <QtGui/qdockwidget.h>
|
25
|
+
#include <QtGui/qevent.h>
|
26
|
+
#include <QtGui/qlayout.h>
|
27
|
+
#include <QtGui/qlistwidget.h>
|
28
|
+
#include <QtGui/qpainter.h>
|
29
|
+
#include <QtGui/qpalette.h>
|
30
|
+
#include <QtGui/qpixmap.h>
|
31
|
+
#include <QtGui/qpolygon.h>
|
32
|
+
#include <QtGui/qtabbar.h>
|
33
|
+
#include <QtGui/qtablewidget.h>
|
34
|
+
#include <QtGui/qtextedit.h>
|
35
|
+
#include <QtGui/qtextlayout.h>
|
36
|
+
#include <QtGui/qtextobject.h>
|
37
|
+
#include <QtGui/qtoolbar.h>
|
38
|
+
#include <QtGui/qtreewidget.h>
|
39
|
+
#include <QtGui/qwidget.h>
|
40
|
+
#include <QtNetwork/qhostaddress.h>
|
41
|
+
#include <QtNetwork/qnetworkinterface.h>
|
42
|
+
#include <QtNetwork/qurlinfo.h>
|
43
|
+
|
44
|
+
|
45
|
+
#if QT_VERSION >= 0x40200
|
46
|
+
#include <QtGui/qgraphicsitem.h>
|
47
|
+
#include <QtGui/qgraphicslayout.h>
|
48
|
+
#include <QtGui/qgraphicsscene.h>
|
49
|
+
#include <QtGui/qgraphicswidget.h>
|
50
|
+
#include <QtGui/qstandarditemmodel.h>
|
51
|
+
#include <QtGui/qundostack.h>
|
52
|
+
#endif
|
53
|
+
|
54
|
+
#if QT_VERSION >= 0x40300
|
55
|
+
#include <QtGui/qmdisubwindow.h>
|
56
|
+
#include <QtNetwork/qsslcertificate.h>
|
57
|
+
#include <QtNetwork/qsslcipher.h>
|
58
|
+
#include <QtNetwork/qsslerror.h>
|
59
|
+
#include <QtXml/qxmlstream.h>
|
60
|
+
#endif
|
61
|
+
|
62
|
+
#if QT_VERSION >= 0x040400
|
63
|
+
#include <QtGui/qprinterinfo.h>
|
64
|
+
#include <QtNetwork/qnetworkcookie.h>
|
65
|
+
#endif
|
66
|
+
|
67
|
+
#include <smoke/smoke.h>
|
68
|
+
|
69
|
+
#undef DEBUG
|
70
|
+
#ifndef _GNU_SOURCE
|
71
|
+
#define _GNU_SOURCE
|
72
|
+
#endif
|
73
|
+
#ifndef __USE_POSIX
|
74
|
+
#define __USE_POSIX
|
75
|
+
#endif
|
76
|
+
#ifndef __USE_XOPEN
|
77
|
+
#define __USE_XOPEN
|
78
|
+
#endif
|
79
|
+
#include <ruby.h>
|
80
|
+
|
81
|
+
#include "marshall.h"
|
82
|
+
#include "qtruby.h"
|
83
|
+
#include "smokeruby.h"
|
84
|
+
#include "marshall_basetypes.h"
|
85
|
+
#include "marshall_macros.h"
|
86
|
+
|
87
|
+
#ifndef HINT_BYTES
|
88
|
+
#define HINT_BYTES HINT_BYTE
|
89
|
+
#endif
|
90
|
+
|
91
|
+
extern "C" {
|
92
|
+
extern VALUE set_obj_info(const char * className, smokeruby_object * o);
|
93
|
+
extern VALUE qt_internal_module;
|
94
|
+
extern VALUE qvariant_class;
|
95
|
+
extern bool application_terminated;
|
96
|
+
}
|
97
|
+
|
98
|
+
extern void mapPointer(VALUE obj, smokeruby_object *o, Smoke::Index classId, void *lastptr);
|
99
|
+
|
100
|
+
void
|
101
|
+
mark_qobject_children(QObject * qobject)
|
102
|
+
{
|
103
|
+
VALUE obj;
|
104
|
+
|
105
|
+
const QList<QObject*> l = qobject->children();
|
106
|
+
|
107
|
+
if (l.count() == 0) {
|
108
|
+
return;
|
109
|
+
}
|
110
|
+
|
111
|
+
QObject *child;
|
112
|
+
|
113
|
+
for (int i=0; i < l.size(); ++i) {
|
114
|
+
child = l.at(i);
|
115
|
+
obj = getPointerObject(child);
|
116
|
+
if (obj != Qnil) {
|
117
|
+
if(do_debug & qtdb_gc) qWarning("Marking (%s*)%p -> %p", child->metaObject()->className(), child, (void*)obj);
|
118
|
+
rb_gc_mark(obj);
|
119
|
+
}
|
120
|
+
|
121
|
+
mark_qobject_children(child);
|
122
|
+
}
|
123
|
+
}
|
124
|
+
|
125
|
+
void
|
126
|
+
mark_qgraphicsitem_children(QGraphicsItem * item)
|
127
|
+
{
|
128
|
+
VALUE obj;
|
129
|
+
|
130
|
+
const QList<QGraphicsItem*> l = item->childItems();
|
131
|
+
|
132
|
+
if (l.count() == 0) {
|
133
|
+
return;
|
134
|
+
}
|
135
|
+
|
136
|
+
QGraphicsItem *child;
|
137
|
+
|
138
|
+
for (int i=0; i < l.size(); ++i) {
|
139
|
+
child = l.at(i);
|
140
|
+
obj = getPointerObject(child);
|
141
|
+
if (obj != Qnil) {
|
142
|
+
if(do_debug & qtdb_gc) qWarning("Marking (%s*)%p -> %p", "QGraphicsItem", child, (void*)obj);
|
143
|
+
rb_gc_mark(obj);
|
144
|
+
}
|
145
|
+
|
146
|
+
mark_qgraphicsitem_children(child);
|
147
|
+
}
|
148
|
+
}
|
149
|
+
|
150
|
+
void
|
151
|
+
mark_qtreewidgetitem_children(QTreeWidgetItem * item)
|
152
|
+
{
|
153
|
+
VALUE obj;
|
154
|
+
QTreeWidgetItem *child;
|
155
|
+
|
156
|
+
for (int i = 0; i < item->childCount(); i++) {
|
157
|
+
child = item->child(i);
|
158
|
+
obj = getPointerObject(child);
|
159
|
+
if (obj != Qnil) {
|
160
|
+
if(do_debug & qtdb_gc) qWarning("Marking (%s*)%p -> %p", "QTreeWidgetItem", child, (void*)obj);
|
161
|
+
rb_gc_mark(obj);
|
162
|
+
}
|
163
|
+
|
164
|
+
mark_qtreewidgetitem_children(child);
|
165
|
+
}
|
166
|
+
}
|
167
|
+
|
168
|
+
void
|
169
|
+
mark_qstandarditem_children(QStandardItem * item)
|
170
|
+
{
|
171
|
+
VALUE obj;
|
172
|
+
|
173
|
+
for (int row = 0; row < item->rowCount(); row++) {
|
174
|
+
for (int column = 0; column < item->columnCount(); column++) {
|
175
|
+
QStandardItem * child = item->child(row, column);
|
176
|
+
if (child != 0) {
|
177
|
+
if (child->hasChildren()) {
|
178
|
+
mark_qstandarditem_children(child);
|
179
|
+
}
|
180
|
+
obj = getPointerObject(child);
|
181
|
+
if (obj != Qnil) {
|
182
|
+
if (do_debug & qtdb_gc) qWarning("Marking (%s*)%p -> %p", "QStandardItem", item, (void*)obj);
|
183
|
+
rb_gc_mark(obj);
|
184
|
+
}
|
185
|
+
}
|
186
|
+
}
|
187
|
+
}
|
188
|
+
}
|
189
|
+
|
190
|
+
void
|
191
|
+
smokeruby_mark(void * p)
|
192
|
+
{
|
193
|
+
VALUE obj;
|
194
|
+
smokeruby_object * o = (smokeruby_object *) p;
|
195
|
+
const char *className = o->smoke->classes[o->classId].className;
|
196
|
+
|
197
|
+
if (do_debug & qtdb_gc) qWarning("Checking for mark (%s*)%p", className, o->ptr);
|
198
|
+
|
199
|
+
if (o->ptr && o->allocated) {
|
200
|
+
if (o->smoke->isDerivedFrom(className, "QObject")) {
|
201
|
+
QObject * qobject = (QObject *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QObject", true).index);
|
202
|
+
// Only mark the QObject tree if the current item doesn't have a parent or the parent isn't wrapped by the bindings.
|
203
|
+
// This avoids marking parts of a tree more than once.
|
204
|
+
if (qobject->parent() == 0 || getPointerObject(qobject->parent()) == Qnil) {
|
205
|
+
mark_qobject_children(qobject);
|
206
|
+
}
|
207
|
+
}
|
208
|
+
|
209
|
+
if (o->smoke->isDerivedFrom(className, "QWidget")) {
|
210
|
+
QWidget * widget = (QWidget *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QWidget", true).index);
|
211
|
+
QLayout * layout = widget->layout();
|
212
|
+
if (layout != 0) {
|
213
|
+
obj = getPointerObject(layout);
|
214
|
+
if (obj != Qnil) {
|
215
|
+
if (do_debug & qtdb_gc) qWarning("Marking (%s*)%p -> %p", "QLayout", layout, (void*)obj);
|
216
|
+
rb_gc_mark(obj);
|
217
|
+
}
|
218
|
+
}
|
219
|
+
}
|
220
|
+
|
221
|
+
if (o->smoke->isDerivedFrom(className, "QListWidget")) {
|
222
|
+
QListWidget * listwidget = (QListWidget *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QListWidget", true).index);
|
223
|
+
|
224
|
+
for (int i = 0; i < listwidget->count(); i++) {
|
225
|
+
QListWidgetItem * item = listwidget->item(i);
|
226
|
+
obj = getPointerObject(item);
|
227
|
+
if (obj != Qnil) {
|
228
|
+
if (do_debug & qtdb_gc) qWarning("Marking (%s*)%p -> %p", "QListWidgetItem", item, (void*)obj);
|
229
|
+
rb_gc_mark(obj);
|
230
|
+
}
|
231
|
+
}
|
232
|
+
return;
|
233
|
+
}
|
234
|
+
|
235
|
+
if (o->smoke->isDerivedFrom(className, "QTableWidget")) {
|
236
|
+
QTableWidget * table = (QTableWidget *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QTableWidget", true).index);
|
237
|
+
QTableWidgetItem *item;
|
238
|
+
|
239
|
+
for ( int row = 0; row < table->rowCount(); row++ ) {
|
240
|
+
for ( int col = 0; col < table->columnCount(); col++ ) {
|
241
|
+
item = table->item(row, col);
|
242
|
+
obj = getPointerObject(item);
|
243
|
+
if (obj != Qnil) {
|
244
|
+
if(do_debug & qtdb_gc) qWarning("Marking (%s*)%p -> %p", className, item, (void*)obj);
|
245
|
+
rb_gc_mark(obj);
|
246
|
+
}
|
247
|
+
}
|
248
|
+
}
|
249
|
+
return;
|
250
|
+
}
|
251
|
+
|
252
|
+
if (o->smoke->isDerivedFrom(className, "QTreeWidget")) {
|
253
|
+
QTreeWidget * qtreewidget = (QTreeWidget *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QTreeWidget", true).index);
|
254
|
+
|
255
|
+
for (int i = 0; i < qtreewidget->topLevelItemCount(); i++) {
|
256
|
+
QTreeWidgetItem * item = qtreewidget->topLevelItem(i);
|
257
|
+
obj = getPointerObject(item);
|
258
|
+
if (obj != Qnil) {
|
259
|
+
if (do_debug & qtdb_gc) qWarning("Marking (%s*)%p -> %p", "QTreeWidgetItem", item, (void*)obj);
|
260
|
+
rb_gc_mark(obj);
|
261
|
+
}
|
262
|
+
mark_qtreewidgetitem_children(item);
|
263
|
+
}
|
264
|
+
return;
|
265
|
+
}
|
266
|
+
|
267
|
+
if (o->smoke->isDerivedFrom(className, "QLayout")) {
|
268
|
+
QLayout * qlayout = (QLayout *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QLayout", true).index);
|
269
|
+
for (int i = 0; i < qlayout->count(); ++i) {
|
270
|
+
QLayoutItem * item = qlayout->itemAt(i);
|
271
|
+
if (item != 0) {
|
272
|
+
obj = getPointerObject(item);
|
273
|
+
if (obj != Qnil) {
|
274
|
+
if (do_debug & qtdb_gc) qWarning("Marking (%s*)%p -> %p", "QLayoutItem", item, (void*)obj);
|
275
|
+
rb_gc_mark(obj);
|
276
|
+
}
|
277
|
+
}
|
278
|
+
}
|
279
|
+
return;
|
280
|
+
}
|
281
|
+
|
282
|
+
if (o->smoke->isDerivedFrom(className, "QStandardItemModel")) {
|
283
|
+
QStandardItemModel * model = (QStandardItemModel *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QStandardItemModel", true).index);
|
284
|
+
for (int row = 0; row < model->rowCount(); row++) {
|
285
|
+
for (int column = 0; column < model->columnCount(); column++) {
|
286
|
+
QStandardItem * item = model->item(row, column);
|
287
|
+
if (item != 0) {
|
288
|
+
if (item->hasChildren()) {
|
289
|
+
mark_qstandarditem_children(item);
|
290
|
+
}
|
291
|
+
obj = getPointerObject(item);
|
292
|
+
if (obj != Qnil) {
|
293
|
+
if (do_debug & qtdb_gc) qWarning("Marking (%s*)%p -> %p", "QStandardItem", item, (void*)obj);
|
294
|
+
rb_gc_mark(obj);
|
295
|
+
}
|
296
|
+
}
|
297
|
+
}
|
298
|
+
}
|
299
|
+
return;
|
300
|
+
}
|
301
|
+
|
302
|
+
if (o->smoke->isDerivedFrom(className, "QGraphicsWidget")) {
|
303
|
+
QGraphicsWidget * widget = (QGraphicsWidget *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QGraphicsWidget", true).index);
|
304
|
+
QGraphicsLayout * layout = widget->layout();
|
305
|
+
if (layout != 0) {
|
306
|
+
obj = getPointerObject(layout);
|
307
|
+
if (obj != Qnil) {
|
308
|
+
if (do_debug & qtdb_gc) qWarning("Marking (%s*)%p -> %p", "QGraphicsLayout", layout, (void*)obj);
|
309
|
+
rb_gc_mark(obj);
|
310
|
+
}
|
311
|
+
}
|
312
|
+
}
|
313
|
+
|
314
|
+
if (o->smoke->isDerivedFrom(className, "QGraphicsLayout")) {
|
315
|
+
QGraphicsLayout * qlayout = (QGraphicsLayout *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QGraphicsLayout", true).index);
|
316
|
+
for (int i = 0; i < qlayout->count(); ++i) {
|
317
|
+
QGraphicsLayoutItem * item = qlayout->itemAt(i);
|
318
|
+
if (item != 0) {
|
319
|
+
obj = getPointerObject(item);
|
320
|
+
if (obj != Qnil) {
|
321
|
+
if (do_debug & qtdb_gc) qWarning("Marking (%s*)%p -> %p", "QGraphicsLayoutItem", item, (void*)obj);
|
322
|
+
rb_gc_mark(obj);
|
323
|
+
}
|
324
|
+
}
|
325
|
+
}
|
326
|
+
return;
|
327
|
+
}
|
328
|
+
|
329
|
+
if (o->smoke->isDerivedFrom(className, "QGraphicsItem")) {
|
330
|
+
QGraphicsItem * item = (QGraphicsItem *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QGraphicsItem", true).index);
|
331
|
+
// Only mark the QGraphicsItem tree if the current item doesn't have a parent.
|
332
|
+
// This avoids marking parts of a tree more than once.
|
333
|
+
if (item->parentItem() == 0) {
|
334
|
+
mark_qgraphicsitem_children(item);
|
335
|
+
}
|
336
|
+
if (QGraphicsEffect* effect = item->graphicsEffect()) {
|
337
|
+
obj = getPointerObject(effect);
|
338
|
+
if (obj != Qnil) {
|
339
|
+
if (do_debug & qtdb_gc)
|
340
|
+
qWarning("Marking (%s*)%p -> %p", "QGraphicsEffect", effect, (void*)obj);
|
341
|
+
rb_gc_mark(obj);
|
342
|
+
}
|
343
|
+
}
|
344
|
+
}
|
345
|
+
|
346
|
+
if (o->smoke->isDerivedFrom(className, "QGraphicsScene")) {
|
347
|
+
QGraphicsScene * scene = (QGraphicsScene *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QGraphicsScene", true).index);
|
348
|
+
QList<QGraphicsItem *> list = scene->items();
|
349
|
+
for (int i = 0; i < list.size(); i++) {
|
350
|
+
QGraphicsItem * item = list.at(i);
|
351
|
+
if (item != 0) {
|
352
|
+
obj = getPointerObject(item);
|
353
|
+
if (obj != Qnil) {
|
354
|
+
if (do_debug & qtdb_gc) qWarning("Marking (%s*)%p -> %p", "QGraphicsItem", item, (void*)obj);
|
355
|
+
rb_gc_mark(obj);
|
356
|
+
}
|
357
|
+
}
|
358
|
+
}
|
359
|
+
return;
|
360
|
+
}
|
361
|
+
|
362
|
+
if (qstrcmp(className, "QModelIndex") == 0) {
|
363
|
+
QModelIndex * qmodelindex = (QModelIndex *) o->ptr;
|
364
|
+
void * ptr = qmodelindex->internalPointer();
|
365
|
+
if (ptr != 0 && ptr != (void *) Qnil) {
|
366
|
+
rb_gc_mark((VALUE) ptr);
|
367
|
+
}
|
368
|
+
|
369
|
+
return;
|
370
|
+
}
|
371
|
+
}
|
372
|
+
}
|
373
|
+
|
374
|
+
void
|
375
|
+
smokeruby_free(void * p)
|
376
|
+
{
|
377
|
+
smokeruby_object *o = (smokeruby_object*)p;
|
378
|
+
const char *className = o->smoke->classes[o->classId].className;
|
379
|
+
|
380
|
+
if(do_debug & qtdb_gc) qWarning("Checking for delete (%s*)%p allocated: %s", className, o->ptr, o->allocated ? "true" : "false");
|
381
|
+
|
382
|
+
if(application_terminated || !o->allocated || o->ptr == 0) {
|
383
|
+
free_smokeruby_object(o);
|
384
|
+
return;
|
385
|
+
}
|
386
|
+
|
387
|
+
unmapPointer(o, o->classId, 0);
|
388
|
+
object_count --;
|
389
|
+
|
390
|
+
if (o->smoke->isDerivedFrom(className, "QGraphicsLayoutItem")) {
|
391
|
+
QGraphicsLayoutItem * item = (QGraphicsLayoutItem *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QGraphicsLayoutItem", true).index);
|
392
|
+
if (item->graphicsItem() != 0 || item->parentLayoutItem() != 0) {
|
393
|
+
free_smokeruby_object(o);
|
394
|
+
return;
|
395
|
+
}
|
396
|
+
} else if (o->smoke->isDerivedFrom(className, "QGraphicsItem")) {
|
397
|
+
QGraphicsItem * item = (QGraphicsItem *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QGraphicsItem", true).index);
|
398
|
+
if (item->parentItem() != 0 || item->parentObject() != 0 || item->parentWidget() != 0) {
|
399
|
+
free_smokeruby_object(o);
|
400
|
+
return;
|
401
|
+
}
|
402
|
+
} else if (o->smoke->isDerivedFrom(className, "QLayoutItem")) {
|
403
|
+
QLayoutItem * item = (QLayoutItem *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QLayoutItem", true).index);
|
404
|
+
if (item->layout() != 0 || item->widget() != 0 || item->spacerItem() != 0) {
|
405
|
+
free_smokeruby_object(o);
|
406
|
+
return;
|
407
|
+
}
|
408
|
+
} else if (o->smoke->isDerivedFrom(className, "QStandardItem")) {
|
409
|
+
QStandardItem * item = (QStandardItem *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QStandardItem", true).index);
|
410
|
+
if (item->model() != 0 || item->parent() != 0) {
|
411
|
+
free_smokeruby_object(o);
|
412
|
+
return;
|
413
|
+
}
|
414
|
+
} else if (qstrcmp(className, "QListWidgetItem") == 0) {
|
415
|
+
QListWidgetItem * item = (QListWidgetItem *) o->ptr;
|
416
|
+
if (item->listWidget() != 0) {
|
417
|
+
free_smokeruby_object(o);
|
418
|
+
return;
|
419
|
+
}
|
420
|
+
} else if (o->smoke->isDerivedFrom(className, "QTableWidgetItem")) {
|
421
|
+
QTableWidgetItem * item = (QTableWidgetItem *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QTableWidgetItem", true).index);
|
422
|
+
if (item->tableWidget() != 0) {
|
423
|
+
free_smokeruby_object(o);
|
424
|
+
return;
|
425
|
+
}
|
426
|
+
} else if (o->smoke->isDerivedFrom(className, "QWidget")) {
|
427
|
+
QWidget * qwidget = (QWidget *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QWidget", true).index);
|
428
|
+
if (qwidget->parentWidget() != 0 || QCoreApplication::closingDown()) {
|
429
|
+
free_smokeruby_object(o);
|
430
|
+
return;
|
431
|
+
}
|
432
|
+
} else if (o->smoke->isDerivedFrom(className, "QObject")) {
|
433
|
+
QObject * qobject = (QObject *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QObject", true).index);
|
434
|
+
if (qobject->parent() != 0) {
|
435
|
+
free_smokeruby_object(o);
|
436
|
+
return;
|
437
|
+
}
|
438
|
+
}
|
439
|
+
|
440
|
+
if(do_debug & qtdb_gc) qWarning("Deleting (%s*)%p", className, o->ptr);
|
441
|
+
|
442
|
+
char *methodName = new char[strlen(className) + 2];
|
443
|
+
methodName[0] = '~';
|
444
|
+
strcpy(methodName + 1, className);
|
445
|
+
Smoke::ModuleIndex nameId = o->smoke->findMethodName(className, methodName);
|
446
|
+
Smoke::ModuleIndex classIdx(o->smoke, o->classId);
|
447
|
+
Smoke::ModuleIndex meth = o->smoke->findMethod(classIdx, nameId);
|
448
|
+
if(meth.index > 0) {
|
449
|
+
Smoke::Method &m = meth.smoke->methods[meth.smoke->methodMaps[meth.index].method];
|
450
|
+
Smoke::ClassFn fn = meth.smoke->classes[m.classId].classFn;
|
451
|
+
Smoke::StackItem i[1];
|
452
|
+
(*fn)(m.method, o->ptr, i);
|
453
|
+
}
|
454
|
+
delete[] methodName;
|
455
|
+
free_smokeruby_object(o);
|
456
|
+
|
457
|
+
return;
|
458
|
+
}
|
459
|
+
|
460
|
+
/*
|
461
|
+
* Given an approximate classname and a qt instance, try to improve the resolution of the name
|
462
|
+
* by using the various Qt rtti mechanisms for QObjects, QEvents and so on
|
463
|
+
*/
|
464
|
+
Q_DECL_EXPORT const char *
|
465
|
+
resolve_classname_qt(smokeruby_object * o)
|
466
|
+
{
|
467
|
+
#define SET_SMOKERUBY_OBJECT(className) \
|
468
|
+
{ \
|
469
|
+
Smoke::ModuleIndex mi = Smoke::findClass(className); \
|
470
|
+
o->classId = mi.index; \
|
471
|
+
o->smoke = mi.smoke; \
|
472
|
+
}
|
473
|
+
|
474
|
+
if (o->smoke->isDerivedFrom(o->smoke->classes[o->classId].className, "QEvent")) {
|
475
|
+
QEvent * qevent = (QEvent *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QEvent", true).index);
|
476
|
+
switch (qevent->type()) {
|
477
|
+
case QEvent::Timer:
|
478
|
+
SET_SMOKERUBY_OBJECT("QTimerEvent")
|
479
|
+
break;
|
480
|
+
case QEvent::MouseButtonPress:
|
481
|
+
case QEvent::MouseButtonRelease:
|
482
|
+
case QEvent::MouseButtonDblClick:
|
483
|
+
case QEvent::MouseMove:
|
484
|
+
SET_SMOKERUBY_OBJECT("QMouseEvent")
|
485
|
+
break;
|
486
|
+
case QEvent::KeyPress:
|
487
|
+
case QEvent::KeyRelease:
|
488
|
+
case QEvent::ShortcutOverride:
|
489
|
+
SET_SMOKERUBY_OBJECT("QKeyEvent")
|
490
|
+
break;
|
491
|
+
case QEvent::FocusIn:
|
492
|
+
case QEvent::FocusOut:
|
493
|
+
SET_SMOKERUBY_OBJECT("QFocusEvent")
|
494
|
+
break;
|
495
|
+
case QEvent::Enter:
|
496
|
+
case QEvent::Leave:
|
497
|
+
SET_SMOKERUBY_OBJECT("QEvent")
|
498
|
+
break;
|
499
|
+
case QEvent::Paint:
|
500
|
+
SET_SMOKERUBY_OBJECT("QPaintEvent")
|
501
|
+
break;
|
502
|
+
case QEvent::Move:
|
503
|
+
SET_SMOKERUBY_OBJECT("QMoveEvent")
|
504
|
+
break;
|
505
|
+
case QEvent::Resize:
|
506
|
+
SET_SMOKERUBY_OBJECT("QResizeEvent")
|
507
|
+
break;
|
508
|
+
case QEvent::Create:
|
509
|
+
case QEvent::Destroy:
|
510
|
+
SET_SMOKERUBY_OBJECT("QEvent")
|
511
|
+
break;
|
512
|
+
case QEvent::Show:
|
513
|
+
SET_SMOKERUBY_OBJECT("QShowEvent")
|
514
|
+
break;
|
515
|
+
case QEvent::Hide:
|
516
|
+
SET_SMOKERUBY_OBJECT("QHideEvent")
|
517
|
+
case QEvent::Close:
|
518
|
+
SET_SMOKERUBY_OBJECT("QCloseEvent")
|
519
|
+
break;
|
520
|
+
case QEvent::Quit:
|
521
|
+
case QEvent::ParentChange:
|
522
|
+
case QEvent::ParentAboutToChange:
|
523
|
+
case QEvent::ThreadChange:
|
524
|
+
case QEvent::WindowActivate:
|
525
|
+
case QEvent::WindowDeactivate:
|
526
|
+
case QEvent::ShowToParent:
|
527
|
+
case QEvent::HideToParent:
|
528
|
+
SET_SMOKERUBY_OBJECT("QEvent")
|
529
|
+
break;
|
530
|
+
case QEvent::Wheel:
|
531
|
+
SET_SMOKERUBY_OBJECT("QWheelEvent")
|
532
|
+
break;
|
533
|
+
case QEvent::WindowTitleChange:
|
534
|
+
case QEvent::WindowIconChange:
|
535
|
+
case QEvent::ApplicationWindowIconChange:
|
536
|
+
case QEvent::ApplicationFontChange:
|
537
|
+
case QEvent::ApplicationLayoutDirectionChange:
|
538
|
+
case QEvent::ApplicationPaletteChange:
|
539
|
+
case QEvent::PaletteChange:
|
540
|
+
SET_SMOKERUBY_OBJECT("QEvent")
|
541
|
+
break;
|
542
|
+
case QEvent::Clipboard:
|
543
|
+
SET_SMOKERUBY_OBJECT("QClipboardEvent")
|
544
|
+
break;
|
545
|
+
case QEvent::Speech:
|
546
|
+
case QEvent::MetaCall:
|
547
|
+
case QEvent::SockAct:
|
548
|
+
case QEvent::WinEventAct:
|
549
|
+
case QEvent::DeferredDelete:
|
550
|
+
SET_SMOKERUBY_OBJECT("QEvent")
|
551
|
+
break;
|
552
|
+
case QEvent::DragEnter:
|
553
|
+
SET_SMOKERUBY_OBJECT("QDragEnterEvent")
|
554
|
+
break;
|
555
|
+
case QEvent::DragLeave:
|
556
|
+
SET_SMOKERUBY_OBJECT("QDragLeaveEvent")
|
557
|
+
break;
|
558
|
+
case QEvent::DragMove:
|
559
|
+
SET_SMOKERUBY_OBJECT("QDragMoveEvent")
|
560
|
+
case QEvent::Drop:
|
561
|
+
SET_SMOKERUBY_OBJECT("QDropEvent")
|
562
|
+
break;
|
563
|
+
case QEvent::DragResponse:
|
564
|
+
SET_SMOKERUBY_OBJECT("QDragResponseEvent")
|
565
|
+
break;
|
566
|
+
case QEvent::ChildAdded:
|
567
|
+
case QEvent::ChildRemoved:
|
568
|
+
case QEvent::ChildPolished:
|
569
|
+
SET_SMOKERUBY_OBJECT("QChildEvent")
|
570
|
+
break;
|
571
|
+
case QEvent::ShowWindowRequest:
|
572
|
+
case QEvent::PolishRequest:
|
573
|
+
case QEvent::Polish:
|
574
|
+
case QEvent::LayoutRequest:
|
575
|
+
case QEvent::UpdateRequest:
|
576
|
+
case QEvent::EmbeddingControl:
|
577
|
+
case QEvent::ActivateControl:
|
578
|
+
case QEvent::DeactivateControl:
|
579
|
+
SET_SMOKERUBY_OBJECT("QEvent")
|
580
|
+
break;
|
581
|
+
case QEvent::ContextMenu:
|
582
|
+
SET_SMOKERUBY_OBJECT("QContextMenuEvent")
|
583
|
+
break;
|
584
|
+
case QEvent::DynamicPropertyChange:
|
585
|
+
SET_SMOKERUBY_OBJECT("QDynamicPropertyChangeEvent")
|
586
|
+
break;
|
587
|
+
case QEvent::InputMethod:
|
588
|
+
SET_SMOKERUBY_OBJECT("QInputMethodEvent")
|
589
|
+
break;
|
590
|
+
case QEvent::AccessibilityPrepare:
|
591
|
+
SET_SMOKERUBY_OBJECT("QEvent")
|
592
|
+
break;
|
593
|
+
case QEvent::TabletMove:
|
594
|
+
case QEvent::TabletPress:
|
595
|
+
case QEvent::TabletRelease:
|
596
|
+
SET_SMOKERUBY_OBJECT("QTabletEvent")
|
597
|
+
break;
|
598
|
+
case QEvent::LocaleChange:
|
599
|
+
case QEvent::LanguageChange:
|
600
|
+
case QEvent::LayoutDirectionChange:
|
601
|
+
case QEvent::Style:
|
602
|
+
case QEvent::OkRequest:
|
603
|
+
case QEvent::HelpRequest:
|
604
|
+
SET_SMOKERUBY_OBJECT("QEvent")
|
605
|
+
break;
|
606
|
+
case QEvent::IconDrag:
|
607
|
+
SET_SMOKERUBY_OBJECT("QIconDragEvent")
|
608
|
+
break;
|
609
|
+
case QEvent::FontChange:
|
610
|
+
case QEvent::EnabledChange:
|
611
|
+
case QEvent::ActivationChange:
|
612
|
+
case QEvent::StyleChange:
|
613
|
+
case QEvent::IconTextChange:
|
614
|
+
case QEvent::ModifiedChange:
|
615
|
+
case QEvent::MouseTrackingChange:
|
616
|
+
SET_SMOKERUBY_OBJECT("QEvent")
|
617
|
+
break;
|
618
|
+
case QEvent::WindowBlocked:
|
619
|
+
case QEvent::WindowUnblocked:
|
620
|
+
case QEvent::WindowStateChange:
|
621
|
+
SET_SMOKERUBY_OBJECT("QWindowStateChangeEvent")
|
622
|
+
break;
|
623
|
+
case QEvent::ToolTip:
|
624
|
+
case QEvent::WhatsThis:
|
625
|
+
SET_SMOKERUBY_OBJECT("QHelpEvent")
|
626
|
+
break;
|
627
|
+
case QEvent::StatusTip:
|
628
|
+
SET_SMOKERUBY_OBJECT("QEvent")
|
629
|
+
break;
|
630
|
+
case QEvent::ActionChanged:
|
631
|
+
case QEvent::ActionAdded:
|
632
|
+
case QEvent::ActionRemoved:
|
633
|
+
SET_SMOKERUBY_OBJECT("QActionEvent")
|
634
|
+
break;
|
635
|
+
case QEvent::FileOpen:
|
636
|
+
SET_SMOKERUBY_OBJECT("QFileOpenEvent")
|
637
|
+
break;
|
638
|
+
case QEvent::Shortcut:
|
639
|
+
SET_SMOKERUBY_OBJECT("QShortcutEvent")
|
640
|
+
break;
|
641
|
+
case QEvent::WhatsThisClicked:
|
642
|
+
SET_SMOKERUBY_OBJECT("QWhatsThisClickedEvent")
|
643
|
+
break;
|
644
|
+
case QEvent::ToolBarChange:
|
645
|
+
SET_SMOKERUBY_OBJECT("QToolBarChangeEvent")
|
646
|
+
break;
|
647
|
+
case QEvent::ApplicationActivated:
|
648
|
+
case QEvent::ApplicationDeactivated:
|
649
|
+
case QEvent::QueryWhatsThis:
|
650
|
+
case QEvent::EnterWhatsThisMode:
|
651
|
+
case QEvent::LeaveWhatsThisMode:
|
652
|
+
case QEvent::ZOrderChange:
|
653
|
+
SET_SMOKERUBY_OBJECT("QEvent")
|
654
|
+
break;
|
655
|
+
case QEvent::HoverEnter:
|
656
|
+
case QEvent::HoverLeave:
|
657
|
+
case QEvent::HoverMove:
|
658
|
+
SET_SMOKERUBY_OBJECT("QHoverEvent")
|
659
|
+
break;
|
660
|
+
case QEvent::AccessibilityHelp:
|
661
|
+
case QEvent::AccessibilityDescription:
|
662
|
+
SET_SMOKERUBY_OBJECT("QEvent")
|
663
|
+
#if QT_VERSION >= 0x40200
|
664
|
+
case QEvent::GraphicsSceneMouseMove:
|
665
|
+
case QEvent::GraphicsSceneMousePress:
|
666
|
+
case QEvent::GraphicsSceneMouseRelease:
|
667
|
+
case QEvent::GraphicsSceneMouseDoubleClick:
|
668
|
+
SET_SMOKERUBY_OBJECT("QGraphicsSceneMouseEvent")
|
669
|
+
break;
|
670
|
+
case QEvent::GraphicsSceneContextMenu:
|
671
|
+
SET_SMOKERUBY_OBJECT("QGraphicsSceneContextMenuEvent")
|
672
|
+
break;
|
673
|
+
case QEvent::GraphicsSceneHoverEnter:
|
674
|
+
case QEvent::GraphicsSceneHoverMove:
|
675
|
+
case QEvent::GraphicsSceneHoverLeave:
|
676
|
+
SET_SMOKERUBY_OBJECT("QGraphicsSceneHoverEvent")
|
677
|
+
break;
|
678
|
+
case QEvent::GraphicsSceneHelp:
|
679
|
+
SET_SMOKERUBY_OBJECT("QGraphicsSceneHelpEvent")
|
680
|
+
break;
|
681
|
+
case QEvent::GraphicsSceneDragEnter:
|
682
|
+
case QEvent::GraphicsSceneDragMove:
|
683
|
+
case QEvent::GraphicsSceneDragLeave:
|
684
|
+
case QEvent::GraphicsSceneDrop:
|
685
|
+
SET_SMOKERUBY_OBJECT("QGraphicsSceneDragDropEvent")
|
686
|
+
break;
|
687
|
+
case QEvent::GraphicsSceneWheel:
|
688
|
+
SET_SMOKERUBY_OBJECT("QGraphicsSceneWheelEvent")
|
689
|
+
break;
|
690
|
+
case QEvent::KeyboardLayoutChange:
|
691
|
+
SET_SMOKERUBY_OBJECT("QEvent")
|
692
|
+
break;
|
693
|
+
#endif
|
694
|
+
default:
|
695
|
+
break;
|
696
|
+
}
|
697
|
+
} else if (o->smoke->isDerivedFrom(o->smoke->classes[o->classId].className, "QGraphicsItem")) {
|
698
|
+
QGraphicsItem * item = (QGraphicsItem *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QGraphicsItem", true).index);
|
699
|
+
switch (item->type()) {
|
700
|
+
case 1:
|
701
|
+
SET_SMOKERUBY_OBJECT("QGraphicsItem")
|
702
|
+
break;
|
703
|
+
case 2:
|
704
|
+
SET_SMOKERUBY_OBJECT("QGraphicsPathItem")
|
705
|
+
break;
|
706
|
+
case 3:
|
707
|
+
SET_SMOKERUBY_OBJECT("QGraphicsRectItem")
|
708
|
+
case 4:
|
709
|
+
SET_SMOKERUBY_OBJECT("QGraphicsEllipseItem")
|
710
|
+
break;
|
711
|
+
case 5:
|
712
|
+
SET_SMOKERUBY_OBJECT("QGraphicsPolygonItem")
|
713
|
+
break;
|
714
|
+
case 6:
|
715
|
+
SET_SMOKERUBY_OBJECT("QGraphicsLineItem")
|
716
|
+
break;
|
717
|
+
case 7:
|
718
|
+
SET_SMOKERUBY_OBJECT("QGraphicsItem")
|
719
|
+
break;
|
720
|
+
case 8:
|
721
|
+
SET_SMOKERUBY_OBJECT("QGraphicsTextItem")
|
722
|
+
break;
|
723
|
+
case 9:
|
724
|
+
SET_SMOKERUBY_OBJECT("QGraphicsSimpleTextItem")
|
725
|
+
break;
|
726
|
+
case 10:
|
727
|
+
SET_SMOKERUBY_OBJECT("QGraphicsItemGroup")
|
728
|
+
break;
|
729
|
+
}
|
730
|
+
} else if (o->smoke->isDerivedFrom(o->smoke->classes[o->classId].className, "QLayoutItem")) {
|
731
|
+
QLayoutItem * item = (QLayoutItem *) o->smoke->cast(o->ptr, o->classId, o->smoke->idClass("QLayoutItem", true).index);
|
732
|
+
if (item->widget() != 0) {
|
733
|
+
SET_SMOKERUBY_OBJECT("QWidgetItem")
|
734
|
+
} else if (item->spacerItem() != 0) {
|
735
|
+
SET_SMOKERUBY_OBJECT("QSpacerItem")
|
736
|
+
}
|
737
|
+
}
|
738
|
+
|
739
|
+
return qtruby_modules[o->smoke].binding->className(o->classId);
|
740
|
+
|
741
|
+
#undef SET_SMOKERUBY_OBJECT
|
742
|
+
}
|
743
|
+
|
744
|
+
bool
|
745
|
+
matches_arg(Smoke *smoke, Smoke::Index meth, Smoke::Index argidx, const char *argtype)
|
746
|
+
{
|
747
|
+
Smoke::Index *arg = smoke->argumentList + smoke->methods[meth].args + argidx;
|
748
|
+
SmokeType type = SmokeType(smoke, *arg);
|
749
|
+
if (type.name() && qstrcmp(type.name(), argtype) == 0) {
|
750
|
+
return true;
|
751
|
+
}
|
752
|
+
return false;
|
753
|
+
}
|
754
|
+
|
755
|
+
void *
|
756
|
+
construct_copy(smokeruby_object *o)
|
757
|
+
{
|
758
|
+
const char *className = o->smoke->className(o->classId);
|
759
|
+
int classNameLen = strlen(className);
|
760
|
+
|
761
|
+
// copy constructor signature
|
762
|
+
QByteArray ccSig(className);
|
763
|
+
int pos = ccSig.lastIndexOf("::");
|
764
|
+
if (pos != -1) {
|
765
|
+
ccSig = ccSig.mid(pos + strlen("::"));
|
766
|
+
}
|
767
|
+
ccSig.append("#");
|
768
|
+
Smoke::ModuleIndex ccId = o->smoke->findMethodName(className, ccSig);
|
769
|
+
|
770
|
+
char *ccArg = new char[classNameLen + 8];
|
771
|
+
sprintf(ccArg, "const %s&", className);
|
772
|
+
|
773
|
+
Smoke::ModuleIndex classIdx(o->smoke, o->classId);
|
774
|
+
Smoke::ModuleIndex ccMeth = o->smoke->findMethod(classIdx, ccId);
|
775
|
+
|
776
|
+
if (ccMeth.index == 0) {
|
777
|
+
qWarning("construct_copy() failed %s %p\n", resolve_classname(o), o->ptr);
|
778
|
+
delete[] ccArg;
|
779
|
+
return 0;
|
780
|
+
}
|
781
|
+
Smoke::Index method = ccMeth.smoke->methodMaps[ccMeth.index].method;
|
782
|
+
if (method > 0) {
|
783
|
+
// Make sure it's a copy constructor
|
784
|
+
if (!matches_arg(o->smoke, method, 0, ccArg)) {
|
785
|
+
qWarning("construct_copy() failed %s %p\n", resolve_classname(o), o->ptr);
|
786
|
+
delete[] ccArg;
|
787
|
+
return 0;
|
788
|
+
}
|
789
|
+
delete[] ccArg;
|
790
|
+
ccMeth.index = method;
|
791
|
+
} else {
|
792
|
+
// ambiguous method, pick the copy constructor
|
793
|
+
Smoke::Index i = -method;
|
794
|
+
while (ccMeth.smoke->ambiguousMethodList[i]) {
|
795
|
+
if (matches_arg(ccMeth.smoke, ccMeth.smoke->ambiguousMethodList[i], 0, ccArg)) {
|
796
|
+
break;
|
797
|
+
}
|
798
|
+
i++;
|
799
|
+
}
|
800
|
+
delete[] ccArg;
|
801
|
+
ccMeth.index = ccMeth.smoke->ambiguousMethodList[i];
|
802
|
+
if (ccMeth.index == 0) {
|
803
|
+
qWarning("construct_copy() failed %s %p\n", resolve_classname(o), o->ptr);
|
804
|
+
return 0;
|
805
|
+
}
|
806
|
+
}
|
807
|
+
|
808
|
+
// Okay, ccMeth is the copy constructor. Time to call it.
|
809
|
+
Smoke::StackItem args[2];
|
810
|
+
args[0].s_voidp = 0;
|
811
|
+
args[1].s_voidp = o->ptr;
|
812
|
+
Smoke::ClassFn fn = o->smoke->classes[o->classId].classFn;
|
813
|
+
(*fn)(o->smoke->methods[ccMeth.index].method, 0, args);
|
814
|
+
|
815
|
+
// Initialize the binding for the new instance
|
816
|
+
Smoke::StackItem s[2];
|
817
|
+
s[1].s_voidp = qtruby_modules[o->smoke].binding;
|
818
|
+
(*fn)(0, args[0].s_voidp, s);
|
819
|
+
|
820
|
+
return args[0].s_voidp;
|
821
|
+
}
|
822
|
+
|
823
|
+
template <class T>
|
824
|
+
static void marshall_it(Marshall *m)
|
825
|
+
{
|
826
|
+
switch(m->action()) {
|
827
|
+
case Marshall::FromVALUE:
|
828
|
+
marshall_from_ruby<T>(m);
|
829
|
+
break;
|
830
|
+
|
831
|
+
case Marshall::ToVALUE:
|
832
|
+
marshall_to_ruby<T>( m );
|
833
|
+
break;
|
834
|
+
|
835
|
+
default:
|
836
|
+
m->unsupported();
|
837
|
+
break;
|
838
|
+
}
|
839
|
+
}
|
840
|
+
|
841
|
+
void
|
842
|
+
marshall_basetype(Marshall *m)
|
843
|
+
{
|
844
|
+
switch(m->type().elem()) {
|
845
|
+
|
846
|
+
case Smoke::t_bool:
|
847
|
+
marshall_it<bool>(m);
|
848
|
+
break;
|
849
|
+
|
850
|
+
case Smoke::t_char:
|
851
|
+
marshall_it<signed char>(m);
|
852
|
+
break;
|
853
|
+
|
854
|
+
case Smoke::t_uchar:
|
855
|
+
marshall_it<unsigned char>(m);
|
856
|
+
break;
|
857
|
+
|
858
|
+
case Smoke::t_short:
|
859
|
+
marshall_it<short>(m);
|
860
|
+
break;
|
861
|
+
|
862
|
+
case Smoke::t_ushort:
|
863
|
+
marshall_it<unsigned short>(m);
|
864
|
+
break;
|
865
|
+
|
866
|
+
case Smoke::t_int:
|
867
|
+
marshall_it<int>(m);
|
868
|
+
break;
|
869
|
+
|
870
|
+
case Smoke::t_uint:
|
871
|
+
marshall_it<unsigned int>(m);
|
872
|
+
break;
|
873
|
+
|
874
|
+
case Smoke::t_long:
|
875
|
+
marshall_it<long>(m);
|
876
|
+
break;
|
877
|
+
|
878
|
+
case Smoke::t_ulong:
|
879
|
+
marshall_it<unsigned long>(m);
|
880
|
+
break;
|
881
|
+
|
882
|
+
case Smoke::t_float:
|
883
|
+
marshall_it<float>(m);
|
884
|
+
break;
|
885
|
+
|
886
|
+
case Smoke::t_double:
|
887
|
+
marshall_it<double>(m);
|
888
|
+
break;
|
889
|
+
|
890
|
+
case Smoke::t_enum:
|
891
|
+
marshall_it<SmokeEnumWrapper>(m);
|
892
|
+
break;
|
893
|
+
|
894
|
+
case Smoke::t_class:
|
895
|
+
marshall_it<SmokeClassWrapper>(m);
|
896
|
+
break;
|
897
|
+
|
898
|
+
default:
|
899
|
+
m->unsupported();
|
900
|
+
break;
|
901
|
+
}
|
902
|
+
|
903
|
+
}
|
904
|
+
|
905
|
+
static void marshall_void(Marshall * /*m*/) {}
|
906
|
+
static void marshall_unknown(Marshall *m) {
|
907
|
+
m->unsupported();
|
908
|
+
}
|
909
|
+
|
910
|
+
void marshall_ucharP(Marshall *m) {
|
911
|
+
marshall_it<unsigned char *>(m);
|
912
|
+
}
|
913
|
+
|
914
|
+
static void marshall_doubleR(Marshall *m) {
|
915
|
+
switch(m->action()) {
|
916
|
+
case Marshall::FromVALUE:
|
917
|
+
{
|
918
|
+
VALUE rv = *(m->var());
|
919
|
+
double * d = new double;
|
920
|
+
*d = NUM2DBL(rv);
|
921
|
+
m->item().s_voidp = d;
|
922
|
+
m->next();
|
923
|
+
if (m->cleanup() && m->type().isConst()) {
|
924
|
+
delete d;
|
925
|
+
} else {
|
926
|
+
m->item().s_voidp = new double((double)NUM2DBL(rv));
|
927
|
+
}
|
928
|
+
}
|
929
|
+
break;
|
930
|
+
case Marshall::ToVALUE:
|
931
|
+
{
|
932
|
+
double *dp = (double*)m->item().s_voidp;
|
933
|
+
VALUE rv = *(m->var());
|
934
|
+
if (dp == 0) {
|
935
|
+
rv = Qnil;
|
936
|
+
break;
|
937
|
+
}
|
938
|
+
*(m->var()) = rb_float_new(*dp);
|
939
|
+
m->next();
|
940
|
+
if (!m->type().isConst()) {
|
941
|
+
*dp = NUM2DBL(*(m->var()));
|
942
|
+
}
|
943
|
+
}
|
944
|
+
break;
|
945
|
+
default:
|
946
|
+
m->unsupported();
|
947
|
+
break;
|
948
|
+
}
|
949
|
+
}
|
950
|
+
|
951
|
+
static QTextCodec *codec = 0;
|
952
|
+
|
953
|
+
#if RUBY_VERSION < 0x10900
|
954
|
+
static const char * KCODE = 0;
|
955
|
+
|
956
|
+
static void
|
957
|
+
init_codec() {
|
958
|
+
VALUE temp = rb_gv_get("$KCODE");
|
959
|
+
KCODE = StringValuePtr(temp);
|
960
|
+
if (qstrcmp(KCODE, "EUC") == 0) {
|
961
|
+
codec = QTextCodec::codecForName("eucJP");
|
962
|
+
} else if (qstrcmp(KCODE, "SJIS") == 0) {
|
963
|
+
codec = QTextCodec::codecForName("Shift-JIS");
|
964
|
+
}
|
965
|
+
}
|
966
|
+
|
967
|
+
QString*
|
968
|
+
qstringFromRString(VALUE rstring) {
|
969
|
+
if (KCODE == 0) {
|
970
|
+
init_codec();
|
971
|
+
}
|
972
|
+
|
973
|
+
if (qstrcmp(KCODE, "UTF8") == 0)
|
974
|
+
return new QString(QString::fromUtf8(StringValuePtr(rstring), RSTRING_LEN(rstring)));
|
975
|
+
else if (qstrcmp(KCODE, "EUC") == 0)
|
976
|
+
return new QString(codec->toUnicode(StringValuePtr(rstring)));
|
977
|
+
else if (qstrcmp(KCODE, "SJIS") == 0)
|
978
|
+
return new QString(codec->toUnicode(StringValuePtr(rstring)));
|
979
|
+
else if(qstrcmp(KCODE, "NONE") == 0)
|
980
|
+
return new QString(QString::fromLatin1(StringValuePtr(rstring)));
|
981
|
+
|
982
|
+
return new QString(QString::fromLocal8Bit(StringValuePtr(rstring), RSTRING_LEN(rstring)));
|
983
|
+
}
|
984
|
+
|
985
|
+
VALUE
|
986
|
+
rstringFromQString(QString * s) {
|
987
|
+
if (KCODE == 0) {
|
988
|
+
init_codec();
|
989
|
+
}
|
990
|
+
|
991
|
+
if (qstrcmp(KCODE, "UTF8") == 0)
|
992
|
+
return rb_str_new2(s->toUtf8());
|
993
|
+
else if (qstrcmp(KCODE, "EUC") == 0)
|
994
|
+
return rb_str_new2(codec->fromUnicode(*s));
|
995
|
+
else if (qstrcmp(KCODE, "SJIS") == 0)
|
996
|
+
return rb_str_new2(codec->fromUnicode(*s));
|
997
|
+
else if (qstrcmp(KCODE, "NONE") == 0)
|
998
|
+
return rb_str_new2(s->toLatin1());
|
999
|
+
else
|
1000
|
+
return rb_str_new2(s->toLocal8Bit());
|
1001
|
+
}
|
1002
|
+
|
1003
|
+
#else
|
1004
|
+
|
1005
|
+
QString*
|
1006
|
+
qstringFromRString(VALUE rstring) {
|
1007
|
+
VALUE encoding = rb_funcall(rstring, rb_intern("encoding"), 0);
|
1008
|
+
encoding = rb_funcall(encoding, rb_intern("to_s"), 0);
|
1009
|
+
const char * enc_s = RSTRING_PTR(encoding);
|
1010
|
+
|
1011
|
+
if (qstrcmp(enc_s, "UTF8") == 0) {
|
1012
|
+
return new QString(QString::fromUtf8(StringValuePtr(rstring), RSTRING_LEN(rstring)));
|
1013
|
+
} else if (qstrcmp(enc_s, "EUC-JP") == 0) {
|
1014
|
+
codec = QTextCodec::codecForName("eucJP");
|
1015
|
+
return new QString(codec->toUnicode(StringValuePtr(rstring)));
|
1016
|
+
} else if (qstrcmp(enc_s, "Shift-JIS") == 0) {
|
1017
|
+
codec = QTextCodec::codecForName("Shift-JIS");
|
1018
|
+
return new QString(codec->toUnicode(StringValuePtr(rstring)));
|
1019
|
+
} else if(qstrcmp(enc_s, "ISO-8859-1") == 0 || qstrcmp(enc_s, "US-ASCII") == 0) {
|
1020
|
+
return new QString(QString::fromLatin1(StringValuePtr(rstring)));
|
1021
|
+
}
|
1022
|
+
|
1023
|
+
return new QString(QString::fromLocal8Bit(StringValuePtr(rstring), RSTRING_LEN(rstring)));
|
1024
|
+
}
|
1025
|
+
|
1026
|
+
VALUE
|
1027
|
+
rstringFromQString(QString * s) {
|
1028
|
+
return rb_str_new2(s->toUtf8());
|
1029
|
+
}
|
1030
|
+
#endif
|
1031
|
+
|
1032
|
+
QByteArray*
|
1033
|
+
qbytearrayFromRString(VALUE rstring) {
|
1034
|
+
return new QByteArray(StringValuePtr(rstring), RSTRING_LEN(rstring));
|
1035
|
+
}
|
1036
|
+
|
1037
|
+
VALUE
|
1038
|
+
rstringFromQByteArray(QByteArray * s) {
|
1039
|
+
return rb_str_new(s->data(), s->size());
|
1040
|
+
}
|
1041
|
+
|
1042
|
+
static void marshall_QString(Marshall *m) {
|
1043
|
+
switch(m->action()) {
|
1044
|
+
case Marshall::FromVALUE:
|
1045
|
+
{
|
1046
|
+
QString* s = 0;
|
1047
|
+
if( *(m->var()) != Qnil) {
|
1048
|
+
s = qstringFromRString(*(m->var()));
|
1049
|
+
} else {
|
1050
|
+
s = new QString();
|
1051
|
+
}
|
1052
|
+
|
1053
|
+
m->item().s_voidp = s;
|
1054
|
+
m->next();
|
1055
|
+
|
1056
|
+
if (!m->type().isConst() && *(m->var()) != Qnil && s != 0 && !s->isNull()) {
|
1057
|
+
rb_str_resize(*(m->var()), 0);
|
1058
|
+
VALUE temp = rstringFromQString(s);
|
1059
|
+
rb_str_cat2(*(m->var()), StringValuePtr(temp));
|
1060
|
+
}
|
1061
|
+
|
1062
|
+
if (s != 0 && m->cleanup()) {
|
1063
|
+
delete s;
|
1064
|
+
}
|
1065
|
+
}
|
1066
|
+
break;
|
1067
|
+
|
1068
|
+
case Marshall::ToVALUE:
|
1069
|
+
{
|
1070
|
+
QString *s = (QString*)m->item().s_voidp;
|
1071
|
+
if(s) {
|
1072
|
+
if (s->isNull()) {
|
1073
|
+
*(m->var()) = Qnil;
|
1074
|
+
} else {
|
1075
|
+
*(m->var()) = rstringFromQString(s);
|
1076
|
+
}
|
1077
|
+
if(m->cleanup() || m->type().isStack() ) {
|
1078
|
+
delete s;
|
1079
|
+
}
|
1080
|
+
} else {
|
1081
|
+
*(m->var()) = Qnil;
|
1082
|
+
}
|
1083
|
+
}
|
1084
|
+
break;
|
1085
|
+
|
1086
|
+
default:
|
1087
|
+
m->unsupported();
|
1088
|
+
break;
|
1089
|
+
}
|
1090
|
+
}
|
1091
|
+
|
1092
|
+
static void marshall_QByteArray(Marshall *m) {
|
1093
|
+
switch(m->action()) {
|
1094
|
+
case Marshall::FromVALUE:
|
1095
|
+
{
|
1096
|
+
QByteArray* s = 0;
|
1097
|
+
if( *(m->var()) != Qnil) {
|
1098
|
+
s = qbytearrayFromRString(*(m->var()));
|
1099
|
+
} else {
|
1100
|
+
s = new QByteArray();
|
1101
|
+
}
|
1102
|
+
|
1103
|
+
m->item().s_voidp = s;
|
1104
|
+
m->next();
|
1105
|
+
|
1106
|
+
if (!m->type().isConst() && *(m->var()) != Qnil && s != 0 && !s->isNull()) {
|
1107
|
+
rb_str_resize(*(m->var()), 0);
|
1108
|
+
VALUE temp = rstringFromQByteArray(s);
|
1109
|
+
rb_str_cat2(*(m->var()), StringValuePtr(temp));
|
1110
|
+
}
|
1111
|
+
|
1112
|
+
if (s != 0 && m->cleanup()) {
|
1113
|
+
delete s;
|
1114
|
+
}
|
1115
|
+
}
|
1116
|
+
break;
|
1117
|
+
|
1118
|
+
case Marshall::ToVALUE:
|
1119
|
+
{
|
1120
|
+
QByteArray *s = (QByteArray*)m->item().s_voidp;
|
1121
|
+
if(s) {
|
1122
|
+
if (s->isNull()) {
|
1123
|
+
*(m->var()) = Qnil;
|
1124
|
+
} else {
|
1125
|
+
*(m->var()) = rstringFromQByteArray(s);
|
1126
|
+
}
|
1127
|
+
if(m->cleanup() || m->type().isStack() ) {
|
1128
|
+
delete s;
|
1129
|
+
}
|
1130
|
+
} else {
|
1131
|
+
*(m->var()) = Qnil;
|
1132
|
+
}
|
1133
|
+
}
|
1134
|
+
break;
|
1135
|
+
|
1136
|
+
default:
|
1137
|
+
m->unsupported();
|
1138
|
+
break;
|
1139
|
+
}
|
1140
|
+
}
|
1141
|
+
|
1142
|
+
// The only way to convert a QChar to a QString is to
|
1143
|
+
// pass a QChar to a QString constructor. However,
|
1144
|
+
// QStrings aren't in the QtRuby api, so add this
|
1145
|
+
// convenience method 'Qt::Char.to_s' to get a ruby
|
1146
|
+
// string from a Qt::Char.
|
1147
|
+
VALUE
|
1148
|
+
qchar_to_s(VALUE self)
|
1149
|
+
{
|
1150
|
+
smokeruby_object *o = value_obj_info(self);
|
1151
|
+
if (o == 0 || o->ptr == 0) {
|
1152
|
+
return Qnil;
|
1153
|
+
}
|
1154
|
+
|
1155
|
+
QChar * qchar = (QChar*) o->ptr;
|
1156
|
+
QString s(*qchar);
|
1157
|
+
return rstringFromQString(&s);
|
1158
|
+
}
|
1159
|
+
|
1160
|
+
void marshall_QDBusVariant(Marshall *m) {
|
1161
|
+
switch(m->action()) {
|
1162
|
+
case Marshall::FromVALUE:
|
1163
|
+
{
|
1164
|
+
VALUE v = *(m->var());
|
1165
|
+
if (v == Qnil) {
|
1166
|
+
m->item().s_voidp = 0;
|
1167
|
+
break;
|
1168
|
+
}
|
1169
|
+
|
1170
|
+
smokeruby_object *o = value_obj_info(v);
|
1171
|
+
if (!o || !o->ptr) {
|
1172
|
+
if (m->type().isRef()) {
|
1173
|
+
m->unsupported();
|
1174
|
+
}
|
1175
|
+
m->item().s_class = 0;
|
1176
|
+
break;
|
1177
|
+
}
|
1178
|
+
m->item().s_class = o->ptr;
|
1179
|
+
break;
|
1180
|
+
}
|
1181
|
+
|
1182
|
+
case Marshall::ToVALUE:
|
1183
|
+
{
|
1184
|
+
if (m->item().s_voidp == 0) {
|
1185
|
+
*(m->var()) = Qnil;
|
1186
|
+
break;
|
1187
|
+
}
|
1188
|
+
|
1189
|
+
void *p = m->item().s_voidp;
|
1190
|
+
VALUE obj = getPointerObject(p);
|
1191
|
+
if(obj != Qnil) {
|
1192
|
+
*(m->var()) = obj;
|
1193
|
+
break;
|
1194
|
+
}
|
1195
|
+
smokeruby_object * o = alloc_smokeruby_object(false, m->smoke(), m->smoke()->findClass("QVariant").index, p);
|
1196
|
+
|
1197
|
+
obj = set_obj_info("Qt::DBusVariant", o);
|
1198
|
+
if (do_debug & qtdb_calls) {
|
1199
|
+
printf("allocating %s %p -> %p\n", "Qt::DBusVariant", o->ptr, (void*)obj);
|
1200
|
+
}
|
1201
|
+
|
1202
|
+
if (m->type().isStack()) {
|
1203
|
+
o->allocated = true;
|
1204
|
+
// Keep a mapping of the pointer so that it is only wrapped once
|
1205
|
+
mapPointer(obj, o, o->classId, 0);
|
1206
|
+
}
|
1207
|
+
|
1208
|
+
*(m->var()) = obj;
|
1209
|
+
break;
|
1210
|
+
}
|
1211
|
+
|
1212
|
+
default:
|
1213
|
+
m->unsupported();
|
1214
|
+
break;
|
1215
|
+
}
|
1216
|
+
}
|
1217
|
+
|
1218
|
+
static void marshall_charP_array(Marshall *m) {
|
1219
|
+
switch(m->action()) {
|
1220
|
+
case Marshall::FromVALUE:
|
1221
|
+
{
|
1222
|
+
VALUE arglist = *(m->var());
|
1223
|
+
if (arglist == Qnil
|
1224
|
+
|| TYPE(arglist) != T_ARRAY
|
1225
|
+
|| RARRAY_LEN(arglist) == 0 )
|
1226
|
+
{
|
1227
|
+
m->item().s_voidp = 0;
|
1228
|
+
break;
|
1229
|
+
}
|
1230
|
+
|
1231
|
+
char **argv = new char *[RARRAY_LEN(arglist) + 1];
|
1232
|
+
long i;
|
1233
|
+
for(i = 0; i < RARRAY_LEN(arglist); i++) {
|
1234
|
+
VALUE item = rb_ary_entry(arglist, i);
|
1235
|
+
char *s = StringValuePtr(item);
|
1236
|
+
argv[i] = new char[strlen(s) + 1];
|
1237
|
+
strcpy(argv[i], s);
|
1238
|
+
}
|
1239
|
+
argv[i] = 0;
|
1240
|
+
m->item().s_voidp = argv;
|
1241
|
+
m->next();
|
1242
|
+
|
1243
|
+
rb_ary_clear(arglist);
|
1244
|
+
for(i = 0; argv[i]; i++) {
|
1245
|
+
rb_ary_push(arglist, rb_str_new2(argv[i]));
|
1246
|
+
}
|
1247
|
+
}
|
1248
|
+
break;
|
1249
|
+
default:
|
1250
|
+
m->unsupported();
|
1251
|
+
break;
|
1252
|
+
}
|
1253
|
+
}
|
1254
|
+
|
1255
|
+
void marshall_QStringList(Marshall *m) {
|
1256
|
+
switch(m->action()) {
|
1257
|
+
case Marshall::FromVALUE:
|
1258
|
+
{
|
1259
|
+
VALUE list = *(m->var());
|
1260
|
+
if (TYPE(list) != T_ARRAY) {
|
1261
|
+
m->item().s_voidp = 0;
|
1262
|
+
break;
|
1263
|
+
}
|
1264
|
+
|
1265
|
+
int count = RARRAY_LEN(list);
|
1266
|
+
QStringList *stringlist = new QStringList;
|
1267
|
+
|
1268
|
+
for(long i = 0; i < count; i++) {
|
1269
|
+
VALUE item = rb_ary_entry(list, i);
|
1270
|
+
if(TYPE(item) != T_STRING) {
|
1271
|
+
stringlist->append(QString());
|
1272
|
+
continue;
|
1273
|
+
}
|
1274
|
+
|
1275
|
+
stringlist->append(*(qstringFromRString(item)));
|
1276
|
+
}
|
1277
|
+
|
1278
|
+
m->item().s_voidp = stringlist;
|
1279
|
+
m->next();
|
1280
|
+
|
1281
|
+
if (stringlist != 0 && !m->type().isConst()) {
|
1282
|
+
rb_ary_clear(list);
|
1283
|
+
for(QStringList::Iterator it = stringlist->begin(); it != stringlist->end(); ++it)
|
1284
|
+
rb_ary_push(list, rstringFromQString(&(*it)));
|
1285
|
+
}
|
1286
|
+
|
1287
|
+
if (m->cleanup()) {
|
1288
|
+
delete stringlist;
|
1289
|
+
}
|
1290
|
+
|
1291
|
+
break;
|
1292
|
+
}
|
1293
|
+
|
1294
|
+
case Marshall::ToVALUE:
|
1295
|
+
{
|
1296
|
+
QStringList *stringlist = static_cast<QStringList *>(m->item().s_voidp);
|
1297
|
+
if (!stringlist) {
|
1298
|
+
*(m->var()) = Qnil;
|
1299
|
+
break;
|
1300
|
+
}
|
1301
|
+
|
1302
|
+
VALUE av = rb_ary_new();
|
1303
|
+
for (QStringList::Iterator it = stringlist->begin(); it != stringlist->end(); ++it) {
|
1304
|
+
VALUE rv = rstringFromQString(&(*it));
|
1305
|
+
rb_ary_push(av, rv);
|
1306
|
+
}
|
1307
|
+
|
1308
|
+
*(m->var()) = av;
|
1309
|
+
|
1310
|
+
if (m->cleanup()) {
|
1311
|
+
delete stringlist;
|
1312
|
+
}
|
1313
|
+
|
1314
|
+
}
|
1315
|
+
break;
|
1316
|
+
default:
|
1317
|
+
m->unsupported();
|
1318
|
+
break;
|
1319
|
+
}
|
1320
|
+
}
|
1321
|
+
|
1322
|
+
|
1323
|
+
void marshall_QByteArrayList(Marshall *m) {
|
1324
|
+
switch(m->action()) {
|
1325
|
+
case Marshall::FromVALUE:
|
1326
|
+
{
|
1327
|
+
VALUE list = *(m->var());
|
1328
|
+
if (TYPE(list) != T_ARRAY) {
|
1329
|
+
m->item().s_voidp = 0;
|
1330
|
+
break;
|
1331
|
+
}
|
1332
|
+
|
1333
|
+
int count = RARRAY_LEN(list);
|
1334
|
+
QList<QByteArray> *stringlist = new QList<QByteArray>;
|
1335
|
+
|
1336
|
+
for(long i = 0; i < count; i++) {
|
1337
|
+
VALUE item = rb_ary_entry(list, i);
|
1338
|
+
if(TYPE(item) != T_STRING) {
|
1339
|
+
stringlist->append(QByteArray());
|
1340
|
+
continue;
|
1341
|
+
}
|
1342
|
+
stringlist->append(QByteArray(StringValuePtr(item), RSTRING_LEN(item)));
|
1343
|
+
}
|
1344
|
+
|
1345
|
+
m->item().s_voidp = stringlist;
|
1346
|
+
m->next();
|
1347
|
+
|
1348
|
+
if (!m->type().isConst()) {
|
1349
|
+
rb_ary_clear(list);
|
1350
|
+
for (int i = 0; i < stringlist->size(); i++) {
|
1351
|
+
rb_ary_push(list, rb_str_new2((const char *) stringlist->at(i)));
|
1352
|
+
}
|
1353
|
+
}
|
1354
|
+
|
1355
|
+
if(m->cleanup()) {
|
1356
|
+
delete stringlist;
|
1357
|
+
}
|
1358
|
+
break;
|
1359
|
+
}
|
1360
|
+
case Marshall::ToVALUE:
|
1361
|
+
{
|
1362
|
+
QList<QByteArray> *stringlist = static_cast<QList<QByteArray>*>(m->item().s_voidp);
|
1363
|
+
if(!stringlist) {
|
1364
|
+
*(m->var()) = Qnil;
|
1365
|
+
break;
|
1366
|
+
}
|
1367
|
+
|
1368
|
+
VALUE av = rb_ary_new();
|
1369
|
+
for (int i = 0; i < stringlist->size(); i++) {
|
1370
|
+
VALUE rv = rb_str_new2((const char *) stringlist->at(i));
|
1371
|
+
rb_ary_push(av, rv);
|
1372
|
+
}
|
1373
|
+
|
1374
|
+
|
1375
|
+
*(m->var()) = av;
|
1376
|
+
|
1377
|
+
if (m->cleanup()) {
|
1378
|
+
delete stringlist;
|
1379
|
+
}
|
1380
|
+
}
|
1381
|
+
break;
|
1382
|
+
default:
|
1383
|
+
m->unsupported();
|
1384
|
+
break;
|
1385
|
+
}
|
1386
|
+
}
|
1387
|
+
|
1388
|
+
void marshall_QListCharStar(Marshall *m) {
|
1389
|
+
switch(m->action()) {
|
1390
|
+
case Marshall::FromVALUE:
|
1391
|
+
{
|
1392
|
+
VALUE av = *(m->var());
|
1393
|
+
if (TYPE(av) != T_ARRAY) {
|
1394
|
+
m->item().s_voidp = 0;
|
1395
|
+
break;
|
1396
|
+
}
|
1397
|
+
int count = RARRAY_LEN(av);
|
1398
|
+
QList<const char*> *list = new QList<const char*>;
|
1399
|
+
long i;
|
1400
|
+
for(i = 0; i < count; i++) {
|
1401
|
+
VALUE item = rb_ary_entry(av, i);
|
1402
|
+
if (TYPE(item) != T_STRING) {
|
1403
|
+
list->append(0);
|
1404
|
+
continue;
|
1405
|
+
}
|
1406
|
+
list->append(StringValuePtr(item));
|
1407
|
+
}
|
1408
|
+
|
1409
|
+
m->item().s_voidp = list;
|
1410
|
+
}
|
1411
|
+
break;
|
1412
|
+
case Marshall::ToVALUE:
|
1413
|
+
{
|
1414
|
+
QList<const char*> *list = (QList<const char*>*)m->item().s_voidp;
|
1415
|
+
if (list == 0) {
|
1416
|
+
*(m->var()) = Qnil;
|
1417
|
+
break;
|
1418
|
+
}
|
1419
|
+
|
1420
|
+
VALUE av = rb_ary_new();
|
1421
|
+
|
1422
|
+
for ( QList<const char*>::iterator i = list->begin();
|
1423
|
+
i != list->end();
|
1424
|
+
++i )
|
1425
|
+
{
|
1426
|
+
rb_ary_push(av, rb_str_new2((const char *)*i));
|
1427
|
+
}
|
1428
|
+
|
1429
|
+
*(m->var()) = av;
|
1430
|
+
m->next();
|
1431
|
+
}
|
1432
|
+
break;
|
1433
|
+
default:
|
1434
|
+
m->unsupported();
|
1435
|
+
break;
|
1436
|
+
}
|
1437
|
+
}
|
1438
|
+
|
1439
|
+
void marshall_QListInt(Marshall *m) {
|
1440
|
+
switch(m->action()) {
|
1441
|
+
case Marshall::FromVALUE:
|
1442
|
+
{
|
1443
|
+
VALUE list = *(m->var());
|
1444
|
+
if (TYPE(list) != T_ARRAY) {
|
1445
|
+
m->item().s_voidp = 0;
|
1446
|
+
break;
|
1447
|
+
}
|
1448
|
+
int count = RARRAY_LEN(list);
|
1449
|
+
QList<int> *valuelist = new QList<int>;
|
1450
|
+
long i;
|
1451
|
+
for(i = 0; i < count; i++) {
|
1452
|
+
VALUE item = rb_ary_entry(list, i);
|
1453
|
+
if(TYPE(item) != T_FIXNUM && TYPE(item) != T_BIGNUM) {
|
1454
|
+
valuelist->append(0);
|
1455
|
+
continue;
|
1456
|
+
}
|
1457
|
+
valuelist->append(NUM2INT(item));
|
1458
|
+
}
|
1459
|
+
|
1460
|
+
m->item().s_voidp = valuelist;
|
1461
|
+
m->next();
|
1462
|
+
|
1463
|
+
if (!m->type().isConst()) {
|
1464
|
+
rb_ary_clear(list);
|
1465
|
+
|
1466
|
+
for ( QList<int>::iterator i = valuelist->begin();
|
1467
|
+
i != valuelist->end();
|
1468
|
+
++i )
|
1469
|
+
{
|
1470
|
+
rb_ary_push(list, INT2NUM((int)*i));
|
1471
|
+
}
|
1472
|
+
}
|
1473
|
+
|
1474
|
+
if (m->cleanup()) {
|
1475
|
+
delete valuelist;
|
1476
|
+
}
|
1477
|
+
}
|
1478
|
+
break;
|
1479
|
+
case Marshall::ToVALUE:
|
1480
|
+
{
|
1481
|
+
QList<int> *valuelist = (QList<int>*)m->item().s_voidp;
|
1482
|
+
if(!valuelist) {
|
1483
|
+
*(m->var()) = Qnil;
|
1484
|
+
break;
|
1485
|
+
}
|
1486
|
+
|
1487
|
+
VALUE av = rb_ary_new();
|
1488
|
+
|
1489
|
+
for ( QList<int>::iterator i = valuelist->begin();
|
1490
|
+
i != valuelist->end();
|
1491
|
+
++i )
|
1492
|
+
{
|
1493
|
+
rb_ary_push(av, INT2NUM((int)*i));
|
1494
|
+
}
|
1495
|
+
|
1496
|
+
*(m->var()) = av;
|
1497
|
+
m->next();
|
1498
|
+
|
1499
|
+
if (m->cleanup()) {
|
1500
|
+
delete valuelist;
|
1501
|
+
}
|
1502
|
+
}
|
1503
|
+
break;
|
1504
|
+
default:
|
1505
|
+
m->unsupported();
|
1506
|
+
break;
|
1507
|
+
}
|
1508
|
+
}
|
1509
|
+
|
1510
|
+
|
1511
|
+
void marshall_QListUInt(Marshall *m) {
|
1512
|
+
switch(m->action()) {
|
1513
|
+
case Marshall::FromVALUE:
|
1514
|
+
{
|
1515
|
+
VALUE list = *(m->var());
|
1516
|
+
if (TYPE(list) != T_ARRAY) {
|
1517
|
+
m->item().s_voidp = 0;
|
1518
|
+
break;
|
1519
|
+
}
|
1520
|
+
int count = RARRAY_LEN(list);
|
1521
|
+
QList<uint> *valuelist = new QList<uint>;
|
1522
|
+
long i;
|
1523
|
+
for(i = 0; i < count; i++) {
|
1524
|
+
VALUE item = rb_ary_entry(list, i);
|
1525
|
+
if(TYPE(item) != T_FIXNUM && TYPE(item) != T_BIGNUM) {
|
1526
|
+
valuelist->append(0);
|
1527
|
+
continue;
|
1528
|
+
}
|
1529
|
+
valuelist->append(NUM2UINT(item));
|
1530
|
+
}
|
1531
|
+
|
1532
|
+
m->item().s_voidp = valuelist;
|
1533
|
+
m->next();
|
1534
|
+
|
1535
|
+
if (!m->type().isConst()) {
|
1536
|
+
rb_ary_clear(list);
|
1537
|
+
|
1538
|
+
for ( QList<uint>::iterator i = valuelist->begin();
|
1539
|
+
i != valuelist->end();
|
1540
|
+
++i )
|
1541
|
+
{
|
1542
|
+
rb_ary_push(list, UINT2NUM((int)*i));
|
1543
|
+
}
|
1544
|
+
}
|
1545
|
+
|
1546
|
+
if (m->cleanup()) {
|
1547
|
+
delete valuelist;
|
1548
|
+
}
|
1549
|
+
}
|
1550
|
+
break;
|
1551
|
+
case Marshall::ToVALUE:
|
1552
|
+
{
|
1553
|
+
QList<uint> *valuelist = (QList<uint>*)m->item().s_voidp;
|
1554
|
+
if(!valuelist) {
|
1555
|
+
*(m->var()) = Qnil;
|
1556
|
+
break;
|
1557
|
+
}
|
1558
|
+
|
1559
|
+
VALUE av = rb_ary_new();
|
1560
|
+
|
1561
|
+
for ( QList<uint>::iterator i = valuelist->begin();
|
1562
|
+
i != valuelist->end();
|
1563
|
+
++i )
|
1564
|
+
{
|
1565
|
+
rb_ary_push(av, UINT2NUM((int)*i));
|
1566
|
+
}
|
1567
|
+
|
1568
|
+
*(m->var()) = av;
|
1569
|
+
m->next();
|
1570
|
+
|
1571
|
+
if (m->cleanup()) {
|
1572
|
+
delete valuelist;
|
1573
|
+
}
|
1574
|
+
}
|
1575
|
+
break;
|
1576
|
+
default:
|
1577
|
+
m->unsupported();
|
1578
|
+
break;
|
1579
|
+
}
|
1580
|
+
}
|
1581
|
+
|
1582
|
+
void marshall_QListqreal(Marshall *m) {
|
1583
|
+
switch(m->action()) {
|
1584
|
+
case Marshall::FromVALUE:
|
1585
|
+
{
|
1586
|
+
VALUE list = *(m->var());
|
1587
|
+
if (TYPE(list) != T_ARRAY) {
|
1588
|
+
m->item().s_voidp = 0;
|
1589
|
+
break;
|
1590
|
+
}
|
1591
|
+
int count = RARRAY_LEN(list);
|
1592
|
+
QList<qreal> *valuelist = new QList<qreal>;
|
1593
|
+
long i;
|
1594
|
+
for(i = 0; i < count; i++) {
|
1595
|
+
VALUE item = rb_ary_entry(list, i);
|
1596
|
+
if(TYPE(item) != T_FLOAT) {
|
1597
|
+
valuelist->append(0.0);
|
1598
|
+
continue;
|
1599
|
+
}
|
1600
|
+
valuelist->append(NUM2DBL(item));
|
1601
|
+
}
|
1602
|
+
|
1603
|
+
m->item().s_voidp = valuelist;
|
1604
|
+
m->next();
|
1605
|
+
|
1606
|
+
if (!m->type().isConst()) {
|
1607
|
+
rb_ary_clear(list);
|
1608
|
+
|
1609
|
+
for ( QList<qreal>::iterator i = valuelist->begin();
|
1610
|
+
i != valuelist->end();
|
1611
|
+
++i )
|
1612
|
+
{
|
1613
|
+
rb_ary_push(list, rb_float_new((qreal)*i));
|
1614
|
+
}
|
1615
|
+
}
|
1616
|
+
|
1617
|
+
if (m->cleanup()) {
|
1618
|
+
delete valuelist;
|
1619
|
+
}
|
1620
|
+
}
|
1621
|
+
break;
|
1622
|
+
case Marshall::ToVALUE:
|
1623
|
+
{
|
1624
|
+
QList<qreal> *valuelist = (QList<qreal>*)m->item().s_voidp;
|
1625
|
+
if(!valuelist) {
|
1626
|
+
*(m->var()) = Qnil;
|
1627
|
+
break;
|
1628
|
+
}
|
1629
|
+
|
1630
|
+
VALUE av = rb_ary_new();
|
1631
|
+
|
1632
|
+
for ( QList<qreal>::iterator i = valuelist->begin();
|
1633
|
+
i != valuelist->end();
|
1634
|
+
++i )
|
1635
|
+
{
|
1636
|
+
rb_ary_push(av, rb_float_new((qreal)*i));
|
1637
|
+
}
|
1638
|
+
|
1639
|
+
*(m->var()) = av;
|
1640
|
+
m->next();
|
1641
|
+
|
1642
|
+
if (m->cleanup()) {
|
1643
|
+
delete valuelist;
|
1644
|
+
}
|
1645
|
+
}
|
1646
|
+
break;
|
1647
|
+
default:
|
1648
|
+
m->unsupported();
|
1649
|
+
break;
|
1650
|
+
}
|
1651
|
+
}
|
1652
|
+
|
1653
|
+
void marshall_QVectorqreal(Marshall *m) {
|
1654
|
+
switch(m->action()) {
|
1655
|
+
case Marshall::FromVALUE:
|
1656
|
+
{
|
1657
|
+
VALUE list = *(m->var());
|
1658
|
+
|
1659
|
+
list = rb_check_array_type(*(m->var()));
|
1660
|
+
if (NIL_P(list)) {
|
1661
|
+
m->item().s_voidp = 0;
|
1662
|
+
break;
|
1663
|
+
}
|
1664
|
+
|
1665
|
+
int count = RARRAY_LEN(list);
|
1666
|
+
QVector<qreal> *valuelist = new QVector<qreal>;
|
1667
|
+
long i;
|
1668
|
+
for (i = 0; i < count; i++) {
|
1669
|
+
valuelist->append(NUM2DBL(rb_ary_entry(list, i)));
|
1670
|
+
}
|
1671
|
+
|
1672
|
+
m->item().s_voidp = valuelist;
|
1673
|
+
m->next();
|
1674
|
+
|
1675
|
+
if (!m->type().isConst()) {
|
1676
|
+
rb_ary_clear(list);
|
1677
|
+
|
1678
|
+
for ( QVector<qreal>::iterator i = valuelist->begin();
|
1679
|
+
i != valuelist->end();
|
1680
|
+
++i )
|
1681
|
+
{
|
1682
|
+
rb_ary_push(list, rb_float_new((qreal)*i));
|
1683
|
+
}
|
1684
|
+
}
|
1685
|
+
|
1686
|
+
if (m->cleanup()) {
|
1687
|
+
delete valuelist;
|
1688
|
+
}
|
1689
|
+
}
|
1690
|
+
break;
|
1691
|
+
case Marshall::ToVALUE:
|
1692
|
+
{
|
1693
|
+
QVector<qreal> *valuelist = (QVector<qreal>*)m->item().s_voidp;
|
1694
|
+
if(!valuelist) {
|
1695
|
+
*(m->var()) = Qnil;
|
1696
|
+
break;
|
1697
|
+
}
|
1698
|
+
|
1699
|
+
VALUE av = rb_ary_new();
|
1700
|
+
|
1701
|
+
for ( QVector<qreal>::iterator i = valuelist->begin();
|
1702
|
+
i != valuelist->end();
|
1703
|
+
++i )
|
1704
|
+
{
|
1705
|
+
rb_ary_push(av, rb_float_new((qreal)*i));
|
1706
|
+
}
|
1707
|
+
|
1708
|
+
*(m->var()) = av;
|
1709
|
+
m->next();
|
1710
|
+
|
1711
|
+
if (m->cleanup()) {
|
1712
|
+
delete valuelist;
|
1713
|
+
}
|
1714
|
+
}
|
1715
|
+
break;
|
1716
|
+
default:
|
1717
|
+
m->unsupported();
|
1718
|
+
break;
|
1719
|
+
}
|
1720
|
+
}
|
1721
|
+
|
1722
|
+
void marshall_QVectorint(Marshall *m) {
|
1723
|
+
switch(m->action()) {
|
1724
|
+
case Marshall::FromVALUE:
|
1725
|
+
{
|
1726
|
+
VALUE list = *(m->var());
|
1727
|
+
|
1728
|
+
list = rb_check_array_type(*(m->var()));
|
1729
|
+
if (NIL_P(list)) {
|
1730
|
+
m->item().s_voidp = 0;
|
1731
|
+
break;
|
1732
|
+
}
|
1733
|
+
|
1734
|
+
int count = RARRAY_LEN(list);
|
1735
|
+
QVector<int> *valuelist = new QVector<int>;
|
1736
|
+
long i;
|
1737
|
+
for (i = 0; i < count; i++) {
|
1738
|
+
valuelist->append(NUM2INT(rb_ary_entry(list, i)));
|
1739
|
+
}
|
1740
|
+
|
1741
|
+
m->item().s_voidp = valuelist;
|
1742
|
+
m->next();
|
1743
|
+
|
1744
|
+
if (!m->type().isConst()) {
|
1745
|
+
rb_ary_clear(list);
|
1746
|
+
|
1747
|
+
for ( QVector<int>::iterator i = valuelist->begin();
|
1748
|
+
i != valuelist->end();
|
1749
|
+
++i )
|
1750
|
+
{
|
1751
|
+
rb_ary_push(list, INT2NUM((int)*i));
|
1752
|
+
}
|
1753
|
+
}
|
1754
|
+
|
1755
|
+
if (m->cleanup()) {
|
1756
|
+
delete valuelist;
|
1757
|
+
}
|
1758
|
+
}
|
1759
|
+
break;
|
1760
|
+
case Marshall::ToVALUE:
|
1761
|
+
{
|
1762
|
+
QVector<int> *valuelist = (QVector<int>*)m->item().s_voidp;
|
1763
|
+
if(!valuelist) {
|
1764
|
+
*(m->var()) = Qnil;
|
1765
|
+
break;
|
1766
|
+
}
|
1767
|
+
|
1768
|
+
VALUE av = rb_ary_new();
|
1769
|
+
|
1770
|
+
for ( QVector<int>::iterator i = valuelist->begin();
|
1771
|
+
i != valuelist->end();
|
1772
|
+
++i )
|
1773
|
+
{
|
1774
|
+
rb_ary_push(av, INT2NUM((int)*i));
|
1775
|
+
}
|
1776
|
+
|
1777
|
+
*(m->var()) = av;
|
1778
|
+
m->next();
|
1779
|
+
|
1780
|
+
if (m->cleanup()) {
|
1781
|
+
delete valuelist;
|
1782
|
+
}
|
1783
|
+
}
|
1784
|
+
break;
|
1785
|
+
default:
|
1786
|
+
m->unsupported();
|
1787
|
+
break;
|
1788
|
+
}
|
1789
|
+
}
|
1790
|
+
|
1791
|
+
void marshall_voidP(Marshall *m) {
|
1792
|
+
switch(m->action()) {
|
1793
|
+
case Marshall::FromVALUE:
|
1794
|
+
{
|
1795
|
+
VALUE rv = *(m->var());
|
1796
|
+
if (rv != Qnil)
|
1797
|
+
m->item().s_voidp = (void*)NUM2LONG(*(m->var()));
|
1798
|
+
else
|
1799
|
+
m->item().s_voidp = 0;
|
1800
|
+
}
|
1801
|
+
break;
|
1802
|
+
case Marshall::ToVALUE:
|
1803
|
+
{
|
1804
|
+
*(m->var()) = LONG2NUM((unsigned long) m->item().s_voidp);
|
1805
|
+
}
|
1806
|
+
break;
|
1807
|
+
default:
|
1808
|
+
m->unsupported();
|
1809
|
+
break;
|
1810
|
+
}
|
1811
|
+
}
|
1812
|
+
|
1813
|
+
void marshall_QMapQStringQString(Marshall *m) {
|
1814
|
+
switch(m->action()) {
|
1815
|
+
case Marshall::FromVALUE:
|
1816
|
+
{
|
1817
|
+
VALUE hash = *(m->var());
|
1818
|
+
if (TYPE(hash) != T_HASH) {
|
1819
|
+
m->item().s_voidp = 0;
|
1820
|
+
break;
|
1821
|
+
}
|
1822
|
+
|
1823
|
+
QMap<QString,QString> * map = new QMap<QString,QString>;
|
1824
|
+
|
1825
|
+
// Convert the ruby hash to an array of key/value arrays
|
1826
|
+
VALUE temp = rb_funcall(hash, rb_intern("to_a"), 0);
|
1827
|
+
|
1828
|
+
for (long i = 0; i < RARRAY_LEN(temp); i++) {
|
1829
|
+
VALUE key = rb_ary_entry(rb_ary_entry(temp, i), 0);
|
1830
|
+
VALUE value = rb_ary_entry(rb_ary_entry(temp, i), 1);
|
1831
|
+
(*map)[QString(StringValuePtr(key))] = QString(StringValuePtr(value));
|
1832
|
+
}
|
1833
|
+
|
1834
|
+
m->item().s_voidp = map;
|
1835
|
+
m->next();
|
1836
|
+
|
1837
|
+
if(m->cleanup())
|
1838
|
+
delete map;
|
1839
|
+
}
|
1840
|
+
break;
|
1841
|
+
case Marshall::ToVALUE:
|
1842
|
+
{
|
1843
|
+
QMap<QString,QString> *map = (QMap<QString,QString>*)m->item().s_voidp;
|
1844
|
+
if(!map) {
|
1845
|
+
*(m->var()) = Qnil;
|
1846
|
+
break;
|
1847
|
+
}
|
1848
|
+
|
1849
|
+
VALUE hv = rb_hash_new();
|
1850
|
+
|
1851
|
+
QMap<QString,QString>::Iterator it;
|
1852
|
+
for (it = map->begin(); it != map->end(); ++it) {
|
1853
|
+
rb_hash_aset(hv, rstringFromQString((QString*)&(it.key())), rstringFromQString((QString*) &(it.value())));
|
1854
|
+
}
|
1855
|
+
|
1856
|
+
*(m->var()) = hv;
|
1857
|
+
m->next();
|
1858
|
+
|
1859
|
+
if(m->cleanup())
|
1860
|
+
delete map;
|
1861
|
+
}
|
1862
|
+
break;
|
1863
|
+
default:
|
1864
|
+
m->unsupported();
|
1865
|
+
break;
|
1866
|
+
}
|
1867
|
+
}
|
1868
|
+
|
1869
|
+
void marshall_QMapQStringQVariant(Marshall *m) {
|
1870
|
+
switch(m->action()) {
|
1871
|
+
case Marshall::FromVALUE:
|
1872
|
+
{
|
1873
|
+
VALUE hash = *(m->var());
|
1874
|
+
if (TYPE(hash) != T_HASH) {
|
1875
|
+
m->item().s_voidp = 0;
|
1876
|
+
break;
|
1877
|
+
}
|
1878
|
+
|
1879
|
+
QMap<QString,QVariant> * map = new QMap<QString,QVariant>;
|
1880
|
+
|
1881
|
+
// Convert the ruby hash to an array of key/value arrays
|
1882
|
+
VALUE temp = rb_funcall(hash, rb_intern("to_a"), 0);
|
1883
|
+
|
1884
|
+
for (long i = 0; i < RARRAY_LEN(temp); i++) {
|
1885
|
+
VALUE key = rb_ary_entry(rb_ary_entry(temp, i), 0);
|
1886
|
+
VALUE value = rb_ary_entry(rb_ary_entry(temp, i), 1);
|
1887
|
+
|
1888
|
+
smokeruby_object *o = value_obj_info(value);
|
1889
|
+
if (!o || !o->ptr || o->classId != o->smoke->findClass("QVariant").index) {
|
1890
|
+
// If the value isn't a Qt::Variant, then try and construct
|
1891
|
+
// a Qt::Variant from it
|
1892
|
+
value = rb_funcall(qvariant_class, rb_intern("fromValue"), 1, value);
|
1893
|
+
if (value == Qnil) {
|
1894
|
+
continue;
|
1895
|
+
}
|
1896
|
+
o = value_obj_info(value);
|
1897
|
+
}
|
1898
|
+
|
1899
|
+
(*map)[QString(StringValuePtr(key))] = (QVariant)*(QVariant*)o->ptr;
|
1900
|
+
}
|
1901
|
+
|
1902
|
+
m->item().s_voidp = map;
|
1903
|
+
m->next();
|
1904
|
+
|
1905
|
+
if(m->cleanup())
|
1906
|
+
delete map;
|
1907
|
+
}
|
1908
|
+
break;
|
1909
|
+
case Marshall::ToVALUE:
|
1910
|
+
{
|
1911
|
+
QMap<QString,QVariant> *map = (QMap<QString,QVariant>*)m->item().s_voidp;
|
1912
|
+
if(!map) {
|
1913
|
+
*(m->var()) = Qnil;
|
1914
|
+
break;
|
1915
|
+
}
|
1916
|
+
|
1917
|
+
VALUE hv = rb_hash_new();
|
1918
|
+
|
1919
|
+
QMap<QString,QVariant>::Iterator it;
|
1920
|
+
for (it = map->begin(); it != map->end(); ++it) {
|
1921
|
+
void *p = new QVariant(it.value());
|
1922
|
+
VALUE obj = getPointerObject(p);
|
1923
|
+
|
1924
|
+
if (obj == Qnil) {
|
1925
|
+
smokeruby_object * o = alloc_smokeruby_object( true,
|
1926
|
+
m->smoke(),
|
1927
|
+
m->smoke()->idClass("QVariant").index,
|
1928
|
+
p );
|
1929
|
+
obj = set_obj_info("Qt::Variant", o);
|
1930
|
+
}
|
1931
|
+
|
1932
|
+
rb_hash_aset(hv, rstringFromQString((QString*)&(it.key())), obj);
|
1933
|
+
}
|
1934
|
+
|
1935
|
+
*(m->var()) = hv;
|
1936
|
+
m->next();
|
1937
|
+
|
1938
|
+
if(m->cleanup())
|
1939
|
+
delete map;
|
1940
|
+
}
|
1941
|
+
break;
|
1942
|
+
default:
|
1943
|
+
m->unsupported();
|
1944
|
+
break;
|
1945
|
+
}
|
1946
|
+
}
|
1947
|
+
|
1948
|
+
void marshall_QMapIntQVariant(Marshall *m) {
|
1949
|
+
switch(m->action()) {
|
1950
|
+
case Marshall::FromVALUE:
|
1951
|
+
{
|
1952
|
+
VALUE hash = *(m->var());
|
1953
|
+
if (TYPE(hash) != T_HASH) {
|
1954
|
+
m->item().s_voidp = 0;
|
1955
|
+
break;
|
1956
|
+
}
|
1957
|
+
|
1958
|
+
QMap<int,QVariant> * map = new QMap<int,QVariant>;
|
1959
|
+
|
1960
|
+
// Convert the ruby hash to an array of key/value arrays
|
1961
|
+
VALUE temp = rb_funcall(hash, rb_intern("to_a"), 0);
|
1962
|
+
|
1963
|
+
for (long i = 0; i < RARRAY_LEN(temp); i++) {
|
1964
|
+
VALUE key = rb_ary_entry(rb_ary_entry(temp, i), 0);
|
1965
|
+
VALUE value = rb_ary_entry(rb_ary_entry(temp, i), 1);
|
1966
|
+
|
1967
|
+
smokeruby_object *o = value_obj_info(value);
|
1968
|
+
if (!o || !o->ptr || o->classId != o->smoke->idClass("QVariant").index) {
|
1969
|
+
// If the value isn't a Qt::Variant, then try and construct
|
1970
|
+
// a Qt::Variant from it
|
1971
|
+
value = rb_funcall(qvariant_class, rb_intern("fromValue"), 1, value);
|
1972
|
+
if (value == Qnil) {
|
1973
|
+
continue;
|
1974
|
+
}
|
1975
|
+
o = value_obj_info(value);
|
1976
|
+
}
|
1977
|
+
|
1978
|
+
(*map)[NUM2INT(key)] = (QVariant)*(QVariant*)o->ptr;
|
1979
|
+
}
|
1980
|
+
|
1981
|
+
m->item().s_voidp = map;
|
1982
|
+
m->next();
|
1983
|
+
|
1984
|
+
if(m->cleanup())
|
1985
|
+
delete map;
|
1986
|
+
}
|
1987
|
+
break;
|
1988
|
+
case Marshall::ToVALUE:
|
1989
|
+
{
|
1990
|
+
QMap<int,QVariant> *map = (QMap<int,QVariant>*)m->item().s_voidp;
|
1991
|
+
if (!map) {
|
1992
|
+
*(m->var()) = Qnil;
|
1993
|
+
break;
|
1994
|
+
}
|
1995
|
+
|
1996
|
+
VALUE hv = rb_hash_new();
|
1997
|
+
|
1998
|
+
QMap<int,QVariant>::Iterator it;
|
1999
|
+
for (it = map->begin(); it != map->end(); ++it) {
|
2000
|
+
void *p = new QVariant(it.value());
|
2001
|
+
VALUE obj = getPointerObject(p);
|
2002
|
+
|
2003
|
+
if (obj == Qnil) {
|
2004
|
+
smokeruby_object * o = alloc_smokeruby_object( true,
|
2005
|
+
m->smoke(),
|
2006
|
+
m->smoke()->idClass("QVariant").index,
|
2007
|
+
p );
|
2008
|
+
obj = set_obj_info("Qt::Variant", o);
|
2009
|
+
}
|
2010
|
+
|
2011
|
+
rb_hash_aset(hv, INT2NUM(it.key()), obj);
|
2012
|
+
}
|
2013
|
+
|
2014
|
+
*(m->var()) = hv;
|
2015
|
+
m->next();
|
2016
|
+
|
2017
|
+
if(m->cleanup())
|
2018
|
+
delete map;
|
2019
|
+
}
|
2020
|
+
break;
|
2021
|
+
default:
|
2022
|
+
m->unsupported();
|
2023
|
+
break;
|
2024
|
+
}
|
2025
|
+
}
|
2026
|
+
|
2027
|
+
void marshall_QMapintQVariant(Marshall *m) {
|
2028
|
+
switch(m->action()) {
|
2029
|
+
case Marshall::FromVALUE:
|
2030
|
+
{
|
2031
|
+
VALUE hash = *(m->var());
|
2032
|
+
if (TYPE(hash) != T_HASH) {
|
2033
|
+
m->item().s_voidp = 0;
|
2034
|
+
break;
|
2035
|
+
}
|
2036
|
+
|
2037
|
+
QMap<int,QVariant> * map = new QMap<int,QVariant>;
|
2038
|
+
|
2039
|
+
// Convert the ruby hash to an array of key/value arrays
|
2040
|
+
VALUE temp = rb_funcall(hash, rb_intern("to_a"), 0);
|
2041
|
+
|
2042
|
+
for (long i = 0; i < RARRAY_LEN(temp); i++) {
|
2043
|
+
VALUE key = rb_ary_entry(rb_ary_entry(temp, i), 0);
|
2044
|
+
VALUE value = rb_ary_entry(rb_ary_entry(temp, i), 1);
|
2045
|
+
|
2046
|
+
smokeruby_object *o = value_obj_info(value);
|
2047
|
+
if( !o || !o->ptr)
|
2048
|
+
continue;
|
2049
|
+
void * ptr = o->ptr;
|
2050
|
+
ptr = o->smoke->cast(ptr, o->classId, o->smoke->idClass("QVariant").index);
|
2051
|
+
|
2052
|
+
(*map)[NUM2INT(key)] = (QVariant)*(QVariant*)ptr;
|
2053
|
+
}
|
2054
|
+
|
2055
|
+
m->item().s_voidp = map;
|
2056
|
+
m->next();
|
2057
|
+
|
2058
|
+
if(m->cleanup())
|
2059
|
+
delete map;
|
2060
|
+
}
|
2061
|
+
break;
|
2062
|
+
case Marshall::ToVALUE:
|
2063
|
+
{
|
2064
|
+
QMap<int,QVariant> *map = (QMap<int,QVariant>*)m->item().s_voidp;
|
2065
|
+
if(!map) {
|
2066
|
+
*(m->var()) = Qnil;
|
2067
|
+
break;
|
2068
|
+
}
|
2069
|
+
|
2070
|
+
VALUE hv = rb_hash_new();
|
2071
|
+
|
2072
|
+
QMap<int,QVariant>::Iterator it;
|
2073
|
+
for (it = map->begin(); it != map->end(); ++it) {
|
2074
|
+
void *p = new QVariant(it.value());
|
2075
|
+
VALUE obj = getPointerObject(p);
|
2076
|
+
|
2077
|
+
if (obj == Qnil) {
|
2078
|
+
smokeruby_object * o = alloc_smokeruby_object( true,
|
2079
|
+
m->smoke(),
|
2080
|
+
m->smoke()->idClass("QVariant").index,
|
2081
|
+
p );
|
2082
|
+
obj = set_obj_info("Qt::Variant", o);
|
2083
|
+
}
|
2084
|
+
|
2085
|
+
rb_hash_aset(hv, INT2NUM((int)(it.key())), obj);
|
2086
|
+
}
|
2087
|
+
|
2088
|
+
*(m->var()) = hv;
|
2089
|
+
m->next();
|
2090
|
+
|
2091
|
+
if(m->cleanup())
|
2092
|
+
delete map;
|
2093
|
+
}
|
2094
|
+
break;
|
2095
|
+
default:
|
2096
|
+
m->unsupported();
|
2097
|
+
break;
|
2098
|
+
}
|
2099
|
+
}
|
2100
|
+
|
2101
|
+
void marshall_voidP_array(Marshall *m) {
|
2102
|
+
switch(m->action()) {
|
2103
|
+
case Marshall::FromVALUE:
|
2104
|
+
{
|
2105
|
+
VALUE rv = *(m->var());
|
2106
|
+
if (rv != Qnil) {
|
2107
|
+
Data_Get_Struct(rv, void*, m->item().s_voidp);
|
2108
|
+
} else {
|
2109
|
+
m->item().s_voidp = 0;
|
2110
|
+
}
|
2111
|
+
}
|
2112
|
+
break;
|
2113
|
+
case Marshall::ToVALUE:
|
2114
|
+
{
|
2115
|
+
VALUE rv = Data_Wrap_Struct(rb_cObject, 0, 0, m->item().s_voidp);
|
2116
|
+
*(m->var()) = rv;
|
2117
|
+
}
|
2118
|
+
break;
|
2119
|
+
default:
|
2120
|
+
m->unsupported();
|
2121
|
+
break;
|
2122
|
+
}
|
2123
|
+
}
|
2124
|
+
|
2125
|
+
void marshall_QRgb_array(Marshall *m) {
|
2126
|
+
switch(m->action()) {
|
2127
|
+
case Marshall::FromVALUE:
|
2128
|
+
{
|
2129
|
+
VALUE list = *(m->var());
|
2130
|
+
if (TYPE(list) != T_ARRAY) {
|
2131
|
+
m->item().s_voidp = 0;
|
2132
|
+
break;
|
2133
|
+
}
|
2134
|
+
int count = RARRAY_LEN(list);
|
2135
|
+
QRgb *rgb = new QRgb[count + 2];
|
2136
|
+
long i;
|
2137
|
+
for(i = 0; i < count; i++) {
|
2138
|
+
VALUE item = rb_ary_entry(list, i);
|
2139
|
+
if(TYPE(item) != T_FIXNUM && TYPE(item) != T_BIGNUM) {
|
2140
|
+
rgb[i] = 0;
|
2141
|
+
continue;
|
2142
|
+
}
|
2143
|
+
|
2144
|
+
rgb[i] = NUM2UINT(item);
|
2145
|
+
}
|
2146
|
+
m->item().s_voidp = rgb;
|
2147
|
+
m->next();
|
2148
|
+
}
|
2149
|
+
break;
|
2150
|
+
case Marshall::ToVALUE:
|
2151
|
+
// Implement this with a tied array or something
|
2152
|
+
default:
|
2153
|
+
m->unsupported();
|
2154
|
+
break;
|
2155
|
+
}
|
2156
|
+
}
|
2157
|
+
|
2158
|
+
void marshall_QPairQStringQStringList(Marshall *m) {
|
2159
|
+
switch(m->action()) {
|
2160
|
+
case Marshall::FromVALUE:
|
2161
|
+
{
|
2162
|
+
VALUE list = *(m->var());
|
2163
|
+
if (TYPE(list) != T_ARRAY) {
|
2164
|
+
m->item().s_voidp = 0;
|
2165
|
+
break;
|
2166
|
+
}
|
2167
|
+
|
2168
|
+
QList<QPair<QString,QString> > * pairlist = new QList<QPair<QString,QString> >();
|
2169
|
+
int count = RARRAY_LEN(list);
|
2170
|
+
|
2171
|
+
for (long i = 0; i < count; i++) {
|
2172
|
+
VALUE item = rb_ary_entry(list, i);
|
2173
|
+
if (TYPE(item) != T_ARRAY || RARRAY_LEN(item) != 2) {
|
2174
|
+
continue;
|
2175
|
+
}
|
2176
|
+
VALUE s1 = rb_ary_entry(item, 0);
|
2177
|
+
VALUE s2 = rb_ary_entry(item, 1);
|
2178
|
+
QPair<QString,QString> * qpair = new QPair<QString,QString>(*(qstringFromRString(s1)),*(qstringFromRString(s2)));
|
2179
|
+
pairlist->append(*qpair);
|
2180
|
+
}
|
2181
|
+
|
2182
|
+
m->item().s_voidp = pairlist;
|
2183
|
+
m->next();
|
2184
|
+
|
2185
|
+
if (m->cleanup()) {
|
2186
|
+
delete pairlist;
|
2187
|
+
}
|
2188
|
+
|
2189
|
+
break;
|
2190
|
+
}
|
2191
|
+
|
2192
|
+
case Marshall::ToVALUE:
|
2193
|
+
{
|
2194
|
+
QList<QPair<QString,QString> > *pairlist = static_cast<QList<QPair<QString,QString> > * >(m->item().s_voidp);
|
2195
|
+
if (pairlist == 0) {
|
2196
|
+
*(m->var()) = Qnil;
|
2197
|
+
break;
|
2198
|
+
}
|
2199
|
+
|
2200
|
+
VALUE av = rb_ary_new();
|
2201
|
+
for (QList<QPair<QString,QString> >::Iterator it = pairlist->begin(); it != pairlist->end(); ++it) {
|
2202
|
+
QPair<QString,QString> * pair = &(*it);
|
2203
|
+
VALUE rv1 = rstringFromQString(&(pair->first));
|
2204
|
+
VALUE rv2 = rstringFromQString(&(pair->second));
|
2205
|
+
VALUE pv = rb_ary_new();
|
2206
|
+
rb_ary_push(pv, rv1);
|
2207
|
+
rb_ary_push(pv, rv2);
|
2208
|
+
rb_ary_push(av, pv);
|
2209
|
+
}
|
2210
|
+
|
2211
|
+
*(m->var()) = av;
|
2212
|
+
|
2213
|
+
if (m->cleanup()) {
|
2214
|
+
delete pairlist;
|
2215
|
+
}
|
2216
|
+
|
2217
|
+
}
|
2218
|
+
break;
|
2219
|
+
default:
|
2220
|
+
m->unsupported();
|
2221
|
+
break;
|
2222
|
+
}
|
2223
|
+
}
|
2224
|
+
|
2225
|
+
void marshall_QPairqrealQColor(Marshall *m) {
|
2226
|
+
switch(m->action()) {
|
2227
|
+
case Marshall::FromVALUE:
|
2228
|
+
{
|
2229
|
+
VALUE list = *(m->var());
|
2230
|
+
if (TYPE(list) != T_ARRAY || RARRAY_LEN(list) != 2) {
|
2231
|
+
m->item().s_voidp = 0;
|
2232
|
+
break;
|
2233
|
+
}
|
2234
|
+
|
2235
|
+
qreal real;
|
2236
|
+
VALUE item1 = rb_ary_entry(list, 0);
|
2237
|
+
if (TYPE(item1) != T_FLOAT) {
|
2238
|
+
real = 0;
|
2239
|
+
} else {
|
2240
|
+
real = NUM2DBL(item1);
|
2241
|
+
}
|
2242
|
+
|
2243
|
+
VALUE item2 = rb_ary_entry(list, 1);
|
2244
|
+
|
2245
|
+
smokeruby_object *o = value_obj_info(item2);
|
2246
|
+
if (o == 0 || o->ptr == 0) {
|
2247
|
+
m->item().s_voidp = 0;
|
2248
|
+
break;
|
2249
|
+
}
|
2250
|
+
|
2251
|
+
QPair<qreal,QColor> * qpair = new QPair<qreal,QColor>(real, *((QColor *) o->ptr));
|
2252
|
+
m->item().s_voidp = qpair;
|
2253
|
+
m->next();
|
2254
|
+
|
2255
|
+
if (m->cleanup()) {
|
2256
|
+
delete qpair;
|
2257
|
+
}
|
2258
|
+
}
|
2259
|
+
break;
|
2260
|
+
case Marshall::ToVALUE:
|
2261
|
+
{
|
2262
|
+
QPair<qreal,QColor> * qpair = static_cast<QPair<qreal,QColor> * >(m->item().s_voidp);
|
2263
|
+
if (qpair == 0) {
|
2264
|
+
*(m->var()) = Qnil;
|
2265
|
+
break;
|
2266
|
+
}
|
2267
|
+
|
2268
|
+
VALUE rv1 = rb_float_new(qpair->first);
|
2269
|
+
|
2270
|
+
void *p = (void *) &(qpair->second);
|
2271
|
+
VALUE rv2 = getPointerObject(p);
|
2272
|
+
if (rv2 == Qnil) {
|
2273
|
+
smokeruby_object * o = alloc_smokeruby_object( false,
|
2274
|
+
m->smoke(),
|
2275
|
+
m->smoke()->idClass("QColor").index,
|
2276
|
+
p );
|
2277
|
+
rv2 = set_obj_info("Qt::Color", o);
|
2278
|
+
}
|
2279
|
+
|
2280
|
+
VALUE av = rb_ary_new();
|
2281
|
+
rb_ary_push(av, rv1);
|
2282
|
+
rb_ary_push(av, rv2);
|
2283
|
+
*(m->var()) = av;
|
2284
|
+
|
2285
|
+
if (m->cleanup()) {
|
2286
|
+
// delete qpair;
|
2287
|
+
}
|
2288
|
+
}
|
2289
|
+
break;
|
2290
|
+
default:
|
2291
|
+
m->unsupported();
|
2292
|
+
break;
|
2293
|
+
}
|
2294
|
+
}
|
2295
|
+
|
2296
|
+
void marshall_QPairintint(Marshall *m) {
|
2297
|
+
switch(m->action()) {
|
2298
|
+
case Marshall::FromVALUE:
|
2299
|
+
{
|
2300
|
+
VALUE list = *(m->var());
|
2301
|
+
if (TYPE(list) != T_ARRAY || RARRAY_LEN(list) != 2) {
|
2302
|
+
m->item().s_voidp = 0;
|
2303
|
+
break;
|
2304
|
+
}
|
2305
|
+
int int0;
|
2306
|
+
int int1;
|
2307
|
+
VALUE item = rb_ary_entry(list, 0);
|
2308
|
+
if (TYPE(item) != T_FIXNUM && TYPE(item) != T_BIGNUM) {
|
2309
|
+
int0 = 0;
|
2310
|
+
} else {
|
2311
|
+
int0 = NUM2INT(item);
|
2312
|
+
}
|
2313
|
+
|
2314
|
+
item = rb_ary_entry(list, 1);
|
2315
|
+
|
2316
|
+
if (TYPE(item) != T_FIXNUM && TYPE(item) != T_BIGNUM) {
|
2317
|
+
int1 = 0;
|
2318
|
+
} else {
|
2319
|
+
int1 = NUM2INT(item);
|
2320
|
+
}
|
2321
|
+
|
2322
|
+
QPair<int,int> * qpair = new QPair<int,int>(int0,int1);
|
2323
|
+
m->item().s_voidp = qpair;
|
2324
|
+
m->next();
|
2325
|
+
|
2326
|
+
if (m->cleanup()) {
|
2327
|
+
delete qpair;
|
2328
|
+
}
|
2329
|
+
}
|
2330
|
+
break;
|
2331
|
+
case Marshall::ToVALUE:
|
2332
|
+
default:
|
2333
|
+
m->unsupported();
|
2334
|
+
break;
|
2335
|
+
}
|
2336
|
+
}
|
2337
|
+
|
2338
|
+
DEF_LIST_MARSHALLER( QAbstractButtonList, QList<QAbstractButton*>, QAbstractButton )
|
2339
|
+
DEF_LIST_MARSHALLER( QActionGroupList, QList<QActionGroup*>, QActionGroup )
|
2340
|
+
DEF_LIST_MARSHALLER( QActionList, QList<QAction*>, QAction )
|
2341
|
+
DEF_LIST_MARSHALLER( QListWidgetItemList, QList<QListWidgetItem*>, QListWidgetItem )
|
2342
|
+
DEF_LIST_MARSHALLER( QObjectList, QList<QObject*>, QObject )
|
2343
|
+
DEF_LIST_MARSHALLER( QTableWidgetList, QList<QTableWidget*>, QTableWidget )
|
2344
|
+
DEF_LIST_MARSHALLER( QTableWidgetItemList, QList<QTableWidgetItem*>, QTableWidgetItem )
|
2345
|
+
DEF_LIST_MARSHALLER( QTextFrameList, QList<QTextFrame*>, QTextFrame )
|
2346
|
+
DEF_LIST_MARSHALLER( QTreeWidgetItemList, QList<QTreeWidgetItem*>, QTreeWidgetItem )
|
2347
|
+
DEF_LIST_MARSHALLER( QTreeWidgetList, QList<QTreeWidget*>, QTreeWidget )
|
2348
|
+
DEF_LIST_MARSHALLER( QWidgetList, QList<QWidget*>, QWidget )
|
2349
|
+
DEF_LIST_MARSHALLER( QWidgetPtrList, QList<QWidget*>, QWidget )
|
2350
|
+
|
2351
|
+
#if QT_VERSION >= 0x40200
|
2352
|
+
DEF_LIST_MARSHALLER( QGraphicsItemList, QList<QGraphicsItem*>, QGraphicsItem )
|
2353
|
+
DEF_LIST_MARSHALLER( QStandardItemList, QList<QStandardItem*>, QStandardItem )
|
2354
|
+
DEF_LIST_MARSHALLER( QUndoStackList, QList<QUndoStack*>, QUndoStack )
|
2355
|
+
#endif
|
2356
|
+
|
2357
|
+
#if QT_VERSION >= 0x40300
|
2358
|
+
DEF_LIST_MARSHALLER( QMdiSubWindowList, QList<QMdiSubWindow*>, QMdiSubWindow )
|
2359
|
+
#endif
|
2360
|
+
|
2361
|
+
DEF_VALUELIST_MARSHALLER( QColorVector, QVector<QColor>, QColor )
|
2362
|
+
DEF_VALUELIST_MARSHALLER( QFileInfoList, QFileInfoList, QFileInfo )
|
2363
|
+
DEF_VALUELIST_MARSHALLER( QHostAddressList, QList<QHostAddress>, QHostAddress )
|
2364
|
+
DEF_VALUELIST_MARSHALLER( QImageTextKeyLangList, QList<QImageTextKeyLang>, QImageTextKeyLang )
|
2365
|
+
DEF_VALUELIST_MARSHALLER( QKeySequenceList, QList<QKeySequence>, QKeySequence )
|
2366
|
+
DEF_VALUELIST_MARSHALLER( QLineFVector, QVector<QLineF>, QLineF )
|
2367
|
+
DEF_VALUELIST_MARSHALLER( QLineVector, QVector<QLine>, QLine )
|
2368
|
+
DEF_VALUELIST_MARSHALLER( QModelIndexList, QList<QModelIndex>, QModelIndex )
|
2369
|
+
DEF_VALUELIST_MARSHALLER( QNetworkAddressEntryList, QList<QNetworkAddressEntry>, QNetworkAddressEntry )
|
2370
|
+
DEF_VALUELIST_MARSHALLER( QNetworkInterfaceList, QList<QNetworkInterface>, QNetworkInterface )
|
2371
|
+
DEF_VALUELIST_MARSHALLER( QPixmapList, QList<QPixmap>, QPixmap )
|
2372
|
+
DEF_VALUELIST_MARSHALLER( QPointFVector, QVector<QPointF>, QPointF )
|
2373
|
+
DEF_VALUELIST_MARSHALLER( QPointVector, QVector<QPoint>, QPoint )
|
2374
|
+
DEF_VALUELIST_MARSHALLER( QPolygonFList, QList<QPolygonF>, QPolygonF )
|
2375
|
+
DEF_VALUELIST_MARSHALLER( QRectFList, QList<QRectF>, QRectF )
|
2376
|
+
DEF_VALUELIST_MARSHALLER( QRectFVector, QVector<QRectF>, QRectF )
|
2377
|
+
DEF_VALUELIST_MARSHALLER( QRectVector, QVector<QRect>, QRect )
|
2378
|
+
DEF_VALUELIST_MARSHALLER( QRgbVector, QVector<QRgb>, QRgb )
|
2379
|
+
DEF_VALUELIST_MARSHALLER( QTableWidgetSelectionRangeList, QList<QTableWidgetSelectionRange>, QTableWidgetSelectionRange )
|
2380
|
+
DEF_VALUELIST_MARSHALLER( QTextBlockList, QList<QTextBlock>, QTextBlock )
|
2381
|
+
DEF_VALUELIST_MARSHALLER( QTextEditExtraSelectionsList, QList<QTextEdit::ExtraSelection>, QTextEdit::ExtraSelection )
|
2382
|
+
DEF_VALUELIST_MARSHALLER( QTextFormatVector, QVector<QTextFormat>, QTextFormat )
|
2383
|
+
DEF_VALUELIST_MARSHALLER( QTextLayoutFormatRangeList, QList<QTextLayout::FormatRange>, QTextLayout::FormatRange)
|
2384
|
+
DEF_VALUELIST_MARSHALLER( QTextLengthVector, QVector<QTextLength>, QTextLength )
|
2385
|
+
DEF_VALUELIST_MARSHALLER( QUrlList, QList<QUrl>, QUrl )
|
2386
|
+
DEF_VALUELIST_MARSHALLER( QVariantList, QList<QVariant>, QVariant )
|
2387
|
+
DEF_VALUELIST_MARSHALLER( QVariantVector, QVector<QVariant>, QVariant )
|
2388
|
+
|
2389
|
+
#if QT_VERSION >= 0x40300
|
2390
|
+
DEF_VALUELIST_MARSHALLER( QSslCertificateList, QList<QSslCertificate>, QSslCertificate )
|
2391
|
+
DEF_VALUELIST_MARSHALLER( QSslCipherList, QList<QSslCipher>, QSslCipher )
|
2392
|
+
DEF_VALUELIST_MARSHALLER( QSslErrorList, QList<QSslError>, QSslError )
|
2393
|
+
DEF_VALUELIST_MARSHALLER( QXmlStreamEntityDeclarations, QVector<QXmlStreamEntityDeclaration>, QXmlStreamEntityDeclaration )
|
2394
|
+
DEF_VALUELIST_MARSHALLER( QXmlStreamNamespaceDeclarations, QVector<QXmlStreamNamespaceDeclaration>, QXmlStreamNamespaceDeclaration )
|
2395
|
+
DEF_VALUELIST_MARSHALLER( QXmlStreamNotationDeclarations, QVector<QXmlStreamNotationDeclaration>, QXmlStreamNotationDeclaration )
|
2396
|
+
#endif
|
2397
|
+
|
2398
|
+
#if QT_VERSION >= 0x40400
|
2399
|
+
DEF_VALUELIST_MARSHALLER( QNetworkCookieList, QList<QNetworkCookie>, QNetworkCookie )
|
2400
|
+
DEF_VALUELIST_MARSHALLER( QPrinterInfoList, QList<QPrinterInfo>, QPrinterInfo )
|
2401
|
+
#endif
|
2402
|
+
|
2403
|
+
Q_DECL_EXPORT TypeHandler Qt_handlers[] = {
|
2404
|
+
{ "bool*", marshall_it<bool *> },
|
2405
|
+
{ "bool&", marshall_it<bool *> },
|
2406
|
+
{ "char**", marshall_charP_array },
|
2407
|
+
{ "char*",marshall_it<char *> },
|
2408
|
+
{ "DOM::DOMTimeStamp", marshall_it<long long> },
|
2409
|
+
{ "double*", marshall_doubleR },
|
2410
|
+
{ "double&", marshall_doubleR },
|
2411
|
+
{ "int*", marshall_it<int *> },
|
2412
|
+
{ "int&", marshall_it<int *> },
|
2413
|
+
{ "KIO::filesize_t", marshall_it<long long> },
|
2414
|
+
{ "long long", marshall_it<long long> },
|
2415
|
+
{ "long long int", marshall_it<long long> },
|
2416
|
+
{ "long long int&", marshall_it<long long> },
|
2417
|
+
{ "QDBusVariant", marshall_QDBusVariant },
|
2418
|
+
{ "QDBusVariant&", marshall_QDBusVariant },
|
2419
|
+
{ "QList<QFileInfo>", marshall_QFileInfoList },
|
2420
|
+
{ "QFileInfoList", marshall_QFileInfoList },
|
2421
|
+
{ "QGradiantStops", marshall_QPairqrealQColor },
|
2422
|
+
{ "QGradiantStops&", marshall_QPairqrealQColor },
|
2423
|
+
{ "unsigned int&", marshall_it<unsigned int *> },
|
2424
|
+
{ "quint32&", marshall_it<unsigned int *> },
|
2425
|
+
{ "uint&", marshall_it<unsigned int *> },
|
2426
|
+
{ "qint32&", marshall_it<int *> },
|
2427
|
+
{ "qint64", marshall_it<long long> },
|
2428
|
+
{ "qint64&", marshall_it<long long> },
|
2429
|
+
{ "QList<const char*>", marshall_QListCharStar },
|
2430
|
+
{ "QList<int>", marshall_QListInt },
|
2431
|
+
{ "QList<int>&", marshall_QListInt },
|
2432
|
+
{ "QList<uint>", marshall_QListUInt },
|
2433
|
+
{ "QList<uint>&", marshall_QListUInt },
|
2434
|
+
{ "QList<QAbstractButton*>", marshall_QAbstractButtonList },
|
2435
|
+
{ "QList<QActionGroup*>", marshall_QActionGroupList },
|
2436
|
+
{ "QList<QAction*>", marshall_QActionList },
|
2437
|
+
{ "QList<QAction*>&", marshall_QActionList },
|
2438
|
+
{ "QList<QByteArray>", marshall_QByteArrayList },
|
2439
|
+
{ "QList<QByteArray>*", marshall_QByteArrayList },
|
2440
|
+
{ "QList<QByteArray>&", marshall_QByteArrayList },
|
2441
|
+
{ "QList<QHostAddress>", marshall_QHostAddressList },
|
2442
|
+
{ "QList<QHostAddress>&", marshall_QHostAddressList },
|
2443
|
+
{ "QList<QImageTextKeyLang>", marshall_QImageTextKeyLangList },
|
2444
|
+
{ "QList<QKeySequence>", marshall_QKeySequenceList },
|
2445
|
+
{ "QList<QKeySequence>&", marshall_QKeySequenceList },
|
2446
|
+
{ "QList<QListWidgetItem*>", marshall_QListWidgetItemList },
|
2447
|
+
{ "QList<QListWidgetItem*>&", marshall_QListWidgetItemList },
|
2448
|
+
{ "QList<QModelIndex>", marshall_QModelIndexList },
|
2449
|
+
{ "QList<QModelIndex>&", marshall_QModelIndexList },
|
2450
|
+
{ "QList<QNetworkAddressEntry>", marshall_QNetworkAddressEntryList },
|
2451
|
+
{ "QList<QNetworkInterface>", marshall_QNetworkInterfaceList },
|
2452
|
+
{ "QList<QPair<QString,QString> >", marshall_QPairQStringQStringList },
|
2453
|
+
{ "QList<QPair<QString,QString> >&", marshall_QPairQStringQStringList },
|
2454
|
+
{ "QList<QPixmap>", marshall_QPixmapList },
|
2455
|
+
{ "QList<QPolygonF>", marshall_QPolygonFList },
|
2456
|
+
{ "QList<QRectF>", marshall_QRectFList },
|
2457
|
+
{ "QList<QRectF>&", marshall_QRectFList },
|
2458
|
+
{ "QList<qreal>", marshall_QListqreal },
|
2459
|
+
{ "QList<double>", marshall_QListqreal },
|
2460
|
+
{ "QwtValueList", marshall_QListqreal },
|
2461
|
+
{ "QwtValueList&", marshall_QListqreal },
|
2462
|
+
{ "QList<double>&", marshall_QListqreal },
|
2463
|
+
{ "QList<QObject*>", marshall_QObjectList },
|
2464
|
+
{ "QList<QObject*>&", marshall_QObjectList },
|
2465
|
+
{ "QList<QTableWidgetItem*>", marshall_QTableWidgetItemList },
|
2466
|
+
{ "QList<QTableWidgetItem*>&", marshall_QTableWidgetItemList },
|
2467
|
+
{ "QList<QTableWidgetSelectionRange>", marshall_QTableWidgetSelectionRangeList },
|
2468
|
+
{ "QList<QTextBlock>", marshall_QTextBlockList },
|
2469
|
+
{ "QList<QTextEdit::ExtraSelection>", marshall_QTextEditExtraSelectionsList },
|
2470
|
+
{ "QList<QTextEdit::ExtraSelection>&", marshall_QTextEditExtraSelectionsList },
|
2471
|
+
{ "QList<QTextFrame*>", marshall_QTextFrameList },
|
2472
|
+
{ "QList<QTextLayout::FormatRange>", marshall_QTextLayoutFormatRangeList },
|
2473
|
+
{ "QList<QTextLayout::FormatRange>&", marshall_QTextLayoutFormatRangeList },
|
2474
|
+
{ "QList<QTreeWidgetItem*>", marshall_QTreeWidgetItemList },
|
2475
|
+
{ "QList<QTreeWidgetItem*>&", marshall_QTreeWidgetItemList },
|
2476
|
+
{ "QList<QUndoStack*>", marshall_QUndoStackList },
|
2477
|
+
{ "QList<QUndoStack*>&", marshall_QUndoStackList },
|
2478
|
+
{ "QList<QUrl>", marshall_QUrlList },
|
2479
|
+
{ "QList<QUrl>&", marshall_QUrlList },
|
2480
|
+
{ "QList<QVariant>", marshall_QVariantList },
|
2481
|
+
{ "QList<QVariant>&", marshall_QVariantList },
|
2482
|
+
{ "QList<QWidget*>", marshall_QWidgetPtrList },
|
2483
|
+
{ "QList<QWidget*>&", marshall_QWidgetPtrList },
|
2484
|
+
{ "qlonglong", marshall_it<long long> },
|
2485
|
+
{ "qlonglong&", marshall_it<long long> },
|
2486
|
+
{ "QMap<int,QVariant>", marshall_QMapintQVariant },
|
2487
|
+
{ "QMap<int,QVariant>", marshall_QMapIntQVariant },
|
2488
|
+
{ "QMap<int,QVariant>&", marshall_QMapIntQVariant },
|
2489
|
+
{ "QMap<QString,QString>", marshall_QMapQStringQString },
|
2490
|
+
{ "QMap<QString,QString>&", marshall_QMapQStringQString },
|
2491
|
+
{ "QMap<QString,QVariant>", marshall_QMapQStringQVariant },
|
2492
|
+
{ "QMap<QString,QVariant>&", marshall_QMapQStringQVariant },
|
2493
|
+
{ "QVariantMap", marshall_QMapQStringQVariant },
|
2494
|
+
{ "QVariantMap&", marshall_QMapQStringQVariant },
|
2495
|
+
{ "QModelIndexList", marshall_QModelIndexList },
|
2496
|
+
{ "QModelIndexList&", marshall_QModelIndexList },
|
2497
|
+
{ "QObjectList", marshall_QObjectList },
|
2498
|
+
{ "QObjectList&", marshall_QObjectList },
|
2499
|
+
{ "QPair<int,int>&", marshall_QPairintint },
|
2500
|
+
{ "Q_PID", marshall_it<Q_PID> },
|
2501
|
+
{ "qreal*", marshall_doubleR },
|
2502
|
+
{ "qreal&", marshall_doubleR },
|
2503
|
+
{ "QRgb*", marshall_QRgb_array },
|
2504
|
+
{ "QStringList", marshall_QStringList },
|
2505
|
+
{ "QStringList*", marshall_QStringList },
|
2506
|
+
{ "QStringList&", marshall_QStringList },
|
2507
|
+
{ "QString", marshall_QString },
|
2508
|
+
{ "QString*", marshall_QString },
|
2509
|
+
{ "QString&", marshall_QString },
|
2510
|
+
{ "QByteArray", marshall_QByteArray },
|
2511
|
+
{ "QByteArray*", marshall_QByteArray },
|
2512
|
+
{ "QByteArray&", marshall_QByteArray },
|
2513
|
+
{ "quint64", marshall_it<unsigned long long> },
|
2514
|
+
{ "quint64&", marshall_it<unsigned long long> },
|
2515
|
+
{ "qulonglong", marshall_it<unsigned long long> },
|
2516
|
+
{ "qulonglong&", marshall_it<unsigned long long> },
|
2517
|
+
{ "QVariantList&", marshall_QVariantList },
|
2518
|
+
{ "QVector<int>", marshall_QVectorint },
|
2519
|
+
{ "QVector<int>&", marshall_QVectorint },
|
2520
|
+
{ "QVector<QColor>", marshall_QColorVector },
|
2521
|
+
{ "QVector<QColor>&", marshall_QColorVector },
|
2522
|
+
{ "QVector<QLineF>", marshall_QLineFVector },
|
2523
|
+
{ "QVector<QLineF>&", marshall_QLineFVector },
|
2524
|
+
{ "QVector<QLine>", marshall_QLineVector },
|
2525
|
+
{ "QVector<QLine>&", marshall_QLineVector },
|
2526
|
+
{ "QVector<QPointF>", marshall_QPointFVector },
|
2527
|
+
{ "QVector<QPointF>&", marshall_QPointFVector },
|
2528
|
+
{ "QVector<QPoint>", marshall_QPointVector },
|
2529
|
+
{ "QVector<QPoint>&", marshall_QPointVector },
|
2530
|
+
{ "QVector<qreal>", marshall_QVectorqreal },
|
2531
|
+
{ "QVector<qreal>&", marshall_QVectorqreal },
|
2532
|
+
{ "QVector<double>", marshall_QVectorqreal },
|
2533
|
+
{ "QVector<double>&", marshall_QVectorqreal },
|
2534
|
+
{ "QVector<QRectF>", marshall_QRectFVector },
|
2535
|
+
{ "QVector<QRectF>&", marshall_QRectFVector },
|
2536
|
+
{ "QVector<QRect>", marshall_QRectVector },
|
2537
|
+
{ "QVector<QRect>&", marshall_QRectVector },
|
2538
|
+
{ "QVector<QRgb>", marshall_QRgbVector },
|
2539
|
+
{ "QVector<QRgb>&", marshall_QRgbVector },
|
2540
|
+
{ "QVector<QTextFormat>", marshall_QTextFormatVector },
|
2541
|
+
{ "QVector<QTextFormat>&", marshall_QTextFormatVector },
|
2542
|
+
{ "QVector<QTextLength>", marshall_QTextLengthVector },
|
2543
|
+
{ "QVector<QTextLength>&", marshall_QTextLengthVector },
|
2544
|
+
{ "QVector<QVariant>", marshall_QVariantVector },
|
2545
|
+
{ "QVector<QVariant>&", marshall_QVariantVector },
|
2546
|
+
{ "QWidgetList", marshall_QWidgetList },
|
2547
|
+
{ "QWidgetList&", marshall_QWidgetList },
|
2548
|
+
{ "QwtArray<double>", marshall_QVectorqreal },
|
2549
|
+
{ "QwtArray<double>&", marshall_QVectorqreal },
|
2550
|
+
{ "QwtArray<int>", marshall_QVectorint },
|
2551
|
+
{ "QwtArray<int>&", marshall_QVectorint },
|
2552
|
+
{ "signed int&", marshall_it<int *> },
|
2553
|
+
{ "uchar*", marshall_ucharP },
|
2554
|
+
{ "unsigned char*", marshall_ucharP },
|
2555
|
+
{ "unsigned long long int", marshall_it<long long> },
|
2556
|
+
{ "unsigned long long int&", marshall_it<long long> },
|
2557
|
+
{ "void", marshall_void },
|
2558
|
+
{ "void**", marshall_voidP_array },
|
2559
|
+
{ "WId", marshall_it<WId> },
|
2560
|
+
{ "HBITMAP__*", marshall_voidP },
|
2561
|
+
{ "HDC__*", marshall_voidP },
|
2562
|
+
{ "HFONT__*", marshall_voidP },
|
2563
|
+
{ "HICON__*", marshall_voidP },
|
2564
|
+
{ "HINSTANCE__*", marshall_voidP },
|
2565
|
+
{ "HPALETTE__*", marshall_voidP },
|
2566
|
+
{ "HRGN__*", marshall_voidP },
|
2567
|
+
{ "HWND__*", marshall_voidP },
|
2568
|
+
#if QT_VERSION >= 0x40200
|
2569
|
+
{ "QList<QGraphicsItem*>", marshall_QGraphicsItemList },
|
2570
|
+
{ "QList<QGraphicsItem*>&", marshall_QGraphicsItemList },
|
2571
|
+
{ "QList<QStandardItem*>", marshall_QStandardItemList },
|
2572
|
+
{ "QList<QStandardItem*>&", marshall_QStandardItemList },
|
2573
|
+
{ "QList<QUndoStack*>", marshall_QUndoStackList },
|
2574
|
+
{ "QList<QUndoStack*>&", marshall_QUndoStackList },
|
2575
|
+
#endif
|
2576
|
+
#if QT_VERSION >= 0x40300
|
2577
|
+
{ "QList<QMdiSubWindow*>", marshall_QMdiSubWindowList },
|
2578
|
+
{ "QList<QSslCertificate>", marshall_QSslCertificateList },
|
2579
|
+
{ "QList<QSslCertificate>&", marshall_QSslCertificateList },
|
2580
|
+
{ "QList<QSslCipher>", marshall_QSslCipherList },
|
2581
|
+
{ "QList<QSslCipher>&", marshall_QSslCipherList },
|
2582
|
+
{ "QList<QSslError>", marshall_QSslErrorList },
|
2583
|
+
{ "QList<QSslError>&", marshall_QSslErrorList },
|
2584
|
+
{ "QXmlStreamEntityDeclarations", marshall_QXmlStreamEntityDeclarations },
|
2585
|
+
{ "QXmlStreamNamespaceDeclarations", marshall_QXmlStreamNamespaceDeclarations },
|
2586
|
+
{ "QXmlStreamNotationDeclarations", marshall_QXmlStreamNotationDeclarations },
|
2587
|
+
#endif
|
2588
|
+
#if QT_VERSION >= 0x040400
|
2589
|
+
{ "QList<QNetworkCookie>", marshall_QNetworkCookieList },
|
2590
|
+
{ "QList<QNetworkCookie>&", marshall_QNetworkCookieList },
|
2591
|
+
{ "QList<QPrinterInfo>", marshall_QPrinterInfoList },
|
2592
|
+
#endif
|
2593
|
+
{ 0, 0 }
|
2594
|
+
};
|
2595
|
+
|
2596
|
+
QHash<QByteArray, TypeHandler*> type_handlers;
|
2597
|
+
|
2598
|
+
void install_handlers(TypeHandler *h) {
|
2599
|
+
while(h->name) {
|
2600
|
+
type_handlers.insert(h->name, h);
|
2601
|
+
h++;
|
2602
|
+
}
|
2603
|
+
}
|
2604
|
+
|
2605
|
+
Marshall::HandlerFn getMarshallFn(const SmokeType &type) {
|
2606
|
+
if (type.elem())
|
2607
|
+
return marshall_basetype;
|
2608
|
+
if (!type.name())
|
2609
|
+
return marshall_void;
|
2610
|
+
|
2611
|
+
TypeHandler *h = type_handlers[type.name()];
|
2612
|
+
|
2613
|
+
if (h == 0 && type.isConst() && strlen(type.name()) > strlen("const ")) {
|
2614
|
+
h = type_handlers[type.name() + strlen("const ")];
|
2615
|
+
}
|
2616
|
+
|
2617
|
+
if (h != 0) {
|
2618
|
+
return h->fn;
|
2619
|
+
}
|
2620
|
+
|
2621
|
+
return marshall_unknown;
|
2622
|
+
}
|