fxruby 1.2.2
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/ANNOUNCE +25 -0
- data/ChangeLog +10606 -0
- data/INSTALL +50 -0
- 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 +144 -0
- data/doc/ch03s02.html +24 -0
- data/doc/ch03s03.html +53 -0
- data/doc/ch03s04.html +37 -0
- data/doc/ch03s05.html +61 -0
- data/doc/ch04s02.html +72 -0
- data/doc/ch04s03.html +37 -0
- data/doc/ch04s04.html +72 -0
- data/doc/ch05s02.html +262 -0
- data/doc/ch05s03.html +128 -0
- data/doc/changes.html +75 -0
- data/doc/clipboardtut.html +68 -0
- data/doc/cvs.html +35 -0
- data/doc/differences.html +11 -0
- data/doc/dragdroptut.html +266 -0
- data/doc/events.html +36 -0
- data/doc/examples.html +104 -0
- data/doc/gems.html +73 -0
- data/doc/goals.html +39 -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/todo.html +40 -0
- data/doc/tutorial1.html +97 -0
- data/examples/RAA.rb +25 -0
- data/examples/README +53 -0
- data/examples/babelfish.rb +107 -0
- data/examples/bounce.rb +159 -0
- data/examples/browser.rb +191 -0
- data/examples/button.rb +160 -0
- data/examples/datatarget.rb +223 -0
- data/examples/dctest.rb +702 -0
- data/examples/dialog.rb +148 -0
- data/examples/dilbert.rb +105 -0
- data/examples/dirlist.rb +63 -0
- data/examples/dragdrop.rb +101 -0
- data/examples/dragsource.rb +81 -0
- data/examples/dropsite.rb +61 -0
- data/examples/foursplit.rb +103 -0
- data/examples/gltest.rb +342 -0
- data/examples/glviewer.rb +579 -0
- data/examples/groupbox.rb +422 -0
- data/examples/header.rb +150 -0
- data/examples/hello.rb +12 -0
- data/examples/hello2.rb +51 -0
- data/examples/iRAA.rb +153 -0
- data/examples/iconlist.rb +104 -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 +281 -0
- data/examples/imageviewer.rb +513 -0
- data/examples/inputs.rb +84 -0
- data/examples/mditest.rb +180 -0
- data/examples/pig.rb +77 -0
- data/examples/raabrowser.rb +132 -0
- data/examples/scintilla-test.rb +81 -0
- data/examples/scribble-orig.rb +186 -0
- data/examples/scribble.rb +166 -0
- data/examples/shutter.rb +158 -0
- data/examples/splitter.rb +211 -0
- data/examples/styledtext.rb +92 -0
- data/examples/tabbook.rb +124 -0
- data/examples/table.rb +187 -0
- data/examples/textedit/commands.rb +117 -0
- data/examples/textedit/helpwindow.rb +295 -0
- data/examples/textedit/prefdialog.rb +235 -0
- data/examples/textedit/textedit.rb +1767 -0
- data/ext/fox12/FXRbApp.cpp +127 -0
- data/ext/fox12/FXRbDataTarget.cpp +106 -0
- data/ext/fox12/FXRbGLViewer.cpp +89 -0
- data/ext/fox12/FXRuby.cpp +1818 -0
- data/ext/fox12/MANIFEST +189 -0
- data/ext/fox12/core_wrap.cpp +10119 -0
- data/ext/fox12/dc_wrap.cpp +2638 -0
- data/ext/fox12/dialogs_wrap.cpp +6244 -0
- data/ext/fox12/extconf.rb +176 -0
- data/ext/fox12/frames_wrap.cpp +8274 -0
- data/ext/fox12/fx3d_wrap.cpp +9315 -0
- data/ext/fox12/iconlist_wrap.cpp +3742 -0
- data/ext/fox12/icons_wrap.cpp +4040 -0
- data/ext/fox12/image_wrap.cpp +4026 -0
- data/ext/fox12/impl.cpp +1064 -0
- data/ext/fox12/include/FXMemoryBuffer.h +52 -0
- data/ext/fox12/include/FXRb4Splitter.h +54 -0
- data/ext/fox12/include/FXRbAccelTable.h +46 -0
- data/ext/fox12/include/FXRbApp.h +137 -0
- data/ext/fox12/include/FXRbAppVirtuals.h +15 -0
- data/ext/fox12/include/FXRbArrowButton.h +51 -0
- data/ext/fox12/include/FXRbBMPIcon.h +54 -0
- data/ext/fox12/include/FXRbBMPImage.h +54 -0
- data/ext/fox12/include/FXRbBitmap.h +115 -0
- data/ext/fox12/include/FXRbBitmapFrame.h +56 -0
- data/ext/fox12/include/FXRbBitmapView.h +52 -0
- data/ext/fox12/include/FXRbBitmapVirtuals.h +27 -0
- data/ext/fox12/include/FXRbButton.h +51 -0
- data/ext/fox12/include/FXRbCURCursor.h +60 -0
- data/ext/fox12/include/FXRbCanvas.h +51 -0
- data/ext/fox12/include/FXRbCheckButton.h +51 -0
- data/ext/fox12/include/FXRbColorBar.h +51 -0
- data/ext/fox12/include/FXRbColorDialog.h +53 -0
- data/ext/fox12/include/FXRbColorSelector.h +51 -0
- data/ext/fox12/include/FXRbColorWell.h +51 -0
- data/ext/fox12/include/FXRbColorWheel.h +51 -0
- data/ext/fox12/include/FXRbComboBox.h +56 -0
- data/ext/fox12/include/FXRbCommon.h +86 -0
- data/ext/fox12/include/FXRbComposite.h +51 -0
- data/ext/fox12/include/FXRbCursor.h +87 -0
- data/ext/fox12/include/FXRbCursorVirtuals.h +6 -0
- data/ext/fox12/include/FXRbDC.h +385 -0
- data/ext/fox12/include/FXRbDCPrint.h +49 -0
- data/ext/fox12/include/FXRbDCVirtuals.h +166 -0
- data/ext/fox12/include/FXRbDCWindow.h +64 -0
- data/ext/fox12/include/FXRbDataTarget.h +65 -0
- data/ext/fox12/include/FXRbDebugTarget.h +46 -0
- data/ext/fox12/include/FXRbDelegator.h +46 -0
- data/ext/fox12/include/FXRbDial.h +51 -0
- data/ext/fox12/include/FXRbDialogBox.h +68 -0
- data/ext/fox12/include/FXRbDialogBoxVirtuals.h +3 -0
- data/ext/fox12/include/FXRbDict.h +46 -0
- data/ext/fox12/include/FXRbDirBox.h +51 -0
- data/ext/fox12/include/FXRbDirDialog.h +53 -0
- data/ext/fox12/include/FXRbDirList.h +79 -0
- data/ext/fox12/include/FXRbDirSelector.h +51 -0
- data/ext/fox12/include/FXRbDocument.h +46 -0
- data/ext/fox12/include/FXRbDragCorner.h +51 -0
- data/ext/fox12/include/FXRbDrawable.h +64 -0
- data/ext/fox12/include/FXRbDrawableVirtuals.h +3 -0
- data/ext/fox12/include/FXRbDriveBox.h +51 -0
- data/ext/fox12/include/FXRbFileDialog.h +56 -0
- data/ext/fox12/include/FXRbFileDict.h +104 -0
- data/ext/fox12/include/FXRbFileDictVirtuals.h +9 -0
- data/ext/fox12/include/FXRbFileList.h +81 -0
- data/ext/fox12/include/FXRbFileSelector.h +51 -0
- data/ext/fox12/include/FXRbFoldingItemVirtuals.h +45 -0
- data/ext/fox12/include/FXRbFoldingList.h +183 -0
- data/ext/fox12/include/FXRbFont.h +70 -0
- data/ext/fox12/include/FXRbFontDialog.h +53 -0
- data/ext/fox12/include/FXRbFontSelector.h +51 -0
- data/ext/fox12/include/FXRbFrame.h +51 -0
- data/ext/fox12/include/FXRbGIFCursor.h +60 -0
- data/ext/fox12/include/FXRbGIFIcon.h +54 -0
- data/ext/fox12/include/FXRbGIFImage.h +54 -0
- data/ext/fox12/include/FXRbGLCanvas.h +92 -0
- data/ext/fox12/include/FXRbGLCanvasVirtuals.h +13 -0
- data/ext/fox12/include/FXRbGLContext.h +58 -0
- data/ext/fox12/include/FXRbGLObject.h +103 -0
- data/ext/fox12/include/FXRbGLObjectVirtuals.h +22 -0
- data/ext/fox12/include/FXRbGLShape.h +81 -0
- data/ext/fox12/include/FXRbGLShapeVirtuals.h +8 -0
- data/ext/fox12/include/FXRbGLViewer.h +83 -0
- data/ext/fox12/include/FXRbGLViewerVirtuals.h +6 -0
- data/ext/fox12/include/FXRbGLVisual.h +56 -0
- data/ext/fox12/include/FXRbGradientBar.h +55 -0
- data/ext/fox12/include/FXRbGroupBox.h +51 -0
- data/ext/fox12/include/FXRbHeader.h +125 -0
- data/ext/fox12/include/FXRbHeaderItemVirtuals.h +22 -0
- data/ext/fox12/include/FXRbHorizontalFrame.h +51 -0
- data/ext/fox12/include/FXRbICOIcon.h +54 -0
- data/ext/fox12/include/FXRbICOImage.h +54 -0
- data/ext/fox12/include/FXRbIcon.h +57 -0
- data/ext/fox12/include/FXRbIconItemVirtuals.h +71 -0
- data/ext/fox12/include/FXRbIconList.h +266 -0
- data/ext/fox12/include/FXRbIconListVirtuals.h +21 -0
- data/ext/fox12/include/FXRbId.h +74 -0
- data/ext/fox12/include/FXRbIdVirtuals.h +9 -0
- data/ext/fox12/include/FXRbImage.h +162 -0
- data/ext/fox12/include/FXRbImageFrame.h +56 -0
- data/ext/fox12/include/FXRbImageView.h +52 -0
- data/ext/fox12/include/FXRbImageVirtuals.h +51 -0
- data/ext/fox12/include/FXRbInputDialog.h +53 -0
- data/ext/fox12/include/FXRbJPGIcon.h +54 -0
- data/ext/fox12/include/FXRbJPGImage.h +54 -0
- data/ext/fox12/include/FXRbLabel.h +51 -0
- data/ext/fox12/include/FXRbList.h +204 -0
- data/ext/fox12/include/FXRbListBox.h +56 -0
- data/ext/fox12/include/FXRbListItemVirtuals.h +36 -0
- data/ext/fox12/include/FXRbListVirtuals.h +18 -0
- data/ext/fox12/include/FXRbMDIButton.h +162 -0
- data/ext/fox12/include/FXRbMDIChild.h +82 -0
- data/ext/fox12/include/FXRbMDIChildVirtuals.h +12 -0
- data/ext/fox12/include/FXRbMDIClient.h +80 -0
- data/ext/fox12/include/FXRbMDIClientVirtuals.h +12 -0
- data/ext/fox12/include/FXRbMainWindow.h +54 -0
- data/ext/fox12/include/FXRbMatrix.h +51 -0
- data/ext/fox12/include/FXRbMenuBar.h +63 -0
- data/ext/fox12/include/FXRbMenuButton.h +51 -0
- data/ext/fox12/include/FXRbMenuCaption.h +51 -0
- data/ext/fox12/include/FXRbMenuCascade.h +51 -0
- data/ext/fox12/include/FXRbMenuCheck.h +49 -0
- data/ext/fox12/include/FXRbMenuCommand.h +49 -0
- data/ext/fox12/include/FXRbMenuPane.h +52 -0
- data/ext/fox12/include/FXRbMenuRadio.h +49 -0
- data/ext/fox12/include/FXRbMenuSeparator.h +51 -0
- data/ext/fox12/include/FXRbMenuTitle.h +51 -0
- data/ext/fox12/include/FXRbMessageBox.h +56 -0
- data/ext/fox12/include/FXRbObject.h +67 -0
- data/ext/fox12/include/FXRbObjectVirtuals.h +9 -0
- data/ext/fox12/include/FXRbOptionMenu.h +73 -0
- data/ext/fox12/include/FXRbPCXIcon.h +54 -0
- data/ext/fox12/include/FXRbPCXImage.h +54 -0
- data/ext/fox12/include/FXRbPNGIcon.h +54 -0
- data/ext/fox12/include/FXRbPNGImage.h +54 -0
- data/ext/fox12/include/FXRbPPMIcon.h +54 -0
- data/ext/fox12/include/FXRbPPMImage.h +54 -0
- data/ext/fox12/include/FXRbPacker.h +51 -0
- data/ext/fox12/include/FXRbPicker.h +51 -0
- data/ext/fox12/include/FXRbPopup.h +70 -0
- data/ext/fox12/include/FXRbPopupVirtuals.h +6 -0
- data/ext/fox12/include/FXRbPrintDialog.h +53 -0
- data/ext/fox12/include/FXRbProgressBar.h +51 -0
- data/ext/fox12/include/FXRbProgressDialog.h +53 -0
- data/ext/fox12/include/FXRbRGBIcon.h +54 -0
- data/ext/fox12/include/FXRbRGBImage.h +54 -0
- data/ext/fox12/include/FXRbRadioButton.h +51 -0
- data/ext/fox12/include/FXRbRealSlider.h +51 -0
- data/ext/fox12/include/FXRbRealSpinner.h +64 -0
- data/ext/fox12/include/FXRbRealSpinnerVirtuals.h +3 -0
- data/ext/fox12/include/FXRbRecentFiles.h +49 -0
- data/ext/fox12/include/FXRbRegistry.h +46 -0
- data/ext/fox12/include/FXRbReplaceDialog.h +53 -0
- data/ext/fox12/include/FXRbRootWindow.h +51 -0
- data/ext/fox12/include/FXRbRuler.h +56 -0
- data/ext/fox12/include/FXRbScintilla.h +52 -0
- data/ext/fox12/include/FXRbScrollArea.h +82 -0
- data/ext/fox12/include/FXRbScrollAreaVirtuals.h +13 -0
- data/ext/fox12/include/FXRbScrollBar.h +73 -0
- data/ext/fox12/include/FXRbScrollPane.h +52 -0
- data/ext/fox12/include/FXRbScrollWindow.h +52 -0
- data/ext/fox12/include/FXRbSearchDialog.h +53 -0
- data/ext/fox12/include/FXRbSeparator.h +95 -0
- data/ext/fox12/include/FXRbSettings.h +46 -0
- data/ext/fox12/include/FXRbShell.h +56 -0
- data/ext/fox12/include/FXRbShutter.h +86 -0
- data/ext/fox12/include/FXRbShutterVirtuals.h +3 -0
- data/ext/fox12/include/FXRbSlider.h +51 -0
- data/ext/fox12/include/FXRbSpinner.h +64 -0
- data/ext/fox12/include/FXRbSpinnerVirtuals.h +3 -0
- data/ext/fox12/include/FXRbSplitter.h +54 -0
- data/ext/fox12/include/FXRbSpring.h +51 -0
- data/ext/fox12/include/FXRbStatusBar.h +51 -0
- data/ext/fox12/include/FXRbStatusLine.h +51 -0
- data/ext/fox12/include/FXRbStream.h +101 -0
- data/ext/fox12/include/FXRbStreamVirtuals.h +9 -0
- data/ext/fox12/include/FXRbStringDict.h +46 -0
- data/ext/fox12/include/FXRbSwitcher.h +51 -0
- data/ext/fox12/include/FXRbTGAIcon.h +54 -0
- data/ext/fox12/include/FXRbTGAImage.h +54 -0
- data/ext/fox12/include/FXRbTIFIcon.h +54 -0
- data/ext/fox12/include/FXRbTIFImage.h +54 -0
- data/ext/fox12/include/FXRbTabBar.h +64 -0
- data/ext/fox12/include/FXRbTabBarVirtuals.h +3 -0
- data/ext/fox12/include/FXRbTabBook.h +52 -0
- data/ext/fox12/include/FXRbTabItem.h +51 -0
- data/ext/fox12/include/FXRbTable.h +416 -0
- data/ext/fox12/include/FXRbTableItemVirtuals.h +68 -0
- data/ext/fox12/include/FXRbTableVirtuals.h +73 -0
- data/ext/fox12/include/FXRbText.h +89 -0
- data/ext/fox12/include/FXRbTextField.h +51 -0
- data/ext/fox12/include/FXRbTextVirtuals.h +9 -0
- data/ext/fox12/include/FXRbToggleButton.h +51 -0
- data/ext/fox12/include/FXRbToolBar.h +80 -0
- data/ext/fox12/include/FXRbToolBarGrip.h +51 -0
- data/ext/fox12/include/FXRbToolBarShell.h +52 -0
- data/ext/fox12/include/FXRbToolBarTab.h +51 -0
- data/ext/fox12/include/FXRbToolBarVirtuals.h +6 -0
- data/ext/fox12/include/FXRbToolTip.h +51 -0
- data/ext/fox12/include/FXRbTopWindow.h +91 -0
- data/ext/fox12/include/FXRbTopWindowVirtuals.h +15 -0
- data/ext/fox12/include/FXRbTreeItemVirtuals.h +42 -0
- data/ext/fox12/include/FXRbTreeList.h +249 -0
- data/ext/fox12/include/FXRbTreeListBox.h +53 -0
- data/ext/fox12/include/FXRbTreeListVirtuals.h +30 -0
- data/ext/fox12/include/FXRbTriStateButton.h +51 -0
- data/ext/fox12/include/FXRbVerticalFrame.h +51 -0
- data/ext/fox12/include/FXRbVisual.h +56 -0
- data/ext/fox12/include/FXRbWindow.h +200 -0
- data/ext/fox12/include/FXRbWindowVirtuals.h +69 -0
- data/ext/fox12/include/FXRbWizard.h +60 -0
- data/ext/fox12/include/FXRbXBMIcon.h +54 -0
- data/ext/fox12/include/FXRbXBMImage.h +54 -0
- data/ext/fox12/include/FXRbXPMIcon.h +54 -0
- data/ext/fox12/include/FXRbXPMImage.h +54 -0
- data/ext/fox12/include/FXRuby.h +728 -0
- data/ext/fox12/include/impl.h +201 -0
- data/ext/fox12/include/inlinestubs.h +1063 -0
- data/ext/fox12/label_wrap.cpp +4945 -0
- data/ext/fox12/layout_wrap.cpp +5061 -0
- data/ext/fox12/librb.c +636 -0
- data/ext/fox12/list_wrap.cpp +2212 -0
- data/ext/fox12/markfuncs.cpp +1568 -0
- data/ext/fox12/mdi_wrap.cpp +4521 -0
- data/ext/fox12/menu_wrap.cpp +4673 -0
- data/ext/fox12/scintilla_wrap.cpp +2245 -0
- data/ext/fox12/table_wrap.cpp +3581 -0
- data/ext/fox12/text_wrap.cpp +3539 -0
- data/ext/fox12/treelist_wrap.cpp +5609 -0
- data/ext/fox12/ui_wrap.cpp +10017 -0
- data/index.html +14 -0
- data/lib/fox12/aliases.rb +5211 -0
- data/lib/fox12/calendar.rb +218 -0
- data/lib/fox12/chore.rb +51 -0
- data/lib/fox12/colors.rb +282 -0
- data/lib/fox12/core.rb +249 -0
- data/lib/fox12/dict.rb +35 -0
- data/lib/fox12/glgroup.rb +165 -0
- data/lib/fox12/glshapes.rb +457 -0
- data/lib/fox12/input.rb +56 -0
- data/lib/fox12/irb.rb +179 -0
- data/lib/fox12/iterators.rb +331 -0
- data/lib/fox12/keys.rb +1376 -0
- data/lib/fox12/missingdep.rb +16 -0
- data/lib/fox12/pseudokeyboard.rb +36 -0
- data/lib/fox12/pseudomouse.rb +84 -0
- data/lib/fox12/responder.rb +72 -0
- data/lib/fox12/responder2.rb +122 -0
- data/lib/fox12/scintilla.rb +2629 -0
- data/lib/fox12/settings.rb +18 -0
- data/lib/fox12/signal.rb +68 -0
- data/lib/fox12/timeout.rb +58 -0
- data/lib/fox12/undolist.rb +456 -0
- data/lib/fox12/version.rb +11 -0
- data/rdoc-sources/FX4Splitter.rb +138 -0
- data/rdoc-sources/FXAccelTable.rb +67 -0
- data/rdoc-sources/FXApp.rb +557 -0
- data/rdoc-sources/FXArrowButton.rb +69 -0
- data/rdoc-sources/FXBMPIcon.rb +45 -0
- data/rdoc-sources/FXBMPImage.rb +20 -0
- data/rdoc-sources/FXBitmap.rb +78 -0
- data/rdoc-sources/FXBitmapFrame.rb +29 -0
- data/rdoc-sources/FXBitmapView.rb +41 -0
- data/rdoc-sources/FXButton.rb +43 -0
- data/rdoc-sources/FXCURCursor.rb +13 -0
- data/rdoc-sources/FXCanvas.rb +18 -0
- data/rdoc-sources/FXCheckButton.rb +57 -0
- data/rdoc-sources/FXColorBar.rb +43 -0
- data/rdoc-sources/FXColorDialog.rb +36 -0
- data/rdoc-sources/FXColorSelector.rb +65 -0
- data/rdoc-sources/FXColorWell.rb +57 -0
- data/rdoc-sources/FXColorWheel.rb +35 -0
- data/rdoc-sources/FXComboBox.rb +153 -0
- data/rdoc-sources/FXComposite.rb +34 -0
- data/rdoc-sources/FXCursor.rb +67 -0
- data/rdoc-sources/FXDC.rb +667 -0
- data/rdoc-sources/FXDCPrint.rb +127 -0
- data/rdoc-sources/FXDCWindow.rb +37 -0
- data/rdoc-sources/FXDataTarget.rb +41 -0
- data/rdoc-sources/FXDebugTarget.rb +25 -0
- data/rdoc-sources/FXDelegator.rb +23 -0
- data/rdoc-sources/FXDial.rb +68 -0
- data/rdoc-sources/FXDialogBox.rb +36 -0
- data/rdoc-sources/FXDict.rb +79 -0
- data/rdoc-sources/FXDirBox.rb +49 -0
- data/rdoc-sources/FXDirDialog.rb +18 -0
- data/rdoc-sources/FXDirList.rb +143 -0
- data/rdoc-sources/FXDirSelector.rb +30 -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/FXFileDialog.rb +132 -0
- data/rdoc-sources/FXFileDict.rb +168 -0
- data/rdoc-sources/FXFileList.rb +163 -0
- data/rdoc-sources/FXFileSelector.rb +148 -0
- data/rdoc-sources/FXFileStream.rb +24 -0
- data/rdoc-sources/FXFoldingList.rb +453 -0
- data/rdoc-sources/FXFont.rb +345 -0
- data/rdoc-sources/FXFontDialog.rb +14 -0
- data/rdoc-sources/FXFontSelector.rb +37 -0
- data/rdoc-sources/FXFrame.rb +47 -0
- data/rdoc-sources/FXGIFCursor.rb +38 -0
- data/rdoc-sources/FXGIFIcon.rb +21 -0
- data/rdoc-sources/FXGIFImage.rb +19 -0
- data/rdoc-sources/FXGLCanvas.rb +45 -0
- data/rdoc-sources/FXGLContext.rb +41 -0
- data/rdoc-sources/FXGLObject.rb +75 -0
- data/rdoc-sources/FXGLShape.rb +75 -0
- data/rdoc-sources/FXGLViewer.rb +309 -0
- data/rdoc-sources/FXGLVisual.rb +94 -0
- data/rdoc-sources/FXGradientBar.rb +291 -0
- data/rdoc-sources/FXGroupBox.rb +33 -0
- data/rdoc-sources/FXHeader.rb +377 -0
- data/rdoc-sources/FXHorizontalFrame.rb +29 -0
- data/rdoc-sources/FXICOIcon.rb +50 -0
- data/rdoc-sources/FXICOImage.rb +21 -0
- data/rdoc-sources/FXIcon.rb +38 -0
- data/rdoc-sources/FXIconList.rb +418 -0
- data/rdoc-sources/FXId.rb +34 -0
- data/rdoc-sources/FXImage.rb +198 -0
- data/rdoc-sources/FXImageFrame.rb +22 -0
- data/rdoc-sources/FXImageView.rb +35 -0
- data/rdoc-sources/FXInputDialog.rb +62 -0
- data/rdoc-sources/FXJPGIcon.rb +52 -0
- data/rdoc-sources/FXJPGImage.rb +25 -0
- data/rdoc-sources/FXLabel.rb +66 -0
- data/rdoc-sources/FXList.rb +412 -0
- data/rdoc-sources/FXListBox.rb +158 -0
- data/rdoc-sources/FXMDIButton.rb +67 -0
- data/rdoc-sources/FXMDIChild.rb +145 -0
- data/rdoc-sources/FXMDIClient.rb +67 -0
- data/rdoc-sources/FXMainWindow.rb +20 -0
- data/rdoc-sources/FXMat4.rb +171 -0
- data/rdoc-sources/FXMatrix.rb +57 -0
- data/rdoc-sources/FXMemoryBuffer.rb +19 -0
- data/rdoc-sources/FXMemoryStream.rb +45 -0
- data/rdoc-sources/FXMenuBar.rb +23 -0
- data/rdoc-sources/FXMenuButton.rb +84 -0
- data/rdoc-sources/FXMenuCaption.rb +47 -0
- data/rdoc-sources/FXMenuCascade.rb +18 -0
- data/rdoc-sources/FXMenuCheck.rb +30 -0
- data/rdoc-sources/FXMenuCommand.rb +27 -0
- data/rdoc-sources/FXMenuPane.rb +13 -0
- data/rdoc-sources/FXMenuRadio.rb +30 -0
- data/rdoc-sources/FXMenuSeparator.rb +21 -0
- data/rdoc-sources/FXMenuTitle.rb +27 -0
- data/rdoc-sources/FXMessageBox.rb +77 -0
- data/rdoc-sources/FXObject.rb +22 -0
- data/rdoc-sources/FXOptionMenu.rb +76 -0
- data/rdoc-sources/FXPCXIcon.rb +48 -0
- data/rdoc-sources/FXPCXImage.rb +21 -0
- data/rdoc-sources/FXPNGIcon.rb +48 -0
- data/rdoc-sources/FXPNGImage.rb +21 -0
- data/rdoc-sources/FXPPMIcon.rb +21 -0
- data/rdoc-sources/FXPPMImage.rb +21 -0
- data/rdoc-sources/FXPacker.rb +62 -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 +1 -0
- data/rdoc-sources/FXQuatf.rb +1 -0
- data/rdoc-sources/FXRGBIcon.rb +49 -0
- data/rdoc-sources/FXRGBImage.rb +21 -0
- data/rdoc-sources/FXRadioButton.rb +64 -0
- data/rdoc-sources/FXRanged.rb +97 -0
- data/rdoc-sources/FXRangef.rb +97 -0
- data/rdoc-sources/FXRealSlider.rb +99 -0
- data/rdoc-sources/FXRealSpinner.rb +133 -0
- data/rdoc-sources/FXRecentFiles.rb +73 -0
- data/rdoc-sources/FXRectangle.rb +137 -0
- data/rdoc-sources/FXRegion.rb +64 -0
- data/rdoc-sources/FXRegistry.rb +39 -0
- data/rdoc-sources/FXReplaceDialog.rb +56 -0
- data/rdoc-sources/FXRootWindow.rb +17 -0
- data/rdoc-sources/FXRuler.rb +60 -0
- data/rdoc-sources/FXScintilla.rb +121 -0
- data/rdoc-sources/FXScrollArea.rb +86 -0
- data/rdoc-sources/FXScrollBar.rb +101 -0
- data/rdoc-sources/FXScrollPane.rb +23 -0
- data/rdoc-sources/FXScrollWindow.rb +38 -0
- data/rdoc-sources/FXSearchDialog.rb +24 -0
- data/rdoc-sources/FXSeparator.rb +64 -0
- data/rdoc-sources/FXSettings.rb +222 -0
- data/rdoc-sources/FXShell.rb +7 -0
- data/rdoc-sources/FXShutter.rb +97 -0
- data/rdoc-sources/FXSize.rb +30 -0
- data/rdoc-sources/FXSlider.rb +96 -0
- data/rdoc-sources/FXSphered.rb +65 -0
- data/rdoc-sources/FXSpheref.rb +65 -0
- data/rdoc-sources/FXSpinner.rb +132 -0
- data/rdoc-sources/FXSplitter.rb +88 -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 +115 -0
- data/rdoc-sources/FXStringDict.rb +38 -0
- data/rdoc-sources/FXSwitcher.rb +78 -0
- data/rdoc-sources/FXTGAIcon.rb +48 -0
- data/rdoc-sources/FXTGAImage.rb +21 -0
- data/rdoc-sources/FXTIFIcon.rb +52 -0
- data/rdoc-sources/FXTIFImage.rb +24 -0
- data/rdoc-sources/FXTabBar.rb +76 -0
- data/rdoc-sources/FXTabBook.rb +38 -0
- data/rdoc-sources/FXTabItem.rb +51 -0
- data/rdoc-sources/FXTable.rb +654 -0
- data/rdoc-sources/FXText.rb +533 -0
- data/rdoc-sources/FXTextField.rb +141 -0
- data/rdoc-sources/FXToggleButton.rb +69 -0
- data/rdoc-sources/FXToolBar.rb +121 -0
- data/rdoc-sources/FXToolBarGrip.rb +55 -0
- data/rdoc-sources/FXToolBarShell.rb +44 -0
- data/rdoc-sources/FXToolTip.rb +36 -0
- data/rdoc-sources/FXTopWindow.rb +92 -0
- data/rdoc-sources/FXTreeList.rb +503 -0
- data/rdoc-sources/FXTreeListBox.rb +182 -0
- data/rdoc-sources/FXTriStateButton.rb +49 -0
- data/rdoc-sources/FXVec.rb +97 -0
- data/rdoc-sources/FXVec4.rb +91 -0
- data/rdoc-sources/FXVerticalFrame.rb +29 -0
- data/rdoc-sources/FXVisual.rb +79 -0
- data/rdoc-sources/FXWindow.rb +633 -0
- data/rdoc-sources/FXWizard.rb +63 -0
- data/rdoc-sources/FXXBMIcon.rb +22 -0
- data/rdoc-sources/FXXBMImage.rb +22 -0
- data/rdoc-sources/FXXPMIcon.rb +50 -0
- data/rdoc-sources/FXXPMImage.rb +21 -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_FXButton.rb +72 -0
- data/tests/TC_FXCheckButton.rb +57 -0
- data/tests/TC_FXComboBox.rb +36 -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_FXFont.rb +59 -0
- data/tests/TC_FXFontDesc.rb +62 -0
- data/tests/TC_FXGLGroup.rb +32 -0
- data/tests/TC_FXGLShape.rb +28 -0
- data/tests/TC_FXGLViewer.rb +18 -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 +144 -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 +75 -0
- data/tests/TC_FXMemoryStream.rb +87 -0
- data/tests/TC_FXMenuCommand.rb +26 -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_FXShell.rb +26 -0
- data/tests/TC_FXSize.rb +54 -0
- data/tests/TC_FXStream.rb +11 -0
- data/tests/TC_FXTable.rb +468 -0
- data/tests/TC_FXTableItem.rb +48 -0
- data/tests/TC_FXText.rb +81 -0
- data/tests/TC_FXTopWindow.rb +32 -0
- data/tests/TC_FXTreeList.rb +83 -0
- data/tests/TC_FXTreeListBox.rb +23 -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_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/doit.rb +5 -0
- data/tests/howdypage.ps +181 -0
- data/tests/stress1.rb +94 -0
- data/tests/stress2.rb +51 -0
- data/tests/stress3.rb +117 -0
- data/tests/testcase.rb +38 -0
- data/web/art/fxrubylogo.png +0 -0
- data/web/art/fxrubylogo_small.png +0 -0
- data/web/art/line.gif +0 -0
- data/web/art/oul_grey.gif +0 -0
- data/web/art/our.gif +0 -0
- data/web/downloads.html +91 -0
- data/web/home.html +109 -0
- data/web/menu.html +50 -0
- data/web/styles.css +167 -0
- data/web/top.html +15 -0
- metadata +737 -0
data/doc/pt01.html
ADDED
@@ -0,0 +1,3 @@
|
|
1
|
+
<html><head>
|
2
|
+
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
3
|
+
<title>Part I. The Basics</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="previous" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="next" href="goals.html" title="History and Goals"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part I. The Basics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="book.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="goals.html">Next</a></td></tr></table><hr></div><div class="part" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="d0e17"></a>The Basics</h1></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="goals.html">History and Goals</a></dt><dt>1. <a href="build.html">Building from Source Code</a></dt><dt>2. <a href="gems.html">Installing from Gems</a></dt><dt>3. <a href="tutorial1.html">Hello, World!</a></dt><dd><dl><dt><a href="tutorial1.html#d0e619">First Things First</a></dt><dt><a href="ch03s02.html">Better living through buttons</a></dt><dt><a href="ch03s03.html">Messages</a></dt><dt><a href="ch03s04.html">Adding a tool tip</a></dt><dt><a href="ch03s05.html">Adding an icon</a></dt></dl></dd><dt>4. <a href="clipboardtut.html">Working With the Clipboard</a></dt><dd><dl><dt><a href="clipboardtut.html#d0e1008">Basic Application</a></dt><dt><a href="ch04s02.html">Acquiring the Clipboard</a></dt><dt><a href="ch04s03.html">Sending Data to the Clipboard</a></dt><dt><a href="ch04s04.html">Pasting Data from the Clipboard</a></dt></dl></dd><dt>5. <a href="dragdroptut.html">Drag and Drop</a></dt><dd><dl><dt><a href="dragdroptut.html#d0e1223">Drop Sites</a></dt><dt><a href="ch05s02.html">Drag Sources</a></dt><dt><a href="ch05s03.html">Putting It All Together</a></dt></dl></dd><dt>6. <a href="examples.html">Examples</a></dt><dt>7. <a href="events.html">FXRuby's Message-Target System</a></dt><dt>8. <a href="todo.html">To-do list</a></dt><dt>9. <a href="infosources.html">Other Sources of Information</a></dt><dt>10. <a href="changes.html">Change History</a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="book.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="book.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="goals.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Developing Graphical User Interfaces with FXRuby </td><td width="20%" align="center"><a accesskey="h" href="book.html">Home</a></td><td width="40%" align="right" valign="top"> History and Goals</td></tr></table></div></body></html>
|
data/doc/pt02.html
ADDED
@@ -0,0 +1,3 @@
|
|
1
|
+
<html><head>
|
2
|
+
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
3
|
+
<title>Part II. Appendices</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="previous" href="changes.html" title="Chapter 10. Change History"><link rel="next" href="opengl.html" title="Appendix A. Using OpenGL with FXRuby"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part II. Appendices</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="changes.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="opengl.html">Next</a></td></tr></table><hr></div><div class="part" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="d0e2552"></a>Appendices</h1></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>A. <a href="opengl.html">Using OpenGL with FXRuby</a></dt><dt>B. <a href="scintilla.html">Using Scintilla with FXRuby</a></dt><dt>C. <a href="differences.html">Differences between FOX and FXRuby</a></dt><dt>D. <a href="library.html">The FXRuby Standard Library</a></dt><dt>E. <a href="implementation.html">Implementation</a></dt><dd><dl><dt><a href="implementation.html#d0e3562">Code Generation</a></dt><dt><a href="apes02.html">Object Life Cycles and Garbage Collection</a></dt><dd><dl><dt><a href="apes02.html#d0e3600">GL Objects</a></dt></dl></dd><dt><a href="apes03.html">Virtual Functions</a></dt></dl></dd><dt>F. <a href="cvs.html">Getting the Sources from CVS</a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="changes.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="book.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="opengl.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 10. Change History </td><td width="20%" align="center"><a accesskey="h" href="book.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix A. Using OpenGL with FXRuby</td></tr></table></div></body></html>
|
data/doc/scintilla.html
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
<html><head>
|
2
|
+
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
3
|
+
<title>Appendix B. Using Scintilla with FXRuby</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt02.html" title="Part II. Appendices"><link rel="previous" href="opengl.html" title="Appendix A. Using OpenGL with FXRuby"><link rel="next" href="differences.html" title="Appendix C. Differences between FOX and FXRuby"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. Using Scintilla with FXRuby</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="opengl.html">Prev</a> </td><th width="60%" align="center">Part II. Appendices</th><td width="20%" align="right"> <a accesskey="n" href="differences.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="scintilla"></a>Appendix B. Using Scintilla with FXRuby</h2></div></div><div></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2740"></a>What is Scintilla?</h2></div></div><div></div></div><p><a href="http://www.scintilla.org" target="_top">Scintilla</a> is a free
|
4
|
+
source code editing component developed by Neil Hodgson for the Win32 and
|
5
|
+
GTK+ platforms.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2747"></a>What is FXScintilla?</h2></div></div><div></div></div><p><a href="http://savannah.gnu.org/projects/fxscintilla" target="_top">FXScintilla </a> is
|
6
|
+
a FOX widget that wraps around the Scintilla component, or, if you wish,
|
7
|
+
the FOX "port" of Scintilla. It is being developed by Gilles Filippini,
|
8
|
+
and as of this writing the latest release is available for download from
|
9
|
+
<a href="http://savannah.nongnu.org/download/fxscintilla/fxscintilla-1.61.tar.gz" target="_top">http://savannah.nongnu.org/download/fxscintilla/fxscintilla-1.61.tar.gz</a>.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2757"></a>Compiling FXScintilla</h2></div></div><div></div></div><p>The FXScintilla distribution contains everything you need to build
|
10
|
+
the FXScintilla widget and begin using it in your C++-based FOX
|
11
|
+
applications. That is to say, you do not have to separately download the
|
12
|
+
Scintilla source code from the Scintilla home page. When you unpack the
|
13
|
+
FXScintilla tarball, you should get a new <tt class="filename">
|
14
|
+
fxscintilla-1.61</tt> directory containing the source code for the
|
15
|
+
FOX port of the Scintilla widget.</p><p>As of the 1.46 release of FXScintilla, the build process has been
|
16
|
+
"autoconfiscated" and should seem very familiar to you if you've built
|
17
|
+
other open-source software (like FOX) from the source code. The
|
18
|
+
<tt class="filename">INSTALL</tt> file in the top-level directory should
|
19
|
+
provide enough instruction for you to build and install FXScintilla for
|
20
|
+
either Unix or Microsoft Windows.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2770"></a>Enabling FXScintilla Support in FXRuby</h2></div></div><div></div></div><p>The next step is to build a version of FXRuby (from its source code)
|
21
|
+
with the optional FXScintilla support enabled. If you're working on a Unix
|
22
|
+
or Linux system and have installed FXScintilla in one of the standard
|
23
|
+
installation directories (e.g. under <tt class="filename">/usr/include</tt> or <tt class="filename">/usr/local/include</tt>), the regular FXRuby build
|
24
|
+
process should automatically detect it and enable FXScintilla
|
25
|
+
support.</p><p>If you have installed FXScintilla in some non-standard place, or if
|
26
|
+
you're building the code on Microsoft Windows, you will need to specify a
|
27
|
+
few additional configuration options at the beginning.</p><p>You can configure the build on Unix or Linux systems by
|
28
|
+
typing:</p><table border="0" bgcolor="#E0E0E0" width="100%"><tr><td><pre class="screen">
|
29
|
+
$ <b class="command">sudo gem install fxruby-1.2.0.gem --force -- --with-fxscintilla-include=/usr/local/include/fxscintilla --with-fxscintilla-lib=/usr/local/lib</b>
|
30
|
+
</pre></td></tr></table><p>or, when compiling with Microsoft Visual C++, by typing:</p><table border="0" bgcolor="#E0E0E0" width="100%"><tr><td><pre class="screen">
|
31
|
+
C:\> <b class="command">gem install fxruby-1.2.0.gem --force -- --with-fox-include=C:\fox-1.2.7\include --with-fox-lib=C:\fox-1.2.7\lib --with-fxscintilla-include=C:\fxscintilla-1.61\include --with-fxscintilla-lib=C:\fxscintilla-1.61\lib</b>
|
32
|
+
</pre></td></tr></table><p>Past this point, the build and installation process for either
|
33
|
+
platform should be the same as for standard builds. To test your new
|
34
|
+
FXScintilla-enabled build of FXRuby, try running the
|
35
|
+
<tt class="filename">scintilla-test.rb</tt> example program in the FXRuby
|
36
|
+
<tt class="filename">examples</tt> subdirectory.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="opengl.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="differences.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix A. Using OpenGL with FXRuby </td><td width="20%" align="center"><a accesskey="h" href="book.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix C. Differences between FOX and FXRuby</td></tr></table></div></body></html>
|
data/doc/todo.html
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
<html><head>
|
2
|
+
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
3
|
+
<title>Chapter 8. To-do list</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt01.html" title="Part I. The Basics"><link rel="previous" href="events.html" title="Chapter 7. FXRuby's Message-Target System"><link rel="next" href="infosources.html" title="Chapter 9. Other Sources of Information"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 8. To-do list</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="events.html">Prev</a> </td><th width="60%" align="center">Part I. The Basics</th><td width="20%" align="right"> <a accesskey="n" href="infosources.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="todo"></a>Chapter 8. To-do list</h2></div></div><div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>I haven't yet paid much attention to some of the more esoteric
|
4
|
+
issues such as multithreaded applications, or interactions with other
|
5
|
+
popular Ruby extensions. FXRuby seems to cooperate well with Ruby's
|
6
|
+
thread scheduler on all platforms, although threading support for the
|
7
|
+
mswin32 build of Ruby was broken for Ruby versions 1.6.7 and earlier.
|
8
|
+
For best results, use Ruby versions 1.6.8 or later.</p></li><li style="list-style-type: disc"><p>More examples are always good. Instead of (or in addition to)
|
9
|
+
merely cloning the C++ examples from the standard FOX distribution, it
|
10
|
+
would be nice to have original example programs that demonstrate
|
11
|
+
Ruby's special strengths.</p></li><li style="list-style-type: disc"><p>Documentation is of course a big weakness at this point. I am
|
12
|
+
slowly building up a set of "pseudo-sources" with RDoc-style
|
13
|
+
comments that can be used to generate API documentation but this is far
|
14
|
+
from complete (see the <tt class="filename">rdoc-sources</tt>
|
15
|
+
directory in the standard source distribution).</p></li><li style="list-style-type: disc"><p>Many people have expressed interest in a framework similar to
|
16
|
+
Tk's <tt class="classname">Canvas</tt> widget that allows you to draw
|
17
|
+
and drag 2-D shapes around, etc. Should be able to implement this kind
|
18
|
+
of thing directly in Ruby code (i.e. no need to write it in C++ first
|
19
|
+
and then "wrap" it).</p></li><li style="list-style-type: disc"><p>There is no native Mac OS X port of FOX, but many people are
|
20
|
+
successfully building and running FOX and FXRuby applications on Mac OS
|
21
|
+
X using Apple's X11 server implementation. For more information,
|
22
|
+
please see the <a href="http://www.fox-toolkit.net/cgi-bin/wiki.pl?Mac_OS_X" target="_top">Mac OS X</a>
|
23
|
+
page at the <a href="http://www.fox-toolkit.net" target="_top">FOX Community Wiki</a>
|
24
|
+
site.</p></li><li style="list-style-type: disc"><p>Need to investigate how well FXRuby-based applications work with
|
25
|
+
<a href="http://exerb.sourceforge.jp/index.en.html" target="_top">exerb</a>,
|
26
|
+
and perhaps add a section to the documentation about how to do this.</p></li><li style="list-style-type: disc"><p>As of this writing, FOX doesn't provide any support for
|
27
|
+
internationalization (I18N) or Unicode text and so FXRuby doesn't
|
28
|
+
either. It is possible that FOX 1.2 will include some I18N support (see
|
29
|
+
the <a href="http://www.fox-toolkit.net/cgi-bin/wiki.pl?FAQ" target="_top">FAQ</a>
|
30
|
+
at the <a href="http://www.fox-toolkit.net" target="_top">FOX Community Wiki</a>
|
31
|
+
site), and if so, appropriate changes will be made to FXRuby at that
|
32
|
+
time.</p></li><li style="list-style-type: disc"><p>FOX's list-like widgets (such as <tt class="classname">FXList</tt>)
|
33
|
+
behave differently from Ruby container objects (such as
|
34
|
+
<tt class="classname">Array</tt>) in the sense that when a list widget is
|
35
|
+
destroyed, it typically destroys all of its contained items at the same
|
36
|
+
time. One consequence of this behavior is that you can end up with Ruby
|
37
|
+
objects that refer to dead C++ objects (a variation of the dangling
|
38
|
+
pointer problem familiar to C/C++ programmers). I would like to see if
|
39
|
+
this behavior can be modified for FXRuby so that it's impossible to
|
40
|
+
end up with these "dangling references".</p></li></ul></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="events.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="pt01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="infosources.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 7. FXRuby's Message-Target System </td><td width="20%" align="center"><a accesskey="h" href="book.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 9. Other Sources of Information</td></tr></table></div></body></html>
|
data/doc/tutorial1.html
ADDED
@@ -0,0 +1,97 @@
|
|
1
|
+
<html><head>
|
2
|
+
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
3
|
+
<title>Chapter 3. Hello, World!</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt01.html" title="Part I. The Basics"><link rel="previous" href="gems.html" title="Chapter 2. Installing from Gems"><link rel="next" href="ch03s02.html" title="Better living through buttons"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Hello, World!</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="gems.html">Prev</a> </td><th width="60%" align="center">Part I. The Basics</th><td width="20%" align="right"> <a accesskey="n" href="ch03s02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="tutorial1"></a>Chapter 3. Hello, World!</h2></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="tutorial1.html#d0e619">First Things First</a></dt><dt><a href="ch03s02.html">Better living through buttons</a></dt><dt><a href="ch03s03.html">Messages</a></dt><dt><a href="ch03s04.html">Adding a tool tip</a></dt><dt><a href="ch03s05.html">Adding an icon</a></dt></dl></div><p>There are a few things common to all programs that use FXRuby, and the
|
4
|
+
purpose of this chapter is to help you get familiar with those. We'll do
|
5
|
+
this by developing a short program that simply displays a button containing
|
6
|
+
the text, "Hello, World!". For reference, this program is included in the
|
7
|
+
<tt class="filename">examples</tt> subdirectory of the standard FXRuby source
|
8
|
+
code distribution.</p><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e619"></a>First Things First</h2></div></div><div></div></div><p>All of the code associated with the FXRuby extension is provided by
|
9
|
+
the <tt class="classname">fxruby </tt>gem, so we need to start by requiring
|
10
|
+
this gem:</p><table border="0" bgcolor="#E0E0E0" width="100%"><tr><td><pre class="programlisting">require 'rubygems'
|
11
|
+
require_gem 'fxruby'</pre></td></tr></table><p>Since all of the FXRuby classes are defined under the
|
12
|
+
<tt class="classname">Fox</tt> module, you'd normally need to refer to them
|
13
|
+
using their "fully qualified" names (i.e. names that begin with the
|
14
|
+
<tt class="classname">Fox::</tt> prefix). Because this can get a little
|
15
|
+
tedious, and because there's not really much chance of name conflicts
|
16
|
+
between FXRuby and other Ruby extensions, I usually like to add an
|
17
|
+
<tt class="methodname">include Fox</tt> statement so that all of the names in
|
18
|
+
the <tt class="classname">Fox</tt> module are "included" into the global
|
19
|
+
namespace:</p><table border="0" bgcolor="#E0E0E0" width="100%"><tr><td><pre class="programlisting">require 'rubygems'
|
20
|
+
require_gem 'fxruby'
|
21
|
+
|
22
|
+
<span class="bold"><b>include Fox</b></span></pre></td></tr></table><p>Every FXRuby program begins by creating an
|
23
|
+
<tt class="classname">FXApp</tt> instance:</p><table border="0" bgcolor="#E0E0E0" width="100%"><tr><td><pre class="programlisting">require 'rubygems'
|
24
|
+
require_gem 'fxruby'
|
25
|
+
|
26
|
+
include Fox
|
27
|
+
|
28
|
+
<span class="bold"><b>theApp = FXApp.new</b></span></pre></td></tr></table><p>The <tt class="classname">FXApp</tt> instance has a lot of
|
29
|
+
responsibilities in an FXRuby application. One of the most frequent ways
|
30
|
+
you'll use it is to kick off the application's main event loop (which
|
31
|
+
you'll see later in this tutorial). The application is also the object
|
32
|
+
responsible for managing "global" resources like timers and the FOX
|
33
|
+
registry. It is a different approach from some other GUI toolkits for
|
34
|
+
Ruby, where these kinds of global resources are accessed using
|
35
|
+
module-level methods. As you continue to develop programs using FXRuby,
|
36
|
+
you'll learn about other ways that the <tt class="classname">FXApp</tt> object
|
37
|
+
is used.</p><p>The next step is to create an <tt class="classname">FXMainWindow</tt>
|
38
|
+
instance to serve as the application's main window. If you've used Ruby/Tk
|
39
|
+
before, this is similar to its <tt class="classname">TkRoot</tt>
|
40
|
+
window:</p><table border="0" bgcolor="#E0E0E0" width="100%"><tr><td><pre class="programlisting">require 'rubygems'
|
41
|
+
require_gem 'fxruby'
|
42
|
+
|
43
|
+
include Fox
|
44
|
+
|
45
|
+
theApp = FXApp.new
|
46
|
+
|
47
|
+
<span class="bold"><b>theMainWindow = FXMainWindow.new(theApp, "Hello")</b></span></pre></td></tr></table><p>Here, we pass <i class="parameter"><tt>theApp</tt></i> as the first argument to
|
48
|
+
<tt class="methodname">FXMainWindow.new</tt> to associate the new
|
49
|
+
<tt class="classname">FXMainWindow</tt> instance with this
|
50
|
+
<tt class="classname">FXApp</tt>. The second argument to
|
51
|
+
<tt class="methodname">FXMainWindow.new</tt> is a string that will be used
|
52
|
+
for the main window's title.</p><p>So far, all we've done is instantiate the client-side objects.
|
53
|
+
Unlike most other toolkits, FOX makes a distinction between client-side
|
54
|
+
data (such as an <tt class="classname">FXMainWindow</tt> object) and
|
55
|
+
server-side data (such as the X window associated with that Ruby object).
|
56
|
+
To create the server-side objects associated with the already-constructed
|
57
|
+
client-side objects, we call <tt class="methodname">FXApp#create</tt>:</p><table border="0" bgcolor="#E0E0E0" width="100%"><tr><td><pre class="programlisting">require 'rubygems'
|
58
|
+
require_gem 'fxruby'
|
59
|
+
|
60
|
+
include Fox
|
61
|
+
|
62
|
+
theApp = FXApp.new
|
63
|
+
|
64
|
+
theMainWindow = FXMainWindow.new(theApp, "Hello")
|
65
|
+
|
66
|
+
<span class="bold"><b>theApp.create</b></span></pre></td></tr></table><p>By default, all windows in FXRuby programs are invisible, so we need
|
67
|
+
to call our main window's <tt class="methodname">show</tt> instance
|
68
|
+
method:</p><table border="0" bgcolor="#E0E0E0" width="100%"><tr><td><pre class="programlisting">require 'rubygems'
|
69
|
+
require_gem 'fxruby'
|
70
|
+
|
71
|
+
include Fox
|
72
|
+
|
73
|
+
theApp = FXApp.new
|
74
|
+
|
75
|
+
theMainWindow = FXMainWindow.new(theApp, "Hello")
|
76
|
+
theApp.create
|
77
|
+
|
78
|
+
<span class="bold"><b>theMainWindow.show</b></span></pre></td></tr></table><p>The last step is to start the program's main loop by calling
|
79
|
+
<i class="parameter"><tt>theApp</tt></i>'s <tt class="methodname">run</tt> instance
|
80
|
+
method:</p><table border="0" bgcolor="#E0E0E0" width="100%"><tr><td><pre class="programlisting">require 'rubygems'
|
81
|
+
require_gem 'fxruby'
|
82
|
+
|
83
|
+
include Fox
|
84
|
+
|
85
|
+
theApp = FXApp.new
|
86
|
+
|
87
|
+
theMainWindow = FXMainWindow.new(theApp, "Hello")
|
88
|
+
theApp.create
|
89
|
+
|
90
|
+
theMainWindow.show
|
91
|
+
|
92
|
+
<span class="bold"><b>theApp.run</b></span></pre></td></tr></table><p>The <tt class="methodname">FXApp#run</tt> method doesn't return until
|
93
|
+
the program exits. It is similar to the <tt class="methodname">mainloop</tt>
|
94
|
+
method used for Ruby/Tk and Ruby/GTK, and you can in fact use
|
95
|
+
<tt class="methodname">FXApp#mainloop</tt> as an alias for
|
96
|
+
<tt class="methodname">run</tt> if you prefer.</p><p>At this point, we have a working (if not very interesting) program
|
97
|
+
that uses FXRuby. If you run it, you'll see something like this:</p><div class="screenshot"><div class="mediaobject" align="center"><img src="images/hello-without-button.png" align="middle"></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="gems.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="pt01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch03s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 2. Installing from Gems </td><td width="20%" align="center"><a accesskey="h" href="book.html">Home</a></td><td width="40%" align="right" valign="top"> Better living through buttons</td></tr></table></div></body></html>
|
data/examples/RAA.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'soap/rpc/driver'
|
2
|
+
require 'iRAA'
|
3
|
+
|
4
|
+
module RAA
|
5
|
+
extend SOAP
|
6
|
+
|
7
|
+
class Driver
|
8
|
+
def initialize(server = 'http://raa.ruby-lang.org/soap/1.0/', proxy = nil)
|
9
|
+
@drv = SOAP::RPC::Driver.new(server, RAA::InterfaceNS)
|
10
|
+
@drv.httpproxy = proxy if proxy
|
11
|
+
@drv.mapping_registry = RAA::MappingRegistry
|
12
|
+
RAA::Methods.each do |name, *params|
|
13
|
+
@drv.add_method(name, params)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def setLogDev(logdev)
|
18
|
+
# ignored.
|
19
|
+
end
|
20
|
+
|
21
|
+
def method_missing(msg_id, *a, &b)
|
22
|
+
@drv.__send__(msg_id, *a, &b)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/examples/README
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
This directory contains several example programs for FXRuby, and supporting
|
2
|
+
files for the same. Here is a partial list of the files you'll find here:
|
3
|
+
|
4
|
+
button.rb
|
5
|
+
Demonstrates the various layout and appearance options for the
|
6
|
+
FXButton widget.
|
7
|
+
|
8
|
+
dialog.rb
|
9
|
+
Simple example demonstrating how to create both modal and non-modal
|
10
|
+
dialogs.
|
11
|
+
|
12
|
+
dirlist.rb
|
13
|
+
Demonstrates the directory list (FXDirList) widget.
|
14
|
+
|
15
|
+
foursplit.rb
|
16
|
+
Demonstrates the 4-way splitter widget.
|
17
|
+
|
18
|
+
gltest.rb
|
19
|
+
Demonstrates the OpenGL canvas widget, and how to use both timers
|
20
|
+
and chores in FOX applications. This one also requires the OpenGL
|
21
|
+
extensions for Ruby; check the Ruby Application Archive for the
|
22
|
+
current release.
|
23
|
+
|
24
|
+
groupbox.rb
|
25
|
+
This is a kind of periodic table of widgets for FOX; it displays
|
26
|
+
a wide variety of the core widgets with different options.
|
27
|
+
|
28
|
+
header.rb
|
29
|
+
Demonstrates the header widget.
|
30
|
+
|
31
|
+
hello.rb
|
32
|
+
Minimalist FXRuby: the classic "Hello, World!" program
|
33
|
+
|
34
|
+
hello2.rb
|
35
|
+
The souped-up version of "Hello, World!", complete with a PNG icon
|
36
|
+
and tooltips.
|
37
|
+
|
38
|
+
imageviewer.rb
|
39
|
+
This is primarily a demonstration of the image view (FXImageView)
|
40
|
+
widget but it also provides a model for what could be a full-blown
|
41
|
+
FXRuby application. This example has a menu bar and toolbar (both
|
42
|
+
"floatable") and demonstrates how to use FOX's registry mechanism
|
43
|
+
for persistent application settings.
|
44
|
+
and tooltips.
|
45
|
+
|
46
|
+
scribble.rb
|
47
|
+
This is the Ruby version of the scribble program described in the
|
48
|
+
standard FOX documentation. It demonstrates the basics of drawing
|
49
|
+
into a 2-D canvas as well as FOX's GUI updating features.
|
50
|
+
|
51
|
+
shutter.rb
|
52
|
+
Demonstrates the shutter widget, similar to that found in a popular
|
53
|
+
office application.
|
@@ -0,0 +1,107 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'fox12'
|
4
|
+
begin
|
5
|
+
require 'soap/driver'
|
6
|
+
rescue LoadError
|
7
|
+
require 'fox12/missingdep'
|
8
|
+
MSG = <<EOM
|
9
|
+
Sorry, this example depends on the SOAP4R extension. Please
|
10
|
+
check the Ruby Application Archives for an appropriate
|
11
|
+
download site.
|
12
|
+
EOM
|
13
|
+
missingDependency(MSG)
|
14
|
+
end
|
15
|
+
|
16
|
+
include Fox
|
17
|
+
|
18
|
+
TRANSLATIONS = {
|
19
|
+
"English to French" => "en_fr",
|
20
|
+
"English to German" => "en_de",
|
21
|
+
"English to Italian" => "en_it",
|
22
|
+
"English to Japanese" => "en_jp",
|
23
|
+
"English to Korean" => "en_kr",
|
24
|
+
"English to Portugese" => "en_pt",
|
25
|
+
"English to Spanish" => "en_es",
|
26
|
+
"French to English" => "fr_en",
|
27
|
+
"German to English" => "de_en",
|
28
|
+
"Italian to English" => "it_en",
|
29
|
+
"Japanese to English" => "jp_en",
|
30
|
+
"Korean to English" => "kr_en",
|
31
|
+
"Portugese to English" => "pt_en",
|
32
|
+
"Spanish to English" => "es_en",
|
33
|
+
"Russian to English" => "ru_en",
|
34
|
+
"German to French" => "de_fr",
|
35
|
+
"French to German" => "fr_de"
|
36
|
+
}
|
37
|
+
|
38
|
+
class Babelfish < FXMainWindow
|
39
|
+
|
40
|
+
def initialize(app)
|
41
|
+
# Invoke base class initialize first
|
42
|
+
super(app, "Babelfish", nil, nil, DECOR_ALL,
|
43
|
+
0, 0, 600, 400, 0, 0)
|
44
|
+
|
45
|
+
# Initialize the SOAP driver
|
46
|
+
@drv = SOAP::Driver.new(nil, nil, 'urn:xmethodsBabelFish',
|
47
|
+
'http://services.xmethods.net/perl/soaplite.cgi')
|
48
|
+
@drv.addMethodWithSOAPAction('BabelFish',
|
49
|
+
'urn:xmethodsBabelFish#BabelFish', 'translationmode', 'sourcedata')
|
50
|
+
|
51
|
+
# Controls area along the bottom
|
52
|
+
controlsFrame = FXHorizontalFrame.new(self,
|
53
|
+
LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X)
|
54
|
+
FXLabel.new(controlsFrame, "Translate from:")
|
55
|
+
@transModeCombo = FXComboBox.new(controlsFrame, 15, 6, nil, 0,
|
56
|
+
COMBOBOX_STATIC|FRAME_SUNKEN|FRAME_THICK)
|
57
|
+
TRANSLATIONS.keys.each do |key|
|
58
|
+
@transModeCombo.appendItem(key, TRANSLATIONS[key])
|
59
|
+
end
|
60
|
+
btn = FXButton.new(controlsFrame, "Translate", nil, nil, 0,
|
61
|
+
BUTTON_NORMAL|LAYOUT_SIDE_RIGHT)
|
62
|
+
btn.connect(SEL_COMMAND) do
|
63
|
+
transMode = @transModeCombo.getItemData(@transModeCombo.currentItem)
|
64
|
+
getApp().beginWaitCursor() do
|
65
|
+
@translatedText.text = @drv.BabelFish(transMode, @sourceText.text)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
mainFrame = FXVerticalFrame.new(self,
|
70
|
+
LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y|PACK_UNIFORM_HEIGHT)
|
71
|
+
|
72
|
+
# Source text area in a sunken frame
|
73
|
+
topFrame = FXVerticalFrame.new(mainFrame, LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
74
|
+
FXLabel.new(topFrame, "Source Text:", nil, LAYOUT_FILL_X)
|
75
|
+
sunkenFrame = FXHorizontalFrame.new(topFrame,
|
76
|
+
FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
77
|
+
@sourceText = FXText.new(sunkenFrame, nil, 0,
|
78
|
+
LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
79
|
+
|
80
|
+
# Translated text output
|
81
|
+
bottomFrame = FXVerticalFrame.new(mainFrame, LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
82
|
+
FXLabel.new(bottomFrame, "Translated text:", nil, LAYOUT_FILL_X)
|
83
|
+
sunkenFrame = FXHorizontalFrame.new(bottomFrame,
|
84
|
+
FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
85
|
+
@translatedText = FXText.new(sunkenFrame, nil, 0,
|
86
|
+
TEXT_READONLY|LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
87
|
+
end
|
88
|
+
|
89
|
+
def create
|
90
|
+
super
|
91
|
+
show(PLACEMENT_SCREEN)
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
if __FILE__ == $0
|
96
|
+
# Make application
|
97
|
+
application = FXApp.new("Babelfish", "FoxTest")
|
98
|
+
|
99
|
+
# Make window
|
100
|
+
window = Babelfish.new(application)
|
101
|
+
|
102
|
+
# Create it
|
103
|
+
application.create
|
104
|
+
|
105
|
+
# Run
|
106
|
+
application.run
|
107
|
+
end
|
data/examples/bounce.rb
ADDED
@@ -0,0 +1,159 @@
|
|
1
|
+
require 'fox12'
|
2
|
+
|
3
|
+
include Fox
|
4
|
+
|
5
|
+
# How long to pause between updates (in milliseconds)
|
6
|
+
ANIMATION_TIME = 20
|
7
|
+
|
8
|
+
class Ball
|
9
|
+
|
10
|
+
attr_reader :color
|
11
|
+
attr_reader :center
|
12
|
+
attr_reader :radius
|
13
|
+
attr_reader :dir
|
14
|
+
attr_reader :x, :y
|
15
|
+
attr_reader :w, :h
|
16
|
+
attr_accessor :worldWidth
|
17
|
+
attr_accessor :worldHeight
|
18
|
+
|
19
|
+
# Returns an initialized ball
|
20
|
+
def initialize(r)
|
21
|
+
@radius = r
|
22
|
+
@w = 2*@radius
|
23
|
+
@h = 2*@radius
|
24
|
+
@center = FXPoint.new(50, 50)
|
25
|
+
@x = @center.x - @radius
|
26
|
+
@y = @center.y - @radius
|
27
|
+
@color = FXRGB(255, 0, 0) # red
|
28
|
+
@dir = FXPoint.new(-1, 0)
|
29
|
+
setWorldSize(1000, 1000)
|
30
|
+
end
|
31
|
+
|
32
|
+
# Draw the ball into this device context
|
33
|
+
def draw(dc)
|
34
|
+
dc.setForeground(color)
|
35
|
+
dc.fillArc(x, y, w, h, 0, 64*90)
|
36
|
+
dc.fillArc(x, y, w, h, 64*90, 64*180)
|
37
|
+
dc.fillArc(x, y, w, h, 64*180, 64*270)
|
38
|
+
dc.fillArc(x, y, w, h, 64*270, 64*360)
|
39
|
+
end
|
40
|
+
|
41
|
+
def bounce
|
42
|
+
@dir = -@dir
|
43
|
+
end
|
44
|
+
|
45
|
+
def collision?
|
46
|
+
(x < 0) || (x+w > worldWidth) || (y < 0) || (y+h > worldHeight)
|
47
|
+
end
|
48
|
+
|
49
|
+
def setWorldSize(ww, wh)
|
50
|
+
@worldWidth = ww
|
51
|
+
@worldHeight = wh
|
52
|
+
end
|
53
|
+
|
54
|
+
def move(units)
|
55
|
+
dx = dir.x*units
|
56
|
+
dy = dir.y*units
|
57
|
+
center.x += dx
|
58
|
+
center.y += dy
|
59
|
+
@x += dx
|
60
|
+
@y += dy
|
61
|
+
if collision?
|
62
|
+
bounce
|
63
|
+
move(units)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
class BounceWindow < FXMainWindow
|
69
|
+
|
70
|
+
include Responder
|
71
|
+
|
72
|
+
def initialize(app)
|
73
|
+
# Initialize base class first
|
74
|
+
super(app, "Bounce", nil, nil, DECOR_ALL, 0, 0, 400, 300)
|
75
|
+
|
76
|
+
# Set up the canvas
|
77
|
+
@canvas = FXCanvas.new(self, nil, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
78
|
+
|
79
|
+
# Set up the back buffer
|
80
|
+
@backBuffer = FXImage.new(app, nil, IMAGE_KEEP)
|
81
|
+
|
82
|
+
# Handle expose events (by blitting the image to the canvas)
|
83
|
+
@canvas.connect(SEL_PAINT) { |sender, sel, evt|
|
84
|
+
FXDCWindow.new(sender, evt) { |dc|
|
85
|
+
dc.drawImage(@backBuffer, 0, 0)
|
86
|
+
}
|
87
|
+
}
|
88
|
+
|
89
|
+
# Handle resize events
|
90
|
+
@canvas.connect(SEL_CONFIGURE) { |sender, sel, evt|
|
91
|
+
@backBuffer.create unless @backBuffer.created?
|
92
|
+
@backBuffer.resize(sender.width, sender.height)
|
93
|
+
@ball.setWorldSize(sender.width, sender.height)
|
94
|
+
drawScene(@backBuffer)
|
95
|
+
}
|
96
|
+
|
97
|
+
@ball = Ball.new(20)
|
98
|
+
end
|
99
|
+
|
100
|
+
#
|
101
|
+
# Draws the scene into the back buffer
|
102
|
+
#
|
103
|
+
def drawScene(drawable)
|
104
|
+
FXDCWindow.new(drawable) { |dc|
|
105
|
+
dc.setForeground(FXRGB(255, 255, 255))
|
106
|
+
dc.fillRectangle(0, 0, drawable.width, drawable.height)
|
107
|
+
@ball.draw(dc)
|
108
|
+
}
|
109
|
+
end
|
110
|
+
|
111
|
+
def updateCanvas
|
112
|
+
@ball.move(10)
|
113
|
+
drawScene(@backBuffer)
|
114
|
+
@canvas.update
|
115
|
+
end
|
116
|
+
|
117
|
+
#
|
118
|
+
# Handle timeout events
|
119
|
+
#
|
120
|
+
def onTimeout(sender, sel, ptr)
|
121
|
+
# Move the ball and re-draw the scene
|
122
|
+
updateCanvas
|
123
|
+
|
124
|
+
# Re-register the timeout
|
125
|
+
getApp().addTimeout(ANIMATION_TIME, method(:onTimeout))
|
126
|
+
|
127
|
+
# Done
|
128
|
+
return 1
|
129
|
+
end
|
130
|
+
|
131
|
+
#
|
132
|
+
# Create server-side resources
|
133
|
+
#
|
134
|
+
def create
|
135
|
+
# Create base class
|
136
|
+
super
|
137
|
+
|
138
|
+
# Create the image used as the back-buffer
|
139
|
+
@backBuffer.create
|
140
|
+
|
141
|
+
# Draw the initial scene into the back-buffer
|
142
|
+
drawScene(@backBuffer)
|
143
|
+
|
144
|
+
# Register the timer used for animation
|
145
|
+
getApp().addTimeout(ANIMATION_TIME, method(:onTimeout))
|
146
|
+
|
147
|
+
# Show the main window
|
148
|
+
show(PLACEMENT_SCREEN)
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
if __FILE__ == $0
|
153
|
+
FXApp.new("Bounce", "FXRuby") { |theApp|
|
154
|
+
BounceWindow.new(theApp)
|
155
|
+
theApp.create
|
156
|
+
theApp.run
|
157
|
+
}
|
158
|
+
end
|
159
|
+
|