fxruby 1.6.50 → 1.6.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.github/workflows/binary.yml +17 -0
- data/.github/workflows/ci.yml +13 -2
- data/Gemfile +7 -2
- data/History.md +14 -0
- data/Rakefile +28 -46
- data/doap.rdf +2 -2
- data/docs/Fox/Canvas/CanvasError.html +2 -2
- data/docs/Fox/Canvas/CircleShape.html +2 -2
- data/docs/Fox/Canvas/ImageShape.html +2 -2
- data/docs/Fox/Canvas/LineShape.html +2 -2
- data/docs/Fox/Canvas/PolygonShape.html +2 -2
- data/docs/Fox/Canvas/RectangleShape.html +2 -2
- data/docs/Fox/Canvas/SelectionPolicy.html +2 -2
- data/docs/Fox/Canvas/Shape.html +3 -3
- data/docs/Fox/Canvas/ShapeCanvas.html +2 -2
- data/docs/Fox/Canvas/ShapeGroup.html +2 -2
- data/docs/Fox/Canvas/SingleSelectionPolicy.html +2 -2
- data/docs/Fox/Canvas/TextShape.html +7 -9
- data/docs/Fox/Canvas.html +3 -3
- data/docs/Fox/FTNonModal.html +2 -2
- data/docs/Fox/FX4Splitter.html +41 -41
- data/docs/Fox/FX7Segment.html +5 -5
- data/docs/Fox/FXAccelTable.html +2 -2
- data/docs/Fox/FXApp.html +54 -54
- data/docs/Fox/FXArc.html +2 -2
- data/docs/Fox/FXArrowButton.html +22 -22
- data/docs/Fox/FXBMPIcon.html +10 -10
- data/docs/Fox/FXBMPImage.html +9 -9
- data/docs/Fox/FXBitmap.html +7 -7
- data/docs/Fox/FXBitmapFrame.html +3 -3
- data/docs/Fox/FXBitmapView.html +4 -4
- data/docs/Fox/FXButton.html +21 -21
- data/docs/Fox/FXCURCursor.html +2 -2
- data/docs/Fox/FXCalendar.html +4 -4
- data/docs/Fox/FXCanvas.html +7 -7
- data/docs/Fox/FXCheckButton.html +13 -13
- data/docs/Fox/FXChoiceBox.html +20 -20
- data/docs/Fox/FXColor.html +2 -2
- data/docs/Fox/FXColorBar.html +10 -10
- data/docs/Fox/FXColorDialog.html +7 -7
- data/docs/Fox/FXColorItem.html +2 -2
- data/docs/Fox/FXColorList.html +2 -2
- data/docs/Fox/FXColorRing.html +7 -7
- data/docs/Fox/FXColorSelector.html +36 -36
- data/docs/Fox/FXColorWell.html +19 -19
- data/docs/Fox/FXColorWheel.html +20 -20
- data/docs/Fox/FXComboBox.html +31 -31
- data/docs/Fox/FXComboTableItem.html +2 -2
- data/docs/Fox/FXCommand.html +2 -2
- data/docs/Fox/FXComposite.html +5 -5
- data/docs/Fox/FXCursor.html +14 -14
- data/docs/Fox/FXDC.html +207 -207
- data/docs/Fox/FXDCPrint.html +2 -2
- data/docs/Fox/FXDCWindow.html +2 -2
- data/docs/Fox/FXDataTarget.html +8 -8
- data/docs/Fox/FXDebugTarget.html +3 -3
- data/docs/Fox/FXDelegator.html +2 -2
- data/docs/Fox/FXDial.html +28 -28
- data/docs/Fox/FXDialogBox.html +5 -5
- data/docs/Fox/FXDict.html +2 -2
- data/docs/Fox/FXDirBox.html +7 -7
- data/docs/Fox/FXDirDialog.html +2 -2
- data/docs/Fox/FXDirItem.html +2 -2
- data/docs/Fox/FXDirList.html +19 -19
- data/docs/Fox/FXDirSelector.html +15 -15
- data/docs/Fox/FXDockBar.html +27 -27
- data/docs/Fox/FXDockHandler.html +5 -5
- data/docs/Fox/FXDockSite.html +14 -14
- data/docs/Fox/FXDockTitle.html +2 -2
- data/docs/Fox/FXDocument.html +5 -5
- data/docs/Fox/FXDragCorner.html +2 -2
- data/docs/Fox/FXDrawable.html +5 -5
- data/docs/Fox/FXDriveBox.html +5 -5
- data/docs/Fox/FXEvent.html +62 -60
- data/docs/Fox/FXExtentd.html +2 -2
- data/docs/Fox/FXExtentf.html +2 -2
- data/docs/Fox/FXFileAssoc.html +2 -2
- data/docs/Fox/FXFileDialog.html +32 -32
- data/docs/Fox/FXFileDict.html +7 -7
- data/docs/Fox/FXFileItem.html +2 -2
- data/docs/Fox/FXFileList.html +27 -27
- data/docs/Fox/FXFileSelector.html +35 -35
- data/docs/Fox/FXFileStream.html +6 -6
- data/docs/Fox/FXFoldingItem.html +2 -2
- data/docs/Fox/FXFoldingList.html +41 -41
- data/docs/Fox/FXFont.html +172 -170
- data/docs/Fox/FXFontDesc.html +2 -2
- data/docs/Fox/FXFontDialog.html +2 -2
- data/docs/Fox/FXFontSelector.html +14 -14
- data/docs/Fox/FXFrame.html +4 -4
- data/docs/Fox/FXGIFCursor.html +2 -2
- data/docs/Fox/FXGIFIcon.html +10 -10
- data/docs/Fox/FXGIFImage.html +9 -9
- data/docs/Fox/FXGLCanvas.html +2 -2
- data/docs/Fox/FXGLCone.html +2 -2
- data/docs/Fox/FXGLContext.html +2 -2
- data/docs/Fox/FXGLCube.html +2 -2
- data/docs/Fox/FXGLCylinder.html +2 -2
- data/docs/Fox/FXGLGroup.html +2 -2
- data/docs/Fox/FXGLLine.html +2 -2
- data/docs/Fox/FXGLObject.html +14 -14
- data/docs/Fox/FXGLPoint.html +2 -2
- data/docs/Fox/FXGLShape.html +26 -26
- data/docs/Fox/FXGLSphere.html +2 -2
- data/docs/Fox/FXGLViewer.html +74 -74
- data/docs/Fox/FXGLVisual.html +2 -2
- data/docs/Fox/FXGradient.html +2 -2
- data/docs/Fox/FXGradientBar.html +34 -34
- data/docs/Fox/FXGroupBox.html +7 -7
- data/docs/Fox/FXHeader.html +20 -20
- data/docs/Fox/FXHeaderItem.html +19 -19
- data/docs/Fox/FXHiliteStyle.html +2 -2
- data/docs/Fox/FXHorizontalFrame.html +15 -15
- data/docs/Fox/FXHorizontalSeparator.html +13 -13
- data/docs/Fox/FXICOIcon.html +10 -10
- data/docs/Fox/FXICOImage.html +9 -9
- data/docs/Fox/FXIcon.html +10 -10
- data/docs/Fox/FXIconDict.html +2 -2
- data/docs/Fox/FXIconItem.html +2 -2
- data/docs/Fox/FXIconList.html +43 -43
- data/docs/Fox/FXIconSource.html +2 -2
- data/docs/Fox/FXId.html +2 -2
- data/docs/Fox/FXImage.html +120 -297
- data/docs/Fox/FXImageFrame.html +14 -14
- data/docs/Fox/FXImageView.html +13 -13
- data/docs/Fox/FXInputDialog.html +7 -7
- data/docs/Fox/FXIrb.html +2 -2
- data/docs/Fox/FXJPGIcon.html +11 -11
- data/docs/Fox/FXJPGImage.html +10 -10
- data/docs/Fox/FXKnob.html +17 -17
- data/docs/Fox/FXLabel.html +25 -25
- data/docs/Fox/FXLight.html +2 -2
- data/docs/Fox/FXList.html +29 -29
- data/docs/Fox/FXListBox.html +8 -8
- data/docs/Fox/FXListItem.html +2 -2
- data/docs/Fox/FXMDIChild.html +21 -21
- data/docs/Fox/FXMDIClient.html +224 -28
- data/docs/Fox/FXMDIDeleteButton.html +2 -2
- data/docs/Fox/FXMDIMaximizeButton.html +2 -2
- data/docs/Fox/FXMDIMenu.html +2 -2
- data/docs/Fox/FXMDIMinimizeButton.html +2 -2
- data/docs/Fox/FXMDIRestoreButton.html +2 -2
- data/docs/Fox/FXMDIWindowButton.html +2 -2
- data/docs/Fox/FXMainWindow.html +4 -4
- data/docs/Fox/FXMaterial.html +2 -2
- data/docs/Fox/FXMatrix.html +5 -5
- data/docs/Fox/FXMemoryBuffer.html +4 -4
- data/docs/Fox/FXMemoryStream.html +8 -8
- data/docs/Fox/FXMenuBar.html +2 -2
- data/docs/Fox/FXMenuButton.html +24 -24
- data/docs/Fox/FXMenuCaption.html +5 -5
- data/docs/Fox/FXMenuCascade.html +2 -2
- data/docs/Fox/FXMenuCheck.html +4 -4
- data/docs/Fox/FXMenuCommand.html +4 -4
- data/docs/Fox/FXMenuPane.html +2 -2
- data/docs/Fox/FXMenuRadio.html +4 -4
- data/docs/Fox/FXMenuSeparator.html +2 -2
- data/docs/Fox/FXMenuTitle.html +7 -7
- data/docs/Fox/FXMessageBox.html +21 -21
- data/docs/Fox/FXObject.html +2 -2
- data/docs/Fox/FXOption.html +8 -8
- data/docs/Fox/FXOptionMenu.html +8 -8
- data/docs/Fox/FXPCXIcon.html +10 -10
- data/docs/Fox/FXPCXImage.html +9 -9
- data/docs/Fox/FXPNGIcon.html +10 -10
- data/docs/Fox/FXPNGImage.html +9 -9
- data/docs/Fox/FXPPMIcon.html +10 -10
- data/docs/Fox/FXPPMImage.html +9 -9
- data/docs/Fox/FXPSBounds.html +2 -2
- data/docs/Fox/FXPacker.html +2 -2
- data/docs/Fox/FXPicker.html +5 -5
- data/docs/Fox/FXPopup.html +6 -6
- data/docs/Fox/FXPrintDialog.html +23 -23
- data/docs/Fox/FXPrinter.html +22 -22
- data/docs/Fox/FXProgressBar.html +8 -8
- data/docs/Fox/FXProgressDialog.html +6 -6
- data/docs/Fox/FXPseudoKeyboard.html +2 -2
- data/docs/Fox/FXPseudoMouse.html +2 -2
- data/docs/Fox/FXPseudoTarget.html +2 -2
- data/docs/Fox/FXQuatd.html +19 -19
- data/docs/Fox/FXQuatf.html +24 -24
- data/docs/Fox/FXRGBIcon.html +10 -10
- data/docs/Fox/FXRGBImage.html +9 -9
- data/docs/Fox/FXRadioButton.html +12 -12
- data/docs/Fox/FXRanged.html +2 -2
- data/docs/Fox/FXRangef.html +2 -2
- data/docs/Fox/FXRealSlider.html +40 -40
- data/docs/Fox/FXRealSpinner.html +32 -32
- data/docs/Fox/FXRecentFiles.html +17 -17
- data/docs/Fox/FXRectangle.html +15 -15
- data/docs/Fox/FXRegion.html +2 -2
- data/docs/Fox/FXRegistry.html +2 -2
- data/docs/Fox/FXReplaceDialog.html +29 -29
- data/docs/Fox/FXRootWindow.html +5 -5
- data/docs/Fox/FXRuler.html +31 -31
- data/docs/Fox/FXRulerView.html +2 -2
- data/docs/Fox/FXScintilla.html +9116 -2763
- data/docs/Fox/FXScrollArea.html +21 -21
- data/docs/Fox/FXScrollBar.html +31 -31
- data/docs/Fox/FXScrollCorner.html +2 -2
- data/docs/Fox/FXScrollPane.html +6 -6
- data/docs/Fox/FXScrollWindow.html +9 -9
- data/docs/Fox/FXSearchDialog.html +11 -11
- data/docs/Fox/FXSegment.html +2 -2
- data/docs/Fox/FXSeparator.html +7 -7
- data/docs/Fox/FXSettings.html +56 -56
- data/docs/Fox/FXShell.html +2 -2
- data/docs/Fox/FXShutter.html +24 -24
- data/docs/Fox/FXShutterItem.html +19 -19
- data/docs/Fox/FXSize.html +12 -12
- data/docs/Fox/FXSlider.html +40 -40
- data/docs/Fox/FXSphered.html +2 -2
- data/docs/Fox/FXSpheref.html +2 -2
- data/docs/Fox/FXSpinner.html +31 -31
- data/docs/Fox/FXSplashScreen.html +3 -3
- data/docs/Fox/FXSplashWindow.html +7 -7
- data/docs/Fox/FXSplitter.html +22 -22
- data/docs/Fox/FXSpring.html +17 -17
- data/docs/Fox/FXStatusBar.html +17 -17
- data/docs/Fox/FXStatusLine.html +8 -8
- data/docs/Fox/FXStream.html +26 -26
- data/docs/Fox/FXStreamAllocError.html +2 -2
- data/docs/Fox/FXStreamEndError.html +2 -2
- data/docs/Fox/FXStreamError.html +2 -2
- data/docs/Fox/FXStreamFailureError.html +2 -2
- data/docs/Fox/FXStreamFormatError.html +2 -2
- data/docs/Fox/FXStreamFullError.html +2 -2
- data/docs/Fox/FXStreamNoReadError.html +2 -2
- data/docs/Fox/FXStreamNoWriteError.html +2 -2
- data/docs/Fox/FXStreamUnknownError.html +2 -2
- data/docs/Fox/FXStringDict.html +2 -2
- data/docs/Fox/FXSwitcher.html +30 -30
- data/docs/Fox/FXTGAIcon.html +10 -10
- data/docs/Fox/FXTGAImage.html +9 -9
- data/docs/Fox/FXTIFIcon.html +10 -10
- data/docs/Fox/FXTIFImage.html +9 -9
- data/docs/Fox/FXTabBar.html +37 -37
- data/docs/Fox/FXTabBook.html +15 -15
- data/docs/Fox/FXTabItem.html +27 -27
- data/docs/Fox/FXTable.html +89 -89
- data/docs/Fox/FXTableItem.html +6 -6
- data/docs/Fox/FXTablePos.html +2 -2
- data/docs/Fox/FXTableRange.html +2 -2
- data/docs/Fox/FXText.html +115 -115
- data/docs/Fox/FXTextChange.html +2 -2
- data/docs/Fox/FXTextField.html +55 -55
- data/docs/Fox/FXToggleButton.html +31 -31
- data/docs/Fox/FXToolBar.html +15 -15
- data/docs/Fox/FXToolBarGrip.html +14 -14
- data/docs/Fox/FXToolBarShell.html +11 -11
- data/docs/Fox/FXToolBarTab.html +21 -21
- data/docs/Fox/FXToolTip.html +12 -10
- data/docs/Fox/FXTopWindow.html +34 -34
- data/docs/Fox/FXTranslator.html +2 -2
- data/docs/Fox/FXTreeItem.html +2 -2
- data/docs/Fox/FXTreeList.html +41 -41
- data/docs/Fox/FXTreeListBox.html +23 -23
- data/docs/Fox/FXTriStateButton.html +21 -21
- data/docs/Fox/FXUndoList.html +3 -3
- data/docs/Fox/FXVec2d.html +2 -2
- data/docs/Fox/FXVec2f.html +2 -2
- data/docs/Fox/FXVec3d.html +2 -2
- data/docs/Fox/FXVec3f.html +2 -2
- data/docs/Fox/FXVec4d.html +2 -2
- data/docs/Fox/FXVec4f.html +2 -2
- data/docs/Fox/FXVerticalFrame.html +15 -15
- data/docs/Fox/FXVerticalSeparator.html +13 -13
- data/docs/Fox/FXViewport.html +2 -2
- data/docs/Fox/FXVisual.html +24 -24
- data/docs/Fox/FXWindow.html +143 -143
- data/docs/Fox/FXWizard.html +5 -5
- data/docs/Fox/FXXBMIcon.html +11 -11
- data/docs/Fox/FXXBMImage.html +10 -10
- data/docs/Fox/FXXPMIcon.html +10 -10
- data/docs/Fox/FXXPMImage.html +9 -9
- data/docs/Fox/NotifyHeader.html +2 -2
- data/docs/Fox/SCNotification.html +2 -2
- data/docs/Fox/TextRange.html +2 -2
- data/docs/Fox.html +89 -89
- data/docs/IRB.html +2 -2
- data/docs/Responder.html +2 -2
- data/docs/Responder2.html +2 -2
- data/docs/_index.html +2 -2
- data/docs/css/style.css +2 -15
- data/docs/file.History.html +1432 -842
- data/docs/file.README.html +9 -9
- data/docs/index.html +94 -53
- data/docs/js/app.js +91 -40
- data/docs/js/full_list.js +22 -20
- data/docs/method_list.html +2854 -2286
- data/docs/top-level-namespace.html +2 -2
- data/examples/canvasdemo.rb +4 -4
- data/examples/iconlist.rb +79 -4
- data/examples/inputs.rb +1 -1
- data/examples/rmagick.rb +9 -9
- data/ext/fox16_c/FXRbApp.cpp +2 -1
- data/ext/fox16_c/FXRbDataTarget.cpp +1 -0
- data/ext/fox16_c/FXRbGLViewer.cpp +1 -0
- data/ext/fox16_c/FXRbObjRegistry.cpp +12 -5
- data/ext/fox16_c/FXRuby.cpp +57 -37
- data/ext/fox16_c/core_wrap.cpp +2593 -2155
- data/ext/fox16_c/dc_wrap.cpp +1033 -707
- data/ext/fox16_c/dialogs_wrap.cpp +1865 -1513
- data/ext/fox16_c/extconf.rb +11 -8
- data/ext/fox16_c/frames_wrap.cpp +3257 -2876
- data/ext/fox16_c/fx3d_wrap.cpp +2170 -1780
- data/ext/fox16_c/gvl_wrappers.cpp +1 -0
- data/ext/fox16_c/iconlist_wrap.cpp +1209 -882
- data/ext/fox16_c/icons_wrap.cpp +1132 -775
- data/ext/fox16_c/image_wrap.cpp +1116 -756
- data/ext/fox16_c/impl.cpp +1 -0
- data/ext/fox16_c/include/FXRbDCWindow.h +1 -1
- data/ext/fox16_c/include/FXRuby.h +6 -6
- data/ext/fox16_c/label_wrap.cpp +1702 -1354
- data/ext/fox16_c/layout_wrap.cpp +1752 -1392
- data/ext/fox16_c/list_wrap.cpp +899 -572
- data/ext/fox16_c/make_impl.rb +1 -0
- data/ext/fox16_c/markfuncs.cpp +1 -0
- data/ext/fox16_c/mdi_wrap.cpp +1220 -881
- data/ext/fox16_c/menu_wrap.cpp +1402 -1057
- data/ext/fox16_c/scintilla_wrap.cpp +658 -337
- data/ext/fox16_c/swigruby.h +262 -119
- data/ext/fox16_c/table_wrap.cpp +1064 -741
- data/ext/fox16_c/text_wrap.cpp +1062 -741
- data/ext/fox16_c/treelist_wrap.cpp +1522 -1189
- data/ext/fox16_c/ui_wrap.cpp +3610 -3216
- data/ext/fox16_c/unregisterOwnedObjects.cpp +1 -0
- data/fxruby.gemspec +6 -1
- data/lib/fox16/canvas.rb +1 -1
- data/lib/fox16/core.rb +97 -26
- data/lib/fox16/undolist.rb +32 -32
- data/lib/fox16/version.rb +1 -1
- data/rdoc-sources/FXApp.rb +12 -0
- data/rdoc-sources/FXFont.rb +2 -0
- data/rdoc-sources/FXMDIClient.rb +15 -0
- data/scripts/iface.rb +1 -0
- data/swig-interfaces/FXScintilla.i +1 -1
- data/swig-interfaces/FXText.i +1 -1
- data/swig-interfaces/freefuncs.i +1 -0
- data/swig-interfaces/ruby-typemaps.i +19 -19
- data/test/TC_FXBMPImage.rb +1 -1
- data/test/TC_FXDC.rb +24 -0
- data/test/TC_FXMat4f.rb +23 -14
- data/test/TC_FXSize.rb +8 -4
- data/test/TS_All.rb +4 -0
- data.tar.gz.sig +0 -0
- metadata +18 -15
- metadata.gz.sig +0 -0
data/docs/file.README.html
CHANGED
|
@@ -58,29 +58,29 @@
|
|
|
58
58
|
</div>
|
|
59
59
|
|
|
60
60
|
<div id="content"><div id='filecontents'>
|
|
61
|
-
<h1 id="
|
|
61
|
+
<h1 id="introduction">Introduction</h1>
|
|
62
62
|
|
|
63
63
|
<p><strong>This is the RDoc-generated API documentation for FXRuby version 1.6.</strong> If you have some constructive comments about the content, format or presentation, please do send those to me (at <a href="mailto:lyle@rubyforge.org">lyle@rubyforge.org</a>).</p>
|
|
64
64
|
|
|
65
|
-
<h1 id="
|
|
65
|
+
<h1 id="page-layout">Page layout</h1>
|
|
66
66
|
|
|
67
67
|
<p>The page layout is roughly the same for every class. The page begins with a brief description of the class and is then followed by one or more of the following sections:</p>
|
|
68
|
-
<dl class="rdoc-list label-list"><dt><strong>Attributes</strong>
|
|
68
|
+
<dl class="rdoc-list label-list"><dt><strong>Attributes</strong></dt>
|
|
69
69
|
<dd>
|
|
70
70
|
<p>This section lists the names of all the attributes for this widget. As with all Ruby object “attributes”, these are actually just the names of instance methods for the class, but it is nevertheless natural to think of these as attributes (or <em>properties</em>) of the widget. Most attributes are both readable and writeable, but some are only read-only, so be sure to check the attributes listing within the main class documentation section to be sure.</p>
|
|
71
|
-
</dd><dt><strong>Events</strong>
|
|
71
|
+
</dd><dt><strong>Events</strong></dt>
|
|
72
72
|
<dd>
|
|
73
73
|
<p>This section lists the types for all of the messages that this widget might send to its message target, and the circumstances under which those messages are sent. When it’s important, the message data associated with that event is also described.</p>
|
|
74
|
-
</dd><dt><strong>Options</strong>
|
|
74
|
+
</dd><dt><strong>Options</strong></dt>
|
|
75
75
|
<dd>
|
|
76
76
|
<p>Most widgets have one or more options that affect their appearance or behavior. These options can be passed into the class’s <em>new</em> method when the object is first instantiated. They can usually also be changed after the object exists via some object-specific accessor method. For example, the options for an FXButton can be get or set via the FXButton#buttonStyle accessor methods.</p>
|
|
77
77
|
</dd></dl>
|
|
78
78
|
|
|
79
|
-
<h1 id="
|
|
79
|
+
<h1 id="wheres-the-code">Where’s the code?</h1>
|
|
80
80
|
|
|
81
81
|
<p>One difference you may notice from documentation generated for other Ruby extensions is that there’s no source code attached to the instance methods when you click on them (i.e. they will appear to be empty method definitions). That’s because most of these functions are in fact implemented in C++ code (since FXRuby is itself a C++ extension to Ruby).</p>
|
|
82
82
|
|
|
83
|
-
<h1 id="
|
|
83
|
+
<h1 id="todo">TODO</h1>
|
|
84
84
|
|
|
85
85
|
<p>A few notes and suggestions from Hugh Sasse:</p>
|
|
86
86
|
<ul><li>
|
|
@@ -94,9 +94,9 @@
|
|
|
94
94
|
</div></div>
|
|
95
95
|
|
|
96
96
|
<div id="footer">
|
|
97
|
-
Generated on
|
|
97
|
+
Generated on Thu Mar 26 09:48:22 2026 by
|
|
98
98
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
99
|
-
0.9.
|
|
99
|
+
0.9.38 (ruby-4.0.0).
|
|
100
100
|
</div>
|
|
101
101
|
|
|
102
102
|
</div>
|
data/docs/index.html
CHANGED
|
@@ -57,80 +57,121 @@
|
|
|
57
57
|
<div class="clear"></div>
|
|
58
58
|
</div>
|
|
59
59
|
|
|
60
|
-
<div id="content"><div id='filecontents'>
|
|
61
|
-
<h1 id="label-FXRuby">FXRuby</h1>
|
|
62
|
-
<ul><li>
|
|
63
|
-
<p><a href="http://github.com/larskanis/fxruby">github.com/larskanis/fxruby</a></p>
|
|
64
|
-
</li><li>
|
|
65
|
-
<p>Full API-description: <a href="http://rubydoc.info/gems/fxruby/frames">rubydoc.info/gems/fxruby/frames</a> or <a href="https://larskanis.github.io/fxruby">larskanis.github.io/fxruby</a>/</p>
|
|
66
|
-
</li><li>
|
|
67
|
-
<p>Latest fxruby <a href="http://badge.fury.io/rb/fxruby"><img src="https://badge.fury.io/rb/fxruby.svg"></a></p>
|
|
68
|
-
</li><li>
|
|
69
|
-
<p>CI-Status: <a href="https://github.com/larskanis/fxruby/actions/workflows/ci.yml"><img src="https://github.com/larskanis/fxruby/actions/workflows/ci.yml/badge.svg?branch=1.6"></a> and on Windows: <a href="https://ci.appveyor.com/project/larskanis/fxruby/branch/1.6"><img src="https://ci.appveyor.com/api/projects/status/too7sj4gq643ts8w/branch/1.6?svg=true"></a></p>
|
|
70
|
-
</li></ul>
|
|
60
|
+
<div id="content"><div id='filecontents'><h1 id="fxruby">FXRuby</h1>
|
|
71
61
|
|
|
72
|
-
<
|
|
62
|
+
<ul>
|
|
63
|
+
<li><a href="http://github.com/larskanis/fxruby">http://github.com/larskanis/fxruby</a></li>
|
|
64
|
+
<li>Full API-description: <a href="http://rubydoc.info/gems/fxruby/frames">http://rubydoc.info/gems/fxruby/frames</a> or <a href="https://larskanis.github.io/fxruby/">https://larskanis.github.io/fxruby/</a></li>
|
|
65
|
+
<li>Latest fxruby <a href="http://badge.fury.io/rb/fxruby"><img src="https://badge.fury.io/rb/fxruby.svg" alt="Gem Version"></a></li>
|
|
66
|
+
<li>CI-Status: <a href="https://github.com/larskanis/fxruby/actions/workflows/ci.yml"><img src="https://github.com/larskanis/fxruby/actions/workflows/ci.yml/badge.svg?branch=1.6" alt="Build Status"></a> and on Windows: <a href="https://ci.appveyor.com/project/larskanis/fxruby/branch/1.6"><img src="https://ci.appveyor.com/api/projects/status/too7sj4gq643ts8w/branch/1.6?svg=true" alt="Build Status on Windows"></a></li>
|
|
67
|
+
</ul>
|
|
73
68
|
|
|
74
|
-
<
|
|
69
|
+
<h2 id="description">DESCRIPTION:</h2>
|
|
75
70
|
|
|
76
|
-
<
|
|
71
|
+
<p>FXRuby is a library for developing powerful and sophisticated
|
|
72
|
+
cross-platform graphical user interfaces (GUIs) for your Ruby
|
|
73
|
+
applications. It’s based on the FOX Toolkit, a popular open source
|
|
74
|
+
C++ library developed by Jeroen van der Zijp. What that means for you
|
|
75
|
+
as an application developer is that you’re able to write code in the
|
|
76
|
+
Ruby programming language that you already know and love, while at the
|
|
77
|
+
same time taking advantage of the performance and functionality of a
|
|
78
|
+
featureful, highly optimized C++ toolkit.</p>
|
|
77
79
|
|
|
78
|
-
<
|
|
80
|
+
<h2 id="features">FEATURES:</h2>
|
|
79
81
|
|
|
80
|
-
<
|
|
82
|
+
<p>FXRuby supportes everything of FOX, that is useful in Ruby:</p>
|
|
81
83
|
|
|
82
|
-
<
|
|
84
|
+
<ul>
|
|
85
|
+
<li>MDI/SDI application window layouts, floating toolbars</li>
|
|
86
|
+
<li>Rich set of controls (tables, imagelists, menus, canvas, ...)</li>
|
|
87
|
+
<li>Flexible layout management</li>
|
|
88
|
+
<li>Image read/write support in many formats</li>
|
|
89
|
+
<li>Embedded OpenGL graphics through the <a href="https://github.com/vaiorabbit/ruby-opengl">opengl-bindings2</a> gem</li>
|
|
90
|
+
<li>Thread support</li>
|
|
91
|
+
</ul>
|
|
83
92
|
|
|
84
|
-
<
|
|
93
|
+
<h2 id="install">INSTALL:</h2>
|
|
85
94
|
|
|
86
|
-
<p>
|
|
95
|
+
<p>FXRuby runs on Linux, Windows and OS-X with Ruby-2.5 or newer. Installation on Unix requires
|
|
96
|
+
FOX development headers and libraries installed:</p>
|
|
87
97
|
|
|
88
|
-
<
|
|
98
|
+
<ul>
|
|
99
|
+
<li>on Debian/Ubuntu: <tt>sudo apt-get install g++ libxrandr-dev libfox-1.6-dev</tt></li>
|
|
100
|
+
<li>on Mac: <tt>sudo port install rb-fxruby</tt> OR <tt>brew install fox && brew install xquartz</tt></li>
|
|
101
|
+
<li>on Windows: the binary fxruby gems already contain all required libraries</li>
|
|
102
|
+
<li>see also detailed installation instructions in the <a href="https://github.com/lylejohnson/fxruby/wiki">Wiki</a></li>
|
|
103
|
+
</ul>
|
|
89
104
|
|
|
90
|
-
<
|
|
105
|
+
<p>Then, install the gem:</p>
|
|
106
|
+
|
|
107
|
+
<ul>
|
|
108
|
+
<li>gem install fxruby</li>
|
|
109
|
+
</ul>
|
|
110
|
+
|
|
111
|
+
<p>On Mac, before running applications, you must also run: <tt>open -a /Applications/Utilities/XQuartz.app</tt></p>
|
|
112
|
+
|
|
113
|
+
<p>(otherwise, you end up getting this message when running applications on Mac: <tt>FXRbApp::openDisplay: unable to open display :0.0</tt>)</p>
|
|
114
|
+
|
|
115
|
+
<h2 id="directories">DIRECTORIES</h2>
|
|
91
116
|
|
|
92
117
|
<p>The directory structure is:</p>
|
|
93
|
-
<ul><li>
|
|
94
|
-
<p>examples/</p>
|
|
95
|
-
</li></ul>
|
|
96
118
|
|
|
97
|
-
<
|
|
98
|
-
<
|
|
99
|
-
|
|
100
|
-
|
|
119
|
+
<ul>
|
|
120
|
+
<li>examples/</li>
|
|
121
|
+
</ul>
|
|
122
|
+
|
|
123
|
+
<p>Contains example programs demonstrating how to use FXRuby and
|
|
124
|
+
its many wonderful features.</p>
|
|
125
|
+
|
|
126
|
+
<ul>
|
|
127
|
+
<li>ext/fox16_c</li>
|
|
128
|
+
</ul>
|
|
101
129
|
|
|
102
|
-
<p>Contains the C++ source code for the shared library part of FXRuby.
|
|
103
|
-
|
|
104
|
-
<p>lib/fox16</p>
|
|
105
|
-
</li></ul>
|
|
130
|
+
<p>Contains the C++ source code for the shared library part of FXRuby.
|
|
131
|
+
These files are required to build FXRuby from the source code.</p>
|
|
106
132
|
|
|
107
|
-
<
|
|
108
|
-
<
|
|
109
|
-
|
|
110
|
-
|
|
133
|
+
<ul>
|
|
134
|
+
<li>lib/fox16</li>
|
|
135
|
+
</ul>
|
|
136
|
+
|
|
137
|
+
<p>Contains the Ruby source code for the rest of FXRuby. These files
|
|
138
|
+
are not required to "build" FXRuby, but they are a part of the
|
|
139
|
+
standard FXRuby runtime environment and must be installed along with
|
|
140
|
+
the shared library part.</p>
|
|
141
|
+
|
|
142
|
+
<ul>
|
|
143
|
+
<li>tests/</li>
|
|
144
|
+
</ul>
|
|
111
145
|
|
|
112
146
|
<p>Contains a test battery for FXRuby.</p>
|
|
113
147
|
|
|
114
|
-
<p>If you
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
148
|
+
<p>If you're looking at a checkout of the source code from its GIT repository,
|
|
149
|
+
you might see some additional directories of interest:</p>
|
|
150
|
+
|
|
151
|
+
<ul>
|
|
152
|
+
<li>fox-includes/</li>
|
|
153
|
+
</ul>
|
|
154
|
+
|
|
155
|
+
<p>An archive of the FOX library header files corresponding to this
|
|
156
|
+
release of FXRuby.</p>
|
|
157
|
+
|
|
158
|
+
<ul>
|
|
159
|
+
<li>rdoc-sources/</li>
|
|
160
|
+
</ul>
|
|
118
161
|
|
|
119
|
-
<p>
|
|
120
|
-
|
|
121
|
-
<p>rdoc-sources/</p>
|
|
122
|
-
</li></ul>
|
|
162
|
+
<p>A set of "fake" Ruby source files for the various
|
|
163
|
+
FXRuby classes, which are used to generate RDoc-style documentation.</p>
|
|
123
164
|
|
|
124
|
-
<
|
|
125
|
-
<
|
|
126
|
-
|
|
127
|
-
</li></ul>
|
|
165
|
+
<ul>
|
|
166
|
+
<li>swig-interfaces/</li>
|
|
167
|
+
</ul>
|
|
128
168
|
|
|
129
|
-
<p>The SWIG interface files used to generate the C++ wrapper code (i.e.
|
|
169
|
+
<p>The SWIG interface files used to generate the C++ wrapper code (i.e.
|
|
170
|
+
the code found in the ext/fox directory).</p>
|
|
130
171
|
|
|
131
|
-
<h2 id="
|
|
172
|
+
<h2 id="license">LICENSE</h2>
|
|
132
173
|
|
|
133
|
-
<pre class="code ruby"><code class="ruby">GNU LESSER GENERAL PUBLIC LICENSE
|
|
174
|
+
<pre class="code ruby"><code class="ruby"> GNU LESSER GENERAL PUBLIC LICENSE
|
|
134
175
|
Version 2.1, February 1999
|
|
135
176
|
|
|
136
177
|
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
|
@@ -590,9 +631,9 @@
|
|
|
590
631
|
</div></div>
|
|
591
632
|
|
|
592
633
|
<div id="footer">
|
|
593
|
-
Generated on
|
|
634
|
+
Generated on Thu Mar 26 09:48:22 2026 by
|
|
594
635
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
595
|
-
0.9.
|
|
636
|
+
0.9.38 (ruby-4.0.0).
|
|
596
637
|
</div>
|
|
597
638
|
|
|
598
639
|
</div>
|
data/docs/js/app.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
window.__app = function () {
|
|
2
2
|
var localStorage = {},
|
|
3
3
|
sessionStorage = {};
|
|
4
4
|
try {
|
|
@@ -153,7 +153,6 @@
|
|
|
153
153
|
});
|
|
154
154
|
// Add the value of the constant as "Tooltip" to the summary object
|
|
155
155
|
list.find("pre.code").each(function () {
|
|
156
|
-
console.log($(this).parent());
|
|
157
156
|
var dt_element = $(this).parent().prev();
|
|
158
157
|
var tooltip = $(this).text();
|
|
159
158
|
if (dt_element.hasClass("deprecated")) {
|
|
@@ -250,37 +249,46 @@
|
|
|
250
249
|
);
|
|
251
250
|
}
|
|
252
251
|
|
|
253
|
-
function navResizeFn(e) {
|
|
254
|
-
if (e.which !== 1) {
|
|
255
|
-
navResizeFnStop();
|
|
256
|
-
return;
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
sessionStorage.navWidth = e.pageX.toString();
|
|
260
|
-
$(".nav_wrap").css("width", e.pageX);
|
|
261
|
-
$(".nav_wrap").css("-ms-flex", "inherit");
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
function navResizeFnStop() {
|
|
265
|
-
$(window).unbind("mousemove", navResizeFn);
|
|
266
|
-
window.removeEventListener("message", navMessageFn, false);
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
function navMessageFn(e) {
|
|
270
|
-
if (e.data.action === "mousemove") navResizeFn(e.data.event);
|
|
271
|
-
if (e.data.action === "mouseup") navResizeFnStop();
|
|
272
|
-
}
|
|
273
|
-
|
|
274
252
|
function navResizer() {
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
253
|
+
const resizer = document.getElementById("resizer");
|
|
254
|
+
resizer.addEventListener(
|
|
255
|
+
"pointerdown",
|
|
256
|
+
function (e) {
|
|
257
|
+
resizer.setPointerCapture(e.pointerId);
|
|
258
|
+
e.preventDefault();
|
|
259
|
+
e.stopPropagation();
|
|
260
|
+
},
|
|
261
|
+
false
|
|
262
|
+
);
|
|
263
|
+
resizer.addEventListener(
|
|
264
|
+
"pointerup",
|
|
265
|
+
function (e) {
|
|
266
|
+
resizer.releasePointerCapture(e.pointerId);
|
|
267
|
+
e.preventDefault();
|
|
268
|
+
e.stopPropagation();
|
|
269
|
+
},
|
|
270
|
+
false
|
|
271
|
+
);
|
|
272
|
+
resizer.addEventListener(
|
|
273
|
+
"pointermove",
|
|
274
|
+
function (e) {
|
|
275
|
+
if ((e.buttons & 1) === 0) {
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
sessionStorage.navWidth = e.pageX.toString();
|
|
280
|
+
$(".nav_wrap").css("width", Math.max(200, e.pageX));
|
|
281
|
+
e.preventDefault();
|
|
282
|
+
e.stopPropagation();
|
|
283
|
+
},
|
|
284
|
+
false
|
|
285
|
+
);
|
|
281
286
|
|
|
282
287
|
if (sessionStorage.navWidth) {
|
|
283
|
-
|
|
288
|
+
$(".nav_wrap").css(
|
|
289
|
+
"width",
|
|
290
|
+
Math.max(200, parseInt(sessionStorage.navWidth, 10))
|
|
291
|
+
);
|
|
284
292
|
}
|
|
285
293
|
}
|
|
286
294
|
|
|
@@ -295,15 +303,6 @@
|
|
|
295
303
|
document.getElementById("nav").contentWindow.postMessage(opts, "*");
|
|
296
304
|
done = true;
|
|
297
305
|
}
|
|
298
|
-
|
|
299
|
-
window.addEventListener(
|
|
300
|
-
"message",
|
|
301
|
-
function (event) {
|
|
302
|
-
if (event.data === "navReady") postMessage();
|
|
303
|
-
return false;
|
|
304
|
-
},
|
|
305
|
-
false
|
|
306
|
-
);
|
|
307
306
|
}
|
|
308
307
|
|
|
309
308
|
function mainFocus() {
|
|
@@ -341,4 +340,56 @@
|
|
|
341
340
|
mainFocus();
|
|
342
341
|
navigationChange();
|
|
343
342
|
});
|
|
344
|
-
}
|
|
343
|
+
};
|
|
344
|
+
window.__app();
|
|
345
|
+
|
|
346
|
+
window.addEventListener(
|
|
347
|
+
"message",
|
|
348
|
+
async (e) => {
|
|
349
|
+
if (e.data.action === "navigate") {
|
|
350
|
+
const response = await fetch(e.data.url);
|
|
351
|
+
const text = await response.text();
|
|
352
|
+
const parser = new DOMParser();
|
|
353
|
+
const doc = parser.parseFromString(text, "text/html");
|
|
354
|
+
|
|
355
|
+
const classListLink =
|
|
356
|
+
document.getElementById("class_list_link").classList;
|
|
357
|
+
|
|
358
|
+
const content = doc.querySelector("#main").innerHTML;
|
|
359
|
+
document.querySelector("#main").innerHTML = content;
|
|
360
|
+
document.title = doc.head.querySelector("title").innerText;
|
|
361
|
+
document.head.querySelectorAll("script").forEach((script) => {
|
|
362
|
+
if (
|
|
363
|
+
!script.type ||
|
|
364
|
+
(script.type.includes("text/javascript") && !script.src)
|
|
365
|
+
) {
|
|
366
|
+
script.remove();
|
|
367
|
+
}
|
|
368
|
+
});
|
|
369
|
+
|
|
370
|
+
doc.head.querySelectorAll("script").forEach((script) => {
|
|
371
|
+
if (
|
|
372
|
+
!script.type ||
|
|
373
|
+
(script.type.includes("text/javascript") && !script.src)
|
|
374
|
+
) {
|
|
375
|
+
const newScript = document.createElement("script");
|
|
376
|
+
newScript.type = "text/javascript";
|
|
377
|
+
newScript.textContent = script.textContent;
|
|
378
|
+
document.head.appendChild(newScript);
|
|
379
|
+
}
|
|
380
|
+
});
|
|
381
|
+
|
|
382
|
+
window.__app();
|
|
383
|
+
|
|
384
|
+
document.getElementById("class_list_link").classList = classListLink;
|
|
385
|
+
|
|
386
|
+
const url = new URL(e.data.url, "https://localhost");
|
|
387
|
+
const hash = decodeURIComponent(url.hash ?? "");
|
|
388
|
+
if (hash) {
|
|
389
|
+
document.getElementById(hash.substring(1)).scrollIntoView();
|
|
390
|
+
}
|
|
391
|
+
history.pushState({}, document.title, e.data.url);
|
|
392
|
+
}
|
|
393
|
+
},
|
|
394
|
+
false
|
|
395
|
+
);
|
data/docs/js/full_list.js
CHANGED
|
@@ -20,17 +20,6 @@ function escapeShortcut() {
|
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
function navResizer() {
|
|
24
|
-
$(window).mousemove(function(e) {
|
|
25
|
-
window.parent.postMessage({
|
|
26
|
-
action: 'mousemove', event: {pageX: e.pageX, which: e.which}
|
|
27
|
-
}, '*');
|
|
28
|
-
}).mouseup(function(e) {
|
|
29
|
-
window.parent.postMessage({action: 'mouseup'}, '*');
|
|
30
|
-
});
|
|
31
|
-
window.parent.postMessage("navReady", "*");
|
|
32
|
-
}
|
|
33
|
-
|
|
34
23
|
function clearSearchTimeout() {
|
|
35
24
|
clearTimeout(searchTimeout);
|
|
36
25
|
searchTimeout = null;
|
|
@@ -44,14 +33,21 @@ function enableLinks() {
|
|
|
44
33
|
$clicked.addClass('clicked');
|
|
45
34
|
evt.stopPropagation();
|
|
46
35
|
|
|
47
|
-
if (
|
|
36
|
+
if (window.origin === "null") {
|
|
37
|
+
if (evt.target.tagName === 'A') return true;
|
|
48
38
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
39
|
+
var elem = $clicked.find('> .item .object_link a')[0];
|
|
40
|
+
var e = evt.originalEvent;
|
|
41
|
+
var newEvent = new MouseEvent(evt.originalEvent.type);
|
|
42
|
+
newEvent.initMouseEvent(e.type, e.canBubble, e.cancelable, e.view, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget);
|
|
43
|
+
elem.dispatchEvent(newEvent);
|
|
44
|
+
evt.preventDefault();
|
|
45
|
+
} else {
|
|
46
|
+
window.top.postMessage({
|
|
47
|
+
action: "navigate",
|
|
48
|
+
url: $clicked.find('.object_link a').attr('href'),
|
|
49
|
+
}, "*");
|
|
50
|
+
}
|
|
55
51
|
return false;
|
|
56
52
|
});
|
|
57
53
|
}
|
|
@@ -199,6 +195,13 @@ function highlight() {
|
|
|
199
195
|
});
|
|
200
196
|
}
|
|
201
197
|
|
|
198
|
+
function isInView(element) {
|
|
199
|
+
const rect = element.getBoundingClientRect();
|
|
200
|
+
const windowHeight =
|
|
201
|
+
window.innerHeight || document.documentElement.clientHeight;
|
|
202
|
+
return rect.left >= 0 && rect.bottom <= windowHeight;
|
|
203
|
+
}
|
|
204
|
+
|
|
202
205
|
/**
|
|
203
206
|
* Expands the tree to the target element and its immediate
|
|
204
207
|
* children.
|
|
@@ -214,7 +217,7 @@ function expandTo(path) {
|
|
|
214
217
|
$(el).find('> div > a.toggle').attr('aria-expanded', 'true');
|
|
215
218
|
});
|
|
216
219
|
|
|
217
|
-
if($target[0]) {
|
|
220
|
+
if($target[0] && !isInView($target[0])) {
|
|
218
221
|
window.scrollTo(window.scrollX, $target.offset().top - 250);
|
|
219
222
|
highlight();
|
|
220
223
|
}
|
|
@@ -232,7 +235,6 @@ window.addEventListener("message", windowEvents, false);
|
|
|
232
235
|
|
|
233
236
|
$(document).ready(function() {
|
|
234
237
|
escapeShortcut();
|
|
235
|
-
navResizer();
|
|
236
238
|
enableLinks();
|
|
237
239
|
enableToggles();
|
|
238
240
|
populateSearchCache();
|