gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] /srv/bzr/gnash/trunk r11293: Implemented Stage.showMenu -


From: Jon Crider
Subject: [Gnash-commit] /srv/bzr/gnash/trunk r11293: Implemented Stage.showMenu -
Date: Tue, 21 Jul 2009 10:24:10 -0600
User-agent: Bazaar (1.13.1)

------------------------------------------------------------
revno: 11293
committer: Jon Crider <address@hidden>
branch nick: trunk
timestamp: Tue 2009-07-21 10:24:10 -0600
message:
  Implemented Stage.showMenu -
   Currently gnash ignores any changes to the showMenu property unless the 
option
   'ignoreShowMenu' is set to false in the gnashrc file. The default for this
   option is 'true'. I still need to add this option to the default gnashrc 
file,
   and add it to the documentation. If 'ignoreShowMenu' is set to false, an
   abbreviated context (right click) menu will be shown instead of gnash's full
   menu. This abbreviated menu is similar to pp's menu in this case.
  
   As per the discussion on the gnash-dev mailing list, this option will be
   ignored by default.
modified:
  gui/Player.cpp
  gui/gtk.cpp
  gui/gtksup.h
  libbase/rc.cpp
  libbase/rc.h
  libcore/asobj/flash/display/Stage_as.cpp
  libcore/movie_root.cpp
  libcore/movie_root.h
  libcore/swf/DefineFontAlignZonesTag.cpp
  libcore/swf/DefineFontAlignZonesTag.h
  testsuite/misc-haxe.all/classes.all/display/Stage_as.hx
    ------------------------------------------------------------
    revno: 11192.1.1
    committer: Jon Crider <address@hidden>
    branch nick: showMenuImpl
    timestamp: Wed 2009-07-15 12:53:58 -0600
    message:
      Begin implementing Stage.showMenu. Added property _showMenu to 
movie_root.h/.cpp. Added haxe test cases to get and set showMenu property. 
Still need to implement gui changes to complete implementation.
    modified:
      gui/Player.cpp
      libcore/asobj/flash/display/Stage_as.cpp
      libcore/movie_root.cpp
      libcore/movie_root.h
      testsuite/misc-haxe.all/classes.all/display/Stage_as.hx
    ------------------------------------------------------------
    revno: 11192.1.2
    committer: Jon Crider <address@hidden>
    branch nick: showMenuImpl
    timestamp: Wed 2009-07-15 12:56:54 -0600
    message:
      Merged from trunk
    removed:
      libcore/asobj/LocalConnection_as.cpp
      libcore/asobj/LocalConnection_as.h
      libcore/asobj/System_as.h
      libcore/asobj/flash/accessibility/accessibility_pkg.cpp
      libcore/asobj/flash/accessibility/accessibility_pkg.h
      libcore/asobj/flash/accessibility/accessibilityclasses.h
      libcore/asobj/flash/desktop/desktop_pkg.cpp
      libcore/asobj/flash/desktop/desktop_pkg.h
      libcore/asobj/flash/desktop/desktopclasses.h
      libcore/asobj/flash/errors/errors_pkg.cpp
      libcore/asobj/flash/errors/errors_pkg.h
      libcore/asobj/flash/errors/errorsclasses.h
      libcore/asobj/flash/events/events_pkg.cpp
      libcore/asobj/flash/events/events_pkg.h
      libcore/asobj/flash/events/eventsclasses.h
      libcore/asobj/flash/media/media_pkg.cpp
      libcore/asobj/flash/media/media_pkg.h
      libcore/asobj/flash/media/mediaclasses.h
      libcore/asobj/flash/printing/printing_pkg.cpp
      libcore/asobj/flash/printing/printing_pkg.h
      libcore/asobj/flash/printing/printingclasses.h
      libcore/asobj/flash/sampler/sampler_pkg.cpp
      libcore/asobj/flash/sampler/sampler_pkg.h
      libcore/asobj/flash/sampler/samplerclasses.h
      libcore/asobj/flash/system/ApplicationDomain_as3.cpp.works
      libcore/asobj/flash/system/System_as.cpp
      libcore/asobj/flash/system/system_pkg.cpp
      libcore/asobj/flash/system/system_pkg.h
      libcore/asobj/flash/system/systemclasses.h
      libcore/asobj/flash/ui/ui_pkg.cpp
      libcore/asobj/flash/ui/ui_pkg.h
      libcore/asobj/flash/ui/uiclasses.h
      libcore/asobj/flash/utils/utils_pkg.cpp
      libcore/asobj/flash/utils/utils_pkg.h
      libcore/asobj/flash/utils/utilsclasses.h
      libcore/asobj/flash/xml/xml_pkg.cpp
      libcore/asobj/flash/xml/xml_pkg.h
      libcore/asobj/flash/xml/xmlclasses.h
    added:
      doc/C/preformatted/rtmpget.1.in
      doc/C/rtmpget.man-xml
      libcore/asobj/Global_as.h
      libcore/asobj/QName_as.cpp
      libcore/asobj/QName_as.h
      libmedia/AudioInput.h
      libmedia/VideoInput.h
      libmedia/gst/AudioInputGst.cpp
      libmedia/gst/AudioInputGst.h
      libmedia/gst/VideoInputGst.cpp
      libmedia/gst/VideoInputGst.h
      libnet/sshclient.cpp
      libnet/sshclient.h
      testsuite/as3compile.all/QName.as
      testsuite/as3compile.all/System.as
      testsuite/misc-haxe.all/classes.all/ASnative_as.hx
      testsuite/misc-ming.all/ButtonPropertiesTest.c
      testsuite/misc-ming.all/ButtonPropertiesTestRunner.cpp
      testsuite/misc-ming.all/DeviceFontTest.c
      testsuite/misc-ming.all/EmbeddedFontTest.c
      testsuite/network.all/test_allowDomain.cpp
      testsuite/network.all/test_ssh.cpp
    renamed:
      backend/render_handler.h => backend/Renderer.h
      backend/render_handler_agg.cpp => backend/Renderer_agg.cpp
      backend/render_handler_agg.h => backend/Renderer_agg.h
      backend/render_handler_agg_bitmap.h => backend/Renderer_agg_bitmap.h
      backend/render_handler_agg_style.h => backend/Renderer_agg_style.h
      backend/render_handler_cairo.cpp => backend/Renderer_cairo.cpp
      backend/render_handler_cairo.h => backend/Renderer_cairo.h
      backend/render_handler_ogl.cpp => backend/Renderer_ogl.cpp
      backend/render_handler_ogl.h => backend/Renderer_ogl.h
      libcore/RunInfo.h => libcore/RunResources.h
      libcore/asobj/Global.cpp => libcore/asobj/Globals.cpp
      libcore/asobj/Global.h => libcore/asobj/Globals.h
      libcore/asobj/System_as.cpp => libcore/asobj/flash/system/System_as.cpp
      libcore/parser/abc_block.cpp => libcore/parser/AbcBlock.cpp
      libcore/parser/abc_block.h => libcore/parser/AbcBlock.h
      libcore/render.cpp => backend/ProxyRenderer.cpp
      libcore/render.h => backend/ProxyRenderer.h
    modified:
      Makefile.am
      backend/Makefile.am
      configure.ac
      cygnal/crc.cpp
      cygnal/cvm.cpp
      doc/C/Makefile.am
      doc/C/preformatted/flvdumper.1.in
      extensions/dbus/dbus_ext.cpp
      extensions/dejagnu/dejagnu.cpp
      extensions/fileio/fileio.cpp
      extensions/gtk2/gtkext.cpp
      extensions/launcher/launcher_ext.cpp
      extensions/lirc/lirc_ext.cpp
      extensions/metome/metome_ext.cpp
      extensions/mysql/mysql_db.cpp
      gui/GuiKde4.cpp
      gui/Info.plist.in
      gui/Kde4Glue.h
      gui/Kde4GlueAgg.cpp
      gui/Kde4GlueAgg.h
      gui/Kde4GlueCairo.cpp
      gui/Kde4GlueCairo.h
      gui/Kde4GlueOgl.cpp
      gui/Kde4GlueOgl.h
      gui/Kde4Gui.cpp
      gui/Kde4Gui.h
      gui/Makefile.am
      gui/NullGui.h
      gui/Player.cpp
      gui/Player.h
      gui/aos4.cpp
      gui/aos4_agg_glue.cpp
      gui/aos4_agg_glue.h
      gui/aos4_cairo_glue.cpp
      gui/aos4_cairo_glue.h
      gui/aos4_glue.h
      gui/aos4sup.h
      gui/aqua.cpp
      gui/aqua_glue.h
      gui/aqua_ogl_glue.cpp
      gui/aqua_ogl_glue.h
      gui/aquasup.h
      gui/dump.cpp
      gui/dump.h
      gui/fb.cpp
      gui/fbsup.h
      gui/fltk.cpp
      gui/fltk_glue_agg.cpp
      gui/fltk_glue_agg.h
      gui/fltk_glue_cairo.cpp
      gui/fltk_glue_cairo.h
      gui/fltksup.h
      gui/gtk.cpp
      gui/gtk_canvas.cpp
      gui/gtk_canvas.h
      gui/gtk_glue.h
      gui/gtk_glue_agg.cpp
      gui/gtk_glue_agg.h
      gui/gtk_glue_agg_xv.cpp
      gui/gtk_glue_agg_xv.h
      gui/gtk_glue_cairo.cpp
      gui/gtk_glue_cairo.h
      gui/gtk_glue_gtkglext.cpp
      gui/gtk_glue_gtkglext.h
      gui/gtksup.h
      gui/gui.cpp
      gui/gui.h
      gui/gui_aos4.cpp
      gui/gui_aqua.cpp
      gui/gui_dump.cpp
      gui/gui_fb.cpp
      gui/gui_fltk.cpp
      gui/gui_gtk.cpp
      gui/gui_kde.cpp
      gui/gui_riscos.cpp
      gui/gui_sdl.cpp
      gui/kde.cpp
      gui/kde_glue.h
      gui/kde_glue_agg.cpp
      gui/kde_glue_agg.h
      gui/kde_glue_opengl.cpp
      gui/kde_glue_opengl.h
      gui/kdesup.h
      gui/pythonmod/gnash-view.cpp
      gui/riscos.cpp
      gui/riscos_glue.h
      gui/riscos_glue_agg.cpp
      gui/riscos_glue_agg.h
      gui/riscossup.h
      gui/sdl.cpp
      gui/sdl_agg_glue.cpp
      gui/sdl_agg_glue.h
      gui/sdl_cairo_glue.cpp
      gui/sdl_cairo_glue.h
      gui/sdl_glue.h
      gui/sdl_ogl_glue.cpp
      gui/sdl_ogl_glue.h
      gui/sdlsup.h
      libbase/GnashImage.cpp
      libbase/GnashImagePng.cpp
      libbase/rc.cpp
      libbase/rc.h
      libcore/Bitmap.cpp
      libcore/Bitmap.h
      libcore/BitmapInfo.h
      libcore/BitmapMovie.cpp
      libcore/BitmapMovie.h
      libcore/Button.cpp
      libcore/Button.h
      libcore/ClassHierarchy.cpp
      libcore/ClassHierarchy.h
      libcore/DisplayList.cpp
      libcore/DisplayList.h
      libcore/DisplayObject.cpp
      libcore/DisplayObject.h
      libcore/DynamicShape.cpp
      libcore/DynamicShape.h
      libcore/FreetypeGlyphsProvider.cpp
      libcore/InteractiveObject.h
      libcore/Makefile.am
      libcore/MorphShape.cpp
      libcore/MorphShape.h
      libcore/MovieClip.cpp
      libcore/MovieClip.h
      libcore/MovieFactory.h
      libcore/Property.cpp
      libcore/PropertyList.cpp
      libcore/Shape.cpp
      libcore/Shape.h
      libcore/StaticText.cpp
      libcore/StaticText.h
      libcore/TextField.cpp
      libcore/TextField.h
      libcore/Timers.cpp
      libcore/Video.cpp
      libcore/Video.h
      libcore/abc_function.cpp
      libcore/abc_function.h
      libcore/asClass.cpp
      libcore/asClass.h
      libcore/asMethod.cpp
      libcore/asMethod.h
      libcore/asNamespace.cpp
      libcore/asNamespace.h
      libcore/as_environment.cpp
      libcore/as_environment.h
      libcore/as_function.cpp
      libcore/as_function.h
      libcore/as_object.cpp
      libcore/as_object.h
      libcore/as_value.cpp
      libcore/as_value.h
      libcore/asobj/Array_as.cpp
      libcore/asobj/Array_as.h
      libcore/asobj/AsBroadcaster.cpp
      libcore/asobj/Boolean_as.cpp
      libcore/asobj/Boolean_as.h
      libcore/asobj/Color_as.cpp
      libcore/asobj/CustomActions.cpp
      libcore/asobj/Date_as.cpp
      libcore/asobj/Error_as.cpp
      libcore/asobj/LoadVars_as.cpp
      libcore/asobj/LoadableObject.cpp
      libcore/asobj/Makefile.am
      libcore/asobj/Math_as.cpp
      libcore/asobj/MovieClipLoader.cpp
      libcore/asobj/Namespace_as.cpp
      libcore/asobj/Namespace_as.h
      libcore/asobj/NetConnection_as.cpp
      libcore/asobj/NetStream_as.cpp
      libcore/asobj/Number_as.cpp
      libcore/asobj/Number_as.h
      libcore/asobj/Object.cpp
      libcore/asobj/Selection_as.cpp
      libcore/asobj/String_as.cpp
      libcore/asobj/String_as.h
      libcore/asobj/TextFormat_as.cpp
      libcore/asobj/flash.am
      libcore/asobj/flash/accessibility/AccessibilityProperties_as.cpp
      libcore/asobj/flash/accessibility/Accessibility_as.cpp
      libcore/asobj/flash/accessibility/accessibility.am
      libcore/asobj/flash/desktop/ClipboardFormats_as.cpp
      libcore/asobj/flash/desktop/ClipboardTransferMode_as.cpp
      libcore/asobj/flash/desktop/Clipboard_as.cpp
      libcore/asobj/flash/desktop/desktop.am
      libcore/asobj/flash/display/AVM1Movie_as.cpp
      libcore/asobj/flash/display/ActionScriptVersion_as.cpp
      libcore/asobj/flash/display/BitmapDataChannel_as.cpp
      libcore/asobj/flash/display/BitmapData_as.cpp
      libcore/asobj/flash/display/BitmapData_as.h
      libcore/asobj/flash/display/Bitmap_as.cpp
      libcore/asobj/flash/display/BlendMode_as.cpp
      libcore/asobj/flash/display/CapsStyle_as.cpp
      libcore/asobj/flash/display/DisplayObjectContainer_as.cpp
      libcore/asobj/flash/display/DisplayObject_as.cpp
      libcore/asobj/flash/display/FrameLabel_as.cpp
      libcore/asobj/flash/display/GradientType_as.cpp
      libcore/asobj/flash/display/Graphics_as.cpp
      libcore/asobj/flash/display/IBitmapDrawable_as.cpp
      libcore/asobj/flash/display/InteractiveObject_as.cpp
      libcore/asobj/flash/display/InterpolationMethod_as.cpp
      libcore/asobj/flash/display/JointStyle_as.cpp
      libcore/asobj/flash/display/LineScaleMode_as.cpp
      libcore/asobj/flash/display/LoaderInfo_as.cpp
      libcore/asobj/flash/display/Loader_as.cpp
      libcore/asobj/flash/display/MorphShape_as.cpp
      libcore/asobj/flash/display/MovieClip_as.cpp
      libcore/asobj/flash/display/PixelSnapping_as.cpp
      libcore/asobj/flash/display/SWFVersion_as.cpp
      libcore/asobj/flash/display/Scene_as.cpp
      libcore/asobj/flash/display/Shape_as.cpp
      libcore/asobj/flash/display/SimpleButton_as.cpp
      libcore/asobj/flash/display/SpreadMethod_as.cpp
      libcore/asobj/flash/display/Sprite_as.cpp
      libcore/asobj/flash/display/StageAlign_as.cpp
      libcore/asobj/flash/display/StageDisplayState_as.cpp
      libcore/asobj/flash/display/StageQuality_as.cpp
      libcore/asobj/flash/display/StageScaleMode_as.cpp
      libcore/asobj/flash/display/Stage_as.cpp
      libcore/asobj/flash/display/display.am
      libcore/asobj/flash/display/display_pkg.cpp
      libcore/asobj/flash/display/displayclasses.h
      libcore/asobj/flash/errors/EOFError_as.cpp
      libcore/asobj/flash/errors/IOError_as.cpp
      libcore/asobj/flash/errors/IllegalOperationError_as.cpp
      libcore/asobj/flash/errors/InvalidSWFError_as.cpp
      libcore/asobj/flash/errors/MemoryError_as.cpp
      libcore/asobj/flash/errors/ScriptTimeoutError_as.cpp
      libcore/asobj/flash/errors/StackOverflowError_as.cpp
      libcore/asobj/flash/errors/errors.am
      libcore/asobj/flash/events/ActivityEvent_as.cpp
      libcore/asobj/flash/events/AsyncErrorEvent_as.cpp
      libcore/asobj/flash/events/ContextMenuEvent_as.cpp
      libcore/asobj/flash/events/DataEvent_as.cpp
      libcore/asobj/flash/events/ErrorEvent_as.cpp
      libcore/asobj/flash/events/EventDispatcher_as.cpp
      libcore/asobj/flash/events/EventPhase_as.cpp
      libcore/asobj/flash/events/Event_as.cpp
      libcore/asobj/flash/events/FocusEvent_as.cpp
      libcore/asobj/flash/events/FullScreenEvent_as.cpp
      libcore/asobj/flash/events/HTTPStatusEvent_as.cpp
      libcore/asobj/flash/events/IEventDispatcher_as.cpp
      libcore/asobj/flash/events/IMEEvent_as.cpp
      libcore/asobj/flash/events/IOErrorEvent_as.cpp
      libcore/asobj/flash/events/KeyboardEvent_as.cpp
      libcore/asobj/flash/events/MouseEvent_as.cpp
      libcore/asobj/flash/events/NetStatusEvent_as.cpp
      libcore/asobj/flash/events/ProgressEvent_as.cpp
      libcore/asobj/flash/events/SecurityErrorEvent_as.cpp
      libcore/asobj/flash/events/StatusEvent_as.cpp
      libcore/asobj/flash/events/SyncEvent_as.cpp
      libcore/asobj/flash/events/TextEvent_as.cpp
      libcore/asobj/flash/events/TimerEvent_as.cpp
      libcore/asobj/flash/events/events.am
      libcore/asobj/flash/external/ExternalInterface_as.cpp
      libcore/asobj/flash/external/ExternalInterface_as.h
      libcore/asobj/flash/external/external_pkg.cpp
      libcore/asobj/flash/external/externalclasses.h
      libcore/asobj/flash/filters/BevelFilter_as.cpp
      libcore/asobj/flash/filters/BitmapFilterQuality_as.cpp
      libcore/asobj/flash/filters/BitmapFilterType_as.cpp
      libcore/asobj/flash/filters/BitmapFilter_as.cpp
      libcore/asobj/flash/filters/BlurFilter_as.cpp
      libcore/asobj/flash/filters/ColorMatrixFilter_as.cpp
      libcore/asobj/flash/filters/ConvolutionFilter_as.cpp
      libcore/asobj/flash/filters/DisplacementMapFilterMode_as.cpp
      libcore/asobj/flash/filters/DisplacementMapFilter_as.cpp
      libcore/asobj/flash/filters/DropShadowFilter_as.cpp
      libcore/asobj/flash/filters/GlowFilter_as.cpp
      libcore/asobj/flash/filters/GradientBevelFilter_as.cpp
      libcore/asobj/flash/filters/GradientGlowFilter_as.cpp
      libcore/asobj/flash/filters/filters_pkg.cpp
      libcore/asobj/flash/filters/filtersclasses.h
      libcore/asobj/flash/flash_pkg.cpp
      libcore/asobj/flash/flashclasses.h
      libcore/asobj/flash/geom/ColorTransform_as.cpp
      libcore/asobj/flash/geom/ColorTransform_as.h
      libcore/asobj/flash/geom/Matrix_as.cpp
      libcore/asobj/flash/geom/Matrix_as.h
      libcore/asobj/flash/geom/Point_as.cpp
      libcore/asobj/flash/geom/Point_as.h
      libcore/asobj/flash/geom/Rectangle_as.cpp
      libcore/asobj/flash/geom/Transform_as.cpp
      libcore/asobj/flash/geom/Transform_as.h
      libcore/asobj/flash/geom/geom_pkg.cpp
      libcore/asobj/flash/geom/geomclasses.h
      libcore/asobj/flash/media/Camera_as.cpp
      libcore/asobj/flash/media/ID3Info_as.cpp
      libcore/asobj/flash/media/Microphone_as.cpp
      libcore/asobj/flash/media/SoundChannel_as.cpp
      libcore/asobj/flash/media/SoundLoaderContext_as.cpp
      libcore/asobj/flash/media/SoundMixer_as.cpp
      libcore/asobj/flash/media/SoundTransform_as.cpp
      libcore/asobj/flash/media/Sound_as.cpp
      libcore/asobj/flash/media/Video_as.cpp
      libcore/asobj/flash/media/media.am
      libcore/asobj/flash/media/media_as.cpp
      libcore/asobj/flash/net/FileFilter_as.cpp
      libcore/asobj/flash/net/FileReferenceList_as.cpp
      libcore/asobj/flash/net/FileReference_as.cpp
      libcore/asobj/flash/net/IDynamicPropertyOutput_as.cpp
      libcore/asobj/flash/net/IDynamicPropertyWriter_as.cpp
      libcore/asobj/flash/net/LocalConnection_as.cpp
      libcore/asobj/flash/net/NetConnection_as.cpp
      libcore/asobj/flash/net/NetStream_as.cpp
      libcore/asobj/flash/net/ObjectEncoding_as.cpp
      libcore/asobj/flash/net/Responder_as.cpp
      libcore/asobj/flash/net/SharedObjectFlushStatus_as.cpp
      libcore/asobj/flash/net/SharedObject_as.cpp
      libcore/asobj/flash/net/Socket_as.cpp
      libcore/asobj/flash/net/URLLoaderDataFormat_as.cpp
      libcore/asobj/flash/net/URLLoader_as.cpp
      libcore/asobj/flash/net/URLRequestHeader_as.cpp
      libcore/asobj/flash/net/URLRequestMethod_as.cpp
      libcore/asobj/flash/net/URLRequest_as.cpp
      libcore/asobj/flash/net/URLStream_as.cpp
      libcore/asobj/flash/net/URLVariables_as.cpp
      libcore/asobj/flash/net/XMLSocket_as.cpp
      libcore/asobj/flash/net/net_pkg.cpp
      libcore/asobj/flash/net/netclasses.h
      libcore/asobj/flash/printing/PrintJobOptions_as.cpp
      libcore/asobj/flash/printing/PrintJobOrientation_as.cpp
      libcore/asobj/flash/printing/PrintJob_as.cpp
      libcore/asobj/flash/printing/printing.am
      libcore/asobj/flash/sampler/DeleteObjectSample_as.cpp
      libcore/asobj/flash/sampler/NewObjectSample_as.cpp
      libcore/asobj/flash/sampler/Sample_as.cpp
      libcore/asobj/flash/sampler/StackFrame_as.cpp
      libcore/asobj/flash/sampler/sampler.am
      libcore/asobj/flash/system/ApplicationDomain_as.cpp
      libcore/asobj/flash/system/Capabilities_as.cpp
      libcore/asobj/flash/system/IMEConversionMode_as.cpp
      libcore/asobj/flash/system/IME_as.cpp
      libcore/asobj/flash/system/LoaderContext_as.cpp
      libcore/asobj/flash/system/SecurityDomain_as.cpp
      libcore/asobj/flash/system/SecurityPanel_as.cpp
      libcore/asobj/flash/system/Security_as.cpp
      libcore/asobj/flash/system/System_as.h
      libcore/asobj/flash/system/system.am
      libcore/asobj/flash/text/AntiAliasType_as.cpp
      libcore/asobj/flash/text/CSMSettings_as.cpp
      libcore/asobj/flash/text/FontStyle_as.cpp
      libcore/asobj/flash/text/FontType_as.cpp
      libcore/asobj/flash/text/Font_as.cpp
      libcore/asobj/flash/text/GridFitType_as.cpp
      libcore/asobj/flash/text/StaticText_as.cpp
      libcore/asobj/flash/text/StyleSheet_as.cpp
      libcore/asobj/flash/text/TextColorType_as.cpp
      libcore/asobj/flash/text/TextDisplayMode_as.cpp
      libcore/asobj/flash/text/TextFieldAutoSize_as.cpp
      libcore/asobj/flash/text/TextFieldType_as.cpp
      libcore/asobj/flash/text/TextField_as.cpp
      libcore/asobj/flash/text/TextFormatAlign_as.cpp
      libcore/asobj/flash/text/TextFormat_as.cpp
      libcore/asobj/flash/text/TextLineMetrics_as.cpp
      libcore/asobj/flash/text/TextRenderer_as.cpp
      libcore/asobj/flash/text/TextSnapshot_as.cpp
      libcore/asobj/flash/text/text_pkg.cpp
      libcore/asobj/flash/text/textclasses.h
      libcore/asobj/flash/ui/ContextMenuBuiltInItems_as.cpp
      libcore/asobj/flash/ui/ContextMenuItem_as.cpp
      libcore/asobj/flash/ui/ContextMenu_as.cpp
      libcore/asobj/flash/ui/KeyLocation_as.cpp
      libcore/asobj/flash/ui/Keyboard_as.cpp
      libcore/asobj/flash/ui/Mouse_as.cpp
      libcore/asobj/flash/ui/ui.am
      libcore/asobj/flash/utils/ByteArray_as.cpp
      libcore/asobj/flash/utils/Dictionary_as.cpp
      libcore/asobj/flash/utils/Endian_as.cpp
      libcore/asobj/flash/utils/IDataInput_as.cpp
      libcore/asobj/flash/utils/IDataOutput_as.cpp
      libcore/asobj/flash/utils/IExternalizable_as.cpp
      libcore/asobj/flash/utils/Proxy_as.cpp
      libcore/asobj/flash/utils/Timer_as.cpp
      libcore/asobj/flash/utils/utils.am
      libcore/asobj/flash/xml/XMLDocument_as.cpp
      libcore/asobj/flash/xml/XMLNodeType_as.cpp
      libcore/asobj/flash/xml/XMLNode_as.cpp
      libcore/asobj/flash/xml/xml.am
      libcore/asobj/int_as.cpp
      libcore/builtin_function.h
      libcore/debugger.cpp
      libcore/fill_style.cpp
      libcore/fill_style.h
      libcore/fontlib.cpp
      libcore/gnash.h
      libcore/impl.cpp
      libcore/movie_root.cpp
      libcore/movie_root.h
      libcore/namedStrings.cpp
      libcore/namedStrings.h
      libcore/parser/BitmapMovieDefinition.cpp
      libcore/parser/BitmapMovieDefinition.h
      libcore/parser/Makefile.am
      libcore/parser/SWFMovieDefinition.cpp
      libcore/parser/SWFMovieDefinition.h
      libcore/parser/SWFParser.cpp
      libcore/parser/SWFParser.h
      libcore/parser/sound_definition.cpp
      libcore/parser/sound_definition.h
      libcore/parser/sprite_definition.cpp
      libcore/parser/sprite_definition.h
      libcore/styles.cpp
      libcore/styles.h
      libcore/swf/CSMTextSettingsTag.cpp
      libcore/swf/CSMTextSettingsTag.h
      libcore/swf/DefaultTagLoaders.h
      libcore/swf/DefineButtonCxformTag.cpp
      libcore/swf/DefineButtonCxformTag.h
      libcore/swf/DefineButtonSoundTag.cpp
      libcore/swf/DefineButtonSoundTag.h
      libcore/swf/DefineButtonTag.cpp
      libcore/swf/DefineButtonTag.h
      libcore/swf/DefineEditTextTag.cpp
      libcore/swf/DefineEditTextTag.h
      libcore/swf/DefineFontAlignZonesTag.cpp
      libcore/swf/DefineFontAlignZonesTag.h
      libcore/swf/DefineFontNameTag.h
      libcore/swf/DefineFontTag.cpp
      libcore/swf/DefineFontTag.h
      libcore/swf/DefineMorphShapeTag.cpp
      libcore/swf/DefineMorphShapeTag.h
      libcore/swf/DefineSceneAndFrameLabelDataTag.h
      libcore/swf/DefineShapeTag.cpp
      libcore/swf/DefineShapeTag.h
      libcore/swf/DefineTextTag.cpp
      libcore/swf/DefineTextTag.h
      libcore/swf/DefineVideoStreamTag.cpp
      libcore/swf/DefineVideoStreamTag.h
      libcore/swf/DoABCTag.h
      libcore/swf/DoActionTag.h
      libcore/swf/DoInitActionTag.h
      libcore/swf/PlaceObject2Tag.cpp
      libcore/swf/PlaceObject2Tag.h
      libcore/swf/RemoveObjectTag.cpp
      libcore/swf/RemoveObjectTag.h
      libcore/swf/ScriptLimitsTag.h
      libcore/swf/SetBackgroundColorTag.h
      libcore/swf/ShapeRecord.cpp
      libcore/swf/ShapeRecord.h
      libcore/swf/StartSoundTag.cpp
      libcore/swf/StartSoundTag.h
      libcore/swf/StreamSoundBlockTag.cpp
      libcore/swf/StreamSoundBlockTag.h
      libcore/swf/SymbolClassTag.h
      libcore/swf/TagLoadersTable.h
      libcore/swf/TextRecord.cpp
      libcore/swf/TextRecord.h
      libcore/swf/VideoFrameTag.cpp
      libcore/swf/VideoFrameTag.h
      libcore/swf/tag_loaders.cpp
      libcore/swf/tag_loaders.h
      libcore/swf_function.cpp
      libcore/swf_function.h
      libcore/vm/ASHandlers.cpp
      libcore/vm/ActionExec.cpp
      libcore/vm/ExecutableCode.h
      libcore/vm/Machine.cpp
      libcore/vm/Machine.h
      libcore/vm/VM.cpp
      libcore/vm/VM.h
      libcore/vm/fn_call.h
      libmedia/Makefile.am
      libnet/Makefile.am
      libnet/network.cpp
      libnet/network.h
      macros/swfmill.m4
      plugin/win32/plugin.h
      testsuite/DummyCharacter.h
      testsuite/DummyMovieDefinition.h
      testsuite/Makefile.am
      testsuite/MovieTester.cpp
      testsuite/MovieTester.h
      testsuite/actionscript.all/ContextMenu.as
      testsuite/actionscript.all/Makefile.am
      testsuite/actionscript.all/System.as
      testsuite/actionscript.all/TextField.as
      testsuite/as3compile.all/Makefile.am
      testsuite/as3compile.all/MovieClip.as
      testsuite/as3compile.all/class.as
      testsuite/as3compile.all/lookup.as
      testsuite/libbase.all/gnashrc.in
      testsuite/libcore.all/AsValueTest.cpp
      testsuite/libcore.all/DisplayListTest.cpp
      testsuite/libcore.all/Makefile.am
      testsuite/libcore.all/PropertyListTest.cpp
      testsuite/misc-haxe.all/classes.all/Boolean_as.hx
      testsuite/misc-haxe.all/classes.all/DejaGnu.hx
      testsuite/misc-haxe.all/classes.all/geom/Rectangle_as.hx
      testsuite/misc-haxe.all/classes.all/system/Security_as.hx
      testsuite/misc-haxe.all/classes.all/system/System_as.hx
      testsuite/misc-haxe.all/classes.all/text/TextSnapshot_as.hx
      testsuite/misc-ming.all/ButtonEventsTest.c
      testsuite/misc-ming.all/DragDropTestRunner.cpp
      testsuite/misc-ming.all/DrawingApiTest.as
      testsuite/misc-ming.all/DrawingApiTestRunner.cpp
      testsuite/misc-ming.all/EmbeddedSoundTest-Runner.cpp
      testsuite/misc-ming.all/Makefile.am
      testsuite/misc-ming.all/PrototypeEventListenersTestRunner.cpp
      testsuite/misc-ming.all/eventSoundTest1-Runner.cpp
      testsuite/misc-ming.all/loadMovieTestRunner.cpp
      testsuite/misc-ming.all/registerClassTest.c
      testsuite/misc-swfc.all/button_test1runner.cpp
      testsuite/misc-swfc.all/sound.sc
      testsuite/misc-swfmill.all/Makefile.am
      testsuite/network.all/Makefile.am
      testsuite/network.all/test_ssl.cpp
      testsuite/swfdec/PASSING
      utilities/processor.cpp
      backend/Renderer.h
      backend/Renderer_agg.cpp
      backend/Renderer_agg.h
      backend/Renderer_agg_bitmap.h
      backend/Renderer_agg_style.h
      backend/Renderer_cairo.cpp
      backend/Renderer_cairo.h
      backend/Renderer_ogl.cpp
      libcore/RunResources.h
      libcore/asobj/Globals.cpp
      libcore/asobj/Globals.h
      libcore/asobj/flash/system/System_as.cpp
      libcore/parser/AbcBlock.cpp
      libcore/parser/AbcBlock.h
      backend/ProxyRenderer.cpp
      backend/ProxyRenderer.h
    ------------------------------------------------------------
    revno: 11192.1.3
    committer: Jon Crider <address@hidden>
    branch nick: showMenuImpl
    timestamp: Tue 2009-07-21 09:59:57 -0600
    message:
      Finished implementation of showMenu. Only works in gtk. Must add 'set 
ignoreShowMenu' to gnashrc file.
    modified:
      gui/Player.cpp
      gui/gtk.cpp
      gui/gtksup.h
      libbase/rc.cpp
      libbase/rc.h
      libcore/asobj/flash/display/Stage_as.cpp
      libcore/movie_root.cpp
      libcore/swf/DefineFontAlignZonesTag.cpp
      libcore/swf/DefineFontAlignZonesTag.h
      testsuite/misc-haxe.all/classes.all/display/Stage_as.hx
=== modified file 'gui/Player.cpp'
--- a/gui/Player.cpp    2009-07-13 09:30:28 +0000
+++ b/gui/Player.cpp    2009-07-21 15:59:57 +0000
@@ -520,6 +520,8 @@
 std::string
 Player::CallbacksHandler::call(const std::string& event, const std::string& 
arg)
 {
+    StringNoCaseEqual noCaseCompare;
+       
     if (event == "Mouse.hide") {
         return _gui.showMouse(false) ? "true" : "false";
     }
@@ -541,7 +543,14 @@
         _gui.updateStageMatrix();
         return "";
     }
-    
+
+    if (event == "Stage.showMenu")
+    {
+        if (noCaseCompare(arg, "true")) _gui.showMenu(true);
+        else if (noCaseCompare(arg, "false")) _gui.showMenu(false);
+        return "";
+    }
+
     if (event == "System.capabilities.screenResolutionX")
     {
         std::ostringstream ss;

=== modified file 'gui/gtk.cpp'
--- a/gui/gtk.cpp       2009-07-13 09:15:53 +0000
+++ b/gui/gtk.cpp       2009-07-21 15:59:57 +0000
@@ -111,6 +111,8 @@
                                         gpointer data);
     gint popupHandler(GtkWidget *widget, GdkEvent *event);    
 
+    gint popupHandlerAlt(GtkWidget *widget, GdkEvent *event);    
+
     void openFile(GtkWidget *widget, gpointer data);
 
     void addPixmapDirectory(const gchar *directory);
@@ -125,6 +127,9 @@
 
     int gdk_to_gnash_modifier(int key);
 
+       //for use in popupHandler
+       bool _showMenuState;
+
 }
 
 // This is global so it can be accessed by the evnt handler, which
@@ -147,6 +152,7 @@
        ,_overlay(0)
        ,_canvas(0)
        ,_popup_menu(0)
+    ,_popup_menu_alt(0)
        ,_menubar(0)
        ,_vbox(0)
        ,_advanceSourceTimer(0)
@@ -205,6 +211,7 @@
     g_signal_connect(_resumeButton, "clicked", G_CALLBACK(menuPlay), this);
 
     createMenu();
+    createMenuAlt();
 
     // A vertical box is used to allow display of the menu bar and paused 
widget
     _vbox = gtk_vbox_new(FALSE, 0);
@@ -326,7 +333,7 @@
     gtk_label_set_line_wrap(GTK_LABEL(label), true);
     gtk_box_pack_start(GTK_BOX(content), label, false, false, 0);
     gtk_widget_show_all(popup);
-}
+} 
 
 void
 GtkGui::setFullscreen()
@@ -476,11 +483,27 @@
 void
 GtkGui::showMenu(bool show)
 {
+    RcInitFile& rcfile = RcInitFile::getDefaultInstance();
+
+    // If we allow the swf author to set Stage.showMenu
+    if( !rcfile.ignoreShowMenu() ) {
+               //first try: just don't show the _popup_menu
+               //       this will be done in the handler
+               _showMenuState = show;
+       }
+
 #ifdef USE_MENUS
-    if (!_menubar) return;
-    if (show) gtk_widget_show(_menubar);
-    else gtk_widget_hide(_menubar);
+       if (!_menubar) {
+               return;
+       }
+
+    if (show) {
+               gtk_widget_show(_menubar);
+       } else {
+               gtk_widget_hide(_menubar);
+       }
 #endif
+       
 }
 
 double
@@ -546,9 +569,14 @@
                         | GDK_KEY_PRESS_MASK        
                         | GDK_POINTER_MOTION_MASK);
   
+       _showMenuState = true; //Default for showMenu
+
     g_signal_connect_swapped(_canvas, "button_press_event",
                             G_CALLBACK(popupHandler), _popup_menu);
   
+    g_signal_connect_swapped(_canvas, "button_press_event",
+                            G_CALLBACK(popupHandlerAlt), _popup_menu_alt);
+
     g_signal_connect(_canvas, "button_press_event",
                    G_CALLBACK(buttonPressEvent), this);
     g_signal_connect(_canvas, "button_release_event",
@@ -691,6 +719,38 @@
 }
 
 bool
+GtkGui::createMenuAlt()
+{
+    //An alternative short version of the popup menu
+
+    _popup_menu_alt = GTK_MENU(gtk_menu_new());
+
+#ifdef USE_MENUS
+    // If menus are disabled, these are not added to the popup menu
+    // either.
+    createEditMenu(GTK_WIDGET(_popup_menu_alt));
+#endif
+    createHelpMenu(GTK_WIDGET(_popup_menu_alt));
+
+    GtkWidget *separator1 = gtk_separator_menu_item_new();
+    gtk_widget_show(separator1);
+    gtk_container_add (GTK_CONTAINER(_popup_menu_alt), separator1);
+
+    GtkWidget *quit = gtk_image_menu_item_new_from_stock("gtk-quit", 0);
+    gtk_widget_show(quit);
+    gtk_container_add(GTK_CONTAINER(_popup_menu_alt), quit);
+    g_signal_connect(quit, "activate", G_CALLBACK(menuQuit), this);
+
+#ifdef GUI_HILDON
+     hildon_window_set_menu(HILDON_WINDOW(_window),
+                               GTK_MENU(_popup_menu_alt));
+     gtk_widget_show_all(GTK_WIDGET(_popup_menu_alt));   
+#endif
+
+    return true;
+}
+
+bool
 GtkGui::createWindow(const char *title, int width, int height)
 {
 // First call the old createWindow function and then set the title.
@@ -1730,6 +1790,11 @@
        "Benjamin Wolsey",
        "Russ Nelson",
        "Dossy Shiobara",
+       "Jonathan Crider",
+       "Ben Limmer",
+       "Bob Naugle",
+       "Si Liu",
+       "Sharad Desai",
        NULL
     };
 
@@ -2507,20 +2572,49 @@
     gui->showPropertiesDialog();
 }
 
-// This pops up the menu when the right mouse button is clicked
+/// \brief This pops up the menu when the right mouse button is clicked
 gint
 popupHandler(GtkWidget *widget, GdkEvent *event)
 {
     GtkMenu *menu = GTK_MENU(widget);
     
-    if (event->type == GDK_BUTTON_PRESS) {
-        GdkEventButton* event_button = 
reinterpret_cast<GdkEventButton*>(event);
-        if (event_button->button == 3) {
-            gtk_menu_popup(menu, NULL, NULL, NULL, NULL,
-                           event_button->button, event_button->time);
-            return TRUE;
-        }
-    }
+    log_debug("showMenuState @handler = %s", _showMenuState);
+    
+    if( _showMenuState ) {
+        if (event->type == GDK_BUTTON_PRESS) {
+            GdkEventButton* event_button =
+                            reinterpret_cast<GdkEventButton*>(event);
+            if (event_button->button == 3) {
+                gtk_menu_popup(menu, NULL, NULL, NULL, NULL,
+                               event_button->button, event_button->time);
+                return TRUE;
+            } 
+        }
+    }
+
+    return FALSE;
+}
+
+/// \brief This handles the alternative popup for showMenu 
+gint
+popupHandlerAlt(GtkWidget *widget, GdkEvent *event)
+{
+    GtkMenu *menu = GTK_MENU(widget);
+    
+    log_debug("showMenuState @altHandler = %s", _showMenuState);
+    
+    if( !_showMenuState ) {
+        if (event->type == GDK_BUTTON_PRESS) {
+            GdkEventButton* event_button =
+                            reinterpret_cast<GdkEventButton*>(event);
+            if (event_button->button == 3) {
+                gtk_menu_popup(menu, NULL, NULL, NULL, NULL,
+                               event_button->button, event_button->time);
+                return TRUE;
+            } 
+        }
+    }
+
     return FALSE;
 }
 

=== modified file 'gui/gtksup.h'
--- a/gui/gtksup.h      2009-07-13 09:15:53 +0000
+++ b/gui/gtksup.h      2009-07-21 15:59:57 +0000
@@ -68,6 +68,8 @@
     virtual void quit();
 
     virtual bool createMenu();
+
+    virtual bool createMenuAlt(); //an alternative popup menu
     
     /// Set up callbacks for key, mouse and other GTK events.
     //
@@ -144,6 +146,11 @@
 
     virtual void error(const std::string& msg);
 
+       /// get the _showMenuState
+       //bool showMenuState() { return _showMenuState; }
+       /// set the _showMenuState
+       //void showMenuState( bool state ) { _showMenuState = state; }
+
 private:
 
 #ifdef GUI_HILDON
@@ -164,6 +171,7 @@
 #endif
 
     GtkMenu* _popup_menu;
+    GtkMenu* _popup_menu_alt;
     GtkWidget* _menubar;
     GtkWidget* _vbox;
 
@@ -187,6 +195,9 @@
     void startAdvanceTimer();
 
     void stopAdvanceTimer();
+
+       /// This value determines whether the _popup_menu should be shown or not
+       //bool _showMenuState;
 };
 
 } // namespace gnash

=== modified file 'libbase/rc.cpp'
--- a/libbase/rc.cpp    2009-07-20 21:10:47 +0000
+++ b/libbase/rc.cpp    2009-07-21 16:24:10 +0000
@@ -108,7 +108,8 @@
     _popups(true),
     _useXv(false),
        _webcamDevice(-1),
-    _microphoneDevice(-1)
+    _microphoneDevice(-1),
+       _ignoreShowMenu(true)
 {
     expandPath(_solsandbox);
     loadFiles();
@@ -551,6 +552,9 @@
             ||
                  extractNumber(_microphoneDevice, "microphoneDevice", 
variable, value)
                        ||
+                 extractSetting(_ignoreShowMenu, "ignoreShowMenu", variable,
+                           value)
+            ||
                  cerr << boost::format(_("Warning: unrecognized directive "
                              "\"%s\" in rcfile %s line %d")) 
                              % variable % filespec % lineno << endl;

=== modified file 'libbase/rc.h'
--- a/libbase/rc.h      2009-07-20 21:10:47 +0000
+++ b/libbase/rc.h      2009-07-21 16:24:10 +0000
@@ -295,6 +295,10 @@
     
     int getAudioInputDevice() {return _microphoneDevice;}
 
+    void ignoreShowMenu(bool value) { _ignoreShowMenu= value; }
+
+    bool ignoreShowMenu() const { return _ignoreShowMenu; }
+
     void dump();    
 
 protected:
@@ -525,6 +529,10 @@
     
     int _microphoneDevice;
 
+       /// Whether the player will recognize changes to Stage.showMenu in AS
+       /// default value is true
+       bool _ignoreShowMenu;
+
 };
 
 // End of gnash namespace 

=== modified file 'libcore/asobj/flash/display/Stage_as.cpp'
--- a/libcore/asobj/flash/display/Stage_as.cpp  2009-07-16 09:12:10 +0000
+++ b/libcore/asobj/flash/display/Stage_as.cpp  2009-07-21 16:24:10 +0000
@@ -253,16 +253,27 @@
 as_value
 stage_showMenu(const fn_call& fn)
 {
-       boost::intrusive_ptr<Stage_as> stage = 
ensureType<Stage_as>(fn.this_ptr);
+       boost::intrusive_ptr<as_object> obj = 
ensureType<as_object>(fn.this_ptr);
+
+    movie_root& m = getRoot(fn);
 
        if ( fn.nargs == 0 ) // getter
        {
-               LOG_ONCE(log_unimpl("Stage.showMenu getter"));
-               return as_value();
+               return as_value(m.getShowMenuState());
        }
        else // setter
        {
-               LOG_ONCE(log_unimpl("Stage.showMenu setter"));
+               LOG_ONCE(log_unimpl("Stage.showMenu implemented by setting 
gnashrc option and for gtk only"));
+
+               const std::string& str = fn.arg(0).to_string();
+               StringNoCaseEqual noCaseCompare;
+               bool state = true;
+               // showMenu property is a boolean who's default value is true
+               if ( noCaseCompare(str, "false") ) {
+                       state = false;
+               }
+               
+               m.setShowMenuState( state );
                return as_value();
        }
 }

=== modified file 'libcore/movie_root.cpp'
--- a/libcore/movie_root.cpp    2009-07-16 19:16:56 +0000
+++ b/libcore/movie_root.cpp    2009-07-21 16:24:10 +0000
@@ -122,6 +122,7 @@
        _hostfd(-1),
     _quality(QUALITY_HIGH),
        _alignMode(0),
+       _showMenu(true),
        _scaleMode(showAll),
        _displayState(DISPLAYSTATE_NORMAL),
        _recursionLimit(256),
@@ -1470,6 +1471,29 @@
     return std::make_pair(ha, va);
 }
 
+/// Returns a string that represents the boolean state of the _showMenu
+/// variable
+bool
+movie_root::getShowMenuState() const
+{
+       return _showMenu;
+}
+
+/// Sets the value of _showMenu and calls the gui handler to process the 
+/// fscommand to change the display of the context menu
+void
+movie_root::setShowMenuState( bool state )
+{
+       _showMenu = state;
+       //FIXME: The gui code for show menu is semantically different than what
+       //   ActionScript expects it to be. In gtk.cpp the showMenu function 
hides
+       //   or shows the menubar. Flash expects this option to disable some 
+       //   context menu items.
+       // callInterface is the proper handler for this
+       callInterface("Stage.showMenu", (_showMenu) ? "true" : "false");  //or 
this?
+}
+
+
 /// Returns the string representation of the current align mode,
 /// which must always be in the order: LTRB
 std::string

=== modified file 'libcore/movie_root.h'
--- a/libcore/movie_root.h      2009-07-13 09:04:26 +0000
+++ b/libcore/movie_root.h      2009-07-15 18:56:54 +0000
@@ -546,6 +546,14 @@
     /// bottom/centre) as a std::pair
     StageAlign getStageAlignment() const;
 
+       /// Returns the current value of _showMenu which instructs the gui about
+       /// how much to display in the context menu
+       bool getShowMenuState() const;
+
+       /// Sets the value of _showMenu and calls the fscommand handler for the
+       /// current gui
+       void setShowMenuState( bool state );
+
     /// Sets the Stage object's align mode.
     void setStageScaleMode(ScaleMode sm);
     
@@ -1178,6 +1186,8 @@
     Quality _quality;
 
     std::bitset<4u> _alignMode;
+
+       bool _showMenu;
     
     ScaleMode _scaleMode;
     

=== modified file 'libcore/swf/DefineFontAlignZonesTag.cpp'
--- a/libcore/swf/DefineFontAlignZonesTag.cpp   2009-07-15 19:59:06 +0000
+++ b/libcore/swf/DefineFontAlignZonesTag.cpp   2009-07-21 16:24:10 +0000
@@ -38,7 +38,7 @@
 /* public static */
 void
 DefineFontAlignZonesTag::loader(SWFStream& in, TagType tag,
-        movie_definition& m, const RunResources & /*r*/)
+        movie_definition& m, const RunResources& /*r*/)
 {
        assert(tag == SWF::DEFINEALIGNZONES);
 

=== modified file 'libcore/swf/DefineFontAlignZonesTag.h'
--- a/libcore/swf/DefineFontAlignZonesTag.h     2009-07-15 19:59:06 +0000
+++ b/libcore/swf/DefineFontAlignZonesTag.h     2009-07-21 16:24:10 +0000
@@ -42,7 +42,8 @@
        };
 
 
-       static void loader(SWFStream& in, TagType tag, movie_definition& m, 
const RunResources & r);
+       static void loader(SWFStream& in, TagType tag, movie_definition& m,
+            const RunResources& r);
 
 private:
 

=== modified file 'testsuite/misc-haxe.all/classes.all/display/Stage_as.hx'
--- a/testsuite/misc-haxe.all/classes.all/display/Stage_as.hx   2009-06-17 
17:26:30 +0000
+++ b/testsuite/misc-haxe.all/classes.all/display/Stage_as.hx   2009-07-21 
15:59:57 +0000
@@ -39,305 +39,417 @@
 import flash.MovieClip;
 #end
 import flash.Lib;
+
+//haxe imports
 import Type;
 import Std;
+import Reflect;
 
 // import our testing API
 import DejaGnu;
 
 // Class must be named with the _as suffix, as that's the same name as the 
file.
 class Stage_as {
+       
+       static var desc = untyped __global__["flash.utils.describeType"];
+       static var className = 
+                  untyped __global__["flash.utils.getQualifiedClassName"];
+       
+       
     static function main() {
        
-#if !(flash8 || flash7 || flash6) // Basically checking #if flash5
-        var x1:Stage = flash.Lib.current.stage;
-
-        // Make sure we actually get a valid class        
-        if (Std.is(x1, Stage)) {
-            DejaGnu.pass("Stage class exists");
-        } else {
-            DejaGnu.fail("Stage class doesn't exist");
-        }
-#else
-               if(Type.typeof(Stage) == ValueType.TObject) {
-                   DejaGnu.pass("Stage class exists");
-        } else {
-            DejaGnu.fail("Stage class doesn't exist");
-        }
-#end
-
-
+       #if flash9
+       //get the stage here
+       //some properties only seems to exist on the actual stage not on the 
+       //stage class in flash 9. This could be a haxe problem?
+       var x1:Stage = flash.Lib.current.stage;
+       #end
+       
+       //DejaGnu.note("Stage in xml format: ");
+       //DejaGnu.note("-> " + desc(Stage));
+       DejaGnu.note("Stage string: " + untyped Stage.toString());
+       
+
+       if(Type.typeof(Stage) == ValueType.TObject) {
+               DejaGnu.pass("Stage class exists");
+       } else {
+               DejaGnu.fail("Stage class doesn't exist");
+       }
+
+
+       
//-------------------------------------------------------------------------
+       // Property Existence
        // Tests to see if all the properties exist. All these do is test for
        // existance of a property, and don't test the functionality at all. 
This
        // is primarily useful only to test completeness of the API 
implementation.
+       
//-------------------------------------------------------------------------
+       DejaGnu.note("***Property Existence Tests ***");
        
        #if flash10
        if (Std.is(x1.enableColorCorrection, Bool)) {
-           DejaGnu.pass("Stage::enableColorCorrection() method exists");
-       } else {
-           DejaGnu.fail("Stage::enableColorCorrection() method doesn't exist");
+               DejaGnu.pass("Stage.enableColorCorrection() method exists");
+       } else {
+               DejaGnu.fail("Stage.enableColorCorrection() method doesn't 
exist");
+       }
+       if (untyped x1.hasOwnProperty('nativeWindow')) {
+               DejaGnu.pass("Stage.nativeWindow property exists");
+       } else {
+               DejaGnu.fail("Stage.nativeWindow property does not exist");
        }
        #end
+
+
        #if flash9
-       if (Std.is(x1.align, String)) {
-           DejaGnu.pass("Stage::align property exists");
-       } else {
-           DejaGnu.fail("Stage::align property doesn't exist");
-       }
-//FIXME: This property doesn't exist in haXe
-//     if (Type.typeof(x1.cacheAsBitmap)==ValueType.TBool) { 
-//             DejaGnu.pass("Stage::cacheAsBitmap property exists");
-//     } else {
-//             DejaGnu.fail("Stage::cacheAsBitmap property doesn't exist");
-//     }
-       
-// Set displayState first to standard state and then test for existence 
-       untyped Stage.displayState = "normal";
-       if (Std.is(untyped Stage.displayState,  String)) {
-           DejaGnu.pass("Stage::displayState property exists");
-       } else {
-           DejaGnu.fail("Stage::displayState property doesn't exist");
-       }
-//Determine if the focus property exists by setting and testing it
-       var t1:TextField = new TextField();
-       x1.focus = t1;
-       if (Std.is(x1.focus, InteractiveObject)) {
-           DejaGnu.pass("Stage::focus property exists");
-       } else {
-           DejaGnu.fail("Stage::focus property doesn't exist");
-       }
-       if (Std.is(x1.frameRate, Int)) {
-           DejaGnu.pass("Stage::frameRate property exists");
-       } else {
-           DejaGnu.fail("Stage::frameRate property doesn't exist");
-       }
-       var r1:Rectangle = new Rectangle(0,0,10,10);
-       untyped Stage.fullScreenSourceRect = r1;
-       if (Std.is(untyped Stage.fullScreenSourceRect, Rectangle)) {
-           DejaGnu.pass("Stage::fullScreenSourceRect property exists");
-       } else {
-           DejaGnu.fail("Stage::fullScreenSourceRect property doesn't exist");
-       }
-//FIXME: These probably need to be set somehow before testing
-//     DejaGnu.note("x1.fullScreenHeight type is 
"+Type.typeof(x1.fullScreenHeight));
-//     if (Std.is(x1.fullScreenHeight, Int)) {
-//         DejaGnu.pass("Stage::fullScreenHeight property exists");
-//     } else {
-//         DejaGnu.fail("Stage::fullScreenHeight property doesn't exist");
-//     }
-//     if (Std.is(x1.fullScreenWidth, Int)) {
-//         DejaGnu.pass("Stage::fullScreenWidth property exists");
-//     } else {
-//         DejaGnu.fail("Stage::fullScreenWidth property doesn't exist");
-//     }
-//FIXME: This property does not exist in haXe
-//     if (Std.is(x1.height, Int)) {
-//         DejaGnu.pass("Stage::height property exists");
-//     } else {
-//         DejaGnu.fail("Stage::height property doesn't exist");
-//     }
-//FIXME: This property does not exist in haXe
-//     if (Std.is(x1.mouseChildren, Bool)) {
-//         DejaGnu.pass("Stage::mouseChildren property exists");
-//     } else {
-//         DejaGnu.fail("Stage::mouseChildren property doesn't exist");
-//     }
-//FIXME: This property does not exist in haXe
-//     if (Std.is(x1.nativeWindow, NativeWindow)) {
-//         DejaGnu.pass("Stage::nativeWindow property exists");
-//     } else {
-//         DejaGnu.fail("Stage::nativeWindow property doesn't exist");
-//     }
-//FIXME: This property does not exist in haXe
-//     if (Std.is(x1.numChildren, Int)) {
-//         DejaGnu.pass("Stage::numChildren property exists");
-//     } else {
-//         DejaGnu.fail("Stage::numChildren property doesn't exist");
-//     }
-       if (Std.is(x1.quality, String)) {
-           DejaGnu.pass("Stage::quality property exists");
-       } else {
-           DejaGnu.fail("Stage::quality property doesn't exist");
-       }
-       if (Std.is(x1.scaleMode, String)) {
-           DejaGnu.pass("Stage::scaleMode property exists");
-       } else {
-           DejaGnu.fail("Stage::scaleMode property doesn't exist");
-       }
-       if (Std.is(x1.showDefaultContextMenu, Bool)) {
-           DejaGnu.pass("Stage::showDefaultContextMenu property exists");
-       } else {
-           DejaGnu.fail("Stage::showDefaultContextMenu property doesn't 
exist");
-       }
-       if (Std.is(x1.stageFocusRect, Bool)) {
-           DejaGnu.pass("Stage::stageFocusRect property exists");
-       } else {
-           DejaGnu.fail("Stage::stageFocusRect property doesn't exist");
-       }
-       if (Std.is(x1.stageHeight, Int)) {
-           DejaGnu.pass("Stage::stageHeight property exists");
-       } else {
-           DejaGnu.fail("Stage::stageHeight property doesn't exist");
-       }
-       if (Std.is(x1.stageWidth, Int)) {
-           DejaGnu.pass("Stage::stageWidth property exists");
-       } else {
-           DejaGnu.fail("Stage::stageWidth property doesn't exist");
-       }
-//FIXME: This property does not exist in haXe
-//     if (Std.is(x1.tabChildren, Bool)) {
-//         DejaGnu.pass("Stage::tabChildren property exists");
-//     } else {
-//         DejaGnu.fail("Stage::tabChildren property doesn't exist");
-//     }
-//FIXME: This property does not exist in haXe
-//     if (Std.is(x1.tabEnabled, Bool)) {
-//             DejaGnu.pass("Stage::tabEnabled property exists");
-//     } else {
-//             DejaGnu.fail("Stage::tabEnabled property doesn't exist");
-//     }
-//FIXME: This property does not exist in haXe
-//     if (Std.is(x1.textSnapshot, TextSnapshot)) {
-//         DejaGnu.pass("Stage::textSnapshot property exists");
-//     } else {
-//         DejaGnu.fail("Stage::textSnapshot property doesn't exist");
-//     }
-//FIXME: This property does not exist in haXe
-//     if (Std.is(x1.width, Int)) {
-//         DejaGnu.pass("Stage::width property exists");
-//     } else {
-//         DejaGnu.fail("Stage::width property doesn't exist");
-//     }
+       if (untyped x1.hasOwnProperty("align")) {
+           DejaGnu.pass("Stage.align property exists");
+       } else {
+           DejaGnu.fail("Stage.align property doesn't exist");
+       }
+       
+       if (untyped x1.hasOwnProperty("cacheAsBitmap")) {
+               DejaGnu.pass("cacheAsBitmap exists");
+       } else {
+               DejaGnu.fail("cacheAsBitmap does not exist");
+       }
+       
+       if (untyped x1.hasOwnProperty('displayState')) {
+               DejaGnu.pass("Stage.displayState property exists");
+       } else {
+               DejaGnu.fail("Stage.displayState property does not exist");
+       }
+       
+       if (untyped x1.hasOwnProperty('focus')) {
+               DejaGnu.pass("Stage.focus property exists");
+       } else {
+               DejaGnu.fail("Stage.focus property does not exist");
+       }
+
+       if (untyped x1.hasOwnProperty('frameRate')) {
+               DejaGnu.pass("Stage.frameRate property exists");
+       } else {
+               DejaGnu.fail("Stage.frameRate property does not exist");
+       }
+       
+       DejaGnu.note("displayState: " + untyped x1.displayState);
+       //NOTE: I think we should put the following test in a block like this
+       if (x1.displayState == FULL_SCREEN) {
+       //may only exist in full screen mode
+               //~ var r1:Rectangle = new Rectangle(0,0,10,10);
+               //~ untyped Stage.fullScreenSourceRect = r1;
+               //~ if (Std.is(untyped Stage.fullScreenSourceRect, Rectangle)) {
+                       //~ DejaGnu.pass("Stage.fullScreenSourceRect property 
exists");
+               //~ } else {
+                       //~ DejaGnu.fail("Stage.fullScreenSourceRect property 
doesn't exist");
+               //~ }
+               if (untyped x1.hasOwnProperty('fullScreenSourceRect')) {
+                       DejaGnu.pass("Stage.fullScreenSourceRect property 
exists");
+               } else {
+                       DejaGnu.fail("Stage.fullScreenSourceRect property does 
not exist");
+               }
+               //FIXME: These probably need to be set somehow before testing
+               //      DejaGnu.note("x1.fullScreenHeight type is 
"+Type.typeof(x1.fullScreenHeight));
+                       //Probably need to run in full screen mode to test 
these two
+               //      if (Std.is(x1.fullScreenHeight, Int)) {
+               //          DejaGnu.pass("Stage.fullScreenHeight property 
exists");
+               //      } else {
+               //          DejaGnu.fail("Stage.fullScreenHeight property 
doesn't exist");
+               //      }
+               //      if (Std.is(x1.fullScreenWidth, Int)) {
+               //          DejaGnu.pass("Stage.fullScreenWidth property 
exists");
+               //      } else {
+               //          DejaGnu.fail("Stage.fullScreenWidth property 
doesn't exist");
+               //      }
+       }
+       
+       if (untyped x1.hasOwnProperty('height')) {
+               DejaGnu.pass("Stage.height property exists");
+       } else {
+               DejaGnu.fail("Stage.height property does not exist");
+       }
+       
+       if (untyped x1.hasOwnProperty('mouseChildren')) {
+               DejaGnu.pass("Stage.mouseChildren property exists");
+       } else {
+               DejaGnu.fail("Stage.mouseChildren property does not exist");
+       }
+       if (untyped x1.hasOwnProperty('numChildren')) {
+               DejaGnu.pass("Stage.numChildren property exists");
+       } else {
+               DejaGnu.fail("Stage.numChildren property does not exist");
+       }
+       if (untyped x1.hasOwnProperty('quality')) {
+           DejaGnu.pass("Stage.quality property exists");
+       } else {
+           DejaGnu.fail("Stage.quality property doesn't exist");
+       }
+       if (untyped x1.hasOwnProperty('scaleMode')) {
+           DejaGnu.pass("Stage.scaleMode property exists");
+       } else {
+           DejaGnu.fail("Stage.scaleMode property doesn't exist");
+       }
+       if (untyped x1.hasOwnProperty('showDefaultContextMenu')) {
+           DejaGnu.pass("Stage.showDefaultContextMenu property exists");
+       } else {
+           DejaGnu.fail("Stage.showDefaultContextMenu property doesn't exist");
+       }
+       if (untyped x1.hasOwnProperty('stageFocusRect')) {
+           DejaGnu.pass("Stage.stageFocusRect property exists");
+       } else {
+           DejaGnu.fail("Stage.stageFocusRect property doesn't exist");
+       }
+       if (untyped x1.hasOwnProperty('stageHeight')) {
+           DejaGnu.pass("Stage.stageHeight property exists");
+       } else {
+           DejaGnu.fail("Stage.stageHeight property doesn't exist");
+       }
+       if (untyped x1.hasOwnProperty('stageWidth')) {
+           DejaGnu.pass("Stage.stageWidth property exists");
+       } else {
+           DejaGnu.fail("Stage.stageWidth property doesn't exist");
+       }
+       //FIXME: This property does not exist in haXe
+       if (untyped x1.hasOwnProperty('tabChildren')) {
+               DejaGnu.pass("Stage.tabChildren property exists");
+       } else {
+               DejaGnu.fail("Stage.tabChildren property doesn't exist");
+       }
+       //FIXME: This property does not exist in haXe
+       if (untyped x1.hasOwnProperty('tabEnabled')) {
+               DejaGnu.pass("Stage.tabEnabled property exists");
+       } else {
+               DejaGnu.fail("Stage.tabEnabled property doesn't exist");
+       }
+       //FIXME: This property does not exist in haXe
+       if (untyped x1.hasOwnProperty('textSnapshot')) {
+               DejaGnu.pass("Stage.textSnapshot property exists");
+       } else {
+               DejaGnu.fail("Stage.textSnapshot property doesn't exist");
+       }
+       //FIXME: This property does not exist in haXe
+       if (untyped x1.hasOwnProperty('width')) {
+               DejaGnu.pass("Stage.width property exists");
+       } else {
+               DejaGnu.fail("Stage.width property doesn't exist");
+       }
 #else
-       if (Std.is(Stage.width, Float)) {
-           DejaGnu.pass("Stage::width property exists");
-       } else {
-           DejaGnu.fail("Stage::width property doesn't exist");
-       }
-       if (Std.is(Stage.height, Float)) {
-           DejaGnu.pass("Stage::height property exists");
-       } else {
-           DejaGnu.fail("Stage::height property doesn't exist");
-       }
-       if (Std.is(Stage.scaleMode, String)) {
-           DejaGnu.pass("Stage::scaleMode property exists");
-       } else {
-           DejaGnu.fail("Stage::scaleMode property doesn't exist");
-       }
-       if (Std.is(Stage.align, String)) {
-           DejaGnu.pass("Stage::align property exists");
-       } else {
-           DejaGnu.fail("Stage::align property doesn't exist");
-       }
-//FIXME: This property has not been implemented yet
-       if (Std.is(Stage.showMenu, Bool)) {
-           DejaGnu.pass("Stage::showMenu property exists");
-       } else {
-           DejaGnu.xfail("Stage::showMenu property doesn't exist");
-       }
-#if flash8
-       if (Std.is(Stage.displayState, String)) {
-           DejaGnu.pass("Stage::displayState property exists");
-       } else {
-           DejaGnu.fail("Stage::displayState property doesn't exist");
-       }
-//Test to see if the Stage.fullScreenSourceRect property exists by setting and 
testing it
-       var r1:Rectangle<Int> = new Rectangle(0,0,10,10);
-       Stage.fullScreenSourceRect = r1;
-       if (Std.is(Stage.fullScreenSourceRect, Rectangle)) {
-           DejaGnu.pass("Stage::fullScreenSourceRect property exists");
-       } else {
-           DejaGnu.fail("Stage::fullScreenSourceRect property doesn't exist");
-       }
-#end
-#end
-// Tests to see if all the methods exist. All these do is test for
-// existance of a method, and don't test the functionality at all. This
-// is primarily useful only to test completeness of the API implementation.
+       if (untyped Stage.hasOwnProperty('align')) {
+           DejaGnu.pass("Stage.align property exists");
+       } else {
+           DejaGnu.fail("Stage.align property doesn't exist");
+       }
+       if (untyped Stage.hasOwnProperty('width')) {
+           DejaGnu.pass("Stage.width property exists");
+       } else {
+           DejaGnu.fail("Stage.width property doesn't exist");
+       }
+       if (untyped Stage.hasOwnProperty('height')) {
+           DejaGnu.pass("Stage.height property exists");
+       } else {
+           DejaGnu.fail("Stage.height property doesn't exist");
+       }
+       if (untyped Stage.hasOwnProperty('scaleMode')) {
+           DejaGnu.pass("Stage.scaleMode property exists");
+       } else {
+           DejaGnu.fail("Stage.scaleMode property doesn't exist");
+       }
+       if (untyped Stage.hasOwnProperty('align')) {
+           DejaGnu.pass("Stage.align property exists");
+       } else {
+           DejaGnu.fail("Stage.align property doesn't exist");
+       }
+       if (untyped Stage.hasOwnProperty('showMenu')) {
+           DejaGnu.pass("Stage.showMenu property exists");
+       } else {
+           DejaGnu.fail("Stage.showMenu property doesn't exist");
+       }
+#end
+
+       
//-------------------------------------------------------------------------
+       // Method existence testing
+       // Tests to see if all the methods exist. All these do is test for
+       // existance of a method, and don't test the functionality at all. This
+       // is primarily useful only to test completeness of the API 
implementation.
+       
//-------------------------------------------------------------------------
+       DejaGnu.note("***Method existence testing");
 #if !flash
        if (Type.typeof(x1.assignFocus) == ValueType.TFunction) {
-           DejaGnu.pass("Stage::assignFocus() method exists");
+           DejaGnu.pass("Stage.assignFocus() method exists");
        } else {
-           DejaGnu.fail("Stage::assignFocus() method doesn't exist");
+           DejaGnu.fail("Stage.assignFocus() method doesn't exist");
        }
 #end
 
 #if flash9
        if (Type.typeof(x1.addChild) == ValueType.TFunction) {
-           DejaGnu.pass("Stage::addChild() method exists");
+           DejaGnu.pass("Stage.addChild() method exists");
        } else {
-           DejaGnu.fail("Stage::addChild() method doesn't exist");
+           DejaGnu.fail("Stage.addChild() method doesn't exist");
        }
        if (Type.typeof(x1.addChildAt) == ValueType.TFunction) {
-           DejaGnu.pass("Stage::addChildAt() method exists");
+           DejaGnu.pass("Stage.addChildAt() method exists");
        } else {
-           DejaGnu.fail("Stage::addChildAt() method doesn't exist");
+           DejaGnu.fail("Stage.addChildAt() method doesn't exist");
        }
        if (Type.typeof(x1.addEventListener) == ValueType.TFunction) {
-           DejaGnu.pass("Stage::addEventListener() method exists");
+           DejaGnu.pass("Stage.addEventListener() method exists");
        } else {
-           DejaGnu.fail("Stage::addEventListener() method doesn't exist");
+           DejaGnu.fail("Stage.addEventListener() method doesn't exist");
        }
        if (Type.typeof(x1.dispatchEvent) == ValueType.TFunction) {
-           DejaGnu.pass("Stage::dispatchEvent() method exists");
+           DejaGnu.pass("Stage.dispatchEvent() method exists");
        } else {
-           DejaGnu.fail("Stage::dispatchEvent() method doesn't exist");
+           DejaGnu.fail("Stage.dispatchEvent() method doesn't exist");
        }
        if (Type.typeof(x1.hasEventListener) == ValueType.TFunction) {
-           DejaGnu.pass("Stage::hasEventListener() method exists");
+           DejaGnu.pass("Stage.hasEventListener() method exists");
        } else {
-           DejaGnu.fail("Stage::hasEventListener() method doesn't exist");
+           DejaGnu.fail("Stage.hasEventListener() method doesn't exist");
        }
        if (Type.typeof(x1.invalidate) == ValueType.TFunction) {
-           DejaGnu.pass("Stage::invalidate() method exists");
+           DejaGnu.pass("Stage.invalidate() method exists");
        } else {
-           DejaGnu.fail("Stage::invalidate() method doesn't exist");
+           DejaGnu.fail("Stage.invalidate() method doesn't exist");
        }
        if (Type.typeof(x1.isFocusInaccessible) == ValueType.TFunction) {
-           DejaGnu.pass("Stage::isFocusInaccessible() method exists");
+           DejaGnu.pass("Stage.isFocusInaccessible() method exists");
        } else {
-           DejaGnu.fail("Stage::isFocusInaccessible() method doesn't exist");
+           DejaGnu.fail("Stage.isFocusInaccessible() method doesn't exist");
        }
        if (Type.typeof(x1.removeChild) == ValueType.TFunction) {
-           DejaGnu.pass("Stage::removeChildAt() method exists");
+           DejaGnu.pass("Stage.removeChildAt() method exists");
        } else {
-           DejaGnu.fail("Stage::removeChildAt() method doesn't exist");
+           DejaGnu.fail("Stage.removeChildAt() method doesn't exist");
        }
        if (Type.typeof(x1.setChildIndex) == ValueType.TFunction) {
-           DejaGnu.pass("Stage::setChildIndex() method exists");
+           DejaGnu.pass("Stage.setChildIndex() method exists");
        } else {
-           DejaGnu.fail("Stage::setChildIndex() method doesn't exist");
+           DejaGnu.fail("Stage.setChildIndex() method doesn't exist");
        }
        if (Type.typeof(x1.swapChildrenAt) == ValueType.TFunction) {
-           DejaGnu.pass("Stage::swapChildrenAt() method exists");
+           DejaGnu.pass("Stage.swapChildrenAt() method exists");
        } else {
-           DejaGnu.fail("Stage::swapChildrenAt() method doesn't exist");
+           DejaGnu.fail("Stage.swapChildrenAt() method doesn't exist");
        }
        if (Type.typeof(x1.willTrigger) == ValueType.TFunction) {
-           DejaGnu.pass("Stage::willTrigger() method exists");
-       } else {
-           DejaGnu.fail("Stage::willTrigger() method doesn't exist");
-       }
-#end
-
-// START OF MING TESTS!
+           DejaGnu.pass("Stage.willTrigger() method exists");
+       } else {
+           DejaGnu.fail("Stage.willTrigger() method doesn't exist");
+       }
+       
+#else
+       if (untyped Stage.hasOwnProperty('addListener')) {
+               DejaGnu.pass("Stage.addListener() method exists");
+       } else {
+               DejaGnu.fail("Stage.addListener() method does not exist");
+       }
+       if (untyped Stage.hasOwnProperty('removeListener')) {
+               DejaGnu.pass("Stage.removeListener() method exists");
+       } else {
+               DejaGnu.fail("Stage.removeListener() method does not exist");
+       }
+       
+#end
+
+
+       
//------------------------------------------------------------------------
+       // Property functionality testing
+       // The following tests are for checking various aspects of the 
properties,
+       // such as types and initial settings. Much of this type of testing is 
done
+       // in the reproduced ming tests.
+       
//------------------------------------------------------------------------
+       DejaGnu.note("***Property functionality testing");
+
+#if flash9
+
+       //Stage.align
+       if (untyped __typeof__(x1.align) == 'string') {
+               DejaGnu.pass("Stage.align is a String object");
+       } else {
+               DejaGnu.fail("Stage.align is not a String object");
+       }
+       
+       //Stage.cacheAsBitmap
+       if (untyped __typeof__(x1.cacheAsBitmap) == 'boolean') {
+               DejaGnu.pass("cacheAsBitmap is a boolean");
+       } else {
+               DejaGnu.fail("cacheAsBitmap is not a boolean");
+       }
+       
+       //Stage.displayState
+       if (untyped __typeof__(x1.displayState) == 'object') {
+               DejaGnu.pass("displayState is an object");
+       } else {
+               DejaGnu.fail("displayState is not an object");
+       }
+       
+       //Stage.focus
+       if (untyped __typeof__(x1.focus) == 'object') {
+               DejaGnu.pass("Stage.focus is an object");
+       } else {
+               DejaGnu.fail("Stage.focus is not an object");
+       }
+       if ( className(x1.focus) == 'null') {
+               DejaGnu.pass("Stage.focus initially set to null");
+       } else {
+               DejaGnu.fail("Stage.focus initially set to something other than 
null    ");
+       }
+       var t1:TextField = new TextField();
+       x1.focus = t1;
+       DejaGnu.note("Setting focus to a TextField object");
+       if ( (untyped __typeof__(x1.focus) == 'object') &&
+            (Std.is(x1.focus, InteractiveObject)) ) {
+               DejaGnu.pass("Stage.focus property is an InteractiveObject");
+       } else {
+               DejaGnu.fail("Stage.focus property is not an 
InteractiveObject");
+       }
+       
+       //Stage.frameRate
+       if (untyped __typeof__(x1.frameRate) == 'number') {
+               DejaGnu.pass("Stage.frameRate is a number");
+       } else {
+               DejaGnu.fail("Stage.frameRate is a number");
+       }
+       
+       //Stage.height
+       if (untyped __typeof__(x1.height) == 'number') {
+               DejaGnu.pass("height property is a number");
+       } else {
+               DejaGnu.fail("height property is not a number");
+       }
+       
+       //Stage.mouseChildren
+       if (untyped __typeof__(x1.mouseChildren) == 'boolean') {
+               DejaGnu.pass("Stage.mouseChildren is a boolean");
+       } else {
+               DejaGnu.fail("Stage.mouseChildren is not a boolean");
+       }
+       
+#else
+#end
+
+       
//-------------------------------------------------------------------------
+       // START OF MING TESTS!
+       // The following tests are reproduced from the ming test cases in 
+       // testsuite/actionscript.all
+       
//-------------------------------------------------------------------------
+       DejaGnu.note("***Reproduced ming tests ***");
 
 #if !flash9
 
        if (Type.typeof(untyped Stage.addListener) == ValueType.TFunction) {
-           DejaGnu.pass("Stage::addChild() method exists");
+           DejaGnu.pass("Stage.addChild() method exists");
        } else {
-           DejaGnu.fail("Stage::addChild() method doesn't exist");
+           DejaGnu.fail("Stage.addChild() method doesn't exist");
        }
        if (Type.typeof(untyped Stage.removeListener) == ValueType.TFunction) {
-           DejaGnu.pass("Stage::addChildAt() method exists");
+           DejaGnu.pass("Stage.addChildAt() method exists");
        } else {
-           DejaGnu.fail("Stage::addChildAt() method doesn't exist");
+           DejaGnu.fail("Stage.addChildAt() method doesn't exist");
        }
        if (Type.typeof(untyped Stage.broadcastMessage) == ValueType.TFunction) 
{
-               DejaGnu.pass("Stage::broadcastMessage method exists");
+               DejaGnu.pass("Stage.broadcastMessage method exists");
        } else {
-               DejaGnu.fail("Stage::broadcastMessage method doesn't exist");
+               DejaGnu.fail("Stage.broadcastMessage method doesn't exist");
        }
        
 
@@ -712,7 +824,38 @@
                DejaGnu.fail("Stage.removeListener is defined");
        }
 #end
-                               
+
+#if !flash9
+       //-------------------------------------------------
+       //  Testing Stage.showMenu property
+       //-------------------------------------------------
+       DejaGnu.note("*** Begin testing Stage.showMenu property");
+       
+       DejaGnu.note("showMenu init: " + untyped Stage.showMenu);
+       if (untyped Stage.showMenu == true ) {
+               DejaGnu.pass("Stage.showMenu correctly initialized to 'true'");
+       } else {
+               DejaGnu.fail("Stage.showMenu is not initialized to 'true'");
+       }
+       
+       untyped Stage.showMenu = false;
+       //Reflect.setField( Stage, "showMenu", false );
+       if (untyped Stage.showMenu == false) {
+               DejaGnu.pass("Stage.showMenu changed to false");
+       } else {
+               DejaGnu.fail("Stage.showMenu was not correctly changed to 
false");
+       }
+       
+       untyped Stage.showMenu = true;
+       //Reflect.setField( Stage, "showMenu", true );
+       if (untyped Stage.showMenu == true) {
+               DejaGnu.pass("Stage.showMenu reset to true");
+       } else {
+               DejaGnu.fail("Stage.showMenu not correctly reset to true");
+       }
+#end
+       
+       
     // Call this after finishing all tests. It prints out the totals.
     DejaGnu.done();
     }


reply via email to

[Prev in Thread] Current Thread [Next in Thread]