UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

255 lines (199 loc) 6.95 kB
/* ************************************************************************ qooxdoo - the new era of web development http://qooxdoo.org Copyright: 2004-2008 1&1 Internet AG, Germany, http://www.1und1.de License: MIT: https://opensource.org/licenses/MIT See the LICENSE file in the project's top-level directory for details. Authors: * Christian Hagendorn (chris_schmidt) ************************************************************************ */ /* ************************************************************************ ************************************************************************ */ /** * * @asset(qxl/demobrowser/demo/flash/fo_tester.swf) * @asset(qxl/demobrowser/demo/flash/TestFlash.swf) * @asset(qxl/demobrowser/demo/flash/FlashVersion.swf) */ qx.Class.define("qxl.demobrowser.demo.widget.Flash", { extend : qx.application.Standalone, members : { __window : null, main: function() { this.base(arguments); var tabView = new qx.ui.tabview.TabView(); tabView.setContentPadding([8,8,8,8]); var doc = this.getRoot(); doc.add(tabView, {edge: 0}); var page1 = new qx.ui.tabview.Page("Simple demo with FlashVars"); page1.setLayout(new qx.ui.layout.Canvas()); page1.add(this.createFlashDemo1(), {edge: 0}); tabView.add(page1); var page2 = new qx.ui.tabview.Page("Two way communication (ActionScript <-> JavaScript)"); page2.setLayout(new qx.ui.layout.Canvas()); page2.add(this.createFlashDemo2(), {edge: 0}); tabView.add(page2); this.__window = this.createWindow(); doc.add(this.__window, {top: 20, left: 20}); }, createWindow : function() { var win = new qx.ui.window.Window("Flash Player Version").set( { width: 300, height: 200, contentPadding: [0,0,0,0] }); win.setLayout(new qx.ui.layout.Canvas()); win.add( new qx.ui.embed.Flash("demobrowser/demo/flash/FlashVersion.swf"), {edge: 0} ); return win; }, /* *************************************************************************** SOURCE FOR FLASH DEMO 1 *************************************************************************** */ createFlashDemo1 : function () { var container = new qx.ui.container.Composite( new qx.ui.layout.VBox(4) ); var variables = { flashVarText: "this is passed in via FlashVars" }; var flash = new qx.ui.embed.Flash("demobrowser/demo/flash/fo_tester.swf").set({ scale: "noscale", variables : variables }); flash.getContentElement().setParam("bgcolor", "#FF6600"); container.add(flash, {flex: 1}); var button = new qx.ui.form.Button("Show Flash Player version"); button.addListener("execute", function() { this.__window.open(); }, this); container.add(button); return container; }, /* *************************************************************************** SOURCE FOR FLASH DEMO 2 *************************************************************************** */ __flash : null, __messageFromFlash : null, __messageToFlash : null, __sendButton : null, createFlashDemo2 : function() { //Set for call back this.self(arguments).setCallBackInstance(this); var container = new qx.ui.container.Composite( new qx.ui.layout.HBox(8) ); /* * Qooxdoo */ var qooxdooContainer = new qx.ui.container.Composite( new qx.ui.layout.VBox(4) ); container.add(qooxdooContainer, {flex: 1}); qooxdooContainer.add(new qx.ui.basic.Label("<b>qooxdoo:</b>").set({ rich: true })); qooxdooContainer.add(new qx.ui.basic.Label("Message from Flash:")); this.__messageFromFlash = new qx.ui.form.TextArea("No message."); this.__messageFromFlash.setEnabled(false); qooxdooContainer.add(this.__messageFromFlash, {flex: 1}); qooxdooContainer.add(new qx.ui.basic.Label("Message to Flash:")); this.__messageToFlash = new qx.ui.form.TextArea("qooxdoo is the best!"); qooxdooContainer.add(this.__messageToFlash, {flex: 1}); var buttonBar = new qx.ui.container.Composite( new qx.ui.layout.HBox(0, "right") ); this.__sendButton = new qx.ui.form.Button("Send to Flash"); this.__sendButton.setEnabled(false); this.__sendButton.addListener("execute", function(e) { this.__flash.getFlashElement().sendMessage(this.__messageToFlash.getValue()); }, this); buttonBar.add(this.__sendButton); qooxdooContainer.add(buttonBar); /* * Flash */ var flashConteiner = new qx.ui.container.Composite( new qx.ui.layout.VBox(4) ); container.add(flashConteiner, {flex: 1}); flashConteiner.add(new qx.ui.basic.Label("Flash:").set({ rich: true })); this.__flash = new qx.ui.embed.Flash("demobrowser/demo/flash/TestFlash.swf"); this.__flash.setVariables({ init : "qxl.demobrowser.demo.widget.Flash.flashReady" }); flashConteiner.add(this.__flash, {flex: 1}); return container; }, sendMessage : function(message) { this.__messageFromFlash.setValue(message); }, /** * @lint ignoreDeprecated(alert) */ initFlash : function() { if (this.__flash.getFlashElement().setup) { this.__flash.getFlashElement().setup("qxl.demobrowser.demo.widget.Flash.sendMessage"); this.__sendButton.setEnabled(true); } else { alert("Couldn't connect to Flash Player! Please make sure that:\n" + "1) no pop-up or advertising blocker is activated.\n" + "2) this html page is not loaded from the file system, but a webserver."); } } }, /* ***************************************************************************** SOURCE FOR FLASH DEMO 2 ***************************************************************************** */ statics : { __callBackInstance : null, setCallBackInstance : function(callBackInstance) { qxl.demobrowser.demo.widget.Flash.__callBackInstance = callBackInstance; }, sendMessage : function(message) { qxl.demobrowser.demo.widget.Flash.__callBackInstance.sendMessage(message); }, flashReady : function() { qxl.demobrowser.demo.widget.Flash.__callBackInstance.initFlash(); } }, /* ***************************************************************************** DESTRUCT ***************************************************************************** */ destruct : function() { this._disposeObjects("__messageFromFlash", "__messageToFlash", "__sendButton", "__flash", "__window"); } });