Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: qooxdoo/qooxdoo
...
head fork: qooxdoo/qooxdoo
Checking mergeability… Don't worry, you can still create the pull request.
  • 4 commits
  • 29 files changed
  • 0 commit comments
  • 2 contributors
Commits on Sep 20, 2006
wpbasti Tagged release 0.6.1 a1aa5e5
wpbasti Minor hotfix 7123df0
wpbasti Minor cleanup babbdef
Commits on Aug 05, 2007
vpauli Fix for an issue with the tabView close button. The ontabclose-event …
…didn't stop the event-propagation, so the click-event was automatically triggered after an ontabclose.

git-svn-id: https://qooxdoo.svn.sourceforge.net/svnroot/qooxdoo/tags/release_0_6_1@9276 61aaf1ca-a10e-0410-b9fb-ac63ec25887f
3e64496
Showing with 246 additions and 644 deletions.
  1. +1 −7 qooxdoo/frontend/Makefile
  2. +0 −51 qooxdoo/frontend/demo/source/html/test/PropertyTest_1.html
  3. +0 −194 qooxdoo/frontend/framework/source/class/qx/Property.js
  4. +0 −41 qooxdoo/frontend/framework/source/class/qx/Validation.js
  5. +6 −30 qooxdoo/frontend/framework/source/class/qx/component/AbstractApplication.js
  6. +41 −0 qooxdoo/frontend/framework/source/class/qx/component/DummyApplication.js
  7. +6 −68 qooxdoo/frontend/framework/source/class/qx/component/init/AbstractInitComponent.js
  8. +2 −0  qooxdoo/frontend/framework/source/class/qx/component/init/BasicInitComponent.js
  9. +27 −89 qooxdoo/frontend/framework/source/class/qx/core/Init.js
  10. +1 −1  qooxdoo/frontend/framework/source/class/qx/core/Version.js
  11. +31 −5 qooxdoo/frontend/framework/source/class/qx/lang/Xml.js
  12. +0 −21 qooxdoo/frontend/framework/source/class/qx/test/Button.js
  13. +0 −45 qooxdoo/frontend/framework/source/class/qx/test/Object.js
  14. +0 −16 qooxdoo/frontend/framework/source/class/qx/test/ToolBarButton.js
  15. +0 −32 qooxdoo/frontend/framework/source/class/qx/test/Widget.js
  16. +73 −28 qooxdoo/frontend/framework/source/class/qx/ui/embed/Iframe.js
  17. +1 −0  qooxdoo/frontend/framework/source/class/qx/ui/pageview/tabview/TabViewButton.js
  18. +6 −0 qooxdoo/frontend/framework/source/class/qx/ui/table/Table.js
  19. +6 −0 qooxdoo/frontend/framework/tool/migrator/data/0.6.1/info/01-windowevents.dat
  20. +1 −0  qooxdoo/frontend/framework/tool/migrator/data/0.6.1/patches/01-xml.dat
  21. +4 −4 qooxdoo/frontend/skeleton/source/sample1/Makefile
  22. +10 −1 qooxdoo/frontend/skeleton/source/sample1/source/class/custom/{Application1.js → Application.js}
  23. +1 −1  qooxdoo/frontend/skeleton/source/sample1/source/index.html
  24. +4 −4 qooxdoo/frontend/skeleton/source/sample2/Makefile
  25. +11 −1 qooxdoo/frontend/skeleton/source/sample2/source/class/custom/{Application2.js → Application.js}
  26. +1 −1  qooxdoo/frontend/skeleton/source/sample2/source/index.html
  27. +2 −2 qooxdoo/frontend/skeleton/source/sample3/Makefile
  28. +10 −1 qooxdoo/frontend/skeleton/source/sample3/source/class/custom/{Application3.js → Application.js}
  29. +1 −1  qooxdoo/frontend/skeleton/source/sample3/source/index.html
View
8 qooxdoo/frontend/Makefile
@@ -2,7 +2,7 @@
# VARIABLES
###################################################################################
-VERSION = 0.6.1-pre
+VERSION = 0.6.1
NICE=10
NICE_CALL = nice -n $(NICE)
@@ -57,9 +57,6 @@ demo-build:
framework-build:
@$(MAKE) -C framework build
-skeleton-build:
- @$(MAKE) -C skeleton build
-
api-source:
@$(MAKE) -C api source
@@ -69,9 +66,6 @@ demo-source:
framework-source:
@$(MAKE) -C framework source
-skeleton-source:
- @$(MAKE) -C skeleton source
-
skeleton-archives:
@$(MAKE) -C skeleton archives
View
51 qooxdoo/frontend/demo/source/html/test/PropertyTest_1.html
@@ -1,51 +0,0 @@
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>qooxdoo &raquo; Demo</title>
- <link type="text/css" rel="stylesheet" href="../../resource/css/layout.css"/>
- <!--[if IE]>
- <link type="text/css" rel="stylesheet" href="../../resource/css/layout_ie.css"/>
- <![endif]-->
- <script type="text/javascript" src="../../script/qx.js"></script>
-</head>
-<body>
- <script type="text/javascript" src="../../script/layout.js"></script>
-
- <div id="demoDescription">
- <p>Testing the new property implementation.</p>
- </div>
-
- <script type="text/javascript">
- qx.core.Init.getInstance().defineMain(function()
- {
- /* ---------------------------------
- TEST BUTTON
- --------------------------------- */
- var b = new qx.test.Button;
- b.setCaption("Hello World");
- b.debug("My appearance: " + b.getAppearance());
-
-
-
- /* ---------------------------------
- TEST WIDGET
- --------------------------------- */
- var w = new qx.test.Widget;
- w.setTabIndex(20);
- // Error
- // t.setTabIndex("foo");
-
- w.debug("My appearance: " + w.getAppearance());
-
-
-
- /* ---------------------------------
- TEST TOOLBARBUTTON
- --------------------------------- */
- var t = new qx.test.ToolBarButton;
- t.setCaption("Hello World");
- t.debug("My appearance: " + t.getAppearance());
- });
- </script>
-</body>
-</html>
View
194 qooxdoo/frontend/framework/source/class/qx/Property.js
@@ -1,194 +0,0 @@
-/*
-#module(newproperties)
-#require(qx.type.StringBuilder)
-#require(qx.lang.Object)
-#require(qx.Validation)
-*/
-
-qx.OO.defineClass("qx.Property",
-{
-
- add : function(vName)
- {
- if (qx.Proto._properties_available_ng[vName]) {
- this.error("Add property: Property: " + vName + " does already exist!");
- }
-
- // Vererbe property registry von der Superklasse
- this.inheritCheck();
-
- // Füge neue Hashmap hinzu
- qx.Proto._properties_available_ng[vName] =
- {
- relation : qx.Proto,
- upname : vName.charAt(0).toUpperCase() + vName.substr(1)
- };
-
- // Merke mir dieses Property als aktuelles (zum Tunen)
- this._current = vName;
- },
-
- remove : function(vName)
- {
- if (!qx.Proto._properties_available_ng[vName]) {
- this.error("Remove property: Property: " + vName + " does not exist!");
- }
-
- // Vererbe property registry von der Superklasse
- this.inheritCheck();
-
- // Lösche kompletten Eintrag
- delete qx.Proto._properties_available_ng[vName];
-
- // Wenn dieses Property aktuell ausgewählt war, müssen wir es zurücksetzen
- if (this._current == vName) {
- this._current = null;
- }
- },
-
- sel : function(vName)
- {
- if (!qx.Proto._properties_available_ng[vName]) {
- this.error("Select property: Property: " + vName + " does not exist!");
- }
-
- this._current = vName;
- },
-
- // alternativen: setAttribute?
- tune : function(vKey, vValue)
- {
- if (this._current == null) {
- this.error("Tune property: Please select a property first!");
- }
-
- // Vererbe property registry von der Superklasse
- this.inheritCheck();
-
- // Wenn das Property von der Superklasse definiert wurde, müssen wir
- // hier auf einer Kopie der HashMap operieren.
- if (qx.Proto._properties_available_ng[this._current] === qx.Super.prototype._properties_available_ng[this._current])
- {
- // Ganzen Property-Eintrag kopieren (damit dieser dann modifiziert werden kann ohne den Parent zu aendern)
- qx.Proto._properties_available_ng[this._current] = qx.lang.Object.copy(qx.Proto._properties_available_ng[this._current]);
-
- // Update relations-Information
- qx.Proto._properties_available_ng[this._current].relation = qx.Proto;
- }
-
- // Speichere neuen Wert
- qx.Proto._properties_available_ng[this._current][vKey] = vValue;
-
-
- },
-
- inheritCheck : function()
- {
- if (qx.Proto._properties_available_ng == qx.Super.prototype._properties_available_ng) {
- this.inherit();
- }
- },
-
- inherit : function()
- {
- // Das passiert beim Vererben. Wir kopieren die Liste einfach
- // Kein deep copy. Es werden nur Daten-Objekte kopiert sobald
- // versucht wird ein property anzupassen.
- qx.Proto._properties_available_ng = qx.lang.Object.copy(qx.Proto._properties_available_ng);
- },
-
- createMethods : function(vName, vProto)
- {
- var vEntry = vProto._properties_available_ng[vName];
- var vUpName = vEntry.upname;
-
- vProto["set" + vUpName] = function() {
- return qx.Property._generalSetter(this, vProto, vName, vUpName, arguments);
- };
-
- //vProto["set" + vUpName] = new Function("return qx.Property._generalSetter(this, " + vName + "," + vUpName + ",arguments);");
- vProto["get" + vUpName] = new Function("return this._values_ng." + vName + ";");
- vProto["reset" + vUpName] = new Function("return this.set" + vUpName + "(null);");
- },
-
- validate : function(vMethod, vValue)
- {
- if (vMethod)
- {
- try
- {
- qx.Validation[vMethod](vValue);
- }
- catch(ex)
- {
- this.error("Failed validation process", ex);
- return false;
- }
- }
-
- return true;
- },
-
- _generalSetter : function(vObject, vProto, vName, vUpName, vArgs)
- {
- vProto.debug("Creating setter for " + vProto + "/" + vName);
-
- // Create new setter
- var vSetter = qx.Property._createOptimizedSetter(vProto, vName, vUpName);
- vProto["set" + vUpName] = vSetter;
-
- // Execute new setter
- return vSetter.apply(vObject, vArgs);
- },
-
-
-
-
-
-
-
- _createOptimizedSetter : function(vProto, vName, vUpName)
- {
- var vConf = vProto._properties_available_ng[vName];
- var vCode = new qx.type.StringBuilder;
-
- // vCode.add("this.debug('Property: " + vName + ": ' + vNew);");
- vCode.add("var vOld = this._properties_available_ng." + vName + ";");
-
- if (vConf.validation != undefined)
- {
- vCode.add("try{");
-
- if (qx.Validation[vConf.validation])
- {
- vCode.add("if(!qx.Validation." + vConf.validation + "(vNew)){");
- vCode.add("this.error('Invalid value for property " + vName + ": ' + vNew);");
- vCode.add("};");
- }
- else
- {
- this.error("Could not add validation to property " + vName + ". Invalid method.");
- }
-
- vCode.add("}catch(ex){");
- vCode.add("this.error('Invalid value: ' + vNew, ex);");
- vCode.add("};");
- }
-
- vCode.add("this._values_ng." + vName + " = vNew;");
-
- if (vConf.fire !== false)
- {
- vCode.add("this.createDispatchDataEvent('change" + vUpName + "');");
- }
-
- // alert("Code:\n\n" + vCode);
-
- return new Function("vNew", vCode.toString());
- }
-
-
-
-
-
-});
View
41 qooxdoo/frontend/framework/source/class/qx/Validation.js
@@ -1,41 +0,0 @@
-/*
-#module(newproperties)
-*/
-
-qx.OO.defineClass("qx.Validation",
-{
- "JsDefined" : function(vValue) {
- return vValue != undefined;
- },
-
- "JsNull" : function(vValue) {
- return vValue === null;
- },
-
- "JsString" : function(vValue) {
- return typeof vValue == "string";
- },
-
- "JsNumber" : function(vValue) {
- return typeof vValue == "number" && !isNaN(vValue);
- },
-
- "JsObject" : function(vValue) {
- return vValue != null && typeof vValue == "object";
- },
-
- "QxObject" : function(vValue) {
- return vValue instanceof qx.core.Object;
- },
-
- "QxTarget" : function(vValue) {
- return vValue instanceof qx.core.Target;
- },
-
- "QxWidget" : function(vValue) {
- return vValue instanceof qx.ui.core.Widget;
- }
-
-
-
-});
View
36 qooxdoo/frontend/framework/source/class/qx/component/AbstractApplication.js
@@ -23,55 +23,31 @@
************************************************************************ */
qx.OO.defineClass("qx.component.AbstractApplication", qx.component.AbstractComponent,
-function()
-{
+function() {
qx.component.AbstractComponent.call(this);
});
/*!
Run initialisation part of component creation.
*/
-qx.Proto.initialize = function() {
-
-}
+qx.Proto.initialize = function() {};
/*!
Run main part of component creation.
*/
-qx.Proto.main = function() {
-
-}
+qx.Proto.main = function() {};
/*!
Run finalization part of component creation.
*/
-qx.Proto.finalize = function() {
-
-}
+qx.Proto.finalize = function() {};
/*!
Terminate this component.
*/
-qx.Proto.close = function() {
-
-}
+qx.Proto.close = function() {};
/*!
Terminate this component.
*/
-qx.Proto.terminate = function() {
-
-}
-
-
-
-
-
-qx.Proto.dispose = function()
-{
- if (this.getDisposed()) {
- return;
- }
-
- return qx.component.AbstractComponent.prototype.dispose.call(this);
-}
+qx.Proto.terminate = function() {};
View
41 qooxdoo/frontend/framework/source/class/qx/component/DummyApplication.js
@@ -0,0 +1,41 @@
+/* ************************************************************************
+
+ qooxdoo - the new era of web development
+
+ http://qooxdoo.org
+
+ Copyright:
+ 2004-2006 by 1&1 Internet AG, Germany, http://www.1and1.org
+
+ License:
+ LGPL 2.1: http://www.gnu.org/licenses/lgpl.html
+
+ Authors:
+ * Sebastian Werner (wpbasti)
+ * Andreas Ecker (ecker)
+
+************************************************************************ */
+
+/* ************************************************************************
+
+#module(core)
+
+************************************************************************ */
+
+qx.OO.defineClass("qx.component.DummyApplication", qx.component.AbstractApplication,
+function() {
+ qx.component.AbstractApplication.call(this);
+});
+
+
+
+/*
+---------------------------------------------------------------------------
+ DIRECT SINGLETON INSTANCE
+---------------------------------------------------------------------------
+*/
+
+/**
+ * Singleton Instance Getter
+ */
+qx.Class.getInstance = qx.util.Return.returnInstance;
View
74 qooxdoo/frontend/framework/source/class/qx/component/init/AbstractInitComponent.js
@@ -23,105 +23,43 @@
************************************************************************ */
qx.OO.defineClass("qx.component.init.AbstractInitComponent", qx.component.AbstractComponent,
-function()
-{
+function() {
qx.component.AbstractComponent.call(this);
-
- this._methods = {};
});
-
-
-
/*!
Run initialisation part of component creation.
*/
qx.Proto.initialize = function(e) {
- return this._methods.initialize && this._methods.initialize(e);
+ return qx.core.Init.getInstance().getApplicationInstance().initialize(e);
}
/*!
Run main part of component creation.
*/
qx.Proto.main = function(e) {
- return this._methods.main && this._methods.main(e);
+ return qx.core.Init.getInstance().getApplicationInstance().main(e);
}
/*!
Run finalization part of component creation.
*/
qx.Proto.finalize = function(e) {
- return this._methods.finalize && this._methods.finalize(e);
+ return qx.core.Init.getInstance().getApplicationInstance().finalize(e);
}
/*!
Terminate this component.
*/
qx.Proto.close = function(e) {
- return this._methods.close && this._methods.close(e);
+ return qx.core.Init.getInstance().getApplicationInstance().close(e);
}
/*!
Terminate this component.
*/
qx.Proto.terminate = function(e) {
- return this._methods.terminate && this._methods.terminate(e);
-}
-
-
-
-
-
-/*!
- Defines the method which should be executed on initialization of this component.
-*/
-qx.Proto.defineInitialize = function(vFunc) {
- this._methods.initialize = vFunc;
-}
-
-/*!
- Defines the method which should be executed as main function of this component.
-*/
-qx.Proto.defineMain = function(vFunc) {
- this._methods.main = vFunc;
-}
-
-/*!
- Defines the method which should be executed on finalization of this component.
-*/
-qx.Proto.defineFinalize = function(vFunc) {
- this._methods.finalize = vFunc;
-}
-
-/*!
- Defines the method which should be executed on (before) close of this component.
-*/
-qx.Proto.defineClose = function(vFunc) {
- this._methods.close = vFunc;
-}
-
-/*!
- Defines the method which should be executed on termination of this component.
-*/
-qx.Proto.defineTerminate = function(vFunc) {
- this._methods.terminate = vFunc;
-}
-
-
-
-
-
-
-
-qx.Proto.dispose = function()
-{
- if (this.getDisposed()) {
- return;
- }
-
- delete this._methods;
-
- return qx.component.AbstractComponent.prototype.dispose.call(this);
+ return qx.core.Init.getInstance().getApplicationInstance().terminate(e);
}
View
2  qooxdoo/frontend/framework/source/class/qx/component/init/BasicInitComponent.js
@@ -29,6 +29,8 @@ function() {
+
+
/*
---------------------------------------------------------------------------
EVENT HANDLER
View
116 qooxdoo/frontend/framework/source/class/qx/core/Init.js
@@ -68,7 +68,8 @@ qx.Settings.setDefault("component", "qx.component.init.InterfaceInitComponent");
*/
qx.OO.addProperty({ name : "component", type : qx.constant.Type.OBJECT, instance : "qx.component.init.BasicInitComponent" });
-qx.OO.addProperty({ name : "application", type : qx.constant.Type.OBJECT, instance : "qx.component.AbstractApplication" });
+qx.OO.addProperty({ name : "application", type : qx.constant.Type.FUNCTION });
+
@@ -77,15 +78,18 @@ qx.OO.addProperty({ name : "application", type : qx.constant.Type.OBJECT, instan
/*
---------------------------------------------------------------------------
- COMPONENT MANAGMENT
+ MODIFIER
---------------------------------------------------------------------------
*/
-qx.Proto._createComponent = function()
+qx.Proto._modifyApplication = function(propValue, propOldValue, propData)
{
- this.setComponent(new qx.OO.classes[this.getSetting("component")](this));
-}
+ if (propValue) {
+ this._applicationInstance = new propValue;
+ }
+ return true;
+};
@@ -94,38 +98,17 @@ qx.Proto._createComponent = function()
/*
---------------------------------------------------------------------------
- APPLICATION MANAGMENT
+ INTERNAL PROPERTIES
---------------------------------------------------------------------------
*/
-qx.Proto._modifyApplication = function(propValue, propOldValue, propData)
+qx.Proto.getApplicationInstance = function()
{
- if (propOldValue)
- {
- this.error("Could not modify application");
+ if (!this.getApplication()) {
+ this.setApplication(qx.component.DummyApplication);
}
- if (propValue)
- {
-
- // proposed new way (using custom application class)
- // define(Initialize|Main|Finalize|Close|Terminate) are deprecated
- /*
- this._initialize = propValue._initialize;
- this._main = propValue._main;
- this._finalize = propValue._finalize;
- this._close = propValue._close;
- this._terminate = propValue._terminate;
- */
-
- this.defineInitialize(propValue.initialize);
- this.defineMain(propValue.main);
- this.defineFinalize(propValue.finalize);
- this.defineClose(propValue.close);
- this.defineTerminate(propValue.terminate);
- }
-
- return true;
+ return this._applicationInstance;
};
@@ -133,74 +116,30 @@ qx.Proto._modifyApplication = function(propValue, propOldValue, propData)
-
-
/*
---------------------------------------------------------------------------
COMPONENT BINDING
---------------------------------------------------------------------------
*/
-qx.Proto._initialize = null;
-qx.Proto._main = null;
-qx.Proto._finalize = null;
-qx.Proto._close = null;
-qx.Proto._terminate = null;
-
qx.Proto.defineInitialize = function(vFunc) {
- return this._initialize = vFunc || null;
+ this.getApplicationInstance().initialize = vFunc;
}
qx.Proto.defineMain = function(vFunc) {
- return this._main = vFunc || null;
+ this.getApplicationInstance().main = vFunc;
}
qx.Proto.defineFinalize = function(vFunc) {
- return this._finalize = vFunc || null;
+ this.getApplicationInstance().finalize = vFunc;
}
qx.Proto.defineClose = function(vFunc) {
- return this._close = vFunc || null;
+ this.getApplicationInstance().close = vFunc;
}
qx.Proto.defineTerminate = function(vFunc) {
- return this._terminate = vFunc || null;
-}
-
-
-
-
-
-
-
-
-/*
----------------------------------------------------------------------------
- MODIFIER
----------------------------------------------------------------------------
-*/
-
-qx.Proto._modifyComponent = function(propValue, propOldValue, propData)
-{
- if (propOldValue)
- {
- propOldValue.defineInitialize(null);
- propOldValue.defineMain(null);
- propOldValue.defineFinalize(null);
- propOldValue.defineClose(null);
- propOldValue.defineTerminate(null);
- }
-
- if (propValue)
- {
- propValue.defineInitialize(this._initialize);
- propValue.defineMain(this._main);
- propValue.defineFinalize(this._finalize);
- propValue.defineClose(this._close);
- propValue.defineTerminate(this._terminate);
- }
-
- return true;
+ this.getApplicationInstance().terminate = vFunc;
}
@@ -219,19 +158,20 @@ qx.Proto._onload = function(e)
{
this.debug("qooxdoo " + qx.core.Version.toString());
- // Print out class informations
+ // Print out class information
this.debug("loaded " + qx.lang.Object.getLength(qx.OO.classes) + " classes");
// Print browser information
var cl = qx.sys.Client.getInstance();
- this.debug("system " + cl.getEngine() + "-" + cl.getMajor() + "." + cl.getMinor() + "/" + cl.getPlatform() + "/" + cl.getLocale());
+ this.debug("client: " + cl.getEngine() + "-" + cl.getMajor() + "."
+ + cl.getMinor() + "/" + cl.getPlatform() + "/" + cl.getLocale());
if (cl.isMshtml() && !cl.isInQuirksMode()) {
- this.warn("Wrong box sizing: Please modify your Doctype!");
+ this.warn("Wrong box sizing: Please modify the document's DOCTYPE!");
}
// Init component from settings
- this._createComponent();
+ this.setComponent(new qx.OO.classes[this.getSetting("component")](this));
// Send onload
return this.getComponent()._onload(e);
@@ -278,11 +218,9 @@ qx.Proto.dispose = function()
// Reset inline functions
this.__onload = this.__onbeforeunload = this.__onunload = null;
- // Dispose Component
- if (this._component)
- {
- this._component.dispose();
- this._component = null;
+ if (this._applicationInstance) {
+ this._applicationInstance.dispose();
+ this._applicationInstance = null;
}
qx.core.Target.prototype.dispose.call(this);
View
2  qooxdoo/frontend/framework/source/class/qx/core/Version.js
@@ -27,7 +27,7 @@ qx.OO.defineClass("qx.core.Version",
major : 0,
minor : 6,
revision : 1,
- state : "pre",
+ state : "",
svn : Number("$Rev$".match(/[0-9]+/)[0]),
View
36 qooxdoo/frontend/framework/source/class/qx/lang/Xml.js
@@ -23,19 +23,45 @@
qx.OO.defineClass("qx.lang.Xml");
-// Create an XML dom node
+// Create a XML dom node
qx.lang.Xml.createXmlDom = function()
{
- // Mozilla style
+ // The Mozilla style
if (document.implementation && document.implementation.createDocument) {
return document.implementation.createDocument("", "", null);
}
- // Microsoft style
+ // The Microsoft style
if (window.ActiveXObject) {
- return new ActiveXObject("Microsoft.XMLDOM");
+ var vServers =
+ [
+ "MSXML2.DOMDocument.6.0",
+ "MSXML2.DOMDocument.5.0",
+ "MSXML2.DOMDocument.4.0",
+ "MSXML2.DOMDocument.3.0",
+ "MSXML2.DOMDocument.2.0",
+ "MSXML2.DOMDocument",
+ "Microsoft.DOMDocument"
+ ];
+ var vObject;
+ var vServer;
+
+ for (var i=0, l=vServers.length; i<l; i++)
+ {
+ vServer = vServers[i];
+
+ try
+ {
+ vObject = new ActiveXObject(vServer);
+ break;
+ }
+ catch(ex)
+ {
+ vObject = null;
+ }
+ }
+ return vObject;
}
throw new Error("This browser does not support xml dom creation.");
};
-
View
21 qooxdoo/frontend/framework/source/class/qx/test/Button.js
@@ -1,21 +0,0 @@
-/*
-#require(qx.Property)
-#module(newproperties)
-*/
-
-qx.OO.defineClass("qx.test.Button", qx.test.Widget,
-function()
-{
- qx.test.Widget.call(this);
-
-
-});
-
-// Inheritance and reconfiguration of existing property
-qx.Property.sel("appearance");
-qx.Property.tune("defaultValue", "button");
-
-qx.Property.add("caption");
-qx.Property.add("icon");
-qx.Property.add("iconWidth");
-qx.Property.add("iconHeight");
View
45 qooxdoo/frontend/framework/source/class/qx/test/Object.js
@@ -1,45 +0,0 @@
-/*
-#require(qx.Property)
-#module(newproperties)
-*/
-
-qx.OO.defineClass("qx.test.Object", qx.core.Target,
-function()
-{
- qx.core.Target.call(this);
-
- this._values_ng = {};
-
- var vConstructor = this.constructor;
- var vProto = vConstructor.prototype;
- var vProps = this._properties_available_ng;
- var vName, vProp;
-
- for (vName in vProps)
- {
- vEntry = vProps[vName];
- vSetterName = "set" + vEntry.upname;
-
- // Notiz: Wenn wir einen defaultValue haben, koennte man gleich den richtigen setter generieren
-
- // If the setter is not available
- if (this[vSetterName] == undefined)
- {
- qx.Property.createMethods(vName, vEntry.relation);
- }
-
- // Is local but not defined in our prototype
- else if (vEntry.relation == this.constructor.prototype && vConstructor.superclass.prototype[vSetterName] == this[vSetterName])
- {
- qx.Property.createMethods(vName, vEntry.relation);
- }
-
- if (vEntry.defaultValue != undefined) {
- this[vSetterName](vEntry.defaultValue);
- }
- }
-});
-
-qx.Proto._properties_available_ng = {};
-
-qx.Property.add("id");
View
16 qooxdoo/frontend/framework/source/class/qx/test/ToolBarButton.js
@@ -1,16 +0,0 @@
-/*
-#require(qx.Property)
-#module(newproperties)
-*/
-
-qx.OO.defineClass("qx.test.ToolBarButton", qx.test.Button,
-function()
-{
- qx.test.Button.call(this);
-
-
-});
-
-// Inheritance and reconfiguration of existing property
-qx.Property.sel("appearance");
-qx.Property.tune("defaultValue", "toolbarbutton");
View
32 qooxdoo/frontend/framework/source/class/qx/test/Widget.js
@@ -1,32 +0,0 @@
-/*
-#require(qx.Property)
-#module(newproperties)
-*/
-
-qx.OO.defineClass("qx.test.Widget", qx.test.Object,
-function()
-{
- qx.test.Object.call(this);
-
-
-});
-
-// Define new properties
-qx.Property.add("tabIndex");
-qx.Property.add("width");
-qx.Property.add("height");
-
-// Appearance
-qx.Property.add("appearance");
-qx.Property.tune("defaultValue", "widget");
-
-// Define new properties including validation
-qx.Property.add("color");
-qx.Property.tune("validation", "JsObject");
-qx.Property.add("backgroundColor");
-qx.Property.tune("validation", "JsObject");
-
-// Lazy configuration of previously created property
-qx.Property.sel("tabIndex");
-qx.Property.tune("validation", "JsNumber");
-qx.Property.tune("defaultValue", -1);
View
101 qooxdoo/frontend/framework/source/class/qx/ui/embed/Iframe.js
@@ -22,24 +22,17 @@
************************************************************************ */
-qx.OO.defineClass("qx.ui.embed.Iframe", qx.ui.layout.CanvasLayout,
+qx.OO.defineClass("qx.ui.embed.Iframe", qx.ui.basic.Terminator,
function(vSource)
{
// **********************************************************************
// INIT
// **********************************************************************
- qx.ui.layout.CanvasLayout.call(this);
-
- qx.ui.embed.Iframe.init();
+ qx.ui.basic.Terminator.call(this);
this.setSelectable(false);
this.setTabIndex(0);
- this._glasspane = new qx.ui.basic.Terminator();
- this._glasspane.set({ zIndex:1, display:false });
- this._glasspane.setEdge(0);
- this.add(this._glasspane);
-
var o = this;
this.__onreadystatechange = function(e) { return o._onreadystatechange(e); }
this.__onload = function(e) { return o._onload(e); }
@@ -77,6 +70,9 @@ qx.OO.addProperty({ name : "frameName", type : qx.constant.Type.STRING });
---------------------------------------------------------------------------
*/
+
+// iframe DOM node
+
qx.Proto._iframeNode = null;
qx.Proto.getIframeNode = function() {
@@ -88,6 +84,18 @@ qx.Proto.setIframeNode = function(vIframeNode) {
}
+// blocker div DOM node
+
+qx.Proto._blockerNode = null;
+
+qx.Proto.getBlockerNode = function() {
+ return this._blockerNode;
+}
+
+qx.Proto.setBlockerNode = function(vBlockerNode) {
+ return this._blockerNode = vBlockerNode;
+}
+
@@ -103,12 +111,11 @@ qx.Proto.reload = function() {
qx.Proto.block = function() {
- this._glasspane.setDisplay(true);
+ this._blockerNode.style.display = qx.constant.Core.EMPTY;
};
-
qx.Proto.release = function() {
- this._glasspane.setDisplay(false);
+ this._blockerNode.style.display = qx.constant.Core.NONE;
};
@@ -123,13 +130,22 @@ qx.Proto.release = function() {
qx.Proto._modifyElement = function(propValue, propOldValue, propData)
{
+
var iframeNode = this.getIframeNode();
if (!iframeNode)
{
+
+ qx.ui.embed.Iframe.initIframe(this.getFrameName());
+
// clone proto element and assign iframe
iframeNode = this.setIframeNode(qx.ui.embed.Iframe._element.cloneNode(true));
+ qx.ui.embed.Iframe.initBlocker();
+
+ // clone proto blocker
+ blockerNode = this.setBlockerNode(qx.ui.embed.Iframe._blocker.cloneNode(true));
+
if (qx.sys.Client.getInstance().isMshtml()) {
iframeNode.onreadystatechange = this.__onreadystatechange;
} else {
@@ -137,20 +153,20 @@ qx.Proto._modifyElement = function(propValue, propOldValue, propData)
}
}
- this._applyFrameName();
this._applySource();
propValue.appendChild(iframeNode);
+ propValue.appendChild(blockerNode);
// create basic widget
- qx.ui.layout.CanvasLayout.prototype._modifyElement.call(this, propValue, propOldValue, propData);
+ qx.ui.basic.Terminator.prototype._modifyElement.call(this, propValue, propOldValue, propData);
return true;
}
qx.Proto._beforeAppear = function() {
- qx.ui.layout.CanvasLayout.prototype._beforeAppear.call(this);
+ qx.ui.basic.Terminator.prototype._beforeAppear.call(this);
// register to iframe manager as active widget
qx.manager.object.IframeManager.getInstance().add(this);
@@ -158,7 +174,7 @@ qx.Proto._beforeAppear = function() {
qx.Proto._beforeDisappear = function() {
- qx.ui.layout.CanvasLayout.prototype._beforeDisappear.call(this);
+ qx.ui.basic.Terminator.prototype._beforeDisappear.call(this);
// deregister from iframe manager
qx.manager.object.IframeManager.getInstance().remove(this);
@@ -186,16 +202,10 @@ qx.Proto._applySource = function()
this.getIframeNode().src = currentSource;
}
-qx.Proto._applyFrameName = function()
-{
- var vName = this.getFrameName();
- this.getIframeNode().name = qx.util.Validation.isValidString(vName) ? vName : qx.constant.Core.EMPTY;
-}
-
qx.Proto._modifyFrameName = function (propValue, propOldValue, propName, uniqModIds)
{
if( this.isCreated()) {
- this._applyFrameName();
+ throw new Error("Not allowed to set frame name after it has been created");
}
return true;
@@ -334,7 +344,7 @@ qx.Proto.dispose = function()
this._iframeNode = null;
}
- qx.ui.layout.CanvasLayout.prototype.dispose.call(this);
+ qx.ui.basic.Terminator.prototype.dispose.call(this);
}
@@ -347,13 +357,20 @@ qx.Proto.dispose = function()
INIT
---------------------------------------------------------------------------
*/
-qx.ui.embed.Iframe.init = function()
+qx.ui.embed.Iframe.initIframe = function(vFrameName)
{
- if (qx.ui.embed.Iframe._element) {
+ if (qx.ui.embed.Iframe._element && !vFrameName) {
return;
}
- var f = qx.ui.embed.Iframe._element = document.createElement("iframe");
+ if (vFrameName && qx.sys.Client.getInstance().isMshtml()) {
+ var f = qx.ui.embed.Iframe._element = document.createElement('<iframe name="' + vFrameName + '"></iframe>');
+ } else {
+ var f = qx.ui.embed.Iframe._element = document.createElement("iframe");
+ if (vFrameName) {
+ f.name = vFrameName;
+ }
+ }
f.frameBorder = qx.constant.Core.ZERO;
f.frameSpacing = qx.constant.Core.ZERO;
@@ -371,4 +388,32 @@ qx.ui.embed.Iframe.init = function()
f.scrolling = qx.constant.Core.AUTO;
f.unselectable = "on";
f.allowTransparency = "true";
-}
+
+ f.style.position = qx.constant.Style.POSITION_ABSOLUTE;
+ f.style.top = 0;
+ f.style.left = 0;
+ };
+
+qx.ui.embed.Iframe.initBlocker = function()
+{
+
+ if (qx.ui.embed.Iframe._blocker) {
+ return;
+ }
+
+ var b = qx.ui.embed.Iframe._blocker = document.createElement("div");
+
+ if (qx.sys.Client.getInstance().isMshtml()) {
+ b.style.backgroundImage = "url(" + qx.manager.object.AliasManager.getInstance().resolvePath("static/image/blank.gif") + ")";
+ }
+
+ b.style.position = qx.constant.Style.POSITION_ABSOLUTE;
+ b.style.top = 0;
+ b.style.left = 0;
+ b.style.width = qx.constant.Core.HUNDREDPERCENT;
+ b.style.height = qx.constant.Core.HUNDREDPERCENT;
+ b.style.zIndex = 1;
+ b.style.display = qx.constant.Core.NONE;
+};
+
+
View
1  qooxdoo/frontend/framework/source/class/qx/ui/pageview/tabview/TabViewButton.js
@@ -106,6 +106,7 @@ qx.Proto._onkeydown = function(e)
qx.Proto._ontabclose = function(e){
this.createDispatchDataEvent("closetab", this);
+ e.stopPropagation();
}
View
6 qooxdoo/frontend/framework/source/class/qx/ui/table/Table.js
@@ -441,6 +441,12 @@ qx.Proto._onkeydown = function(evt) {
var rowCount = this.getTableModel().getRowCount();
this.setFocusedCell(this._focusedCol, rowCount - 1, true);
break;
+ case 65: // Ctrl + A
+ var rowCount = this.getTableModel().getRowCount();
+ if (rowCount > 0) {
+ this.getSelectionModel().setSelectionInterval(0, rowCount - 1);
+ }
+ break;
default:
consumed = false;
break;
View
6 qooxdoo/frontend/framework/tool/migrator/data/0.6.1/info/01-windowevents.dat
@@ -0,0 +1,6 @@
+\.addEventListener\(\s*"resize"=Possible use of old resize event. When used to detect a window resize it must be renamed to "windowresize".
+\.addEventListener\(\s*"focus"=Possible use of old focus event. When used to detect a window resize it must be renamed to "windowfocus".
+\.addEventListener\(\s*"blur"=Possible use of old blur event. When used to detect a window resize it must be renamed to "windowblur".
+\.removeEventListener\(\s*"resize"=Possible use of old resize event. When used to detect a window resize it must be renamed to "windowresize".
+\.removeEventListener\(\s*"focus"=Possible use of old focus event. When used to detect a window resize it must be renamed to "windowfocus".
+\.removeEventListener\(\s*"blur"=Possible use of old blur event. When used to detect a window resize it must be renamed to "windowblur".
View
1  qooxdoo/frontend/framework/tool/migrator/data/0.6.1/patches/01-xml.dat
@@ -0,0 +1 @@
+\bqx\.lang\.XmlEmu\.createXmlDom\b=qx.lang.Xml.createXmlDom
View
8 qooxdoo/frontend/skeleton/source/sample1/Makefile
@@ -4,8 +4,8 @@
QOOXDOO = PATH_TO_QOOXDOO
SCRIPTNAME = custom.js
-APPCLASS = custom.Application1
-INCLUDEALL = false
+APPCLASS = custom.Application
+INCLUDEALL = true
OLDCOMPILER = false
COMPRESSSTRINGS = true
NICE=10
@@ -104,7 +104,7 @@ generate-script-source:
--script-input source/class \
--source-script-path class \
--generate-source-script \
- $(INCLUDE) $(COMPILER) $(COMPRESS) \
+ $(INCLUDE) \
--source-script-file source/script/custom.js \
--define-runtime-setting qx.manager.object.AliasManager.resourceUri:../$(FRAMEWORK)/source/resource \
--cache-directory $(CACHE)
@@ -114,7 +114,7 @@ generate-script-build:
--script-input $(FRAMEWORK)/source/class \
--script-input source/class \
--generate-compiled-script \
- $(INCLUDE) \
+ $(INCLUDE) $(COMPILER) $(COMPRESS) \
--compiled-script-file build/script/$(SCRIPTNAME) \
--copy-resources \
--resource-input $(FRAMEWORK)/source/resource \
View
11 ...ource/sample1/source/class/custom/Application1.js → ...source/sample1/source/class/custom/Application.js
@@ -1,11 +1,20 @@
/**
* Sample 1
*/
-qx.OO.defineClass("custom.Application1", qx.component.AbstractApplication,
+qx.OO.defineClass("custom.Application", qx.component.AbstractApplication,
function () {
qx.component.AbstractApplication.call(this);
});
+
+
+
+/*
+---------------------------------------------------------------------------
+ METHODS
+---------------------------------------------------------------------------
+*/
+
qx.Proto.main = function(e)
{
// create button
View
2  qooxdoo/frontend/skeleton/source/sample1/source/index.html
@@ -7,7 +7,7 @@
<body>
<script type="text/javascript">
- qx.core.Init.getInstance().setApplication(new custom.Application1);
+ qx.core.Init.getInstance().setApplication(custom.Application);
</script>
</body>
View
8 qooxdoo/frontend/skeleton/source/sample2/Makefile
@@ -4,8 +4,8 @@
QOOXDOO = PATH_TO_QOOXDOO
SCRIPTNAME = custom.js
-APPCLASS = custom.Application2
-INCLUDEALL = false
+APPCLASS = custom.Application
+INCLUDEALL = true
OLDCOMPILER = false
COMPRESSSTRINGS = true
NICE=10
@@ -104,7 +104,7 @@ generate-script-source:
--script-input source/class \
--source-script-path class \
--generate-source-script \
- $(INCLUDE) $(COMPILER) $(COMPRESS) \
+ $(INCLUDE) \
--source-script-file source/script/custom.js \
--define-runtime-setting qx.manager.object.AliasManager.resourceUri:../$(FRAMEWORK)/source/resource \
--cache-directory $(CACHE)
@@ -114,7 +114,7 @@ generate-script-build:
--script-input $(FRAMEWORK)/source/class \
--script-input source/class \
--generate-compiled-script \
- $(INCLUDE) \
+ $(INCLUDE) $(COMPILER) $(COMPRESS) \
--compiled-script-file build/script/$(SCRIPTNAME) \
--copy-resources \
--resource-input $(FRAMEWORK)/source/resource \
View
12 ...ource/sample2/source/class/custom/Application2.js → ...source/sample2/source/class/custom/Application.js
@@ -4,11 +4,21 @@
/*
#resource(image:image)
*/
-qx.OO.defineClass("custom.Application2", qx.component.AbstractApplication,
+qx.OO.defineClass("custom.Application", qx.component.AbstractApplication,
function () {
qx.component.AbstractApplication.call(this);
});
+
+
+
+
+/*
+---------------------------------------------------------------------------
+ METHODS
+---------------------------------------------------------------------------
+*/
+
qx.Proto.initialize = function(e)
{
qx.manager.object.AliasManager.getInstance().add("custom", "./resource");
View
2  qooxdoo/frontend/skeleton/source/sample2/source/index.html
@@ -7,7 +7,7 @@
<body>
<script type="text/javascript">
- qx.core.Init.getInstance().setApplication(new custom.Application2);
+ qx.core.Init.getInstance().setApplication(custom.Application);
</script>
</body>
View
4 qooxdoo/frontend/skeleton/source/sample3/Makefile
@@ -4,8 +4,8 @@
QOOXDOO = PATH_TO_QOOXDOO
SCRIPTNAME = custom.js
-APPCLASS = custom.Application3
-INCLUDEALL = false
+APPCLASS = custom.Application
+INCLUDEALL = true
OLDCOMPILER = false
COMPRESSSTRINGS = true
NICE=10
View
11 ...ource/sample3/source/class/custom/Application3.js → ...source/sample3/source/class/custom/Application.js
@@ -1,11 +1,20 @@
/**
* Sample 3
*/
-qx.OO.defineClass("custom.Application3", qx.component.AbstractApplication,
+qx.OO.defineClass("custom.Application", qx.component.AbstractApplication,
function () {
qx.component.AbstractApplication.call(this);
});
+
+
+
+/*
+---------------------------------------------------------------------------
+ METHODS
+---------------------------------------------------------------------------
+*/
+
qx.Proto.main = function(e)
{
var r = new qx.io.remote.RemoteRequest("test.xml", "GET", "text/plain");
View
2  qooxdoo/frontend/skeleton/source/sample3/source/index.html
@@ -7,7 +7,7 @@
<body>
<script type="text/javascript">
- qx.core.Init.getInstance().setApplication(new custom.Application3);
+ qx.core.Init.getInstance().setApplication(custom.Application);
</script>
</body>

No commit comments for this range

Something went wrong with that request. Please try again.