qtbindings 4.8.6.1-x64-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.txt +48 -0
- data/COPYING.LIB.txt +510 -0
- data/COPYING.txt +286 -0
- data/KNOWN_ISSUES.txt +17 -0
- data/Rakefile +121 -0
- data/TODO.txt +2 -0
- data/bin/2.0/rbrcc.exe +0 -0
- data/bin/2.0/rbuic4.exe +0 -0
- data/bin/2.0/smokeapi.exe +0 -0
- data/bin/2.0/smokedeptool.exe +0 -0
- data/bin/2.1/rbrcc.exe +0 -0
- data/bin/2.1/rbuic4.exe +0 -0
- data/bin/2.1/smokeapi.exe +0 -0
- data/bin/2.1/smokedeptool.exe +0 -0
- data/bin/2.2/rbrcc.exe +0 -0
- data/bin/2.2/rbuic4.exe +0 -0
- data/bin/2.2/smokeapi.exe +0 -0
- data/bin/2.2/smokedeptool.exe +0 -0
- data/bin/rbqtapi +152 -0
- data/bin/rbrcc +14 -0
- data/bin/rbuic4 +14 -0
- data/bin/smokeapi +14 -0
- data/bin/smokedeptool +14 -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 +157 -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 +219 -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 +99 -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 +72 -0
- data/examples/network/fortuneclient/client.rb +149 -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 +259 -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 +369 -0
- data/examples/painting/fontsampler/mainwindowbase.ui +136 -0
- data/examples/painting/fontsampler/makefile +8 -0
- data/examples/painting/fontsampler/previewdialog.rb +257 -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/LICENSE.txt +58 -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 +15 -0
- data/examples/threading/main_thread.rb +19 -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/extconf.rb +256 -0
- data/lib/2.0/libqtruby4shared.dll +0 -0
- data/lib/2.0/libsmokebase.dll +0 -0
- data/lib/2.0/libsmokeqtcore.dll +0 -0
- data/lib/2.0/libsmokeqtdeclarative.dll +0 -0
- data/lib/2.0/libsmokeqtgui.dll +0 -0
- data/lib/2.0/libsmokeqthelp.dll +0 -0
- data/lib/2.0/libsmokeqtmultimedia.dll +0 -0
- data/lib/2.0/libsmokeqtnetwork.dll +0 -0
- data/lib/2.0/libsmokeqtopengl.dll +0 -0
- data/lib/2.0/libsmokeqtscript.dll +0 -0
- data/lib/2.0/libsmokeqtsql.dll +0 -0
- data/lib/2.0/libsmokeqtsvg.dll +0 -0
- data/lib/2.0/libsmokeqttest.dll +0 -0
- data/lib/2.0/libsmokeqtuitools.dll +0 -0
- data/lib/2.0/libsmokeqtwebkit.dll +0 -0
- data/lib/2.0/libsmokeqtxml.dll +0 -0
- data/lib/2.0/libsmokeqtxmlpatterns.dll +0 -0
- data/lib/2.0/qtdeclarative.so +0 -0
- data/lib/2.0/qtruby4.so +0 -0
- data/lib/2.0/qtscript.so +0 -0
- data/lib/2.0/qttest.so +0 -0
- data/lib/2.0/qtuitools.so +0 -0
- data/lib/2.0/qtwebkit.so +0 -0
- data/lib/2.1/libqtruby4shared.dll +0 -0
- data/lib/2.1/libsmokebase.dll +0 -0
- data/lib/2.1/libsmokeqtcore.dll +0 -0
- data/lib/2.1/libsmokeqtdeclarative.dll +0 -0
- data/lib/2.1/libsmokeqtgui.dll +0 -0
- data/lib/2.1/libsmokeqthelp.dll +0 -0
- data/lib/2.1/libsmokeqtmultimedia.dll +0 -0
- data/lib/2.1/libsmokeqtnetwork.dll +0 -0
- data/lib/2.1/libsmokeqtopengl.dll +0 -0
- data/lib/2.1/libsmokeqtscript.dll +0 -0
- data/lib/2.1/libsmokeqtsql.dll +0 -0
- data/lib/2.1/libsmokeqtsvg.dll +0 -0
- data/lib/2.1/libsmokeqttest.dll +0 -0
- data/lib/2.1/libsmokeqtuitools.dll +0 -0
- data/lib/2.1/libsmokeqtwebkit.dll +0 -0
- data/lib/2.1/libsmokeqtxml.dll +0 -0
- data/lib/2.1/libsmokeqtxmlpatterns.dll +0 -0
- data/lib/2.1/qtdeclarative.so +0 -0
- data/lib/2.1/qtruby4.so +0 -0
- data/lib/2.1/qtscript.so +0 -0
- data/lib/2.1/qttest.so +0 -0
- data/lib/2.1/qtuitools.so +0 -0
- data/lib/2.1/qtwebkit.so +0 -0
- data/lib/2.2/libqtruby4shared.dll +0 -0
- data/lib/2.2/libsmokebase.dll +0 -0
- data/lib/2.2/libsmokeqtcore.dll +0 -0
- data/lib/2.2/libsmokeqtdeclarative.dll +0 -0
- data/lib/2.2/libsmokeqtgui.dll +0 -0
- data/lib/2.2/libsmokeqthelp.dll +0 -0
- data/lib/2.2/libsmokeqtmultimedia.dll +0 -0
- data/lib/2.2/libsmokeqtnetwork.dll +0 -0
- data/lib/2.2/libsmokeqtopengl.dll +0 -0
- data/lib/2.2/libsmokeqtscript.dll +0 -0
- data/lib/2.2/libsmokeqtsql.dll +0 -0
- data/lib/2.2/libsmokeqtsvg.dll +0 -0
- data/lib/2.2/libsmokeqttest.dll +0 -0
- data/lib/2.2/libsmokeqtuitools.dll +0 -0
- data/lib/2.2/libsmokeqtwebkit.dll +0 -0
- data/lib/2.2/libsmokeqtxml.dll +0 -0
- data/lib/2.2/libsmokeqtxmlpatterns.dll +0 -0
- data/lib/2.2/qtdeclarative.so +0 -0
- data/lib/2.2/qtruby4.so +0 -0
- data/lib/2.2/qtscript.so +0 -0
- data/lib/2.2/qttest.so +0 -0
- data/lib/2.2/qtuitools.so +0 -0
- data/lib/2.2/qtwebkit.so +0 -0
- data/lib/Qt.rb +1 -0
- data/lib/Qt/qtruby4.rb +3258 -0
- data/lib/Qt4.rb +111 -0
- data/lib/qtbindings_version.rb +2 -0
- data/lib/qtdeclarative/qtdeclarative.rb +17 -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 +19 -0
- metadata +559 -0
@@ -0,0 +1,156 @@
|
|
1
|
+
=begin
|
2
|
+
**
|
3
|
+
** Copyright (C) 2004-2006 Trolltech AS. All rights reserved.
|
4
|
+
**
|
5
|
+
** This file is part of the example classes of the Qt Toolkit.
|
6
|
+
**
|
7
|
+
** This file may be used under the terms of the GNU General Public
|
8
|
+
** License version 2.0 as published by the Free Software Foundation
|
9
|
+
** and appearing in the file LICENSE.GPL included in the packaging of
|
10
|
+
** this file. Please review the following information to ensure GNU
|
11
|
+
** General Public Licensing requirements will be met:
|
12
|
+
** http://www.trolltech.com/products/qt/opensource.html
|
13
|
+
**
|
14
|
+
** If you are unsure which license is appropriate for your use, please
|
15
|
+
** review the following information:
|
16
|
+
** http://www.trolltech.com/products/qt/licensing.html or contact the
|
17
|
+
** sales department at sales@trolltech.com.
|
18
|
+
**
|
19
|
+
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
20
|
+
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
21
|
+
**
|
22
|
+
|
23
|
+
** Translated to QtRuby by Richard Dale
|
24
|
+
=end
|
25
|
+
|
26
|
+
|
27
|
+
class SvgRasterView < Qt::Widget
|
28
|
+
slots :poluteImage
|
29
|
+
|
30
|
+
def initialize(file, parent)
|
31
|
+
super(parent)
|
32
|
+
@buffer = Qt::Image.new
|
33
|
+
@dirty = true
|
34
|
+
@doc = Qt::SvgRenderer.new(file, self)
|
35
|
+
connect(@doc, SIGNAL(:repaintNeeded),
|
36
|
+
self, SLOT(:poluteImage))
|
37
|
+
end
|
38
|
+
|
39
|
+
def paintEvent(event)
|
40
|
+
if @buffer.size() != size() || @dirty
|
41
|
+
@buffer = Qt::Image.new(size(), Qt::Image::Format_ARGB32_Premultiplied)
|
42
|
+
p = Qt::Painter.new(@buffer)
|
43
|
+
p.setViewport(0, 0, width(), height())
|
44
|
+
p.eraseRect(0, 0, width(), height())
|
45
|
+
@doc.render(p)
|
46
|
+
end
|
47
|
+
pt = Qt::Painter.new(self)
|
48
|
+
pt.drawImage(0, 0, @buffer)
|
49
|
+
pt.end
|
50
|
+
end
|
51
|
+
|
52
|
+
def sizeHint()
|
53
|
+
if @doc
|
54
|
+
return @doc.defaultSize()
|
55
|
+
end
|
56
|
+
return super()
|
57
|
+
end
|
58
|
+
|
59
|
+
def poluteImage()
|
60
|
+
@dirty = true
|
61
|
+
update()
|
62
|
+
end
|
63
|
+
|
64
|
+
def wheelEvent(e)
|
65
|
+
diff = 0.1
|
66
|
+
size = @doc.defaultSize()
|
67
|
+
w = size.width()
|
68
|
+
h = size.height()
|
69
|
+
if e.delta() > 0
|
70
|
+
w = (width() + width() * diff)
|
71
|
+
h = (height() + height() * diff)
|
72
|
+
else
|
73
|
+
w = (width() - width() * diff)
|
74
|
+
h = (height() - height() * diff)
|
75
|
+
end
|
76
|
+
|
77
|
+
resize(w, h)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
class SvgNativeView < Qt::Widget
|
82
|
+
|
83
|
+
def initialize(file, parent)
|
84
|
+
super(parent)
|
85
|
+
@doc = Qt::SvgRenderer.new(file, self)
|
86
|
+
connect(@doc, SIGNAL(:repaintNeeded),
|
87
|
+
self, SLOT(:update))
|
88
|
+
end
|
89
|
+
|
90
|
+
def paintEvent(event)
|
91
|
+
p = Qt::Painter.new(self)
|
92
|
+
p.setViewport(0, 0, width(), height())
|
93
|
+
@doc.render(p)
|
94
|
+
p.end
|
95
|
+
end
|
96
|
+
|
97
|
+
def sizeHint()
|
98
|
+
if @doc
|
99
|
+
return @doc.defaultSize()
|
100
|
+
end
|
101
|
+
return super()
|
102
|
+
end
|
103
|
+
|
104
|
+
def wheelEvent(e)
|
105
|
+
diff = 0.1
|
106
|
+
size = @doc.defaultSize()
|
107
|
+
w = size.width()
|
108
|
+
h = size.height()
|
109
|
+
if e.delta() > 0
|
110
|
+
w = (width() + width() * diff)
|
111
|
+
h = (height() + height() * diff)
|
112
|
+
else
|
113
|
+
w = (width() - width() * diff)
|
114
|
+
h = (height() - height() * diff)
|
115
|
+
end
|
116
|
+
resize(w, h)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
class SvgGLView < Qt::GLWidget
|
121
|
+
|
122
|
+
def initialize(file, parent)
|
123
|
+
super(Qt::GLFormat.new(Qt::GL::SampleBuffers), parent)
|
124
|
+
@doc = Qt::SvgRenderer.new(file, self)
|
125
|
+
connect(@doc, SIGNAL(:repaintNeeded),
|
126
|
+
self, SLOT(:update))
|
127
|
+
end
|
128
|
+
|
129
|
+
def paintEvent(event)
|
130
|
+
p = Qt::Painter.new(self)
|
131
|
+
@doc.render(p)
|
132
|
+
p.end
|
133
|
+
end
|
134
|
+
|
135
|
+
def sizeHint()
|
136
|
+
if @doc
|
137
|
+
return @doc.defaultSize()
|
138
|
+
end
|
139
|
+
return super()
|
140
|
+
end
|
141
|
+
|
142
|
+
def wheelEvent(e)
|
143
|
+
diff = 0.1
|
144
|
+
size = @doc.defaultSize()
|
145
|
+
w = size.width()
|
146
|
+
h = size.height()
|
147
|
+
if e.delta() > 0
|
148
|
+
w = (width() + width() * diff)
|
149
|
+
h = (height() + height() * diff)
|
150
|
+
else
|
151
|
+
w = (width() - width() * diff)
|
152
|
+
h = (height() - height() * diff)
|
153
|
+
end
|
154
|
+
resize(w, h)
|
155
|
+
end
|
156
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
=begin
|
2
|
+
**
|
3
|
+
** Copyright (C) 2004-2006 Trolltech AS. All rights reserved.
|
4
|
+
**
|
5
|
+
** This file is part of the example classes of the Qt Toolkit.
|
6
|
+
**
|
7
|
+
** This file may be used under the terms of the GNU General Public
|
8
|
+
** License version 2.0 as published by the Free Software Foundation
|
9
|
+
** and appearing in the file LICENSE.GPL included in the packaging of
|
10
|
+
** this file. Please review the following information to ensure GNU
|
11
|
+
** General Public Licensing requirements will be met:
|
12
|
+
** http://www.trolltech.com/products/qt/opensource.html
|
13
|
+
**
|
14
|
+
** If you are unsure which license is appropriate for your use, please
|
15
|
+
** review the following information:
|
16
|
+
** http://www.trolltech.com/products/qt/licensing.html or contact the
|
17
|
+
** sales department at sales@trolltech.com.
|
18
|
+
**
|
19
|
+
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
20
|
+
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
21
|
+
**
|
22
|
+
|
23
|
+
** Translated to QtRuby by Richard Dale
|
24
|
+
=end
|
25
|
+
|
26
|
+
require './svgview.rb'
|
27
|
+
|
28
|
+
class SvgWindow < Qt::ScrollArea
|
29
|
+
|
30
|
+
Native = 0
|
31
|
+
OpenGL = 1
|
32
|
+
Image = 2
|
33
|
+
|
34
|
+
def initialize()
|
35
|
+
super()
|
36
|
+
view = Qt::Widget.new(self)
|
37
|
+
@mousePressPos = Qt::Point.new
|
38
|
+
@scrollBarValuesOnMousePress = Qt::Point.new
|
39
|
+
@renderer = Native
|
40
|
+
setWidget(view)
|
41
|
+
end
|
42
|
+
|
43
|
+
def openFile(file)
|
44
|
+
@currentPath = file
|
45
|
+
self.renderer = @renderer
|
46
|
+
end
|
47
|
+
|
48
|
+
def renderer=(type = Native)
|
49
|
+
@renderer = type
|
50
|
+
|
51
|
+
if @renderer == OpenGL
|
52
|
+
view = SvgGLView.new(@currentPath, self)
|
53
|
+
elsif @renderer == Image
|
54
|
+
view = SvgRasterView.new(@currentPath, self)
|
55
|
+
else
|
56
|
+
view = SvgNativeView.new(@currentPath, self)
|
57
|
+
end
|
58
|
+
|
59
|
+
setWidget(view)
|
60
|
+
view.show()
|
61
|
+
end
|
62
|
+
|
63
|
+
def mousePressEvent(event)
|
64
|
+
@mousePressPos = event.pos
|
65
|
+
@scrollBarValuesOnMousePress.x = horizontalScrollBar.value
|
66
|
+
@scrollBarValuesOnMousePress.y = verticalScrollBar.value
|
67
|
+
event.accept
|
68
|
+
end
|
69
|
+
|
70
|
+
def mouseMoveEvent(event)
|
71
|
+
if @mousePressPos.null?
|
72
|
+
event.ignore
|
73
|
+
return
|
74
|
+
end
|
75
|
+
|
76
|
+
horizontalScrollBar.value = @scrollBarValuesOnMousePress.x - event.pos.x + @mousePressPos.x
|
77
|
+
verticalScrollBar.value = @scrollBarValuesOnMousePress.y - event.pos.y + @mousePressPos.y
|
78
|
+
horizontalScrollBar.update
|
79
|
+
verticalScrollBar.update
|
80
|
+
event.accept
|
81
|
+
end
|
82
|
+
|
83
|
+
def mouseReleaseEvent(event)
|
84
|
+
@mousePressPos = Qt::Point.new
|
85
|
+
event.accept
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
=begin
|
2
|
+
**
|
3
|
+
** Copyright (C) 2004-2005 Trolltech AS. All rights reserved.
|
4
|
+
**
|
5
|
+
** This file is part of the example classes of the Qt Toolkit.
|
6
|
+
**
|
7
|
+
** This file may be used under the terms of the GNU General Public
|
8
|
+
** License version 2.0 as published by the Free Software Foundation
|
9
|
+
** and appearing in the file LICENSE.GPL included in the packaging of
|
10
|
+
** this file. Please review the following information to ensure GNU
|
11
|
+
** General Public Licensing requirements will be met:
|
12
|
+
** http://www.trolltech.com/products/qt/opensource.html
|
13
|
+
**
|
14
|
+
** If you are unsure which license is appropriate for your use, please
|
15
|
+
** review the following information:
|
16
|
+
** http://www.trolltech.com/products/qt/licensing.html or contact the
|
17
|
+
** sales department at sales@trolltech.com.
|
18
|
+
**
|
19
|
+
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
20
|
+
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
21
|
+
**
|
22
|
+
|
23
|
+
** Translated to QtRuby by Richard Dale
|
24
|
+
=end
|
25
|
+
|
26
|
+
require 'Qt'
|
27
|
+
require './window.rb'
|
28
|
+
|
29
|
+
app = Qt::Application.new(ARGV)
|
30
|
+
window = Window.new
|
31
|
+
window.show
|
32
|
+
app.exec
|
@@ -0,0 +1,127 @@
|
|
1
|
+
=begin
|
2
|
+
**
|
3
|
+
** Copyright (C) 2004-2005 Trolltech AS. All rights reserved.
|
4
|
+
**
|
5
|
+
** This file is part of the example classes of the Qt Toolkit.
|
6
|
+
**
|
7
|
+
** This file may be used under the terms of the GNU General Public
|
8
|
+
** License version 2.0 as published by the Free Software Foundation
|
9
|
+
** and appearing in the file LICENSE.GPL included in the packaging of
|
10
|
+
** this file. Please review the following information to ensure GNU
|
11
|
+
** General Public Licensing requirements will be met:
|
12
|
+
** http://www.trolltech.com/products/qt/opensource.html
|
13
|
+
**
|
14
|
+
** If you are unsure which license is appropriate for your use, please
|
15
|
+
** review the following information:
|
16
|
+
** http://www.trolltech.com/products/qt/licensing.html or contact the
|
17
|
+
** sales department at sales@trolltech.com.
|
18
|
+
**
|
19
|
+
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
20
|
+
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
21
|
+
**
|
22
|
+
|
23
|
+
** Translated to QtRuby by Richard Dale
|
24
|
+
=end
|
25
|
+
|
26
|
+
class RenderArea < Qt::Widget
|
27
|
+
|
28
|
+
NoTransformation = 0
|
29
|
+
Translate = 1
|
30
|
+
Rotate = 2
|
31
|
+
Scale = 3
|
32
|
+
|
33
|
+
def initialize(parent = nil)
|
34
|
+
super(parent)
|
35
|
+
newFont = font()
|
36
|
+
newFont.pixelSize = 12
|
37
|
+
setFont(newFont)
|
38
|
+
|
39
|
+
fontMetrics = Qt::FontMetrics.new(newFont)
|
40
|
+
@xBoundingRect = fontMetrics.boundingRect(tr("x"))
|
41
|
+
@yBoundingRect = fontMetrics.boundingRect(tr("y"))
|
42
|
+
@operations = []
|
43
|
+
@shape = Qt::PainterPath.new
|
44
|
+
end
|
45
|
+
|
46
|
+
def operations=(operations)
|
47
|
+
@operations = Array.new(operations)
|
48
|
+
update()
|
49
|
+
end
|
50
|
+
|
51
|
+
def shape=(shape)
|
52
|
+
@shape = shape
|
53
|
+
update()
|
54
|
+
end
|
55
|
+
|
56
|
+
def minimumSizeHint()
|
57
|
+
return Qt::Size.new(50, 50)
|
58
|
+
end
|
59
|
+
|
60
|
+
def sizeHint()
|
61
|
+
return Qt::Size.new(232, 232)
|
62
|
+
end
|
63
|
+
|
64
|
+
def paintEvent(event)
|
65
|
+
painter = Qt::Painter.new(self)
|
66
|
+
painter.renderHint = Qt::Painter::Antialiasing
|
67
|
+
painter.fillRect(event.rect(), Qt::Brush.new(Qt::white))
|
68
|
+
|
69
|
+
painter.translate(66, 66)
|
70
|
+
|
71
|
+
painter.save()
|
72
|
+
transformPainter(painter)
|
73
|
+
drawShape(painter)
|
74
|
+
painter.restore()
|
75
|
+
|
76
|
+
drawOutline(painter)
|
77
|
+
|
78
|
+
painter.save()
|
79
|
+
transformPainter(painter)
|
80
|
+
drawCoordinates(painter)
|
81
|
+
painter.restore()
|
82
|
+
painter.end
|
83
|
+
end
|
84
|
+
|
85
|
+
def drawCoordinates(painter)
|
86
|
+
painter.pen = Qt::Pen.new(Qt::Color.new(Qt::red))
|
87
|
+
|
88
|
+
painter.drawLine(0, 0, 50, 0)
|
89
|
+
painter.drawLine(48, -2, 50, 0)
|
90
|
+
painter.drawLine(48, 2, 50, 0)
|
91
|
+
painter.drawText(60 - @xBoundingRect.width() / 2,
|
92
|
+
0 + @xBoundingRect.height() / 2, tr("x"))
|
93
|
+
|
94
|
+
painter.drawLine(0, 0, 0, 50)
|
95
|
+
painter.drawLine(-2, 48, 0, 50)
|
96
|
+
painter.drawLine(2, 48, 0, 50)
|
97
|
+
painter.drawText(0 - @yBoundingRect.width() / 2,
|
98
|
+
60 + @yBoundingRect.height() / 2, tr("y"))
|
99
|
+
end
|
100
|
+
|
101
|
+
def drawOutline(painter)
|
102
|
+
painter.pen = Qt::Pen.new(Qt::Color.new(Qt::darkGreen))
|
103
|
+
painter.pen = Qt::Pen.new(Qt::DashLine)
|
104
|
+
painter.brush = Qt::NoBrush
|
105
|
+
painter.drawRect(0, 0, 100, 100)
|
106
|
+
end
|
107
|
+
|
108
|
+
def drawShape(painter)
|
109
|
+
painter.fillPath(@shape, Qt::Brush.new(Qt::blue))
|
110
|
+
end
|
111
|
+
|
112
|
+
def transformPainter(painter)
|
113
|
+
(0...@operations.length).each do |i|
|
114
|
+
case @operations[i]
|
115
|
+
when Translate
|
116
|
+
painter.translate(50, 50)
|
117
|
+
when Scale
|
118
|
+
painter.scale(0.75, 0.75)
|
119
|
+
when Rotate
|
120
|
+
painter.rotate(60)
|
121
|
+
when NoTransformation
|
122
|
+
else
|
123
|
+
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
@@ -0,0 +1,153 @@
|
|
1
|
+
=begin
|
2
|
+
**
|
3
|
+
** Copyright (C) 2004-2005 Trolltech AS. All rights reserved.
|
4
|
+
**
|
5
|
+
** This file is part of the example classes of the Qt Toolkit.
|
6
|
+
**
|
7
|
+
** This file may be used under the terms of the GNU General Public
|
8
|
+
** License version 2.0 as published by the Free Software Foundation
|
9
|
+
** and appearing in the file LICENSE.GPL included in the packaging of
|
10
|
+
** this file. Please review the following information to ensure GNU
|
11
|
+
** General Public Licensing requirements will be met:
|
12
|
+
** http://www.trolltech.com/products/qt/opensource.html
|
13
|
+
**
|
14
|
+
** If you are unsure which license is appropriate for your use, please
|
15
|
+
** review the following information:
|
16
|
+
** http://www.trolltech.com/products/qt/licensing.html or contact the
|
17
|
+
** sales department at sales@trolltech.com.
|
18
|
+
**
|
19
|
+
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
20
|
+
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
21
|
+
**
|
22
|
+
|
23
|
+
** Translated to QtRuby by Richard Dale
|
24
|
+
=end
|
25
|
+
|
26
|
+
require './renderarea.rb'
|
27
|
+
|
28
|
+
class Window < Qt::Widget
|
29
|
+
|
30
|
+
slots 'operationChanged()',
|
31
|
+
'shapeSelected(int)'
|
32
|
+
|
33
|
+
NumTransformedAreas = 3
|
34
|
+
|
35
|
+
def initialize(parent = nil)
|
36
|
+
super
|
37
|
+
@originalRenderArea = RenderArea.new
|
38
|
+
|
39
|
+
@shapeComboBox = Qt::ComboBox.new
|
40
|
+
@shapeComboBox.addItem(tr("Clock"))
|
41
|
+
@shapeComboBox.addItem(tr("House"))
|
42
|
+
@shapeComboBox.addItem(tr("Text"))
|
43
|
+
@shapeComboBox.addItem(tr("Truck"))
|
44
|
+
|
45
|
+
layout = Qt::GridLayout.new
|
46
|
+
layout.addWidget(@originalRenderArea, 0, 0)
|
47
|
+
layout.addWidget(@shapeComboBox, 1, 0)
|
48
|
+
|
49
|
+
@transformedRenderAreas = []
|
50
|
+
@operationComboBoxes = []
|
51
|
+
(0...NumTransformedAreas).each do |i|
|
52
|
+
@transformedRenderAreas[i] = RenderArea.new
|
53
|
+
|
54
|
+
@operationComboBoxes[i] = Qt::ComboBox.new
|
55
|
+
@operationComboBoxes[i].addItem(tr("No transformation"))
|
56
|
+
@operationComboBoxes[i].addItem(tr("Rotate by 60\xB0"))
|
57
|
+
@operationComboBoxes[i].addItem(tr("Scale to 75%"))
|
58
|
+
@operationComboBoxes[i].addItem(tr("Translate by (50, 50)"))
|
59
|
+
|
60
|
+
connect(@operationComboBoxes[i], SIGNAL('activated(int)'),
|
61
|
+
self, SLOT('operationChanged()'))
|
62
|
+
|
63
|
+
layout.addWidget(@transformedRenderAreas[i], 0, i + 1)
|
64
|
+
layout.addWidget(@operationComboBoxes[i], 1, i + 1)
|
65
|
+
end
|
66
|
+
|
67
|
+
setLayout(layout)
|
68
|
+
setupShapes()
|
69
|
+
shapeSelected(0)
|
70
|
+
|
71
|
+
setWindowTitle(tr("Transformations"))
|
72
|
+
end
|
73
|
+
|
74
|
+
def setupShapes()
|
75
|
+
truck = Qt::PainterPath.new
|
76
|
+
truck.fillRule = Qt::WindingFill
|
77
|
+
truck.moveTo(0.0, 87.0)
|
78
|
+
truck.lineTo(0.0, 60.0)
|
79
|
+
truck.lineTo(10.0, 60.0)
|
80
|
+
truck.lineTo(35.0, 35.0)
|
81
|
+
truck.lineTo(100.0, 35.0)
|
82
|
+
truck.lineTo(100.0, 87.0)
|
83
|
+
truck.lineTo(0.0, 87.0)
|
84
|
+
truck.moveTo(17.0, 60.0)
|
85
|
+
truck.lineTo(55.0, 60.0)
|
86
|
+
truck.lineTo(55.0, 40.0)
|
87
|
+
truck.lineTo(37.0, 40.0)
|
88
|
+
truck.lineTo(17.0, 60.0)
|
89
|
+
truck.addEllipse(17.0, 75.0, 25.0, 25.0)
|
90
|
+
truck.addEllipse(63.0, 75.0, 25.0, 25.0)
|
91
|
+
|
92
|
+
clock = Qt::PainterPath.new
|
93
|
+
clock.addEllipse(-50.0, -50.0, 100.0, 100.0)
|
94
|
+
clock.addEllipse(-48.0, -48.0, 96.0, 96.0)
|
95
|
+
clock.moveTo(0.0, 0.0)
|
96
|
+
clock.lineTo(-2.0, -2.0)
|
97
|
+
clock.lineTo(0.0, -42.0)
|
98
|
+
clock.lineTo(2.0, -2.0)
|
99
|
+
clock.lineTo(0.0, 0.0)
|
100
|
+
clock.moveTo(0.0, 0.0)
|
101
|
+
clock.lineTo(2.732, -0.732)
|
102
|
+
clock.lineTo(24.495, 14.142)
|
103
|
+
clock.lineTo(0.732, 2.732)
|
104
|
+
clock.lineTo(0.0, 0.0)
|
105
|
+
|
106
|
+
house = Qt::PainterPath.new
|
107
|
+
house.moveTo(-45.0, -20.0)
|
108
|
+
house.lineTo(0.0, -45.0)
|
109
|
+
house.lineTo(45.0, -20.0)
|
110
|
+
house.lineTo(45.0, 45.0)
|
111
|
+
house.lineTo(-45.0, 45.0)
|
112
|
+
house.lineTo(-45.0, -20.0)
|
113
|
+
house.addRect(15.0, 5.0, 20.0, 35.0)
|
114
|
+
house.addRect(-35.0, -15.0, 25.0, 25.0)
|
115
|
+
|
116
|
+
text = Qt::PainterPath.new
|
117
|
+
font = Qt::Font.new
|
118
|
+
font.pixelSize = 50
|
119
|
+
fontBoundingRect = Qt::FontMetrics.new(font).boundingRect(tr("Qt"))
|
120
|
+
text.addText(-Qt::PointF.new(fontBoundingRect.center()), font, tr("Qt"))
|
121
|
+
|
122
|
+
@shapes = []
|
123
|
+
@shapes.push(clock)
|
124
|
+
@shapes.push(house)
|
125
|
+
@shapes.push(text)
|
126
|
+
@shapes.push(truck)
|
127
|
+
|
128
|
+
connect(@shapeComboBox, SIGNAL('activated(int)'),
|
129
|
+
self, SLOT('shapeSelected(int)'))
|
130
|
+
end
|
131
|
+
|
132
|
+
def operationChanged()
|
133
|
+
operationTable = [ RenderArea::NoTransformation,
|
134
|
+
RenderArea::Rotate,
|
135
|
+
RenderArea::Scale,
|
136
|
+
RenderArea::Translate ]
|
137
|
+
|
138
|
+
operations = []
|
139
|
+
(0...NumTransformedAreas).each do |i|
|
140
|
+
index = @operationComboBoxes[i].currentIndex()
|
141
|
+
operations.push(operationTable[index])
|
142
|
+
@transformedRenderAreas[i].operations = operations
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
def shapeSelected(index)
|
147
|
+
shape = @shapes[index]
|
148
|
+
@originalRenderArea.shape = shape
|
149
|
+
(0...NumTransformedAreas).each do |i|
|
150
|
+
@transformedRenderAreas[i].shape = shape
|
151
|
+
end
|
152
|
+
end
|
153
|
+
end
|