fxruby 1.6.14-universal-darwin-9
Sign up to get free protection for your applications and to get access to all the features.
- 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 +697 -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 +93 -0
- data/examples/bounce.rb +159 -0
- data/examples/browser.rb +191 -0
- data/examples/button.rb +168 -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.bundle +0 -0
- data/lib/fox16/aliases.rb +5598 -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 +681 -0
- data/lib/fox16/dict.rb +35 -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 +371 -0
- data/lib/fox16/keys.rb +1374 -0
- data/lib/fox16/kwargs.rb +2736 -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 +131 -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 +102 -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 +211 -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 +33 -0
- data/rdoc-sources/FXHeader.rb +408 -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 +447 -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 +77 -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 +69 -0
- data/rdoc-sources/FXList.rb +440 -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 +50 -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 +72 -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 +967 -0
- data/rdoc-sources/FXText.rb +578 -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 +36 -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 +113 -0
- data/rdoc-sources/FXVec3f.rb +113 -0
- data/rdoc-sources/FXVec4d.rb +129 -0
- data/rdoc-sources/FXVec4f.rb +129 -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 +43 -0
- data/tests/TC_FXApp.rb +15 -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 +72 -0
- data/tests/TC_FXCheckButton.rb +57 -0
- data/tests/TC_FXComboBox.rb +52 -0
- data/tests/TC_FXDC.rb +372 -0
- data/tests/TC_FXDCPrint.rb +102 -0
- data/tests/TC_FXDCWindow.rb +23 -0
- data/tests/TC_FXDataTarget.rb +24 -0
- data/tests/TC_FXDirList.rb +30 -0
- data/tests/TC_FXFileAssoc.rb +62 -0
- data/tests/TC_FXFileStream.rb +90 -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_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_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_FXPoint.rb +57 -0
- data/tests/TC_FXQuatf.rb +77 -0
- data/tests/TC_FXRadioButton.rb +57 -0
- data/tests/TC_FXRangef.rb +48 -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 +368 -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/output.ps +166 -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
- data/web/community.html +94 -0
- data/web/documentation.html +100 -0
- data/web/downloads.html +114 -0
- data/web/index.html +96 -0
- metadata +550 -0
@@ -0,0 +1,67 @@
|
|
1
|
+
module Fox
|
2
|
+
#
|
3
|
+
# The BMP Icon class is a convenience class for working with icons in the
|
4
|
+
# Microsoft Bitmap (.bmp) graphics file format. This makes it possible to
|
5
|
+
# use resources created with Windows development tools inside FOX without
|
6
|
+
# need for graphics file format translators. The bitmap loaded handles
|
7
|
+
# 1, 4, and 8 bit paletted bitmaps, 16 and 24 bit RGB bitmaps, and
|
8
|
+
# 32 bit RGBA bitmaps.
|
9
|
+
#
|
10
|
+
class FXBMPIcon < FXIcon
|
11
|
+
#
|
12
|
+
# Return the suggested file extension for this image type ("bmp").
|
13
|
+
#
|
14
|
+
def FXBMPIcon.fileExt; end
|
15
|
+
|
16
|
+
#
|
17
|
+
# Return the MIME type for this image type
|
18
|
+
#
|
19
|
+
def FXBMPIcon.mimeType; end
|
20
|
+
|
21
|
+
#
|
22
|
+
# Return an initialized FXBMPIcon instance.
|
23
|
+
#
|
24
|
+
# ==== Parameters:
|
25
|
+
#
|
26
|
+
# +a+:: an application instance [FXApp]
|
27
|
+
# +pix+:: a memory buffer formatted in BMP file format [String]
|
28
|
+
# +clr+:: transparency color [FXColor]
|
29
|
+
# +opts+:: options [Integer]
|
30
|
+
# +width+:: width [Integer]
|
31
|
+
# +height+:: height [Integer]
|
32
|
+
#
|
33
|
+
def initialize(a, pix=nil, clr=FXRGB(192,192,192), opts=0, width=1, height=1) # :yields: theBMPIcon
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
#
|
38
|
+
# Load a BMP file from a stream.
|
39
|
+
# If successful, returns an array containing the image pixel data (as a
|
40
|
+
# String), the transparency color, the image width and the image height.
|
41
|
+
# If it fails, the function returns +nil+.
|
42
|
+
#
|
43
|
+
# ==== Parameters:
|
44
|
+
#
|
45
|
+
# +store+:: stream from which to read the file data [FXStream]
|
46
|
+
#
|
47
|
+
def Fox.fxloadBMP(store); end
|
48
|
+
|
49
|
+
#
|
50
|
+
# Save a BMP image to a stream.
|
51
|
+
# Returns +true+ on success, +false+ on failure.
|
52
|
+
#
|
53
|
+
# ==== Parameters:
|
54
|
+
#
|
55
|
+
# +store+:: stream to which to write the image data [FXStream]
|
56
|
+
# +data+:: the image pixel data [String]
|
57
|
+
# +transp+:: transparency color [FXColor]
|
58
|
+
# +width+:: width [Integer]
|
59
|
+
# +height+:: height [Integer]
|
60
|
+
#
|
61
|
+
def Fox.fxsaveBMP(store, data, transp, width, height); end
|
62
|
+
|
63
|
+
#
|
64
|
+
# Return +true+ if _store_ (an FXStream instance) contains a BMP image.
|
65
|
+
#
|
66
|
+
def Fox.fxcheckBMP(store); end
|
67
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Fox
|
2
|
+
#
|
3
|
+
# Microsoft Bitmap image.
|
4
|
+
#
|
5
|
+
class FXBMPImage < FXImage
|
6
|
+
#
|
7
|
+
# Return the suggested file extension for this image type ("bmp").
|
8
|
+
#
|
9
|
+
def FXBMPImage.fileExt; end
|
10
|
+
|
11
|
+
#
|
12
|
+
# Return the MIME type for this image type
|
13
|
+
#
|
14
|
+
def FXBMPImage.mimeType; end
|
15
|
+
|
16
|
+
#
|
17
|
+
# Return an initialized FXBMPImage instance.
|
18
|
+
#
|
19
|
+
# ==== Parameters:
|
20
|
+
#
|
21
|
+
# +a+:: an application instance [FXApp]
|
22
|
+
# +pix+:: a memory buffer formatted in BMP file format [String]
|
23
|
+
# +opts+:: options [Integer]
|
24
|
+
# +width+:: width [Integer]
|
25
|
+
# +height+:: height [Integer]
|
26
|
+
#
|
27
|
+
def initialize(a, pix=nil, opts=0, width=1, height=1) # :yields: theBMPImage
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,115 @@
|
|
1
|
+
module Fox
|
2
|
+
#
|
3
|
+
# A bitmap is a rectangular array of pixels.
|
4
|
+
# It supports two representations of these pixels: a client-side pixel buffer,
|
5
|
+
# and a server-side pixmap which is stored in an organization directly compatible
|
6
|
+
# with the screen, for fast drawing onto the device. The server-side representation
|
7
|
+
# is not directly accessible from the current process at it lives in the process
|
8
|
+
# of the X server or GDI (on Microsoft Windows).
|
9
|
+
# The client-side pixel array is of size height x (width+7)/8 bytes; in other
|
10
|
+
# words, 8 pixels packed into a single byte, starting with bit zero on the left.
|
11
|
+
#
|
12
|
+
# === Image rendering hints
|
13
|
+
#
|
14
|
+
# +BITMAP_KEEP+:: Keep pixel data in client
|
15
|
+
# +BITMAP_OWNED+:: Pixel data is owned by image
|
16
|
+
# +BITMAP_SHMI+:: Using shared memory image
|
17
|
+
# +BITMAP_SHMP+:: Using shared memory pixmap
|
18
|
+
#
|
19
|
+
class FXBitmap < FXDrawable
|
20
|
+
|
21
|
+
alias data getData
|
22
|
+
|
23
|
+
#
|
24
|
+
# Return an initialized FXBitmap instance.
|
25
|
+
# If a client-side pixel buffer (the _pixels_ argument) has been specified,
|
26
|
+
# the bitmap does not own that pixel buffer unless the +BITMAP_OWNED+ flag
|
27
|
+
# is set. If the +BITMAP_OWNED+ flag _is_ set, but a +nil+ value for _pixels_
|
28
|
+
# is passed in, a pixel buffer will be automatically created and will be
|
29
|
+
# owned by the bitmap. The flags +BITMAP_SHMI+ and +BITMAP_SHMP+ may be
|
30
|
+
# specified for large bitmaps to instruct FXBitmap#render to use shared
|
31
|
+
# memory to communicate with the server.
|
32
|
+
#
|
33
|
+
def initialize(app, pixels=nil, opts=0, width=1, height=1) # :yields: theBitmap
|
34
|
+
end
|
35
|
+
|
36
|
+
#
|
37
|
+
# Populate the bitmap with new pixel data of the same size; it will assume
|
38
|
+
# ownership of the pixel data if the +BITMAP_OWNED+ option is passed in the _opts_.
|
39
|
+
# The server-side representation of the image, if it exists, is not updated;
|
40
|
+
# to update ther server-side representation, call #render.
|
41
|
+
#
|
42
|
+
def setData(pix, opts=0); end
|
43
|
+
|
44
|
+
#
|
45
|
+
# Populate the bitmap with new pixel data of a new size; it will assume ownership
|
46
|
+
# of the pixel data if the +BITMAP_OWNED+ option is passed in the _opts_. The size of the server-
|
47
|
+
# side representation of the image, if it exists, is adjusted but the contents are
|
48
|
+
# not updated; to update the server-side representation, call #render.
|
49
|
+
#
|
50
|
+
def setData(pix, opts, w, h); end
|
51
|
+
|
52
|
+
# Return the pixel data.
|
53
|
+
def getData(); end
|
54
|
+
|
55
|
+
# Return the option flags.
|
56
|
+
def options; end
|
57
|
+
|
58
|
+
# Set the options.
|
59
|
+
def options=(opts); end
|
60
|
+
|
61
|
+
# Retrieve pixels from the server-side bitmap.
|
62
|
+
def restore; end
|
63
|
+
|
64
|
+
# Render the server-side representation of the bitmap from the client-side pixels.
|
65
|
+
def render() ; end
|
66
|
+
|
67
|
+
#
|
68
|
+
# Release the client-side pixels buffer and free it if it was owned.
|
69
|
+
# If it is not owned, the image just forgets about the buffer.
|
70
|
+
#
|
71
|
+
def release(); end
|
72
|
+
|
73
|
+
#
|
74
|
+
# Resize both client-side and server-side representations (if any) to the
|
75
|
+
# given width and height. The new representations typically contain garbage
|
76
|
+
# after this operation and need to be re-filled.
|
77
|
+
#
|
78
|
+
def resize(w, h); end
|
79
|
+
|
80
|
+
# Save pixel data only
|
81
|
+
def savePixels(stream); end
|
82
|
+
|
83
|
+
# Load pixel data from a stream
|
84
|
+
def loadPixels(stream); end
|
85
|
+
|
86
|
+
# Get pixel state (either +true+ or +false+) at (_x_, _y_)
|
87
|
+
def getPixel(x, y) ; end
|
88
|
+
|
89
|
+
# Change pixel at (_x_, _y_), where _color_ is either +true+ or +false+.
|
90
|
+
def setPixel(x, y, color) ; end
|
91
|
+
|
92
|
+
#
|
93
|
+
# Rescale pixels image to the specified width and height; this calls
|
94
|
+
# #resize to adjust the client and server side representations.
|
95
|
+
#
|
96
|
+
def scale(w, h); end
|
97
|
+
|
98
|
+
# Mirror the bitmap horizontally and/or vertically
|
99
|
+
def mirror(horizontal, vertical); end
|
100
|
+
|
101
|
+
# Rotate bitmap by _degrees_ degrees (counter-clockwise)
|
102
|
+
def rotate(degrees); end
|
103
|
+
|
104
|
+
#
|
105
|
+
# Crop bitmap to given rectangle; this calls #resize to adjust the client
|
106
|
+
# and server side representations. The new bitmap may be smaller or larger
|
107
|
+
# than the old one; blank areas are filled with _color_. There must be at
|
108
|
+
# least one pixel of overlap between the old and the new bitmap.
|
109
|
+
#
|
110
|
+
def crop(x, y, w, h, color=false); end
|
111
|
+
|
112
|
+
# Fill bitmap with uniform value
|
113
|
+
def fill(color); end
|
114
|
+
end
|
115
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Fox
|
2
|
+
#
|
3
|
+
# The bitmap frame is a simple frame widget displaying an monochrome bitmap
|
4
|
+
# image; the bitmap is not owned by the bitmap frame so it must be explicitly
|
5
|
+
# deleted elsewhere.
|
6
|
+
#
|
7
|
+
class FXBitmapFrame < FXFrame
|
8
|
+
|
9
|
+
# The current image being displayed [FXBitmap]
|
10
|
+
attr_accessor :bitmap
|
11
|
+
|
12
|
+
# The color used for the "on" bits in the bitmap [FXColor]
|
13
|
+
attr_accessor :onColor
|
14
|
+
|
15
|
+
# The color used for the "off" bits in the bitmap [FXColor]
|
16
|
+
attr_accessor :offColor
|
17
|
+
|
18
|
+
#
|
19
|
+
# The current justification mode, some combination of the flags
|
20
|
+
# +JUSTIFY_LEFT+, +JUSTIFY_RIGHT+, +JUSTIFY_TOP+ and +JUSTIFY_BOTTOM+
|
21
|
+
# [Integer]
|
22
|
+
#
|
23
|
+
attr_accessor :justify
|
24
|
+
|
25
|
+
#
|
26
|
+
# Return an initialized FXBitmapFrame instance.
|
27
|
+
#
|
28
|
+
def initialize(p, bmp, opts=FRAME_SUNKEN|FRAME_THICK, x=0, y=0, width=0, height=0, padLeft=0, padRight=0, padTop=0, padBottom=0) # :yields: theBitmapFrame
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module Fox
|
2
|
+
#
|
3
|
+
# The Bitmap View widget display a scrollable view of a monochrome bitmap image;
|
4
|
+
# the bitmap is not owned by the bitmap frame so it must be explicitly deleted
|
5
|
+
# elsewhere. Thus, a single bitmap image can be displayed inside multiple bitmap
|
6
|
+
# view widgets.
|
7
|
+
#
|
8
|
+
# === Bitmap alignment styles
|
9
|
+
#
|
10
|
+
# +BITMAPVIEW_NORMAL+:: Normal mode is centered
|
11
|
+
# +BITMAPVIEW_CENTER_X+:: Centered horizontally
|
12
|
+
# +BITMAPVIEW_LEFT+:: Left-aligned
|
13
|
+
# +BITMAPVIEW_RIGHT+:: Right-aligned
|
14
|
+
# +BITMAPVIEW_CENTER_Y+:: Centered vertically
|
15
|
+
# +BITMAPVIEW_TOP+:: Top-aligned
|
16
|
+
# +BITMAPVIEW_BOTTOM+:: Bottom-aligned
|
17
|
+
#
|
18
|
+
# === Events
|
19
|
+
#
|
20
|
+
# +SEL_RIGHTBUTTONPRESS+:: sent when the right mouse button goes down; the message data is an FXEvent instance.
|
21
|
+
# +SEL_RIGHTBUTTONRELEASE+:: sent when the right mouse button goes up; the message data is an FXEvent instance.
|
22
|
+
#
|
23
|
+
class FXBitmapView < FXScrollArea
|
24
|
+
|
25
|
+
# The bitmap [FXBitmap]
|
26
|
+
attr_accessor :bitmap
|
27
|
+
|
28
|
+
# The color used for the "on" bits in the bitmap [FXColor]
|
29
|
+
attr_accessor :onColor
|
30
|
+
|
31
|
+
# The color used for the "off" bits in the bitmap [FXColor]
|
32
|
+
attr_accessor :offColor
|
33
|
+
|
34
|
+
# Current alignment [Integer]
|
35
|
+
attr_accessor :alignment
|
36
|
+
|
37
|
+
#
|
38
|
+
# Return an initialized FXBitmapView instance.
|
39
|
+
#
|
40
|
+
def initialize(p, bmp=nil, target=nil, selector=0, opts=0, x=0, y=0, width=0, height=0) # :yields: theBitmapView
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
@@ -0,0 +1,59 @@
|
|
1
|
+
module Fox
|
2
|
+
#
|
3
|
+
# A button provides a push button, with optional icon and/or text label.
|
4
|
+
# When pressed, the button widget sends a <tt>SEL_COMMAND</tt> to its target.
|
5
|
+
# Passing the <tt>BUTTON_TOOLBAR</tt> style option gives buttons a "flat" look, and
|
6
|
+
# causes the edge of the button to be raised when the cursor moves over it.
|
7
|
+
# Passing <tt>BUTTON_DEFAULT</tt> allows the button to become the default button in
|
8
|
+
# a dialog, when the focus moves to it. The default widget in a dialog
|
9
|
+
# is the widget which will accept the _Return_ key when it is pressed.
|
10
|
+
# The <tt>BUTTON_INITIAL</tt> flag makes the button the default widget when the
|
11
|
+
# focus moves to a widget which can not itself be a default widget.
|
12
|
+
# There should be only a single button in the dialog which is the
|
13
|
+
# initial default; typically this is the _OK_ or _Close_ button.
|
14
|
+
# The option <tt>BUTTON_AUTOGRAY</tt> (<tt>BUTTON_AUTOHIDE</tt>) causes the button to be grayed
|
15
|
+
# out (hidden) if its handler does not respond to the <tt>SEL_UPDATE</tt> message.
|
16
|
+
# This is useful when messages are delegated, for example when using a
|
17
|
+
# multiple document interface, where the ultimate destination of a message
|
18
|
+
# can be changed.
|
19
|
+
#
|
20
|
+
# === Events
|
21
|
+
#
|
22
|
+
# The following messages are sent by FXButton to its target:
|
23
|
+
#
|
24
|
+
# +SEL_KEYPRESS+:: sent when a key goes down; the message data is an FXEvent instance.
|
25
|
+
# +SEL_KEYRELEASE+:: sent when a key goes up; the message data is an FXEvent instance.
|
26
|
+
# +SEL_LEFTBUTTONPRESS+:: sent when the left mouse button goes down; the message data is an FXEvent instance.
|
27
|
+
# +SEL_LEFTBUTTONRELEASE+:: sent when the left mouse button goes up; the message data is an FXEvent instance.
|
28
|
+
# +SEL_COMMAND+:: sent when the button is clicked.
|
29
|
+
#
|
30
|
+
# === Button state bits
|
31
|
+
#
|
32
|
+
# +STATE_UP+:: Button is up
|
33
|
+
# +STATE_DOWN+:: Button is down
|
34
|
+
# +STATE_ENGAGED+:: Button is engaged
|
35
|
+
# +STATE_UNCHECKED+:: Same as +STATE_UP+ (used for check buttons or radio buttons)
|
36
|
+
# +STATE_CHECKED+:: Same as +STATE_ENGAGED+ (used for check buttons or radio buttons)
|
37
|
+
#
|
38
|
+
# === Button flags
|
39
|
+
#
|
40
|
+
# +BUTTON_AUTOGRAY+:: Automatically gray out when not updated
|
41
|
+
# +BUTTON_AUTOHIDE+:: Automatically hide button when not updated
|
42
|
+
# +BUTTON_TOOLBAR+:: Toolbar style button [flat look]
|
43
|
+
# +BUTTON_DEFAULT+:: May become default button when receiving focus
|
44
|
+
# +BUTTON_INITIAL+:: This button is the initial default button
|
45
|
+
# +BUTTON_NORMAL+:: Default button flags (<tt>FRAME_RAISED|FRAME_THICK|JUSTIFY_NORMAL|ICON_BEFORE_TEXT</tt>)
|
46
|
+
#
|
47
|
+
class FXButton < FXLabel
|
48
|
+
|
49
|
+
# Button state (one of +STATE_UP+, +STATE_DOWN+, etc.) [Integer]
|
50
|
+
attr_accessor :state
|
51
|
+
|
52
|
+
# Button style flags (some combination of +BUTTON_AUTOGRAY+, +BUTTON_AUTOHIDE+, etc.) [Integer]
|
53
|
+
attr_accessor :buttonStyle
|
54
|
+
|
55
|
+
# Construct button with specified _text_ and _icon_.
|
56
|
+
def initialize(parent, text, icon=nil, target=nil, selector=0, opts=BUTTON_NORMAL, x=0, y=0, width=0, height=0, padLeft=DEFAULT_PAD, padRight=DEFAULT_PAD, padTop=DEFAULT_PAD, padBottom=DEFAULT_PAD) # :yields: theButton
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Fox
|
2
|
+
#
|
3
|
+
# CUR Cursor class
|
4
|
+
#
|
5
|
+
class FXCURCursor < FXCursor
|
6
|
+
#
|
7
|
+
# Construct a cursor from memory stream in Microsoft CUR format.
|
8
|
+
# The image is limited to 32x32 pixels.
|
9
|
+
#
|
10
|
+
def initialize(app, pixels) # :yields: theCursor
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Fox
|
2
|
+
# Canvas, an area drawn by another object
|
3
|
+
#
|
4
|
+
# === Events
|
5
|
+
#
|
6
|
+
# The following messages are sent by FXCanvas to its target:
|
7
|
+
#
|
8
|
+
# +SEL_KEYPRESS+:: sent when a key goes down; the message data is an FXEvent instance.
|
9
|
+
# +SEL_KEYRELEASE+:: sent when a key goes up; the message data is an FXEvent instance.
|
10
|
+
# +SEL_MOTION+:: sent when the mouse moves; the message data is an FXEvent instance.
|
11
|
+
# +SEL_PAINT+:: sent when the canvas needs to be redrawn; the message data is an FXEvent instance.
|
12
|
+
|
13
|
+
class FXCanvas < FXWindow
|
14
|
+
# Construct new drawing canvas widget
|
15
|
+
def initialize(parent, target=nil, selector=0, opts=FRAME_NORMAL, x=0, y=0, width=0, height=0) # :yields: theCanvas
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
module Fox
|
2
|
+
#
|
3
|
+
# A Check button is a tri-state button. Normally, it is either
|
4
|
+
# +TRUE+ or +FALSE+, and toggles between +TRUE+ or +FALSE+ whenever it is pressed.
|
5
|
+
# A third state +MAYBE+ may be set to indicate that no selection has been made yet
|
6
|
+
# by the user, or that the state is ambiguous.
|
7
|
+
# When pressed, the Check Button sends a <tt>SEL_COMMAND</tt> to its target, and the
|
8
|
+
# message data represents the state of the check button.
|
9
|
+
# The option <tt>CHECKBUTTON_AUTOGRAY</tt> (<tt>CHECKBUTTON_AUTOHIDE</tt>) causes the button to be
|
10
|
+
# grayed out (hidden) if its handler does not respond to the <tt>SEL_UPDATE</tt> message.
|
11
|
+
# With the <tt>CHECKBUTTON_PLUS</tt> option, the Check Button will draw a + or - sign instead
|
12
|
+
# of a check. You can use this to make collapsible panels, by hooking up a Check
|
13
|
+
# Button to a layout manager via the <tt>ID_TOGGLE_SHOWN</tt> message. This will give a
|
14
|
+
# similar visual element as collapsing folders in a Tree List.
|
15
|
+
#
|
16
|
+
# === Events
|
17
|
+
#
|
18
|
+
# The following messages are sent by FXCheckButton to its target:
|
19
|
+
#
|
20
|
+
# +SEL_KEYPRESS+:: sent when a key goes down; the message data is an FXEvent instance.
|
21
|
+
# +SEL_KEYRELEASE+:: sent when a key goes up; the message data is an FXEvent instance.
|
22
|
+
# +SEL_LEFTBUTTONPRESS+:: sent when the left mouse button goes down; the message data is an FXEvent instance.
|
23
|
+
# +SEL_LEFTBUTTONRELEASE+:: sent when the left mouse button goes up; the message data is an FXEvent instance.
|
24
|
+
# +SEL_COMMAND+:: sent when the button is clicked.
|
25
|
+
#
|
26
|
+
# === CheckButton styles
|
27
|
+
#
|
28
|
+
# +CHECKBUTTON_AUTOGRAY+:: Automatically gray out when not updated
|
29
|
+
# +CHECKBUTTON_AUTOHIDE+:: Automatically hide when not updated
|
30
|
+
# +CHECKBUTTON_PLUS+:: Draw a plus sign for unchecked and minus sign for checked
|
31
|
+
# +CHECKBUTTON_NORMAL+:: <tt>JUSTIFY_NORMAL|ICON_BEFORE_TEXT</tt>
|
32
|
+
|
33
|
+
class FXCheckButton < FXLabel
|
34
|
+
|
35
|
+
# Check button state (+TRUE+, +FALSE+ or +MAYBE+) [Integer]
|
36
|
+
attr_accessor :checkState
|
37
|
+
|
38
|
+
# Check button style [Integer]
|
39
|
+
attr_accessor :checkButtonStyle
|
40
|
+
|
41
|
+
# Box background color [FXColor]
|
42
|
+
attr_accessor :boxColor
|
43
|
+
|
44
|
+
# Box check color [FXColor]
|
45
|
+
attr_accessor :checkColor
|
46
|
+
|
47
|
+
# Construct new check button
|
48
|
+
def initialize(parent, text, target=nil, selector=0, opts=CHECKBUTTON_NORMAL, x=0, y=0, width=0, height=0, padLeft=DEFAULT_PAD, padRight=DEFAULT_PAD, padTop=DEFAULT_PAD, padBottom=DEFAULT_PAD) # :yields: theCheckButton
|
49
|
+
end
|
50
|
+
|
51
|
+
#
|
52
|
+
# Set the check button state to one of +TRUE+, +FALSE+ or +MAYBE+.
|
53
|
+
# If _notify_ is +true+, send a +SEL_COMMAND+ message to the message target
|
54
|
+
# after the state has been updated.
|
55
|
+
#
|
56
|
+
def setCheck(state, notify=false); end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module Fox
|
2
|
+
#
|
3
|
+
# The Choice Box provides a dialog panel to select one item out of a list
|
4
|
+
# of choices. The choices are provided as a list of text strings.
|
5
|
+
# When the dialog closes, the index of the selected choice is returned,
|
6
|
+
# while a -1 is returned if the dialog was canceled,
|
7
|
+
#
|
8
|
+
class FXChoiceBox < FXDialogBox
|
9
|
+
#
|
10
|
+
# Construct choice box with given caption, icon, message text, and with choices from array of strings.
|
11
|
+
# If _owner_ is another FXWindow, the dialog box is created as a child of that window. If _owner_
|
12
|
+
# is an FXApp instance, it's created as a free-floating dialog box.
|
13
|
+
#
|
14
|
+
# ==== Parameters:
|
15
|
+
#
|
16
|
+
# +owner+:: Owner for this dialog box [FXWindow or FXApp]
|
17
|
+
# +caption+:: Caption for this dialog box [String]
|
18
|
+
# +text+:: Message text for this dialog box [String]
|
19
|
+
# +icon+:: Icon for this dialog box [FXIcon]
|
20
|
+
# +choices+:: Array of strings containing choices [Array]
|
21
|
+
# +opts+:: Dialog box options [Integer]
|
22
|
+
# +x+:: x-coordinate
|
23
|
+
# +y+:: y-coordinate
|
24
|
+
# +width+:: width
|
25
|
+
# +height+:: height
|
26
|
+
#
|
27
|
+
def initialize(owner, caption, text, icon, choices, opts=0, x=0, y=0, width=0, height=0) # :yields: theChoiceBox
|
28
|
+
end
|
29
|
+
|
30
|
+
#
|
31
|
+
# Show a modal choice dialog.
|
32
|
+
# Prompt the user using a dialog with given caption, icon,
|
33
|
+
# message text, and choices from array of strings.
|
34
|
+
# Returns -1 if the dialog box is cancelled, otherwise returns the index of the selected choice
|
35
|
+
#
|
36
|
+
# ==== Parameters:
|
37
|
+
#
|
38
|
+
# +owner+:: Owner for this dialog box [FXWindow or FXApp]
|
39
|
+
# +opts+:: Dialog box options [Integer]
|
40
|
+
# +caption+:: Caption for this dialog box [String]
|
41
|
+
# +text+:: Message text for this dialog box [String]
|
42
|
+
# +icon+:: Icon for this dialog box [FXIcon]
|
43
|
+
# +choices+:: Array of strings containing choices [Array]
|
44
|
+
#
|
45
|
+
def FXChoiceBox.ask(owner, opts, caption, text, icon, choices); end
|
46
|
+
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Fox
|
2
|
+
#
|
3
|
+
# A Color Bar is a widget which controls the brightness (value) of a
|
4
|
+
# color by means of the hue, saturation, value specification system.
|
5
|
+
# It is most useful when used together with the Color Wheel which controls
|
6
|
+
# the hue and saturation.
|
7
|
+
# The options <tt>COLORBAR_HORIZONTAL</tt> and <tt>COLORBAR_VERTICAL</tt> control the orientation
|
8
|
+
# of the bar.
|
9
|
+
#
|
10
|
+
# === Events
|
11
|
+
#
|
12
|
+
# The following messages are sent by FXColorBar to its target:
|
13
|
+
#
|
14
|
+
# +SEL_CHANGED+:: sent continuously while the user is dragging the spot around; the message data is a three-element array containing the hue, saturation and value values.
|
15
|
+
# +SEL_COMMAND+:: sent when the user releases the mouse button and "drops" the spot at its new location; the message data is a three-element array containing the hue, saturation and value values.
|
16
|
+
# +SEL_LEFTBUTTONPRESS+:: sent when the left mouse button goes down; the message data is an FXEvent instance.
|
17
|
+
# +SEL_LEFTBUTTONRELEASE+:: sent when the left mouse button goes up; the message data is an FXEvent instance.
|
18
|
+
#
|
19
|
+
# === Color bar orientation
|
20
|
+
#
|
21
|
+
# +COLORBAR_HORIZONTAL+:: Color bar shown horizontally
|
22
|
+
# +COLORBAR_VERTICAL+:: Color bar shown vertically
|
23
|
+
|
24
|
+
class FXColorBar < FXFrame
|
25
|
+
|
26
|
+
# Hue [Float]
|
27
|
+
attr_accessor :hue
|
28
|
+
|
29
|
+
# Saturation [Float]
|
30
|
+
attr_accessor :sat
|
31
|
+
|
32
|
+
# Value [Float]
|
33
|
+
attr_accessor :val
|
34
|
+
|
35
|
+
# Color bar style (one of +COLORBAR_HORIZONTAL+ or +COLORBAR_VERTICAL+) [Integer]
|
36
|
+
attr_accessor :barStyle
|
37
|
+
|
38
|
+
# Status line help text [String]
|
39
|
+
attr_accessor :helpText
|
40
|
+
|
41
|
+
# Tool tip message [String]
|
42
|
+
attr_accessor :tipText
|
43
|
+
|
44
|
+
# Construct color bar
|
45
|
+
def initialize(parent, target=nil, selector=0, opts=FRAME_NORMAL, x=0, y=0, width=0, height=0, padLeft=DEFAULT_PAD, padRight=DEFAULT_PAD, padTop=DEFAULT_PAD, padBottom=DEFAULT_PAD) # :yields: theColorBar
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Fox
|
2
|
+
#
|
3
|
+
# FXColorDialog is a standard dialog panel used to edit colors.
|
4
|
+
# Colors can be edited via RGB (Red, Green, Blue additive color model),
|
5
|
+
# via HSV (Hue, Saturation, Value color modal), via CMY (Cyan, Magenta,
|
6
|
+
# Yellow subtractive color model), or by name.
|
7
|
+
# Commonly used colors can be dragged into a number of small color wells
|
8
|
+
# to be used repeatedly; colors dropped into the small color wells are
|
9
|
+
# automatically saved into the registry for future use.
|
10
|
+
#
|
11
|
+
# === Events
|
12
|
+
#
|
13
|
+
# The following messages are sent by FXColorDialog to its target:
|
14
|
+
#
|
15
|
+
# +SEL_CHANGED+:: sent continuously, while the color selector's color is changing
|
16
|
+
# +SEL_COMMAND+:: sent when the new color is set
|
17
|
+
#
|
18
|
+
# === Message identifiers
|
19
|
+
#
|
20
|
+
# +ID_COLORSELECTOR+:: used internally to identify messages from the FXColorSelector
|
21
|
+
|
22
|
+
class FXColorDialog < FXDialogBox
|
23
|
+
|
24
|
+
# The color [FXColor]
|
25
|
+
attr_accessor :rgba
|
26
|
+
|
27
|
+
# Only opaque colors allowed [Boolean]
|
28
|
+
attr_writer :opaqueOnly
|
29
|
+
|
30
|
+
# Construct color dialog
|
31
|
+
def initialize(owner, title, opts=0, x=0, y=0, width=0, height=0) # :yields: theColorDialog
|
32
|
+
end
|
33
|
+
|
34
|
+
# Return +true+ if only opaque colors allowed
|
35
|
+
def opaqueOnly?() ; end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module Fox
|
2
|
+
# Color item
|
3
|
+
class FXColorItem < FXListItem
|
4
|
+
# Item color [FXColor]
|
5
|
+
attr_accessor :color
|
6
|
+
|
7
|
+
# Return a new color item, initialized with the given text, color and
|
8
|
+
# user data.
|
9
|
+
def initialize(text, clr, data=nil) # :yields: theColorItem
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
# Displays a list of colors
|
14
|
+
class FXColorList < FXList
|
15
|
+
|
16
|
+
#
|
17
|
+
# Return an initially empty list of colors.
|
18
|
+
#
|
19
|
+
def initialize(p, target=nil, selector=0, opts=LIST_BROWSESELECT, x=0, y=0, width=0, height=0) # :yields: theColorList
|
20
|
+
end
|
21
|
+
|
22
|
+
#
|
23
|
+
# Fill list by appending color items from array of strings and array of colors.
|
24
|
+
#
|
25
|
+
def fillItems(strings, colors=nil, ptr=nil, notify=false); end
|
26
|
+
|
27
|
+
#
|
28
|
+
# Insert item at index with given text, color, and user-data pointer
|
29
|
+
#
|
30
|
+
def insertItem(index, text, color=0, ptr=nil, notify=false); end
|
31
|
+
|
32
|
+
#
|
33
|
+
# Append new item with given text, color, and user-data pointer
|
34
|
+
#
|
35
|
+
def appendItem(text, color=0, ptr=nil, notify=false); end
|
36
|
+
|
37
|
+
#
|
38
|
+
# Prepend new item with given text, color, and user-data pointer
|
39
|
+
#
|
40
|
+
def prependItem(text, color=0, ptr=nil, notify=false); end
|
41
|
+
|
42
|
+
#
|
43
|
+
# Change item color for the item at _index_.
|
44
|
+
# Raises IndexError if _index_ is out of bounds.
|
45
|
+
#
|
46
|
+
def setItemColor(index, color); end
|
47
|
+
|
48
|
+
#
|
49
|
+
# Return item color for the item at _index_.
|
50
|
+
# Raises IndexError if _index_ is out of bounds.
|
51
|
+
#
|
52
|
+
def getItemColor(index); end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module Fox
|
2
|
+
#
|
3
|
+
# A Color Ring widget provides an intuitive way to specify a color.
|
4
|
+
# The outer ring of the widget is rotated to control the hue of the color
|
5
|
+
# being specified, while the inner triangle varies the color saturation
|
6
|
+
# and the brightness of the color. The color saturation axis of the
|
7
|
+
# triangle goes from a fully saturated "pure" color to "pastel" color;
|
8
|
+
# the brightness goes from black to a bright color.
|
9
|
+
#
|
10
|
+
# === Events
|
11
|
+
#
|
12
|
+
# The following messages are sent by FXColorRing to its target:
|
13
|
+
#
|
14
|
+
# +SEL_CHANGED+:: sent continuously while the user is dragging the spot around; the message data is a three-element array containing the hue, saturation and value values.
|
15
|
+
# +SEL_COMMAND+:: sent when the user releases the mouse button and "drops" the spot at its new location; the message data is a three-element array containing the hue, saturation and value values.
|
16
|
+
# +SEL_LEFTBUTTONPRESS+:: sent when the left mouse button goes down; the message data is an FXEvent instance.
|
17
|
+
# +SEL_LEFTBUTTONRELEASE+:: sent when the left mouse button goes up; the message data is an FXEvent instance.
|
18
|
+
#
|
19
|
+
class FXColorRing < FXFrame
|
20
|
+
|
21
|
+
# Hue [Float]
|
22
|
+
attr_accessor :hue
|
23
|
+
|
24
|
+
# Saturation [Float]
|
25
|
+
attr_accessor :sat
|
26
|
+
|
27
|
+
# Value [Float]
|
28
|
+
attr_accessor :val
|
29
|
+
|
30
|
+
# Width of hue ring in pixels [Integer]
|
31
|
+
attr_accessor :ringWidth
|
32
|
+
|
33
|
+
# Status line help text [String]
|
34
|
+
attr_accessor :helpText
|
35
|
+
|
36
|
+
# Tool tip message [String]
|
37
|
+
attr_accessor :tipText
|
38
|
+
|
39
|
+
#
|
40
|
+
# Return an initialized FXColorRing instance.
|
41
|
+
#
|
42
|
+
def initialize(p, target=nil, selector=0, opts=FRAME_NORMAL, x=0, y=0, width=0, height=0, padLeft=DEFAULT_PAD, padRight=DEFAULT_PAD, padTop=DEFAULT_PAD, padBottom=DEFAULT_PAD) # :yields: theColorRing
|
43
|
+
end
|
44
|
+
|
45
|
+
# Set the hue, saturation and value (all floating point values)
|
46
|
+
def setHueSatVal(h, s, v); end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|