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,124 @@
|
|
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 './slidersgroup.rb'
|
27
|
+
|
28
|
+
class Window < Qt::Widget
|
29
|
+
|
30
|
+
def initialize()
|
31
|
+
super
|
32
|
+
@horizontalSliders = SlidersGroup.new(Qt::Horizontal, tr("Horizontal"))
|
33
|
+
@verticalSliders = SlidersGroup.new(Qt::Vertical, tr("Vertical"))
|
34
|
+
|
35
|
+
@stackedWidget = Qt::StackedWidget.new
|
36
|
+
@stackedWidget.addWidget(@horizontalSliders)
|
37
|
+
@stackedWidget.addWidget(@verticalSliders)
|
38
|
+
|
39
|
+
createControls(tr("Controls"))
|
40
|
+
|
41
|
+
connect(@horizontalSliders, SIGNAL('valueChanged(int)'),
|
42
|
+
@verticalSliders, SLOT('value=(int)'))
|
43
|
+
connect(@verticalSliders, SIGNAL('valueChanged(int)'),
|
44
|
+
@valueSpinBox, SLOT('setValue(int)'))
|
45
|
+
connect(@valueSpinBox, SIGNAL('valueChanged(int)'),
|
46
|
+
@horizontalSliders, SLOT('value=(int)'))
|
47
|
+
|
48
|
+
layout = Qt::HBoxLayout.new do |l|
|
49
|
+
l.addWidget(@controlsGroup)
|
50
|
+
l.addWidget(@stackedWidget)
|
51
|
+
end
|
52
|
+
|
53
|
+
setLayout(layout)
|
54
|
+
|
55
|
+
@minimumSpinBox.value = 0
|
56
|
+
@maximumSpinBox.value = 20
|
57
|
+
@valueSpinBox.value = 5
|
58
|
+
|
59
|
+
setWindowTitle(tr("Sliders"))
|
60
|
+
end
|
61
|
+
|
62
|
+
def createControls(title)
|
63
|
+
@controlsGroup = Qt::GroupBox.new(title)
|
64
|
+
|
65
|
+
@minimumLabel = Qt::Label.new(tr("Minimum value:"))
|
66
|
+
@maximumLabel = Qt::Label.new(tr("Maximum value:"))
|
67
|
+
@valueLabel = Qt::Label.new(tr("Current value:"))
|
68
|
+
|
69
|
+
@invertedAppearance = Qt::CheckBox.new(tr("Inverted appearance"))
|
70
|
+
@invertedKeyBindings = Qt::CheckBox.new(tr("Inverted key bindings"))
|
71
|
+
|
72
|
+
@minimumSpinBox = Qt::SpinBox.new do |s|
|
73
|
+
s.range = -100..100
|
74
|
+
s.singleStep = 1
|
75
|
+
end
|
76
|
+
|
77
|
+
@maximumSpinBox = Qt::SpinBox.new do |s|
|
78
|
+
s.range = -100..100
|
79
|
+
s.singleStep = 1
|
80
|
+
end
|
81
|
+
|
82
|
+
@valueSpinBox = Qt::SpinBox.new do |s|
|
83
|
+
s.range = -100..100
|
84
|
+
s.singleStep = 1
|
85
|
+
end
|
86
|
+
|
87
|
+
@orientationCombo = Qt::ComboBox.new
|
88
|
+
@orientationCombo.addItem(tr("Horizontal slider-like widgets"))
|
89
|
+
@orientationCombo.addItem(tr("Vertical slider-like widgets"))
|
90
|
+
|
91
|
+
connect(@orientationCombo, SIGNAL('activated(int)'),
|
92
|
+
@stackedWidget, SLOT('setCurrentIndex(int)'))
|
93
|
+
connect(@minimumSpinBox, SIGNAL('valueChanged(int)'),
|
94
|
+
@horizontalSliders, SLOT('setMinimum(int)'))
|
95
|
+
connect(@minimumSpinBox, SIGNAL('valueChanged(int)'),
|
96
|
+
@verticalSliders, SLOT('setMinimum(int)'))
|
97
|
+
connect(@maximumSpinBox, SIGNAL('valueChanged(int)'),
|
98
|
+
@horizontalSliders, SLOT('setMaximum(int)'))
|
99
|
+
connect(@maximumSpinBox, SIGNAL('valueChanged(int)'),
|
100
|
+
@verticalSliders, SLOT('setMaximum(int)'))
|
101
|
+
connect(@invertedAppearance, SIGNAL('toggled(bool)'),
|
102
|
+
@horizontalSliders, SLOT('invertAppearance(bool)'))
|
103
|
+
connect(@invertedAppearance, SIGNAL('toggled(bool)'),
|
104
|
+
@verticalSliders, SLOT('invertAppearance(bool)'))
|
105
|
+
connect(@invertedKeyBindings, SIGNAL('toggled(bool)'),
|
106
|
+
@horizontalSliders, SLOT('invertKeyBindings(bool)'))
|
107
|
+
connect(@invertedKeyBindings, SIGNAL('toggled(bool)'),
|
108
|
+
@verticalSliders, SLOT('invertKeyBindings(bool)'))
|
109
|
+
|
110
|
+
controlsLayout = Qt::GridLayout.new do |c|
|
111
|
+
c.addWidget(@minimumLabel, 0, 0)
|
112
|
+
c.addWidget(@maximumLabel, 1, 0)
|
113
|
+
c.addWidget(@valueLabel, 2, 0)
|
114
|
+
c.addWidget(@minimumSpinBox, 0, 1)
|
115
|
+
c.addWidget(@maximumSpinBox, 1, 1)
|
116
|
+
c.addWidget(@valueSpinBox, 2, 1)
|
117
|
+
c.addWidget(@invertedAppearance, 0, 2)
|
118
|
+
c.addWidget(@invertedKeyBindings, 1, 2)
|
119
|
+
c.addWidget(@orientationCombo, 3, 0, 1, 3)
|
120
|
+
end
|
121
|
+
|
122
|
+
@controlsGroup.layout = controlsLayout
|
123
|
+
end
|
124
|
+
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,213 @@
|
|
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
|
+
|
27
|
+
class Window < Qt::Widget
|
28
|
+
|
29
|
+
slots 'changePrecision(int)',
|
30
|
+
'setFormatString(const QString&)'
|
31
|
+
|
32
|
+
def initialize(parent = nil)
|
33
|
+
super(parent)
|
34
|
+
createSpinBoxes()
|
35
|
+
createDateTimeEdits()
|
36
|
+
createDoubleSpinBoxes()
|
37
|
+
|
38
|
+
layout = Qt::HBoxLayout.new do |l|
|
39
|
+
l.addWidget(@spinBoxesGroup)
|
40
|
+
l.addWidget(@editsGroup)
|
41
|
+
l.addWidget(@doubleSpinBoxesGroup)
|
42
|
+
end
|
43
|
+
|
44
|
+
setLayout(layout)
|
45
|
+
|
46
|
+
setWindowTitle(tr("Spin Boxes"))
|
47
|
+
end
|
48
|
+
|
49
|
+
def createSpinBoxes()
|
50
|
+
@spinBoxesGroup = Qt::GroupBox.new(tr("Spinboxes"))
|
51
|
+
|
52
|
+
integerLabel = Qt::Label.new(tr("Enter a value between %d and %d:" % [-20, 20]))
|
53
|
+
|
54
|
+
integerSpinBox = Qt::SpinBox.new do |i|
|
55
|
+
i.range = -20..20
|
56
|
+
i.singleStep = 1
|
57
|
+
i.value = 0
|
58
|
+
end
|
59
|
+
|
60
|
+
zoomLabel = Qt::Label.new(tr("Enter a zoom value between %d and %d:" % [0, 1000]))
|
61
|
+
|
62
|
+
zoomSpinBox = Qt::SpinBox.new do |z|
|
63
|
+
z.range = 0..1000
|
64
|
+
z.singleStep = 10
|
65
|
+
z.suffix = "%"
|
66
|
+
z.specialValueText = tr("Automatic")
|
67
|
+
z.value = 100
|
68
|
+
end
|
69
|
+
|
70
|
+
priceLabel = Qt::Label.new(tr("Enter a price between %d and %d:" % [0, 999]))
|
71
|
+
|
72
|
+
@priceSpinBox = Qt::SpinBox.new do |s|
|
73
|
+
s.range = 0..999
|
74
|
+
s.singleStep = 1
|
75
|
+
s.prefix = "$"
|
76
|
+
s.value = 99
|
77
|
+
end
|
78
|
+
|
79
|
+
spinBoxLayout = Qt::VBoxLayout.new do |s|
|
80
|
+
s.addWidget(integerLabel)
|
81
|
+
s.addWidget(integerSpinBox)
|
82
|
+
s.addWidget(zoomLabel)
|
83
|
+
s.addWidget(zoomSpinBox)
|
84
|
+
s.addWidget(priceLabel)
|
85
|
+
s.addWidget(@priceSpinBox)
|
86
|
+
end
|
87
|
+
|
88
|
+
@spinBoxesGroup.layout = spinBoxLayout
|
89
|
+
end
|
90
|
+
|
91
|
+
def createDateTimeEdits()
|
92
|
+
@editsGroup = Qt::GroupBox.new(tr("Date and time spin boxes"))
|
93
|
+
|
94
|
+
dateLabel = Qt::Label.new
|
95
|
+
dateEdit = Qt::DateTimeEdit.new(Qt::Date.currentDate())
|
96
|
+
dateEdit.setDateRange(Qt::Date.new(2005, 1, 1), Qt::Date.new(2010, 12, 31))
|
97
|
+
dateLabel.text = tr("Appointment date (between %s and %s:" %
|
98
|
+
[dateEdit.minimumDate().toString(Qt::ISODate),
|
99
|
+
dateEdit.maximumDate().toString(Qt::ISODate) ] )
|
100
|
+
|
101
|
+
timeLabel = Qt::Label.new
|
102
|
+
timeEdit = Qt::DateTimeEdit.new(Qt::Time.currentTime())
|
103
|
+
timeEdit.setTimeRange(Qt::Time.new(9, 0, 0, 0), Qt::Time.new(16, 30, 0, 0))
|
104
|
+
timeLabel.text = tr("Appointment time (between %s and %s:" %
|
105
|
+
[timeEdit.minimumTime().toString(Qt::ISODate),
|
106
|
+
timeEdit.maximumTime().toString(Qt::ISODate) ] )
|
107
|
+
|
108
|
+
@meetingLabel = Qt::Label.new
|
109
|
+
@meetingEdit = Qt::DateTimeEdit.new(Qt::DateTime.currentDateTime())
|
110
|
+
|
111
|
+
formatLabel = Qt::Label.new(tr("Format string for the meeting date and time:"))
|
112
|
+
formatComboBox = Qt::ComboBox.new do |f|
|
113
|
+
f.addItem("yyyy-MM-dd hh:mm:ss (zzz ms)")
|
114
|
+
f.addItem("hh:mm:ss MM/dd/yyyy")
|
115
|
+
f.addItem("hh:mm:ss dd/MM/yyyy")
|
116
|
+
f.addItem("hh:mm:ss")
|
117
|
+
f.addItem("hh:mm ap")
|
118
|
+
end
|
119
|
+
|
120
|
+
connect(formatComboBox, SIGNAL('activated(const QString&)'),
|
121
|
+
self, SLOT('setFormatString(const QString&)'))
|
122
|
+
|
123
|
+
setFormatString(formatComboBox.currentText())
|
124
|
+
|
125
|
+
editsLayout = Qt::VBoxLayout.new do |l|
|
126
|
+
l.addWidget(dateLabel)
|
127
|
+
l.addWidget(dateEdit)
|
128
|
+
l.addWidget(timeLabel)
|
129
|
+
l.addWidget(timeEdit)
|
130
|
+
l.addWidget(@meetingLabel)
|
131
|
+
l.addWidget(@meetingEdit)
|
132
|
+
l.addWidget(formatLabel)
|
133
|
+
l.addWidget(formatComboBox)
|
134
|
+
end
|
135
|
+
|
136
|
+
@editsGroup.layout = editsLayout
|
137
|
+
end
|
138
|
+
|
139
|
+
def setFormatString(formatString)
|
140
|
+
@meetingEdit.displayFormat = formatString
|
141
|
+
if @meetingEdit.displayedSections() & Qt::DateTimeEdit::DateSections_Mask.to_i
|
142
|
+
@meetingEdit.setDateRange(Qt::Date.new(2004, 11, 1), Qt::Date.new(2005, 11, 30))
|
143
|
+
@meetingLabel.text = tr("Meeting date (between %s and %s:" %
|
144
|
+
[@meetingEdit.minimumDate().toString(Qt::ISODate),
|
145
|
+
@meetingEdit.maximumDate().toString(Qt::ISODate) ] )
|
146
|
+
else
|
147
|
+
@meetingEdit.setTimeRange(Qt::Time.new(0, 7, 20, 0), Qt::Time.new(21, 0, 0, 0))
|
148
|
+
@meetingLabel.text = tr("Meeting time (between %s and %s:" %
|
149
|
+
[@meetingEdit.minimumTime().toString(Qt::ISODate),
|
150
|
+
@meetingEdit.maximumTime().toString(Qt::ISODate) ] )
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
def createDoubleSpinBoxes()
|
155
|
+
@doubleSpinBoxesGroup = Qt::GroupBox.new(tr("Double precision spinboxes"))
|
156
|
+
|
157
|
+
precisionLabel = Qt::Label.new(tr("Number of decimal places to show:"))
|
158
|
+
|
159
|
+
precisionSpinBox = Qt::SpinBox.new do |s|
|
160
|
+
s.range = 0..14
|
161
|
+
s.value = 2
|
162
|
+
end
|
163
|
+
|
164
|
+
doubleLabel = Qt::Label.new(tr("Enter a value between %d and %d:" % [-20, 20]))
|
165
|
+
|
166
|
+
@doubleSpinBox = Qt::DoubleSpinBox.new do |s|
|
167
|
+
s.range = -20.0..20.0
|
168
|
+
s.singleStep = 1.0
|
169
|
+
s.value = 0.0
|
170
|
+
end
|
171
|
+
|
172
|
+
scaleLabel = Qt::Label.new(tr("Enter a scale factor between %2f and %2f:" % [0.0, 1000.0]))
|
173
|
+
|
174
|
+
@scaleSpinBox = Qt::DoubleSpinBox.new do |s|
|
175
|
+
s.range = 0.0..1000.0
|
176
|
+
s.singleStep = 10.0
|
177
|
+
s.suffix = "%"
|
178
|
+
s.specialValueText = tr("No scaling")
|
179
|
+
s.value = 100.0
|
180
|
+
end
|
181
|
+
|
182
|
+
priceLabel = Qt::Label.new(tr("Enter a price between %2f and %2f:" % [0.0, 1000.0]))
|
183
|
+
|
184
|
+
@priceSpinBox = Qt::DoubleSpinBox.new do |s|
|
185
|
+
s.range = 0.0..1000.0
|
186
|
+
s.singleStep = 1.0
|
187
|
+
s.prefix = "$"
|
188
|
+
s.value = 99.99
|
189
|
+
end
|
190
|
+
|
191
|
+
connect(precisionSpinBox, SIGNAL('valueChanged(int)'),
|
192
|
+
self, SLOT('changePrecision(int)'))
|
193
|
+
|
194
|
+
spinBoxLayout = Qt::VBoxLayout.new do |s|
|
195
|
+
s.addWidget(precisionLabel)
|
196
|
+
s.addWidget(precisionSpinBox)
|
197
|
+
s.addWidget(doubleLabel)
|
198
|
+
s.addWidget(@doubleSpinBox)
|
199
|
+
s.addWidget(scaleLabel)
|
200
|
+
s.addWidget(@scaleSpinBox)
|
201
|
+
s.addWidget(priceLabel)
|
202
|
+
s.addWidget(@priceSpinBox)
|
203
|
+
end
|
204
|
+
|
205
|
+
@doubleSpinBoxesGroup.layout = spinBoxLayout
|
206
|
+
end
|
207
|
+
|
208
|
+
def changePrecision(decimals)
|
209
|
+
@doubleSpinBox.decimals = decimals
|
210
|
+
@scaleSpinBox.decimals = decimals
|
211
|
+
@priceSpinBox.decimals = decimals
|
212
|
+
end
|
213
|
+
end
|
@@ -0,0 +1,33 @@
|
|
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 './tetrixwindow.rb'
|
28
|
+
|
29
|
+
app = Qt::Application.new(ARGV)
|
30
|
+
window = TetrixWindow.new
|
31
|
+
window.show
|
32
|
+
Kernel.srand
|
33
|
+
app.exec
|
@@ -0,0 +1,346 @@
|
|
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 './tetrixpiece.rb'
|
27
|
+
|
28
|
+
class TetrixBoard < Qt::Frame
|
29
|
+
|
30
|
+
slots 'start()', 'pause()'
|
31
|
+
|
32
|
+
signals 'scoreChanged(int)', 'levelChanged(int)', 'linesRemovedChanged(int)'
|
33
|
+
|
34
|
+
BoardWidth = 10
|
35
|
+
BoardHeight = 22
|
36
|
+
|
37
|
+
def initialize(parent = nil)
|
38
|
+
super(parent)
|
39
|
+
setFrameStyle(Qt::Frame::Panel | Qt::Frame::Sunken)
|
40
|
+
setFocusPolicy(Qt::StrongFocus)
|
41
|
+
@isStarting = false
|
42
|
+
@isPaused = false
|
43
|
+
@board = []
|
44
|
+
clearBoard()
|
45
|
+
|
46
|
+
@curPiece = TetrixPiece.new
|
47
|
+
@nextPiece = TetrixPiece.new
|
48
|
+
@nextPiece.setRandomShape()
|
49
|
+
@timer = Qt::BasicTimer.new
|
50
|
+
end
|
51
|
+
|
52
|
+
def shapeAt(x, y)
|
53
|
+
return @board[(y * BoardWidth) + x]
|
54
|
+
end
|
55
|
+
|
56
|
+
def setShapeAt(x, y, shape)
|
57
|
+
@board[(y * BoardWidth) + x] = shape
|
58
|
+
end
|
59
|
+
|
60
|
+
def timeoutTime() return 1000 / (1 + @level) end
|
61
|
+
def squareWidth() return contentsRect().width() / BoardWidth end
|
62
|
+
def squareHeight() return contentsRect().height() / BoardHeight end
|
63
|
+
|
64
|
+
def nextPieceLabel=(label)
|
65
|
+
@nextPieceLabel = label
|
66
|
+
end
|
67
|
+
|
68
|
+
def sizeHint()
|
69
|
+
return Qt::Size.new(BoardWidth * 15 + frameWidth() * 2,
|
70
|
+
15 + frameWidth() * 2)
|
71
|
+
end
|
72
|
+
|
73
|
+
def minimumSizeHint()
|
74
|
+
return Qt::Size.new(BoardWidth * 5 + frameWidth() * 2,
|
75
|
+
5 + frameWidth() * 2)
|
76
|
+
end
|
77
|
+
|
78
|
+
def start()
|
79
|
+
if @isPaused
|
80
|
+
return
|
81
|
+
end
|
82
|
+
|
83
|
+
@isStarting = true
|
84
|
+
@isWaitingAfterLine = false
|
85
|
+
@numLinesRemoved = 0
|
86
|
+
@numPiecesDropped = 0
|
87
|
+
@score = 0
|
88
|
+
@level = 1
|
89
|
+
clearBoard()
|
90
|
+
|
91
|
+
emit linesRemovedChanged(@numLinesRemoved)
|
92
|
+
emit scoreChanged(@score)
|
93
|
+
emit levelChanged(@level)
|
94
|
+
|
95
|
+
newPiece()
|
96
|
+
@timer.start(timeoutTime(), self)
|
97
|
+
end
|
98
|
+
|
99
|
+
def pause()
|
100
|
+
if !@isStarting
|
101
|
+
return
|
102
|
+
end
|
103
|
+
|
104
|
+
@isPaused = !@isPaused
|
105
|
+
if @isPaused
|
106
|
+
@timer.stop()
|
107
|
+
else
|
108
|
+
@timer.start(timeoutTime(), self)
|
109
|
+
end
|
110
|
+
update()
|
111
|
+
end
|
112
|
+
|
113
|
+
def paintEvent(e)
|
114
|
+
painter = Qt::Painter.new(self)
|
115
|
+
rect = contentsRect()
|
116
|
+
|
117
|
+
drawFrame(painter)
|
118
|
+
|
119
|
+
if @isPaused
|
120
|
+
painter.drawText(rect, Qt::AlignCenter, tr("Pause"))
|
121
|
+
painter.end
|
122
|
+
return
|
123
|
+
end
|
124
|
+
|
125
|
+
boardTop = rect.bottom() - BoardHeight*squareHeight()
|
126
|
+
|
127
|
+
(0...BoardHeight).each do |i|
|
128
|
+
(0...BoardWidth).each do |j|
|
129
|
+
shape = shapeAt(j, BoardHeight - i - 1)
|
130
|
+
if shape != TetrixPiece::NoShape
|
131
|
+
drawSquare(painter, rect.left() + j * squareWidth(),
|
132
|
+
boardTop + i * squareHeight(), shape)
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
if @curPiece.shape() != TetrixPiece::NoShape
|
138
|
+
(0...4).each do |i|
|
139
|
+
x = @curX + @curPiece.x(i)
|
140
|
+
y = @curY - @curPiece.y(i)
|
141
|
+
drawSquare(painter, rect.left() + x * squareWidth(),
|
142
|
+
boardTop + (BoardHeight - y - 1) * squareHeight(),
|
143
|
+
@curPiece.shape())
|
144
|
+
end
|
145
|
+
end
|
146
|
+
painter.end
|
147
|
+
end
|
148
|
+
|
149
|
+
def keyPressEvent(event)
|
150
|
+
if !@isStarting || @isPaused || @curPiece.shape == TetrixPiece::NoShape
|
151
|
+
super
|
152
|
+
return
|
153
|
+
end
|
154
|
+
|
155
|
+
case event.key
|
156
|
+
when Qt::Key_Left
|
157
|
+
tryMove(@curPiece, @curX - 1, @curY)
|
158
|
+
when Qt::Key_Right
|
159
|
+
tryMove(@curPiece, @curX + 1, @curY)
|
160
|
+
when Qt::Key_Down
|
161
|
+
tryMove(@curPiece.rotatedRight, @curX, @curY)
|
162
|
+
when Qt::Key_Up
|
163
|
+
tryMove(@curPiece.rotatedLeft, @curX, @curY)
|
164
|
+
when Qt::Key_Space
|
165
|
+
dropDown()
|
166
|
+
when Qt::Key_D
|
167
|
+
oneLineDown()
|
168
|
+
else
|
169
|
+
super(event)
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
173
|
+
def timerEvent(event)
|
174
|
+
if event.timerId == @timer.timerId
|
175
|
+
if @isWaitingAfterLine
|
176
|
+
@isWaitingAfterLine = false
|
177
|
+
newPiece()
|
178
|
+
@timer.start(timeoutTime(), self)
|
179
|
+
else
|
180
|
+
oneLineDown()
|
181
|
+
end
|
182
|
+
else
|
183
|
+
super(event)
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
187
|
+
def clearBoard()
|
188
|
+
(0...BoardWidth*BoardHeight).each do |i|
|
189
|
+
@board[i] = TetrixPiece::NoShape
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
def dropDown()
|
194
|
+
dropHeight = 0
|
195
|
+
newY = @curY
|
196
|
+
while newY > 0
|
197
|
+
if !tryMove(@curPiece, @curX, newY - 1)
|
198
|
+
break
|
199
|
+
end
|
200
|
+
newY -= 1
|
201
|
+
dropHeight += 1
|
202
|
+
end
|
203
|
+
pieceDropped(dropHeight)
|
204
|
+
end
|
205
|
+
|
206
|
+
def oneLineDown()
|
207
|
+
if !tryMove(@curPiece, @curX, @curY - 1)
|
208
|
+
pieceDropped(0)
|
209
|
+
end
|
210
|
+
end
|
211
|
+
|
212
|
+
def pieceDropped(dropHeight)
|
213
|
+
(0...4).each do |i|
|
214
|
+
x = @curX + @curPiece.x(i)
|
215
|
+
y = @curY - @curPiece.y(i)
|
216
|
+
setShapeAt(x, y, @curPiece.shape())
|
217
|
+
end
|
218
|
+
|
219
|
+
@numPiecesDropped += 1
|
220
|
+
if @numPiecesDropped % 25 == 0
|
221
|
+
@level += 1
|
222
|
+
@timer.start(timeoutTime(), self)
|
223
|
+
emit levelChanged(@level)
|
224
|
+
end
|
225
|
+
|
226
|
+
@score += dropHeight + 7
|
227
|
+
emit scoreChanged(@score)
|
228
|
+
removeFullLines()
|
229
|
+
|
230
|
+
if !@isWaitingAfterLine
|
231
|
+
newPiece()
|
232
|
+
end
|
233
|
+
end
|
234
|
+
|
235
|
+
def removeFullLines()
|
236
|
+
numFullLines = 0
|
237
|
+
(BoardHeight - 1).downto(0) do |i|
|
238
|
+
lineIsFull = true
|
239
|
+
|
240
|
+
(0...BoardWidth).each do |j|
|
241
|
+
if shapeAt(j, i) == TetrixPiece::NoShape
|
242
|
+
lineIsFull = false
|
243
|
+
break
|
244
|
+
end
|
245
|
+
end
|
246
|
+
|
247
|
+
if lineIsFull
|
248
|
+
numFullLines += 1
|
249
|
+
(i...BoardHeight).each do |k|
|
250
|
+
(0...BoardWidth).each do |j|
|
251
|
+
setShapeAt(j, k, shapeAt(j, k + 1))
|
252
|
+
end
|
253
|
+
end
|
254
|
+
(0...BoardWidth).each do |j|
|
255
|
+
setShapeAt(j, BoardHeight - 1, TetrixPiece::NoShape)
|
256
|
+
end
|
257
|
+
end
|
258
|
+
end
|
259
|
+
|
260
|
+
if numFullLines > 0
|
261
|
+
@numLinesRemoved += numFullLines
|
262
|
+
@score += 10 * numFullLines
|
263
|
+
emit linesRemovedChanged(@numLinesRemoved)
|
264
|
+
emit scoreChanged(@score)
|
265
|
+
|
266
|
+
@timer.start(500, self)
|
267
|
+
@isWaitingAfterLine = true
|
268
|
+
@curPiece.shape = TetrixPiece::NoShape
|
269
|
+
update()
|
270
|
+
end
|
271
|
+
end
|
272
|
+
|
273
|
+
def newPiece()
|
274
|
+
@curPiece = @nextPiece
|
275
|
+
@nextPiece.setRandomShape()
|
276
|
+
showNextPiece()
|
277
|
+
@curX = BoardWidth / 2 + 1
|
278
|
+
@curY = BoardHeight - 1 + @curPiece.minY()
|
279
|
+
|
280
|
+
if !tryMove(@curPiece, @curX, @curY)
|
281
|
+
@curPiece.shape = TetrixPiece::NoShape
|
282
|
+
@timer.stop()
|
283
|
+
@isStarting = false
|
284
|
+
end
|
285
|
+
end
|
286
|
+
|
287
|
+
def showNextPiece()
|
288
|
+
if @nextPieceLabel.nil?
|
289
|
+
return
|
290
|
+
end
|
291
|
+
|
292
|
+
dx = @nextPiece.maxX() - @nextPiece.minX() + 1
|
293
|
+
dy = @nextPiece.maxY() - @nextPiece.minY() + 1
|
294
|
+
|
295
|
+
pixmap = Qt::Pixmap.new(dx * squareWidth(), dy * squareHeight())
|
296
|
+
painter = Qt::Painter.new(pixmap)
|
297
|
+
painter.fillRect(pixmap.rect(), @nextPieceLabel.palette().background())
|
298
|
+
|
299
|
+
(0...4).each do |i|
|
300
|
+
x = @nextPiece.x(i) - @nextPiece.minX()
|
301
|
+
y = @nextPiece.y(i) - @nextPiece.minY()
|
302
|
+
drawSquare(painter, x * squareWidth(), y * squareHeight(),
|
303
|
+
@nextPiece.shape())
|
304
|
+
end
|
305
|
+
@nextPieceLabel.pixmap = pixmap
|
306
|
+
painter.end
|
307
|
+
end
|
308
|
+
|
309
|
+
def tryMove(newPiece, newX, newY)
|
310
|
+
(0...4).each do |i|
|
311
|
+
x = newX + newPiece.x(i)
|
312
|
+
y = newY - newPiece.y(i)
|
313
|
+
if x < 0 || x >= BoardWidth || y < 0 || y >= BoardHeight
|
314
|
+
return false
|
315
|
+
end
|
316
|
+
if shapeAt(x, y) != TetrixPiece::NoShape
|
317
|
+
return false
|
318
|
+
end
|
319
|
+
end
|
320
|
+
|
321
|
+
@curPiece = newPiece
|
322
|
+
@curX = newX
|
323
|
+
@curY = newY
|
324
|
+
update()
|
325
|
+
return true
|
326
|
+
end
|
327
|
+
|
328
|
+
def drawSquare(painter, x, y, shape)
|
329
|
+
colorTable = [ 0x000000, 0xCC6666, 0x66CC66, 0x6666CC,
|
330
|
+
0xCCCC66, 0xCC66CC, 0x66CCCC, 0xDAAA00 ]
|
331
|
+
|
332
|
+
color = Qt::Color.fromRgb(colorTable[shape])
|
333
|
+
painter.fillRect(x + 1, y + 1, squareWidth() - 2, squareHeight() - 2,
|
334
|
+
Qt::Brush.new(color))
|
335
|
+
|
336
|
+
painter.pen = color.light
|
337
|
+
painter.drawLine(x, y + squareHeight() - 1, x, y)
|
338
|
+
painter.drawLine(x, y, x + squareWidth() - 1, y)
|
339
|
+
|
340
|
+
painter.pen = color.dark
|
341
|
+
painter.drawLine(x + 1, y + squareHeight() - 1,
|
342
|
+
x + squareWidth() - 1, y + squareHeight() - 1)
|
343
|
+
painter.drawLine(x + squareWidth() - 1, y + squareHeight() - 1,
|
344
|
+
x + squareWidth() - 1, y + 1)
|
345
|
+
end
|
346
|
+
end
|