fxruby 1.6.14-universal-darwin-9
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 +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
|
+
|