fxruby 1.6.38-x86-mingw32 → 1.6.43-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
}
|