fxruby 1.6.38-x86-mingw32 → 1.6.43-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.travis.yml +3 -14
- data/.yardopts +1 -1
- data/Gemfile +8 -5
- data/History.md +1344 -21
- data/README.rdoc +5 -5
- data/Rakefile +100 -68
- data/appveyor.yml +17 -4
- data/docs/Fox.html +11184 -0
- data/docs/Fox/Canvas.html +141 -0
- data/docs/Fox/Canvas/CanvasError.html +124 -0
- data/docs/Fox/Canvas/CircleShape.html +477 -0
- data/docs/Fox/Canvas/ImageShape.html +477 -0
- data/docs/Fox/Canvas/LineShape.html +1005 -0
- data/docs/Fox/Canvas/PolygonShape.html +145 -0
- data/docs/Fox/Canvas/RectangleShape.html +439 -0
- data/docs/Fox/Canvas/SelectionPolicy.html +352 -0
- data/docs/Fox/Canvas/Shape.html +1955 -0
- data/docs/Fox/Canvas/ShapeCanvas.html +2031 -0
- data/docs/Fox/Canvas/ShapeGroup.html +527 -0
- data/docs/Fox/Canvas/SingleSelectionPolicy.html +291 -0
- data/docs/Fox/Canvas/TextShape.html +609 -0
- data/docs/Fox/FTNonModal.html +550 -0
- data/docs/Fox/FX4Splitter.html +1336 -0
- data/docs/Fox/FX7Segment.html +1010 -0
- data/docs/Fox/FXAccelTable.html +715 -0
- data/docs/Fox/FXApp.html +7998 -0
- data/docs/Fox/FXArc.html +562 -0
- data/docs/Fox/FXArrowButton.html +865 -0
- data/docs/Fox/FXBMPIcon.html +450 -0
- data/docs/Fox/FXBMPImage.html +434 -0
- data/docs/Fox/FXBitmap.html +1362 -0
- data/docs/Fox/FXBitmapFrame.html +595 -0
- data/docs/Fox/FXBitmapView.html +1451 -0
- data/docs/Fox/FXButton.html +534 -0
- data/docs/Fox/FXCURCursor.html +261 -0
- data/docs/Fox/FXCalendar.html +880 -0
- data/docs/Fox/FXCanvas.html +311 -0
- data/docs/Fox/FXCheckButton.html +949 -0
- data/docs/Fox/FXChoiceBox.html +472 -0
- data/docs/Fox/FXColor.html +1519 -0
- data/docs/Fox/FXColorBar.html +759 -0
- data/docs/Fox/FXColorDialog.html +591 -0
- data/docs/Fox/FXColorItem.html +323 -0
- data/docs/Fox/FXColorList.html +712 -0
- data/docs/Fox/FXColorRing.html +817 -0
- data/docs/Fox/FXColorSelector.html +796 -0
- data/docs/Fox/FXColorWell.html +850 -0
- data/docs/Fox/FXColorWheel.html +770 -0
- data/docs/Fox/FXComboBox.html +2939 -0
- data/docs/Fox/FXComboTableItem.html +544 -0
- data/docs/Fox/FXCommand.html +526 -0
- data/docs/Fox/FXComposite.html +433 -0
- data/docs/Fox/FXCursor.html +779 -0
- data/docs/Fox/FXDC.html +5231 -0
- data/docs/Fox/FXDCPrint.html +696 -0
- data/docs/Fox/FXDCWindow.html +358 -0
- data/docs/Fox/FXDataTarget.html +573 -0
- data/docs/Fox/FXDebugTarget.html +305 -0
- data/docs/Fox/FXDelegator.html +305 -0
- data/docs/Fox/FXDial.html +1133 -0
- data/docs/Fox/FXDialogBox.html +413 -0
- data/docs/Fox/FXDict.html +1063 -0
- data/docs/Fox/FXDirBox.html +752 -0
- data/docs/Fox/FXDirDialog.html +914 -0
- data/docs/Fox/FXDirItem.html +989 -0
- data/docs/Fox/FXDirList.html +1554 -0
- data/docs/Fox/FXDirSelector.html +995 -0
- data/docs/Fox/FXDockBar.html +1451 -0
- data/docs/Fox/FXDockHandler.html +468 -0
- data/docs/Fox/FXDockSite.html +678 -0
- data/docs/Fox/FXDockTitle.html +606 -0
- data/docs/Fox/FXDocument.html +536 -0
- data/docs/Fox/FXDragCorner.html +440 -0
- data/docs/Fox/FXDrawable.html +478 -0
- data/docs/Fox/FXDriveBox.html +746 -0
- data/docs/Fox/FXEvent.html +1736 -0
- data/docs/Fox/FXExtentd.html +1374 -0
- data/docs/Fox/FXExtentf.html +1374 -0
- data/docs/Fox/FXFileAssoc.html +850 -0
- data/docs/Fox/FXFileDialog.html +2688 -0
- data/docs/Fox/FXFileDict.html +1058 -0
- data/docs/Fox/FXFileItem.html +1141 -0
- data/docs/Fox/FXFileList.html +2259 -0
- data/docs/Fox/FXFileSelector.html +2529 -0
- data/docs/Fox/FXFileStream.html +503 -0
- data/docs/Fox/FXFoldingItem.html +2822 -0
- data/docs/Fox/FXFoldingList.html +5189 -0
- data/docs/Fox/FXFont.html +2998 -0
- data/docs/Fox/FXFontDesc.html +710 -0
- data/docs/Fox/FXFontDialog.html +420 -0
- data/docs/Fox/FXFontSelector.html +576 -0
- data/docs/Fox/FXFrame.html +1012 -0
- data/docs/Fox/FXGIFCursor.html +337 -0
- data/docs/Fox/FXGIFIcon.html +450 -0
- data/docs/Fox/FXGIFImage.html +434 -0
- data/docs/Fox/FXGLCanvas.html +700 -0
- data/docs/Fox/FXGLCone.html +785 -0
- data/docs/Fox/FXGLContext.html +649 -0
- data/docs/Fox/FXGLCube.html +703 -0
- data/docs/Fox/FXGLCylinder.html +791 -0
- data/docs/Fox/FXGLGroup.html +1385 -0
- data/docs/Fox/FXGLLine.html +653 -0
- data/docs/Fox/FXGLObject.html +759 -0
- data/docs/Fox/FXGLPoint.html +561 -0
- data/docs/Fox/FXGLShape.html +714 -0
- data/docs/Fox/FXGLSphere.html +626 -0
- data/docs/Fox/FXGLViewer.html +3506 -0
- data/docs/Fox/FXGLVisual.html +2147 -0
- data/docs/Fox/FXGradient.html +562 -0
- data/docs/Fox/FXGradientBar.html +2479 -0
- data/docs/Fox/FXGroupBox.html +688 -0
- data/docs/Fox/FXHeader.html +3040 -0
- data/docs/Fox/FXHeaderItem.html +1353 -0
- data/docs/Fox/FXHiliteStyle.html +804 -0
- data/docs/Fox/FXHorizontalFrame.html +359 -0
- data/docs/Fox/FXHorizontalSeparator.html +349 -0
- data/docs/Fox/FXICOIcon.html +450 -0
- data/docs/Fox/FXICOImage.html +434 -0
- data/docs/Fox/FXIcon.html +384 -0
- data/docs/Fox/FXIconDict.html +752 -0
- data/docs/Fox/FXIconItem.html +1518 -0
- data/docs/Fox/FXIconList.html +4676 -0
- data/docs/Fox/FXIconSource.html +963 -0
- data/docs/Fox/FXId.html +712 -0
- data/docs/Fox/FXImage.html +2328 -0
- data/docs/Fox/FXImageFrame.html +489 -0
- data/docs/Fox/FXImageView.html +504 -0
- data/docs/Fox/FXInputDialog.html +894 -0
- data/docs/Fox/FXIrb.html +942 -0
- data/docs/Fox/FXJPGIcon.html +607 -0
- data/docs/Fox/FXJPGImage.html +591 -0
- data/docs/Fox/FXKnob.html +1048 -0
- data/docs/Fox/FXLabel.html +1013 -0
- data/docs/Fox/FXLight.html +920 -0
- data/docs/Fox/FXList.html +3717 -0
- data/docs/Fox/FXListBox.html +2518 -0
- data/docs/Fox/FXListItem.html +1459 -0
- data/docs/Fox/FXMDIChild.html +2175 -0
- data/docs/Fox/FXMDIClient.html +781 -0
- data/docs/Fox/FXMDIDeleteButton.html +334 -0
- data/docs/Fox/FXMDIMaximizeButton.html +334 -0
- data/docs/Fox/FXMDIMenu.html +335 -0
- data/docs/Fox/FXMDIMinimizeButton.html +334 -0
- data/docs/Fox/FXMDIRestoreButton.html +334 -0
- data/docs/Fox/FXMDIWindowButton.html +334 -0
- data/docs/Fox/FXMainWindow.html +337 -0
- data/docs/Fox/FXMaterial.html +570 -0
- data/docs/Fox/FXMatrix.html +734 -0
- data/docs/Fox/FXMemoryBuffer.html +472 -0
- data/docs/Fox/FXMemoryStream.html +632 -0
- data/docs/Fox/FXMenuBar.html +347 -0
- data/docs/Fox/FXMenuButton.html +829 -0
- data/docs/Fox/FXMenuCaption.html +1080 -0
- data/docs/Fox/FXMenuCascade.html +388 -0
- data/docs/Fox/FXMenuCheck.html +721 -0
- data/docs/Fox/FXMenuCommand.html +400 -0
- data/docs/Fox/FXMenuPane.html +333 -0
- data/docs/Fox/FXMenuRadio.html +721 -0
- data/docs/Fox/FXMenuSeparator.html +440 -0
- data/docs/Fox/FXMenuTitle.html +405 -0
- data/docs/Fox/FXMessageBox.html +658 -0
- data/docs/Fox/FXObject.html +545 -0
- data/docs/Fox/FXOption.html +491 -0
- data/docs/Fox/FXOptionMenu.html +885 -0
- data/docs/Fox/FXPCXIcon.html +450 -0
- data/docs/Fox/FXPCXImage.html +434 -0
- data/docs/Fox/FXPNGIcon.html +524 -0
- data/docs/Fox/FXPNGImage.html +508 -0
- data/docs/Fox/FXPPMIcon.html +450 -0
- data/docs/Fox/FXPPMImage.html +373 -0
- data/docs/Fox/FXPSBounds.html +500 -0
- data/docs/Fox/FXPacker.html +1229 -0
- data/docs/Fox/FXPicker.html +345 -0
- data/docs/Fox/FXPopup.html +1099 -0
- data/docs/Fox/FXPrintDialog.html +485 -0
- data/docs/Fox/FXPrinter.html +1330 -0
- data/docs/Fox/FXProgressBar.html +1150 -0
- data/docs/Fox/FXProgressDialog.html +715 -0
- data/docs/Fox/FXPseudoKeyboard.html +428 -0
- data/docs/Fox/FXPseudoMouse.html +800 -0
- data/docs/Fox/FXPseudoTarget.html +472 -0
- data/docs/Fox/FXQuatd.html +1377 -0
- data/docs/Fox/FXQuatf.html +1392 -0
- data/docs/Fox/FXRGBIcon.html +450 -0
- data/docs/Fox/FXRGBImage.html +434 -0
- data/docs/Fox/FXRadioButton.html +885 -0
- data/docs/Fox/FXRanged.html +1522 -0
- data/docs/Fox/FXRangef.html +1522 -0
- data/docs/Fox/FXRealSlider.html +1187 -0
- data/docs/Fox/FXRealSpinner.html +2175 -0
- data/docs/Fox/FXRecentFiles.html +841 -0
- data/docs/Fox/FXRectangle.html +802 -0
- data/docs/Fox/FXRegion.html +841 -0
- data/docs/Fox/FXRegistry.html +682 -0
- data/docs/Fox/FXReplaceDialog.html +648 -0
- data/docs/Fox/FXRootWindow.html +312 -0
- data/docs/Fox/FXRuler.html +2000 -0
- data/docs/Fox/FXRulerView.html +3997 -0
- data/docs/Fox/FXScintilla.html +49117 -0
- data/docs/Fox/FXScrollArea.html +1363 -0
- data/docs/Fox/FXScrollBar.html +1019 -0
- data/docs/Fox/FXScrollCorner.html +290 -0
- data/docs/Fox/FXScrollPane.html +499 -0
- data/docs/Fox/FXScrollWindow.html +409 -0
- data/docs/Fox/FXSearchDialog.html +382 -0
- data/docs/Fox/FXSegment.html +422 -0
- data/docs/Fox/FXSeparator.html +402 -0
- data/docs/Fox/FXSettings.html +1861 -0
- data/docs/Fox/FXShell.html +233 -0
- data/docs/Fox/FXShutter.html +472 -0
- data/docs/Fox/FXShutterItem.html +669 -0
- data/docs/Fox/FXSize.html +592 -0
- data/docs/Fox/FXSlider.html +1129 -0
- data/docs/Fox/FXSphered.html +906 -0
- data/docs/Fox/FXSpheref.html +906 -0
- data/docs/Fox/FXSpinner.html +2102 -0
- data/docs/Fox/FXSplashScreen.html +497 -0
- data/docs/Fox/FXSplashWindow.html +494 -0
- data/docs/Fox/FXSplitter.html +643 -0
- data/docs/Fox/FXSpring.html +517 -0
- data/docs/Fox/FXStatusBar.html +593 -0
- data/docs/Fox/FXStatusLine.html +754 -0
- data/docs/Fox/FXStream.html +1372 -0
- data/docs/Fox/FXStreamAllocError.html +148 -0
- data/docs/Fox/FXStreamEndError.html +148 -0
- data/docs/Fox/FXStreamError.html +259 -0
- data/docs/Fox/FXStreamFailureError.html +148 -0
- data/docs/Fox/FXStreamFormatError.html +148 -0
- data/docs/Fox/FXStreamFullError.html +148 -0
- data/docs/Fox/FXStreamNoReadError.html +148 -0
- data/docs/Fox/FXStreamNoWriteError.html +148 -0
- data/docs/Fox/FXStreamUnknownError.html +148 -0
- data/docs/Fox/FXStringDict.html +552 -0
- data/docs/Fox/FXSwitcher.html +619 -0
- data/docs/Fox/FXTGAIcon.html +450 -0
- data/docs/Fox/FXTGAImage.html +434 -0
- data/docs/Fox/FXTIFIcon.html +604 -0
- data/docs/Fox/FXTIFImage.html +588 -0
- data/docs/Fox/FXTabBar.html +644 -0
- data/docs/Fox/FXTabBook.html +373 -0
- data/docs/Fox/FXTabItem.html +478 -0
- data/docs/Fox/FXTable.html +10107 -0
- data/docs/Fox/FXTableItem.html +2195 -0
- data/docs/Fox/FXTablePos.html +360 -0
- data/docs/Fox/FXTableRange.html +360 -0
- data/docs/Fox/FXText.html +6870 -0
- data/docs/Fox/FXTextChange.html +492 -0
- data/docs/Fox/FXTextField.html +2016 -0
- data/docs/Fox/FXToggleButton.html +844 -0
- data/docs/Fox/FXToolBar.html +452 -0
- data/docs/Fox/FXToolBarGrip.html +584 -0
- data/docs/Fox/FXToolBarShell.html +788 -0
- data/docs/Fox/FXToolBarTab.html +729 -0
- data/docs/Fox/FXToolTip.html +761 -0
- data/docs/Fox/FXTopWindow.html +1716 -0
- data/docs/Fox/FXTranslator.html +481 -0
- data/docs/Fox/FXTreeItem.html +2813 -0
- data/docs/Fox/FXTreeList.html +5095 -0
- data/docs/Fox/FXTreeListBox.html +3080 -0
- data/docs/Fox/FXTriStateButton.html +681 -0
- data/docs/Fox/FXUndoList.html +2560 -0
- data/docs/Fox/FXVec2d.html +1450 -0
- data/docs/Fox/FXVec2f.html +1442 -0
- data/docs/Fox/FXVec3d.html +1649 -0
- data/docs/Fox/FXVec3f.html +1649 -0
- data/docs/Fox/FXVec4d.html +1858 -0
- data/docs/Fox/FXVec4f.html +1858 -0
- data/docs/Fox/FXVerticalFrame.html +359 -0
- data/docs/Fox/FXVerticalSeparator.html +349 -0
- data/docs/Fox/FXViewport.html +780 -0
- data/docs/Fox/FXVisual.html +1023 -0
- data/docs/Fox/FXWindow.html +9948 -0
- data/docs/Fox/FXWizard.html +1052 -0
- data/docs/Fox/FXXBMIcon.html +453 -0
- data/docs/Fox/FXXBMImage.html +437 -0
- data/docs/Fox/FXXPMIcon.html +450 -0
- data/docs/Fox/FXXPMImage.html +434 -0
- data/docs/Fox/NotifyHeader.html +286 -0
- data/docs/Fox/SCNotification.html +1438 -0
- data/docs/Fox/TextRange.html +281 -0
- data/docs/IRB.html +204 -0
- data/docs/Responder.html +693 -0
- data/docs/Responder2.html +225 -0
- data/docs/_index.html +2101 -0
- data/docs/class_list.html +51 -0
- data/docs/css/common.css +1 -0
- data/docs/css/full_list.css +58 -0
- data/docs/css/style.css +496 -0
- data/docs/file.History.html +869 -0
- data/docs/file.README.html +104 -0
- data/docs/file_list.html +66 -0
- data/docs/frames.html +17 -0
- data/docs/index.html +614 -0
- data/docs/js/app.js +314 -0
- data/docs/js/full_list.js +216 -0
- data/docs/js/jquery.js +4 -0
- data/docs/method_list.html +31043 -0
- data/docs/top-level-namespace.html +214 -0
- data/examples/canvasdemo.rb +5 -1
- data/examples/gltest.rb +162 -106
- data/examples/glviewer.rb +12 -8
- data/examples/inputs.rb +9 -4
- data/examples/pig.rb +2 -2
- data/examples/unicode.rb +6 -27
- data/ext/fox16_c/FXRbApp.cpp +3 -17
- data/ext/fox16_c/FXRuby.cpp +36 -46
- data/ext/fox16_c/extconf.rb +50 -34
- data/ext/fox16_c/impl.cpp +1 -1
- data/ext/fox16_c/include/FXRbApp.h +2 -2
- data/ext/fox16_c/include/FXRbCommon.h +0 -2
- data/ext/fox16_c/include/FXRbText.h +82 -2
- data/ext/fox16_c/include/FXRbTextVirtuals.h +22 -0
- data/ext/fox16_c/include/FXRuby.h +21 -3
- data/ext/fox16_c/include/gvl_wrappers.h +29 -11
- data/ext/fox16_c/make_impl.rb +1 -1
- data/fxruby.gemspec +2 -1
- data/lib/fox16/aliases.rb +4 -1
- data/lib/fox16/bitmapview.rb +0 -0
- data/lib/fox16/calendar.rb +6 -8
- data/lib/fox16/canvas.rb +93 -62
- data/lib/fox16/chore.rb +0 -0
- data/lib/fox16/colors.rb +0 -0
- data/lib/fox16/core.rb +18 -18
- data/lib/fox16/dict.rb +0 -0
- data/lib/fox16/glgroup.rb +5 -5
- data/lib/fox16/glshapes.rb +111 -99
- data/lib/fox16/input.rb +9 -7
- data/lib/fox16/irb.rb +0 -0
- data/lib/fox16/iterators.rb +0 -0
- data/lib/fox16/keys.rb +0 -0
- data/lib/fox16/missingdep.rb +0 -0
- data/lib/fox16/pseudokeyboard.rb +0 -0
- data/lib/fox16/pseudomouse.rb +0 -0
- data/lib/fox16/responder.rb +0 -0
- data/lib/fox16/responder2.rb +0 -0
- data/lib/fox16/scintilla.rb +0 -0
- data/lib/fox16/settings.rb +0 -0
- data/lib/fox16/signal.rb +0 -0
- data/lib/fox16/timeout.rb +0 -0
- data/lib/fox16/tkcompat.rb +0 -0
- data/lib/fox16/undolist.rb +8 -8
- data/lib/fox16/version.rb +1 -1
- data/rdoc-sources/FXGLVisual.rb +8 -0
- data/rdoc-sources/FXIconList.rb +2 -0
- data/rdoc-sources/FXImage.rb +5 -0
- data/rdoc-sources/FXList.rb +2 -0
- data/rdoc-sources/FXListBox.rb +1 -1
- data/rdoc-sources/FXText.rb +4 -2
- data/swig-interfaces/FXGLVisual.i +1 -1
- data/swig-interfaces/FXImage.i +9 -4
- data/swig-interfaces/FXMemoryBuffer.i +3 -3
- data/swig-interfaces/FXText.i +10 -8
- data/swig-interfaces/macros.i +9 -0
- data/test/TC_FXGLViewer.rb +8 -1
- data/test/TC_FXImage.rb +8 -0
- data/test/TC_FXList.rb +8 -8
- data/test/TC_FXText.rb +19 -0
- data/test/TC_FXVec4f.rb +26 -12
- metadata +300 -9
data/examples/glviewer.rb
CHANGED
@@ -7,16 +7,15 @@ begin
|
|
7
7
|
rescue LoadError
|
8
8
|
require 'fox16/missingdep'
|
9
9
|
MSG = <<EOM
|
10
|
-
Sorry, this example depends on the
|
11
|
-
|
12
|
-
download site.
|
10
|
+
Sorry, this example depends on the opengl-bindings gems. Please execute:
|
11
|
+
gem install opengl-bindings
|
13
12
|
EOM
|
14
13
|
missingDependency(MSG)
|
15
14
|
end
|
16
15
|
|
17
|
-
|
16
|
+
class TabBook < Fox::FXTabBook
|
17
|
+
include Fox
|
18
18
|
|
19
|
-
class TabBook < FXTabBook
|
20
19
|
def createAnglesPage(panels, mdiclient)
|
21
20
|
# Angles tab
|
22
21
|
FXTabItem.new(panels,
|
@@ -143,8 +142,8 @@ class TabBook < FXTabBook
|
|
143
142
|
end
|
144
143
|
end
|
145
144
|
|
146
|
-
class GLViewWindow < FXMainWindow
|
147
|
-
|
145
|
+
class GLViewWindow < Fox::FXMainWindow
|
146
|
+
include Fox
|
148
147
|
include Responder
|
149
148
|
|
150
149
|
ID_QUERY_MODE = FXMainWindow::ID_LAST
|
@@ -162,6 +161,9 @@ class GLViewWindow < FXMainWindow
|
|
162
161
|
# Initialize base class first
|
163
162
|
super(app, "OpenGL Example Application", :opts => DECOR_ALL, :width => 800, :height => 600)
|
164
163
|
|
164
|
+
OpenGL.load_lib
|
165
|
+
GLU.load_lib
|
166
|
+
|
165
167
|
# Define message identifiers for this class
|
166
168
|
|
167
169
|
# Set up the message map
|
@@ -481,6 +483,8 @@ class GLViewWindow < FXMainWindow
|
|
481
483
|
sphere = FXGLSphere.new(1.0, 1.0, 0.0, 0.5)
|
482
484
|
sphere2 = FXGLSphere.new(0.0, 0.0, 0.0, 0.8)
|
483
485
|
sphere.tipText = "Sphere"
|
486
|
+
gp2.append(FXGLLine.new(-2.0, 0.0, 0.0, -1.0, 1.0, 1.0))
|
487
|
+
gp2.append(FXGLPoint.new(-2.0, 0.0, 0.0))
|
484
488
|
gp2.append(FXGLCube.new(-1.0, 0.0, 0.0, 1.0, 1.0, 1.0))
|
485
489
|
gp2.append(FXGLCube.new( 1.0, 0.0, 0.0, 1.0, 1.0, 1.0))
|
486
490
|
gp2.append(FXGLCube.new( 0.0,-1.0, 0.0, 1.0, 1.0, 1.0))
|
@@ -556,7 +560,7 @@ end
|
|
556
560
|
|
557
561
|
if __FILE__ == $0
|
558
562
|
# Make application
|
559
|
-
application = FXApp.new("GLViewer", "FoxTest")
|
563
|
+
application = Fox::FXApp.new("GLViewer", "FoxTest")
|
560
564
|
application.threadsEnabled = false
|
561
565
|
|
562
566
|
# Make window
|
data/examples/inputs.rb
CHANGED
@@ -21,6 +21,7 @@ class InputHandlerWindow < FXMainWindow
|
|
21
21
|
|
22
22
|
# Output will be displayed in a multiline text area
|
23
23
|
@cmdOutput = FXText.new(textFrame, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
24
|
+
@cmdInput.text = "ping rubyinstaller.org"
|
24
25
|
|
25
26
|
# Initialize the pipe
|
26
27
|
@pipe = nil
|
@@ -30,6 +31,7 @@ class InputHandlerWindow < FXMainWindow
|
|
30
31
|
def create
|
31
32
|
super
|
32
33
|
show(PLACEMENT_SCREEN)
|
34
|
+
@cmdInput.setFocus
|
33
35
|
end
|
34
36
|
|
35
37
|
# Remove previous input (if any)
|
@@ -54,11 +56,14 @@ class InputHandlerWindow < FXMainWindow
|
|
54
56
|
getApp().addInput(@pipe, INPUT_READ|INPUT_EXCEPT) do |sender, sel, ptr|
|
55
57
|
case FXSELTYPE(sel)
|
56
58
|
when SEL_IO_READ
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
59
|
+
begin
|
60
|
+
text = @pipe.read_nonblock(256)
|
61
|
+
rescue IO::WaitReadable
|
62
|
+
rescue EOFError
|
63
|
+
@cmdOutput.appendText("[EOF]")
|
61
64
|
closePipe
|
65
|
+
else
|
66
|
+
@cmdOutput.appendText(text)
|
62
67
|
end
|
63
68
|
when SEL_IO_EXCEPT
|
64
69
|
# puts 'onPipeExcept'
|
data/examples/pig.rb
CHANGED
@@ -47,9 +47,8 @@ class PigBox < FXMainWindow
|
|
47
47
|
theLabel.layoutHints = LAYOUT_FILL_X
|
48
48
|
end
|
49
49
|
|
50
|
-
FXTextField.new(top, 20, @text, FXDataTarget::ID_VALUE) do |theTextField|
|
50
|
+
@theTextField = FXTextField.new(top, 20, @text, FXDataTarget::ID_VALUE) do |theTextField|
|
51
51
|
theTextField.layoutHints = LAYOUT_FILL_X
|
52
|
-
theTextField.setFocus()
|
53
52
|
end
|
54
53
|
|
55
54
|
FXButton.new(top, 'Pig It') do |pigButton|
|
@@ -66,6 +65,7 @@ class PigBox < FXMainWindow
|
|
66
65
|
def create
|
67
66
|
super
|
68
67
|
show(PLACEMENT_SCREEN)
|
68
|
+
@theTextField.setFocus
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
data/examples/unicode.rb
CHANGED
@@ -1,36 +1,15 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# -*- encoding: UTF-8 -*-
|
2
3
|
|
3
4
|
require 'fox16'
|
4
|
-
require 'jcode'
|
5
|
-
|
6
|
-
$KCODE = 'UTF8'
|
7
|
-
|
8
|
-
class UString < String
|
9
|
-
# Show u-prefix as in Python
|
10
|
-
def inspect; "u#{ super }" end
|
11
|
-
|
12
|
-
# Count multibyte characters
|
13
|
-
def length; self.scan(/./).length end
|
14
|
-
|
15
|
-
# Reverse the string
|
16
|
-
def reverse; self.scan(/./).reverse.join end
|
17
|
-
end
|
18
|
-
|
19
|
-
module Kernel
|
20
|
-
def u( str )
|
21
|
-
UString.new str.gsub(/U\+([0-9a-fA-F]{4,4})/u){["#$1".hex ].pack('U*')}
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
include Fox
|
26
5
|
|
27
6
|
# Pass UTF-8 encoded Unicode strings to FXRuby.
|
28
|
-
label =
|
7
|
+
label = "Les enfants vont \u00E0 l'\u00E9cole.\nLa boulang\u00E8re vend-elle le pain en ao\u00FBt?"
|
29
8
|
|
30
|
-
FXApp.new("Unicode Example", "FoxTest") do |app|
|
31
|
-
main = FXMainWindow.new(app, "Unicode Text", nil, nil, DECOR_ALL)
|
32
|
-
FXLabel.new(main, label)
|
9
|
+
Fox::FXApp.new("Unicode Example", "FoxTest") do |app|
|
10
|
+
main = Fox::FXMainWindow.new(app, "Unicode Text", nil, nil, Fox::DECOR_ALL)
|
11
|
+
Fox::FXLabel.new(main, label)
|
33
12
|
app.create
|
34
|
-
main.show(PLACEMENT_SCREEN)
|
13
|
+
main.show(Fox::PLACEMENT_SCREEN)
|
35
14
|
app.run
|
36
15
|
end
|
data/ext/fox16_c/FXRbApp.cpp
CHANGED
@@ -26,12 +26,6 @@
|
|
26
26
|
|
27
27
|
#include "FXRbCommon.h"
|
28
28
|
|
29
|
-
#if defined(RUBY_1_8)
|
30
|
-
extern "C" {
|
31
|
-
#include "rubysig.h" /* For CHECK_INTS */
|
32
|
-
}
|
33
|
-
#endif
|
34
|
-
|
35
29
|
#ifdef HAVE_SYS_TIME_H
|
36
30
|
#include <sys/time.h> /* For struct timeval */
|
37
31
|
#endif
|
@@ -85,7 +79,7 @@ void FXRbApp::setThreadsEnabled(FXbool enabled){
|
|
85
79
|
interrupt_event = CreateEvent(NULL, TRUE, FALSE, NULL);
|
86
80
|
addInput(interrupt_event,INPUT_READ,this,ID_CHORE_THREADS);
|
87
81
|
#else
|
88
|
-
pipe(interrupt_fds);
|
82
|
+
if(pipe(interrupt_fds) == -1) rb_fatal("failed to allocate pipe for interrupt events");
|
89
83
|
fcntl(interrupt_fds[0], F_SETFL, O_NONBLOCK);
|
90
84
|
addInput(interrupt_fds[0],INPUT_READ,this,ID_CHORE_THREADS);
|
91
85
|
#endif
|
@@ -130,7 +124,7 @@ long FXRbApp::onChoreThreads(FXObject *obj,FXSelector sel,void *p){
|
|
130
124
|
#else
|
131
125
|
char byte;
|
132
126
|
// clear the pipe
|
133
|
-
read(interrupt_fds[0], &byte, 1);
|
127
|
+
if(read(interrupt_fds[0], &byte, 1) != 1) rb_fatal("failed to read from pipe for interrupt events");
|
134
128
|
#endif
|
135
129
|
#endif
|
136
130
|
return FXRbApp_onChoreThreads(this, obj, sel, p);
|
@@ -149,15 +143,7 @@ long FXRbApp::onChoreThreads_gvlcb(FXObject*,FXSelector,void*){
|
|
149
143
|
wait.tv_sec=0;
|
150
144
|
wait.tv_usec=100*sleepTime;
|
151
145
|
|
152
|
-
// Confirm that this thread can be interrupted, then go to sleep
|
153
|
-
#if defined(RUBY_1_8)
|
154
|
-
CHECK_INTS;
|
155
|
-
if(!rb_thread_critical)
|
156
|
-
rb_thread_wait_for(wait);
|
157
|
-
#else
|
158
|
-
// if(!rb_thread_critical) rb_thread_wait_for(wait);
|
159
146
|
rb_thread_wait_for(wait);
|
160
|
-
#endif /* RUBY_1_8 */
|
161
147
|
|
162
148
|
// Re-register this chore for next time
|
163
149
|
addChore(this,ID_CHORE_THREADS);
|
@@ -172,7 +158,7 @@ void fxrb_wakeup_fox(void *){
|
|
172
158
|
#ifdef WIN32
|
173
159
|
SetEvent(FXRbApp::interrupt_event);
|
174
160
|
#else
|
175
|
-
write(FXRbApp::interrupt_fds[1], "X", 1);
|
161
|
+
if(write(FXRbApp::interrupt_fds[1], "X", 1) != 1) rb_fatal("failed to write to pipe for interrupt events");
|
176
162
|
#endif
|
177
163
|
}
|
178
164
|
#endif
|
data/ext/fox16_c/FXRuby.cpp
CHANGED
@@ -43,20 +43,9 @@
|
|
43
43
|
#include <signal.h> // for definitions of SIGINT, etc.
|
44
44
|
#endif
|
45
45
|
|
46
|
-
#if defined(RUBY_1_8)
|
47
|
-
|
48
|
-
extern "C" {
|
49
|
-
#include "st.h"
|
50
|
-
#include "rubyio.h" // for GetOpenFile(), etc.
|
51
|
-
}
|
52
|
-
|
53
|
-
#else
|
54
|
-
|
55
46
|
#include "ruby/io.h"
|
56
47
|
#include "ruby/st.h"
|
57
48
|
|
58
|
-
#endif /* RUBY_1_8 */
|
59
|
-
|
60
49
|
|
61
50
|
// Opaque type declaration from SWIG runtime
|
62
51
|
struct swig_type_info;
|
@@ -130,7 +119,7 @@ void FXRbUnregisterRubyObj(const void* foxObj){
|
|
130
119
|
* These objects are allocated by FXRuby on the heap.
|
131
120
|
* They are free'd when the FXRuby wrapper is GC'ed and no other reference to the object exists.
|
132
121
|
* They are registered in FXRbObjRegistry as owned object.
|
133
|
-
*
|
122
|
+
* They are built per FXRbRegisterRubyObj().
|
134
123
|
*
|
135
124
|
* Borrowed objects :
|
136
125
|
* These objects are allocated by libfox on the heap.
|
@@ -145,7 +134,7 @@ void FXRbUnregisterRubyObj(const void* foxObj){
|
|
145
134
|
* They are wrapped for the time of one callback only, because stack memory is free'd afterwards.
|
146
135
|
* They are not registered in FXRbObjRegistry, but stored on the stack only.
|
147
136
|
* Therefore callback objects aren't re-used, but newly wrapped for each call.
|
148
|
-
*
|
137
|
+
* The same goes for arguments to ruby blocks.
|
149
138
|
* They are built per FXGetRubyObjCb().
|
150
139
|
*/
|
151
140
|
|
@@ -929,7 +918,6 @@ void* FXRbGetExpectedData(VALUE recv,FXSelector key,VALUE value){
|
|
929
918
|
case SEL_CLICKED:
|
930
919
|
case SEL_DOUBLECLICKED:
|
931
920
|
case SEL_TRIPLECLICKED:
|
932
|
-
case SEL_CHANGED:
|
933
921
|
case SEL_DESELECTED:
|
934
922
|
case SEL_SELECTED:
|
935
923
|
case SEL_INSERTED:
|
@@ -1045,7 +1033,7 @@ void* FXRbGetExpectedData(VALUE recv,FXSelector key,VALUE value){
|
|
1045
1033
|
return NULL;
|
1046
1034
|
case FXWindow::ID_HSCROLLED:
|
1047
1035
|
case FXWindow::ID_VSCROLLED:
|
1048
|
-
return reinterpret_cast<void*>(static_cast<
|
1036
|
+
return reinterpret_cast<void*>(static_cast<long>(NUM2INT(value)));
|
1049
1037
|
case FXWindow::ID_SETINTVALUE:
|
1050
1038
|
if(obj->isMemberOf(FXMETACLASS(FXColorWell))){
|
1051
1039
|
colorValue=NUM2UINT(value);
|
@@ -1086,9 +1074,16 @@ void* FXRbGetExpectedData(VALUE recv,FXSelector key,VALUE value){
|
|
1086
1074
|
if(obj->isMemberOf(FXMETACLASS(FXPicker))){
|
1087
1075
|
SWIG_ConvertPtr(value,&ptr,FXRbTypeQuery("FXPoint *"),1);
|
1088
1076
|
return ptr;
|
1089
|
-
}
|
1090
|
-
return 0;
|
1091
1077
|
}
|
1078
|
+
if(obj->isMemberOf(FXMETACLASS(FXWindow))){
|
1079
|
+
switch(id){
|
1080
|
+
case FXWindow::ID_HSCROLLED:
|
1081
|
+
case FXWindow::ID_VSCROLLED:
|
1082
|
+
return reinterpret_cast<void*>(static_cast<long>(NUM2INT(value)));
|
1083
|
+
}
|
1084
|
+
}
|
1085
|
+
return 0;
|
1086
|
+
}
|
1092
1087
|
|
1093
1088
|
if(type==SEL_DRAGGED){
|
1094
1089
|
SWIG_ConvertPtr(value,&ptr,FXRbTypeQuery("FXEvent *"),1);
|
@@ -1190,8 +1185,8 @@ long FXRbHandleMessage_gvlcb(FXObject* recv,ID func,FXObject* sender,FXSelector
|
|
1190
1185
|
FXTRACE((100,"FXRbHandleMessage(recv=%p(%s),FXSEL(%s,%d)\n",recv,recv->getClassName(),FXDebugTarget::messageTypeName[FXSELTYPE(key)],FXSELID(key)));
|
1191
1186
|
|
1192
1187
|
if(FXRbCatchExceptions){
|
1193
|
-
retval=rb_rescue2((
|
1194
|
-
(
|
1188
|
+
retval=rb_rescue2(RUBY_VALUE_METHOD_FUNC(handle_body), reinterpret_cast<VALUE>(&hArgs),
|
1189
|
+
RUBY_VALUE_METHOD_FUNC(handle_rescue), Qnil,
|
1195
1190
|
rb_eStandardError, rb_eNameError, 0);
|
1196
1191
|
}
|
1197
1192
|
else{
|
@@ -1237,9 +1232,9 @@ void FXRbRange2LoHi(VALUE range,FXint& lo,FXint& hi){
|
|
1237
1232
|
rb_raise(rb_eTypeError,"wrong argument type %s (expected %s)",rb_class2name(CLASS_OF(range)),rb_class2name(rb_cRange));
|
1238
1233
|
}
|
1239
1234
|
else{
|
1240
|
-
VALUE beg=rb_funcall(range,id_begin,0
|
1241
|
-
VALUE end=rb_funcall(range,id_end,0
|
1242
|
-
VALUE excl=rb_funcall(range,id_exclude_endp,0
|
1235
|
+
VALUE beg=rb_funcall(range,id_begin,0);
|
1236
|
+
VALUE end=rb_funcall(range,id_end,0);
|
1237
|
+
VALUE excl=rb_funcall(range,id_exclude_endp,0);
|
1243
1238
|
lo=NUM2INT(beg);
|
1244
1239
|
hi=NUM2INT(end);
|
1245
1240
|
if(excl==Qtrue){
|
@@ -1253,9 +1248,9 @@ void FXRbRange2LoHi(VALUE range,FXdouble& lo,FXdouble& hi){
|
|
1253
1248
|
rb_raise(rb_eTypeError,"wrong argument type %s (expected %s)",rb_class2name(CLASS_OF(range)),rb_class2name(rb_cRange));
|
1254
1249
|
}
|
1255
1250
|
else{
|
1256
|
-
VALUE beg=rb_funcall(range,id_begin,0
|
1257
|
-
VALUE end=rb_funcall(range,id_end,0
|
1258
|
-
VALUE excl=rb_funcall(range,id_exclude_endp,0
|
1251
|
+
VALUE beg=rb_funcall(range,id_begin,0);
|
1252
|
+
VALUE end=rb_funcall(range,id_end,0);
|
1253
|
+
VALUE excl=rb_funcall(range,id_exclude_endp,0);
|
1259
1254
|
lo=NUM2DBL(beg);
|
1260
1255
|
hi=NUM2DBL(end);
|
1261
1256
|
if(excl==Qtrue){
|
@@ -1270,13 +1265,13 @@ void FXRbCallVoidMethod_gvlcb(FXObject* recv, const char *func) {
|
|
1270
1265
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
1271
1266
|
FXASSERT(!NIL_P(obj));
|
1272
1267
|
FXASSERT(!FXRbIsInGC(recv));
|
1273
|
-
rb_funcall(obj,rb_intern(func),0
|
1268
|
+
rb_funcall(obj,rb_intern(func),0);
|
1274
1269
|
}
|
1275
1270
|
|
1276
1271
|
void FXRbCallVoidMethod_gvlcb(FXDC* recv,const char *func) {
|
1277
1272
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
1278
1273
|
FXASSERT(!NIL_P(obj));
|
1279
|
-
rb_funcall(obj,rb_intern(func),0
|
1274
|
+
rb_funcall(obj,rb_intern(func),0);
|
1280
1275
|
}
|
1281
1276
|
|
1282
1277
|
//----------------------------------------------------------------------
|
@@ -1284,7 +1279,7 @@ void FXRbCallVoidMethod_gvlcb(FXDC* recv,const char *func) {
|
|
1284
1279
|
bool FXRbCallBoolMethod_gvlcb(const FXObject* recv,const char *func){
|
1285
1280
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
1286
1281
|
FXASSERT(!NIL_P(obj));
|
1287
|
-
VALUE v=rb_funcall(obj,rb_intern(func),0
|
1282
|
+
VALUE v=rb_funcall(obj,rb_intern(func),0);
|
1288
1283
|
return (v==Qtrue);
|
1289
1284
|
}
|
1290
1285
|
|
@@ -1294,7 +1289,7 @@ bool FXRbCallBoolMethod_gvlcb(const FXObject* recv,const char *func){
|
|
1294
1289
|
FXint FXRbCallIntMethod_gvlcb(const FXObject* recv,const char *func){
|
1295
1290
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
1296
1291
|
FXASSERT(!NIL_P(obj));
|
1297
|
-
VALUE result=rb_funcall(obj,rb_intern(func),0
|
1292
|
+
VALUE result=rb_funcall(obj,rb_intern(func),0);
|
1298
1293
|
return static_cast<FXint>(NUM2INT(result));
|
1299
1294
|
}
|
1300
1295
|
|
@@ -1304,7 +1299,7 @@ FXint FXRbCallIntMethod_gvlcb(const FXObject* recv,const char *func){
|
|
1304
1299
|
FXGLObject* FXRbCallGLObjectMethod_gvlcb(FXGLObject* recv,const char *func){
|
1305
1300
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
1306
1301
|
FXASSERT(!NIL_P(obj));
|
1307
|
-
VALUE result=rb_funcall(obj,rb_intern(func),0
|
1302
|
+
VALUE result=rb_funcall(obj,rb_intern(func),0);
|
1308
1303
|
return NIL_P(result) ? 0 : reinterpret_cast<FXGLObject*>(DATA_PTR(result));
|
1309
1304
|
}
|
1310
1305
|
|
@@ -1392,7 +1387,7 @@ FXIcon* FXRbCallIconMethod_gvlcb(const FXTableItem* recv,const char *func){
|
|
1392
1387
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
1393
1388
|
FXASSERT(!NIL_P(obj));
|
1394
1389
|
if(!NIL_P(obj)){
|
1395
|
-
VALUE result=rb_funcall(obj,rb_intern(func),0
|
1390
|
+
VALUE result=rb_funcall(obj,rb_intern(func),0);
|
1396
1391
|
return NIL_P(result) ? 0 : reinterpret_cast<FXIcon*>(DATA_PTR(result));
|
1397
1392
|
}
|
1398
1393
|
else{
|
@@ -1415,7 +1410,7 @@ FXWindow* FXRbCallWindowMethod_gvlcb(const FXTableItem* recv,const char *func,FX
|
|
1415
1410
|
FXRangef FXRbCallRangeMethod_gvlcb(FXObject* recv,const char *func){
|
1416
1411
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
1417
1412
|
FXASSERT(!NIL_P(obj));
|
1418
|
-
VALUE result=rb_funcall(obj,rb_intern(func),0
|
1413
|
+
VALUE result=rb_funcall(obj,rb_intern(func),0);
|
1419
1414
|
return *reinterpret_cast<FXRangef*>(DATA_PTR(result));
|
1420
1415
|
}
|
1421
1416
|
|
@@ -1425,7 +1420,7 @@ FXRangef FXRbCallRangeMethod_gvlcb(FXObject* recv,const char *func){
|
|
1425
1420
|
FXString FXRbCallStringMethod_gvlcb(const FXObject* recv, const char *func){
|
1426
1421
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
1427
1422
|
FXASSERT(!NIL_P(obj));
|
1428
|
-
VALUE result=rb_funcall(obj,rb_intern(func),0
|
1423
|
+
VALUE result=rb_funcall(obj,rb_intern(func),0);
|
1429
1424
|
return FXString(StringValuePtr(result));
|
1430
1425
|
}
|
1431
1426
|
|
@@ -1452,7 +1447,7 @@ const FXchar* FXRbCallCStringMethod_gvlcb(const FXObject* recv, const char *func
|
|
1452
1447
|
FXwchar FXRbCallWCharMethod_gvlcb(const FXObject* recv, const char *func){
|
1453
1448
|
VALUE obj=FXRbGetRubyObj(recv,false);
|
1454
1449
|
FXASSERT(!NIL_P(obj));
|
1455
|
-
VALUE result=rb_funcall(obj,rb_intern(func),0
|
1450
|
+
VALUE result=rb_funcall(obj,rb_intern(func),0);
|
1456
1451
|
return static_cast<FXwchar>(NUM2ULONG(result));
|
1457
1452
|
}
|
1458
1453
|
|
@@ -1483,7 +1478,7 @@ FXRbMenuCommand::~FXRbMenuCommand(){
|
|
1483
1478
|
}
|
1484
1479
|
}
|
1485
1480
|
}
|
1486
|
-
acckey=(FXHotKey)
|
1481
|
+
acckey=(FXHotKey)0;
|
1487
1482
|
FXRbUnregisterRubyObj(this);
|
1488
1483
|
}
|
1489
1484
|
|
@@ -1499,7 +1494,7 @@ FXRbMenuCheck::~FXRbMenuCheck(){
|
|
1499
1494
|
}
|
1500
1495
|
}
|
1501
1496
|
}
|
1502
|
-
acckey=(FXHotKey)
|
1497
|
+
acckey=(FXHotKey)0;
|
1503
1498
|
FXRbUnregisterRubyObj(this);
|
1504
1499
|
}
|
1505
1500
|
|
@@ -1515,7 +1510,7 @@ FXRbMenuRadio::~FXRbMenuRadio(){
|
|
1515
1510
|
}
|
1516
1511
|
}
|
1517
1512
|
}
|
1518
|
-
acckey=(FXHotKey)
|
1513
|
+
acckey=(FXHotKey)0;
|
1519
1514
|
FXRbUnregisterRubyObj(this);
|
1520
1515
|
}
|
1521
1516
|
|
@@ -1656,11 +1651,6 @@ FXInputHandle FXRbGetWriteFileHandle(VALUE obj,FXuint mode) {
|
|
1656
1651
|
VALUE vwrite = rb_intern("@write");
|
1657
1652
|
if(rb_ivar_defined(obj, vwrite)) obj = rb_ivar_get(obj, vwrite);
|
1658
1653
|
fd = FIX2INT(rb_funcall(obj, rb_intern("fileno"), 0));
|
1659
|
-
#elif defined(RUBY_1_8)
|
1660
|
-
OpenFile *fptr;
|
1661
|
-
GetOpenFile(obj, fptr);
|
1662
|
-
FILE *fpw=GetWriteFile(fptr);
|
1663
|
-
fd = fileno(fpw);
|
1664
1654
|
#else
|
1665
1655
|
rb_io_t *fptr;
|
1666
1656
|
GetOpenFile(obj, fptr);
|
@@ -1897,7 +1887,7 @@ void FXRbUnregisterAppSensitiveObject(FXDC* dc){
|
|
1897
1887
|
FXASSERT(st_lookup(appSensitiveDCs,reinterpret_cast<st_data_t>(dc),reinterpret_cast<st_data_t *>(0))==0);
|
1898
1888
|
}
|
1899
1889
|
|
1900
|
-
static int st_cbfunc_obj(st_data_t key,st_data_t,st_data_t arg
|
1890
|
+
static int st_cbfunc_obj(st_data_t key,st_data_t,st_data_t arg){
|
1901
1891
|
FXASSERT(key!=0);
|
1902
1892
|
FXASSERT(arg!=0);
|
1903
1893
|
FXObjectListOf<FXObject> *pObjectList=reinterpret_cast<FXObjectListOf<FXObject>*>(arg);
|
@@ -1906,7 +1896,7 @@ static int st_cbfunc_obj(st_data_t key,st_data_t,st_data_t arg,int){
|
|
1906
1896
|
return 0;
|
1907
1897
|
}
|
1908
1898
|
|
1909
|
-
static int st_cbfunc_dc(st_data_t key,st_data_t,st_data_t arg
|
1899
|
+
static int st_cbfunc_dc(st_data_t key,st_data_t,st_data_t arg){
|
1910
1900
|
FXASSERT(key!=0);
|
1911
1901
|
FXASSERT(arg!=0);
|
1912
1902
|
FXArray<FXDC*> *pDCArray=reinterpret_cast<FXArray<FXDC*>*>(arg);
|
@@ -1919,7 +1909,7 @@ void FXRbDestroyAppSensitiveObjects(){
|
|
1919
1909
|
FXTRACE((100,"%s:%d: Begin destroying objects that hold references to the FXApp...\n",__FILE__,__LINE__));
|
1920
1910
|
|
1921
1911
|
FXObjectListOf<FXObject> objs;
|
1922
|
-
st_foreach(appSensitiveObjs,
|
1912
|
+
st_foreach(appSensitiveObjs,RUBY_INT_METHOD_FUNC(st_cbfunc_obj),reinterpret_cast<st_data_t>(&objs));
|
1923
1913
|
for(FXint i=0;i<objs.no();i++){
|
1924
1914
|
if(objs[i]->isMemberOf(FXMETACLASS(FXRbCursor))){
|
1925
1915
|
if(dynamic_cast<FXRbCursor*>(objs[i])->ownedByApp)
|
@@ -1949,7 +1939,7 @@ void FXRbDestroyAppSensitiveObjects(){
|
|
1949
1939
|
}
|
1950
1940
|
|
1951
1941
|
FXArray<FXDC*> dcs;
|
1952
|
-
st_foreach(appSensitiveDCs,
|
1942
|
+
st_foreach(appSensitiveDCs,RUBY_INT_METHOD_FUNC(st_cbfunc_dc),reinterpret_cast<st_data_t>(&dcs));
|
1953
1943
|
for(FXint j=0;j<dcs.no();j++){
|
1954
1944
|
delete dcs[j];
|
1955
1945
|
}
|