fxruby 1.6.19-x86-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.
- data/LICENSE +456 -0
- data/README +39 -0
- data/doc/apes02.html +21 -0
- data/doc/apes03.html +39 -0
- data/doc/book.html +3 -0
- data/doc/build.html +132 -0
- data/doc/ch03s02.html +23 -0
- data/doc/ch03s03.html +52 -0
- data/doc/ch03s04.html +36 -0
- data/doc/ch03s05.html +60 -0
- data/doc/ch04s02.html +71 -0
- data/doc/ch04s03.html +37 -0
- data/doc/ch04s04.html +72 -0
- data/doc/ch05s02.html +260 -0
- data/doc/ch05s03.html +127 -0
- data/doc/changes.html +777 -0
- data/doc/clipboardtut.html +67 -0
- data/doc/differences.html +190 -0
- data/doc/dragdroptut.html +263 -0
- data/doc/events.html +36 -0
- data/doc/examples.html +104 -0
- data/doc/gems.html +73 -0
- data/doc/goals.html +41 -0
- data/doc/images/babelfish.png +0 -0
- data/doc/images/browser.png +0 -0
- data/doc/images/button.png +0 -0
- data/doc/images/call-chain-example.png +0 -0
- data/doc/images/colordialog.png +0 -0
- data/doc/images/datatarget.png +0 -0
- data/doc/images/dialog.png +0 -0
- data/doc/images/dilbert.png +0 -0
- data/doc/images/dirlist.png +0 -0
- data/doc/images/dropsite-droprejected.png +0 -0
- data/doc/images/foursplit.png +0 -0
- data/doc/images/gltest.png +0 -0
- data/doc/images/glviewer.png +0 -0
- data/doc/images/groupbox.png +0 -0
- data/doc/images/header.png +0 -0
- data/doc/images/hello-with-button.png +0 -0
- data/doc/images/hello-with-icon-1.png +0 -0
- data/doc/images/hello-with-icon-2.png +0 -0
- data/doc/images/hello-with-icon-3.png +0 -0
- data/doc/images/hello-with-tooltip.png +0 -0
- data/doc/images/hello-without-button.png +0 -0
- data/doc/images/hello.png +0 -0
- data/doc/images/hello2.png +0 -0
- data/doc/images/iconlist-bigicons.png +0 -0
- data/doc/images/iconlist-details.png +0 -0
- data/doc/images/image.png +0 -0
- data/doc/images/imageviewer.png +0 -0
- data/doc/images/inheritance.png +0 -0
- data/doc/images/mditest.png +0 -0
- data/doc/images/raabrowser.png +0 -0
- data/doc/images/scribble.png +0 -0
- data/doc/images/shutter.png +0 -0
- data/doc/images/splitter.png +0 -0
- data/doc/images/tabbook.png +0 -0
- data/doc/images/table.png +0 -0
- data/doc/images/tutorial1.png +0 -0
- data/doc/implementation.html +16 -0
- data/doc/infosources.html +33 -0
- data/doc/library.html +30 -0
- data/doc/opengl.html +73 -0
- data/doc/pt01.html +3 -0
- data/doc/pt02.html +3 -0
- data/doc/scintilla.html +36 -0
- data/doc/style.css +247 -0
- data/doc/subversion.html +21 -0
- data/doc/tutorial1.html +90 -0
- data/doc/unicode.html +56 -0
- data/examples/RAA.rb +25 -0
- data/examples/README +53 -0
- data/examples/babelfish.rb +72 -0
- data/examples/bounce.rb +159 -0
- data/examples/browser.rb +191 -0
- data/examples/button.rb +168 -0
- data/examples/charts.rb +35 -0
- data/examples/custom_table_item.rb +170 -0
- data/examples/datatarget.rb +223 -0
- data/examples/dctest.rb +696 -0
- data/examples/dialog.rb +143 -0
- data/examples/dilbert.rb +66 -0
- data/examples/dirlist.rb +63 -0
- data/examples/dragdrop.rb +97 -0
- data/examples/dragsource.rb +80 -0
- data/examples/dropsite.rb +59 -0
- data/examples/foursplit.rb +97 -0
- data/examples/gltest.rb +330 -0
- data/examples/glviewer.rb +576 -0
- data/examples/groupbox.rb +392 -0
- data/examples/header.rb +149 -0
- data/examples/hello.rb +12 -0
- data/examples/hello2.rb +51 -0
- data/examples/iRAA.rb +153 -0
- data/examples/iconlist.rb +92 -0
- data/examples/icons/AngryGuyInBunnySuit.ico +0 -0
- data/examples/icons/FatBot.ico +0 -0
- data/examples/icons/FlippedySwitch.ico +0 -0
- data/examples/icons/LeGoon.ico +0 -0
- data/examples/icons/Net.ico +0 -0
- data/examples/icons/RedMacOS.ico +0 -0
- data/examples/icons/SawBlade.ico +0 -0
- data/examples/icons/backview.png +0 -0
- data/examples/icons/big.png +0 -0
- data/examples/icons/bigfolder.png +0 -0
- data/examples/icons/bigpenguin.png +0 -0
- data/examples/icons/bottomview.png +0 -0
- data/examples/icons/camera.png +0 -0
- data/examples/icons/capbutt.png +0 -0
- data/examples/icons/capnotlast.png +0 -0
- data/examples/icons/capproj.png +0 -0
- data/examples/icons/capround.png +0 -0
- data/examples/icons/colorpal.png +0 -0
- data/examples/icons/copy.png +0 -0
- data/examples/icons/cut.png +0 -0
- data/examples/icons/delimit.png +0 -0
- data/examples/icons/dippy.png +0 -0
- data/examples/icons/double_dash.png +0 -0
- data/examples/icons/filenew.png +0 -0
- data/examples/icons/fileopen.png +0 -0
- data/examples/icons/filesave.png +0 -0
- data/examples/icons/filesaveas.png +0 -0
- data/examples/icons/fonts.png +0 -0
- data/examples/icons/fox.png +0 -0
- data/examples/icons/foxicon.png +0 -0
- data/examples/icons/frontview.png +0 -0
- data/examples/icons/gem_big.png +0 -0
- data/examples/icons/gem_small.png +0 -0
- data/examples/icons/hello2.png +0 -0
- data/examples/icons/help.png +0 -0
- data/examples/icons/indent.png +0 -0
- data/examples/icons/jbevel.png +0 -0
- data/examples/icons/jmiter.png +0 -0
- data/examples/icons/jround.png +0 -0
- data/examples/icons/kill.png +0 -0
- data/examples/icons/leftview.png +0 -0
- data/examples/icons/light.png +0 -0
- data/examples/icons/minidoc.png +0 -0
- data/examples/icons/minifolder.png +0 -0
- data/examples/icons/minifolderopen.png +0 -0
- data/examples/icons/newfolder.png +0 -0
- data/examples/icons/nolight.png +0 -0
- data/examples/icons/onoff_dash.png +0 -0
- data/examples/icons/palette.png +0 -0
- data/examples/icons/parallel.png +0 -0
- data/examples/icons/paste.png +0 -0
- data/examples/icons/pattern.png +0 -0
- data/examples/icons/penguin.png +0 -0
- data/examples/icons/perspective.png +0 -0
- data/examples/icons/printicon.png +0 -0
- data/examples/icons/prop.png +0 -0
- data/examples/icons/redo.png +0 -0
- data/examples/icons/rightview.png +0 -0
- data/examples/icons/saveas.png +0 -0
- data/examples/icons/shutter1.png +0 -0
- data/examples/icons/shutter2.png +0 -0
- data/examples/icons/small.png +0 -0
- data/examples/icons/smoothlight.png +0 -0
- data/examples/icons/solid_line.png +0 -0
- data/examples/icons/tbuplevel.png +0 -0
- data/examples/icons/topview.png +0 -0
- data/examples/icons/undo.png +0 -0
- data/examples/icons/winapp.png +0 -0
- data/examples/icons/zoom.png +0 -0
- data/examples/image.rb +279 -0
- data/examples/imageviewer.rb +509 -0
- data/examples/inputs.rb +83 -0
- data/examples/mditest.rb +180 -0
- data/examples/pig.rb +77 -0
- data/examples/raabrowser.rb +122 -0
- data/examples/ratio.rb +80 -0
- data/examples/rulerview.rb +27 -0
- data/examples/scintilla-test.rb +81 -0
- data/examples/scribble-orig.rb +186 -0
- data/examples/scribble.rb +162 -0
- data/examples/shutter.rb +158 -0
- data/examples/splitter.rb +211 -0
- data/examples/styledtext.rb +82 -0
- data/examples/tabbook.rb +165 -0
- data/examples/table.rb +182 -0
- data/examples/textedit/commands.rb +114 -0
- data/examples/textedit/helpwindow.rb +299 -0
- data/examples/textedit/prefdialog.rb +239 -0
- data/examples/textedit/textedit.rb +1763 -0
- data/examples/unicode.rb +36 -0
- data/ext/fox16/fox16.so +0 -0
- data/index.html +14 -0
- data/lib/fox16/accel_table.rb +70 -0
- data/lib/fox16/aliases.rb +5611 -0
- data/lib/fox16/calendar.rb +217 -0
- data/lib/fox16/chore.rb +105 -0
- data/lib/fox16/colors.rb +280 -0
- data/lib/fox16/core.rb +700 -0
- data/lib/fox16/dict.rb +35 -0
- data/lib/fox16/exceptions_for_fxerror.rb +17 -0
- data/lib/fox16/execute_nonmodal.rb +70 -0
- data/lib/fox16/glgroup.rb +166 -0
- data/lib/fox16/glshapes.rb +456 -0
- data/lib/fox16/input.rb +59 -0
- data/lib/fox16/irb.rb +178 -0
- data/lib/fox16/iterators.rb +420 -0
- data/lib/fox16/keys.rb +1374 -0
- data/lib/fox16/kwargs.rb +2740 -0
- data/lib/fox16/missingdep.rb +14 -0
- data/lib/fox16/pseudokeyboard.rb +40 -0
- data/lib/fox16/pseudomouse.rb +87 -0
- data/lib/fox16/responder.rb +70 -0
- data/lib/fox16/responder2.rb +132 -0
- data/lib/fox16/scintilla.rb +3641 -0
- data/lib/fox16/settings.rb +18 -0
- data/lib/fox16/signal.rb +71 -0
- data/lib/fox16/splashscreen.rb +82 -0
- data/lib/fox16/timeout.rb +136 -0
- data/lib/fox16/undolist.rb +455 -0
- data/lib/fox16/version.rb +9 -0
- data/rdoc-sources/FX4Splitter.rb +156 -0
- data/rdoc-sources/FX7Segment.rb +54 -0
- data/rdoc-sources/FXAccelTable.rb +84 -0
- data/rdoc-sources/FXApp.rb +545 -0
- data/rdoc-sources/FXArrowButton.rb +69 -0
- data/rdoc-sources/FXBMPIcon.rb +67 -0
- data/rdoc-sources/FXBMPImage.rb +30 -0
- data/rdoc-sources/FXBitmap.rb +115 -0
- data/rdoc-sources/FXBitmapFrame.rb +31 -0
- data/rdoc-sources/FXBitmapView.rb +44 -0
- data/rdoc-sources/FXButton.rb +59 -0
- data/rdoc-sources/FXCURCursor.rb +13 -0
- data/rdoc-sources/FXCanvas.rb +18 -0
- data/rdoc-sources/FXCheckButton.rb +58 -0
- data/rdoc-sources/FXChoiceBox.rb +49 -0
- data/rdoc-sources/FXColorBar.rb +48 -0
- data/rdoc-sources/FXColorDialog.rb +37 -0
- data/rdoc-sources/FXColorList.rb +55 -0
- data/rdoc-sources/FXColorRing.rb +49 -0
- data/rdoc-sources/FXColorSelector.rb +65 -0
- data/rdoc-sources/FXColorWell.rb +65 -0
- data/rdoc-sources/FXColorWheel.rb +57 -0
- data/rdoc-sources/FXComboBox.rb +214 -0
- data/rdoc-sources/FXComposite.rb +34 -0
- data/rdoc-sources/FXCursor.rb +67 -0
- data/rdoc-sources/FXDC.rb +720 -0
- data/rdoc-sources/FXDCPrint.rb +127 -0
- data/rdoc-sources/FXDCWindow.rb +33 -0
- data/rdoc-sources/FXDataTarget.rb +66 -0
- data/rdoc-sources/FXDebugTarget.rb +25 -0
- data/rdoc-sources/FXDelegator.rb +23 -0
- data/rdoc-sources/FXDial.rb +107 -0
- data/rdoc-sources/FXDialogBox.rb +32 -0
- data/rdoc-sources/FXDict.rb +79 -0
- data/rdoc-sources/FXDirBox.rb +55 -0
- data/rdoc-sources/FXDirDialog.rb +47 -0
- data/rdoc-sources/FXDirList.rb +149 -0
- data/rdoc-sources/FXDirSelector.rb +64 -0
- data/rdoc-sources/FXDockBar.rb +151 -0
- data/rdoc-sources/FXDockHandler.rb +26 -0
- data/rdoc-sources/FXDockSite.rb +104 -0
- data/rdoc-sources/FXDockTitle.rb +26 -0
- data/rdoc-sources/FXDocument.rb +29 -0
- data/rdoc-sources/FXDragCorner.rb +19 -0
- data/rdoc-sources/FXDrawable.rb +27 -0
- data/rdoc-sources/FXDriveBox.rb +46 -0
- data/rdoc-sources/FXExtentd.rb +85 -0
- data/rdoc-sources/FXExtentf.rb +85 -0
- data/rdoc-sources/FXFileDialog.rb +217 -0
- data/rdoc-sources/FXFileDict.rb +131 -0
- data/rdoc-sources/FXFileList.rb +208 -0
- data/rdoc-sources/FXFileSelector.rb +184 -0
- data/rdoc-sources/FXFileStream.rb +27 -0
- data/rdoc-sources/FXFoldingList.rb +504 -0
- data/rdoc-sources/FXFont.rb +361 -0
- data/rdoc-sources/FXFontDialog.rb +14 -0
- data/rdoc-sources/FXFontSelector.rb +37 -0
- data/rdoc-sources/FXFrame.rb +53 -0
- data/rdoc-sources/FXGIFCursor.rb +50 -0
- data/rdoc-sources/FXGIFIcon.rb +31 -0
- data/rdoc-sources/FXGIFImage.rb +29 -0
- data/rdoc-sources/FXGLCanvas.rb +45 -0
- data/rdoc-sources/FXGLContext.rb +40 -0
- data/rdoc-sources/FXGLObject.rb +75 -0
- data/rdoc-sources/FXGLShape.rb +69 -0
- data/rdoc-sources/FXGLViewer.rb +332 -0
- data/rdoc-sources/FXGLVisual.rb +94 -0
- data/rdoc-sources/FXGradientBar.rb +301 -0
- data/rdoc-sources/FXGroupBox.rb +36 -0
- data/rdoc-sources/FXHeader.rb +411 -0
- data/rdoc-sources/FXHorizontalFrame.rb +29 -0
- data/rdoc-sources/FXICOIcon.rb +65 -0
- data/rdoc-sources/FXICOImage.rb +31 -0
- data/rdoc-sources/FXIcon.rb +38 -0
- data/rdoc-sources/FXIconDict.rb +48 -0
- data/rdoc-sources/FXIconList.rb +450 -0
- data/rdoc-sources/FXIconSource.rb +100 -0
- data/rdoc-sources/FXId.rb +34 -0
- data/rdoc-sources/FXImage.rb +292 -0
- data/rdoc-sources/FXImageFrame.rb +36 -0
- data/rdoc-sources/FXImageView.rb +35 -0
- data/rdoc-sources/FXInputDialog.rb +80 -0
- data/rdoc-sources/FXJPGIcon.rb +70 -0
- data/rdoc-sources/FXJPGImage.rb +38 -0
- data/rdoc-sources/FXKnob.rb +76 -0
- data/rdoc-sources/FXLabel.rb +72 -0
- data/rdoc-sources/FXList.rb +443 -0
- data/rdoc-sources/FXListBox.rb +191 -0
- data/rdoc-sources/FXMDIButton.rb +67 -0
- data/rdoc-sources/FXMDIChild.rb +155 -0
- data/rdoc-sources/FXMDIClient.rb +65 -0
- data/rdoc-sources/FXMainWindow.rb +26 -0
- data/rdoc-sources/FXMatrix.rb +57 -0
- data/rdoc-sources/FXMemoryBuffer.rb +28 -0
- data/rdoc-sources/FXMemoryStream.rb +50 -0
- data/rdoc-sources/FXMenuBar.rb +23 -0
- data/rdoc-sources/FXMenuButton.rb +84 -0
- data/rdoc-sources/FXMenuCaption.rb +53 -0
- data/rdoc-sources/FXMenuCascade.rb +18 -0
- data/rdoc-sources/FXMenuCheck.rb +30 -0
- data/rdoc-sources/FXMenuCommand.rb +26 -0
- data/rdoc-sources/FXMenuPane.rb +13 -0
- data/rdoc-sources/FXMenuRadio.rb +33 -0
- data/rdoc-sources/FXMenuSeparator.rb +21 -0
- data/rdoc-sources/FXMenuTitle.rb +27 -0
- data/rdoc-sources/FXMessageBox.rb +73 -0
- data/rdoc-sources/FXObject.rb +28 -0
- data/rdoc-sources/FXOptionMenu.rb +83 -0
- data/rdoc-sources/FXPCXIcon.rb +63 -0
- data/rdoc-sources/FXPCXImage.rb +31 -0
- data/rdoc-sources/FXPNGIcon.rb +66 -0
- data/rdoc-sources/FXPNGImage.rb +34 -0
- data/rdoc-sources/FXPPMIcon.rb +36 -0
- data/rdoc-sources/FXPPMImage.rb +31 -0
- data/rdoc-sources/FXPacker.rb +63 -0
- data/rdoc-sources/FXPicker.rb +27 -0
- data/rdoc-sources/FXPopup.rb +53 -0
- data/rdoc-sources/FXPrintDialog.rb +36 -0
- data/rdoc-sources/FXProgressBar.rb +57 -0
- data/rdoc-sources/FXProgressDialog.rb +36 -0
- data/rdoc-sources/FXQuatd.rb +164 -0
- data/rdoc-sources/FXQuatf.rb +173 -0
- data/rdoc-sources/FXRGBIcon.rb +64 -0
- data/rdoc-sources/FXRGBImage.rb +31 -0
- data/rdoc-sources/FXRadioButton.rb +70 -0
- data/rdoc-sources/FXRanged.rb +100 -0
- data/rdoc-sources/FXRangef.rb +100 -0
- data/rdoc-sources/FXRealSlider.rb +101 -0
- data/rdoc-sources/FXRealSpinner.rb +140 -0
- data/rdoc-sources/FXRecentFiles.rb +77 -0
- data/rdoc-sources/FXRectangle.rb +149 -0
- data/rdoc-sources/FXRegion.rb +64 -0
- data/rdoc-sources/FXRegistry.rb +56 -0
- data/rdoc-sources/FXReplaceDialog.rb +56 -0
- data/rdoc-sources/FXRootWindow.rb +17 -0
- data/rdoc-sources/FXRuler.rb +130 -0
- data/rdoc-sources/FXRulerView.rb +225 -0
- data/rdoc-sources/FXScintilla.rb +121 -0
- data/rdoc-sources/FXScrollArea.rb +86 -0
- data/rdoc-sources/FXScrollBar.rb +107 -0
- data/rdoc-sources/FXScrollPane.rb +28 -0
- data/rdoc-sources/FXScrollWindow.rb +38 -0
- data/rdoc-sources/FXSearchDialog.rb +24 -0
- data/rdoc-sources/FXSeparator.rb +74 -0
- data/rdoc-sources/FXSettings.rb +248 -0
- data/rdoc-sources/FXShell.rb +8 -0
- data/rdoc-sources/FXShutter.rb +102 -0
- data/rdoc-sources/FXSize.rb +95 -0
- data/rdoc-sources/FXSlider.rb +98 -0
- data/rdoc-sources/FXSphered.rb +80 -0
- data/rdoc-sources/FXSpheref.rb +80 -0
- data/rdoc-sources/FXSpinner.rb +136 -0
- data/rdoc-sources/FXSplashWindow.rb +27 -0
- data/rdoc-sources/FXSplitter.rb +89 -0
- data/rdoc-sources/FXSpring.rb +61 -0
- data/rdoc-sources/FXStatusBar.rb +42 -0
- data/rdoc-sources/FXStatusLine.rb +60 -0
- data/rdoc-sources/FXStream.rb +142 -0
- data/rdoc-sources/FXStringDict.rb +38 -0
- data/rdoc-sources/FXSwitcher.rb +78 -0
- data/rdoc-sources/FXTGAIcon.rb +63 -0
- data/rdoc-sources/FXTGAImage.rb +31 -0
- data/rdoc-sources/FXTIFIcon.rb +70 -0
- data/rdoc-sources/FXTIFImage.rb +37 -0
- data/rdoc-sources/FXTabBar.rb +80 -0
- data/rdoc-sources/FXTabBook.rb +41 -0
- data/rdoc-sources/FXTabItem.rb +58 -0
- data/rdoc-sources/FXTable.rb +975 -0
- data/rdoc-sources/FXText.rb +581 -0
- data/rdoc-sources/FXTextField.rb +151 -0
- data/rdoc-sources/FXToggleButton.rb +70 -0
- data/rdoc-sources/FXToolBar.rb +61 -0
- data/rdoc-sources/FXToolBarGrip.rb +50 -0
- data/rdoc-sources/FXToolBarShell.rb +44 -0
- data/rdoc-sources/FXToolBarTab.rb +74 -0
- data/rdoc-sources/FXToolTip.rb +39 -0
- data/rdoc-sources/FXTopWindow.rb +163 -0
- data/rdoc-sources/FXTranslator.rb +32 -0
- data/rdoc-sources/FXTreeList.rb +514 -0
- data/rdoc-sources/FXTreeListBox.rb +219 -0
- data/rdoc-sources/FXTriStateButton.rb +49 -0
- data/rdoc-sources/FXVec2d.rb +96 -0
- data/rdoc-sources/FXVec2f.rb +96 -0
- data/rdoc-sources/FXVec3d.rb +118 -0
- data/rdoc-sources/FXVec3f.rb +118 -0
- data/rdoc-sources/FXVec4d.rb +139 -0
- data/rdoc-sources/FXVec4f.rb +139 -0
- data/rdoc-sources/FXVerticalFrame.rb +29 -0
- data/rdoc-sources/FXVisual.rb +79 -0
- data/rdoc-sources/FXWindow.rb +725 -0
- data/rdoc-sources/FXWizard.rb +59 -0
- data/rdoc-sources/FXXBMIcon.rb +37 -0
- data/rdoc-sources/FXXBMImage.rb +32 -0
- data/rdoc-sources/FXXPMIcon.rb +65 -0
- data/rdoc-sources/FXXPMImage.rb +31 -0
- data/rdoc-sources/README.rdoc +53 -0
- data/rdoc-sources/fxdefs.rb +90 -0
- data/tests/README +19 -0
- data/tests/TC_FXAccelTable.rb +57 -0
- data/tests/TC_FXApp.rb +16 -0
- data/tests/TC_FXArc.rb +26 -0
- data/tests/TC_FXBMPIcon.rb +15 -0
- data/tests/TC_FXBMPImage.rb +15 -0
- data/tests/TC_FXButton.rb +78 -0
- data/tests/TC_FXCheckButton.rb +57 -0
- data/tests/TC_FXComboBox.rb +63 -0
- data/tests/TC_FXDC.rb +372 -0
- data/tests/TC_FXDCPrint.rb +101 -0
- data/tests/TC_FXDCWindow.rb +23 -0
- data/tests/TC_FXDataTarget.rb +24 -0
- data/tests/TC_FXDialogBox.rb +12 -0
- data/tests/TC_FXDirList.rb +30 -0
- data/tests/TC_FXExtentd.rb +21 -0
- data/tests/TC_FXExtentf.rb +21 -0
- data/tests/TC_FXFileAssoc.rb +62 -0
- data/tests/TC_FXFileStream.rb +89 -0
- data/tests/TC_FXFoldingList.rb +32 -0
- data/tests/TC_FXFont.rb +69 -0
- data/tests/TC_FXFontDesc.rb +58 -0
- data/tests/TC_FXGLGroup.rb +32 -0
- data/tests/TC_FXGLShape.rb +28 -0
- data/tests/TC_FXGLViewer.rb +20 -0
- data/tests/TC_FXGradientBar.rb +89 -0
- data/tests/TC_FXHeader.rb +82 -0
- data/tests/TC_FXHiliteStyle.rb +23 -0
- data/tests/TC_FXIconDict.rb +52 -0
- data/tests/TC_FXIconList.rb +192 -0
- data/tests/TC_FXId.rb +19 -0
- data/tests/TC_FXImage.rb +155 -0
- data/tests/TC_FXLight.rb +33 -0
- data/tests/TC_FXList.rb +116 -0
- data/tests/TC_FXListBox.rb +49 -0
- data/tests/TC_FXMainWindow.rb +19 -0
- data/tests/TC_FXMat4f.rb +228 -0
- data/tests/TC_FXMaterial.rb +89 -0
- data/tests/TC_FXMemoryStream.rb +97 -0
- data/tests/TC_FXMenuCheck.rb +57 -0
- data/tests/TC_FXMenuCommand.rb +12 -0
- data/tests/TC_FXMenuRadio.rb +57 -0
- data/tests/TC_FXMessageBox.rb +25 -0
- data/tests/TC_FXPoint.rb +57 -0
- data/tests/TC_FXQuatf.rb +93 -0
- data/tests/TC_FXRadioButton.rb +57 -0
- data/tests/TC_FXRanged.rb +42 -0
- data/tests/TC_FXRangef.rb +42 -0
- data/tests/TC_FXRectangle.rb +88 -0
- data/tests/TC_FXRegion.rb +54 -0
- data/tests/TC_FXRegistry.rb +27 -0
- data/tests/TC_FXScrollArea.rb +28 -0
- data/tests/TC_FXScrollWindow.rb +28 -0
- data/tests/TC_FXSegment.rb +22 -0
- data/tests/TC_FXSettings.rb +34 -0
- data/tests/TC_FXShell.rb +26 -0
- data/tests/TC_FXSize.rb +54 -0
- data/tests/TC_FXStream.rb +11 -0
- data/tests/TC_FXTable.rb +561 -0
- data/tests/TC_FXTableItem.rb +48 -0
- data/tests/TC_FXText.rb +96 -0
- data/tests/TC_FXTopWindow.rb +32 -0
- data/tests/TC_FXTreeList.rb +100 -0
- data/tests/TC_FXTreeListBox.rb +41 -0
- data/tests/TC_FXUndoList.rb +43 -0
- data/tests/TC_FXVec2d.rb +142 -0
- data/tests/TC_FXVec2f.rb +137 -0
- data/tests/TC_FXVec3d.rb +150 -0
- data/tests/TC_FXVec3f.rb +150 -0
- data/tests/TC_FXVec4f.rb +158 -0
- data/tests/TC_FXViewport.rb +30 -0
- data/tests/TC_FXXBMIcon.rb +15 -0
- data/tests/TC_FXXBMImage.rb +15 -0
- data/tests/TC_FXXPMIcon.rb +15 -0
- data/tests/TC_FXXPMImage.rb +15 -0
- data/tests/TC_Misc.rb +157 -0
- data/tests/TC_downcast.rb +15 -0
- data/tests/TS_All.rb +25 -0
- data/tests/blankpage.ps +166 -0
- data/tests/howdypage.ps +181 -0
- data/tests/stress1.rb +92 -0
- data/tests/stress2.rb +51 -0
- data/tests/stress3.rb +117 -0
- data/tests/testcase.rb +37 -0
- metadata +556 -0
data/tests/howdypage.ps
ADDED
@@ -0,0 +1,181 @@
|
|
1
|
+
%!PS-Adobe-3.0
|
2
|
+
%%Title: Print Job
|
3
|
+
%%Creator: FOX GUI Toolkit Application
|
4
|
+
%%BoundingBox: 72 72 540 720
|
5
|
+
%%Pages: (atend)
|
6
|
+
%%DocumentFonts:
|
7
|
+
%%EndComments
|
8
|
+
%%BeginProlog
|
9
|
+
|
10
|
+
|
11
|
+
% h w x y drawRect
|
12
|
+
/drawRect {
|
13
|
+
newpath moveto dup 0 rlineto exch dup 0 exch
|
14
|
+
rlineto exch neg 0 rlineto neg 0 exch rlineto
|
15
|
+
closepath stroke
|
16
|
+
} def
|
17
|
+
% h w x y fillRect
|
18
|
+
/fillRect {
|
19
|
+
newpath moveto dup 0 rlineto exch dup 0 exch
|
20
|
+
rlineto exch neg 0 rlineto neg 0 exch rlineto
|
21
|
+
closepath fill stroke
|
22
|
+
} def
|
23
|
+
% x y a b drawLine
|
24
|
+
/drawLine {
|
25
|
+
newpath moveto lineto stroke
|
26
|
+
} def
|
27
|
+
% x y ..... npoints drawLines
|
28
|
+
/drawLines {
|
29
|
+
3 1 roll newpath moveto {lineto} repeat stroke
|
30
|
+
} def
|
31
|
+
% x y a b ..... nsegments drawSegmt
|
32
|
+
/drawSegmt {
|
33
|
+
newpath {
|
34
|
+
moveto lineto
|
35
|
+
} repeat stroke
|
36
|
+
} def
|
37
|
+
% x y drawPoint
|
38
|
+
/drawPoint {
|
39
|
+
translate 1 1 scale 8 8 1 [ 8 0 0 8 0 0 ] {<0000>} image
|
40
|
+
} def
|
41
|
+
% centerx centery startAngle endAngle radiusX radiusY drawArc
|
42
|
+
/drawArc {
|
43
|
+
gsave dup 3 1 roll div dup 1 scale 6 -1 roll
|
44
|
+
exch div 5 1 roll 3 -2 roll arc stroke grestore
|
45
|
+
} def
|
46
|
+
% (string) x y height drawText
|
47
|
+
/drawText {
|
48
|
+
gsave findfont exch scalefont setfont moveto
|
49
|
+
show grestore
|
50
|
+
} def
|
51
|
+
/bwproc
|
52
|
+
{ rgbproc
|
53
|
+
dup length 3 idiv string 0 3 0
|
54
|
+
5 -1 roll
|
55
|
+
{ add 2 1 roll 1 sub dup 0 eq
|
56
|
+
{ pop 3 idiv 3 -1 roll dup 4 -1 roll dup
|
57
|
+
3 1 roll 5 -1 roll put 1 add 3 0 }
|
58
|
+
{ 2 1 roll } ifelse
|
59
|
+
} forall
|
60
|
+
pop pop pop
|
61
|
+
} def
|
62
|
+
systemdict /colorimage known not
|
63
|
+
{ /colorimage
|
64
|
+
{ pop pop /rgbproc exch def
|
65
|
+
{ bwproc } image
|
66
|
+
} def
|
67
|
+
} if
|
68
|
+
% Color - r g b C
|
69
|
+
/C { setrgbcolor } bind def
|
70
|
+
% Point - x y r g b P
|
71
|
+
/P { C newpath 0.5 0.0 360.0 arc closepath fill } bind def
|
72
|
+
% Flat Shaded Line - x2 y2 x1 y1 r g b L
|
73
|
+
/L { C newpath moveto lineto stroke } bind def
|
74
|
+
% Smooth-shaded line - x2 y2 r2 g2 b2 x1 y1 r1 g1 b1 SL
|
75
|
+
/SL {
|
76
|
+
/b1 exch def
|
77
|
+
/g1 exch def
|
78
|
+
/r1 exch def
|
79
|
+
/y1 exch def
|
80
|
+
/x1 exch def
|
81
|
+
/b2 exch def
|
82
|
+
/g2 exch def
|
83
|
+
/r2 exch def
|
84
|
+
/y2 exch def
|
85
|
+
/x2 exch def
|
86
|
+
|
87
|
+
b2 b1 sub abs 0.01 gt
|
88
|
+
g2 g1 sub abs 0.005 gt
|
89
|
+
r2 r1 sub abs 0.008 gt
|
90
|
+
or or {
|
91
|
+
/bm b1 b2 add 0.5 mul def
|
92
|
+
/gm g1 g2 add 0.5 mul def
|
93
|
+
/rm r1 r2 add 0.5 mul def
|
94
|
+
/ym y1 y2 add 0.5 mul def
|
95
|
+
/xm x1 x2 add 0.5 mul def
|
96
|
+
|
97
|
+
x1 y1 r1 g1 b1 xm ym rm gm bm SL
|
98
|
+
xm ym rm gm bm x2 y2 r2 g2 b2 SL
|
99
|
+
} {
|
100
|
+
x1 y1 x2 y2 r1 g1 b1 L
|
101
|
+
} ifelse
|
102
|
+
} bind def
|
103
|
+
% Flat-shaded triangle - x3 y3 x2 y2 x1 y1 r g b T
|
104
|
+
/T { C newpath moveto lineto lineto closepath fill } bind def
|
105
|
+
% Smooth-shaded triangle - x3 y3 r3 g3 b3 x2 y2 r2 g2 b2 x1 y1 r1 g1 b1 ST
|
106
|
+
/ST {
|
107
|
+
/b1 exch def
|
108
|
+
/g1 exch def
|
109
|
+
/r1 exch def
|
110
|
+
/y1 exch def
|
111
|
+
/x1 exch def
|
112
|
+
/b2 exch def
|
113
|
+
/g2 exch def
|
114
|
+
/r2 exch def
|
115
|
+
/y2 exch def
|
116
|
+
/x2 exch def
|
117
|
+
/b3 exch def
|
118
|
+
/g3 exch def
|
119
|
+
/r3 exch def
|
120
|
+
/y3 exch def
|
121
|
+
/x3 exch def
|
122
|
+
|
123
|
+
b2 b1 sub abs 0.05 gt
|
124
|
+
g2 g1 sub abs 0.017 gt
|
125
|
+
r2 r1 sub abs 0.032 gt
|
126
|
+
b3 b1 sub abs 0.05 gt
|
127
|
+
g3 g1 sub abs 0.017 gt
|
128
|
+
r3 r1 sub abs 0.032 gt
|
129
|
+
b2 b3 sub abs 0.05 gt
|
130
|
+
g2 g3 sub abs 0.017 gt
|
131
|
+
r2 r3 sub abs 0.032 gt
|
132
|
+
or or or or or or or or {
|
133
|
+
/b12 b1 b2 add 0.5 mul def
|
134
|
+
/g12 g1 g2 add 0.5 mul def
|
135
|
+
/r12 r1 r2 add 0.5 mul def
|
136
|
+
/y12 y1 y2 add 0.5 mul def
|
137
|
+
/x12 x1 x2 add 0.5 mul def
|
138
|
+
|
139
|
+
/b13 b1 b3 add 0.5 mul def
|
140
|
+
/g13 g1 g3 add 0.5 mul def
|
141
|
+
/r13 r1 r3 add 0.5 mul def
|
142
|
+
/y13 y1 y3 add 0.5 mul def
|
143
|
+
/x13 x1 x3 add 0.5 mul def
|
144
|
+
|
145
|
+
/b32 b3 b2 add 0.5 mul def
|
146
|
+
/g32 g3 g2 add 0.5 mul def
|
147
|
+
/r32 r3 r2 add 0.5 mul def
|
148
|
+
/y32 y3 y2 add 0.5 mul def
|
149
|
+
/x32 x3 x2 add 0.5 mul def
|
150
|
+
|
151
|
+
x1 y1 r1 g1 b1 x12 y12 r12 g12 b12 x13 y13 r13 g13 b13
|
152
|
+
x2 y2 r2 g2 b2 x12 y12 r12 g12 b12 x32 y32 r32 g32 b32
|
153
|
+
x3 y3 r3 g3 b3 x32 y32 r32 g32 b32 x13 y13 r13 g13 b13
|
154
|
+
x32 y32 r32 g32 b32 x12 y12 r12 g12 b12 x13 y13 r13 g13 b13
|
155
|
+
ST ST ST ST
|
156
|
+
} {
|
157
|
+
x1 y1 x2 y2 x3 y3 r1 g1 b1 T
|
158
|
+
} ifelse
|
159
|
+
} bind def
|
160
|
+
%%EndProlog
|
161
|
+
%%BeginSetup
|
162
|
+
/#copies 1 def
|
163
|
+
%%EndSetup
|
164
|
+
%%Page: 1
|
165
|
+
%%PageBoundingBox: 72 72 540 720
|
166
|
+
%%BeginPageSetup
|
167
|
+
%%EndPageSetup
|
168
|
+
gsave
|
169
|
+
gsave /helvetica findfont
|
170
|
+
9 scalefont
|
171
|
+
setfont
|
172
|
+
newpath
|
173
|
+
100 692 moveto
|
174
|
+
(Howdy!) show
|
175
|
+
grestore
|
176
|
+
%%PageTrailer
|
177
|
+
showpage
|
178
|
+
grestore
|
179
|
+
%%Trailer
|
180
|
+
%%Pages: 1
|
181
|
+
%%EOF
|
data/tests/stress1.rb
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
#
|
2
|
+
# An FXRuby stress test developed by Gilles Filippini
|
3
|
+
#
|
4
|
+
|
5
|
+
require "fox16"
|
6
|
+
|
7
|
+
include Fox
|
8
|
+
|
9
|
+
# Test case tuning
|
10
|
+
NUMBER_OF_ITEMS = 1000
|
11
|
+
RESTART_FREQUENCY = 20
|
12
|
+
|
13
|
+
# =======================================================================
|
14
|
+
# Tree
|
15
|
+
# =======================================================================
|
16
|
+
class DirTree < FXTreeList
|
17
|
+
def initialize(p)
|
18
|
+
super(p, :opts => TREELIST_SHOWS_LINES|TREELIST_SHOWS_BOXES|TREELIST_ROOT_BOXES|LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
19
|
+
end
|
20
|
+
|
21
|
+
def create
|
22
|
+
super
|
23
|
+
item = appendItem(nil, "root")
|
24
|
+
@currentItem = item
|
25
|
+
expand
|
26
|
+
end
|
27
|
+
|
28
|
+
def expand
|
29
|
+
expandTree(@currentItem, true)
|
30
|
+
listSubDir(@currentItem)
|
31
|
+
end
|
32
|
+
|
33
|
+
# Updating entries of dir
|
34
|
+
def listSubDir(parentItem)
|
35
|
+
entries = (1..NUMBER_OF_ITEMS).collect { |i| i.to_s }
|
36
|
+
entries.each do |entry|
|
37
|
+
item = appendItem(parentItem, entry)
|
38
|
+
@currentItem = item if entry == "1"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# =======================================================================
|
44
|
+
# Application
|
45
|
+
# =======================================================================
|
46
|
+
class Application < FXApp
|
47
|
+
include Responder
|
48
|
+
|
49
|
+
ID_TIMER, ID_LAST = enum(FXApp::ID_LAST, 2)
|
50
|
+
|
51
|
+
def initialize
|
52
|
+
super("FXTreeList Bug (the come back)", "Pini")
|
53
|
+
|
54
|
+
FXMAPFUNC(SEL_TIMEOUT, ID_TIMER, "onCount")
|
55
|
+
|
56
|
+
self.threadsEnabled = false
|
57
|
+
init(ARGV)
|
58
|
+
|
59
|
+
@mainWindow = FXMainWindow.new(self, appName, nil, nil, DECOR_ALL, 0, 0, 400, 600)
|
60
|
+
@dirTree = DirTree.new(@mainWindow)
|
61
|
+
|
62
|
+
@count = 0
|
63
|
+
end
|
64
|
+
|
65
|
+
def create
|
66
|
+
super
|
67
|
+
@mainWindow.show(PLACEMENT_SCREEN)
|
68
|
+
addTimeout(100, self, ID_TIMER)
|
69
|
+
end
|
70
|
+
|
71
|
+
def onCount(sender, sel, ptr)
|
72
|
+
@count += 1
|
73
|
+
puts "count = #{@count}"
|
74
|
+
if @count % RESTART_FREQUENCY == 0
|
75
|
+
@dirTree.clearItems
|
76
|
+
@dirTree.create
|
77
|
+
end
|
78
|
+
@dirTree.expand
|
79
|
+
addTimeout(100, self, ID_TIMER)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
if __FILE__ == $0
|
84
|
+
# Make application
|
85
|
+
application = Application.new
|
86
|
+
|
87
|
+
# Create app
|
88
|
+
application.create()
|
89
|
+
|
90
|
+
# Run
|
91
|
+
application.run()
|
92
|
+
end
|
data/tests/stress2.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'thread'
|
3
|
+
require 'fox16'
|
4
|
+
|
5
|
+
include Fox
|
6
|
+
|
7
|
+
class TC_stress2 < Test::Unit::TestCase
|
8
|
+
def set_up_main_window(theApp)
|
9
|
+
theMainWindow = FXMainWindow.new(theApp, "TC_stress2", nil, nil, DECOR_ALL, 0, 0, 200, 100)
|
10
|
+
@countLabel = FXLabel.new(theMainWindow, "0", nil, LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
11
|
+
theMainWindow
|
12
|
+
end
|
13
|
+
|
14
|
+
def on_timeout(sender, sel, ptr)
|
15
|
+
safeToQuit = false
|
16
|
+
$lock.synchronize {
|
17
|
+
if $count > 1000000
|
18
|
+
# if it were going to crash, it probably would have done
|
19
|
+
# so by now, so it's safe to quit.
|
20
|
+
safeToQuit = true
|
21
|
+
end
|
22
|
+
@countLabel.setText($count.to_s)
|
23
|
+
}
|
24
|
+
if safeToQuit
|
25
|
+
@theApp.handle(@theMainWindow, MKUINT(FXApp::ID_QUIT, SEL_COMMAND), nil)
|
26
|
+
else
|
27
|
+
@theApp.addTimeout(100, method(:on_timeout))
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_run
|
32
|
+
# Set up the counter thread
|
33
|
+
$count = 0
|
34
|
+
$lock = Mutex.new
|
35
|
+
w = Thread.new do
|
36
|
+
loop do
|
37
|
+
$lock.synchronize { $count += 1 }
|
38
|
+
sleep 0
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
# Start the app
|
43
|
+
@theApp = FXApp.new("TC_stress2", "FXRuby")
|
44
|
+
@theMainWindow = set_up_main_window(@theApp)
|
45
|
+
@theApp.create
|
46
|
+
@theMainWindow.show(PLACEMENT_SCREEN)
|
47
|
+
@theApp.addTimeout(100, method(:on_timeout))
|
48
|
+
@theApp.run
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
data/tests/stress3.rb
ADDED
@@ -0,0 +1,117 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'fox16'
|
4
|
+
require 'test/unit'
|
5
|
+
|
6
|
+
include Fox
|
7
|
+
|
8
|
+
class ShutterItem < FXShutterItem
|
9
|
+
def initialize(p, text, icon=nil, opts=0)
|
10
|
+
super(p, text, icon, opts|LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10)
|
11
|
+
button.padTop = 2
|
12
|
+
button.padBottom = 2
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class ShutterButton < FXButton
|
17
|
+
def initialize(p, txt, ic=nil)
|
18
|
+
super(p, txt, ic, nil, 0, BUTTON_TOOLBAR|TEXT_BELOW_ICON|FRAME_THICK|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT)
|
19
|
+
self.backColor = p.backColor
|
20
|
+
self.textColor = FXRGB(255, 255, 255)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
class ShutterWindow < FXMainWindow
|
25
|
+
|
26
|
+
attr_accessor :shutter
|
27
|
+
|
28
|
+
def initialize(app)
|
29
|
+
# Invoke base class initialize first
|
30
|
+
super(app, "Look Out!", nil, nil, DECOR_ALL, 0, 0, 600, 600)
|
31
|
+
|
32
|
+
# Main contents area is split left-to-right
|
33
|
+
splitter = FXSplitter.new(self, (LAYOUT_SIDE_TOP|LAYOUT_FILL_X|
|
34
|
+
LAYOUT_FILL_Y|SPLITTER_TRACKING))
|
35
|
+
|
36
|
+
# Shutter area on the left
|
37
|
+
@shutter = FXShutter.new(splitter, nil, 0,
|
38
|
+
FRAME_SUNKEN|LAYOUT_FILL_X|LAYOUT_FILL_Y,
|
39
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
|
40
|
+
|
41
|
+
shutterItem = ShutterItem.new(@shutter, "Shutter Item 1", nil, LAYOUT_FILL_Y)
|
42
|
+
ShutterButton.new(shutterItem.content, "1-1")
|
43
|
+
ShutterButton.new(shutterItem.content, "1-2")
|
44
|
+
ShutterButton.new(shutterItem.content, "1-3")
|
45
|
+
ShutterButton.new(shutterItem.content, "1-4")
|
46
|
+
ShutterButton.new(shutterItem.content, "1-5")
|
47
|
+
ShutterButton.new(shutterItem.content, "1-6")
|
48
|
+
ShutterButton.new(shutterItem.content, "1-7")
|
49
|
+
|
50
|
+
shutterItem = ShutterItem.new(@shutter, "Shutter Item 2")
|
51
|
+
ShutterButton.new(shutterItem.content, "2-1")
|
52
|
+
ShutterButton.new(shutterItem.content, "2-2")
|
53
|
+
ShutterButton.new(shutterItem.content, "2-3")
|
54
|
+
ShutterButton.new(shutterItem.content, "2-4")
|
55
|
+
ShutterButton.new(shutterItem.content, "2-5")
|
56
|
+
|
57
|
+
shutterItem = ShutterItem.new(@shutter, "Shutter Item 3")
|
58
|
+
ShutterButton.new(shutterItem.content, "3-1")
|
59
|
+
ShutterButton.new(shutterItem.content, "3-2")
|
60
|
+
ShutterButton.new(shutterItem.content, "3-3")
|
61
|
+
|
62
|
+
# Right pane is a switcher
|
63
|
+
# For a real application, each panel in the switcher would have real, working contents...
|
64
|
+
@switcher = FXSwitcher.new(splitter,
|
65
|
+
FRAME_SUNKEN|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0, 0, 0, 0, 0, 0, 0, 0)
|
66
|
+
|
67
|
+
FXLabel.new(@switcher,
|
68
|
+
"Lookout Today!", nil, LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
69
|
+
end
|
70
|
+
|
71
|
+
def create
|
72
|
+
# Create base class
|
73
|
+
super
|
74
|
+
|
75
|
+
# Run the garbage collector now
|
76
|
+
GC.start
|
77
|
+
|
78
|
+
# Safe to drop out any time now...
|
79
|
+
getApp().addChore(getApp(), FXApp::ID_QUIT)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
class TC_stress3 < Test::Unit::TestCase
|
84
|
+
def test_main
|
85
|
+
# Run the program
|
86
|
+
theApp = FXApp.new("Shutter", "FoxTest")
|
87
|
+
shutterWindow = ShutterWindow.new(theApp)
|
88
|
+
theApp.create
|
89
|
+
theApp.run
|
90
|
+
|
91
|
+
#
|
92
|
+
# Check to see if anyone's missing in action.
|
93
|
+
# First, the shutter itself should have three
|
94
|
+
# shutter items as its children.
|
95
|
+
#
|
96
|
+
assert_equal(3, shutterWindow.shutter.numChildren)
|
97
|
+
|
98
|
+
# Each shutter item has two children
|
99
|
+
shutterWindow.shutter.each_child { |c|
|
100
|
+
assert_equal(2, c.numChildren)
|
101
|
+
}
|
102
|
+
|
103
|
+
# First item's content should have 7 children
|
104
|
+
shutterItem1 = shutterWindow.shutter.first
|
105
|
+
assert_equal(7, shutterItem1.content.numChildren)
|
106
|
+
|
107
|
+
# Second item's content should have 5 children
|
108
|
+
shutterItem2 = shutterItem1.next
|
109
|
+
assert_equal(5, shutterItem2.content.numChildren)
|
110
|
+
|
111
|
+
# Third item's content should have 3 children
|
112
|
+
shutterItem3 = shutterItem2.next
|
113
|
+
assert_equal(3, shutterItem3.content.numChildren)
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
|
data/tests/testcase.rb
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'fox16'
|
3
|
+
|
4
|
+
module Fox
|
5
|
+
class TestCase < Test::Unit::TestCase
|
6
|
+
#
|
7
|
+
# Construct an application and main window for this test case's
|
8
|
+
# use, based on the supplied application name.
|
9
|
+
#
|
10
|
+
def setup(*args)
|
11
|
+
unless args.empty?
|
12
|
+
appName = args[0]
|
13
|
+
if FXApp.instance.nil?
|
14
|
+
@theApp = FXApp.new(appName, 'FXRuby')
|
15
|
+
@theApp.init([])
|
16
|
+
else
|
17
|
+
@theApp = FXApp.instance
|
18
|
+
end
|
19
|
+
@theMainWindow = FXMainWindow.new(@theApp, appName)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
# Return a reference to the application
|
24
|
+
def app
|
25
|
+
@theApp
|
26
|
+
end
|
27
|
+
|
28
|
+
# Return a reference to the main window
|
29
|
+
def mainWindow
|
30
|
+
@theMainWindow
|
31
|
+
end
|
32
|
+
|
33
|
+
# Override the base class version of default_test() so that
|
34
|
+
# a test case with no tests doesn't trigger an error.
|
35
|
+
def default_test; end
|
36
|
+
end
|
37
|
+
end
|